diff options
Diffstat (limited to 'WWW/Library')
-rw-r--r-- | WWW/Library/Implementation/HTFormat.h | 2 | ||||
-rw-r--r-- | WWW/Library/Implementation/HTMLDTD.c | 1463 | ||||
-rw-r--r-- | WWW/Library/Implementation/HTMLDTD.h | 944 | ||||
-rw-r--r-- | WWW/Library/Implementation/HTPlain.c | 4 | ||||
-rw-r--r-- | WWW/Library/Implementation/HTRules.c | 6 | ||||
-rw-r--r-- | WWW/Library/Implementation/HTTCP.c | 7 | ||||
-rw-r--r-- | WWW/Library/Implementation/HTTP.c | 6 | ||||
-rw-r--r-- | WWW/Library/Implementation/HTUtils.h | 61 | ||||
-rw-r--r-- | WWW/Library/Implementation/SGML.c | 78 | ||||
-rw-r--r-- | WWW/Library/Implementation/dtd_util.c | 318 | ||||
-rw-r--r-- | WWW/Library/Implementation/hdr_HTMLDTD.h | 952 | ||||
-rw-r--r-- | WWW/Library/Implementation/src0_HTMLDTD.h | 1194 | ||||
-rw-r--r-- | WWW/Library/Implementation/src1_HTMLDTD.h | 1194 |
13 files changed, 3721 insertions, 2508 deletions
diff --git a/WWW/Library/Implementation/HTFormat.h b/WWW/Library/Implementation/HTFormat.h index 903462bb..c4bc9587 100644 --- a/WWW/Library/Implementation/HTFormat.h +++ b/WWW/Library/Implementation/HTFormat.h @@ -163,7 +163,7 @@ The HTPresentation and HTConverter types float quality; /* Between 0 (bad) and 1 (good) */ float secs; float secs_per_byte; - long int maxbytes; + off_t maxbytes; BOOL get_accept; /* list in "Accept:" for GET */ int accept_opt; /* matches against LYAcceptMedia */ }; diff --git a/WWW/Library/Implementation/HTMLDTD.c b/WWW/Library/Implementation/HTMLDTD.c index 73467c2c..c2c30d6e 100644 --- a/WWW/Library/Implementation/HTMLDTD.c +++ b/WWW/Library/Implementation/HTMLDTD.c @@ -1,5 +1,5 @@ /* - * $LynxId: HTMLDTD.c,v 1.53 2008/07/05 00:23:48 tom Exp $ + * $LynxId: HTMLDTD.c,v 1.55 2008/07/07 00:04:46 tom Exp $ * * Our Static DTD for HTML * ----------------------- @@ -149,921 +149,6 @@ static const char *entities[] = * Lists must be in alphabetical order by attribute name * The tag elements contain the number of attributes */ -#ifdef USE_PRETTYSRC -# define N HTMLA_NORMAL -# define i HTMLA_ANAME -# define h HTMLA_HREF -# define c HTMLA_CLASS -# define x HTMLA_AUXCLASS -# define T(t) , t -#else -# define T(t) /*nothing */ -#endif -/* *INDENT-OFF* */ -static attr a_attr[] = { /* Anchor attributes */ - { "ACCESSKEY" T(N) }, - { "CHARSET" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "COORDS" T(N) }, - { "DIR" T(N) }, - { "HREF" T(h) }, - { "ID" T(i) }, - { "ISMAP" T(N) }, - { "LANG" T(N) }, - { "MD" T(N) }, - { "NAME" T(i) }, - { "NOTAB" T(N) }, - { "ONCLICK" T(N) }, - { "ONMOUSEOUT" T(N) }, - { "ONMOUSEOVER" T(N) }, - { "REL" T(N) }, - { "REV" T(N) }, - { "SHAPE" T(N) }, - { "STYLE" T(N) }, - { "TABINDEX" T(N) }, - { "TARGET" T(N) }, - { "TITLE" T(N) }, - { "TYPE" T(N) }, - { "URN" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr address_attr[] = { /* ADDRESS attributes */ - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "NOWRAP" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr applet_attr[] = { /* APPLET attributes */ - { "ALIGN" T(N) }, - { "ALT" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "CODE" T(N) }, - { "CODEBASE" T(h) }, - { "DIR" T(N) }, - { "DOWNLOAD" T(N) }, - { "HEIGHT" T(N) }, - { "HSPACE" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "NAME" T(i) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { "VSPACE" T(N) }, - { "WIDTH" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr area_attr[] = { /* AREA attributes */ - { "ALT" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "COORDS" T(N) }, - { "DIR" T(N) }, - { "HREF" T(h) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "NOHREF" T(N) }, - { "NOTAB" T(N) }, - { "ONCLICK" T(N) }, - { "ONMOUSEOUT" T(N) }, - { "ONMOUSEOVER" T(N) }, - { "SHAPE" T(N) }, - { "STYLE" T(N) }, - { "TABINDEX" T(N) }, - { "TARGET" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr base_attr[] = { /* BASE attributes */ - { "HREF" T(h) }, - { "TARGET" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr bgsound_attr[] = { /* BGSOUND attributes */ - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "LOOP" T(N) }, - { "SRC" T(h) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr body_attr[] = { /* BODY attributes */ - { "ALINK" T(N) }, - { "BACKGROUND" T(h) }, - { "BGCOLOR" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "LINK" T(N) }, - { "ONLOAD" T(N) }, - { "ONUNLOAD" T(N) }, - { "STYLE" T(N) }, - { "TEXT" T(N) }, - { "TITLE" T(N) }, - { "VLINK" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr bodytext_attr[] = { /* BODYTEXT attributes */ - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DATA" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "NAME" T(N) }, - { "OBJECT" T(N) }, - { "REF" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { "TYPE" T(N) }, - { "VALUE" T(N) }, - { "VALUETYPE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr bq_attr[] = { /* BQ (BLOCKQUOTE) attributes */ - { "CITE" T(h) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "NOWRAP" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr button_attr[] = { /* BUTTON attributes */ - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "DISABLED" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "NAME" T(N) }, - { "ONBLUR" T(N) }, - { "ONFOCUS" T(N) }, - { "STYLE" T(N) }, - { "TABINDEX" T(N) }, - { "TITLE" T(N) }, - { "TYPE" T(N) }, - { "VALUE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr caption_attr[] = { /* CAPTION attributes */ - { "ACCESSKEY" T(N) }, - { "ALIGN" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr col_attr[] = { /* COL and COLGROUP attributes */ - { "ALIGN" T(N) }, - { "CHAR" T(N) }, - { "CHAROFF" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "SPAN" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { "VALIGN" T(N) }, - { "WIDTH" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr credit_attr[] = { /* CREDIT attributes */ - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr div_attr[] = { /* DIV attributes */ - { "ALIGN" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr embed_attr[] = { /* EMBED attributes */ - { "ALIGN" T(N) }, /* (including, for now, those from FIG and IMG) */ - { "ALT" T(N) }, - { "BORDER" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "HEIGHT" T(N) }, - { "ID" T(i) }, - { "IMAGEMAP" T(N) }, - { "ISMAP" T(N) }, - { "LANG" T(N) }, - { "MD" T(N) }, - { "NAME" T(i) }, - { "NOFLOW" T(N) }, - { "PARAMS" T(N) }, - { "SRC" T(h) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { "UNITS" T(N) }, - { "USEMAP" T(N) }, - { "WIDTH" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr fig_attr[] = { /* FIG attributes */ - { "ALIGN" T(N) }, - { "BORDER" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "HEIGHT" T(N) }, - { "ID" T(i) }, - { "IMAGEMAP" T(N) }, - { "ISOBJECT" T(N) }, - { "LANG" T(N) }, - { "MD" T(N) }, - { "NOFLOW" T(N) }, - { "SRC" T(h) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { "UNITS" T(N) }, - { "WIDTH" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr fieldset_attr[] = { /* FIELDSET attributes */ - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr fn_attr[] = { /* FN attributes */ - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr font_attr[] = { /* FONT attributes */ - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "COLOR" T(N) }, - { "DIR" T(N) }, - { "END" T(N) }, - { "FACE" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "SIZE" T(N) }, - { "STYLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr form_attr[] = { /* FORM attributes */ - { "ACCEPT-CHARSET" T(N) }, /* HTML 4.0 draft - kw */ - { "ACTION" T(h) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "ENCTYPE" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "METHOD" T(N) }, - { "ONSUBMIT" T(N) }, - { "SCRIPT" T(N) }, - { "STYLE" T(N) }, - { "SUBJECT" T(N) }, - { "TARGET" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr frame_attr[] = { /* FRAME attributes */ - { "ID" T(i) }, - { "LONGDESC" T(h) }, - { "MARGINHEIGHT" T(N) }, - { "MARGINWIDTH" T(N) }, - { "NAME" T(N) }, - { "NORESIZE" T(N) }, - { "SCROLLING" T(N) }, - { "SRC" T(h) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr frameset_attr[] = { /* FRAMESET attributes */ - { "COLS" T(N) }, - { "ROWS" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr gen_attr[] = { /* Minimum HTML 3.0 */ - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr dl_attr[] = { /* DL (and DLC) attributes */ - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "COMPACT" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr h_attr[] = { /* H1 - H6 attributes */ - { "ALIGN" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DINGBAT" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "MD" T(N) }, - { "NOWRAP" T(N) }, - { "SEQNUM" T(N) }, - { "SKIP" T(N) }, - { "SRC" T(h) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr hr_attr[] = { /* HR attributes */ - { "ALIGN" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "MD" T(N) }, - { "NOSHADE" T(N) }, - { "SIZE" T(N) }, - { "SRC" T(h) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { "WIDTH" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr iframe_attr[] = { /* IFRAME attributes */ - { "ALIGN" T(N) }, - { "FRAMEBORDER" T(N) }, - { "HEIGHT" T(N) }, - { "ID" T(i) }, - { "LONGDESC" T(h) }, - { "MARGINHEIGHT" T(N) }, - { "MARGINWIDTH" T(N) }, - { "NAME" T(N) }, - { "SCROLLING" T(N) }, - { "SRC" T(h) }, - { "STYLE" T(N) }, - { "WIDTH" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr img_attr[] = { /* IMG attributes */ - { "ALIGN" T(N) }, - { "ALT" T(N) }, - { "BORDER" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "HEIGHT" T(N) }, - { "ID" T(i) }, - { "ISMAP" T(N) }, - { "ISOBJECT" T(N) }, - { "LANG" T(N) }, - { "LONGDESC" T(h) }, - { "MD" T(N) }, - { "SRC" T(h) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { "UNITS" T(N) }, - { "USEMAP" T(h) }, - { "WIDTH" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr input_attr[] = { /* INPUT attributes */ - { "ACCEPT" T(N) }, - { "ACCEPT-CHARSET" T(N) }, /* RFC 2070 HTML i18n - kw */ - { "ALIGN" T(N) }, - { "ALT" T(N) }, - { "CHECKED" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "DISABLED" T(N) }, - { "ERROR" T(N) }, - { "HEIGHT" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "MAX" T(N) }, - { "MAXLENGTH" T(N) }, - { "MD" T(N) }, - { "MIN" T(N) }, - { "NAME" T(N) }, - { "NOTAB" T(N) }, - { "ONBLUR" T(N) }, - { "ONCHANGE" T(N) }, - { "ONCLICK" T(N) }, - { "ONFOCUS" T(N) }, - { "ONSELECT" T(N) }, - { "SIZE" T(N) }, - { "SRC" T(h) }, - { "STYLE" T(N) }, - { "TABINDEX" T(N) }, - { "TITLE" T(N) }, - { "TYPE" T(N) }, - { "VALUE" T(N) }, - { "WIDTH" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr isindex_attr[] = { /* ISINDEX attributes */ - { "ACTION" T(h) }, /* Not in spec. Lynx treats it as HREF. - FM */ - { "DIR" T(N) }, - { "HREF" T(h) }, /* HTML 3.0 attribute for search action. - FM */ - { "ID" T(i) }, - { "LANG" T(N) }, - { "PROMPT" T(N) }, /* HTML 3.0 attribute for prompt string. - FM */ - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr keygen_attr[] = { /* KEYGEN attributes */ - { "CHALLENGE" T(N) }, - { "CLASS" T(c) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "NAME" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr label_attr[] = { /* LABEL attributes */ - { "ACCESSKEY" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "FOR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "ONCLICK" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr legend_attr[] = { /* LEGEND attributes */ - { "ACCESSKEY" T(N) }, - { "ALIGN" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr link_attr[] = { /* LINK attributes */ - { "CHARSET" T(N) }, /* RFC 2070 HTML i18n -- hint for UA -- - kw */ - { "CLASS" T(c) }, - { "HREF" T(h) }, - { "ID" T(i) }, - { "MEDIA" T(N) }, - { "REL" T(N) }, - { "REV" T(N) }, - { "STYLE" T(N) }, - { "TARGET" T(N) }, - { "TITLE" T(N) }, - { "TYPE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr li_attr[] = { /* LI attributes */ - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DINGBAT" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "MD" T(N) }, - { "SKIP" T(N) }, - { "SRC" T(h) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { "TYPE" T(N) }, - { "VALUE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr map_attr[] = { /* MAP attributes */ - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "NAME" T(i) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr math_attr[] = { /* MATH attributes */ - { "BOX" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr meta_attr[] = { /* META attributes */ - { "CONTENT" T(N) }, - { "HTTP-EQUIV" T(N) }, - { "NAME" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr nextid_attr[] = { /* NEXTID attributes */ - { "N" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr note_attr[] = { /* NOTE attributes */ - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "MD" T(N) }, - { "ROLE" T(x) }, - { "SRC" T(h) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr object_attr[] = { /* OBJECT attributes */ - { "ALIGN" T(N) }, - { "BORDER" T(N) }, - { "CLASS" T(c) }, - { "CLASSID" T(h) }, - { "CODEBASE" T(h) }, - { "CODETYPE" T(N) }, - { "DATA" T(h) }, - { "DECLARE" T(N) }, - { "DIR" T(N) }, - { "HEIGHT" T(N) }, - { "HSPACE" T(N) }, - { "ID" T(i) }, - { "ISMAP" T(N) }, - { "LANG" T(N) }, - { "NAME" T(N) }, - { "NOTAB" T(N) }, - { "SHAPES" T(N) }, - { "STANDBY" T(N) }, - { "STYLE" T(N) }, - { "TABINDEX" T(N) }, - { "TITLE" T(N) }, - { "TYPE" T(N) }, - { "USEMAP" T(h) }, - { "VSPACE" T(N) }, - { "WIDTH" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr ol_attr[] = { /* OL attributes */ - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "COMPACT" T(N) }, - { "CONTINUE" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "SEQNUM" T(N) }, - { "START" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { "TYPE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr option_attr[] = { /* OPTION attributes */ - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "DISABLED" T(N) }, - { "ERROR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "SELECTED" T(N) }, - { "SHAPE" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { "VALUE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr overlay_attr[] = { /* OVERLAY attributes */ - { "CLASS" T(c) }, - { "HEIGHT" T(N) }, - { "ID" T(i) }, - { "IMAGEMAP" T(N) }, - { "MD" T(N) }, - { "SRC" T(h) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { "UNITS" T(N) }, - { "WIDTH" T(N) }, - { "X" T(N) }, - { "Y" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr p_attr[] = { /* P attributes */ - { "ALIGN" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "NOWRAP" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr param_attr[] = { /* PARAM attributes */ - { "ACCEPT" T(N) }, - { "ACCEPT-CHARSET" T(N) }, - { "ACCEPT-ENCODING" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DATA" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "NAME" T(N) }, - { "OBJECT" T(N) }, - { "REF" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { "TYPE" T(N) }, - { "VALUE" T(N) }, - { "VALUEREF" T(N) }, - { "VALUETYPE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr script_attr[] = { /* SCRIPT attributes */ - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "EVENT" T(N) }, - { "FOR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "LANGUAGE" T(N) }, - { "NAME" T(N) }, - { "SCRIPTENGINE" T(N) }, - { "SRC" T(h) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { "TYPE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr select_attr[] = { /* SELECT attributes */ - { "ALIGN" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "DISABLED" T(N) }, - { "ERROR" T(N) }, - { "HEIGHT" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "MD" T(N) }, - { "MULTIPLE" T(N) }, - { "NAME" T(N) }, - { "NOTAB" T(N) }, - { "ONBLUR" T(N) }, - { "ONCHANGE" T(N) }, - { "ONFOCUS" T(N) }, - { "SIZE" T(N) }, - { "STYLE" T(N) }, - { "TABINDEX" T(N) }, - { "TITLE" T(N) }, - { "UNITS" T(N) }, - { "WIDTH" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr style_attr[] = { /* STYLE attributes */ - { "DIR" T(N) }, - { "LANG" T(N) }, - { "NOTATION" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr tab_attr[] = { /* TAB attributes */ - { "ALIGN" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "DP" T(N) }, - { "ID" T(i) }, - { "INDENT" T(N) }, - { "LANG" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { "TO" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr table_attr[] = { /* TABLE attributes */ - { "ALIGN" T(N) }, - { "BACKGROUND" T(h) }, - { "BORDER" T(N) }, - { "CELLPADDING" T(N) }, - { "CELLSPACING" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "COLS" T(N) }, - { "COLSPEC" T(N) }, - { "DIR" T(N) }, - { "DP" T(N) }, - { "FRAME" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "NOFLOW" T(N) }, - { "NOWRAP" T(N) }, - { "RULES" T(N) }, - { "STYLE" T(N) }, - { "SUMMARY" T(N) }, - { "TITLE" T(N) }, - { "UNITS" T(N) }, - { "WIDTH" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr td_attr[] = { /* TD and TH attributes */ - { "ALIGN" T(N) }, - { "AXES" T(N) }, - { "AXIS" T(N) }, - { "BACKGROUND" T(h) }, - { "CHAR" T(N) }, - { "CHAROFF" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "COLSPAN" T(N) }, - { "DIR" T(N) }, - { "DP" T(N) }, - { "HEIGHT" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "NOWRAP" T(N) }, - { "ROWSPAN" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { "VALIGN" T(N) }, - { "WIDTH" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr textarea_attr[] = { /* TEXTAREA attributes */ - { "ACCEPT-CHARSET" T(N) }, /* RFC 2070 HTML i18n - kw */ - { "ALIGN" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "COLS" T(N) }, - { "DIR" T(N) }, - { "DISABLED" T(N) }, - { "ERROR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "NAME" T(N) }, - { "NOTAB" T(N) }, - { "ONBLUR" T(N) }, - { "ONCHANGE" T(N) }, - { "ONFOCUS" T(N) }, - { "ONSELECT" T(N) }, - { "ROWS" T(N) }, - { "STYLE" T(N) }, - { "TABINDEX" T(N) }, - { "TITLE" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr tr_attr[] = { /* TR, THEAD, TFOOT, and TBODY attributes */ - { "ALIGN" T(N) }, - { "CHAR" T(N) }, - { "CHAROFF" T(N) }, - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "DIR" T(N) }, - { "DP" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "NOWRAP" T(N) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { "VALIGN" T(N) }, - { 0 T(N) } /* Terminate list */ -}; - -static attr ul_attr[] = { /* UL attributes */ - { "CLASS" T(c) }, - { "CLEAR" T(N) }, - { "COMPACT" T(N) }, - { "DINGBAT" T(N) }, - { "DIR" T(N) }, - { "ID" T(i) }, - { "LANG" T(N) }, - { "MD" T(N) }, - { "PLAIN" T(N) }, - { "SRC" T(h) }, - { "STYLE" T(N) }, - { "TITLE" T(N) }, - { "TYPE" T(N) }, - { "WRAP" T(N) }, - { 0 T(N) } /* Terminate list */ -}; -/* *INDENT-ON* */ - -#undef N -#undef i -#undef h -#undef c -#undef x - -#undef T /* From Peter Flynn's intro to the HTML Pro DTD: @@ -1104,259 +189,6 @@ static attr ul_attr[] = { /* UL attributes */ %formula; */ -/* Extra element info - * ------------------ - * - * Order and number of tags should match the tags_* tables - * further below and definitions in HTMLDTD.html. - * - * The interspersed comments give the original Lynx tags[] entries - * for orientation, so they do not necessarily reflect what will - * be used with the T_* info (which is in tags_new[]). - * - * An important design goal was that info for each tag should fit on - * one 80 character screen line :). The price to pay is that it's - * a bit cryptic, to say the least... - kw - */ -/* 1 2 3 4 5 6 7 8 */ -/*345678901234567890123456789012345678901234567890123456789012345678901234567890 */ -/* *INDENT-OFF* */ -/* self contain icont'n contn'd icont'd canclos flags*/ - /* { "A" , a_attr, HTML_A_ATTRIBUTES, SGML_MIXED }, */ -#define T_A 0x0008, 0x0B007,0x0FF17,0x37787,0x77BA7,0x8604F,0x00014 - /* { "ABBR" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_ABBR 0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00003,0x00000 - /* { "ACRONYM" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_ACRONYM 0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00003,0x00000 - /* { "ADDRESS" , address_attr, HTML_ADDRESS_ATTRIBUTES, SGML_MIXED }, */ -#define T_ADDRESS 0x0200, 0x0F14F,0x8FFFF,0x36680,0xB6FAF,0x80317,0x00000 - /* { "APPLET" , applet_attr, HTML_APPLET_ATTRIBUTES, SGML_MIXED }, */ -#define T_APPLET 0x2000, 0x0B0CF,0x8FFFF,0x37F9F,0xB7FBF,0x8300F,0x00000 - /* { "AREA" , area_attr, HTML_AREA_ATTRIBUTES, SGML_EMPTY }, */ -#define T_AREA 0x8000, 0x00000,0x00000,0x08000,0x3FFFF,0x00F1F,0x00001 - /* { "AU" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_AU 0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00003,0x00000 - /* { "AUTHOR" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_AUTHOR 0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00003,0x00000 - /* { "B" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_B 0x0001, 0x8B04F,0xAFFFF,0xA778F,0xF7FBF,0x00001,0x00014 - /* { "BANNER" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_BANNER 0x0200, 0x0FB8F,0x0FFFF,0x30000,0x30000,0x8031F,0x00000 - /* { "BASE" , base_attr, HTML_BASE_ATTRIBUTES, SGML_EMPTY }, */ -#define T_BASE 0x40000,0x00000,0x00000,0x50000,0x50000,0x8000F,0x00001 - /* { "BASEFONT", font_attr, HTML_FONT_ATTRIBUTES, SGML_EMPTY }, */ -#define T_BASEFONT 0x1000, 0x00000,0x00000,0x377AF,0x37FAF,0x8F000,0x00001 - /* { "BDO" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_BDO 0x0100, 0x0B04F,0x8FFFF,0x36680,0xB6FAF,0x0033F,0x00000 - /* { "BGSOUND" , bgsound_attr, HTML_BGSOUND_ATTRIBUTES, SGML_EMPTY }, */ -#define T_BGSOUND 0x1000, 0x00000,0x00000,0x777AF,0x77FAF,0x8730F,0x00001 - /* { "BIG" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_BIG 0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00014 - /* { "BLINK" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_BLINK 0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FAF,0x00001,0x00014 - /* { "BLOCKQUOTE", bq_attr, HTML_BQ_ATTRIBUTES, SGML_MIXED }, */ -#define T_BLOCKQUOTE 0x0200, 0xAFBCF,0xAFFFF,0xB6680,0xB6FAF,0x8031F,0x00000 - /* { "BODY" , body_attr, HTML_BODY_ATTRIBUTES, SGML_MIXED }, */ -#define T_BODY 0x20000,0x2FB8F,0x2FFFF,0x30000,0x30000,0xDFF7F,0x00003 - /* { "BODYTEXT", bodytext_attr,HTML_BODYTEXT_ATTRIBUTES, SGML_MIXED }, */ -#define T_BODYTEXT 0x20000,0x0FB8F,0xAFFFF,0x30200,0xB7FAF,0x8F17F,0x00003 - /* { "BQ" , bq_attr, HTML_BQ_ATTRIBUTES, SGML_MIXED }, */ -#define T_BQ 0x0200, 0xAFBCF,0xAFFFF,0xB6680,0xB6FAF,0x8031F,0x00000 - /* { "BR" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY }, */ -#define T_BR 0x1000, 0x00000,0x00000,0x377BF,0x77FBF,0x8101F,0x00001 -#define T_BUTTON 0x2000, 0x0BB07,0x0FF37,0x0378F,0x37FBF,0x8135F,0x00000 - /* { "CAPTION" , caption_attr, HTML_CAPTION_ATTRIBUTES, SGML_MIXED }, */ -#define T_CAPTION 0x0100, 0x0B04F,0x8FFFF,0x06A00,0xB6FA7,0x8035F,0x00000 - /* { "CENTER" , div_attr, HTML_DIV_ATTRIBUTES, SGML_MIXED }, */ -#define T_CENTER 0x0200, 0x8FBCF,0x8FFFF,0xB6680,0xB6FA7,0x8071F,0x00000 - /* { "CITE" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_CITE 0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00002,0x00010 - /* { "CODE" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_CODE 0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00002,0x00000 - /* { "COL" , col_attr, HTML_COL_ATTRIBUTES, SGML_EMPTY }, */ -#define T_COL 0x4000, 0x00000,0x00000,0x00820,0x36FA7,0x88F5F,0x00001 - /* { "COLGROUP", col_attr, HTML_COL_ATTRIBUTES, SGML_EMPTY }, */ -#define T_COLGROUP 0x0020, 0x04000,0x04000,0x00800,0x36FA7,0x8875F,0x00001 - /* { "COMMENT" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_COMMENT 0x0004, 0x00000,0x00000,0xA77AF,0x7FFFF,0x00003,0x00000 - /* { "CREDIT" , credit_attr, HTML_CREDIT_ATTRIBUTES, SGML_MIXED }, */ -#define T_CREDIT 0x0100, 0x0B04F,0x8FFFF,0x06A00,0xB7FBF,0x8030F,0x00000 - /* { "DD" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY }, */ -#define T_DD 0x0400, 0x0FBCF,0x8FFFF,0x00800,0xB6FFF,0x8071F,0x00001 - /* { "DEL" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_DEL 0x0002, 0x8BBCF,0x8FFFF,0xA7F8F,0xF7FBF,0x00003,0x00000 - /* { "DFN" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_DFN 0x0002, 0x8B0CF,0x8FFFF,0x8778F,0xF7FBF,0x00003,0x00000 - /* { "DIR" , ul_attr, HTML_UL_ATTRIBUTES, SGML_MIXED }, */ -#define T_DIR 0x0800, 0x0B400,0x0F75F,0x37680,0x36FB7,0x84F7F,0x00000 - /* { "DIV" , div_attr, HTML_DIV_ATTRIBUTES, SGML_MIXED }, */ -#define T_DIV 0x0200, 0x8FB8F,0x8FFFF,0xB66A0,0xB7FFF,0x8031F,0x00004 - /* { "DL" , dl_attr, HTML_DL_ATTRIBUTES, SGML_MIXED }, */ -#define T_DL 0x0800, 0x0C480,0x8FFFF,0x36680,0xB7FB7,0x0075F,0x00000 - /* { "DLC" , dl_attr, HTML_DL_ATTRIBUTES, SGML_MIXED }, */ -#define T_DLC 0x0800, 0x0C480,0x8FFFF,0x36680,0xB7FB7,0x0075F,0x00000 - /* { "DT" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY }, */ -#define T_DT 0x0400, 0x0B04F,0x0B1FF,0x00800,0x17FFF,0x8071F,0x00001 - /* { "EM" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_EM 0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FAF,0x00003,0x00010 - /* { "EMBED" , embed_attr, HTML_EMBED_ATTRIBUTES, SGML_EMPTY }, */ -#define T_EMBED 0x2000, 0x8F107,0x8FFF7,0xB6FBF,0xB7FBF,0x1FF7F,0x00001 - /* { "FIELDSET", fieldset_attr,HTML_FIELDSET_ATTRIBUTES, SGML_MIXED }, */ -#define T_FIELDSET 0x0200, 0x8FB4F,0x8FF7F,0x86787,0xB7FF7,0x8805F,0x00000 - /* { "FIG" , fig_attr, HTML_FIG_ATTRIBUTES, SGML_MIXED }, */ -#define T_FIG 0x0200, 0x0FB00,0x8FFFF,0x36680,0xB6FBF,0x8834F,0x00000 - /* { "FN" , fn_attr, HTML_FN_ATTRIBUTES, SGML_MIXED }, */ -#define T_FN 0x0200, 0x8FBCF,0x8FFFF,0xB6680,0xB7EBF,0x8114F,0x00000 - /* { "FONT" , font_attr, HTML_FONT_ATTRIBUTES, SGML_EMPTY }, */ -#define T_FONT 0x0001, 0x8B04F,0x8FFFF,0xB778F,0xF7FBF,0x00001,0x00014 - /* { "FORM" , form_attr, HTML_FORM_ATTRIBUTES, SGML_EMPTY }, */ -#define T_FORM 0x0080, 0x0FF6F,0x0FF7F,0x36E07,0x32F07,0x88DFF,0x00000 - /* { "FRAME" , frame_attr, HTML_FRAME_ATTRIBUTES, SGML_EMPTY }, */ -#define T_FRAME 0x10000,0x00000,0x00000,0x10000,0x10000,0x9FFFF,0x00001 - /* { "FRAMESET", frameset_attr,HTML_FRAMESET_ATTRIBUTES, SGML_MIXED }, */ -#define T_FRAMESET 0x10000,0x90000,0x90000,0x90000,0x93000,0x9FFFF,0x00000 - /* { "H1" , h_attr, HTML_H_ATTRIBUTES, SGML_MIXED }, */ -#define T_H1 0x0100, 0x0B04F,0x0B05F,0x36680,0x37FAF,0x80117,0x00000 - /* { "H2" , h_attr, HTML_H_ATTRIBUTES, SGML_MIXED }, */ -#define T_H2 0x0100, 0x0B04F,0x0B05F,0x36680,0x37FAF,0x80117,0x00000 - /* { "H3" , h_attr, HTML_H_ATTRIBUTES, SGML_MIXED }, */ -#define T_H3 0x0100, 0x0B04F,0x0B05F,0x36680,0x37FAF,0x80117,0x00000 - /* { "H4" , h_attr, HTML_H_ATTRIBUTES, SGML_MIXED }, */ -#define T_H4 0x0100, 0x0B04F,0x0B05F,0x36680,0x37FAF,0x80117,0x00000 - /* { "H5" , h_attr, HTML_H_ATTRIBUTES, SGML_MIXED }, */ -#define T_H5 0x0100, 0x0B04F,0x0B05F,0x36680,0x37FAF,0x80117,0x00000 - /* { "H6" , h_attr, HTML_H_ATTRIBUTES, SGML_MIXED }, */ -#define T_H6 0x0100, 0x0B04F,0x0B05F,0x36680,0x37FAF,0x80117,0x00000 - /* { "HEAD" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_HEAD 0x40000,0x4F000,0x47000,0x10000,0x10000,0x9FF7F,0x00007 - /* { "HR" , hr_attr, HTML_HR_ATTRIBUTES, SGML_EMPTY }, */ -#define T_HR 0x4000, 0x00000,0x00000,0x3FE80,0x3FFBF,0x87F37,0x00001 - /* { "HTML" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_HTML 0x10000,0x7FB8F,0x7FFFF,0x00000,0x00000,0x1FFFF,0x00003 -#define T_HY 0x1000, 0x00000,0x00000,0x3779F,0x77FBF,0x8101F,0x00001 - /* { "I" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_I 0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00014 -#define T_IFRAME 0x2000, 0x8FBCF,0x8FFFF,0xB679F,0xB6FBF,0xD335F,0x00000 - /* { "IMG" , img_attr, HTML_IMG_ATTRIBUTES, SGML_EMPTY }, */ -#define T_IMG 0x1000, 0x00000,0x00000,0x3779F,0x37FBF,0x80000,0x00001 - /* { "INPUT" , input_attr, HTML_INPUT_ATTRIBUTES, SGML_EMPTY }, */ -#define T_INPUT 0x0040, 0x00000,0x00000,0x03F87,0x37F87,0x8904F,0x00001 - /* { "INS" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_INS 0x0002, 0x8BBCF,0x8FFFF,0xA7F8F,0xF7FBF,0x00003,0x00000 - /* { "ISINDEX" , isindex_attr, HTML_ISINDEX_ATTRIBUTES,SGML_EMPTY }, */ -#define T_ISINDEX 0x8000, 0x00000,0x00000,0x7778F,0x7FFAF,0x80007,0x00001 - /* { "KBD" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_KBD 0x0002, 0x00000,0x00000,0x2778F,0x77FBF,0x00003,0x00000 - /* { "KEYGEN" , keygen_attr, HTML_KEYGEN_ATTRIBUTES, SGML_EMPTY }, */ -#define T_KEYGEN 0x0040, 0x00000,0x00000,0x07FB7,0x37FB7,0x80070,0x00001 - /* { "LABEL" , label_attr, HTML_LABEL_ATTRIBUTES, SGML_MIXED }, */ -#define T_LABEL 0x0002, 0x0304F,0x0FFFF,0x0679F,0x36FBF,0x00007,0x00000 -#define T_LEGEND 0x0002, 0x0B04F,0x8FF7F,0x00200,0xB7FA7,0x00003,0x00000 - /* { "LH" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY }, */ -#define T_LH 0x0400, 0x0BB7F,0x8FFFF,0x00800,0x97FFF,0x8071F,0x00001 - /* { "LI" , li_attr, HTML_LI_ATTRIBUTES, SGML_EMPTY }, */ -#define T_LI 0x0400, 0x0BBFF,0x8FFFF,0x00800,0x97FFF,0x8071F,0x00001 - /* { "LINK" , link_attr, HTML_LINK_ATTRIBUTES, SGML_EMPTY }, */ -#define T_LINK 0x8000, 0x00000,0x00000,0x50000,0x50000,0x0FF7F,0x00001 - /* { "LISTING" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_LITTERAL }, */ -#define T_LISTING 0x0800, 0x00000,0x00000,0x36600,0x36F00,0x80F1F,0x00000 - /* { "MAP" , map_attr, HTML_MAP_ATTRIBUTES, SGML_MIXED }, */ -#define T_MAP 0x8000, 0x08000,0x08000,0x37FCF,0x37FBF,0x0071F,0x00000 - /* { "MARQUEE" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_MARQUEE 0x4000, 0x0000F,0x8F01F,0x37787,0xB7FA7,0x8301C,0x00000 - /* { "MATH" , math_attr, HTML_MATH_ATTRIBUTES, SGML_LITTERAL }, */ -#define T_MATH 0x0004, 0x0B05F,0x8FFFF,0x2778F,0xF7FBF,0x0001F,0x00000 - /* { "MENU" , ul_attr, HTML_UL_ATTRIBUTES, SGML_MIXED }, */ -#define T_MENU 0x0800, 0x0B400,0x0F75F,0x17680,0x36FB7,0x88F7F,0x00000 - /* { "META" , meta_attr, HTML_META_ATTRIBUTES, SGML_EMPTY }, */ -#define T_META 0x8000, 0x00000,0x00000,0x50000,0x50000,0x0FF7F,0x00001 - /* { "NEXTID" , nextid_attr, 1, SGML_EMPTY }, */ -#define T_NEXTID 0x1000, 0x00000,0x00000,0x50000,0x1FFF7,0x00001,0x00001 - /* { "NOFRAMES", gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_NOFRAMES 0x20000,0x2FB8F,0x0FFFF,0x17000,0x17000,0x0CF5F,0x00000 - /* { "NOTE" , note_attr, HTML_NOTE_ATTRIBUTES, SGML_MIXED }, */ -#define T_NOTE 0x0200, 0x0BBAF,0x8FFFF,0x376B0,0xB7FFF,0x8031F,0x00000 - /* { "OBJECT" , object_attr, HTML_OBJECT_ATTRIBUTES, SGML_LITTERAL }, */ -#define T_OBJECT 0x2000, 0x8FBCF,0x8FFFF,0xB679F,0xB6FBF,0x83F5F,0x00020 -#define T_OBJECT_PCDATA 0x2000, 0x8FBCF,0x8FFFF,0xB679F,0xB6FBF,0x83F5F,0x00008 - /* { "OL" , ol_attr, HTML_OL_ATTRIBUTES, SGML_MIXED }, */ -#define T_OL 0x0800, 0x0C400,0x8FFFF,0x37680,0xB7FB7,0x88F7F,0x00000 - /* { "OPTION" , option_attr, HTML_OPTION_ATTRIBUTES, SGML_EMPTY }, */ -#define T_OPTION 0x8000, 0x00000,0x00000,0x00040,0x37FFF,0x8031F,0x00001 - /* { "OVERLAY" , overlay_attr, HTML_OVERLAY_ATTRIBUTES, SGML_EMPTY }, */ -#define T_OVERLAY 0x4000, 0x00000,0x00000,0x00200,0x37FBF,0x83F7F,0x00001 - /* { "P" , p_attr, HTML_P_ATTRIBUTES, SGML_EMPTY }, */ -#define T_P 0x0100, 0x0B04F,0x8FFFF,0x36680,0xB6FA7,0x80117,0x00001 - /* { "PARAM" , param_attr, HTML_PARAM_ATTRIBUTES, SGML_EMPTY }, */ -#define T_PARAM 0x1000, 0x00000,0x00000,0x33500,0x37FFF,0x81560,0x00001 - /* { "PLAINTEXT", gen_attr, HTML_GEN_ATTRIBUTES, SGML_LITTERAL }, */ -#define T_PLAINTEXT 0x10000,0xFFFFF,0xFFFFF,0x90000,0x90000,0x3FFFF,0x00001 - /* { "PRE" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_PRE 0x0200, 0x0F04F,0x0F05E,0x36680,0x36FF0,0x8071E,0x00000 - /* { "Q" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_Q 0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FAF,0x00003,0x00000 - /* { "S" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_S 0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00000 - /* { "SAMP" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_SAMP 0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00002,0x00010 - /* { "SCRIPT" , script_attr, HTML_SCRIPT_ATTRIBUTES, SGML_LITTERAL }, */ -#define T_SCRIPT 0x2000, 0x00000,0x00000,0x77F9F,0x77FFF,0x87F5F,0x00000 - /* { "SELECT" , select_attr, HTML_SELECT_ATTRIBUTES, SGML_MIXED }, */ -#define T_SELECT 0x0040, 0x08000,0x08000,0x03FAF,0x33FBF,0x80F5F,0x00008 -#define T_SHY 0x1000, 0x00000,0x00000,0x3779F,0x77FBF,0x8101F,0x00001 - /* { "SMALL" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_SMALL 0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00014 - /* { "SPAN" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_SPAN 0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x80003,0x00000 - /* { "SPOT" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY }, */ -#define T_SPOT 0x0008, 0x00000,0x00000,0x3FFF7,0x3FFF7,0x00008,0x00001 - /* { "STRIKE" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_STRIKE 0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00000 - /* { "STRONG" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_STRONG 0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FAF,0x00003,0x00010 - /* { "STYLE" , style_attr, HTML_STYLE_ATTRIBUTES, SGML_LITTERAL }, */ -#define T_STYLE 0x40000,0x00000,0x00000,0x7638F,0x76FAF,0x8001F,0x00000 - /* { "SUB" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_SUB 0x0004, 0x8B05F,0x8FFFF,0x8779F,0xF7FBF,0x00007,0x00000 - /* { "SUP" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_SUP 0x0004, 0x8B05F,0x8FFFF,0x8779F,0xF7FBF,0x00007,0x00000 - /* { "TAB" , tab_attr, HTML_TAB_ATTRIBUTES, SGML_EMPTY }, */ -#define T_TAB 0x1000, 0x00000,0x00000,0x3778F,0x57FAF,0x00001,0x00001 - /* { "TABLE" , table_attr, HTML_TABLE_ATTRIBUTES, SGML_MIXED }, */ -#define T_TABLE 0x0800, 0x0F1E0,0x8FFFF,0x36680,0xB6FA7,0x8C57F,0x00000 - /* { "TBODY" , tr_attr, HTML_TR_ATTRIBUTES, SGML_EMPTY }, */ -#define T_TBODY 0x0020, 0x00020,0x8FFFF,0x00880,0xB7FB7,0x8C75F,0x00003 - /* { "TD" , td_attr, HTML_TD_ATTRIBUTES, SGML_EMPTY }, */ -#define T_TD 0x0400, 0x0FBCF,0x8FFFF,0x00020,0xB7FB7,0x8C75F,0x00001 - /* { "TEXTAREA", textarea_attr,HTML_TEXTAREA_ATTRIBUTES, SGML_LITTERAL }, */ -#define T_TEXTAREA 0x0040, 0x00000,0x00000,0x07F8F,0x33FBF,0x80F5F,0x00040 - /* { "TEXTFLOW", bodytext_attr,HTML_BODYTEXT_ATTRIBUTES, SGML_MIXED }, */ -#define T_TEXTFLOW 0x20000,0x8FBFF,0x9FFFF,0x977B0,0xB7FB7,0x9B00F,0x00003 - /* { "TFOOT" , tr_attr, HTML_TR_ATTRIBUTES, SGML_EMPTY }, */ -#define T_TFOOT 0x0020, 0x00020,0x8FFFF,0x00800,0xB7FB7,0x8CF5F,0x00001 - /* { "TH" , td_attr, HTML_TD_ATTRIBUTES, SGML_EMPTY }, */ -#define T_TH 0x0400, 0x0FBCF,0x0FFFF,0x00020,0xB7FB7,0x8CF5F,0x00001 - /* { "THEAD" , tr_attr, HTML_TR_ATTRIBUTES, SGML_EMPTY }, */ -#define T_THEAD 0x0020, 0x00020,0x8FFFF,0x00800,0xB7FB7,0x8CF5F,0x00001 - /* { "TITLE", gen_attr, HTML_GEN_ATTRIBUTES, SGML_RCDATA }, */ -#define T_TITLE 0x40000,0x00000,0x00000,0x50000,0x50000,0x0031F,0x0000C - /* { "TR" , tr_attr, HTML_TR_ATTRIBUTES, SGML_EMPTY }, */ -#define T_TR 0x0020, 0x00400,0x8FFFF,0x00820,0xB7FB7,0x8C75F,0x00001 - /* { "TT" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_TT 0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00010 - /* { "U" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_U 0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00014 - /* { "UL" , ul_attr, HTML_UL_ATTRIBUTES, SGML_MIXED }, */ -#define T_UL 0x0800, 0x0C480,0x8FFFF,0x36680,0xB7FFF,0x8075F,0x00000 - /* { "VAR" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED }, */ -#define T_VAR 0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00000 -#define T_WBR 0x0001, 0x00000,0x00000,0x3778F,0x77FBF,0x8101F,0x00001 - /* { "XMP" , gen_attr, HTML_GEN_ATTRIBUTES, SGML_LITTERAL }, */ -#define T_XMP 0x0800, 0x00000,0x00000,0x367E0,0x36FFF,0x0875F,0x00001 - -#define T__UNREC_ 0x0000, 0x00000,0x00000,0x00000,0x00000,0x00000,0x00000 -/* *INDENT-ON* */ - /* Elements * -------- * @@ -1365,288 +197,17 @@ static attr ul_attr[] = { /* UL attributes */ * * The T_* extra info is listed here, even though most fields are not used * in SGML.c if Old_DTD is set (with the exception of some Tgf_* flags). - * This simplifies comparison of the tags_old[] table (otherwise unchanged - * from original Lynx treatment) with the tags_new[] table below. - kw + * This simplifies comparison of the tags_table0[] table (otherwise unchanged + * from original Lynx treatment) with the tags_table1[] table below. - kw * * Name*, Attributes, No. of attributes, content, extra info... */ -#undef P -#undef P_ -#ifdef USE_COLOR_STYLE -#define P_(x) x , (sizeof x) -1 -#define NULL_HTTag_ NULL, 0 -#else -#define P_(x) x -#define NULL_HTTag_ NULL -#endif - -#ifdef EXP_JUSTIFY_ELTS -#define P(x) P_(x), 1 -#define P0(x) P_(x), 0 -#define NULL_HTTag NULL_HTTag_,0 -#else -#define P(x) P_(x) -#define P0(x) P_(x) -#define NULL_HTTag NULL_HTTag_ -#endif -/* *INDENT-OFF* */ -static const HTTag tags_old[HTML_ALL_ELEMENTS] = { - { P("A") , a_attr, HTML_A_ATTRIBUTES, SGML_EMPTY,T_A}, - { P("ABBR") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_ABBR}, - { P("ACRONYM") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_ACRONYM}, - { P("ADDRESS") , address_attr, HTML_ADDRESS_ATTRIBUTES, SGML_MIXED,T_ADDRESS}, - { P("APPLET") , applet_attr, HTML_APPLET_ATTRIBUTES, SGML_MIXED,T_APPLET}, - { P("AREA") , area_attr, HTML_AREA_ATTRIBUTES, SGML_EMPTY,T_AREA}, - { P("AU") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_AU}, - { P("AUTHOR") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_AUTHOR}, - { P("B") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_B}, - { P0("BANNER") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_BANNER}, - { P("BASE") , base_attr, HTML_BASE_ATTRIBUTES, SGML_EMPTY,T_BASE}, - { P("BASEFONT"), font_attr, HTML_FONT_ATTRIBUTES, SGML_EMPTY,T_BASEFONT}, - { P("BDO") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_BDO}, - { P("BGSOUND") , bgsound_attr, HTML_BGSOUND_ATTRIBUTES, SGML_EMPTY,T_BGSOUND}, - { P("BIG") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_BIG}, - { P("BLINK") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_BLINK}, - { P("BLOCKQUOTE"), bq_attr, HTML_BQ_ATTRIBUTES, SGML_MIXED,T_BLOCKQUOTE}, - { P("BODY") , body_attr, HTML_BODY_ATTRIBUTES, SGML_MIXED,T_BODY}, - { P("BODYTEXT"), bodytext_attr,HTML_BODYTEXT_ATTRIBUTES, SGML_MIXED,T_BODYTEXT}, - { P("BQ") , bq_attr, HTML_BQ_ATTRIBUTES, SGML_MIXED,T_BQ}, - { P("BR") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_BR}, - { P("BUTTON") , button_attr, HTML_BUTTON_ATTRIBUTES, SGML_MIXED,T_BUTTON}, - { P("CAPTION") , caption_attr, HTML_CAPTION_ATTRIBUTES, SGML_MIXED,T_CAPTION}, - { P("CENTER") , div_attr, HTML_DIV_ATTRIBUTES, SGML_MIXED,T_CENTER}, - { P("CITE") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_CITE}, - { P("CODE") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_CODE}, - { P("COL") , col_attr, HTML_COL_ATTRIBUTES, SGML_EMPTY,T_COL}, - { P("COLGROUP"), col_attr, HTML_COL_ATTRIBUTES, SGML_EMPTY,T_COLGROUP}, - { P("COMMENT") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_COMMENT}, - { P("CREDIT") , credit_attr, HTML_CREDIT_ATTRIBUTES, SGML_MIXED,T_CREDIT}, - { P("DD") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_DD}, - { P("DEL") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_DEL}, - { P("DFN") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_DFN}, - { P("DIR") , ul_attr, HTML_UL_ATTRIBUTES, SGML_MIXED,T_DIR}, - { P("DIV") , div_attr, HTML_DIV_ATTRIBUTES, SGML_MIXED,T_DIV}, - { P("DL") , dl_attr, HTML_DL_ATTRIBUTES, SGML_MIXED,T_DL}, - { P("DLC") , dl_attr, HTML_DL_ATTRIBUTES, SGML_MIXED,T_DLC}, - { P("DT") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_DT}, - { P("EM") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_EM}, - { P("EMBED") , embed_attr, HTML_EMBED_ATTRIBUTES, SGML_EMPTY,T_EMBED}, - { P("FIELDSET"), fieldset_attr,HTML_FIELDSET_ATTRIBUTES, SGML_MIXED,T_FIELDSET}, - { P("FIG") , fig_attr, HTML_FIG_ATTRIBUTES, SGML_MIXED,T_FIG}, - { P("FN") , fn_attr, HTML_FN_ATTRIBUTES, SGML_MIXED,T_FN}, - { P("FONT") , font_attr, HTML_FONT_ATTRIBUTES, SGML_EMPTY,T_FONT}, - { P("FORM") , form_attr, HTML_FORM_ATTRIBUTES, SGML_EMPTY,T_FORM}, - { P("FRAME") , frame_attr, HTML_FRAME_ATTRIBUTES, SGML_EMPTY,T_FRAME}, - { P("FRAMESET"), frameset_attr,HTML_FRAMESET_ATTRIBUTES, SGML_MIXED,T_FRAMESET}, - { P0("H1") , h_attr, HTML_H_ATTRIBUTES, SGML_MIXED,T_H1}, - { P0("H2") , h_attr, HTML_H_ATTRIBUTES, SGML_MIXED,T_H2}, - { P0("H3") , h_attr, HTML_H_ATTRIBUTES, SGML_MIXED,T_H3}, - { P0("H4") , h_attr, HTML_H_ATTRIBUTES, SGML_MIXED,T_H4}, - { P0("H5") , h_attr, HTML_H_ATTRIBUTES, SGML_MIXED,T_H5}, - { P0("H6") , h_attr, HTML_H_ATTRIBUTES, SGML_MIXED,T_H6}, - { P("HEAD") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_HEAD}, - { P("HR") , hr_attr, HTML_HR_ATTRIBUTES, SGML_EMPTY,T_HR}, - { P("HTML") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_HTML}, - { P("HY") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_HY}, - { P("I") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_I}, - { P("IFRAME") , iframe_attr, HTML_IFRAME_ATTRIBUTES, SGML_MIXED,T_IFRAME}, - { P("IMG") , img_attr, HTML_IMG_ATTRIBUTES, SGML_EMPTY,T_IMG}, - { P("INPUT") , input_attr, HTML_INPUT_ATTRIBUTES, SGML_EMPTY,T_INPUT}, - { P("INS") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_INS}, - { P("ISINDEX") , isindex_attr, HTML_ISINDEX_ATTRIBUTES,SGML_EMPTY,T_ISINDEX}, - { P("KBD") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_KBD}, - { P("KEYGEN") , keygen_attr, HTML_KEYGEN_ATTRIBUTES, SGML_EMPTY,T_KEYGEN}, - { P("LABEL") , label_attr, HTML_LABEL_ATTRIBUTES, SGML_MIXED,T_LABEL}, - { P("LEGEND") , legend_attr, HTML_LEGEND_ATTRIBUTES, SGML_MIXED,T_LEGEND}, - { P("LH") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_LH}, - { P("LI") , li_attr, HTML_LI_ATTRIBUTES, SGML_EMPTY,T_LI}, - { P("LINK") , link_attr, HTML_LINK_ATTRIBUTES, SGML_EMPTY,T_LINK}, - { P("LISTING") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_LITTERAL,T_LISTING}, - { P("MAP") , map_attr, HTML_MAP_ATTRIBUTES, SGML_MIXED,T_MAP}, - { P("MARQUEE") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_MARQUEE}, - { P("MATH") , math_attr, HTML_MATH_ATTRIBUTES, SGML_LITTERAL,T_MATH}, - { P("MENU") , ul_attr, HTML_UL_ATTRIBUTES, SGML_MIXED,T_MENU}, - { P("META") , meta_attr, HTML_META_ATTRIBUTES, SGML_EMPTY,T_META}, - { P("NEXTID") , nextid_attr, 1, SGML_EMPTY,T_NEXTID}, - { P("NOFRAMES"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_NOFRAMES}, - { P("NOTE") , note_attr, HTML_NOTE_ATTRIBUTES, SGML_MIXED,T_NOTE}, - { P("OBJECT") , object_attr, HTML_OBJECT_ATTRIBUTES, SGML_LITTERAL,T_OBJECT}, - { P("OL") , ol_attr, HTML_OL_ATTRIBUTES, SGML_MIXED,T_OL}, - { P("OPTION") , option_attr, HTML_OPTION_ATTRIBUTES, SGML_EMPTY,T_OPTION}, - { P("OVERLAY") , overlay_attr, HTML_OVERLAY_ATTRIBUTES, SGML_EMPTY,T_OVERLAY}, - { P("P") , p_attr, HTML_P_ATTRIBUTES, SGML_EMPTY,T_P}, - { P("PARAM") , param_attr, HTML_PARAM_ATTRIBUTES, SGML_EMPTY,T_PARAM}, - { P("PLAINTEXT"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_LITTERAL,T_PLAINTEXT}, - { P0("PRE") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_PRE}, - { P("Q") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_Q}, - { P("S") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_S}, - { P("SAMP") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_SAMP}, - { P("SCRIPT") , script_attr, HTML_SCRIPT_ATTRIBUTES, SGML_LITTERAL,T_SCRIPT}, - { P("SELECT") , select_attr, HTML_SELECT_ATTRIBUTES, SGML_MIXED,T_SELECT}, - { P("SHY") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_SHY}, - { P("SMALL") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_SMALL}, - { P("SPAN") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_SPAN}, - { P("SPOT") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_SPOT}, - { P("STRIKE") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_STRIKE}, - { P("STRONG") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_STRONG}, - { P("STYLE") , style_attr, HTML_STYLE_ATTRIBUTES, SGML_LITTERAL,T_STYLE}, - { P("SUB") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_SUB}, - { P("SUP") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_SUP}, - { P("TAB") , tab_attr, HTML_TAB_ATTRIBUTES, SGML_EMPTY,T_TAB}, - { P("TABLE") , table_attr, HTML_TABLE_ATTRIBUTES, SGML_MIXED,T_TABLE}, - { P("TBODY") , tr_attr, HTML_TR_ATTRIBUTES, SGML_EMPTY,T_TBODY}, - { P("TD") , td_attr, HTML_TD_ATTRIBUTES, SGML_EMPTY,T_TD}, - { P("TEXTAREA"), textarea_attr,HTML_TEXTAREA_ATTRIBUTES, SGML_LITTERAL,T_TEXTAREA}, - { P("TEXTFLOW"), bodytext_attr,HTML_BODYTEXT_ATTRIBUTES, SGML_MIXED,T_TEXTFLOW}, - { P("TFOOT") , tr_attr, HTML_TR_ATTRIBUTES, SGML_EMPTY,T_TFOOT}, - { P("TH") , td_attr, HTML_TD_ATTRIBUTES, SGML_EMPTY,T_TH}, - { P("THEAD") , tr_attr, HTML_TR_ATTRIBUTES, SGML_EMPTY,T_THEAD}, - { P("TITLE") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_RCDATA,T_TITLE}, - { P("TR") , tr_attr, HTML_TR_ATTRIBUTES, SGML_EMPTY,T_TR}, - { P("TT") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_TT}, - { P("U") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_U}, - { P("UL") , ul_attr, HTML_UL_ATTRIBUTES, SGML_MIXED,T_UL}, - { P("VAR") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_VAR}, - { P("WBR") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_WBR}, - { P0("XMP") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_LITTERAL,T_XMP}, - /* additional (alternative variants), not counted in HTML_ELEMENTS: */ -/* This one will be used as a temporary substitute within the parser when - it has been signalled to parse OBJECT content as MIXED. - kw */ - { P("OBJECT") , object_attr, HTML_OBJECT_ATTRIBUTES, SGML_MIXED,T_OBJECT_PCDATA}, -}; - -static const HTTag tags_new[HTML_ALL_ELEMENTS] = { - { P("A") , a_attr, HTML_A_ATTRIBUTES, SGML_MIXED,T_A}, - { P("ABBR") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_ABBR}, - { P("ACRONYM") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_ACRONYM}, - { P("ADDRESS") , address_attr, HTML_ADDRESS_ATTRIBUTES, SGML_MIXED,T_ADDRESS}, - { P("APPLET") , applet_attr, HTML_APPLET_ATTRIBUTES, SGML_MIXED,T_APPLET}, - { P("AREA") , area_attr, HTML_AREA_ATTRIBUTES, SGML_EMPTY,T_AREA}, - { P("AU") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_AU}, - { P("AUTHOR") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_AUTHOR}, - { P("B") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_B}, - { P0("BANNER") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_BANNER}, - { P("BASE") , base_attr, HTML_BASE_ATTRIBUTES, SGML_EMPTY,T_BASE}, - { P("BASEFONT"), font_attr, HTML_FONT_ATTRIBUTES, SGML_EMPTY,T_BASEFONT}, - { P("BDO") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_BDO}, - { P("BGSOUND") , bgsound_attr, HTML_BGSOUND_ATTRIBUTES, SGML_EMPTY,T_BGSOUND}, - { P("BIG") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_BIG}, - { P("BLINK") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_BLINK}, - { P("BLOCKQUOTE"), bq_attr, HTML_BQ_ATTRIBUTES, SGML_MIXED,T_BLOCKQUOTE}, - { P("BODY") , body_attr, HTML_BODY_ATTRIBUTES, SGML_MIXED,T_BODY}, - { P("BODYTEXT"), bodytext_attr,HTML_BODYTEXT_ATTRIBUTES, SGML_MIXED,T_BODYTEXT}, - { P("BQ") , bq_attr, HTML_BQ_ATTRIBUTES, SGML_MIXED,T_BQ}, - { P("BR") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_BR}, - { P("BUTTON") , button_attr, HTML_BUTTON_ATTRIBUTES, SGML_MIXED,T_BUTTON}, - { P("CAPTION") , caption_attr, HTML_CAPTION_ATTRIBUTES, SGML_MIXED,T_CAPTION}, - { P("CENTER") , div_attr, HTML_DIV_ATTRIBUTES, SGML_MIXED,T_CENTER}, - { P("CITE") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_CITE}, - { P("CODE") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_CODE}, - { P("COL") , col_attr, HTML_COL_ATTRIBUTES, SGML_EMPTY,T_COL}, - { P("COLGROUP"), col_attr, HTML_COL_ATTRIBUTES, SGML_ELEMENT,T_COLGROUP}, - { P("COMMENT") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_PCDATA,T_COMMENT}, - { P("CREDIT") , credit_attr, HTML_CREDIT_ATTRIBUTES, SGML_MIXED,T_CREDIT}, - { P("DD") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_DD}, - { P("DEL") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_DEL}, - { P("DFN") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_DFN}, - { P("DIR") , ul_attr, HTML_UL_ATTRIBUTES, SGML_MIXED,T_DIR}, - { P("DIV") , div_attr, HTML_DIV_ATTRIBUTES, SGML_MIXED,T_DIV}, - { P("DL") , dl_attr, HTML_DL_ATTRIBUTES, SGML_MIXED,T_DL}, - { P("DLC") , dl_attr, HTML_DL_ATTRIBUTES, SGML_MIXED,T_DLC}, - { P("DT") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_DT}, - { P("EM") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_EM}, - { P("EMBED") , embed_attr, HTML_EMBED_ATTRIBUTES, SGML_EMPTY,T_EMBED}, - { P("FIELDSET"), fieldset_attr,HTML_FIELDSET_ATTRIBUTES, SGML_MIXED,T_FIELDSET}, - { P("FIG") , fig_attr, HTML_FIG_ATTRIBUTES, SGML_MIXED,T_FIG}, - { P("FN") , fn_attr, HTML_FN_ATTRIBUTES, SGML_MIXED,T_FN}, - { P("FONT") , font_attr, HTML_FONT_ATTRIBUTES, SGML_MIXED,T_FONT}, - { P("FORM") , form_attr, HTML_FORM_ATTRIBUTES, SGML_MIXED,T_FORM}, - { P("FRAME") , frame_attr, HTML_FRAME_ATTRIBUTES, SGML_EMPTY,T_FRAME}, - { P("FRAMESET"), frameset_attr,HTML_FRAMESET_ATTRIBUTES, SGML_ELEMENT,T_FRAMESET}, - { P0("H1") , h_attr, HTML_H_ATTRIBUTES, SGML_MIXED,T_H1}, - { P0("H2") , h_attr, HTML_H_ATTRIBUTES, SGML_MIXED,T_H2}, - { P0("H3") , h_attr, HTML_H_ATTRIBUTES, SGML_MIXED,T_H3}, - { P0("H4") , h_attr, HTML_H_ATTRIBUTES, SGML_MIXED,T_H4}, - { P0("H5") , h_attr, HTML_H_ATTRIBUTES, SGML_MIXED,T_H5}, - { P0("H6") , h_attr, HTML_H_ATTRIBUTES, SGML_MIXED,T_H6}, - { P("HEAD") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_ELEMENT,T_HEAD}, - { P("HR") , hr_attr, HTML_HR_ATTRIBUTES, SGML_EMPTY,T_HR}, - { P("HTML") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_HTML}, - { P("HY") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_HY}, - { P("I") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_I}, - { P("IFRAME") , iframe_attr, HTML_IFRAME_ATTRIBUTES, SGML_MIXED,T_IFRAME}, - { P("IMG") , img_attr, HTML_IMG_ATTRIBUTES, SGML_EMPTY,T_IMG}, - { P("INPUT") , input_attr, HTML_INPUT_ATTRIBUTES, SGML_EMPTY,T_INPUT}, - { P("INS") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_INS}, - { P("ISINDEX") , isindex_attr, HTML_ISINDEX_ATTRIBUTES,SGML_EMPTY,T_ISINDEX}, - { P("KBD") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_KBD}, - { P("KEYGEN") , keygen_attr, HTML_KEYGEN_ATTRIBUTES, SGML_EMPTY,T_KEYGEN}, - { P("LABEL") , label_attr, HTML_LABEL_ATTRIBUTES, SGML_MIXED,T_LABEL}, - { P("LEGEND") , legend_attr, HTML_LEGEND_ATTRIBUTES, SGML_MIXED,T_LEGEND}, - { P("LH") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_LH}, - { P("LI") , li_attr, HTML_LI_ATTRIBUTES, SGML_MIXED,T_LI}, - { P("LINK") , link_attr, HTML_LINK_ATTRIBUTES, SGML_EMPTY,T_LINK}, - { P("LISTING") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_LITTERAL,T_LISTING}, - { P("MAP") , map_attr, HTML_MAP_ATTRIBUTES, SGML_ELEMENT,T_MAP}, - { P("MARQUEE") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_MARQUEE}, - { P("MATH") , math_attr, HTML_MATH_ATTRIBUTES, SGML_PCDATA,T_MATH}, - { P("MENU") , ul_attr, HTML_UL_ATTRIBUTES, SGML_MIXED,T_MENU}, - { P("META") , meta_attr, HTML_META_ATTRIBUTES, SGML_EMPTY,T_META}, - { P("NEXTID") , nextid_attr, 1, SGML_EMPTY,T_NEXTID}, - { P("NOFRAMES"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_NOFRAMES}, - { P("NOTE") , note_attr, HTML_NOTE_ATTRIBUTES, SGML_MIXED,T_NOTE}, - { P("OBJECT") , object_attr, HTML_OBJECT_ATTRIBUTES, SGML_LITTERAL,T_OBJECT}, - { P("OL") , ol_attr, HTML_OL_ATTRIBUTES, SGML_MIXED,T_OL}, - { P("OPTION") , option_attr, HTML_OPTION_ATTRIBUTES, SGML_PCDATA,T_OPTION}, - { P("OVERLAY") , overlay_attr, HTML_OVERLAY_ATTRIBUTES, SGML_PCDATA,T_OVERLAY}, - { P("P") , p_attr, HTML_P_ATTRIBUTES, SGML_MIXED,T_P}, - { P("PARAM") , param_attr, HTML_PARAM_ATTRIBUTES, SGML_EMPTY,T_PARAM}, - { P("PLAINTEXT"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_LITTERAL,T_PLAINTEXT}, - { P0("PRE") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_PRE}, - { P("Q") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_Q}, - { P("S") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_S}, - { P("SAMP") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_SAMP}, - { P("SCRIPT") , script_attr, HTML_SCRIPT_ATTRIBUTES, SGML_SCRIPT,T_SCRIPT}, - { P("SELECT") , select_attr, HTML_SELECT_ATTRIBUTES, SGML_ELEMENT,T_SELECT}, - { P("SHY") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_SHY}, - { P("SMALL") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_SMALL}, - { P("SPAN") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_SPAN}, - { P("SPOT") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_SPOT}, - { P("STRIKE") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_STRIKE}, - { P("STRONG") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_STRONG}, - { P("STYLE") , style_attr, HTML_STYLE_ATTRIBUTES, SGML_CDATA,T_STYLE}, - { P("SUB") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_SUB}, - { P("SUP") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_SUP}, - { P("TAB") , tab_attr, HTML_TAB_ATTRIBUTES, SGML_EMPTY,T_TAB}, - { P("TABLE") , table_attr, HTML_TABLE_ATTRIBUTES, SGML_ELEMENT,T_TABLE}, - { P("TBODY") , tr_attr, HTML_TR_ATTRIBUTES, SGML_ELEMENT,T_TBODY}, - { P("TD") , td_attr, HTML_TD_ATTRIBUTES, SGML_MIXED,T_TD}, - { P("TEXTAREA"), textarea_attr,HTML_TEXTAREA_ATTRIBUTES, SGML_PCDATA,T_TEXTAREA}, - { P("TEXTFLOW"), bodytext_attr,HTML_BODYTEXT_ATTRIBUTES, SGML_MIXED,T_TEXTFLOW}, - { P("TFOOT") , tr_attr, HTML_TR_ATTRIBUTES, SGML_ELEMENT,T_TFOOT}, - { P("TH") , td_attr, HTML_TD_ATTRIBUTES, SGML_MIXED,T_TH}, - { P("THEAD") , tr_attr, HTML_TR_ATTRIBUTES, SGML_ELEMENT,T_THEAD}, - { P("TITLE") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_PCDATA,T_TITLE}, - { P("TR") , tr_attr, HTML_TR_ATTRIBUTES, SGML_MIXED,T_TR}, - { P("TT") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_TT}, - { P("U") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_U}, - { P("UL") , ul_attr, HTML_UL_ATTRIBUTES, SGML_MIXED,T_UL}, - { P("VAR") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED,T_VAR}, - { P("WBR") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY,T_WBR}, - { P0("XMP") , gen_attr, HTML_GEN_ATTRIBUTES, SGML_LITTERAL,T_XMP}, - /* additional (alternative variants), not counted in HTML_ELEMENTS: */ -/* This one will be used as a temporary substitute within the parser when - it has been signalled to parse OBJECT content as MIXED. - kw */ - { P("OBJECT") , object_attr, HTML_OBJECT_ATTRIBUTES, SGML_MIXED,T_OBJECT_PCDATA}, -}; -/* *INDENT-ON* */ -#undef P -#undef P0 -#undef P_ +#include <src0_HTMLDTD.h> +#include <src1_HTMLDTD.h> -/* Dummy space, will be filled with the contents of either tags_new - or tags_old on calling HTSwitchDTD - kw */ +/* Dummy space, will be filled with the contents of either tags_table1 + or tags_table0 on calling HTSwitchDTD - kw */ static HTTag tags[HTML_ALL_ELEMENTS]; @@ -1659,11 +220,11 @@ const SGML_dtd HTML_dtd = }; /* This function fills the "tags" part of the HTML_dtd structure with - what we want to use, either tags_old or tags_new. Note that it + what we want to use, either tags_table0 or tags_table1. Note that it has to be called at least once before HTML_dtd is used, otherwise the HTML_dtd contents will be invalid! This could be coded in a way that would make an initialisation call unnecessary, but my C knowledge - is limited and I didn't want to list the whole tags_new table + is limited and I didn't want to list the whole tags_table1 table twice... - kw */ void HTSwitchDTD(int new_flag) { @@ -1671,13 +232,13 @@ void HTSwitchDTD(int new_flag) CTRACE((tfp, "HTMLDTD: Copying %s DTD element info of size %d, %d * %d\n", new_flag ? "strict" : "tagsoup", - (int) (new_flag ? sizeof(tags_new) : sizeof(tags_old)), + (int) (new_flag ? sizeof(tags_table1) : sizeof(tags_table0)), HTML_ALL_ELEMENTS, (int) sizeof(HTTag))); if (new_flag) - memcpy(tags, tags_new, HTML_ALL_ELEMENTS * sizeof(HTTag)); + memcpy(tags, tags_table1, HTML_ALL_ELEMENTS * sizeof(HTTag)); else - memcpy(tags, tags_old, HTML_ALL_ELEMENTS * sizeof(HTTag)); + memcpy(tags, tags_table0, HTML_ALL_ELEMENTS * sizeof(HTTag)); } HTTag HTTag_unrecognized = diff --git a/WWW/Library/Implementation/HTMLDTD.h b/WWW/Library/Implementation/HTMLDTD.h index 48b919e8..10b0308f 100644 --- a/WWW/Library/Implementation/HTMLDTD.h +++ b/WWW/Library/Implementation/HTMLDTD.h @@ -1,4 +1,7 @@ -/* The HTML DTD -- software interface in libwww +/* + * $LynxId: HTMLDTD.h,v 1.32 2008/07/06 17:38:13 tom Exp $ + * + 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 @@ -28,945 +31,8 @@ extern "C" { !(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_ABBR, - 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_<element>_<attribute>. - 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 +#include <hdr_HTMLDTD.h> #ifdef USE_PRETTYSRC /* values of HTML attributes' types */ diff --git a/WWW/Library/Implementation/HTPlain.c b/WWW/Library/Implementation/HTPlain.c index dbcedc1f..3e40be02 100644 --- a/WWW/Library/Implementation/HTPlain.c +++ b/WWW/Library/Implementation/HTPlain.c @@ -616,12 +616,12 @@ static void HTPlain_write(HTStream *me, const char *s, int l) /* * Ignore 8204 (zwnj) or 8205 (zwj), if we get to here. - FM */ - CTRACE((tfp, "HTPlain_write: Ignoring '%ld'.\n", code)); + CTRACE((tfp, "HTPlain_write: Ignoring '%" PRI_UCode_t "'.\n", code)); } else if (code == 8206 || code == 8207) { /* * Ignore 8206 (lrm) or 8207 (rlm), if we get to here. - FM */ - CTRACE((tfp, "HTPlain_write: Ignoring '%ld'.\n", code)); + CTRACE((tfp, "HTPlain_write: Ignoring '%" PRI_UCode_t "'.\n", code)); } else { /* * Out of luck, so use the UHHH notation (ugh). - FM diff --git a/WWW/Library/Implementation/HTRules.c b/WWW/Library/Implementation/HTRules.c index e88963c9..382805ff 100644 --- a/WWW/Library/Implementation/HTRules.c +++ b/WWW/Library/Implementation/HTRules.c @@ -1,5 +1,5 @@ /* - * $LynxId: HTRules.c,v 1.30 2007/08/02 20:12:40 tom Exp $ + * $LynxId: HTRules.c,v 1.34 2008/07/06 12:53:43 tom Exp $ * * Configuration manager for Hypertext Daemon HTRules.c * ========================================== @@ -456,7 +456,7 @@ int HTSetConfiguration(char *config) const char *cond_op = NULL; const char *cond = NULL; float quality, secs, secs_per_byte; - int maxbytes; + off_t maxbytes; int status; StrAllocCopy(line, config); @@ -500,7 +500,7 @@ int HTSetConfiguration(char *config) } else if (0 == strcasecomp(word1, "presentation")) { if (pointer) - status = sscanf(pointer, "%f%f%f%d", + status = sscanf(pointer, "%f%f%f%" SCN_off_t "", &quality, &secs, &secs_per_byte, &maxbytes); else status = 0; diff --git a/WWW/Library/Implementation/HTTCP.c b/WWW/Library/Implementation/HTTCP.c index c8f7deb6..05d41354 100644 --- a/WWW/Library/Implementation/HTTCP.c +++ b/WWW/Library/Implementation/HTTCP.c @@ -1,5 +1,5 @@ /* - * $LynxId: HTTCP.c,v 1.93 2007/05/22 23:54:43 tom Exp $ + * $LynxId: HTTCP.c,v 1.95 2008/07/06 12:55:40 tom Exp $ * * Generic Communication Code HTTCP.c * ========================== @@ -2091,8 +2091,9 @@ int HTDoRead(int fildes, #endif /* UCX && VAXC */ } #ifdef USE_READPROGRESS - CTRACE2(TRACE_TIMING, (tfp, "...HTDoRead returns %d (%ld seconds)\n", - result, (long) (time((time_t *) 0) - start))); + CTRACE2(TRACE_TIMING, (tfp, "...HTDoRead returns %d (%" PRI_time_t + " seconds)\n", + result, CAST_time_t(time((time_t *) 0) - start))); #endif return result; } diff --git a/WWW/Library/Implementation/HTTP.c b/WWW/Library/Implementation/HTTP.c index 8fb37a13..6f016442 100644 --- a/WWW/Library/Implementation/HTTP.c +++ b/WWW/Library/Implementation/HTTP.c @@ -1,5 +1,5 @@ /* - * $LynxId: HTTP.c,v 1.94 2008/04/27 17:05:55 tom Exp $ + * $LynxId: HTTP.c,v 1.96 2008/07/06 12:55:40 tom Exp $ * * HyperText Tranfer Protocol - Client implementation HTTP.c * ========================== @@ -1034,13 +1034,13 @@ static int HTLoadHTTP(const char *arg, if (pres->get_accept) { if (pres->quality < 1.0) { if (pres->maxbytes > 0) { - sprintf(temp, ";q=%4.3f;mxb=%ld", + sprintf(temp, ";q=%4.3f;mxb=%" PRI_off_t "", pres->quality, pres->maxbytes); } else { sprintf(temp, ";q=%4.3f", pres->quality); } } else if (pres->maxbytes > 0) { - sprintf(temp, ";mxb=%ld", pres->maxbytes); + sprintf(temp, ";mxb=%" PRI_off_t "", pres->maxbytes); } else { temp[0] = '\0'; } diff --git a/WWW/Library/Implementation/HTUtils.h b/WWW/Library/Implementation/HTUtils.h index 3d8b0dd6..eb794f59 100644 --- a/WWW/Library/Implementation/HTUtils.h +++ b/WWW/Library/Implementation/HTUtils.h @@ -1,5 +1,5 @@ /* - * $LynxId: HTUtils.h,v 1.79 2008/04/13 14:43:32 tom Exp $ + * $LynxId: HTUtils.h,v 1.85 2008/07/06 12:55:40 tom Exp $ * * Utility macros for the W3 code library * MACROS FOR GENERAL USE @@ -535,6 +535,63 @@ extern int WWW_TraceMask; #define TRACE_GRIDTEXT (TRACE_bit(7)) #define TRACE_TIMING (TRACE_bit(8)) +/* + * Get printing/scanning formats. + */ +#if defined(HAVE_INTTYPES_H) +#include <inttypes.h> +#endif + +/* + * Printing/scanning-formats for "off_t", as well as cast needed to fit. + */ +#if defined(HAVE_INTTYPES_H) && defined(SIZEOF_OFF_T) +#if SIZEOF_OFF_T == 8 +#define PRI_off_t PRId64 +#define SCN_off_t SCNd64 +#define CAST_off_t(n) (int64_t)(n) +#else +#define PRI_off_t PRId32 +#define SCN_off_t SCNd32 +#define CAST_off_t(n) (int32_t)(n) +#endif +#endif + +#ifndef PRI_off_t +#define PRI_off_t "ld" +#define SCN_off_t "ld" +#define CAST_off_t(n) (long)(n) +#endif + +/* + * Printing-format for "time_t", as well as cast needed to fit. + */ +#if defined(HAVE_INTTYPES_H) && defined(SIZEOF_TIME_T) +#if SIZEOF_TIME_T == 8 +#define PRI_time_t PRId64 +#define SCN_time_t SCNd64 +#define CAST_time_t(n) (int64_t)(n) +#else +#define PRI_time_t PRId32 +#define SCN_time_t SCNd32 +#define CAST_time_t(n) (int32_t)(n) +#endif +#endif + +#ifndef PRI_time_t +#define PRI_time_t "ld" +#define SCN_time_t "ld" +#define CAST_time_t(n) (long)(n) +#endif + +/* + * Printing-format for "UCode_t". + */ +#define PRI_UCode_t "ld" + +/* + * Verbose-tracing. + */ #if defined(USE_VERTRACE) && !defined(LY_TRACELINE) #define LY_TRACELINE __LINE__ #endif @@ -615,7 +672,7 @@ extern int WWW_TraceMask; #if defined(USE_GNUTLS_FUNCS) #include <tidy_tls.h> -#define USE_GNUTLS_INCL 1 /* do this for the ".c" ifdef's */ +#define USE_GNUTLS_INCL 1 /* do this for the ".c" ifdef's */ #elif defined(USE_GNUTLS_INCL) #include <gnutls/openssl.h> /* diff --git a/WWW/Library/Implementation/SGML.c b/WWW/Library/Implementation/SGML.c index 37325689..9646afb6 100644 --- a/WWW/Library/Implementation/SGML.c +++ b/WWW/Library/Implementation/SGML.c @@ -1,5 +1,5 @@ /* - * $LynxId: SGML.c,v 1.92 2007/07/22 21:52:43 Rado.Smiljanic Exp $ + * $LynxId: SGML.c,v 1.96 2008/07/06 15:01:52 tom Exp $ * * General SGML Parser code SGML.c * ======================== @@ -14,13 +14,6 @@ #include <HTUtils.h> -/* Remove the following to disable the experimental HTML DTD parsing. - Currently only used in this source file. - kw */ - -#ifndef NO_EXTENDED_HTMLDTD -#define EXTENDED_HTMLDTD -#endif - #include <SGML.h> #include <HTMLDTD.h> #include <HTAccess.h> @@ -91,8 +84,6 @@ static void fake_put_character(void *p GCC_UNUSED, #define PUTUTF8(code) (UCPutUtf8_charstring((HTStream *)context->target, \ (putc_func_t*)(context->actions->put_character), code)) -#define OPT 1 - /*the following macros are used for pretty source view. */ #define IS_C(attr) (attr.type == HTMLA_CLASS) @@ -788,7 +779,7 @@ static void handle_entity(HTStream *context, char term) if (psrc_view) PSRCSTART(badseq); #endif - CTRACE((tfp, "SGML: Unknown entity '%s' %ld %ld\n", s, (long) code, uck)); /* S/390 -- gil -- 0695 */ + CTRACE((tfp, "SGML: Unknown entity '%s' %" PRI_UCode_t " %ld\n", s, code, uck)); /* S/390 -- gil -- 0695 */ PUTC('&'); PUTS(s); if (term != '\0') @@ -935,8 +926,6 @@ static void handle_sgmlatt(HTStream *context) #define ALT_TAGP(t) ALT_TAGP_OF_TAGNUM(TAGNUM_OF_TAGP(t)) #define NORMAL_TAGP(t) NORMAL_TAGP_OF_TAGNUM(TAGNUM_OF_TAGP(t)) -#ifdef EXTENDED_HTMLDTD - static BOOL element_valid_within(HTTag * new_tag, HTTag * stacked_tag, BOOL direct) { TagClass usecontains, usecontained; @@ -1007,15 +996,12 @@ static int is_on_stack(HTStream *context, HTTag * old_tag) } return 0; } -#endif /* EXTENDED_HTMLDTD */ /* End element * ----------- */ static void end_element(HTStream *context, HTTag * old_tag) { -#ifdef EXTENDED_HTMLDTD - BOOL extra_action_taken = NO; canclose_t canclose_check = close_valid; int stackpos = is_on_stack(context, old_tag); @@ -1062,8 +1048,6 @@ static void end_element(HTStream *context, HTTag * old_tag) } /* Now let the non-extended code deal with the rest. - kw */ -#endif /* EXTENDED_HTMLDTD */ - /* * If we are in a SELECT block, ignore anything but a SELECT end tag. - FM */ @@ -1162,8 +1146,6 @@ static void start_element(HTStream *context) HTMLElement e = TAGNUM_OF_TAGP(new_tag); BOOL ok = FALSE; -#ifdef EXTENDED_HTMLDTD - BOOL valid = YES; BOOL direct_container = YES; BOOL extra_action_taken = NO; @@ -1237,8 +1219,6 @@ static void start_element(HTStream *context) } /* Fall through to the non-extended code - kw */ -#endif /* EXTENDED_HTMLDTD */ - /* * If we are not in a SELECT block, check if this is a SELECT start tag. * Otherwise (i.e., we are in a SELECT block) accept only OPTION as valid, @@ -3887,22 +3867,16 @@ static void SGML_character(HTStream *context, char c_in) #endif } else { BOOL tag_OK = (BOOL) (c == '>' || WHITE(c)); - -#if OPT HTMLElement e = TAGNUM_OF_TAGP(t); int branch = 2; /* it can be 0,1,2 */ -#endif + context->current_tag = t; if (HAS_ALT_TAGNUM(TAGNUM_OF_TAGP(t)) && context->element_stack && ALT_TAGP(t) == context->element_stack->tag) context->element_stack->tag = NORMAL_TAGP(context->element_stack->tag); -#if OPT - if (tag_OK -#ifdef EXTENDED_HTMLDTD - && Old_DTD -#endif - ) { + + if (tag_OK && Old_DTD) { switch (e) { case HTML_DD: case HTML_DT: @@ -3936,34 +3910,13 @@ static void SGML_character(HTStream *context, char c_in) break; } } -#endif -#ifdef EXTENDED_HTMLDTD /* * Just handle ALL end tags normally :-) - kw */ if (!Old_DTD) { end_element(context, context->current_tag); - } else -#endif /* EXTENDED_HTMLDTD */ - - if (tag_OK && -#if OPT - (branch == 0) -#else - (!strcasecomp(string->data, "DD") || - !strcasecomp(string->data, "DT") || - !strcasecomp(string->data, "LI") || - !strcasecomp(string->data, "LH") || - !strcasecomp(string->data, "TD") || - !strcasecomp(string->data, "TH") || - !strcasecomp(string->data, "TR") || - !strcasecomp(string->data, "THEAD") || - !strcasecomp(string->data, "TFOOT") || - !strcasecomp(string->data, "TBODY") || - !strcasecomp(string->data, "COLGROUP")) -#endif - ) { + } else if (tag_OK && (branch == 0)) { /* * Don't treat these end tags as invalid, nor act on them. * - FM @@ -3979,24 +3932,7 @@ static void SGML_character(HTStream *context, char c_in) context->state = S_text; } break; - } else if (tag_OK && -#if OPT - (branch == 1) -#else - (!strcasecomp(string->data, "A") || - !strcasecomp(string->data, "B") || - !strcasecomp(string->data, "BLINK") || - !strcasecomp(string->data, "CITE") || - !strcasecomp(string->data, "EM") || - !strcasecomp(string->data, "FONT") || - !strcasecomp(string->data, "FORM") || - !strcasecomp(string->data, "I") || - !strcasecomp(string->data, "P") || - !strcasecomp(string->data, "STRONG") || - !strcasecomp(string->data, "TT") || - !strcasecomp(string->data, "U")) -#endif - ) { + } else if (tag_OK && (branch == 1)) { /* * Handle end tags for container elements declared as * SGML_EMPTY to prevent "expected tag substitution" but diff --git a/WWW/Library/Implementation/dtd_util.c b/WWW/Library/Implementation/dtd_util.c index b53b8bbd..861b18f4 100644 --- a/WWW/Library/Implementation/dtd_util.c +++ b/WWW/Library/Implementation/dtd_util.c @@ -1,12 +1,15 @@ /* - * $LynxId: dtd_util.c,v 1.10 2008/07/05 00:32:17 tom Exp $ + * $LynxId: dtd_util.c,v 1.26 2008/07/07 00:03:09 tom Exp $ * * Given a SGML_dtd structure, write a corresponding flat file, or "C" source. * Given the flat-file, write the "C" source. + * + * TODO: read flat-file */ #include <HTUtils.h> #include <HTMLDTD.h> +#include <string.h> /* * Tweaks to build standalone. @@ -22,7 +25,9 @@ FILE *TraceFP(void) /* * Begin the actual utility. */ -#define GETOPT "flo:ts" +#define GETOPT "chlo:ts" + +#define NOTE(message) fprintf(output, message "\n"); static void failed(const char *s) { @@ -37,11 +42,12 @@ static void usage(void) "Usage: dtd_util [options]", "", "Options:", - " -o filename", - " -l load", - " -f flat file", - " -t tagsoup", - " -s strict" + " -c generate C-source" + " -h generate C-header" + " -l load", + " -o filename specify output (default: stdout)", + " -s strict (HTML DTD 0)", + " -t tagsoup (HTML DTD 1)", }; unsigned n; @@ -112,6 +118,29 @@ static int first_attrs(const SGML_dtd * dtd, int which) return result; } +static char *no_dashes(char *target, const char *source) +{ + int j; + + for (j = 0; (target[j] = source[j]) != '\0'; ++j) { + if (!isalnum(target[j])) + target[j] = '_'; + } + return target; +} + +/* the second "OBJECT" is treated specially */ +static int first_object(const SGML_dtd * dtd, int which) +{ + int check; + + for (check = 0; check <= which; ++check) { + if (!strcmp(dtd->tags[check].name, "OBJECT")) + break; + } + return (check == which); +} + static const char *NameOfAttrs(const SGML_dtd * dtd, int which) { int check; @@ -152,14 +181,66 @@ static const char *XXX_attr(const SGML_dtd * dtd, int which) return result; } -static void dump_src_HTTag_Defines(FILE *output, HTTag * tag) +static const char *DEF_name(const SGML_dtd * dtd, int which) { + const char *result = dtd->tags[which].name; + + if (!strcmp(result, "OBJECT") && !first_object(dtd, which)) + result = "OBJECT_PCDATA"; + return result; +} + +typedef struct { + const char *name; + attr *attrs; + int count; + int which; +} AttrInfo; + +static int compare_attr(const void *a, const void *b) +{ + const AttrInfo *p = (const AttrInfo *) a; + const AttrInfo *q = (const AttrInfo *) b; + + return strcmp(p->name, q->name); +} + +static AttrInfo *sorted_attrs(const SGML_dtd * dtd, unsigned *countp, int lower) +{ + int j; + + AttrInfo *data = (AttrInfo *) calloc(dtd->number_of_tags, sizeof(AttrInfo)); + unsigned count = 0; + + /* get the attribute-data */ + for (j = 0; j < dtd->number_of_tags; ++j) { + if (first_attrs(dtd, j)) { + if (lower) + data[count].name = strdup(XXX_attr(dtd, j)); + else + data[count].name = NameOfAttrs(dtd, j); + data[count].attrs = dtd->tags[j].attributes; + data[count].count = dtd->tags[j].number_of_attributes; + data[count].which = j; + ++count; + } + } + /* sort the data by the name of their associated tag */ + qsort(data, count, sizeof(*data), compare_attr); + *countp = count; + return data; +} + +static void dump_src_HTTag_Defines(FILE *output, const SGML_dtd * dtd, int which) +{ + HTTag *tag = &(dtd->tags[which]); + #define myFMT "0x%05X" fprintf(output, - "#define T_%-10s " + "#define T_%-13s " myFMT "," myFMT "," myFMT "," myFMT "," myFMT "," myFMT - ", " myFMT "\n", - tag->name, + "," myFMT "\n", + DEF_name(dtd, which), tag->tagclass, tag->contains, tag->icontains, @@ -204,7 +285,7 @@ static void dump_src_HTTag_Attrs(FILE *output, const SGML_dtd * dtd, int which) } fprintf(output, "\t{ 0 T(N) }\t/* Terminate list */\n"); fprintf(output, "};\n"); - fprintf(output, "\n"); + NOTE(""); } static void dump_src_HTTag(FILE *output, const SGML_dtd * dtd, int which) @@ -220,32 +301,193 @@ static void dump_src_HTTag(FILE *output, const SGML_dtd * dtd, int which) PrintF(output, 16, "%s_attr,", XXX_attr(dtd, which)); PrintF(output, 28, "HTML_%s_ATTRIBUTES,", NameOfAttrs(dtd, which)); PrintF(output, 14, "%s,", SGMLContent2s(tag->contents)); - fprintf(output, "T_%s", tag->name); + fprintf(output, "T_%s", DEF_name(dtd, which)); fprintf(output, "},\n"); } -static void dump_source(FILE *output, const SGML_dtd * dtd) +static void dump_source(FILE *output, const SGML_dtd * dtd, int dtd_version) { + const char *marker = "src_HTMLDTD_H"; int j; + unsigned count = 0; + AttrInfo *data = sorted_attrs(dtd, &count, 1); + + fprintf(output, "/* %cLynxId%c */\n", '$', '$'); + fprintf(output, "#ifndef %s%d\n", marker, dtd_version); + fprintf(output, "#define %s%d 1\n\n", marker, dtd_version); + + /* + * If we ifdef this for once, and make the table names distinct, we can + * #include the strict- and tagsoup-output directly in HTMLDTD.c + */ + NOTE("#ifndef once_HTMLDTD"); + NOTE("#define once_HTMLDTD 1"); + NOTE(""); + /* construct TagClass-define's */ - fprintf(output, "/*\n vile:cmode\n %d tags\n */\n", dtd->number_of_tags); - for (j = 0; j < dtd->number_of_tags; ++j) { - dump_src_HTTag_Defines(output, &(dtd->tags[j])); + for (j = 0; j <= dtd->number_of_tags; ++j) { + dump_src_HTTag_Defines(output, dtd, j); } - fprintf(output, "\n"); + NOTE("#define T__UNREC_ 0x00000,0x00000,0x00000,0x00000,0x00000,0x00000,0x00000"); /* construct attribute-tables */ - for (j = 0; j < dtd->number_of_tags; ++j) { - if (first_attrs(dtd, j)) - dump_src_HTTag_Attrs(output, dtd, j); + NOTE("#ifdef USE_PRETTYSRC"); + NOTE("# define N HTMLA_NORMAL"); + NOTE("# define i HTMLA_ANAME"); + NOTE("# define h HTMLA_HREF"); + NOTE("# define c HTMLA_CLASS"); + NOTE("# define x HTMLA_AUXCLASS"); + NOTE("# define T(t) , t"); + NOTE("#else"); + NOTE("# define T(t) /*nothing */"); + NOTE("#endif"); + NOTE("/* *INDENT-OFF* */"); + NOTE(""); + for (j = 0; j < (int) count; ++j) { + dump_src_HTTag_Attrs(output, dtd, data[j].which); } + NOTE("/* *INDENT-ON* */"); + NOTE(""); + NOTE("#undef N"); + NOTE("#undef i"); + NOTE("#undef h"); + NOTE("#undef c"); + NOTE("#undef x"); + NOTE(""); + NOTE("#undef T"); + + NOTE(""); + NOTE("/* these definitions are used in the tags-tables */"); + NOTE("#undef P"); + NOTE("#undef P_"); + NOTE("#ifdef USE_COLOR_STYLE"); + NOTE("#define P_(x) x , (sizeof x) -1"); + NOTE("#define NULL_HTTag_ NULL, 0"); + NOTE("#else"); + NOTE("#define P_(x) x"); + NOTE("#define NULL_HTTag_ NULL"); + NOTE("#endif"); + NOTE(""); + NOTE("#ifdef EXP_JUSTIFY_ELTS"); + NOTE("#define P(x) P_(x), 1"); + NOTE("#define P0(x) P_(x), 0"); + NOTE("#define NULL_HTTag NULL_HTTag_,0"); + NOTE("#else"); + NOTE("#define P(x) P_(x)"); + NOTE("#define P0(x) P_(x)"); + NOTE("#define NULL_HTTag NULL_HTTag_"); + NOTE("#endif"); + NOTE(""); + NOTE("#endif /* once_HTMLDTD */"); + NOTE("/* *INDENT-OFF* */"); + /* construct the tags table */ - fprintf(output, "static const HTTag tags_table[HTML_ALL_ELEMENTS] = {\n"); - for (j = 0; j < dtd->number_of_tags; ++j) { + fprintf(output, + "static const HTTag tags_table%d[HTML_ALL_ELEMENTS] = {\n", + dtd_version); + for (j = 0; j <= dtd->number_of_tags; ++j) { + if (j == dtd->number_of_tags) { + NOTE("/* additional (alternative variants), not counted in HTML_ELEMENTS: */"); + NOTE("/* This one will be used as a temporary substitute within the parser when"); + NOTE(" it has been signalled to parse OBJECT content as MIXED. - kw */"); + } dump_src_HTTag(output, dtd, j); } - fprintf(output, "};\n\n"); + fprintf(output, "};\n"); + + NOTE("/* *INDENT-ON* */"); + NOTE(""); + fprintf(output, "#endif /* %s%d */\n", marker, dtd_version); + + free(data); +} + +static void dump_hdr_attr(FILE *output, AttrInfo * data) +{ + int j; + char buffer[BUFSIZ]; + + for (j = 0; j < data->count; ++j) { + PrintF(output, 33, "#define HTML_%s_%s", + data->name, + no_dashes(buffer, data->attrs[j].name)); + fprintf(output, "%2d\n", j); + } + PrintF(output, 33, "#define HTML_%s_ATTRIBUTES", data->name); + fprintf(output, "%2d\n", data->count); + fprintf(output, "\n"); +} + +static void dump_header(FILE *output, const SGML_dtd * dtd) +{ + const char *marker = "hdr_HTMLDTD_H"; + int j; + + unsigned count = 0; + AttrInfo *data = sorted_attrs(dtd, &count, 0); + + fprintf(output, "/* %cLynxId%c */\n", '$', '$'); + fprintf(output, "#ifndef %s\n", marker); + fprintf(output, "#define %s 1\n\n", marker); + + NOTE("#ifdef __cplusplus"); + NOTE("extern \"C\" {"); + NOTE("#endif"); + + NOTE("/*"); + NOTE(""); + NOTE(" Element Numbers"); + NOTE(""); + NOTE(" Must Match all tables by element!"); + NOTE(" These include tables in HTMLDTD.c"); + NOTE(" and code in HTML.c."); + NOTE(""); + NOTE(" */"); + + fprintf(output, " typedef enum {\n"); + for (j = 0; j < dtd->number_of_tags; ++j) { + fprintf(output, "\tHTML_%s,\n", dtd->tags[j].name); + } + NOTE("\tHTML_ALT_OBJECT"); + NOTE(" } HTMLElement;\n"); + NOTE("/* Notes: HTML.c uses a different extension of the"); + NOTE(" HTML_ELEMENTS space privately, see"); + NOTE(" HTNestedList.h."); + NOTE(""); + NOTE(" Do NOT replace HTML_ELEMENTS with"); + NOTE(" TABLESIZE(mumble_dtd.tags)."); + NOTE(""); + NOTE(" Keep the following defines in synch with"); + NOTE(" the above enum!"); + NOTE(" */"); + NOTE(""); + NOTE("/* # of elements generally visible to Lynx code */"); + fprintf(output, "#define HTML_ELEMENTS %d\n", dtd->number_of_tags); + NOTE(""); + NOTE("/* # of elements visible to SGML parser */"); + fprintf(output, "#define HTML_ALL_ELEMENTS %d\n", dtd->number_of_tags + 1); + NOTE(""); + NOTE("/*"); + NOTE(""); + NOTE(" Attribute numbers"); + NOTE(""); + NOTE(" Identifier is HTML_<element>_<attribute>."); + NOTE(" These must match the tables in HTML.c!"); + NOTE(""); + NOTE(" */"); + + /* output the sorted list */ + for (j = 0; j < (int) count; ++j) { + dump_hdr_attr(output, data + j); + } + free(data); + + NOTE("#ifdef __cplusplus"); + NOTE("}"); + NOTE("#endif"); + + fprintf(output, "#endif\t\t\t\t/* %s */\n", marker); } static void dump_flat_attrs(FILE *output, const char *name, attr * attributes, int number_of_attributes) @@ -364,16 +606,20 @@ int main(int argc, char *argv[]) { const SGML_dtd *the_dtd = &HTML_dtd; int ch; - int f_option = FALSE; + int dtd_version = 0; + int c_option = FALSE; + int h_option = FALSE; int l_option = FALSE; FILE *input = stdin; FILE *output = stdout; - HTSwitchDTD(FALSE); while ((ch = getopt(argc, argv, GETOPT)) != -1) { switch (ch) { - case 'f': - f_option = TRUE; + case 'c': + c_option = TRUE; + break; + case 'h': + h_option = TRUE; break; case 'l': l_option = TRUE; @@ -384,20 +630,26 @@ int main(int argc, char *argv[]) failed(optarg); break; case 't': - HTSwitchDTD(TRUE); + dtd_version = 1; break; case 's': - HTSwitchDTD(FALSE); + dtd_version = 0; break; default: usage(); } } + + HTSwitchDTD(dtd_version); if (l_option) load_flatfile(input, the_dtd); - if (f_option) + + if (c_option) + dump_source(output, the_dtd, dtd_version); + if (h_option) + dump_header(output, the_dtd); + if (!c_option && !h_option) dump_flatfile(output, the_dtd); - else - dump_source(output, the_dtd); + return EXIT_SUCCESS; } diff --git a/WWW/Library/Implementation/hdr_HTMLDTD.h b/WWW/Library/Implementation/hdr_HTMLDTD.h new file mode 100644 index 00000000..d0850283 --- /dev/null +++ b/WWW/Library/Implementation/hdr_HTMLDTD.h @@ -0,0 +1,952 @@ +/* $LynxId: hdr_HTMLDTD.h,v 1.2 2008/07/06 18:16:18 tom Exp $ */ +#ifndef hdr_HTMLDTD_H +#define hdr_HTMLDTD_H 1 + +#ifdef __cplusplus +extern "C" { +#endif +/* + + Element Numbers + + Must Match all tables by element! + These include tables in HTMLDTD.c + and code in HTML.c. + + */ + typedef enum { + HTML_A, + HTML_ABBR, + 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. + + Do NOT replace HTML_ELEMENTS with + TABLESIZE(mumble_dtd.tags). + + Keep the following defines in synch with + the above enum! + */ + +/* # of elements generally visible to Lynx code */ +#define HTML_ELEMENTS 118 + +/* # of elements visible to SGML parser */ +#define HTML_ALL_ELEMENTS 119 + +/* + + Attribute numbers + + Identifier is HTML_<element>_<attribute>. + These must match the tables in HTML.c! + + */ +#define HTML_A_ACCESSKEY 0 +#define HTML_A_CHARSET 1 +#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_NOTAB 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_ONBLUR 7 +#define HTML_BUTTON_ONFOCUS 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_END 4 +#define HTML_FONT_FACE 5 +#define HTML_FONT_ID 6 +#define HTML_FONT_LANG 7 +#define HTML_FONT_SIZE 8 +#define HTML_FONT_ATTRIBUTES 9 + +#define HTML_FORM_ACCEPT_CHARSET 0 +#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 +#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 +#define HTML_ISINDEX_DIR 1 +#define HTML_ISINDEX_HREF 2 +#define HTML_ISINDEX_ID 3 +#define HTML_ISINDEX_LANG 4 +#define HTML_ISINDEX_PROMPT 5 +#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 +#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 +#define HTML_META_NAME 2 +#define HTML_META_ATTRIBUTES 3 + +#define HTML_NEXTID_N 0 +#define HTML_NEXTID_ATTRIBUTES 1 + +#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 +#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 +#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 +#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 __cplusplus +} +#endif +#endif /* hdr_HTMLDTD_H */ diff --git a/WWW/Library/Implementation/src0_HTMLDTD.h b/WWW/Library/Implementation/src0_HTMLDTD.h new file mode 100644 index 00000000..2d86b533 --- /dev/null +++ b/WWW/Library/Implementation/src0_HTMLDTD.h @@ -0,0 +1,1194 @@ +/* $LynxId: src0_HTMLDTD.h,v 1.5 2008/07/07 00:03:21 tom Exp $ */ +#ifndef src_HTMLDTD_H0 +#define src_HTMLDTD_H0 1 + +#ifndef once_HTMLDTD +#define once_HTMLDTD 1 + +#define T_A 0x00008,0x0B007,0x0FF17,0x37787,0x77BA7,0x8604F,0x00014 +#define T_ABBR 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00003,0x00000 +#define T_ACRONYM 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00003,0x00000 +#define T_ADDRESS 0x00200,0x0F14F,0x8FFFF,0x36680,0xB6FAF,0x80317,0x00000 +#define T_APPLET 0x02000,0x0B0CF,0x8FFFF,0x37F9F,0xB7FBF,0x8300F,0x00000 +#define T_AREA 0x08000,0x00000,0x00000,0x08000,0x3FFFF,0x00F1F,0x00001 +#define T_AU 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00003,0x00000 +#define T_AUTHOR 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00003,0x00000 +#define T_B 0x00001,0x8B04F,0xAFFFF,0xA778F,0xF7FBF,0x00001,0x00014 +#define T_BANNER 0x00200,0x0FB8F,0x0FFFF,0x30000,0x30000,0x8031F,0x00000 +#define T_BASE 0x40000,0x00000,0x00000,0x50000,0x50000,0x8000F,0x00001 +#define T_BASEFONT 0x01000,0x00000,0x00000,0x377AF,0x37FAF,0x8F000,0x00001 +#define T_BDO 0x00100,0x0B04F,0x8FFFF,0x36680,0xB6FAF,0x0033F,0x00000 +#define T_BGSOUND 0x01000,0x00000,0x00000,0x777AF,0x77FAF,0x8730F,0x00001 +#define T_BIG 0x00001,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00014 +#define T_BLINK 0x00001,0x8B04F,0x8FFFF,0xA778F,0xF7FAF,0x00001,0x00014 +#define T_BLOCKQUOTE 0x00200,0xAFBCF,0xAFFFF,0xB6680,0xB6FAF,0x8031F,0x00000 +#define T_BODY 0x20000,0x2FB8F,0x2FFFF,0x30000,0x30000,0xDFF7F,0x00003 +#define T_BODYTEXT 0x20000,0x0FB8F,0xAFFFF,0x30200,0xB7FAF,0x8F17F,0x00003 +#define T_BQ 0x00200,0xAFBCF,0xAFFFF,0xB6680,0xB6FAF,0x8031F,0x00000 +#define T_BR 0x01000,0x00000,0x00000,0x377BF,0x77FBF,0x8101F,0x00001 +#define T_BUTTON 0x02000,0x0BB07,0x0FF37,0x0378F,0x37FBF,0x8135F,0x00000 +#define T_CAPTION 0x00100,0x0B04F,0x8FFFF,0x06A00,0xB6FA7,0x8035F,0x00000 +#define T_CENTER 0x00200,0x8FBCF,0x8FFFF,0xB6680,0xB6FA7,0x8071F,0x00000 +#define T_CITE 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00002,0x00010 +#define T_CODE 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00002,0x00000 +#define T_COL 0x04000,0x00000,0x00000,0x00820,0x36FA7,0x88F5F,0x00001 +#define T_COLGROUP 0x00020,0x04000,0x04000,0x00800,0x36FA7,0x8875F,0x00001 +#define T_COMMENT 0x00004,0x00000,0x00000,0xA77AF,0x7FFFF,0x00003,0x00000 +#define T_CREDIT 0x00100,0x0B04F,0x8FFFF,0x06A00,0xB7FBF,0x8030F,0x00000 +#define T_DD 0x00400,0x0FBCF,0x8FFFF,0x00800,0xB6FFF,0x8071F,0x00001 +#define T_DEL 0x00002,0x8BBCF,0x8FFFF,0xA7F8F,0xF7FBF,0x00003,0x00000 +#define T_DFN 0x00002,0x8B0CF,0x8FFFF,0x8778F,0xF7FBF,0x00003,0x00000 +#define T_DIR 0x00800,0x0B400,0x0F75F,0x37680,0x36FB7,0x84F7F,0x00000 +#define T_DIV 0x00200,0x8FB8F,0x8FFFF,0xB66A0,0xB7FFF,0x8031F,0x00004 +#define T_DL 0x00800,0x0C480,0x8FFFF,0x36680,0xB7FB7,0x0075F,0x00000 +#define T_DLC 0x00800,0x0C480,0x8FFFF,0x36680,0xB7FB7,0x0075F,0x00000 +#define T_DT 0x00400,0x0B04F,0x0B1FF,0x00800,0x17FFF,0x8071F,0x00001 +#define T_EM 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FAF,0x00003,0x00010 +#define T_EMBED 0x02000,0x8F107,0x8FFF7,0xB6FBF,0xB7FBF,0x1FF7F,0x00001 +#define T_FIELDSET 0x00200,0x8FB4F,0x8FF7F,0x86787,0xB7FF7,0x8805F,0x00000 +#define T_FIG 0x00200,0x0FB00,0x8FFFF,0x36680,0xB6FBF,0x8834F,0x00000 +#define T_FN 0x00200,0x8FBCF,0x8FFFF,0xB6680,0xB7EBF,0x8114F,0x00000 +#define T_FONT 0x00001,0x8B04F,0x8FFFF,0xB778F,0xF7FBF,0x00001,0x00014 +#define T_FORM 0x00080,0x0FF6F,0x0FF7F,0x36E07,0x32F07,0x88DFF,0x00000 +#define T_FRAME 0x10000,0x00000,0x00000,0x10000,0x10000,0x9FFFF,0x00001 +#define T_FRAMESET 0x10000,0x90000,0x90000,0x90000,0x93000,0x9FFFF,0x00000 +#define T_H1 0x00100,0x0B04F,0x0B05F,0x36680,0x37FAF,0x80117,0x00000 +#define T_H2 0x00100,0x0B04F,0x0B05F,0x36680,0x37FAF,0x80117,0x00000 +#define T_H3 0x00100,0x0B04F,0x0B05F,0x36680,0x37FAF,0x80117,0x00000 +#define T_H4 0x00100,0x0B04F,0x0B05F,0x36680,0x37FAF,0x80117,0x00000 +#define T_H5 0x00100,0x0B04F,0x0B05F,0x36680,0x37FAF,0x80117,0x00000 +#define T_H6 0x00100,0x0B04F,0x0B05F,0x36680,0x37FAF,0x80117,0x00000 +#define T_HEAD 0x40000,0x4F000,0x47000,0x10000,0x10000,0x9FF7F,0x00007 +#define T_HR 0x04000,0x00000,0x00000,0x3FE80,0x3FFBF,0x87F37,0x00001 +#define T_HTML 0x10000,0x7FB8F,0x7FFFF,0x00000,0x00000,0x1FFFF,0x00003 +#define T_HY 0x01000,0x00000,0x00000,0x3779F,0x77FBF,0x8101F,0x00001 +#define T_I 0x00001,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00014 +#define T_IFRAME 0x02000,0x8FBCF,0x8FFFF,0xB679F,0xB6FBF,0xD335F,0x00000 +#define T_IMG 0x01000,0x00000,0x00000,0x3779F,0x37FBF,0x80000,0x00001 +#define T_INPUT 0x00040,0x00000,0x00000,0x03F87,0x37F87,0x8904F,0x00001 +#define T_INS 0x00002,0x8BBCF,0x8FFFF,0xA7F8F,0xF7FBF,0x00003,0x00000 +#define T_ISINDEX 0x08000,0x00000,0x00000,0x7778F,0x7FFAF,0x80007,0x00001 +#define T_KBD 0x00002,0x00000,0x00000,0x2778F,0x77FBF,0x00003,0x00000 +#define T_KEYGEN 0x00040,0x00000,0x00000,0x07FB7,0x37FB7,0x80070,0x00001 +#define T_LABEL 0x00002,0x0304F,0x0FFFF,0x0679F,0x36FBF,0x00007,0x00000 +#define T_LEGEND 0x00002,0x0B04F,0x8FF7F,0x00200,0xB7FA7,0x00003,0x00000 +#define T_LH 0x00400,0x0BB7F,0x8FFFF,0x00800,0x97FFF,0x8071F,0x00001 +#define T_LI 0x00400,0x0BBFF,0x8FFFF,0x00800,0x97FFF,0x8071F,0x00001 +#define T_LINK 0x08000,0x00000,0x00000,0x50000,0x50000,0x0FF7F,0x00001 +#define T_LISTING 0x00800,0x00000,0x00000,0x36600,0x36F00,0x80F1F,0x00000 +#define T_MAP 0x08000,0x08000,0x08000,0x37FCF,0x37FBF,0x0071F,0x00000 +#define T_MARQUEE 0x04000,0x0000F,0x8F01F,0x37787,0xB7FA7,0x8301C,0x00000 +#define T_MATH 0x00004,0x0B05F,0x8FFFF,0x2778F,0xF7FBF,0x0001F,0x00000 +#define T_MENU 0x00800,0x0B400,0x0F75F,0x17680,0x36FB7,0x88F7F,0x00000 +#define T_META 0x08000,0x00000,0x00000,0x50000,0x50000,0x0FF7F,0x00001 +#define T_NEXTID 0x01000,0x00000,0x00000,0x50000,0x1FFF7,0x00001,0x00001 +#define T_NOFRAMES 0x20000,0x2FB8F,0x0FFFF,0x17000,0x17000,0x0CF5F,0x00000 +#define T_NOTE 0x00200,0x0BBAF,0x8FFFF,0x376B0,0xB7FFF,0x8031F,0x00000 +#define T_OBJECT 0x02000,0x8FBCF,0x8FFFF,0xB679F,0xB6FBF,0x83F5F,0x00020 +#define T_OL 0x00800,0x0C400,0x8FFFF,0x37680,0xB7FB7,0x88F7F,0x00000 +#define T_OPTION 0x08000,0x00000,0x00000,0x00040,0x37FFF,0x8031F,0x00001 +#define T_OVERLAY 0x04000,0x00000,0x00000,0x00200,0x37FBF,0x83F7F,0x00001 +#define T_P 0x00100,0x0B04F,0x8FFFF,0x36680,0xB6FA7,0x80117,0x00001 +#define T_PARAM 0x01000,0x00000,0x00000,0x33500,0x37FFF,0x81560,0x00001 +#define T_PLAINTEXT 0x10000,0xFFFFF,0xFFFFF,0x90000,0x90000,0x3FFFF,0x00001 +#define T_PRE 0x00200,0x0F04F,0x0F05E,0x36680,0x36FF0,0x8071E,0x00000 +#define T_Q 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FAF,0x00003,0x00000 +#define T_S 0x00001,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00000 +#define T_SAMP 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00002,0x00010 +#define T_SCRIPT 0x02000,0x00000,0x00000,0x77F9F,0x77FFF,0x87F5F,0x00000 +#define T_SELECT 0x00040,0x08000,0x08000,0x03FAF,0x33FBF,0x80F5F,0x00008 +#define T_SHY 0x01000,0x00000,0x00000,0x3779F,0x77FBF,0x8101F,0x00001 +#define T_SMALL 0x00001,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00014 +#define T_SPAN 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x80003,0x00000 +#define T_SPOT 0x00008,0x00000,0x00000,0x3FFF7,0x3FFF7,0x00008,0x00001 +#define T_STRIKE 0x00001,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00000 +#define T_STRONG 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FAF,0x00003,0x00010 +#define T_STYLE 0x40000,0x00000,0x00000,0x7638F,0x76FAF,0x8001F,0x00000 +#define T_SUB 0x00004,0x8B05F,0x8FFFF,0x8779F,0xF7FBF,0x00007,0x00000 +#define T_SUP 0x00004,0x8B05F,0x8FFFF,0x8779F,0xF7FBF,0x00007,0x00000 +#define T_TAB 0x01000,0x00000,0x00000,0x3778F,0x57FAF,0x00001,0x00001 +#define T_TABLE 0x00800,0x0F1E0,0x8FFFF,0x36680,0xB6FA7,0x8C57F,0x00000 +#define T_TBODY 0x00020,0x00020,0x8FFFF,0x00880,0xB7FB7,0x8C75F,0x00003 +#define T_TD 0x00400,0x0FBCF,0x8FFFF,0x00020,0xB7FB7,0x8C75F,0x00001 +#define T_TEXTAREA 0x00040,0x00000,0x00000,0x07F8F,0x33FBF,0x80F5F,0x00040 +#define T_TEXTFLOW 0x20000,0x8FBFF,0x9FFFF,0x977B0,0xB7FB7,0x9B00F,0x00003 +#define T_TFOOT 0x00020,0x00020,0x8FFFF,0x00800,0xB7FB7,0x8CF5F,0x00001 +#define T_TH 0x00400,0x0FBCF,0x0FFFF,0x00020,0xB7FB7,0x8CF5F,0x00001 +#define T_THEAD 0x00020,0x00020,0x8FFFF,0x00800,0xB7FB7,0x8CF5F,0x00001 +#define T_TITLE 0x40000,0x00000,0x00000,0x50000,0x50000,0x0031F,0x0000C +#define T_TR 0x00020,0x00400,0x8FFFF,0x00820,0xB7FB7,0x8C75F,0x00001 +#define T_TT 0x00001,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00010 +#define T_U 0x00001,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00014 +#define T_UL 0x00800,0x0C480,0x8FFFF,0x36680,0xB7FFF,0x8075F,0x00000 +#define T_VAR 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00000 +#define T_WBR 0x00001,0x00000,0x00000,0x3778F,0x77FBF,0x8101F,0x00001 +#define T_XMP 0x00800,0x00000,0x00000,0x367E0,0x36FFF,0x0875F,0x00001 +#define T_OBJECT_PCDATA 0x02000,0x8FBCF,0x8FFFF,0xB679F,0xB6FBF,0x83F5F,0x00008 +#define T__UNREC_ 0x00000,0x00000,0x00000,0x00000,0x00000,0x00000,0x00000 +#ifdef USE_PRETTYSRC +# define N HTMLA_NORMAL +# define i HTMLA_ANAME +# define h HTMLA_HREF +# define c HTMLA_CLASS +# define x HTMLA_AUXCLASS +# define T(t) , t +#else +# define T(t) /*nothing */ +#endif +/* *INDENT-OFF* */ + +static attr a_attr[] = { /* A attributes */ + { "ACCESSKEY" T(N) }, + { "CHARSET" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "COORDS" T(N) }, + { "DIR" T(N) }, + { "HREF" T(h) }, + { "ID" T(i) }, + { "ISMAP" T(N) }, + { "LANG" T(N) }, + { "MD" T(N) }, + { "NAME" T(i) }, + { "NOTAB" T(N) }, + { "ONCLICK" T(N) }, + { "ONMOUSEOUT" T(N) }, + { "ONMOUSEOVER" T(N) }, + { "REL" T(N) }, + { "REV" T(N) }, + { "SHAPE" T(N) }, + { "STYLE" T(N) }, + { "TABINDEX" T(N) }, + { "TARGET" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { "URN" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr address_attr[] = { /* ADDRESS attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NOWRAP" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr applet_attr[] = { /* APPLET attributes */ + { "ALIGN" T(N) }, + { "ALT" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "CODE" T(N) }, + { "CODEBASE" T(h) }, + { "DIR" T(N) }, + { "DOWNLOAD" T(N) }, + { "HEIGHT" T(N) }, + { "HSPACE" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NAME" T(i) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "VSPACE" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr area_attr[] = { /* AREA attributes */ + { "ALT" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "COORDS" T(N) }, + { "DIR" T(N) }, + { "HREF" T(h) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NOHREF" T(N) }, + { "NOTAB" T(N) }, + { "ONCLICK" T(N) }, + { "ONMOUSEOUT" T(N) }, + { "ONMOUSEOVER" T(N) }, + { "SHAPE" T(N) }, + { "STYLE" T(N) }, + { "TABINDEX" T(N) }, + { "TARGET" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr base_attr[] = { /* BASE attributes */ + { "HREF" T(h) }, + { "TARGET" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr bgsound_attr[] = { /* BGSOUND attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "LOOP" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr body_attr[] = { /* BODY attributes */ + { "ALINK" T(N) }, + { "BACKGROUND" T(h) }, + { "BGCOLOR" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "LINK" T(N) }, + { "ONLOAD" T(N) }, + { "ONUNLOAD" T(N) }, + { "STYLE" T(N) }, + { "TEXT" T(N) }, + { "TITLE" T(N) }, + { "VLINK" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr bodytext_attr[] = { /* BODYTEXT attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DATA" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NAME" T(N) }, + { "OBJECT" T(N) }, + { "REF" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { "VALUE" T(N) }, + { "VALUETYPE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr bq_attr[] = { /* BLOCKQUOTE attributes */ + { "CITE" T(h) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NOWRAP" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr button_attr[] = { /* BUTTON attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "DISABLED" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NAME" T(N) }, + { "ONBLUR" T(N) }, + { "ONFOCUS" T(N) }, + { "STYLE" T(N) }, + { "TABINDEX" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { "VALUE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr caption_attr[] = { /* CAPTION attributes */ + { "ACCESSKEY" T(N) }, + { "ALIGN" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr col_attr[] = { /* COL attributes */ + { "ALIGN" T(N) }, + { "CHAR" T(N) }, + { "CHAROFF" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "SPAN" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "VALIGN" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr credit_attr[] = { /* CREDIT attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr div_attr[] = { /* CENTER attributes */ + { "ALIGN" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr dl_attr[] = { /* DL attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "COMPACT" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr embed_attr[] = { /* EMBED attributes */ + { "ALIGN" T(N) }, + { "ALT" T(N) }, + { "BORDER" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "HEIGHT" T(N) }, + { "ID" T(i) }, + { "IMAGEMAP" T(N) }, + { "ISMAP" T(N) }, + { "LANG" T(N) }, + { "MD" T(N) }, + { "NAME" T(i) }, + { "NOFLOW" T(N) }, + { "PARAMS" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "UNITS" T(N) }, + { "USEMAP" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr fieldset_attr[] = { /* FIELDSET attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr fig_attr[] = { /* FIG attributes */ + { "ALIGN" T(N) }, + { "BORDER" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "HEIGHT" T(N) }, + { "ID" T(i) }, + { "IMAGEMAP" T(N) }, + { "ISOBJECT" T(N) }, + { "LANG" T(N) }, + { "MD" T(N) }, + { "NOFLOW" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "UNITS" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr fn_attr[] = { /* FN attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr font_attr[] = { /* BASEFONT attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "COLOR" T(N) }, + { "DIR" T(N) }, + { "END" T(N) }, + { "FACE" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "SIZE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr form_attr[] = { /* FORM attributes */ + { "ACCEPT-CHARSET" T(N) }, + { "ACTION" T(h) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ENCTYPE" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "METHOD" T(N) }, + { "ONSUBMIT" T(N) }, + { "SCRIPT" T(N) }, + { "STYLE" T(N) }, + { "SUBJECT" T(N) }, + { "TARGET" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr frame_attr[] = { /* FRAME attributes */ + { "ID" T(i) }, + { "LONGDESC" T(h) }, + { "MARGINHEIGHT" T(N) }, + { "MARGINWIDTH" T(N) }, + { "NAME" T(N) }, + { "NORESIZE" T(N) }, + { "SCROLLING" T(N) }, + { "SRC" T(h) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr frameset_attr[] = { /* FRAMESET attributes */ + { "COLS" T(N) }, + { "ROWS" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr gen_attr[] = { /* ABBR attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr h_attr[] = { /* H1 attributes */ + { "ALIGN" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DINGBAT" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "MD" T(N) }, + { "NOWRAP" T(N) }, + { "SEQNUM" T(N) }, + { "SKIP" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr hr_attr[] = { /* HR attributes */ + { "ALIGN" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "MD" T(N) }, + { "NOSHADE" T(N) }, + { "SIZE" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr iframe_attr[] = { /* IFRAME attributes */ + { "ALIGN" T(N) }, + { "FRAMEBORDER" T(N) }, + { "HEIGHT" T(N) }, + { "ID" T(i) }, + { "LONGDESC" T(h) }, + { "MARGINHEIGHT" T(N) }, + { "MARGINWIDTH" T(N) }, + { "NAME" T(N) }, + { "SCROLLING" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr img_attr[] = { /* IMG attributes */ + { "ALIGN" T(N) }, + { "ALT" T(N) }, + { "BORDER" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "HEIGHT" T(N) }, + { "ID" T(i) }, + { "ISMAP" T(N) }, + { "ISOBJECT" T(N) }, + { "LANG" T(N) }, + { "LONGDESC" T(h) }, + { "MD" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "UNITS" T(N) }, + { "USEMAP" T(h) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr input_attr[] = { /* INPUT attributes */ + { "ACCEPT" T(N) }, + { "ACCEPT-CHARSET" T(N) }, + { "ALIGN" T(N) }, + { "ALT" T(N) }, + { "CHECKED" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "DISABLED" T(N) }, + { "ERROR" T(N) }, + { "HEIGHT" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "MAX" T(N) }, + { "MAXLENGTH" T(N) }, + { "MD" T(N) }, + { "MIN" T(N) }, + { "NAME" T(N) }, + { "NOTAB" T(N) }, + { "ONBLUR" T(N) }, + { "ONCHANGE" T(N) }, + { "ONCLICK" T(N) }, + { "ONFOCUS" T(N) }, + { "ONSELECT" T(N) }, + { "SIZE" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TABINDEX" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { "VALUE" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr isindex_attr[] = { /* ISINDEX attributes */ + { "ACTION" T(h) }, + { "DIR" T(N) }, + { "HREF" T(h) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "PROMPT" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr keygen_attr[] = { /* KEYGEN attributes */ + { "CHALLENGE" T(N) }, + { "CLASS" T(c) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NAME" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr label_attr[] = { /* LABEL attributes */ + { "ACCESSKEY" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "FOR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "ONCLICK" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr legend_attr[] = { /* LEGEND attributes */ + { "ACCESSKEY" T(N) }, + { "ALIGN" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr li_attr[] = { /* LI attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DINGBAT" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "MD" T(N) }, + { "SKIP" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { "VALUE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr link_attr[] = { /* LINK attributes */ + { "CHARSET" T(N) }, + { "CLASS" T(c) }, + { "HREF" T(h) }, + { "ID" T(i) }, + { "MEDIA" T(N) }, + { "REL" T(N) }, + { "REV" T(N) }, + { "STYLE" T(N) }, + { "TARGET" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr map_attr[] = { /* MAP attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NAME" T(i) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr math_attr[] = { /* MATH attributes */ + { "BOX" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr meta_attr[] = { /* META attributes */ + { "CONTENT" T(N) }, + { "HTTP-EQUIV" T(N) }, + { "NAME" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr nextid_attr[] = { /* NEXTID attributes */ + { "N" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr note_attr[] = { /* NOTE attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "MD" T(N) }, + { "ROLE" T(x) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr object_attr[] = { /* OBJECT attributes */ + { "ALIGN" T(N) }, + { "BORDER" T(N) }, + { "CLASS" T(c) }, + { "CLASSID" T(h) }, + { "CODEBASE" T(h) }, + { "CODETYPE" T(N) }, + { "DATA" T(h) }, + { "DECLARE" T(N) }, + { "DIR" T(N) }, + { "HEIGHT" T(N) }, + { "HSPACE" T(N) }, + { "ID" T(i) }, + { "ISMAP" T(N) }, + { "LANG" T(N) }, + { "NAME" T(N) }, + { "NOTAB" T(N) }, + { "SHAPES" T(N) }, + { "STANDBY" T(N) }, + { "STYLE" T(N) }, + { "TABINDEX" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { "USEMAP" T(h) }, + { "VSPACE" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr ol_attr[] = { /* OL attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "COMPACT" T(N) }, + { "CONTINUE" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "SEQNUM" T(N) }, + { "START" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr option_attr[] = { /* OPTION attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "DISABLED" T(N) }, + { "ERROR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "SELECTED" T(N) }, + { "SHAPE" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "VALUE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr overlay_attr[] = { /* OVERLAY attributes */ + { "CLASS" T(c) }, + { "HEIGHT" T(N) }, + { "ID" T(i) }, + { "IMAGEMAP" T(N) }, + { "MD" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "UNITS" T(N) }, + { "WIDTH" T(N) }, + { "X" T(N) }, + { "Y" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr p_attr[] = { /* P attributes */ + { "ALIGN" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NOWRAP" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr param_attr[] = { /* PARAM attributes */ + { "ACCEPT" T(N) }, + { "ACCEPT-CHARSET" T(N) }, + { "ACCEPT-ENCODING" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DATA" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NAME" T(N) }, + { "OBJECT" T(N) }, + { "REF" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { "VALUE" T(N) }, + { "VALUEREF" T(N) }, + { "VALUETYPE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr script_attr[] = { /* SCRIPT attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "EVENT" T(N) }, + { "FOR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "LANGUAGE" T(N) }, + { "NAME" T(N) }, + { "SCRIPTENGINE" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr select_attr[] = { /* SELECT attributes */ + { "ALIGN" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "DISABLED" T(N) }, + { "ERROR" T(N) }, + { "HEIGHT" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "MD" T(N) }, + { "MULTIPLE" T(N) }, + { "NAME" T(N) }, + { "NOTAB" T(N) }, + { "ONBLUR" T(N) }, + { "ONCHANGE" T(N) }, + { "ONFOCUS" T(N) }, + { "SIZE" T(N) }, + { "STYLE" T(N) }, + { "TABINDEX" T(N) }, + { "TITLE" T(N) }, + { "UNITS" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr style_attr[] = { /* STYLE attributes */ + { "DIR" T(N) }, + { "LANG" T(N) }, + { "NOTATION" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr tab_attr[] = { /* TAB attributes */ + { "ALIGN" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "DP" T(N) }, + { "ID" T(i) }, + { "INDENT" T(N) }, + { "LANG" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "TO" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr table_attr[] = { /* TABLE attributes */ + { "ALIGN" T(N) }, + { "BACKGROUND" T(h) }, + { "BORDER" T(N) }, + { "CELLPADDING" T(N) }, + { "CELLSPACING" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "COLS" T(N) }, + { "COLSPEC" T(N) }, + { "DIR" T(N) }, + { "DP" T(N) }, + { "FRAME" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NOFLOW" T(N) }, + { "NOWRAP" T(N) }, + { "RULES" T(N) }, + { "STYLE" T(N) }, + { "SUMMARY" T(N) }, + { "TITLE" T(N) }, + { "UNITS" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr td_attr[] = { /* TD attributes */ + { "ALIGN" T(N) }, + { "AXES" T(N) }, + { "AXIS" T(N) }, + { "BACKGROUND" T(h) }, + { "CHAR" T(N) }, + { "CHAROFF" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "COLSPAN" T(N) }, + { "DIR" T(N) }, + { "DP" T(N) }, + { "HEIGHT" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NOWRAP" T(N) }, + { "ROWSPAN" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "VALIGN" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr textarea_attr[] = { /* TEXTAREA attributes */ + { "ACCEPT-CHARSET" T(N) }, + { "ALIGN" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "COLS" T(N) }, + { "DIR" T(N) }, + { "DISABLED" T(N) }, + { "ERROR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NAME" T(N) }, + { "NOTAB" T(N) }, + { "ONBLUR" T(N) }, + { "ONCHANGE" T(N) }, + { "ONFOCUS" T(N) }, + { "ONSELECT" T(N) }, + { "ROWS" T(N) }, + { "STYLE" T(N) }, + { "TABINDEX" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr tr_attr[] = { /* TBODY attributes */ + { "ALIGN" T(N) }, + { "CHAR" T(N) }, + { "CHAROFF" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "DP" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NOWRAP" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "VALIGN" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr ul_attr[] = { /* DIR attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "COMPACT" T(N) }, + { "DINGBAT" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "MD" T(N) }, + { "PLAIN" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { "WRAP" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +/* *INDENT-ON* */ + +#undef N +#undef i +#undef h +#undef c +#undef x + +#undef T + +/* these definitions are used in the tags-tables */ +#undef P +#undef P_ +#ifdef USE_COLOR_STYLE +#define P_(x) x , (sizeof x) -1 +#define NULL_HTTag_ NULL, 0 +#else +#define P_(x) x +#define NULL_HTTag_ NULL +#endif + +#ifdef EXP_JUSTIFY_ELTS +#define P(x) P_(x), 1 +#define P0(x) P_(x), 0 +#define NULL_HTTag NULL_HTTag_,0 +#else +#define P(x) P_(x) +#define P0(x) P_(x) +#define NULL_HTTag NULL_HTTag_ +#endif + +#endif /* once_HTMLDTD */ +/* *INDENT-OFF* */ +static const HTTag tags_table0[HTML_ALL_ELEMENTS] = { + { P("A"), a_attr, HTML_A_ATTRIBUTES, SGML_EMPTY, T_A}, + { P("ABBR"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_ABBR}, + { P("ACRONYM"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_ACRONYM}, + { P("ADDRESS"), address_attr, HTML_ADDRESS_ATTRIBUTES, SGML_MIXED, T_ADDRESS}, + { P("APPLET"), applet_attr, HTML_APPLET_ATTRIBUTES, SGML_MIXED, T_APPLET}, + { P("AREA"), area_attr, HTML_AREA_ATTRIBUTES, SGML_EMPTY, T_AREA}, + { P("AU"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_AU}, + { P("AUTHOR"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_AUTHOR}, + { P("B"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_B}, + { P0("BANNER"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_BANNER}, + { P("BASE"), base_attr, HTML_BASE_ATTRIBUTES, SGML_EMPTY, T_BASE}, + { P("BASEFONT"), font_attr, HTML_FONT_ATTRIBUTES, SGML_EMPTY, T_BASEFONT}, + { P("BDO"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_BDO}, + { P("BGSOUND"), bgsound_attr, HTML_BGSOUND_ATTRIBUTES, SGML_EMPTY, T_BGSOUND}, + { P("BIG"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_BIG}, + { P("BLINK"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_BLINK}, + { P("BLOCKQUOTE"),bq_attr, HTML_BQ_ATTRIBUTES, SGML_MIXED, T_BLOCKQUOTE}, + { P("BODY"), body_attr, HTML_BODY_ATTRIBUTES, SGML_MIXED, T_BODY}, + { P("BODYTEXT"), bodytext_attr, HTML_BODYTEXT_ATTRIBUTES, SGML_MIXED, T_BODYTEXT}, + { P("BQ"), bq_attr, HTML_BQ_ATTRIBUTES, SGML_MIXED, T_BQ}, + { P("BR"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_BR}, + { P("BUTTON"), button_attr, HTML_BUTTON_ATTRIBUTES, SGML_MIXED, T_BUTTON}, + { P("CAPTION"), caption_attr, HTML_CAPTION_ATTRIBUTES, SGML_MIXED, T_CAPTION}, + { P("CENTER"), div_attr, HTML_DIV_ATTRIBUTES, SGML_MIXED, T_CENTER}, + { P("CITE"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_CITE}, + { P("CODE"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_CODE}, + { P("COL"), col_attr, HTML_COL_ATTRIBUTES, SGML_EMPTY, T_COL}, + { P("COLGROUP"), col_attr, HTML_COL_ATTRIBUTES, SGML_EMPTY, T_COLGROUP}, + { P("COMMENT"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_COMMENT}, + { P("CREDIT"), credit_attr, HTML_CREDIT_ATTRIBUTES, SGML_MIXED, T_CREDIT}, + { P("DD"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_DD}, + { P("DEL"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_DEL}, + { P("DFN"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_DFN}, + { P("DIR"), ul_attr, HTML_UL_ATTRIBUTES, SGML_MIXED, T_DIR}, + { P("DIV"), div_attr, HTML_DIV_ATTRIBUTES, SGML_MIXED, T_DIV}, + { P("DL"), dl_attr, HTML_DL_ATTRIBUTES, SGML_MIXED, T_DL}, + { P("DLC"), dl_attr, HTML_DL_ATTRIBUTES, SGML_MIXED, T_DLC}, + { P("DT"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_DT}, + { P("EM"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_EM}, + { P("EMBED"), embed_attr, HTML_EMBED_ATTRIBUTES, SGML_EMPTY, T_EMBED}, + { P("FIELDSET"), fieldset_attr, HTML_FIELDSET_ATTRIBUTES, SGML_MIXED, T_FIELDSET}, + { P("FIG"), fig_attr, HTML_FIG_ATTRIBUTES, SGML_MIXED, T_FIG}, + { P("FN"), fn_attr, HTML_FN_ATTRIBUTES, SGML_MIXED, T_FN}, + { P("FONT"), font_attr, HTML_FONT_ATTRIBUTES, SGML_EMPTY, T_FONT}, + { P("FORM"), form_attr, HTML_FORM_ATTRIBUTES, SGML_EMPTY, T_FORM}, + { P("FRAME"), frame_attr, HTML_FRAME_ATTRIBUTES, SGML_EMPTY, T_FRAME}, + { P("FRAMESET"), frameset_attr, HTML_FRAMESET_ATTRIBUTES, SGML_MIXED, T_FRAMESET}, + { P0("H1"), h_attr, HTML_H_ATTRIBUTES, SGML_MIXED, T_H1}, + { P0("H2"), h_attr, HTML_H_ATTRIBUTES, SGML_MIXED, T_H2}, + { P0("H3"), h_attr, HTML_H_ATTRIBUTES, SGML_MIXED, T_H3}, + { P0("H4"), h_attr, HTML_H_ATTRIBUTES, SGML_MIXED, T_H4}, + { P0("H5"), h_attr, HTML_H_ATTRIBUTES, SGML_MIXED, T_H5}, + { P0("H6"), h_attr, HTML_H_ATTRIBUTES, SGML_MIXED, T_H6}, + { P("HEAD"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_HEAD}, + { P("HR"), hr_attr, HTML_HR_ATTRIBUTES, SGML_EMPTY, T_HR}, + { P("HTML"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_HTML}, + { P("HY"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_HY}, + { P("I"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_I}, + { P("IFRAME"), iframe_attr, HTML_IFRAME_ATTRIBUTES, SGML_MIXED, T_IFRAME}, + { P("IMG"), img_attr, HTML_IMG_ATTRIBUTES, SGML_EMPTY, T_IMG}, + { P("INPUT"), input_attr, HTML_INPUT_ATTRIBUTES, SGML_EMPTY, T_INPUT}, + { P("INS"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_INS}, + { P("ISINDEX"), isindex_attr, HTML_ISINDEX_ATTRIBUTES, SGML_EMPTY, T_ISINDEX}, + { P("KBD"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_KBD}, + { P("KEYGEN"), keygen_attr, HTML_KEYGEN_ATTRIBUTES, SGML_EMPTY, T_KEYGEN}, + { P("LABEL"), label_attr, HTML_LABEL_ATTRIBUTES, SGML_MIXED, T_LABEL}, + { P("LEGEND"), legend_attr, HTML_LEGEND_ATTRIBUTES, SGML_MIXED, T_LEGEND}, + { P("LH"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_LH}, + { P("LI"), li_attr, HTML_LI_ATTRIBUTES, SGML_EMPTY, T_LI}, + { P("LINK"), link_attr, HTML_LINK_ATTRIBUTES, SGML_EMPTY, T_LINK}, + { P("LISTING"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_LITTERAL,T_LISTING}, + { P("MAP"), map_attr, HTML_MAP_ATTRIBUTES, SGML_MIXED, T_MAP}, + { P("MARQUEE"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_MARQUEE}, + { P("MATH"), math_attr, HTML_MATH_ATTRIBUTES, SGML_LITTERAL,T_MATH}, + { P("MENU"), ul_attr, HTML_UL_ATTRIBUTES, SGML_MIXED, T_MENU}, + { P("META"), meta_attr, HTML_META_ATTRIBUTES, SGML_EMPTY, T_META}, + { P("NEXTID"), nextid_attr, HTML_NEXTID_ATTRIBUTES, SGML_EMPTY, T_NEXTID}, + { P("NOFRAMES"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_NOFRAMES}, + { P("NOTE"), note_attr, HTML_NOTE_ATTRIBUTES, SGML_MIXED, T_NOTE}, + { P("OBJECT"), object_attr, HTML_OBJECT_ATTRIBUTES, SGML_LITTERAL,T_OBJECT}, + { P("OL"), ol_attr, HTML_OL_ATTRIBUTES, SGML_MIXED, T_OL}, + { P("OPTION"), option_attr, HTML_OPTION_ATTRIBUTES, SGML_EMPTY, T_OPTION}, + { P("OVERLAY"), overlay_attr, HTML_OVERLAY_ATTRIBUTES, SGML_EMPTY, T_OVERLAY}, + { P("P"), p_attr, HTML_P_ATTRIBUTES, SGML_EMPTY, T_P}, + { P("PARAM"), param_attr, HTML_PARAM_ATTRIBUTES, SGML_EMPTY, T_PARAM}, + { P("PLAINTEXT"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_LITTERAL,T_PLAINTEXT}, + { P0("PRE"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_PRE}, + { P("Q"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_Q}, + { P("S"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_S}, + { P("SAMP"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_SAMP}, + { P("SCRIPT"), script_attr, HTML_SCRIPT_ATTRIBUTES, SGML_LITTERAL,T_SCRIPT}, + { P("SELECT"), select_attr, HTML_SELECT_ATTRIBUTES, SGML_MIXED, T_SELECT}, + { P("SHY"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_SHY}, + { P("SMALL"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_SMALL}, + { P("SPAN"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_SPAN}, + { P("SPOT"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_SPOT}, + { P("STRIKE"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_STRIKE}, + { P("STRONG"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_STRONG}, + { P("STYLE"), style_attr, HTML_STYLE_ATTRIBUTES, SGML_LITTERAL,T_STYLE}, + { P("SUB"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_SUB}, + { P("SUP"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_SUP}, + { P("TAB"), tab_attr, HTML_TAB_ATTRIBUTES, SGML_EMPTY, T_TAB}, + { P("TABLE"), table_attr, HTML_TABLE_ATTRIBUTES, SGML_MIXED, T_TABLE}, + { P("TBODY"), tr_attr, HTML_TR_ATTRIBUTES, SGML_EMPTY, T_TBODY}, + { P("TD"), td_attr, HTML_TD_ATTRIBUTES, SGML_EMPTY, T_TD}, + { P("TEXTAREA"), textarea_attr, HTML_TEXTAREA_ATTRIBUTES, SGML_LITTERAL,T_TEXTAREA}, + { P("TEXTFLOW"), bodytext_attr, HTML_BODYTEXT_ATTRIBUTES, SGML_MIXED, T_TEXTFLOW}, + { P("TFOOT"), tr_attr, HTML_TR_ATTRIBUTES, SGML_EMPTY, T_TFOOT}, + { P("TH"), td_attr, HTML_TD_ATTRIBUTES, SGML_EMPTY, T_TH}, + { P("THEAD"), tr_attr, HTML_TR_ATTRIBUTES, SGML_EMPTY, T_THEAD}, + { P("TITLE"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_RCDATA, T_TITLE}, + { P("TR"), tr_attr, HTML_TR_ATTRIBUTES, SGML_EMPTY, T_TR}, + { P("TT"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_TT}, + { P("U"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_U}, + { P("UL"), ul_attr, HTML_UL_ATTRIBUTES, SGML_MIXED, T_UL}, + { P("VAR"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_VAR}, + { P("WBR"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_WBR}, + { P0("XMP"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_LITTERAL,T_XMP}, +/* additional (alternative variants), not counted in HTML_ELEMENTS: */ +/* This one will be used as a temporary substitute within the parser when + it has been signalled to parse OBJECT content as MIXED. - kw */ + { P("OBJECT"), object_attr, HTML_OBJECT_ATTRIBUTES, SGML_MIXED, T_OBJECT_PCDATA}, +}; +/* *INDENT-ON* */ + +#endif /* src_HTMLDTD_H0 */ diff --git a/WWW/Library/Implementation/src1_HTMLDTD.h b/WWW/Library/Implementation/src1_HTMLDTD.h new file mode 100644 index 00000000..6506d2b7 --- /dev/null +++ b/WWW/Library/Implementation/src1_HTMLDTD.h @@ -0,0 +1,1194 @@ +/* $LynxId: src1_HTMLDTD.h,v 1.5 2008/07/07 00:03:21 tom Exp $ */ +#ifndef src_HTMLDTD_H1 +#define src_HTMLDTD_H1 1 + +#ifndef once_HTMLDTD +#define once_HTMLDTD 1 + +#define T_A 0x00008,0x0B007,0x0FF17,0x37787,0x77BA7,0x8604F,0x00014 +#define T_ABBR 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00003,0x00000 +#define T_ACRONYM 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00003,0x00000 +#define T_ADDRESS 0x00200,0x0F14F,0x8FFFF,0x36680,0xB6FAF,0x80317,0x00000 +#define T_APPLET 0x02000,0x0B0CF,0x8FFFF,0x37F9F,0xB7FBF,0x8300F,0x00000 +#define T_AREA 0x08000,0x00000,0x00000,0x08000,0x3FFFF,0x00F1F,0x00001 +#define T_AU 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00003,0x00000 +#define T_AUTHOR 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00003,0x00000 +#define T_B 0x00001,0x8B04F,0xAFFFF,0xA778F,0xF7FBF,0x00001,0x00014 +#define T_BANNER 0x00200,0x0FB8F,0x0FFFF,0x30000,0x30000,0x8031F,0x00000 +#define T_BASE 0x40000,0x00000,0x00000,0x50000,0x50000,0x8000F,0x00001 +#define T_BASEFONT 0x01000,0x00000,0x00000,0x377AF,0x37FAF,0x8F000,0x00001 +#define T_BDO 0x00100,0x0B04F,0x8FFFF,0x36680,0xB6FAF,0x0033F,0x00000 +#define T_BGSOUND 0x01000,0x00000,0x00000,0x777AF,0x77FAF,0x8730F,0x00001 +#define T_BIG 0x00001,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00014 +#define T_BLINK 0x00001,0x8B04F,0x8FFFF,0xA778F,0xF7FAF,0x00001,0x00014 +#define T_BLOCKQUOTE 0x00200,0xAFBCF,0xAFFFF,0xB6680,0xB6FAF,0x8031F,0x00000 +#define T_BODY 0x20000,0x2FB8F,0x2FFFF,0x30000,0x30000,0xDFF7F,0x00003 +#define T_BODYTEXT 0x20000,0x0FB8F,0xAFFFF,0x30200,0xB7FAF,0x8F17F,0x00003 +#define T_BQ 0x00200,0xAFBCF,0xAFFFF,0xB6680,0xB6FAF,0x8031F,0x00000 +#define T_BR 0x01000,0x00000,0x00000,0x377BF,0x77FBF,0x8101F,0x00001 +#define T_BUTTON 0x02000,0x0BB07,0x0FF37,0x0378F,0x37FBF,0x8135F,0x00000 +#define T_CAPTION 0x00100,0x0B04F,0x8FFFF,0x06A00,0xB6FA7,0x8035F,0x00000 +#define T_CENTER 0x00200,0x8FBCF,0x8FFFF,0xB6680,0xB6FA7,0x8071F,0x00000 +#define T_CITE 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00002,0x00010 +#define T_CODE 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00002,0x00000 +#define T_COL 0x04000,0x00000,0x00000,0x00820,0x36FA7,0x88F5F,0x00001 +#define T_COLGROUP 0x00020,0x04000,0x04000,0x00800,0x36FA7,0x8875F,0x00001 +#define T_COMMENT 0x00004,0x00000,0x00000,0xA77AF,0x7FFFF,0x00003,0x00000 +#define T_CREDIT 0x00100,0x0B04F,0x8FFFF,0x06A00,0xB7FBF,0x8030F,0x00000 +#define T_DD 0x00400,0x0FBCF,0x8FFFF,0x00800,0xB6FFF,0x8071F,0x00001 +#define T_DEL 0x00002,0x8BBCF,0x8FFFF,0xA7F8F,0xF7FBF,0x00003,0x00000 +#define T_DFN 0x00002,0x8B0CF,0x8FFFF,0x8778F,0xF7FBF,0x00003,0x00000 +#define T_DIR 0x00800,0x0B400,0x0F75F,0x37680,0x36FB7,0x84F7F,0x00000 +#define T_DIV 0x00200,0x8FB8F,0x8FFFF,0xB66A0,0xB7FFF,0x8031F,0x00004 +#define T_DL 0x00800,0x0C480,0x8FFFF,0x36680,0xB7FB7,0x0075F,0x00000 +#define T_DLC 0x00800,0x0C480,0x8FFFF,0x36680,0xB7FB7,0x0075F,0x00000 +#define T_DT 0x00400,0x0B04F,0x0B1FF,0x00800,0x17FFF,0x8071F,0x00001 +#define T_EM 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FAF,0x00003,0x00010 +#define T_EMBED 0x02000,0x8F107,0x8FFF7,0xB6FBF,0xB7FBF,0x1FF7F,0x00001 +#define T_FIELDSET 0x00200,0x8FB4F,0x8FF7F,0x86787,0xB7FF7,0x8805F,0x00000 +#define T_FIG 0x00200,0x0FB00,0x8FFFF,0x36680,0xB6FBF,0x8834F,0x00000 +#define T_FN 0x00200,0x8FBCF,0x8FFFF,0xB6680,0xB7EBF,0x8114F,0x00000 +#define T_FONT 0x00001,0x8B04F,0x8FFFF,0xB778F,0xF7FBF,0x00001,0x00014 +#define T_FORM 0x00080,0x0FF6F,0x0FF7F,0x36E07,0x32F07,0x88DFF,0x00000 +#define T_FRAME 0x10000,0x00000,0x00000,0x10000,0x10000,0x9FFFF,0x00001 +#define T_FRAMESET 0x10000,0x90000,0x90000,0x90000,0x93000,0x9FFFF,0x00000 +#define T_H1 0x00100,0x0B04F,0x0B05F,0x36680,0x37FAF,0x80117,0x00000 +#define T_H2 0x00100,0x0B04F,0x0B05F,0x36680,0x37FAF,0x80117,0x00000 +#define T_H3 0x00100,0x0B04F,0x0B05F,0x36680,0x37FAF,0x80117,0x00000 +#define T_H4 0x00100,0x0B04F,0x0B05F,0x36680,0x37FAF,0x80117,0x00000 +#define T_H5 0x00100,0x0B04F,0x0B05F,0x36680,0x37FAF,0x80117,0x00000 +#define T_H6 0x00100,0x0B04F,0x0B05F,0x36680,0x37FAF,0x80117,0x00000 +#define T_HEAD 0x40000,0x4F000,0x47000,0x10000,0x10000,0x9FF7F,0x00007 +#define T_HR 0x04000,0x00000,0x00000,0x3FE80,0x3FFBF,0x87F37,0x00001 +#define T_HTML 0x10000,0x7FB8F,0x7FFFF,0x00000,0x00000,0x1FFFF,0x00003 +#define T_HY 0x01000,0x00000,0x00000,0x3779F,0x77FBF,0x8101F,0x00001 +#define T_I 0x00001,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00014 +#define T_IFRAME 0x02000,0x8FBCF,0x8FFFF,0xB679F,0xB6FBF,0xD335F,0x00000 +#define T_IMG 0x01000,0x00000,0x00000,0x3779F,0x37FBF,0x80000,0x00001 +#define T_INPUT 0x00040,0x00000,0x00000,0x03F87,0x37F87,0x8904F,0x00001 +#define T_INS 0x00002,0x8BBCF,0x8FFFF,0xA7F8F,0xF7FBF,0x00003,0x00000 +#define T_ISINDEX 0x08000,0x00000,0x00000,0x7778F,0x7FFAF,0x80007,0x00001 +#define T_KBD 0x00002,0x00000,0x00000,0x2778F,0x77FBF,0x00003,0x00000 +#define T_KEYGEN 0x00040,0x00000,0x00000,0x07FB7,0x37FB7,0x80070,0x00001 +#define T_LABEL 0x00002,0x0304F,0x0FFFF,0x0679F,0x36FBF,0x00007,0x00000 +#define T_LEGEND 0x00002,0x0B04F,0x8FF7F,0x00200,0xB7FA7,0x00003,0x00000 +#define T_LH 0x00400,0x0BB7F,0x8FFFF,0x00800,0x97FFF,0x8071F,0x00001 +#define T_LI 0x00400,0x0BBFF,0x8FFFF,0x00800,0x97FFF,0x8071F,0x00001 +#define T_LINK 0x08000,0x00000,0x00000,0x50000,0x50000,0x0FF7F,0x00001 +#define T_LISTING 0x00800,0x00000,0x00000,0x36600,0x36F00,0x80F1F,0x00000 +#define T_MAP 0x08000,0x08000,0x08000,0x37FCF,0x37FBF,0x0071F,0x00000 +#define T_MARQUEE 0x04000,0x0000F,0x8F01F,0x37787,0xB7FA7,0x8301C,0x00000 +#define T_MATH 0x00004,0x0B05F,0x8FFFF,0x2778F,0xF7FBF,0x0001F,0x00000 +#define T_MENU 0x00800,0x0B400,0x0F75F,0x17680,0x36FB7,0x88F7F,0x00000 +#define T_META 0x08000,0x00000,0x00000,0x50000,0x50000,0x0FF7F,0x00001 +#define T_NEXTID 0x01000,0x00000,0x00000,0x50000,0x1FFF7,0x00001,0x00001 +#define T_NOFRAMES 0x20000,0x2FB8F,0x0FFFF,0x17000,0x17000,0x0CF5F,0x00000 +#define T_NOTE 0x00200,0x0BBAF,0x8FFFF,0x376B0,0xB7FFF,0x8031F,0x00000 +#define T_OBJECT 0x02000,0x8FBCF,0x8FFFF,0xB679F,0xB6FBF,0x83F5F,0x00020 +#define T_OL 0x00800,0x0C400,0x8FFFF,0x37680,0xB7FB7,0x88F7F,0x00000 +#define T_OPTION 0x08000,0x00000,0x00000,0x00040,0x37FFF,0x8031F,0x00001 +#define T_OVERLAY 0x04000,0x00000,0x00000,0x00200,0x37FBF,0x83F7F,0x00001 +#define T_P 0x00100,0x0B04F,0x8FFFF,0x36680,0xB6FA7,0x80117,0x00001 +#define T_PARAM 0x01000,0x00000,0x00000,0x33500,0x37FFF,0x81560,0x00001 +#define T_PLAINTEXT 0x10000,0xFFFFF,0xFFFFF,0x90000,0x90000,0x3FFFF,0x00001 +#define T_PRE 0x00200,0x0F04F,0x0F05E,0x36680,0x36FF0,0x8071E,0x00000 +#define T_Q 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FAF,0x00003,0x00000 +#define T_S 0x00001,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00000 +#define T_SAMP 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00002,0x00010 +#define T_SCRIPT 0x02000,0x00000,0x00000,0x77F9F,0x77FFF,0x87F5F,0x00000 +#define T_SELECT 0x00040,0x08000,0x08000,0x03FAF,0x33FBF,0x80F5F,0x00008 +#define T_SHY 0x01000,0x00000,0x00000,0x3779F,0x77FBF,0x8101F,0x00001 +#define T_SMALL 0x00001,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00014 +#define T_SPAN 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x80003,0x00000 +#define T_SPOT 0x00008,0x00000,0x00000,0x3FFF7,0x3FFF7,0x00008,0x00001 +#define T_STRIKE 0x00001,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00000 +#define T_STRONG 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FAF,0x00003,0x00010 +#define T_STYLE 0x40000,0x00000,0x00000,0x7638F,0x76FAF,0x8001F,0x00000 +#define T_SUB 0x00004,0x8B05F,0x8FFFF,0x8779F,0xF7FBF,0x00007,0x00000 +#define T_SUP 0x00004,0x8B05F,0x8FFFF,0x8779F,0xF7FBF,0x00007,0x00000 +#define T_TAB 0x01000,0x00000,0x00000,0x3778F,0x57FAF,0x00001,0x00001 +#define T_TABLE 0x00800,0x0F1E0,0x8FFFF,0x36680,0xB6FA7,0x8C57F,0x00000 +#define T_TBODY 0x00020,0x00020,0x8FFFF,0x00880,0xB7FB7,0x8C75F,0x00003 +#define T_TD 0x00400,0x0FBCF,0x8FFFF,0x00020,0xB7FB7,0x8C75F,0x00001 +#define T_TEXTAREA 0x00040,0x00000,0x00000,0x07F8F,0x33FBF,0x80F5F,0x00040 +#define T_TEXTFLOW 0x20000,0x8FBFF,0x9FFFF,0x977B0,0xB7FB7,0x9B00F,0x00003 +#define T_TFOOT 0x00020,0x00020,0x8FFFF,0x00800,0xB7FB7,0x8CF5F,0x00001 +#define T_TH 0x00400,0x0FBCF,0x0FFFF,0x00020,0xB7FB7,0x8CF5F,0x00001 +#define T_THEAD 0x00020,0x00020,0x8FFFF,0x00800,0xB7FB7,0x8CF5F,0x00001 +#define T_TITLE 0x40000,0x00000,0x00000,0x50000,0x50000,0x0031F,0x0000C +#define T_TR 0x00020,0x00400,0x8FFFF,0x00820,0xB7FB7,0x8C75F,0x00001 +#define T_TT 0x00001,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00010 +#define T_U 0x00001,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00014 +#define T_UL 0x00800,0x0C480,0x8FFFF,0x36680,0xB7FFF,0x8075F,0x00000 +#define T_VAR 0x00002,0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00000 +#define T_WBR 0x00001,0x00000,0x00000,0x3778F,0x77FBF,0x8101F,0x00001 +#define T_XMP 0x00800,0x00000,0x00000,0x367E0,0x36FFF,0x0875F,0x00001 +#define T_OBJECT_PCDATA 0x02000,0x8FBCF,0x8FFFF,0xB679F,0xB6FBF,0x83F5F,0x00008 +#define T__UNREC_ 0x00000,0x00000,0x00000,0x00000,0x00000,0x00000,0x00000 +#ifdef USE_PRETTYSRC +# define N HTMLA_NORMAL +# define i HTMLA_ANAME +# define h HTMLA_HREF +# define c HTMLA_CLASS +# define x HTMLA_AUXCLASS +# define T(t) , t +#else +# define T(t) /*nothing */ +#endif +/* *INDENT-OFF* */ + +static attr a_attr[] = { /* A attributes */ + { "ACCESSKEY" T(N) }, + { "CHARSET" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "COORDS" T(N) }, + { "DIR" T(N) }, + { "HREF" T(h) }, + { "ID" T(i) }, + { "ISMAP" T(N) }, + { "LANG" T(N) }, + { "MD" T(N) }, + { "NAME" T(i) }, + { "NOTAB" T(N) }, + { "ONCLICK" T(N) }, + { "ONMOUSEOUT" T(N) }, + { "ONMOUSEOVER" T(N) }, + { "REL" T(N) }, + { "REV" T(N) }, + { "SHAPE" T(N) }, + { "STYLE" T(N) }, + { "TABINDEX" T(N) }, + { "TARGET" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { "URN" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr address_attr[] = { /* ADDRESS attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NOWRAP" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr applet_attr[] = { /* APPLET attributes */ + { "ALIGN" T(N) }, + { "ALT" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "CODE" T(N) }, + { "CODEBASE" T(h) }, + { "DIR" T(N) }, + { "DOWNLOAD" T(N) }, + { "HEIGHT" T(N) }, + { "HSPACE" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NAME" T(i) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "VSPACE" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr area_attr[] = { /* AREA attributes */ + { "ALT" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "COORDS" T(N) }, + { "DIR" T(N) }, + { "HREF" T(h) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NOHREF" T(N) }, + { "NOTAB" T(N) }, + { "ONCLICK" T(N) }, + { "ONMOUSEOUT" T(N) }, + { "ONMOUSEOVER" T(N) }, + { "SHAPE" T(N) }, + { "STYLE" T(N) }, + { "TABINDEX" T(N) }, + { "TARGET" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr base_attr[] = { /* BASE attributes */ + { "HREF" T(h) }, + { "TARGET" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr bgsound_attr[] = { /* BGSOUND attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "LOOP" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr body_attr[] = { /* BODY attributes */ + { "ALINK" T(N) }, + { "BACKGROUND" T(h) }, + { "BGCOLOR" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "LINK" T(N) }, + { "ONLOAD" T(N) }, + { "ONUNLOAD" T(N) }, + { "STYLE" T(N) }, + { "TEXT" T(N) }, + { "TITLE" T(N) }, + { "VLINK" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr bodytext_attr[] = { /* BODYTEXT attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DATA" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NAME" T(N) }, + { "OBJECT" T(N) }, + { "REF" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { "VALUE" T(N) }, + { "VALUETYPE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr bq_attr[] = { /* BLOCKQUOTE attributes */ + { "CITE" T(h) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NOWRAP" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr button_attr[] = { /* BUTTON attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "DISABLED" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NAME" T(N) }, + { "ONBLUR" T(N) }, + { "ONFOCUS" T(N) }, + { "STYLE" T(N) }, + { "TABINDEX" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { "VALUE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr caption_attr[] = { /* CAPTION attributes */ + { "ACCESSKEY" T(N) }, + { "ALIGN" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr col_attr[] = { /* COL attributes */ + { "ALIGN" T(N) }, + { "CHAR" T(N) }, + { "CHAROFF" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "SPAN" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "VALIGN" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr credit_attr[] = { /* CREDIT attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr div_attr[] = { /* CENTER attributes */ + { "ALIGN" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr dl_attr[] = { /* DL attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "COMPACT" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr embed_attr[] = { /* EMBED attributes */ + { "ALIGN" T(N) }, + { "ALT" T(N) }, + { "BORDER" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "HEIGHT" T(N) }, + { "ID" T(i) }, + { "IMAGEMAP" T(N) }, + { "ISMAP" T(N) }, + { "LANG" T(N) }, + { "MD" T(N) }, + { "NAME" T(i) }, + { "NOFLOW" T(N) }, + { "PARAMS" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "UNITS" T(N) }, + { "USEMAP" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr fieldset_attr[] = { /* FIELDSET attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr fig_attr[] = { /* FIG attributes */ + { "ALIGN" T(N) }, + { "BORDER" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "HEIGHT" T(N) }, + { "ID" T(i) }, + { "IMAGEMAP" T(N) }, + { "ISOBJECT" T(N) }, + { "LANG" T(N) }, + { "MD" T(N) }, + { "NOFLOW" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "UNITS" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr fn_attr[] = { /* FN attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr font_attr[] = { /* BASEFONT attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "COLOR" T(N) }, + { "DIR" T(N) }, + { "END" T(N) }, + { "FACE" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "SIZE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr form_attr[] = { /* FORM attributes */ + { "ACCEPT-CHARSET" T(N) }, + { "ACTION" T(h) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ENCTYPE" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "METHOD" T(N) }, + { "ONSUBMIT" T(N) }, + { "SCRIPT" T(N) }, + { "STYLE" T(N) }, + { "SUBJECT" T(N) }, + { "TARGET" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr frame_attr[] = { /* FRAME attributes */ + { "ID" T(i) }, + { "LONGDESC" T(h) }, + { "MARGINHEIGHT" T(N) }, + { "MARGINWIDTH" T(N) }, + { "NAME" T(N) }, + { "NORESIZE" T(N) }, + { "SCROLLING" T(N) }, + { "SRC" T(h) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr frameset_attr[] = { /* FRAMESET attributes */ + { "COLS" T(N) }, + { "ROWS" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr gen_attr[] = { /* ABBR attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr h_attr[] = { /* H1 attributes */ + { "ALIGN" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DINGBAT" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "MD" T(N) }, + { "NOWRAP" T(N) }, + { "SEQNUM" T(N) }, + { "SKIP" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr hr_attr[] = { /* HR attributes */ + { "ALIGN" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "MD" T(N) }, + { "NOSHADE" T(N) }, + { "SIZE" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr iframe_attr[] = { /* IFRAME attributes */ + { "ALIGN" T(N) }, + { "FRAMEBORDER" T(N) }, + { "HEIGHT" T(N) }, + { "ID" T(i) }, + { "LONGDESC" T(h) }, + { "MARGINHEIGHT" T(N) }, + { "MARGINWIDTH" T(N) }, + { "NAME" T(N) }, + { "SCROLLING" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr img_attr[] = { /* IMG attributes */ + { "ALIGN" T(N) }, + { "ALT" T(N) }, + { "BORDER" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "HEIGHT" T(N) }, + { "ID" T(i) }, + { "ISMAP" T(N) }, + { "ISOBJECT" T(N) }, + { "LANG" T(N) }, + { "LONGDESC" T(h) }, + { "MD" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "UNITS" T(N) }, + { "USEMAP" T(h) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr input_attr[] = { /* INPUT attributes */ + { "ACCEPT" T(N) }, + { "ACCEPT-CHARSET" T(N) }, + { "ALIGN" T(N) }, + { "ALT" T(N) }, + { "CHECKED" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "DISABLED" T(N) }, + { "ERROR" T(N) }, + { "HEIGHT" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "MAX" T(N) }, + { "MAXLENGTH" T(N) }, + { "MD" T(N) }, + { "MIN" T(N) }, + { "NAME" T(N) }, + { "NOTAB" T(N) }, + { "ONBLUR" T(N) }, + { "ONCHANGE" T(N) }, + { "ONCLICK" T(N) }, + { "ONFOCUS" T(N) }, + { "ONSELECT" T(N) }, + { "SIZE" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TABINDEX" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { "VALUE" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr isindex_attr[] = { /* ISINDEX attributes */ + { "ACTION" T(h) }, + { "DIR" T(N) }, + { "HREF" T(h) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "PROMPT" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr keygen_attr[] = { /* KEYGEN attributes */ + { "CHALLENGE" T(N) }, + { "CLASS" T(c) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NAME" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr label_attr[] = { /* LABEL attributes */ + { "ACCESSKEY" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "FOR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "ONCLICK" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr legend_attr[] = { /* LEGEND attributes */ + { "ACCESSKEY" T(N) }, + { "ALIGN" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr li_attr[] = { /* LI attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DINGBAT" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "MD" T(N) }, + { "SKIP" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { "VALUE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr link_attr[] = { /* LINK attributes */ + { "CHARSET" T(N) }, + { "CLASS" T(c) }, + { "HREF" T(h) }, + { "ID" T(i) }, + { "MEDIA" T(N) }, + { "REL" T(N) }, + { "REV" T(N) }, + { "STYLE" T(N) }, + { "TARGET" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr map_attr[] = { /* MAP attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NAME" T(i) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr math_attr[] = { /* MATH attributes */ + { "BOX" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr meta_attr[] = { /* META attributes */ + { "CONTENT" T(N) }, + { "HTTP-EQUIV" T(N) }, + { "NAME" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr nextid_attr[] = { /* NEXTID attributes */ + { "N" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr note_attr[] = { /* NOTE attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "MD" T(N) }, + { "ROLE" T(x) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr object_attr[] = { /* OBJECT attributes */ + { "ALIGN" T(N) }, + { "BORDER" T(N) }, + { "CLASS" T(c) }, + { "CLASSID" T(h) }, + { "CODEBASE" T(h) }, + { "CODETYPE" T(N) }, + { "DATA" T(h) }, + { "DECLARE" T(N) }, + { "DIR" T(N) }, + { "HEIGHT" T(N) }, + { "HSPACE" T(N) }, + { "ID" T(i) }, + { "ISMAP" T(N) }, + { "LANG" T(N) }, + { "NAME" T(N) }, + { "NOTAB" T(N) }, + { "SHAPES" T(N) }, + { "STANDBY" T(N) }, + { "STYLE" T(N) }, + { "TABINDEX" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { "USEMAP" T(h) }, + { "VSPACE" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr ol_attr[] = { /* OL attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "COMPACT" T(N) }, + { "CONTINUE" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "SEQNUM" T(N) }, + { "START" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr option_attr[] = { /* OPTION attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "DISABLED" T(N) }, + { "ERROR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "SELECTED" T(N) }, + { "SHAPE" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "VALUE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr overlay_attr[] = { /* OVERLAY attributes */ + { "CLASS" T(c) }, + { "HEIGHT" T(N) }, + { "ID" T(i) }, + { "IMAGEMAP" T(N) }, + { "MD" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "UNITS" T(N) }, + { "WIDTH" T(N) }, + { "X" T(N) }, + { "Y" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr p_attr[] = { /* P attributes */ + { "ALIGN" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NOWRAP" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr param_attr[] = { /* PARAM attributes */ + { "ACCEPT" T(N) }, + { "ACCEPT-CHARSET" T(N) }, + { "ACCEPT-ENCODING" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DATA" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NAME" T(N) }, + { "OBJECT" T(N) }, + { "REF" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { "VALUE" T(N) }, + { "VALUEREF" T(N) }, + { "VALUETYPE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr script_attr[] = { /* SCRIPT attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "EVENT" T(N) }, + { "FOR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "LANGUAGE" T(N) }, + { "NAME" T(N) }, + { "SCRIPTENGINE" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr select_attr[] = { /* SELECT attributes */ + { "ALIGN" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "DISABLED" T(N) }, + { "ERROR" T(N) }, + { "HEIGHT" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "MD" T(N) }, + { "MULTIPLE" T(N) }, + { "NAME" T(N) }, + { "NOTAB" T(N) }, + { "ONBLUR" T(N) }, + { "ONCHANGE" T(N) }, + { "ONFOCUS" T(N) }, + { "SIZE" T(N) }, + { "STYLE" T(N) }, + { "TABINDEX" T(N) }, + { "TITLE" T(N) }, + { "UNITS" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr style_attr[] = { /* STYLE attributes */ + { "DIR" T(N) }, + { "LANG" T(N) }, + { "NOTATION" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr tab_attr[] = { /* TAB attributes */ + { "ALIGN" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "DP" T(N) }, + { "ID" T(i) }, + { "INDENT" T(N) }, + { "LANG" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "TO" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr table_attr[] = { /* TABLE attributes */ + { "ALIGN" T(N) }, + { "BACKGROUND" T(h) }, + { "BORDER" T(N) }, + { "CELLPADDING" T(N) }, + { "CELLSPACING" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "COLS" T(N) }, + { "COLSPEC" T(N) }, + { "DIR" T(N) }, + { "DP" T(N) }, + { "FRAME" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NOFLOW" T(N) }, + { "NOWRAP" T(N) }, + { "RULES" T(N) }, + { "STYLE" T(N) }, + { "SUMMARY" T(N) }, + { "TITLE" T(N) }, + { "UNITS" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr td_attr[] = { /* TD attributes */ + { "ALIGN" T(N) }, + { "AXES" T(N) }, + { "AXIS" T(N) }, + { "BACKGROUND" T(h) }, + { "CHAR" T(N) }, + { "CHAROFF" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "COLSPAN" T(N) }, + { "DIR" T(N) }, + { "DP" T(N) }, + { "HEIGHT" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NOWRAP" T(N) }, + { "ROWSPAN" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "VALIGN" T(N) }, + { "WIDTH" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr textarea_attr[] = { /* TEXTAREA attributes */ + { "ACCEPT-CHARSET" T(N) }, + { "ALIGN" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "COLS" T(N) }, + { "DIR" T(N) }, + { "DISABLED" T(N) }, + { "ERROR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NAME" T(N) }, + { "NOTAB" T(N) }, + { "ONBLUR" T(N) }, + { "ONCHANGE" T(N) }, + { "ONFOCUS" T(N) }, + { "ONSELECT" T(N) }, + { "ROWS" T(N) }, + { "STYLE" T(N) }, + { "TABINDEX" T(N) }, + { "TITLE" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr tr_attr[] = { /* TBODY attributes */ + { "ALIGN" T(N) }, + { "CHAR" T(N) }, + { "CHAROFF" T(N) }, + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "DIR" T(N) }, + { "DP" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "NOWRAP" T(N) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "VALIGN" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +static attr ul_attr[] = { /* DIR attributes */ + { "CLASS" T(c) }, + { "CLEAR" T(N) }, + { "COMPACT" T(N) }, + { "DINGBAT" T(N) }, + { "DIR" T(N) }, + { "ID" T(i) }, + { "LANG" T(N) }, + { "MD" T(N) }, + { "PLAIN" T(N) }, + { "SRC" T(h) }, + { "STYLE" T(N) }, + { "TITLE" T(N) }, + { "TYPE" T(N) }, + { "WRAP" T(N) }, + { 0 T(N) } /* Terminate list */ +}; + +/* *INDENT-ON* */ + +#undef N +#undef i +#undef h +#undef c +#undef x + +#undef T + +/* these definitions are used in the tags-tables */ +#undef P +#undef P_ +#ifdef USE_COLOR_STYLE +#define P_(x) x , (sizeof x) -1 +#define NULL_HTTag_ NULL, 0 +#else +#define P_(x) x +#define NULL_HTTag_ NULL +#endif + +#ifdef EXP_JUSTIFY_ELTS +#define P(x) P_(x), 1 +#define P0(x) P_(x), 0 +#define NULL_HTTag NULL_HTTag_,0 +#else +#define P(x) P_(x) +#define P0(x) P_(x) +#define NULL_HTTag NULL_HTTag_ +#endif + +#endif /* once_HTMLDTD */ +/* *INDENT-OFF* */ +static const HTTag tags_table1[HTML_ALL_ELEMENTS] = { + { P("A"), a_attr, HTML_A_ATTRIBUTES, SGML_MIXED, T_A}, + { P("ABBR"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_ABBR}, + { P("ACRONYM"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_ACRONYM}, + { P("ADDRESS"), address_attr, HTML_ADDRESS_ATTRIBUTES, SGML_MIXED, T_ADDRESS}, + { P("APPLET"), applet_attr, HTML_APPLET_ATTRIBUTES, SGML_MIXED, T_APPLET}, + { P("AREA"), area_attr, HTML_AREA_ATTRIBUTES, SGML_EMPTY, T_AREA}, + { P("AU"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_AU}, + { P("AUTHOR"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_AUTHOR}, + { P("B"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_B}, + { P0("BANNER"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_BANNER}, + { P("BASE"), base_attr, HTML_BASE_ATTRIBUTES, SGML_EMPTY, T_BASE}, + { P("BASEFONT"), font_attr, HTML_FONT_ATTRIBUTES, SGML_EMPTY, T_BASEFONT}, + { P("BDO"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_BDO}, + { P("BGSOUND"), bgsound_attr, HTML_BGSOUND_ATTRIBUTES, SGML_EMPTY, T_BGSOUND}, + { P("BIG"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_BIG}, + { P("BLINK"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_BLINK}, + { P("BLOCKQUOTE"),bq_attr, HTML_BQ_ATTRIBUTES, SGML_MIXED, T_BLOCKQUOTE}, + { P("BODY"), body_attr, HTML_BODY_ATTRIBUTES, SGML_MIXED, T_BODY}, + { P("BODYTEXT"), bodytext_attr, HTML_BODYTEXT_ATTRIBUTES, SGML_MIXED, T_BODYTEXT}, + { P("BQ"), bq_attr, HTML_BQ_ATTRIBUTES, SGML_MIXED, T_BQ}, + { P("BR"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_BR}, + { P("BUTTON"), button_attr, HTML_BUTTON_ATTRIBUTES, SGML_MIXED, T_BUTTON}, + { P("CAPTION"), caption_attr, HTML_CAPTION_ATTRIBUTES, SGML_MIXED, T_CAPTION}, + { P("CENTER"), div_attr, HTML_DIV_ATTRIBUTES, SGML_MIXED, T_CENTER}, + { P("CITE"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_CITE}, + { P("CODE"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_CODE}, + { P("COL"), col_attr, HTML_COL_ATTRIBUTES, SGML_EMPTY, T_COL}, + { P("COLGROUP"), col_attr, HTML_COL_ATTRIBUTES, SGML_ELEMENT, T_COLGROUP}, + { P("COMMENT"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_PCDATA, T_COMMENT}, + { P("CREDIT"), credit_attr, HTML_CREDIT_ATTRIBUTES, SGML_MIXED, T_CREDIT}, + { P("DD"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_DD}, + { P("DEL"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_DEL}, + { P("DFN"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_DFN}, + { P("DIR"), ul_attr, HTML_UL_ATTRIBUTES, SGML_MIXED, T_DIR}, + { P("DIV"), div_attr, HTML_DIV_ATTRIBUTES, SGML_MIXED, T_DIV}, + { P("DL"), dl_attr, HTML_DL_ATTRIBUTES, SGML_MIXED, T_DL}, + { P("DLC"), dl_attr, HTML_DL_ATTRIBUTES, SGML_MIXED, T_DLC}, + { P("DT"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_DT}, + { P("EM"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_EM}, + { P("EMBED"), embed_attr, HTML_EMBED_ATTRIBUTES, SGML_EMPTY, T_EMBED}, + { P("FIELDSET"), fieldset_attr, HTML_FIELDSET_ATTRIBUTES, SGML_MIXED, T_FIELDSET}, + { P("FIG"), fig_attr, HTML_FIG_ATTRIBUTES, SGML_MIXED, T_FIG}, + { P("FN"), fn_attr, HTML_FN_ATTRIBUTES, SGML_MIXED, T_FN}, + { P("FONT"), font_attr, HTML_FONT_ATTRIBUTES, SGML_MIXED, T_FONT}, + { P("FORM"), form_attr, HTML_FORM_ATTRIBUTES, SGML_MIXED, T_FORM}, + { P("FRAME"), frame_attr, HTML_FRAME_ATTRIBUTES, SGML_EMPTY, T_FRAME}, + { P("FRAMESET"), frameset_attr, HTML_FRAMESET_ATTRIBUTES, SGML_ELEMENT, T_FRAMESET}, + { P0("H1"), h_attr, HTML_H_ATTRIBUTES, SGML_MIXED, T_H1}, + { P0("H2"), h_attr, HTML_H_ATTRIBUTES, SGML_MIXED, T_H2}, + { P0("H3"), h_attr, HTML_H_ATTRIBUTES, SGML_MIXED, T_H3}, + { P0("H4"), h_attr, HTML_H_ATTRIBUTES, SGML_MIXED, T_H4}, + { P0("H5"), h_attr, HTML_H_ATTRIBUTES, SGML_MIXED, T_H5}, + { P0("H6"), h_attr, HTML_H_ATTRIBUTES, SGML_MIXED, T_H6}, + { P("HEAD"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_ELEMENT, T_HEAD}, + { P("HR"), hr_attr, HTML_HR_ATTRIBUTES, SGML_EMPTY, T_HR}, + { P("HTML"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_HTML}, + { P("HY"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_HY}, + { P("I"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_I}, + { P("IFRAME"), iframe_attr, HTML_IFRAME_ATTRIBUTES, SGML_MIXED, T_IFRAME}, + { P("IMG"), img_attr, HTML_IMG_ATTRIBUTES, SGML_EMPTY, T_IMG}, + { P("INPUT"), input_attr, HTML_INPUT_ATTRIBUTES, SGML_EMPTY, T_INPUT}, + { P("INS"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_INS}, + { P("ISINDEX"), isindex_attr, HTML_ISINDEX_ATTRIBUTES, SGML_EMPTY, T_ISINDEX}, + { P("KBD"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_KBD}, + { P("KEYGEN"), keygen_attr, HTML_KEYGEN_ATTRIBUTES, SGML_EMPTY, T_KEYGEN}, + { P("LABEL"), label_attr, HTML_LABEL_ATTRIBUTES, SGML_MIXED, T_LABEL}, + { P("LEGEND"), legend_attr, HTML_LEGEND_ATTRIBUTES, SGML_MIXED, T_LEGEND}, + { P("LH"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_LH}, + { P("LI"), li_attr, HTML_LI_ATTRIBUTES, SGML_MIXED, T_LI}, + { P("LINK"), link_attr, HTML_LINK_ATTRIBUTES, SGML_EMPTY, T_LINK}, + { P("LISTING"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_LITTERAL,T_LISTING}, + { P("MAP"), map_attr, HTML_MAP_ATTRIBUTES, SGML_ELEMENT, T_MAP}, + { P("MARQUEE"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_MARQUEE}, + { P("MATH"), math_attr, HTML_MATH_ATTRIBUTES, SGML_PCDATA, T_MATH}, + { P("MENU"), ul_attr, HTML_UL_ATTRIBUTES, SGML_MIXED, T_MENU}, + { P("META"), meta_attr, HTML_META_ATTRIBUTES, SGML_EMPTY, T_META}, + { P("NEXTID"), nextid_attr, HTML_NEXTID_ATTRIBUTES, SGML_EMPTY, T_NEXTID}, + { P("NOFRAMES"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_NOFRAMES}, + { P("NOTE"), note_attr, HTML_NOTE_ATTRIBUTES, SGML_MIXED, T_NOTE}, + { P("OBJECT"), object_attr, HTML_OBJECT_ATTRIBUTES, SGML_LITTERAL,T_OBJECT}, + { P("OL"), ol_attr, HTML_OL_ATTRIBUTES, SGML_MIXED, T_OL}, + { P("OPTION"), option_attr, HTML_OPTION_ATTRIBUTES, SGML_PCDATA, T_OPTION}, + { P("OVERLAY"), overlay_attr, HTML_OVERLAY_ATTRIBUTES, SGML_PCDATA, T_OVERLAY}, + { P("P"), p_attr, HTML_P_ATTRIBUTES, SGML_MIXED, T_P}, + { P("PARAM"), param_attr, HTML_PARAM_ATTRIBUTES, SGML_EMPTY, T_PARAM}, + { P("PLAINTEXT"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_LITTERAL,T_PLAINTEXT}, + { P0("PRE"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_PRE}, + { P("Q"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_Q}, + { P("S"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_S}, + { P("SAMP"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_SAMP}, + { P("SCRIPT"), script_attr, HTML_SCRIPT_ATTRIBUTES, SGML_SCRIPT, T_SCRIPT}, + { P("SELECT"), select_attr, HTML_SELECT_ATTRIBUTES, SGML_ELEMENT, T_SELECT}, + { P("SHY"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_SHY}, + { P("SMALL"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_SMALL}, + { P("SPAN"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_SPAN}, + { P("SPOT"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_SPOT}, + { P("STRIKE"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_STRIKE}, + { P("STRONG"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_STRONG}, + { P("STYLE"), style_attr, HTML_STYLE_ATTRIBUTES, SGML_CDATA, T_STYLE}, + { P("SUB"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_SUB}, + { P("SUP"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_SUP}, + { P("TAB"), tab_attr, HTML_TAB_ATTRIBUTES, SGML_EMPTY, T_TAB}, + { P("TABLE"), table_attr, HTML_TABLE_ATTRIBUTES, SGML_ELEMENT, T_TABLE}, + { P("TBODY"), tr_attr, HTML_TR_ATTRIBUTES, SGML_ELEMENT, T_TBODY}, + { P("TD"), td_attr, HTML_TD_ATTRIBUTES, SGML_MIXED, T_TD}, + { P("TEXTAREA"), textarea_attr, HTML_TEXTAREA_ATTRIBUTES, SGML_PCDATA, T_TEXTAREA}, + { P("TEXTFLOW"), bodytext_attr, HTML_BODYTEXT_ATTRIBUTES, SGML_MIXED, T_TEXTFLOW}, + { P("TFOOT"), tr_attr, HTML_TR_ATTRIBUTES, SGML_ELEMENT, T_TFOOT}, + { P("TH"), td_attr, HTML_TD_ATTRIBUTES, SGML_MIXED, T_TH}, + { P("THEAD"), tr_attr, HTML_TR_ATTRIBUTES, SGML_ELEMENT, T_THEAD}, + { P("TITLE"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_PCDATA, T_TITLE}, + { P("TR"), tr_attr, HTML_TR_ATTRIBUTES, SGML_MIXED, T_TR}, + { P("TT"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_TT}, + { P("U"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_U}, + { P("UL"), ul_attr, HTML_UL_ATTRIBUTES, SGML_MIXED, T_UL}, + { P("VAR"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_MIXED, T_VAR}, + { P("WBR"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_EMPTY, T_WBR}, + { P0("XMP"), gen_attr, HTML_GEN_ATTRIBUTES, SGML_LITTERAL,T_XMP}, +/* additional (alternative variants), not counted in HTML_ELEMENTS: */ +/* This one will be used as a temporary substitute within the parser when + it has been signalled to parse OBJECT content as MIXED. - kw */ + { P("OBJECT"), object_attr, HTML_OBJECT_ATTRIBUTES, SGML_MIXED, T_OBJECT_PCDATA}, +}; +/* *INDENT-ON* */ + +#endif /* src_HTMLDTD_H1 */ |