Annotation of libwww/Library/src/HTMLPDTD.html, revision 2.6

2.6     ! timbl       1: <HTML><HEAD><TITLE>The HTML PLUS DTD -- software interface in libwww
        !             2: </TITLE><NEXTID N="z4"></HEAD><HEAD></HEAD><BODY><H1>
        !             3: HTML Plus DTD - Software Interface</H1>SGML purists should excuse the use of
        !             4: the term "DTD" in this file to represent DTD-related information which is not
        !             5: exactly a DTD itself.<P>The C modular structure doesn't work very well here,
        !             6: as the dtd is partly in the .h and partly in the .c which are not very
        !             7: independent.
        !             8: Tant pis.<P>There are a couple of HTML-specific utility routines also defined.
        !             9: <PRE>
        !            10: #ifndef HTMLDTD_H
2.1       timbl      11: #define HTMLDTD_H
                     12: 
                     13: #include "HTUtils.h"
2.6     ! timbl      14: #include <A HREF="SGML.html" NAME="z3">"SGML.h"</A>
        !            15: 
        !            16: </PRE><H2>Entity numbers</H2></BODY><BODY>
        !            17: The entity names are defined in the C file.  This gives the number of them.
        !            18: </BODY><BODY><PRE>
        !            19: #define HTML_ENTITIES 66
        !            20: 
2.1       timbl      21: 
2.6     ! timbl      22: 
        !            23: </PRE></BODY><BODY><H2>Element Numbers</H2>Must Match all tables by element!
        !            24: These include tables in <A HREF="HTMLPDTD.c" NAME="z1">HTMLPDTD.c</A> and code
        !            25: in <A HREF="HTML.c" NAME="z0">HTML.c</A> .
        !            26: <P>Differences from Internet Draft 00:
        !            27: HTML, H7,PLAINTEXT LISTINGand XMP left in. <PRE>
        !            28: typedef enum _HTMLElement {
2.1       timbl      29:        HTML_A, 
                     30:        HTML_ABBREV,
                     31:        HTML_ABSTRACT,
                     32:        HTML_ACRONYM,
                     33:        HTML_ADDED,
                     34:        HTML_ADDRESS,
                     35:        HTML_ARG,
                     36:        HTML_B,
                     37:        HTML_BASE,
                     38:        HTML_BLOCKQUOTE,
                     39:        HTML_BODY,
                     40:        HTML_BOX,
                     41:        HTML_BR,
                     42:        HTML_BYLINE,
                     43:        HTML_CAPTION,
                     44:        HTML_CHANGED,
                     45:        HTML_CITE,
                     46:        HTML_CMD,
                     47:        HTML_CODE,
                     48:        HTML_COMMENT,
                     49:        HTML_DD,
                     50:        HTML_DFN,
                     51:        HTML_DIR,
                     52:        HTML_DL,
                     53:        HTML_DT,
                     54:        HTML_EM,
                     55:        HTML_FIG,
                     56:        HTML_FOOTNOTE,
                     57:        HTML_FORM,
                     58:        HTML_H1,
                     59:        HTML_H2,
                     60:        HTML_H3,
                     61:        HTML_H4,
                     62:        HTML_H5,
                     63:        HTML_H6, 
                     64:        HTML_H7,
                     65:        HTML_HEAD,
                     66:        HTML_HR,
                     67:        HTML_HTML,
                     68:        HTML_HTMLPLUS,
                     69:        HTML_I,
                     70:        HTML_IMAGE,
                     71:        HTML_IMG,
                     72:        HTML_INPUT,
                     73:        HTML_ISINDEX,
                     74:        HTML_KBD,       
                     75:        HTML_L,
                     76:        HTML_LI,
                     77:        HTML_LINK,
                     78:        HTML_LISTING,
                     79:        HTML_LIT,
                     80:        HTML_MARGIN,
                     81:        HTML_MATH,
                     82:        HTML_MENU,
                     83:        HTML_NEXTID,
                     84:        HTML_NOTE,
                     85:        HTML_OL,
                     86:        HTML_OPTION,
                     87:        HTML_OVER,
                     88:        HTML_P,
                     89:        HTML_PERSON,
                     90:        HTML_PLAINTEXT,
                     91:        HTML_PRE,
                     92:        HTML_Q,
                     93:        HTML_QUOTE,
                     94:        HTML_RENDER,
                     95:        HTML_REMOVED,
                     96:        HTML_S,
                     97:        HTML_SAMP,
                     98:        HTML_SELECT,
                     99:        HTML_STRONG,
                    100:        HTML_SUB,
                    101:        HTML_SUP,
                    102:        HTML_TAB,
                    103:        HTML_TABLE,
                    104:        HTML_TD,
                    105:        HTML_TEXTAREA,
                    106:        HTML_TH,
                    107:        HTML_TITLE,
                    108:        HTML_TR,
                    109:        HTML_TT,
                    110:        HTML_U,
                    111:        HTML_UL,
                    112:        HTML_VAR,
                    113:        HTML_XMP }
                    114: HTMLElement;
                    115: 
                    116: #define HTMLP_ELEMENTS 85
                    117: 
2.6     ! timbl     118: </PRE><H2>Attribute numbers</H2>Identifier is
        !           119: HTML_&lt;element>_&lt;attribute>. These must match the tables in <A
        !           120: HREF="HTMLPDTD.c" NAME="z2">HTMLPDTD.c</A> ! <PRE>
        !           121: #define HTML_A_EFFECT          0
2.1       timbl     122: #define HTML_A_HREF            1
                    123: #define HTML_A_ID              2
                    124: #define HTML_A_METHODS         3
                    125: #define HTML_A_NAME            4
                    126: #define HTML_A_PRINT           5
                    127: #define HTML_A_REL             6
                    128: #define HTML_A_REV             7
                    129: #define HTML_A_SHAPE           8       
                    130: #define HTML_A_TITLE           9
                    131: #define HTML_A_ATTRIBUTES      10
                    132: 
                    133: #define HTML_BASE_ATTRIBUTES   1
                    134: #define HTML_FORM_ATTRIBUTES   5
                    135: 
                    136: #define HTML_FIG_ATTRIBUTES    6
                    137: 
                    138: #define HTML_GEN_ATTRIBUTES    3
                    139: 
                    140: #define HTML_HTMLPLUS_ATTRIBUTES       2
                    141: 
                    142: #define HTML_IMAGE_ATTRIBUTES  5
                    143: 
                    144: #define HTML_CHANGED_ATTRIBUTES        2
2.3       frystyk   145: #define HTML_DL_ATTRIBUTES     3
2.1       timbl     146: 
                    147: #define DL_COMPACT 0
                    148: 
                    149: #define HTML_IMG_ALIGN         0
                    150: #define HTML_IMG_ALT           1
                    151: #define HTML_IMG_ISMAP         2       /* Obsolete but supported */
                    152: #define HTML_IMG_SEETHRU       3
                    153: 
                    154: #define HTML_IMG_SRC           4
                    155: 
                    156: #define HTML_IMG_ATTRIBUTES    5
                    157: 
2.2       timbl     158: #define HTML_INPUT_ALIGN       0
                    159: #define HTML_INPUT_CHECKED     1
                    160: #define HTML_INPUT_DISABLED    2
                    161: #define HTML_INPUT_ERROR       3
                    162: #define HTML_INPUT_MAX         4
                    163: #define HTML_INPUT_MIN         5
                    164: #define HTML_INPUT_NAME                6
                    165: #define HTML_INPUT_SIZE                7
                    166: #define HTML_INPUT_SRC         8
                    167: #define HTML_INPUT_TYPE                9
                    168: #define HTML_INPUT_VALUE       10
                    169: #define HTML_INPUT_ATTRIBUTES  11
2.1       timbl     170: 
                    171: #define HTML_L_ATTRIBUTES      4
                    172: 
                    173: #define HTML_LI_ATTRIBUTES     4
                    174: #define HTML_LIST_ATTRIBUTES   4
                    175: 
                    176: #define HTML_LINK_ATTRIBUTES   5
                    177: 
                    178: #define HTML_ID_ATTRIBUTE      1
                    179: 
                    180: #define HTML_NEXTID_ATTRIBUTES  1
                    181: #define HTML_NEXTID_N 0
                    182: 
                    183: #define HTML_NOTE_ATTRIBUTES   4
                    184: 
                    185: #define HTML_OPTION_ATTRIBUTES 3
                    186: 
                    187: /* #define HTML_PRE_WIDTH              0
                    188:   #define HTML_PRE_ATTRIBUTES  1
                    189: */
                    190: #define HTML_RENDER_ATTRIBUTES         2
                    191: 
                    192: #define HTML_SELECT_ATTRIBUTES 4
                    193: #define HTML_TAB_ATTRIBUTES    2
                    194: #define HTML_TABLE_ATTRIBUTES  4
                    195: #define HTML_TD_ATTRIBUTES     4
                    196: 
                    197: #define HTML_TEXTAREA_ATTRIBUTES       6
                    198: 
                    199: #define HTML_TH_ATTRIBUTES     4
                    200: 
                    201: #define HTML_UL_ATTRIBUTES     6
                    202: 
                    203: extern CONST SGML_dtd HTMLP_dtd;
                    204: 
                    205: 
2.6     ! timbl     206: </PRE><H2>Start anchor element</H2>It is kinda convenient to have a particular
        !           207: routine for starting an anchor element,
        !           208: as everything else for HTML is simple anyway. <H3>On entry</H3>targetstream
        !           209: poinst to a structured stream object.<P>name and href point to attribute
        !           210: strings or are NULL if the attribute is to be omitted. <PRE>
        !           211: extern void HTStartAnchor PARAMS((
2.1       timbl     212:                HTStructured * targetstream,
                    213:                CONST char *    name,
                    214:                CONST char *    href));
                    215: 
2.6     ! timbl     216: 
        !           217: </PRE><H2>Put image element</H2>Hopefully as useful as HTStartAnchor. <H3>
        !           218: On entry</H3>targetstream point to a structured stream object.<P>src,
        !           219: alt and align are omitted if they are set to NULL. <PRE>
2.4       frystyk   220: extern void HTMLPutImg PARAMS((HTStructured *obj,
                    221:                               CONST char *src,
                    222:                               CONST char *alt,
                    223:                               CONST char *align));
2.1       timbl     224: 
2.6     ! timbl     225: </PRE><H2>Specify next ID to be used</H2>This is another convenience routine,
        !           226: for specifying the next ID to be used by an editor in the series z1. z2,...
        !           227: <PRE>
        !           228: extern void HTNextID PARAMS((HTStructured * targetStream,
2.5       timbl     229:                        CONST char * s));
2.1       timbl     230: 
                    231: #endif /* HTMLDTD_H */
                    232: 
2.6     ! timbl     233: </PRE>End of module definition </BODY></HTML>

Webmaster