diff options
Diffstat (limited to 'WWW/Library/Implementation/HTMLDTD.c')
-rw-r--r-- | WWW/Library/Implementation/HTMLDTD.c | 1463 |
1 files changed, 12 insertions, 1451 deletions
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 = |