Annotation of libwww/Library/src/HTMLPDTD.html, revision 2.31
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.31 ! raff 39: #define HTML_ENTITIES 100
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.31 ! raff 1012: @(#) $Id: HTMLPDTD.html,v 2.30 1999/04/02 16:10:36 frystyk Exp $
2.20 frystyk 1013: </ADDRESS>
2.28 frystyk 1014: </BODY></HTML>
Webmaster