Annotation of libwww/Library/src/HTMLPDTD.html, revision 2.30
2.7 frystyk 1: <HTML>
2: <HEAD>
2.28 frystyk 3: <!-- Changed by: Henrik Frystyk Nielsen, 28-Jun-1996 -->
4: <TITLE>W3C Sample Code Library libwww HTML DTD</TITLE>
2.7 frystyk 5: </HEAD>
6: <BODY>
2.28 frystyk 7: <H1>
8: HTML Plus DTD - Software Interface
9: </H1>
2.7 frystyk 10: <PRE>
11: /*
2.12 frystyk 12: ** (c) COPYRIGHT MIT 1995.
2.7 frystyk 13: ** Please first read the full copyright statement in the file COPYRIGH.
14: */
15: </PRE>
2.28 frystyk 16: <P>
17: SGML purists should excuse the use of the term "DTD" in this file to represent
18: DTD-related information which is not exactly a DTD itself. The C modular
19: structure doesn't work very well here, as the dtd is partly in the .h and
20: partly in the .c which are not very independent. <EM>Tant pis!</EM> There
21: are a couple of HTML-specific utility routines also defined.
22: <P>
23: This module is a part of the <A HREF="http://www.w3.org/Library/"> W3C Sample
24: Code Library</A>.
2.6 timbl 25: <PRE>
26: #ifndef HTMLDTD_H
2.1 timbl 27: #define HTMLDTD_H
28:
2.28 frystyk 29: #include "<A HREF="HTStruct.html">HTStruct.h</A>"
30: #include "<A HREF="SGML.html">SGML.h</A>"
2.9 frystyk 31: </PRE>
2.28 frystyk 32: <H2>
33: Number of HTML Entities
34: </H2>
35: <P>
36: The entity names are defined in the C file. This gives the number of them.
37: Must Match all tables by element!
2.9 frystyk 38: <PRE>
2.21 frystyk 39: #define HTML_ENTITIES 67
2.9 frystyk 40: </PRE>
2.28 frystyk 41: <H2>
42: HTML Element Enumeration
43: </H2>
44: <P>
45: These include tables in <A HREF="HTMLPDTD.c" NAME="z1">HTMLPDTD.c</A> and
46: code in <A HREF="HTML.c" NAME="z0">HTML.c</A>. Note that not everything from
47: <A HREF="http://www.w3.org/TR/REC-html40">HTML 4.0</A> is there!
2.9 frystyk 48: <PRE>
2.6 timbl 49: typedef enum _HTMLElement {
2.28 frystyk 50: HTML_A = 0,
2.30 ! frystyk 51: HTML_ABBR,
2.1 timbl 52: HTML_ACRONYM,
53: HTML_ADDRESS,
2.30 ! frystyk 54: HTML_APPLET,
2.28 frystyk 55: HTML_AREA,
2.1 timbl 56: HTML_B,
57: HTML_BASE,
2.30 ! frystyk 58: HTML_BASEFONT,
! 59: HTML_BDO,
2.29 frystyk 60: HTML_BIG,
2.1 timbl 61: HTML_BLOCKQUOTE,
62: HTML_BODY,
63: HTML_BR,
2.30 ! frystyk 64: HTML_BUTTON,
2.1 timbl 65: HTML_CAPTION,
2.30 ! frystyk 66: HTML_CENTER,
2.1 timbl 67: HTML_CITE,
68: HTML_CODE,
2.30 ! frystyk 69: HTML_COL,
! 70: HTML_COLGROUP,
2.1 timbl 71: HTML_DD,
2.30 ! frystyk 72: HTML_DEL,
2.1 timbl 73: HTML_DFN,
74: HTML_DIR,
2.29 frystyk 75: HTML_DIV,
2.1 timbl 76: HTML_DL,
77: HTML_DT,
78: HTML_EM,
2.30 ! frystyk 79: HTML_FIELDSET,
! 80: HTML_FONT,
2.1 timbl 81: HTML_FORM,
2.27 frystyk 82: HTML_FRAME,
83: HTML_FRAMESET,
2.1 timbl 84: HTML_H1,
85: HTML_H2,
86: HTML_H3,
87: HTML_H4,
88: HTML_H5,
89: HTML_H6,
90: HTML_HEAD,
91: HTML_HR,
92: HTML_HTML,
93: HTML_I,
2.30 ! frystyk 94: HTML_IFRAME,
2.1 timbl 95: HTML_IMG,
96: HTML_INPUT,
2.30 ! frystyk 97: HTML_INS,
2.1 timbl 98: HTML_ISINDEX,
2.30 ! frystyk 99: HTML_KBD,
! 100: HTML_LABEL,
! 101: HTML_LEGEND,
2.1 timbl 102: HTML_LI,
103: HTML_LINK,
2.29 frystyk 104: HTML_MAP,
2.1 timbl 105: HTML_MENU,
2.25 frystyk 106: HTML_META,
2.30 ! frystyk 107: HTML_NEXTID, /* !!! */
2.27 frystyk 108: HTML_NOFRAMES,
2.30 ! frystyk 109: HTML_NOSCRIPT,
2.28 frystyk 110: HTML_OBJECT,
2.1 timbl 111: HTML_OL,
2.30 ! frystyk 112: HTML_OPTGROUP,
2.1 timbl 113: HTML_OPTION,
114: HTML_P,
2.30 ! frystyk 115: HTML_PARAM,
2.1 timbl 116: HTML_PRE,
117: HTML_Q,
118: HTML_S,
119: HTML_SAMP,
2.30 ! frystyk 120: HTML_SCRIPT,
2.1 timbl 121: HTML_SELECT,
2.29 frystyk 122: HTML_SMALL,
123: HTML_SPAN,
2.30 ! frystyk 124: HTML_STRIKE,
2.1 timbl 125: HTML_STRONG,
2.30 ! frystyk 126: HTML_STYLE,
2.1 timbl 127: HTML_SUB,
128: HTML_SUP,
129: HTML_TABLE,
2.30 ! frystyk 130: HTML_TBODY,
2.1 timbl 131: HTML_TD,
132: HTML_TEXTAREA,
2.30 ! frystyk 133: HTML_TFOOT,
2.1 timbl 134: HTML_TH,
2.30 ! frystyk 135: HTML_THEAD,
2.1 timbl 136: HTML_TITLE,
137: HTML_TR,
138: HTML_TT,
139: HTML_U,
140: HTML_UL,
141: HTML_VAR,
2.28 frystyk 142: HTML_ELEMENTS /* This must be the last entry */
143: } HTMLElement;
144: </PRE>
145: <H2>
146: Element Attribute Enumerations
147: </H2>
148: <P>
149: Identifier is <TT>HTML_<element>_<attribute></TT>. These
150: <STRONG>must</STRONG> match the tables in
151: <A HREF="HTMLPDTD.c" NAME="z2">HTMLPDTD.c</A>!
152: <H3>
2.30 ! frystyk 153: Attributes definition Macros
! 154: </H3>
! 155: <PRE>
! 156: /* Define an attribute as HTML_<tag>_<attribute> */
! 157: #define HTML_ATTR(t,a) HTML_##t##_##a
! 158: #define HTML_ATTRIBUTES(t) HTML_##t##_ATTRIBUTES
! 159: </PRE>
! 160: <H3>
2.28 frystyk 161: A
162: </H3>
163: <PRE>
2.30 ! frystyk 164: enum _HTML_A_Attributes {
! 165: HTML_ATTR(A,ACCESSKEY) = 0,
! 166: HTML_ATTR(A,CHARSET),
! 167: HTML_ATTR(A,CLASS),
! 168: HTML_ATTR(A,COORDS),
! 169: HTML_ATTR(A,DIR),
! 170: HTML_ATTR(A,HREF),
! 171: HTML_ATTR(A,HREFLANG),
! 172: HTML_ATTR(A,ID),
! 173: HTML_ATTR(A,NAME),
! 174: HTML_ATTR(A,REL),
! 175: HTML_ATTR(A,REV),
! 176: HTML_ATTR(A,SHAPE),
! 177: HTML_ATTR(A,STYLE),
! 178: HTML_ATTR(A,TABINDEX),
! 179: HTML_ATTR(A,TARGET),
! 180: HTML_ATTR(A,TYPE),
! 181: HTML_ATTR(A,TITLE),
! 182: HTML_ATTRIBUTES(A)
! 183: };
! 184: </PRE>
! 185: <H3>
! 186: APPLET - Deprecated
! 187: </H3>
! 188: <PRE>
! 189: enum _HTML_APPLET_Attributes {
! 190: HTML_ATTR(APPLET,ALIGN) = 0,
! 191: HTML_ATTR(APPLET,ALT),
! 192: HTML_ATTR(APPLET,ARCHIVE),
! 193: HTML_ATTR(APPLET,CLASS),
! 194: HTML_ATTR(APPLET,CODE),
! 195: HTML_ATTR(APPLET,CODEBASE),
! 196: HTML_ATTR(APPLET,HEIGHT),
! 197: HTML_ATTR(APPLET,HSPACE),
! 198: HTML_ATTR(APPLET,ID),
! 199: HTML_ATTR(APPLET,NAME),
! 200: HTML_ATTR(APPLET,OBJECT),
! 201: HTML_ATTR(APPLET,STYLE),
! 202: HTML_ATTR(APPLET,TITLE),
! 203: HTML_ATTR(APPLET,VSPACE),
! 204: HTML_ATTR(APPLET,WIDTH),
! 205: HTML_ATTRIBUTES(APPLET)
! 206: };
2.28 frystyk 207: </PRE>
208: <H3>
209: AREA
210: </H3>
211: <PRE>
2.30 ! frystyk 212: enum _HTML_AREA_Attributes {
! 213: HTML_ATTR(AREA,ACCESSKEY) = 0,
! 214: HTML_ATTR(AREA,ALT),
! 215: HTML_ATTR(AREA,CLASS),
! 216: HTML_ATTR(AREA,COORDS),
! 217: HTML_ATTR(AREA,DIR),
! 218: HTML_ATTR(AREA,HREF),
! 219: HTML_ATTR(AREA,ID),
! 220: HTML_ATTR(AREA,NAME),
! 221: HTML_ATTR(AREA,NOHREF),
! 222: HTML_ATTR(AREA,LANG),
! 223: HTML_ATTR(AREA,SHAPE),
! 224: HTML_ATTR(AREA,STYLE),
! 225: HTML_ATTR(AREA,TABINDEX),
! 226: HTML_ATTR(AREA,TARGET),
! 227: HTML_ATTR(AREA,TITLE),
! 228: HTML_ATTRIBUTES(AREA)
! 229: };
! 230:
2.28 frystyk 231: </PRE>
232: <H3>
233: BASE
234: </H3>
235: <PRE>
2.30 ! frystyk 236: enum _HTML_BASE_Attributes {
! 237: HTML_ATTR(BASE,HREF) = 0,
! 238: HTML_ATTR(BASE,TARGET),
! 239: HTML_ATTRIBUTES(BASE)
! 240: };
! 241: </PRE>
! 242: <H3>
! 243: BDO
! 244: </H3>
! 245: <PRE>
! 246: enum _HTML_BDO_Attributes {
! 247: HTML_ATTR(BDO,CLASS) = 0,
! 248: HTML_ATTR(BDO,DIR),
! 249: HTML_ATTR(BDO,ID),
! 250: HTML_ATTR(BDO,LANG),
! 251: HTML_ATTR(BDO,STYLE),
! 252: HTML_ATTR(BDO,TITLE),
! 253: HTML_ATTRIBUTES(BDO)
! 254: };
! 255: </PRE>
! 256: <H3>
! 257: BLOCKQUOTE
! 258: </H3>
! 259: <PRE>
! 260: enum _HTML_BQ_Attributes {
! 261: HTML_ATTR(BQ,CITE) = 0,
! 262: HTML_ATTR(BQ,CLASS),
! 263: HTML_ATTR(BQ,DIR),
! 264: HTML_ATTR(BQ,ID),
! 265: HTML_ATTR(BQ,LANG),
! 266: HTML_ATTR(BQ,STYLE),
! 267: HTML_ATTR(BQ,TITLE),
! 268: HTML_ATTRIBUTES(BQ)
! 269: };
2.28 frystyk 270: </PRE>
271: <H3>
272: BODY
273: </H3>
274: <PRE>
2.30 ! frystyk 275: enum _HTML_BODY_Attributes {
! 276: HTML_ATTR(BODY,ALINK) = 0,
! 277: HTML_ATTR(BODY,BACKGROUND),
! 278: HTML_ATTR(BODY,BGCOLOR),
! 279: HTML_ATTR(BODY,CLASS),
! 280: HTML_ATTR(BODY,DIR),
! 281: HTML_ATTR(BODY,ID),
! 282: HTML_ATTR(BODY,LANG),
! 283: HTML_ATTR(BODY,LINK),
! 284: HTML_ATTR(BODY,STYLE),
! 285: HTML_ATTR(BODY,TEXT),
! 286: HTML_ATTR(BODY,TITLE),
! 287: HTML_ATTR(BODY,VLINK),
! 288: HTML_ATTRIBUTES(BODY)
! 289: };
! 290: </PRE>
! 291: <H3>
! 292: BR
! 293: </H3>
! 294: <PRE>
! 295: enum _HTML_BR_Attributes {
! 296: HTML_ATTR(BR,CLASS) = 0,
! 297: HTML_ATTR(BR,CLEAR),
! 298: HTML_ATTR(BR,ID),
! 299: HTML_ATTR(BR,STYLE),
! 300: HTML_ATTR(BR,TITLE),
! 301: HTML_ATTRIBUTES(BR)
! 302: };
! 303: </PRE>
! 304: <H3>
! 305: BUTTON
! 306: </H3>
! 307: <PRE>
! 308: enum _HTML_BUTTON_Attributes {
! 309: HTML_ATTR(BUTTON,ACCESSKEY) = 0,
! 310: HTML_ATTR(BUTTON,CLASS),
! 311: HTML_ATTR(BUTTON,DIR),
! 312: HTML_ATTR(BUTTON,DISABLED),
! 313: HTML_ATTR(BUTTON,ID),
! 314: HTML_ATTR(BUTTON,LANG),
! 315: HTML_ATTR(BUTTON,NAME),
! 316: HTML_ATTR(BUTTON,STYLE),
! 317: HTML_ATTR(BUTTON,TABINDEX),
! 318: HTML_ATTR(BUTTON,TITLE),
! 319: HTML_ATTR(BUTTON,TYPE),
! 320: HTML_ATTR(BUTTON,VALUE),
! 321: HTML_ATTRIBUTES(BUTTON),
! 322: };
! 323: </PRE>
! 324: <H3>
! 325: COL
! 326: </H3>
! 327: <PRE>
! 328: enum _HTML_COL_Attributes {
! 329: HTML_ATTR(COL,CLASS) = 0,
! 330: HTML_ATTR(COL,DIR),
! 331: HTML_ATTR(COL,ID),
! 332: HTML_ATTR(COL,LANG),
! 333: HTML_ATTR(COL,SPAN),
! 334: HTML_ATTR(COL,STYLE),
! 335: HTML_ATTR(COL,TITLE),
! 336: HTML_ATTR(COL,WIDTH),
! 337: HTML_ATTRIBUTES(COL)
! 338: };
! 339: </PRE>
! 340: <H3>
! 341: DEL, INS
! 342: </H3>
! 343: <PRE>
! 344: enum _HTML_CHANGES_Attributes {
! 345: HTML_ATTR(CHANGES,CITE) = 0,
! 346: HTML_ATTR(CHANGES,CLASS),
! 347: HTML_ATTR(CHANGES,DATETIME),
! 348: HTML_ATTR(CHANGES,DIR),
! 349: HTML_ATTR(CHANGES,ID),
! 350: HTML_ATTR(CHANGES,LANG),
! 351: HTML_ATTR(CHANGES,STYLE),
! 352: HTML_ATTR(CHANGES,TITLE),
! 353: HTML_ATTRIBUTES(CHANGES)
! 354: };
! 355: </PRE>
! 356: <H3>
! 357: FONT - Deprecated
! 358: </H3>
! 359: <PRE>
! 360: enum _HTML_FONT_Attributes {
! 361: HTML_ATTR(FONT,CLASS) = 0,
! 362: HTML_ATTR(FONT,COLOR),
! 363: HTML_ATTR(FONT,DIR),
! 364: HTML_ATTR(FONT,FACE),
! 365: HTML_ATTR(FONT,ID),
! 366: HTML_ATTR(FONT,LANG),
! 367: HTML_ATTR(FONT,SIZE),
! 368: HTML_ATTR(FONT,STYLE),
! 369: HTML_ATTR(FONT,TITLE),
! 370: HTML_ATTRIBUTES(FONT)
! 371: };
2.28 frystyk 372: </PRE>
373: <H3>
374: FORM
375: </H3>
376: <PRE>
2.30 ! frystyk 377: enum _HTML_FORM_Attributes {
! 378: HTML_ATTR(FORM,ACCEPT) = 0,
! 379: HTML_ATTR(FORM,ACCEPT_CHARSET), /* { "ACCEPT-CHARSET" } */
! 380: HTML_ATTR(FORM,ACTION),
! 381: HTML_ATTR(FORM,CLASS),
! 382: HTML_ATTR(FORM,DIR),
! 383: HTML_ATTR(FORM,ENCTYPE),
! 384: HTML_ATTR(FORM,ID),
! 385: HTML_ATTR(FORM,LANG),
! 386: HTML_ATTR(FORM,METHOD),
! 387: HTML_ATTR(FORM,STYLE),
! 388: HTML_ATTR(FORM,TARGET),
! 389: HTML_ATTR(FORM,TITLE),
! 390: HTML_ATTRIBUTES(FORM)
! 391: };
2.28 frystyk 392: </PRE>
393: <H3>
394: FRAME
395: </H3>
396: <PRE>
2.30 ! frystyk 397: enum _HTML_FRAME_Attributes {
! 398: HTML_ATTR(FRAME,CLASS) = 0,
! 399: HTML_ATTR(FRAME,FRAMEBORDER),
! 400: HTML_ATTR(FRAME,ID),
! 401: HTML_ATTR(FRAME,NAME),
! 402: HTML_ATTR(FRAME,MARGINHEIGHT),
! 403: HTML_ATTR(FRAME,MARGINWIDTH),
! 404: HTML_ATTR(FRAME,NORESIZE),
! 405: HTML_ATTR(FRAME,LONGDESC),
! 406: HTML_ATTR(FRAME,SCROLLING),
! 407: HTML_ATTR(FRAME,SRC),
! 408: HTML_ATTR(FRAME,STYLE),
! 409: HTML_ATTR(FRAME,TARGET),
! 410: HTML_ATTR(FRAME,TITLE),
! 411: HTML_ATTRIBUTES(FRAME)
! 412: };
2.28 frystyk 413: </PRE>
414: <H3>
415: FRAMESET
416: </H3>
417: <PRE>
2.30 ! frystyk 418: enum _HTML_FRAMESET_Attributes {
! 419: HTML_ATTR(FRAMESET,CLASS) = 0,
! 420: HTML_ATTR(FRAMESET,COLS),
! 421: HTML_ATTR(FRAMESET,ID),
! 422: HTML_ATTR(FRAMESET,ROWS),
! 423: HTML_ATTR(FRAMESET,STYLE),
! 424: HTML_ATTR(FRAMESET,TITLE),
! 425: HTML_ATTRIBUTES(FRAMESET)
! 426: };
! 427: </PRE>
! 428: <H3>
! 429: Generic attributes
! 430: </H3>
! 431: <PRE>
! 432: enum _HTML_GEN_Attributes {
! 433: HTML_ATTR(GEN,CLASS) = 0,
! 434: HTML_ATTR(GEN,DIR),
! 435: HTML_ATTR(GEN,ID),
! 436: HTML_ATTR(GEN,LANG),
! 437: HTML_ATTR(GEN,STYLE),
! 438: HTML_ATTR(GEN,TITLE),
! 439: HTML_ATTRIBUTES(GEN)
! 440: };
! 441: </PRE>
! 442: <H3>
! 443: BLOCK
! 444: </H3>
! 445: <PRE>
! 446: enum _HTML_BLOCK_Attributes {
! 447: HTML_ATTR(BLOCK,ALIGN) = 0,
! 448: HTML_ATTR(BLOCK,CLASS),
! 449: HTML_ATTR(BLOCK,DIR),
! 450: HTML_ATTR(BLOCK,ID),
! 451: HTML_ATTR(BLOCK,LANG),
! 452: HTML_ATTR(BLOCK,STYLE),
! 453: HTML_ATTR(BLOCK,TITLE),
! 454: HTML_ATTRIBUTES(BLOCK)
! 455: };
! 456: </PRE>
! 457: <H3>
! 458: HEAD
! 459: </H3>
! 460: <PRE>
! 461: enum _HTML_HEAD_Attributes {
! 462: HTML_ATTR(HEAD,DIR) = 0,
! 463: HTML_ATTR(HEAD,LANG),
! 464: HTML_ATTR(HEAD,PROFILE),
! 465: HTML_ATTRIBUTES(HEAD)
! 466: };
! 467: </PRE>
! 468: <H3>
! 469: HR
! 470: </H3>
! 471: <PRE>
! 472: enum _HTML_HR_Attributes {
! 473: HTML_ATTR(HR,ALIGN) = 0,
! 474: HTML_ATTR(HR,CLASS),
! 475: HTML_ATTR(HR,DIR),
! 476: HTML_ATTR(HR,ID),
! 477: HTML_ATTR(HR,LANG),
! 478: HTML_ATTR(HR,NOSHADE),
! 479: HTML_ATTR(HR,SIZE),
! 480: HTML_ATTR(HR,STYLE),
! 481: HTML_ATTR(HR,TITLE),
! 482: HTML_ATTR(HR,WIDTH),
! 483: HTML_ATTRIBUTES(HR)
! 484: };
! 485: </PRE>
! 486: <H3>
! 487: HTML
! 488: </H3>
! 489: <PRE>
! 490: enum _HTML_HTML_Attributes {
! 491: HTML_ATTR(HTML,DIR) = 0,
! 492: HTML_ATTR(HTML,LANG),
! 493: HTML_ATTR(HTML,VERSION),
! 494: HTML_ATTRIBUTES(HTML)
! 495: };
! 496: </PRE>
! 497: <H3>
! 498: IFRAME
! 499: </H3>
! 500: <PRE>
! 501: enum _HTML_IFRAME_Attributes {
! 502: HTML_ATTR(IFRAME,ALIGN) = 0,
! 503: HTML_ATTR(IFRAME,CLASS),
! 504: HTML_ATTR(IFRAME,FRAMEBORDER),
! 505: HTML_ATTR(IFRAME,HEIGHT),
! 506: HTML_ATTR(IFRAME,ID),
! 507: HTML_ATTR(IFRAME,LONGDESC),
! 508: HTML_ATTR(IFRAME,MARGINHEIGHT),
! 509: HTML_ATTR(IFRAME,MARGINWIDTH),
! 510: HTML_ATTR(IFRAME,NAME),
! 511: HTML_ATTR(IFRAME,SCROLLING),
! 512: HTML_ATTR(IFRAME,SRC),
! 513: HTML_ATTR(IFRAME,STYLE),
! 514: HTML_ATTR(IFRAME,TARGET),
! 515: HTML_ATTR(IFRAME,TITLE),
! 516: HTML_ATTR(IFRAME,WIDTH),
! 517: HTML_ATTRIBUTES(IFRAME)
! 518: };
2.28 frystyk 519: </PRE>
520: <H3>
521: IMG
522: </H3>
523: <PRE>
2.30 ! frystyk 524: enum _HTML_IMG_Attributes {
! 525: HTML_ATTR(IMG,ALIGN) = 0,
! 526: HTML_ATTR(IMG,ALT),
! 527: HTML_ATTR(IMG,BORDER),
! 528: HTML_ATTR(IMG,CLASS),
! 529: HTML_ATTR(IMG,DIR),
! 530: HTML_ATTR(IMG,HEIGHT),
! 531: HTML_ATTR(IMG,HSPACE),
! 532: HTML_ATTR(IMG,ID),
! 533: HTML_ATTR(IMG,ISMAP),
! 534: HTML_ATTR(IMG,LANG),
! 535: HTML_ATTR(IMG,LONGDESC),
! 536: HTML_ATTR(IMG,SRC),
! 537: HTML_ATTR(IMG,STYLE),
! 538: HTML_ATTR(IMG,TITLE),
! 539: HTML_ATTR(IMG,USEMAP),
! 540: HTML_ATTR(IMG,VSPACE),
! 541: HTML_ATTR(IMG,WIDTH),
! 542: HTML_ATTRIBUTES(IMG)
! 543: };
2.28 frystyk 544: </PRE>
545: <H3>
546: INPUT
547: </H3>
548: <PRE>
2.30 ! frystyk 549: enum _HTML_INPUT_Attributes {
! 550: HTML_ATTR(INPUT,ACCEPT) = 0,
! 551: HTML_ATTR(INPUT,ACCESSKEY),
! 552: HTML_ATTR(INPUT,ALIGN),
! 553: HTML_ATTR(INPUT,ALT),
! 554: HTML_ATTR(INPUT,CHECKED),
! 555: HTML_ATTR(INPUT,CLASS),
! 556: HTML_ATTR(INPUT,DIR),
! 557: HTML_ATTR(INPUT,DISABLED),
! 558: HTML_ATTR(INPUT,ID),
! 559: HTML_ATTR(INPUT,LANG),
! 560: HTML_ATTR(INPUT,MAXLENGTH),
! 561: HTML_ATTR(INPUT,NAME),
! 562: HTML_ATTR(INPUT,READONLY),
! 563: HTML_ATTR(INPUT,SIZE),
! 564: HTML_ATTR(INPUT,SRC),
! 565: HTML_ATTR(INPUT,STYLE),
! 566: HTML_ATTR(INPUT,TABINDEX),
! 567: HTML_ATTR(INPUT,TITLE),
! 568: HTML_ATTR(INPUT,TYPE),
! 569: HTML_ATTR(INPUT,USEMAP),
! 570: HTML_ATTR(INPUT,VALUE),
! 571: HTML_ATTRIBUTES(INPUT)
! 572: };
! 573: </PRE>
! 574: <H3>
! 575: </H3>
! 576: <PRE>
! 577: enum _HTML_ISINDEX_Attributes {
! 578: HTML_ATTR(ISINDEX,CLASS) = 0,
! 579: HTML_ATTR(ISINDEX,DIR),
! 580: HTML_ATTR(ISINDEX,ID),
! 581: HTML_ATTR(ISINDEX,LANG),
! 582: HTML_ATTR(ISINDEX,PROMPT),
! 583: HTML_ATTR(ISINDEX,STYLE),
! 584: HTML_ATTR(ISINDEX,TITLE),
! 585: HTML_ATTRIBUTES(ISINDEX)
! 586: };
! 587: </PRE>
! 588: <H3>
! 589: </H3>
! 590: <PRE>
! 591: enum _HTML_LABEL_Attributes {
! 592: HTML_ATTR(LABEL,ACCESSKEY) = 0,
! 593: HTML_ATTR(LABEL,CLASS),
! 594: HTML_ATTR(LABEL,DIR),
! 595: HTML_ATTR(LABEL,FOR),
! 596: HTML_ATTR(LABEL,ID),
! 597: HTML_ATTR(LABEL,LANG),
! 598: HTML_ATTR(LABEL,STYLE),
! 599: HTML_ATTR(LABEL,TITLE),
! 600: HTML_ATTRIBUTES(LABEL)
! 601: };
! 602: </PRE>
! 603: <H3>
! 604: </H3>
! 605: <PRE>
! 606: enum _HTML_LEGEND_Attributes {
! 607: HTML_ATTR(LEGEND,ACCESSKEY) = 0,
! 608: HTML_ATTR(LEGEND,ALIGN),
! 609: HTML_ATTR(LEGEND,CLASS),
! 610: HTML_ATTR(LEGEND,DIR),
! 611: HTML_ATTR(LEGEND,ID),
! 612: HTML_ATTR(LEGEND,LANG),
! 613: HTML_ATTR(LEGEND,STYLE),
! 614: HTML_ATTR(LEGEND,TITLE),
! 615: HTML_ATTRIBUTES(LEGEND)
! 616: };
2.28 frystyk 617: </PRE>
618: <H3>
619: LI
620: </H3>
621: <PRE>
2.30 ! frystyk 622: enum _HTML_LI_Attributes {
! 623: HTML_ATTR(LI,CLASS) = 0,
! 624: HTML_ATTR(LI,COMPACT),
! 625: HTML_ATTR(LI,DIR),
! 626: HTML_ATTR(LI,ID),
! 627: HTML_ATTR(LI,LANG),
! 628: HTML_ATTR(LI,STYLE),
! 629: HTML_ATTR(LI,TITLE),
! 630: HTML_ATTR(LI,TYPE),
! 631: HTML_ATTR(LI,VALUE),
! 632: HTML_ATTRIBUTES(LI)
! 633: };
2.28 frystyk 634: </PRE>
635: <H3>
636: LINK
637: </H3>
638: <PRE>
2.30 ! frystyk 639: enum _HTML_LINK_Attributes {
! 640: HTML_ATTR(LINK,CHARSET) = 0,
! 641: HTML_ATTR(LINK,CLASS),
! 642: HTML_ATTR(LINK,DIR),
! 643: HTML_ATTR(LINK,HREF),
! 644: HTML_ATTR(LINK,HREFLANG),
! 645: HTML_ATTR(LINK,ID),
! 646: HTML_ATTR(LINK,LANG),
! 647: HTML_ATTR(LINK,MEDIA),
! 648: HTML_ATTR(LINK,REL),
! 649: HTML_ATTR(LINK,REV),
! 650: HTML_ATTR(LINK,STYLE),
! 651: HTML_ATTR(LINK,TARGET),
! 652: HTML_ATTR(LINK,TITLE),
! 653: HTML_ATTR(LINK,TYPE),
! 654: HTML_ATTRIBUTES(LINK)
! 655: };
2.28 frystyk 656: </PRE>
657: <H3>
2.29 frystyk 658: MAP
659: </H3>
660: <PRE>
2.30 ! frystyk 661: enum _HTML_MAP_Attributes {
! 662: HTML_ATTR(MAP,CLASS) = 0,
! 663: HTML_ATTR(MAP,DIR),
! 664: HTML_ATTR(MAP,ID),
! 665: HTML_ATTR(MAP,LANG),
! 666: HTML_ATTR(MAP,NAME),
! 667: HTML_ATTR(MAP,STYLE),
! 668: HTML_ATTR(MAP,TITLE),
! 669: HTML_ATTRIBUTES(MAP)
! 670: };
2.29 frystyk 671: </PRE>
672: <H3>
2.28 frystyk 673: META
674: </H3>
675: <PRE>
2.30 ! frystyk 676: enum _HTML_META_Attributes {
! 677: HTML_ATTR(META,CONTENT) = 0,
! 678: HTML_ATTR(META,DIR),
! 679: HTML_ATTR(META,HTTP_EQUIV), /* { "HTTP-EQUIV" ) */
! 680: HTML_ATTR(META,LANG),
! 681: HTML_ATTR(META,NAME),
! 682: HTML_ATTR(META,SCHEME),
! 683: HTML_ATTRIBUTES(META)
! 684: };
2.28 frystyk 685: </PRE>
686: <H3>
687: NEXTID
688: </H3>
689: <PRE>
2.1 timbl 690: #define HTML_NEXTID_ATTRIBUTES 1
691: #define HTML_NEXTID_N 0
2.28 frystyk 692: </PRE>
693: <H3>
694: OBJECT
695: </H3>
696: <PRE>
2.30 ! frystyk 697: enum _HTML_OBJECT_Attributes {
! 698: HTML_ATTR(OBJECT,ALIGN) = 0,
! 699: HTML_ATTR(OBJECT,ARCHIVE),
! 700: HTML_ATTR(OBJECT,BORDER),
! 701: HTML_ATTR(OBJECT,CLASS),
! 702: HTML_ATTR(OBJECT,CLASSID),
! 703: HTML_ATTR(OBJECT,CODEBASE),
! 704: HTML_ATTR(OBJECT,CODETYPE),
! 705: HTML_ATTR(OBJECT,DATA),
! 706: HTML_ATTR(OBJECT,DECLARE),
! 707: HTML_ATTR(OBJECT,DIR),
! 708: HTML_ATTR(OBJECT,HEIGHT),
! 709: HTML_ATTR(OBJECT,HSPACE),
! 710: HTML_ATTR(OBJECT,ID),
! 711: HTML_ATTR(OBJECT,LANG),
! 712: HTML_ATTR(OBJECT,NAME),
! 713: HTML_ATTR(OBJECT,STANDBY),
! 714: HTML_ATTR(OBJECT,STYLE),
! 715: HTML_ATTR(OBJECT,TABINDEX),
! 716: HTML_ATTR(OBJECT,TITLE),
! 717: HTML_ATTR(OBJECT,TYPE),
! 718: HTML_ATTR(OBJECT,USEMAP),
! 719: HTML_ATTR(OBJECT,VSPACE),
! 720: HTML_ATTR(OBJECT,WIDTH),
! 721: HTML_ATTRIBUTES(OBJECT)
! 722: };
! 723: </PRE>
! 724: <H3>
! 725: OL
! 726: </H3>
! 727: <PRE>
! 728: enum _HTML_OL_Attributes {
! 729: HTML_ATTR(OL,CLASS) = 0,
! 730: HTML_ATTR(OL,COMPACT),
! 731: HTML_ATTR(OL,DIR),
! 732: HTML_ATTR(OL,ID),
! 733: HTML_ATTR(OL,LANG),
! 734: HTML_ATTR(OL,START),
! 735: HTML_ATTR(OL,STYLE),
! 736: HTML_ATTR(OL,TITLE),
! 737: HTML_ATTR(OL,TYPE),
! 738: HTML_ATTRIBUTES(OL)
! 739: };
! 740: </PRE>
! 741: <H3>
! 742: OPTGROUP
! 743: </H3>
! 744: <PRE>
! 745: enum _HTML_OPTGROUP_Attributes {
! 746: HTML_ATTR(OPTGROUP,CLASS) = 0,
! 747: HTML_ATTR(OPTGROUP,DISABLED),
! 748: HTML_ATTR(OPTGROUP,DIR),
! 749: HTML_ATTR(OPTGROUP,ID),
! 750: HTML_ATTR(OPTGROUP,LABEL),
! 751: HTML_ATTR(OPTGROUP,LANG),
! 752: HTML_ATTR(OPTGROUP,STYLE),
! 753: HTML_ATTR(OPTGROUP,TITLE),
! 754: HTML_ATTRIBUTES(OPTGROUP)
! 755: };
2.28 frystyk 756: </PRE>
757: <H3>
758: OPTION
759: </H3>
760: <PRE>
2.30 ! frystyk 761: enum _HTML_OPTION_Attributes {
! 762: HTML_ATTR(OPTION,CLASS) = 0,
! 763: HTML_ATTR(OPTION,DISABLED),
! 764: HTML_ATTR(OPTION,DIR),
! 765: HTML_ATTR(OPTION,ID),
! 766: HTML_ATTR(OPTION,LABEL),
! 767: HTML_ATTR(OPTION,LANG),
! 768: HTML_ATTR(OPTION,SELECTED),
! 769: HTML_ATTR(OPTION,STYLE),
! 770: HTML_ATTR(OPTION,TITLE),
! 771: HTML_ATTR(OPTION,VALUE),
! 772: HTML_ATTRIBUTES(OPTION)
! 773: };
! 774: </PRE>
! 775: <H3>
! 776: PARAM
! 777: </H3>
! 778: <PRE>
! 779: enum _HTML_PARAM_Attributes {
! 780: HTML_ATTR(PARAM,ID) = 0,
! 781: HTML_ATTR(PARAM,NAME),
! 782: HTML_ATTR(PARAM,TYPE),
! 783: HTML_ATTR(PARAM,VALUE),
! 784: HTML_ATTR(PARAM,VALUETYPE),
! 785: HTML_ATTRIBUTES(PARAM)
! 786: };
! 787: </PRE>
! 788: <H3>
! 789: PRE
! 790: </H3>
! 791: <PRE>
! 792: enum _HTML_PRE_Attributes {
! 793: HTML_ATTR(PRE,CLASS) = 0,
! 794: HTML_ATTR(PRE,DIR),
! 795: HTML_ATTR(PRE,ID),
! 796: HTML_ATTR(PRE,LANG),
! 797: HTML_ATTR(PRE,STYLE),
! 798: HTML_ATTR(PRE,TITLE),
! 799: HTML_ATTR(PRE,WIDTH),
! 800: HTML_ATTRIBUTES(PRE)
! 801: };
! 802: </PRE>
! 803: <H3>
! 804: SCRIPT
! 805: </H3>
! 806: <PRE>
! 807: enum _HTML_SCRIPT_Attributes {
! 808: HTML_ATTR(SCRIPT,CHARSET) = 0,
! 809: HTML_ATTR(SCRIPT,DEFER),
! 810: HTML_ATTR(SCRIPT,LANGUAGE),
! 811: HTML_ATTR(SCRIPT,SRC),
! 812: HTML_ATTR(SCRIPT,TYPE),
! 813: HTML_ATTRIBUTES(SCRIPT)
! 814: };
2.28 frystyk 815: </PRE>
816: <H3>
817: SELECT
818: </H3>
819: <PRE>
2.30 ! frystyk 820: enum _HTML_SELECT_Attributes {
! 821: HTML_ATTR(SELECT,CLASS) = 0,
! 822: HTML_ATTR(SELECT,DIR),
! 823: HTML_ATTR(SELECT,DISABLED),
! 824: HTML_ATTR(SELECT,ID),
! 825: HTML_ATTR(SELECT,LANG),
! 826: HTML_ATTR(SELECT,MULTIPLE),
! 827: HTML_ATTR(SELECT,NAME),
! 828: HTML_ATTR(SELECT,SIZE),
! 829: HTML_ATTR(SELECT,STYLE),
! 830: HTML_ATTR(SELECT,TABINDEX),
! 831: HTML_ATTR(SELECT,TITLE),
! 832: HTML_ATTRIBUTES(SELECT)
! 833: };
! 834: </PRE>
! 835: <H3>
! 836: STYLE
! 837: </H3>
! 838: <PRE>
! 839: enum _HTML_STYLE_Attributes {
! 840: HTML_ATTR(STYLE,DIR) = 0,
! 841: HTML_ATTR(STYLE,LANG),
! 842: HTML_ATTR(STYLE,MEDIA),
! 843: HTML_ATTR(STYLE,TITLE),
! 844: HTML_ATTR(STYLE,TYPE),
! 845: HTML_ATTRIBUTES(STYLE)
! 846: };
2.28 frystyk 847: </PRE>
848: <H3>
849: TABLE
850: </H3>
851: <PRE>
2.30 ! frystyk 852: enum _HTML_TABLE_Attributes {
! 853: HTML_ATTR(TABLE,ALIGN) = 0,
! 854: HTML_ATTR(TABLE,BGCOLOR),
! 855: HTML_ATTR(TABLE,BORDER),
! 856: HTML_ATTR(TABLE,CELLPADDING),
! 857: HTML_ATTR(TABLE,CELLSPACING),
! 858: HTML_ATTR(TABLE,CLASS),
! 859: HTML_ATTR(TABLE,DIR),
! 860: HTML_ATTR(TABLE,FRAME),
! 861: HTML_ATTR(TABLE,ID),
! 862: HTML_ATTR(TABLE,LANG),
! 863: HTML_ATTR(TABLE,RULES),
! 864: HTML_ATTR(TABLE,SUMMARY),
! 865: HTML_ATTR(TABLE,STYLE),
! 866: HTML_ATTR(TABLE,TITLE),
! 867: HTML_ATTR(TABLE,WIDTH),
! 868: HTML_ATTRIBUTES(TABLE)
! 869: };
! 870: </PRE>
! 871: <H3>
! 872: TABLE Elements
! 873: </H3>
! 874: <PRE>
! 875: enum _HTML_TELE_Attributes {
! 876: HTML_ATTR(TELE,ALIGN) = 0,
! 877: HTML_ATTR(TELE,CHAR),
! 878: HTML_ATTR(TELE,CHAROFF),
! 879: HTML_ATTR(TELE,CLASS),
! 880: HTML_ATTR(TELE,DIR),
! 881: HTML_ATTR(TELE,ID),
! 882: HTML_ATTR(TELE,LANG),
! 883: HTML_ATTR(TELE,STYLE),
! 884: HTML_ATTR(TELE,TITLE),
! 885: HTML_ATTR(TELE,VALIGN),
! 886: HTML_ATTRIBUTES(TELE)
! 887: };
2.28 frystyk 888: </PRE>
889: <H3>
890: TD
891: </H3>
892: <PRE>
2.30 ! frystyk 893: enum _HTML_TD_Attributes {
! 894: HTML_ATTR(TD,ABBR) = 0,
! 895: HTML_ATTR(TD,ALIGN),
! 896: HTML_ATTR(TD,AXIS),
! 897: HTML_ATTR(TD,BGCOLOR),
! 898: HTML_ATTR(TD,CHAR),
! 899: HTML_ATTR(TD,CHAROFF),
! 900: HTML_ATTR(TD,CLASS),
! 901: HTML_ATTR(TD,COLSPAN),
! 902: HTML_ATTR(TD,DIR),
! 903: HTML_ATTR(TD,ID),
! 904: HTML_ATTR(TD,HEADERS),
! 905: HTML_ATTR(TD,HEIGHT),
! 906: HTML_ATTR(TD,LANG),
! 907: HTML_ATTR(TD,NOWRAP),
! 908: HTML_ATTR(TD,ROWSPAN),
! 909: HTML_ATTR(TD,SCOPE),
! 910: HTML_ATTR(TD,STYLE),
! 911: HTML_ATTR(TD,TITLE),
! 912: HTML_ATTR(TD,VALIGN),
! 913: HTML_ATTR(TD,WIDTH),
! 914: HTML_ATTRIBUTES(TD)
! 915: };
2.28 frystyk 916: </PRE>
917: <H3>
918: TEXTAREA
919: </H3>
920: <PRE>
2.30 ! frystyk 921: enum _HTML_TEXTAREA_Attributes {
! 922: HTML_ATTR(TEXTAREA,CLASS) = 0,
! 923: HTML_ATTR(TEXTAREA,COLS),
! 924: HTML_ATTR(TEXTAREA,DIR),
! 925: HTML_ATTR(TEXTAREA,DISABLED),
! 926: HTML_ATTR(TEXTAREA,ID),
! 927: HTML_ATTR(TEXTAREA,LANG),
! 928: HTML_ATTR(TEXTAREA,NAME),
! 929: HTML_ATTR(TEXTAREA,READONLY),
! 930: HTML_ATTR(TEXTAREA,ROWS),
! 931: HTML_ATTR(TEXTAREA,STYLE),
! 932: HTML_ATTR(TEXTAREA,TABINDEX),
! 933: HTML_ATTR(TEXTAREA,TITLE),
! 934: HTML_ATTRIBUTES(TEXTAREA)
! 935: };
! 936: </PRE>
! 937: <H3>
! 938: TITLE
! 939: </H3>
! 940: <PRE>
! 941: enum _HTML_TITLE_Attributes {
! 942: HTML_ATTR(TITLE,DIR) = 0,
! 943: HTML_ATTR(TITLE,LANG),
! 944: HTML_ATTRIBUTES(TITLE)
! 945: };
2.28 frystyk 946: </PRE>
947: <H3>
948: UL
949: </H3>
950: <PRE>
2.30 ! frystyk 951: enum _HTML_UL_Attributes {
! 952: HTML_ATTR(UL,CLASS) = 0,
! 953: HTML_ATTR(UL,COMPACT),
! 954: HTML_ATTR(UL,DIR),
! 955: HTML_ATTR(UL,ID),
! 956: HTML_ATTR(UL,LANG),
! 957: HTML_ATTR(UL,STYLE),
! 958: HTML_ATTR(UL,TITLE),
! 959: HTML_ATTR(UL,TYPE),
! 960: HTML_ATTRIBUTES(UL)
! 961: };
2.28 frystyk 962: </PRE>
963: <H2>
964: The C Representation of the SGML DTD
965: </H2>
966: <PRE>
967: extern SGML_dtd * HTML_dtd (void);
968: extern BOOL HTML_setDtd (const SGML_dtd * dtd);
969: </PRE>
970: <H2>
971: Utitity Functions
972: </H2>
973: <H3>
974: Start anchor element
975: </H3>
976: <P>
977: It is kinda convenient to have a particular routine for starting an anchor
978: element, as everything else for HTML is simple anyway.
979: <PRE>
2.17 frystyk 980: extern void HTStartAnchor (
2.1 timbl 981: HTStructured * targetstream,
2.18 frystyk 982: const char * name,
983: const char * href);
2.28 frystyk 984: </PRE>
985: <H3>
986: Put image element
987: </H3>
988: <P>
989: This is the same idea but for images
990: <PRE>
2.17 frystyk 991: extern void HTMLPutImg (HTStructured *obj,
2.18 frystyk 992: const char *src,
993: const char *alt,
994: const char *align);
2.1 timbl 995:
2.28 frystyk 996: </PRE>
997: <H3>
998: Specify next ID to be used
999: </H3>
1000: <P>
1001: This is another convenience routine, for specifying the next ID to be used
1002: by an editor in the series z1. z2,...
1003: <PRE>
1004: extern void HTNextID (HTStructured * targetStream, const char * s);
1005: </PRE>
2.6 timbl 1006: <PRE>
2.1 timbl 1007: #endif /* HTMLDTD_H */
2.20 frystyk 1008: </PRE>
2.28 frystyk 1009: <P>
1010: <HR>
2.20 frystyk 1011: <ADDRESS>
2.30 ! frystyk 1012: @(#) $Id: HTMLPDTD.html,v 2.29 1999/01/22 14:52:01 frystyk Exp $
2.20 frystyk 1013: </ADDRESS>
2.28 frystyk 1014: </BODY></HTML>
Webmaster