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