/* ** (c) COPYRIGHT MIT 1995. ** Please first read the full copyright statement in the file COPYRIGH. */
SGML purists should excuse the use of the term "DTD" in this file to represent DTD-related information which is not exactly a DTD itself. The C modular structure doesn't work very well here, as the dtd is partly in the .h and partly in the .c which are not very independent. Tant pis! There are a couple of HTML-specific utility routines also defined.
This module is a part of the W3C Sample Code Library.
#ifndef HTMLDTD_H #define HTMLDTD_H #include "HTStruct.h" #include "SGML.h" #ifdef __cplusplus extern "C" { #endif
The entity names are defined in the C file. This gives the number of them. Must Match all tables by element!
#define HTML_ENTITIES 100
These include tables in HTMLPDTD.c and code in HTML.c. Note that not everything from HTML 4.0 is there!
typedef enum _HTMLElement { HTML_A = 0, HTML_ABBR, HTML_ACRONYM, HTML_ADDRESS, HTML_APPLET, HTML_AREA, HTML_B, HTML_BASE, HTML_BASEFONT, HTML_BDO, HTML_BIG, HTML_BLOCKQUOTE, HTML_BODY, HTML_BR, HTML_BUTTON, HTML_CAPTION, HTML_CENTER, HTML_CITE, HTML_CODE, HTML_COL, HTML_COLGROUP, HTML_DD, HTML_DEL, HTML_DFN, HTML_DIR, HTML_DIV, HTML_DL, HTML_DT, HTML_EM, HTML_FIELDSET, HTML_FONT, HTML_FORM, HTML_FRAME, HTML_FRAMESET, HTML_H1, HTML_H2, HTML_H3, HTML_H4, HTML_H5, HTML_H6, HTML_HEAD, HTML_HR, HTML_HTML, HTML_I, HTML_IFRAME, HTML_IMG, HTML_INPUT, HTML_INS, HTML_ISINDEX, HTML_KBD, HTML_LABEL, HTML_LEGEND, HTML_LI, HTML_LINK, HTML_MAP, HTML_MENU, HTML_META, HTML_NEXTID, /* !!! */ HTML_NOFRAMES, HTML_NOSCRIPT, HTML_OBJECT, HTML_OL, HTML_OPTGROUP, HTML_OPTION, HTML_P, HTML_PARAM, HTML_PRE, HTML_Q, HTML_S, HTML_SAMP, HTML_SCRIPT, HTML_SELECT, HTML_SMALL, HTML_SPAN, HTML_STRIKE, HTML_STRONG, HTML_STYLE, HTML_SUB, HTML_SUP, HTML_TABLE, HTML_TBODY, HTML_TD, HTML_TEXTAREA, HTML_TFOOT, HTML_TH, HTML_THEAD, HTML_TITLE, HTML_TR, HTML_TT, HTML_U, HTML_UL, HTML_VAR, HTML_ELEMENTS /* This must be the last entry */ } HTMLElement;
Identifier is HTML_<element>_<attribute>. These must match the tables in HTMLPDTD.c!
/* Define an attribute as HTML__ */ #define HTML_ATTR(t,a) HTML_##t##_##a #define HTML_ATTRIBUTES(t) HTML_##t##_ATTRIBUTES
enum _HTML_A_Attributes { HTML_ATTR(A,ACCESSKEY) = 0, HTML_ATTR(A,CHARSET), HTML_ATTR(A,CLASS), HTML_ATTR(A,COORDS), HTML_ATTR(A,DIR), HTML_ATTR(A,HREF), HTML_ATTR(A,HREFLANG), HTML_ATTR(A,ID), HTML_ATTR(A,NAME), HTML_ATTR(A,REL), HTML_ATTR(A,REV), HTML_ATTR(A,SHAPE), HTML_ATTR(A,STYLE), HTML_ATTR(A,TABINDEX), HTML_ATTR(A,TARGET), HTML_ATTR(A,TYPE), HTML_ATTR(A,TITLE), HTML_ATTRIBUTES(A) };
enum _HTML_APPLET_Attributes { HTML_ATTR(APPLET,ALIGN) = 0, HTML_ATTR(APPLET,ALT), HTML_ATTR(APPLET,ARCHIVE), HTML_ATTR(APPLET,CLASS), HTML_ATTR(APPLET,CODE), HTML_ATTR(APPLET,CODEBASE), HTML_ATTR(APPLET,HEIGHT), HTML_ATTR(APPLET,HSPACE), HTML_ATTR(APPLET,ID), HTML_ATTR(APPLET,NAME), HTML_ATTR(APPLET,OBJECT), HTML_ATTR(APPLET,STYLE), HTML_ATTR(APPLET,TITLE), HTML_ATTR(APPLET,VSPACE), HTML_ATTR(APPLET,WIDTH), HTML_ATTRIBUTES(APPLET) };
enum _HTML_AREA_Attributes { HTML_ATTR(AREA,ACCESSKEY) = 0, HTML_ATTR(AREA,ALT), HTML_ATTR(AREA,CLASS), HTML_ATTR(AREA,COORDS), HTML_ATTR(AREA,DIR), HTML_ATTR(AREA,HREF), HTML_ATTR(AREA,ID), HTML_ATTR(AREA,NAME), HTML_ATTR(AREA,NOHREF), HTML_ATTR(AREA,LANG), HTML_ATTR(AREA,SHAPE), HTML_ATTR(AREA,STYLE), HTML_ATTR(AREA,TABINDEX), HTML_ATTR(AREA,TARGET), HTML_ATTR(AREA,TITLE), HTML_ATTRIBUTES(AREA) };
enum _HTML_BASE_Attributes { HTML_ATTR(BASE,HREF) = 0, HTML_ATTR(BASE,TARGET), HTML_ATTRIBUTES(BASE) };
enum _HTML_BDO_Attributes { HTML_ATTR(BDO,CLASS) = 0, HTML_ATTR(BDO,DIR), HTML_ATTR(BDO,ID), HTML_ATTR(BDO,LANG), HTML_ATTR(BDO,STYLE), HTML_ATTR(BDO,TITLE), HTML_ATTRIBUTES(BDO) };
enum _HTML_BQ_Attributes { HTML_ATTR(BQ,CITE) = 0, HTML_ATTR(BQ,CLASS), HTML_ATTR(BQ,DIR), HTML_ATTR(BQ,ID), HTML_ATTR(BQ,LANG), HTML_ATTR(BQ,STYLE), HTML_ATTR(BQ,TITLE), HTML_ATTRIBUTES(BQ) };
enum _HTML_BODY_Attributes { HTML_ATTR(BODY,ALINK) = 0, HTML_ATTR(BODY,BACKGROUND), HTML_ATTR(BODY,BGCOLOR), HTML_ATTR(BODY,CLASS), HTML_ATTR(BODY,DIR), HTML_ATTR(BODY,ID), HTML_ATTR(BODY,LANG), HTML_ATTR(BODY,LINK), HTML_ATTR(BODY,STYLE), HTML_ATTR(BODY,TEXT), HTML_ATTR(BODY,TITLE), HTML_ATTR(BODY,VLINK), HTML_ATTRIBUTES(BODY) };
enum _HTML_BR_Attributes { HTML_ATTR(BR,CLASS) = 0, HTML_ATTR(BR,CLEAR), HTML_ATTR(BR,ID), HTML_ATTR(BR,STYLE), HTML_ATTR(BR,TITLE), HTML_ATTRIBUTES(BR) };
enum _HTML_BUTTON_Attributes { HTML_ATTR(BUTTON,ACCESSKEY) = 0, HTML_ATTR(BUTTON,CLASS), HTML_ATTR(BUTTON,DIR), HTML_ATTR(BUTTON,DISABLED), HTML_ATTR(BUTTON,ID), HTML_ATTR(BUTTON,LANG), HTML_ATTR(BUTTON,NAME), HTML_ATTR(BUTTON,STYLE), HTML_ATTR(BUTTON,TABINDEX), HTML_ATTR(BUTTON,TITLE), HTML_ATTR(BUTTON,TYPE), HTML_ATTR(BUTTON,VALUE), HTML_ATTRIBUTES(BUTTON) };
enum _HTML_COL_Attributes { HTML_ATTR(COL,CLASS) = 0, HTML_ATTR(COL,DIR), HTML_ATTR(COL,ID), HTML_ATTR(COL,LANG), HTML_ATTR(COL,SPAN), HTML_ATTR(COL,STYLE), HTML_ATTR(COL,TITLE), HTML_ATTR(COL,WIDTH), HTML_ATTRIBUTES(COL) };
enum _HTML_CHANGES_Attributes { HTML_ATTR(CHANGES,CITE) = 0, HTML_ATTR(CHANGES,CLASS), HTML_ATTR(CHANGES,DATETIME), HTML_ATTR(CHANGES,DIR), HTML_ATTR(CHANGES,ID), HTML_ATTR(CHANGES,LANG), HTML_ATTR(CHANGES,STYLE), HTML_ATTR(CHANGES,TITLE), HTML_ATTRIBUTES(CHANGES) };
enum _HTML_FONT_Attributes { HTML_ATTR(FONT,CLASS) = 0, HTML_ATTR(FONT,COLOR), HTML_ATTR(FONT,DIR), HTML_ATTR(FONT,FACE), HTML_ATTR(FONT,ID), HTML_ATTR(FONT,LANG), HTML_ATTR(FONT,SIZE), HTML_ATTR(FONT,STYLE), HTML_ATTR(FONT,TITLE), HTML_ATTRIBUTES(FONT) };
enum _HTML_FORM_Attributes { HTML_ATTR(FORM,ACCEPT) = 0, HTML_ATTR(FORM,ACCEPT_CHARSET), /* { "ACCEPT-CHARSET" } */ HTML_ATTR(FORM,ACTION), HTML_ATTR(FORM,CLASS), HTML_ATTR(FORM,DIR), HTML_ATTR(FORM,ENCTYPE), HTML_ATTR(FORM,ID), HTML_ATTR(FORM,LANG), HTML_ATTR(FORM,METHOD), HTML_ATTR(FORM,STYLE), HTML_ATTR(FORM,TARGET), HTML_ATTR(FORM,TITLE), HTML_ATTRIBUTES(FORM) };
enum _HTML_FRAME_Attributes { HTML_ATTR(FRAME,CLASS) = 0, HTML_ATTR(FRAME,FRAMEBORDER), HTML_ATTR(FRAME,ID), HTML_ATTR(FRAME,NAME), HTML_ATTR(FRAME,MARGINHEIGHT), HTML_ATTR(FRAME,MARGINWIDTH), HTML_ATTR(FRAME,NORESIZE), HTML_ATTR(FRAME,LONGDESC), HTML_ATTR(FRAME,SCROLLING), HTML_ATTR(FRAME,SRC), HTML_ATTR(FRAME,STYLE), HTML_ATTR(FRAME,TARGET), HTML_ATTR(FRAME,TITLE), HTML_ATTRIBUTES(FRAME) };
enum _HTML_FRAMESET_Attributes { HTML_ATTR(FRAMESET,CLASS) = 0, HTML_ATTR(FRAMESET,COLS), HTML_ATTR(FRAMESET,ID), HTML_ATTR(FRAMESET,ROWS), HTML_ATTR(FRAMESET,STYLE), HTML_ATTR(FRAMESET,TITLE), HTML_ATTRIBUTES(FRAMESET) };
enum _HTML_GEN_Attributes { HTML_ATTR(GEN,CLASS) = 0, HTML_ATTR(GEN,DIR), HTML_ATTR(GEN,ID), HTML_ATTR(GEN,LANG), HTML_ATTR(GEN,STYLE), HTML_ATTR(GEN,TITLE), HTML_ATTRIBUTES(GEN) };
enum _HTML_BLOCK_Attributes { HTML_ATTR(BLOCK,ALIGN) = 0, HTML_ATTR(BLOCK,CLASS), HTML_ATTR(BLOCK,DIR), HTML_ATTR(BLOCK,ID), HTML_ATTR(BLOCK,LANG), HTML_ATTR(BLOCK,STYLE), HTML_ATTR(BLOCK,TITLE), HTML_ATTRIBUTES(BLOCK) };
enum _HTML_HEAD_Attributes { HTML_ATTR(HEAD,DIR) = 0, HTML_ATTR(HEAD,LANG), HTML_ATTR(HEAD,PROFILE), HTML_ATTRIBUTES(HEAD) };
enum _HTML_HR_Attributes { HTML_ATTR(HR,ALIGN) = 0, HTML_ATTR(HR,CLASS), HTML_ATTR(HR,DIR), HTML_ATTR(HR,ID), HTML_ATTR(HR,LANG), HTML_ATTR(HR,NOSHADE), HTML_ATTR(HR,SIZE), HTML_ATTR(HR,STYLE), HTML_ATTR(HR,TITLE), HTML_ATTR(HR,WIDTH), HTML_ATTRIBUTES(HR) };
enum _HTML_HTML_Attributes { HTML_ATTR(HTML,DIR) = 0, HTML_ATTR(HTML,LANG), HTML_ATTR(HTML,VERSION), HTML_ATTRIBUTES(HTML) };
enum _HTML_IFRAME_Attributes { HTML_ATTR(IFRAME,ALIGN) = 0, HTML_ATTR(IFRAME,CLASS), HTML_ATTR(IFRAME,FRAMEBORDER), HTML_ATTR(IFRAME,HEIGHT), HTML_ATTR(IFRAME,ID), HTML_ATTR(IFRAME,LONGDESC), HTML_ATTR(IFRAME,MARGINHEIGHT), HTML_ATTR(IFRAME,MARGINWIDTH), HTML_ATTR(IFRAME,NAME), HTML_ATTR(IFRAME,SCROLLING), HTML_ATTR(IFRAME,SRC), HTML_ATTR(IFRAME,STYLE), HTML_ATTR(IFRAME,TARGET), HTML_ATTR(IFRAME,TITLE), HTML_ATTR(IFRAME,WIDTH), HTML_ATTRIBUTES(IFRAME) };
enum _HTML_IMG_Attributes { HTML_ATTR(IMG,ALIGN) = 0, HTML_ATTR(IMG,ALT), HTML_ATTR(IMG,BORDER), HTML_ATTR(IMG,CLASS), HTML_ATTR(IMG,DIR), HTML_ATTR(IMG,HEIGHT), HTML_ATTR(IMG,HSPACE), HTML_ATTR(IMG,ID), HTML_ATTR(IMG,ISMAP), HTML_ATTR(IMG,LANG), HTML_ATTR(IMG,LONGDESC), HTML_ATTR(IMG,SRC), HTML_ATTR(IMG,STYLE), HTML_ATTR(IMG,TITLE), HTML_ATTR(IMG,USEMAP), HTML_ATTR(IMG,VSPACE), HTML_ATTR(IMG,WIDTH), HTML_ATTRIBUTES(IMG) };
enum _HTML_INPUT_Attributes { HTML_ATTR(INPUT,ACCEPT) = 0, HTML_ATTR(INPUT,ACCESSKEY), HTML_ATTR(INPUT,ALIGN), HTML_ATTR(INPUT,ALT), HTML_ATTR(INPUT,CHECKED), HTML_ATTR(INPUT,CLASS), HTML_ATTR(INPUT,DIR), HTML_ATTR(INPUT,DISABLED), HTML_ATTR(INPUT,ID), HTML_ATTR(INPUT,LANG), HTML_ATTR(INPUT,MAXLENGTH), HTML_ATTR(INPUT,NAME), HTML_ATTR(INPUT,READONLY), HTML_ATTR(INPUT,SIZE), HTML_ATTR(INPUT,SRC), HTML_ATTR(INPUT,STYLE), HTML_ATTR(INPUT,TABINDEX), HTML_ATTR(INPUT,TITLE), HTML_ATTR(INPUT,TYPE), HTML_ATTR(INPUT,USEMAP), HTML_ATTR(INPUT,VALUE), HTML_ATTRIBUTES(INPUT) };
enum _HTML_ISINDEX_Attributes { HTML_ATTR(ISINDEX,CLASS) = 0, HTML_ATTR(ISINDEX,DIR), HTML_ATTR(ISINDEX,ID), HTML_ATTR(ISINDEX,LANG), HTML_ATTR(ISINDEX,PROMPT), HTML_ATTR(ISINDEX,STYLE), HTML_ATTR(ISINDEX,TITLE), HTML_ATTRIBUTES(ISINDEX) };
enum _HTML_LABEL_Attributes { HTML_ATTR(LABEL,ACCESSKEY) = 0, HTML_ATTR(LABEL,CLASS), HTML_ATTR(LABEL,DIR), HTML_ATTR(LABEL,FOR), HTML_ATTR(LABEL,ID), HTML_ATTR(LABEL,LANG), HTML_ATTR(LABEL,STYLE), HTML_ATTR(LABEL,TITLE), HTML_ATTRIBUTES(LABEL) };
enum _HTML_LEGEND_Attributes { HTML_ATTR(LEGEND,ACCESSKEY) = 0, HTML_ATTR(LEGEND,ALIGN), HTML_ATTR(LEGEND,CLASS), HTML_ATTR(LEGEND,DIR), HTML_ATTR(LEGEND,ID), HTML_ATTR(LEGEND,LANG), HTML_ATTR(LEGEND,STYLE), HTML_ATTR(LEGEND,TITLE), HTML_ATTRIBUTES(LEGEND) };
enum _HTML_LI_Attributes { HTML_ATTR(LI,CLASS) = 0, HTML_ATTR(LI,COMPACT), HTML_ATTR(LI,DIR), HTML_ATTR(LI,ID), HTML_ATTR(LI,LANG), HTML_ATTR(LI,STYLE), HTML_ATTR(LI,TITLE), HTML_ATTR(LI,TYPE), HTML_ATTR(LI,VALUE), HTML_ATTRIBUTES(LI) };
enum _HTML_LINK_Attributes { HTML_ATTR(LINK,CHARSET) = 0, HTML_ATTR(LINK,CLASS), HTML_ATTR(LINK,DIR), HTML_ATTR(LINK,HREF), HTML_ATTR(LINK,HREFLANG), HTML_ATTR(LINK,ID), HTML_ATTR(LINK,LANG), HTML_ATTR(LINK,MEDIA), HTML_ATTR(LINK,REL), HTML_ATTR(LINK,REV), HTML_ATTR(LINK,STYLE), HTML_ATTR(LINK,TARGET), HTML_ATTR(LINK,TITLE), HTML_ATTR(LINK,TYPE), HTML_ATTRIBUTES(LINK) };
enum _HTML_MAP_Attributes { HTML_ATTR(MAP,CLASS) = 0, HTML_ATTR(MAP,DIR), HTML_ATTR(MAP,ID), HTML_ATTR(MAP,LANG), HTML_ATTR(MAP,NAME), HTML_ATTR(MAP,STYLE), HTML_ATTR(MAP,TITLE), HTML_ATTRIBUTES(MAP) };
enum _HTML_META_Attributes { HTML_ATTR(META,CONTENT) = 0, HTML_ATTR(META,DIR), HTML_ATTR(META,HTTP_EQUIV), /* { "HTTP-EQUIV" ) */ HTML_ATTR(META,LANG), HTML_ATTR(META,NAME), HTML_ATTR(META,SCHEME), HTML_ATTRIBUTES(META) };
#define HTML_NEXTID_ATTRIBUTES 1 #define HTML_NEXTID_N 0
enum _HTML_OBJECT_Attributes { HTML_ATTR(OBJECT,ALIGN) = 0, HTML_ATTR(OBJECT,ARCHIVE), HTML_ATTR(OBJECT,BORDER), HTML_ATTR(OBJECT,CLASS), HTML_ATTR(OBJECT,CLASSID), HTML_ATTR(OBJECT,CODEBASE), HTML_ATTR(OBJECT,CODETYPE), HTML_ATTR(OBJECT,DATA), HTML_ATTR(OBJECT,DECLARE), HTML_ATTR(OBJECT,DIR), HTML_ATTR(OBJECT,HEIGHT), HTML_ATTR(OBJECT,HSPACE), HTML_ATTR(OBJECT,ID), HTML_ATTR(OBJECT,LANG), HTML_ATTR(OBJECT,NAME), HTML_ATTR(OBJECT,STANDBY), HTML_ATTR(OBJECT,STYLE), HTML_ATTR(OBJECT,TABINDEX), HTML_ATTR(OBJECT,TITLE), HTML_ATTR(OBJECT,TYPE), HTML_ATTR(OBJECT,USEMAP), HTML_ATTR(OBJECT,VSPACE), HTML_ATTR(OBJECT,WIDTH), HTML_ATTRIBUTES(OBJECT) };
enum _HTML_OL_Attributes { HTML_ATTR(OL,CLASS) = 0, HTML_ATTR(OL,COMPACT), HTML_ATTR(OL,DIR), HTML_ATTR(OL,ID), HTML_ATTR(OL,LANG), HTML_ATTR(OL,START), HTML_ATTR(OL,STYLE), HTML_ATTR(OL,TITLE), HTML_ATTR(OL,TYPE), HTML_ATTRIBUTES(OL) };
enum _HTML_OPTGROUP_Attributes { HTML_ATTR(OPTGROUP,CLASS) = 0, HTML_ATTR(OPTGROUP,DISABLED), HTML_ATTR(OPTGROUP,DIR), HTML_ATTR(OPTGROUP,ID), HTML_ATTR(OPTGROUP,LABEL), HTML_ATTR(OPTGROUP,LANG), HTML_ATTR(OPTGROUP,STYLE), HTML_ATTR(OPTGROUP,TITLE), HTML_ATTRIBUTES(OPTGROUP) };
enum _HTML_OPTION_Attributes { HTML_ATTR(OPTION,CLASS) = 0, HTML_ATTR(OPTION,DISABLED), HTML_ATTR(OPTION,DIR), HTML_ATTR(OPTION,ID), HTML_ATTR(OPTION,LABEL), HTML_ATTR(OPTION,LANG), HTML_ATTR(OPTION,SELECTED), HTML_ATTR(OPTION,STYLE), HTML_ATTR(OPTION,TITLE), HTML_ATTR(OPTION,VALUE), HTML_ATTRIBUTES(OPTION) };
enum _HTML_PARAM_Attributes { HTML_ATTR(PARAM,ID) = 0, HTML_ATTR(PARAM,NAME), HTML_ATTR(PARAM,TYPE), HTML_ATTR(PARAM,VALUE), HTML_ATTR(PARAM,VALUETYPE), HTML_ATTRIBUTES(PARAM) };
enum _HTML_PRE_Attributes { HTML_ATTR(PRE,CLASS) = 0, HTML_ATTR(PRE,DIR), HTML_ATTR(PRE,ID), HTML_ATTR(PRE,LANG), HTML_ATTR(PRE,STYLE), HTML_ATTR(PRE,TITLE), HTML_ATTR(PRE,WIDTH), HTML_ATTRIBUTES(PRE) };
enum _HTML_SCRIPT_Attributes { HTML_ATTR(SCRIPT,CHARSET) = 0, HTML_ATTR(SCRIPT,DEFER), HTML_ATTR(SCRIPT,LANGUAGE), HTML_ATTR(SCRIPT,SRC), HTML_ATTR(SCRIPT,TYPE), HTML_ATTRIBUTES(SCRIPT) };
enum _HTML_SELECT_Attributes { HTML_ATTR(SELECT,CLASS) = 0, HTML_ATTR(SELECT,DIR), HTML_ATTR(SELECT,DISABLED), HTML_ATTR(SELECT,ID), HTML_ATTR(SELECT,LANG), HTML_ATTR(SELECT,MULTIPLE), HTML_ATTR(SELECT,NAME), HTML_ATTR(SELECT,SIZE), HTML_ATTR(SELECT,STYLE), HTML_ATTR(SELECT,TABINDEX), HTML_ATTR(SELECT,TITLE), HTML_ATTRIBUTES(SELECT) };
enum _HTML_STYLE_Attributes { HTML_ATTR(STYLE,DIR) = 0, HTML_ATTR(STYLE,LANG), HTML_ATTR(STYLE,MEDIA), HTML_ATTR(STYLE,TITLE), HTML_ATTR(STYLE,TYPE), HTML_ATTRIBUTES(STYLE) };
enum _HTML_TABLE_Attributes { HTML_ATTR(TABLE,ALIGN) = 0, HTML_ATTR(TABLE,BGCOLOR), HTML_ATTR(TABLE,BORDER), HTML_ATTR(TABLE,CELLPADDING), HTML_ATTR(TABLE,CELLSPACING), HTML_ATTR(TABLE,CLASS), HTML_ATTR(TABLE,DIR), HTML_ATTR(TABLE,FRAME), HTML_ATTR(TABLE,ID), HTML_ATTR(TABLE,LANG), HTML_ATTR(TABLE,RULES), HTML_ATTR(TABLE,SUMMARY), HTML_ATTR(TABLE,STYLE), HTML_ATTR(TABLE,TITLE), HTML_ATTR(TABLE,WIDTH), HTML_ATTRIBUTES(TABLE) };
enum _HTML_TELE_Attributes { HTML_ATTR(TELE,ALIGN) = 0, HTML_ATTR(TELE,CHAR), HTML_ATTR(TELE,CHAROFF), HTML_ATTR(TELE,CLASS), HTML_ATTR(TELE,DIR), HTML_ATTR(TELE,ID), HTML_ATTR(TELE,LANG), HTML_ATTR(TELE,STYLE), HTML_ATTR(TELE,TITLE), HTML_ATTR(TELE,VALIGN), HTML_ATTRIBUTES(TELE) };
enum _HTML_TD_Attributes { HTML_ATTR(TD,ABBR) = 0, HTML_ATTR(TD,ALIGN), HTML_ATTR(TD,AXIS), HTML_ATTR(TD,BGCOLOR), HTML_ATTR(TD,CHAR), HTML_ATTR(TD,CHAROFF), HTML_ATTR(TD,CLASS), HTML_ATTR(TD,COLSPAN), HTML_ATTR(TD,DIR), HTML_ATTR(TD,ID), HTML_ATTR(TD,HEADERS), HTML_ATTR(TD,HEIGHT), HTML_ATTR(TD,LANG), HTML_ATTR(TD,NOWRAP), HTML_ATTR(TD,ROWSPAN), HTML_ATTR(TD,SCOPE), HTML_ATTR(TD,STYLE), HTML_ATTR(TD,TITLE), HTML_ATTR(TD,VALIGN), HTML_ATTR(TD,WIDTH), HTML_ATTRIBUTES(TD) };
enum _HTML_TEXTAREA_Attributes { HTML_ATTR(TEXTAREA,CLASS) = 0, HTML_ATTR(TEXTAREA,COLS), HTML_ATTR(TEXTAREA,DIR), HTML_ATTR(TEXTAREA,DISABLED), HTML_ATTR(TEXTAREA,ID), HTML_ATTR(TEXTAREA,LANG), HTML_ATTR(TEXTAREA,NAME), HTML_ATTR(TEXTAREA,READONLY), HTML_ATTR(TEXTAREA,ROWS), HTML_ATTR(TEXTAREA,STYLE), HTML_ATTR(TEXTAREA,TABINDEX), HTML_ATTR(TEXTAREA,TITLE), HTML_ATTRIBUTES(TEXTAREA) };
enum _HTML_TITLE_Attributes { HTML_ATTR(TITLE,DIR) = 0, HTML_ATTR(TITLE,LANG), HTML_ATTRIBUTES(TITLE) };
enum _HTML_UL_Attributes { HTML_ATTR(UL,CLASS) = 0, HTML_ATTR(UL,COMPACT), HTML_ATTR(UL,DIR), HTML_ATTR(UL,ID), HTML_ATTR(UL,LANG), HTML_ATTR(UL,STYLE), HTML_ATTR(UL,TITLE), HTML_ATTR(UL,TYPE), HTML_ATTRIBUTES(UL) };
extern SGML_dtd * HTML_dtd (void); extern BOOL HTML_setDtd (const SGML_dtd * dtd);
It is kinda convenient to have a particular routine for starting an anchor element, as everything else for HTML is simple anyway.
extern void HTStartAnchor ( HTStructured * targetstream, const char * name, const char * href);
This is the same idea but for images
extern void HTMLPutImg (HTStructured *obj, const char *src, const char *alt, const char *align);
This is another convenience routine, for specifying the next ID to be used by an editor in the series z1. z2,...
extern void HTNextID (HTStructured * targetStream, const char * s);
#ifdef __cplusplus } #endif #endif /* HTMLDTD_H */