/* The HTML DTD -- software interface in libwww
HTML DTD - SOFTWARE INTERFACE
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.
*/
#ifndef HTMLDTD_H
#define HTMLDTD_H
#include
#include
/*
** Valid name chars for tag parsing.
*/
#define IsNmStart(c) (isalpha(UCH(c)))
#define IsNmChar(c) (isalnum(UCH(c)) || \
c == '_' || c=='-' || c == '.' || c==':')
#define ReallyEmptyTagNum(e) ((HTML_dtd.tags[e].contents == SGML_EMPTY) && \
!(HTML_dtd.tags[e].flags & Tgf_nreie))
#define ReallyEmptyTag(t) ((t->contents == SGML_EMPTY) && \
!(t->flags & Tgf_nreie))
/*
Element Numbers
*/
/*
Must Match all tables by element!
These include tables in HTMLDTD.c and code in HTML.c.
*/
typedef enum {
HTML_A,
HTML_ABBREV,
HTML_ACRONYM,
HTML_ADDRESS,
HTML_APPLET,
HTML_AREA,
HTML_AU,
HTML_AUTHOR,
HTML_B,
HTML_BANNER,
HTML_BASE,
HTML_BASEFONT,
HTML_BDO,
HTML_BGSOUND,
HTML_BIG,
HTML_BLINK,
HTML_BLOCKQUOTE,
HTML_BODY,
HTML_BODYTEXT,
HTML_BQ,
HTML_BR,
HTML_BUTTON,
HTML_CAPTION,
HTML_CENTER,
HTML_CITE,
HTML_CODE,
HTML_COL,
HTML_COLGROUP,
HTML_COMMENT,
HTML_CREDIT,
HTML_DD,
HTML_DEL,
HTML_DFN,
HTML_DIR,
HTML_DIV,
HTML_DL,
HTML_DLC,
HTML_DT,
HTML_EM,
HTML_EMBED,
HTML_FIELDSET,
HTML_FIG,
HTML_FN,
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_HY,
HTML_I,
HTML_IFRAME,
HTML_IMG,
HTML_INPUT,
HTML_INS,
HTML_ISINDEX,
HTML_KBD,
HTML_KEYGEN,
HTML_LABEL,
HTML_LEGEND,
HTML_LH,
HTML_LI,
HTML_LINK,
HTML_LISTING,
HTML_MAP,
HTML_MARQUEE,
HTML_MATH,
HTML_MENU,
HTML_META,
HTML_NEXTID,
HTML_NOFRAMES,
HTML_NOTE,
HTML_OBJECT,
HTML_OL,
HTML_OPTION,
HTML_OVERLAY,
HTML_P,
HTML_PARAM,
HTML_PLAINTEXT,
HTML_PRE,
HTML_Q,
HTML_S,
HTML_SAMP,
HTML_SCRIPT,
HTML_SELECT,
HTML_SHY,
HTML_SMALL,
HTML_SPAN,
HTML_SPOT,
HTML_STRIKE,
HTML_STRONG,
HTML_STYLE,
HTML_SUB,
HTML_SUP,
HTML_TAB,
HTML_TABLE,
HTML_TBODY,
HTML_TD,
HTML_TEXTAREA,
HTML_TEXTFLOW,
HTML_TFOOT,
HTML_TH,
HTML_THEAD,
HTML_TITLE,
HTML_TR,
HTML_TT,
HTML_U,
HTML_UL,
HTML_VAR,
HTML_WBR,
HTML_XMP,
HTML_ALT_OBJECT } HTMLElement;
/* Notes: HTML.c uses a different extension of the HTML_ELEMENTS space
privately, see HTNestedList.h. */
/* Don't replace HTML_ELEMENTS with TABLESIZE(mumble_dtd.tags). */
/* Keep the following defines in synch with the above enum! */
/* HTML_ELEMENTS: number of elements visible to Lynx code in general,
alphabetic (ASCII) order. */
#define HTML_ELEMENTS 118
/* HTML_ALL_ELEMENTS: number of elements visible to SGML parser,
additional variant(s) at end. */
#define HTML_ALL_ELEMENTS 119
/*
Attribute numbers
*/
/*
Identifier is HTML__.
These must match the tables in HTML.c!
*/
#define HTML_A_ACCESSKEY 0
#define HTML_A_CHARSET 1 /* i18n draft, added tentatively - KW */
#define HTML_A_CLASS 2
#define HTML_A_CLEAR 3
#define HTML_A_COORDS 4
#define HTML_A_DIR 5
#define HTML_A_HREF 6
#define HTML_A_ID 7
#define HTML_A_ISMAP 8
#define HTML_A_LANG 9
#define HTML_A_MD 10
#define HTML_A_NAME 11
#define HTML_A_NOTAB 12
#define HTML_A_ONCLICK 13
#define HTML_A_ONMOUSEOUT 14
#define HTML_A_ONMOUSEOVER 15
#define HTML_A_REL 16
#define HTML_A_REV 17
#define HTML_A_SHAPE 18
#define HTML_A_STYLE 19
#define HTML_A_TABINDEX 20
#define HTML_A_TARGET 21
#define HTML_A_TITLE 22
#define HTML_A_TYPE 23
#define HTML_A_URN 24
#define HTML_A_ATTRIBUTES 25
#define HTML_ADDRESS_CLASS 0
#define HTML_ADDRESS_CLEAR 1
#define HTML_ADDRESS_DIR 2
#define HTML_ADDRESS_ID 3
#define HTML_ADDRESS_LANG 4
#define HTML_ADDRESS_NOWRAP 5
#define HTML_ADDRESS_STYLE 6
#define HTML_ADDRESS_TITLE 7
#define HTML_ADDRESS_ATTRIBUTES 8
#define HTML_APPLET_ALIGN 0
#define HTML_APPLET_ALT 1
#define HTML_APPLET_CLASS 2
#define HTML_APPLET_CLEAR 3
#define HTML_APPLET_CODE 4
#define HTML_APPLET_CODEBASE 5
#define HTML_APPLET_DIR 6
#define HTML_APPLET_DOWNLOAD 7
#define HTML_APPLET_HEIGHT 8
#define HTML_APPLET_HSPACE 9
#define HTML_APPLET_ID 10
#define HTML_APPLET_LANG 11
#define HTML_APPLET_NAME 12
#define HTML_APPLET_STYLE 13
#define HTML_APPLET_TITLE 14
#define HTML_APPLET_VSPACE 15
#define HTML_APPLET_WIDTH 16
#define HTML_APPLET_ATTRIBUTES 17
#define HTML_AREA_ALT 0
#define HTML_AREA_CLASS 1
#define HTML_AREA_CLEAR 2
#define HTML_AREA_COORDS 3
#define HTML_AREA_DIR 4
#define HTML_AREA_HREF 5
#define HTML_AREA_ID 6
#define HTML_AREA_LANG 7
#define HTML_AREA_NOHREF 8
#define HTML_AREA_NONOTAB 9
#define HTML_AREA_ONCLICK 10
#define HTML_AREA_ONMOUSEOUT 11
#define HTML_AREA_ONMOUSEOVER 12
#define HTML_AREA_SHAPE 13
#define HTML_AREA_STYLE 14
#define HTML_AREA_TABINDEX 15
#define HTML_AREA_TARGET 16
#define HTML_AREA_TITLE 17
#define HTML_AREA_ATTRIBUTES 18
#define HTML_BASE_HREF 0
#define HTML_BASE_TARGET 1
#define HTML_BASE_TITLE 2
#define HTML_BASE_ATTRIBUTES 3
#define HTML_BGSOUND_CLASS 0
#define HTML_BGSOUND_CLEAR 1
#define HTML_BGSOUND_DIR 2
#define HTML_BGSOUND_ID 3
#define HTML_BGSOUND_LANG 4
#define HTML_BGSOUND_LOOP 5
#define HTML_BGSOUND_SRC 6
#define HTML_BGSOUND_STYLE 7
#define HTML_BGSOUND_TITLE 8
#define HTML_BGSOUND_ATTRIBUTES 9
#define HTML_BODY_ALINK 0
#define HTML_BODY_BACKGROUND 1
#define HTML_BODY_BGCOLOR 2
#define HTML_BODY_CLASS 3
#define HTML_BODY_CLEAR 4
#define HTML_BODY_DIR 5
#define HTML_BODY_ID 6
#define HTML_BODY_LANG 7
#define HTML_BODY_LINK 8
#define HTML_BODY_ONLOAD 9
#define HTML_BODY_ONUNLOAD 10
#define HTML_BODY_STYLE 11
#define HTML_BODY_TEXT 12
#define HTML_BODY_TITLE 13
#define HTML_BODY_VLINK 14
#define HTML_BODY_ATTRIBUTES 15
#define HTML_BODYTEXT_CLASS 0
#define HTML_BODYTEXT_CLEAR 1
#define HTML_BODYTEXT_DATA 2
#define HTML_BODYTEXT_DIR 3
#define HTML_BODYTEXT_ID 4
#define HTML_BODYTEXT_LANG 5
#define HTML_BODYTEXT_NAME 6
#define HTML_BODYTEXT_OBJECT 7
#define HTML_BODYTEXT_REF 8
#define HTML_BODYTEXT_STYLE 9
#define HTML_BODYTEXT_TITLE 10
#define HTML_BODYTEXT_TYPE 11
#define HTML_BODYTEXT_VALUE 12
#define HTML_BODYTEXT_VALUETYPE 13
#define HTML_BODYTEXT_ATTRIBUTES 14
#define HTML_BQ_CITE 0
#define HTML_BQ_CLASS 1
#define HTML_BQ_CLEAR 2
#define HTML_BQ_DIR 3
#define HTML_BQ_ID 4
#define HTML_BQ_LANG 5
#define HTML_BQ_NOWRAP 6
#define HTML_BQ_STYLE 7
#define HTML_BQ_TITLE 8
#define HTML_BQ_ATTRIBUTES 9
#define HTML_BUTTON_CLASS 0
#define HTML_BUTTON_CLEAR 1
#define HTML_BUTTON_DIR 2
#define HTML_BUTTON_DISABLED 3
#define HTML_BUTTON_ID 4
#define HTML_BUTTON_LANG 5
#define HTML_BUTTON_NAME 6
#define HTML_BUTTON_ONFOCUS 7
#define HTML_BUTTON_ONBLUR 8
#define HTML_BUTTON_STYLE 9
#define HTML_BUTTON_TABINDEX 10
#define HTML_BUTTON_TITLE 11
#define HTML_BUTTON_TYPE 12
#define HTML_BUTTON_VALUE 13
#define HTML_BUTTON_ATTRIBUTES 14
#define HTML_CAPTION_ACCESSKEY 0
#define HTML_CAPTION_ALIGN 1
#define HTML_CAPTION_CLASS 2
#define HTML_CAPTION_CLEAR 3
#define HTML_CAPTION_DIR 4
#define HTML_CAPTION_ID 5
#define HTML_CAPTION_LANG 6
#define HTML_CAPTION_STYLE 7
#define HTML_CAPTION_TITLE 8
#define HTML_CAPTION_ATTRIBUTES 9
#define HTML_COL_ALIGN 0
#define HTML_COL_CHAR 1
#define HTML_COL_CHAROFF 2
#define HTML_COL_CLASS 3
#define HTML_COL_CLEAR 4
#define HTML_COL_DIR 5
#define HTML_COL_ID 6
#define HTML_COL_LANG 7
#define HTML_COL_SPAN 8
#define HTML_COL_STYLE 9
#define HTML_COL_TITLE 10
#define HTML_COL_VALIGN 11
#define HTML_COL_WIDTH 12
#define HTML_COL_ATTRIBUTES 13
#define HTML_CREDIT_CLASS 0
#define HTML_CREDIT_CLEAR 1
#define HTML_CREDIT_DIR 2
#define HTML_CREDIT_ID 3
#define HTML_CREDIT_LANG 4
#define HTML_CREDIT_STYLE 5
#define HTML_CREDIT_TITLE 6
#define HTML_CREDIT_ATTRIBUTES 7
#define HTML_DIV_ALIGN 0
#define HTML_DIV_CLASS 1
#define HTML_DIV_CLEAR 2
#define HTML_DIV_DIR 3
#define HTML_DIV_ID 4
#define HTML_DIV_LANG 5
#define HTML_DIV_STYLE 6
#define HTML_DIV_TITLE 7
#define HTML_DIV_ATTRIBUTES 8
#define HTML_DL_CLASS 0
#define HTML_DL_CLEAR 1
#define HTML_DL_COMPACT 2
#define HTML_DL_DIR 3
#define HTML_DL_ID 4
#define HTML_DL_LANG 5
#define HTML_DL_STYLE 6
#define HTML_DL_TITLE 7
#define HTML_DL_ATTRIBUTES 8
#define HTML_EMBED_ALIGN 0
#define HTML_EMBED_ALT 1
#define HTML_EMBED_BORDER 2
#define HTML_EMBED_CLASS 3
#define HTML_EMBED_CLEAR 4
#define HTML_EMBED_DIR 5
#define HTML_EMBED_HEIGHT 6
#define HTML_EMBED_ID 7
#define HTML_EMBED_IMAGEMAP 8
#define HTML_EMBED_ISMAP 9
#define HTML_EMBED_LANG 10
#define HTML_EMBED_MD 11
#define HTML_EMBED_NAME 12
#define HTML_EMBED_NOFLOW 13
#define HTML_EMBED_PARAMS 14
#define HTML_EMBED_SRC 15
#define HTML_EMBED_STYLE 16
#define HTML_EMBED_TITLE 17
#define HTML_EMBED_UNITS 18
#define HTML_EMBED_USEMAP 19
#define HTML_EMBED_WIDTH 20
#define HTML_EMBED_ATTRIBUTES 21
#define HTML_FIELDSET_CLASS 0
#define HTML_FIELDSET_CLEAR 1
#define HTML_FIELDSET_DIR 2
#define HTML_FIELDSET_ID 3
#define HTML_FIELDSET_LANG 4
#define HTML_FIELDSET_STYLE 5
#define HTML_FIELDSET_TITLE 6
#define HTML_FIELDSET_ATTRIBUTES 7
#define HTML_FIG_ALIGN 0
#define HTML_FIG_BORDER 1
#define HTML_FIG_CLASS 2
#define HTML_FIG_CLEAR 3
#define HTML_FIG_DIR 4
#define HTML_FIG_HEIGHT 5
#define HTML_FIG_ID 6
#define HTML_FIG_IMAGEMAP 7
#define HTML_FIG_ISOBJECT 8
#define HTML_FIG_LANG 9
#define HTML_FIG_MD 10
#define HTML_FIG_NOFLOW 11
#define HTML_FIG_SRC 12
#define HTML_FIG_STYLE 13
#define HTML_FIG_TITLE 14
#define HTML_FIG_UNITS 15
#define HTML_FIG_WIDTH 16
#define HTML_FIG_ATTRIBUTES 17
#define HTML_FN_CLASS 0
#define HTML_FN_CLEAR 1
#define HTML_FN_DIR 2
#define HTML_FN_ID 3
#define HTML_FN_LANG 4
#define HTML_FN_STYLE 5
#define HTML_FN_TITLE 6
#define HTML_FN_ATTRIBUTES 7
#define HTML_FONT_CLASS 0
#define HTML_FONT_CLEAR 1
#define HTML_FONT_COLOR 2
#define HTML_FONT_DIR 3
#define HTML_FONT_FACE 4
#define HTML_FONT_ID 5
#define HTML_FONT_LANG 6
#define HTML_FONT_SIZE 7
#define HTML_FONT_STYLE 8
#define HTML_FONT_ATTRIBUTES 9
#define HTML_FORM_ACCEPT_CHARSET 0 /* HTML 4.0 draft - kw */
#define HTML_FORM_ACTION 1
#define HTML_FORM_CLASS 2
#define HTML_FORM_CLEAR 3
#define HTML_FORM_DIR 4
#define HTML_FORM_ENCTYPE 5
#define HTML_FORM_ID 6
#define HTML_FORM_LANG 7
#define HTML_FORM_METHOD 8
#define HTML_FORM_ONSUBMIT 9
#define HTML_FORM_SCRIPT 10
#define HTML_FORM_STYLE 11
#define HTML_FORM_SUBJECT 12
#define HTML_FORM_TARGET 13
#define HTML_FORM_TITLE 14
#define HTML_FORM_ATTRIBUTES 15
#define HTML_FRAME_ID 0
#define HTML_FRAME_LONGDESC 1
#define HTML_FRAME_MARGINHEIGHT 2
#define HTML_FRAME_MARGINWIDTH 3
#define HTML_FRAME_NAME 4
#define HTML_FRAME_NORESIZE 5
#define HTML_FRAME_SCROLLING 6
#define HTML_FRAME_SRC 7
#define HTML_FRAME_ATTRIBUTES 8
#define HTML_FRAMESET_COLS 0
#define HTML_FRAMESET_ROWS 1
#define HTML_FRAMESET_ATTRIBUTES 2
#define HTML_GEN_CLASS 0
#define HTML_GEN_CLEAR 1
#define HTML_GEN_DIR 2
#define HTML_GEN_ID 3
#define HTML_GEN_LANG 4
#define HTML_GEN_STYLE 5
#define HTML_GEN_TITLE 6
#define HTML_GEN_ATTRIBUTES 7
#define HTML_H_ALIGN 0
#define HTML_H_CLASS 1
#define HTML_H_CLEAR 2
#define HTML_H_DINGBAT 3
#define HTML_H_DIR 4
#define HTML_H_ID 5
#define HTML_H_LANG 6
#define HTML_H_MD 7
#define HTML_H_NOWRAP 8
#define HTML_H_SEQNUM 9
#define HTML_H_SKIP 10
#define HTML_H_SRC 11
#define HTML_H_STYLE 12
#define HTML_H_TITLE 13
#define HTML_H_ATTRIBUTES 14
#define HTML_HR_ALIGN 0
#define HTML_HR_CLASS 1
#define HTML_HR_CLEAR 2
#define HTML_HR_DIR 3
#define HTML_HR_ID 4
#define HTML_HR_MD 5
#define HTML_HR_NOSHADE 6
#define HTML_HR_SIZE 7
#define HTML_HR_SRC 8
#define HTML_HR_STYLE 9
#define HTML_HR_TITLE 10
#define HTML_HR_WIDTH 11
#define HTML_HR_ATTRIBUTES 12
#define HTML_IFRAME_ALIGN 0
#define HTML_IFRAME_FRAMEBORDER 1
#define HTML_IFRAME_HEIGHT 2
#define HTML_IFRAME_ID 3
#define HTML_IFRAME_LONGDESC 4
#define HTML_IFRAME_MARGINHEIGHT 5
#define HTML_IFRAME_MARGINWIDTH 6
#define HTML_IFRAME_NAME 7
#define HTML_IFRAME_SCROLLING 8
#define HTML_IFRAME_SRC 9
#define HTML_IFRAME_STYLE 10
#define HTML_IFRAME_WIDTH 11
#define HTML_IFRAME_ATTRIBUTES 12
#define HTML_IMG_ALIGN 0
#define HTML_IMG_ALT 1
#define HTML_IMG_BORDER 2
#define HTML_IMG_CLASS 3
#define HTML_IMG_CLEAR 4
#define HTML_IMG_DIR 5
#define HTML_IMG_HEIGHT 6
#define HTML_IMG_ID 7
#define HTML_IMG_ISMAP 8
#define HTML_IMG_ISOBJECT 9
#define HTML_IMG_LANG 10
#define HTML_IMG_LONGDESC 11
#define HTML_IMG_MD 12
#define HTML_IMG_SRC 13
#define HTML_IMG_STYLE 14
#define HTML_IMG_TITLE 15
#define HTML_IMG_UNITS 16
#define HTML_IMG_USEMAP 17
#define HTML_IMG_WIDTH 18
#define HTML_IMG_ATTRIBUTES 19
#define HTML_INPUT_ACCEPT 0
#define HTML_INPUT_ACCEPT_CHARSET 1 /* RFC 2070 HTML i18n - kw */
#define HTML_INPUT_ALIGN 2
#define HTML_INPUT_ALT 3
#define HTML_INPUT_CHECKED 4
#define HTML_INPUT_CLASS 5
#define HTML_INPUT_CLEAR 6
#define HTML_INPUT_DIR 7
#define HTML_INPUT_DISABLED 8
#define HTML_INPUT_ERROR 9
#define HTML_INPUT_HEIGHT 10
#define HTML_INPUT_ID 11
#define HTML_INPUT_LANG 12
#define HTML_INPUT_MAX 13
#define HTML_INPUT_MAXLENGTH 14
#define HTML_INPUT_MD 15
#define HTML_INPUT_MIN 16
#define HTML_INPUT_NAME 17
#define HTML_INPUT_NOTAB 18
#define HTML_INPUT_ONBLUR 19
#define HTML_INPUT_ONCHANGE 20
#define HTML_INPUT_ONCLICK 21
#define HTML_INPUT_ONFOCUS 22
#define HTML_INPUT_ONSELECT 23
#define HTML_INPUT_SIZE 24
#define HTML_INPUT_SRC 25
#define HTML_INPUT_STYLE 26
#define HTML_INPUT_TABINDEX 27
#define HTML_INPUT_TITLE 28
#define HTML_INPUT_TYPE 29
#define HTML_INPUT_VALUE 30
#define HTML_INPUT_WIDTH 31
#define HTML_INPUT_ATTRIBUTES 32
#define HTML_ISINDEX_ACTION 0 /* Treat as synonym for HREF. - FM */
#define HTML_ISINDEX_DIR 1
#define HTML_ISINDEX_HREF 2 /* HTML 3.0 "action". - FM */
#define HTML_ISINDEX_ID 3
#define HTML_ISINDEX_LANG 4
#define HTML_ISINDEX_PROMPT 5 /* HTML 3.0 "prompt". - FM */
#define HTML_ISINDEX_TITLE 6
#define HTML_ISINDEX_ATTRIBUTES 7
#define HTML_KEYGEN_CHALLENGE 0
#define HTML_KEYGEN_CLASS 1
#define HTML_KEYGEN_DIR 2
#define HTML_KEYGEN_ID 3
#define HTML_KEYGEN_LANG 4
#define HTML_KEYGEN_NAME 5
#define HTML_KEYGEN_STYLE 6
#define HTML_KEYGEN_TITLE 7
#define HTML_KEYGEN_ATTRIBUTES 8
#define HTML_LABEL_ACCESSKEY 0
#define HTML_LABEL_CLASS 1
#define HTML_LABEL_CLEAR 2
#define HTML_LABEL_DIR 3
#define HTML_LABEL_FOR 4
#define HTML_LABEL_ID 5
#define HTML_LABEL_LANG 6
#define HTML_LABEL_ONCLICK 7
#define HTML_LABEL_STYLE 8
#define HTML_LABEL_TITLE 9
#define HTML_LABEL_ATTRIBUTES 10
#define HTML_LEGEND_ACCESSKEY 0
#define HTML_LEGEND_ALIGN 1
#define HTML_LEGEND_CLASS 2
#define HTML_LEGEND_CLEAR 3
#define HTML_LEGEND_DIR 4
#define HTML_LEGEND_ID 5
#define HTML_LEGEND_LANG 6
#define HTML_LEGEND_STYLE 7
#define HTML_LEGEND_TITLE 8
#define HTML_LEGEND_ATTRIBUTES 9
#define HTML_LI_CLASS 0
#define HTML_LI_CLEAR 1
#define HTML_LI_DINGBAT 2
#define HTML_LI_DIR 3
#define HTML_LI_ID 4
#define HTML_LI_LANG 5
#define HTML_LI_MD 6
#define HTML_LI_SKIP 7
#define HTML_LI_SRC 8
#define HTML_LI_STYLE 9
#define HTML_LI_TITLE 10
#define HTML_LI_TYPE 11
#define HTML_LI_VALUE 12
#define HTML_LI_ATTRIBUTES 13
#define HTML_LINK_CHARSET 0 /* RFC 2070 HTML i18n - kw */
#define HTML_LINK_CLASS 1
#define HTML_LINK_HREF 2
#define HTML_LINK_ID 3
#define HTML_LINK_MEDIA 4
#define HTML_LINK_REL 5
#define HTML_LINK_REV 6
#define HTML_LINK_STYLE 7
#define HTML_LINK_TARGET 8
#define HTML_LINK_TITLE 9
#define HTML_LINK_TYPE 10
#define HTML_LINK_ATTRIBUTES 11
#define HTML_MAP_CLASS 0
#define HTML_MAP_CLEAR 1
#define HTML_MAP_DIR 2
#define HTML_MAP_ID 3
#define HTML_MAP_LANG 4
#define HTML_MAP_NAME 5
#define HTML_MAP_STYLE 6
#define HTML_MAP_TITLE 7
#define HTML_MAP_ATTRIBUTES 8
#define HTML_MATH_BOX 0
#define HTML_MATH_CLASS 1
#define HTML_MATH_CLEAR 2
#define HTML_MATH_DIR 3
#define HTML_MATH_ID 4
#define HTML_MATH_LANG 5
#define HTML_MATH_STYLE 6
#define HTML_MATH_TITLE 7
#define HTML_MATH_ATTRIBUTES 8
#define HTML_META_CONTENT 0
#define HTML_META_HTTP_EQUIV 1 /* For parsing in HTML.c - FM */
#define HTML_META_NAME 2
#define HTML_META_ATTRIBUTES 3
#define NEXTID_N 0
#define HTML_NOTE_CLASS 0
#define HTML_NOTE_CLEAR 1
#define HTML_NOTE_DIR 2
#define HTML_NOTE_ID 3
#define HTML_NOTE_LANG 4
#define HTML_NOTE_MD 5
#define HTML_NOTE_ROLE 6 /* Old name for CLASS - FM */
#define HTML_NOTE_SRC 7
#define HTML_NOTE_STYLE 8
#define HTML_NOTE_TITLE 9
#define HTML_NOTE_ATTRIBUTES 10
#define HTML_OBJECT_ALIGN 0
#define HTML_OBJECT_BORDER 1
#define HTML_OBJECT_CLASS 2
#define HTML_OBJECT_CLASSID 3
#define HTML_OBJECT_CODEBASE 4
#define HTML_OBJECT_CODETYPE 5
#define HTML_OBJECT_DATA 6
#define HTML_OBJECT_DECLARE 7
#define HTML_OBJECT_DIR 8
#define HTML_OBJECT_HEIGHT 9
#define HTML_OBJECT_HSPACE 10
#define HTML_OBJECT_ID 11
#define HTML_OBJECT_ISMAP 12
#define HTML_OBJECT_LANG 13
#define HTML_OBJECT_NAME 14
#define HTML_OBJECT_NOTAB 15
#define HTML_OBJECT_SHAPES 16
#define HTML_OBJECT_STANDBY 17
#define HTML_OBJECT_STYLE 18
#define HTML_OBJECT_TABINDEX 19
#define HTML_OBJECT_TITLE 20
#define HTML_OBJECT_TYPE 21
#define HTML_OBJECT_USEMAP 22
#define HTML_OBJECT_VSPACE 23
#define HTML_OBJECT_WIDTH 24
#define HTML_OBJECT_ATTRIBUTES 25
#define HTML_OL_CLASS 0
#define HTML_OL_CLEAR 1
#define HTML_OL_COMPACT 2
#define HTML_OL_CONTINUE 3
#define HTML_OL_DIR 4
#define HTML_OL_ID 5
#define HTML_OL_LANG 6
#define HTML_OL_SEQNUM 7
#define HTML_OL_START 8
#define HTML_OL_STYLE 9
#define HTML_OL_TITLE 10
#define HTML_OL_TYPE 11
#define HTML_OL_ATTRIBUTES 12
#define HTML_OPTION_CLASS 0
#define HTML_OPTION_CLEAR 1
#define HTML_OPTION_DIR 2
#define HTML_OPTION_DISABLED 3
#define HTML_OPTION_ERROR 4
#define HTML_OPTION_ID 5
#define HTML_OPTION_LANG 6
#define HTML_OPTION_SELECTED 7
#define HTML_OPTION_SHAPE 8
#define HTML_OPTION_STYLE 9
#define HTML_OPTION_TITLE 10
#define HTML_OPTION_VALUE 11
#define HTML_OPTION_ATTRIBUTES 12
#define HTML_OVERLAY_CLASS 0
#define HTML_OVERLAY_HEIGHT 1
#define HTML_OVERLAY_ID 2
#define HTML_OVERLAY_IMAGEMAP 3
#define HTML_OVERLAY_MD 4
#define HTML_OVERLAY_SRC 5
#define HTML_OVERLAY_STYLE 6
#define HTML_OVERLAY_TITLE 7
#define HTML_OVERLAY_UNITS 8
#define HTML_OVERLAY_WIDTH 9
#define HTML_OVERLAY_X 10
#define HTML_OVERLAY_Y 11
#define HTML_OVERLAY_ATTRIBUTES 12
#define HTML_P_ALIGN 0
#define HTML_P_CLASS 1
#define HTML_P_CLEAR 2
#define HTML_P_DIR 3
#define HTML_P_ID 4
#define HTML_P_LANG 5
#define HTML_P_NOWRAP 6
#define HTML_P_STYLE 7
#define HTML_P_TITLE 8
#define HTML_P_ATTRIBUTES 9
#define HTML_PARAM_ACCEPT 0
#define HTML_PARAM_ACCEPT_CHARSET 1
#define HTML_PARAM_ACCEPT_ENCODING 2
#define HTML_PARAM_CLASS 3
#define HTML_PARAM_CLEAR 4
#define HTML_PARAM_DATA 5
#define HTML_PARAM_DIR 6
#define HTML_PARAM_ID 7
#define HTML_PARAM_LANG 8
#define HTML_PARAM_NAME 9
#define HTML_PARAM_OBJECT 10
#define HTML_PARAM_REF 11
#define HTML_PARAM_STYLE 12
#define HTML_PARAM_TITLE 13
#define HTML_PARAM_TYPE 14
#define HTML_PARAM_VALUE 15
#define HTML_PARAM_VALUEREF 16 /* Use VALUETYPE (DATA|REF|OBJECT). - FM */
#define HTML_PARAM_VALUETYPE 17
#define HTML_PARAM_ATTRIBUTES 18
#define HTML_SCRIPT_CLASS 0
#define HTML_SCRIPT_CLEAR 1
#define HTML_SCRIPT_DIR 2
#define HTML_SCRIPT_EVENT 3
#define HTML_SCRIPT_FOR 4
#define HTML_SCRIPT_ID 5
#define HTML_SCRIPT_LANG 6
#define HTML_SCRIPT_LANGUAGE 7
#define HTML_SCRIPT_NAME 8
#define HTML_SCRIPT_SCRIPTENGINE 9
#define HTML_SCRIPT_SRC 10
#define HTML_SCRIPT_STYLE 11
#define HTML_SCRIPT_TITLE 12
#define HTML_SCRIPT_TYPE 13
#define HTML_SCRIPT_ATTRIBUTES 14
#define HTML_SELECT_ALIGN 0
#define HTML_SELECT_CLASS 1
#define HTML_SELECT_CLEAR 2
#define HTML_SELECT_DIR 3
#define HTML_SELECT_DISABLED 4
#define HTML_SELECT_ERROR 5
#define HTML_SELECT_HEIGHT 6
#define HTML_SELECT_ID 7
#define HTML_SELECT_LANG 8
#define HTML_SELECT_MD 9
#define HTML_SELECT_MULTIPLE 10
#define HTML_SELECT_NAME 11
#define HTML_SELECT_NOTAB 12
#define HTML_SELECT_ONBLUR 13
#define HTML_SELECT_ONCHANGE 14
#define HTML_SELECT_ONFOCUS 15
#define HTML_SELECT_SIZE 16
#define HTML_SELECT_STYLE 17
#define HTML_SELECT_TABINDEX 18
#define HTML_SELECT_TITLE 19
#define HTML_SELECT_UNITS 20
#define HTML_SELECT_WIDTH 21
#define HTML_SELECT_ATTRIBUTES 22
#define HTML_STYLE_DIR 0
#define HTML_STYLE_LANG 1
#define HTML_STYLE_NOTATION 2
#define HTML_STYLE_TITLE 3
#define HTML_STYLE_ATTRIBUTES 4
#define HTML_TAB_ALIGN 0
#define HTML_TAB_CLASS 1
#define HTML_TAB_CLEAR 2
#define HTML_TAB_DIR 3
#define HTML_TAB_DP 4
#define HTML_TAB_ID 5
#define HTML_TAB_INDENT 6
#define HTML_TAB_LANG 7
#define HTML_TAB_STYLE 8
#define HTML_TAB_TITLE 9
#define HTML_TAB_TO 10
#define HTML_TAB_ATTRIBUTES 11
#define HTML_TABLE_ALIGN 0
#define HTML_TABLE_BACKGROUND 1
#define HTML_TABLE_BORDER 2
#define HTML_TABLE_CELLPADDING 3
#define HTML_TABLE_CELLSPACING 4
#define HTML_TABLE_CLASS 5
#define HTML_TABLE_CLEAR 6
#define HTML_TABLE_COLS 7
#define HTML_TABLE_COLSPEC 8
#define HTML_TABLE_DIR 9
#define HTML_TABLE_DP 10
#define HTML_TABLE_FRAME 11
#define HTML_TABLE_ID 12
#define HTML_TABLE_LANG 13
#define HTML_TABLE_NOFLOW 14
#define HTML_TABLE_NOWRAP 15
#define HTML_TABLE_RULES 16
#define HTML_TABLE_STYLE 17
#define HTML_TABLE_SUMMARY 18
#define HTML_TABLE_TITLE 19
#define HTML_TABLE_UNITS 20
#define HTML_TABLE_WIDTH 21
#define HTML_TABLE_ATTRIBUTES 22
#define HTML_TD_ALIGN 0
#define HTML_TD_AXES 1
#define HTML_TD_AXIS 2
#define HTML_TD_BACKGROUND 3
#define HTML_TD_CHAR 4
#define HTML_TD_CHAROFF 5
#define HTML_TD_CLASS 6
#define HTML_TD_CLEAR 7
#define HTML_TD_COLSPAN 8
#define HTML_TD_DIR 9
#define HTML_TD_DP 10
#define HTML_TD_HEIGHT 11
#define HTML_TD_ID 12
#define HTML_TD_LANG 13
#define HTML_TD_NOWRAP 14
#define HTML_TD_ROWSPAN 15
#define HTML_TD_STYLE 16
#define HTML_TD_TITLE 17
#define HTML_TD_VALIGN 18
#define HTML_TD_WIDTH 19
#define HTML_TD_ATTRIBUTES 20
#define HTML_TEXTAREA_ACCEPT_CHARSET 0 /* RFC 2070 HTML i18n - kw */
#define HTML_TEXTAREA_ALIGN 1
#define HTML_TEXTAREA_CLASS 2
#define HTML_TEXTAREA_CLEAR 3
#define HTML_TEXTAREA_COLS 4
#define HTML_TEXTAREA_DIR 5
#define HTML_TEXTAREA_DISABLED 6
#define HTML_TEXTAREA_ERROR 7
#define HTML_TEXTAREA_ID 8
#define HTML_TEXTAREA_LANG 9
#define HTML_TEXTAREA_NAME 10
#define HTML_TEXTAREA_NOTAB 11
#define HTML_TEXTAREA_ONBLUR 12
#define HTML_TEXTAREA_ONCHANGE 13
#define HTML_TEXTAREA_ONFOCUS 14
#define HTML_TEXTAREA_ONSELECT 15
#define HTML_TEXTAREA_ROWS 16
#define HTML_TEXTAREA_STYLE 17
#define HTML_TEXTAREA_TABINDEX 18
#define HTML_TEXTAREA_TITLE 19
#define HTML_TEXTAREA_ATTRIBUTES 20
#define HTML_TR_ALIGN 0
#define HTML_TR_CHAR 1
#define HTML_TR_CHAROFF 2
#define HTML_TR_CLASS 3
#define HTML_TR_CLEAR 4
#define HTML_TR_DIR 5
#define HTML_TR_DP 6
#define HTML_TR_ID 7
#define HTML_TR_LANG 8
#define HTML_TR_NOWRAP 9
#define HTML_TR_STYLE 10
#define HTML_TR_TITLE 11
#define HTML_TR_VALIGN 12
#define HTML_TR_ATTRIBUTES 13
#define HTML_UL_CLASS 0
#define HTML_UL_CLEAR 1
#define HTML_UL_COMPACT 2
#define HTML_UL_DINGBAT 3
#define HTML_UL_DIR 4
#define HTML_UL_ID 5
#define HTML_UL_LANG 6
#define HTML_UL_MD 7
#define HTML_UL_PLAIN 8
#define HTML_UL_SRC 9
#define HTML_UL_STYLE 10
#define HTML_UL_TITLE 11
#define HTML_UL_TYPE 12
#define HTML_UL_WRAP 13
#define HTML_UL_ATTRIBUTES 14
#ifdef USE_PRETTYSRC
/* values of HTML attributes' types */
#define HTMLA_NORMAL 0 /* nothing specific */
#define HTMLA_ANAME 1 /* anchor name - 'id' or a's 'name' */
#define HTMLA_HREF 2 /* href */
#define HTMLA_CLASS 4 /* class name. */
#define HTMLA_AUXCLASS 8 /* attribute, the value of which also designates
a class name */
#endif
extern CONST SGML_dtd HTML_dtd;
extern void HTSwitchDTD PARAMS((int new_flag));
extern HTTag HTTag_unrecognized;
extern HTTag HTTag_mixedObject;
/*
Start anchor element
It is kinda convenient to have a particular routine for starting an anchor
element, as everything else for HTML is simple anyway.
ON ENTRY
targetstream points to a structured stream object.
name and href point to attribute strings or are NULL if the attribute is
to be omitted.
*/
extern void HTStartAnchor PARAMS((
HTStructured * targetstream,
CONST char * name,
CONST char * href));
extern void HTStartAnchor5 PARAMS((
HTStructured * targetstream,
CONST char * name,
CONST char * href,
CONST char * linktype,
int tag_charset));
/*
Start IsIndex element - FM
It is kinda convenient to have a particular routine for starting an IsIndex
element with the prompt and/or href (action) attributes specified.
ON ENTRY
targetstream points to a structured stream object.
prompt and href point to attribute strings or are NULL if the attribute is
to be omitted.
*/
extern void HTStartIsIndex PARAMS((
HTStructured * targetstream,
CONST char * prompt,
CONST char * href));
#endif /* HTMLDTD_H */