diff --git a/code/nel/include/nel/gui/group_html.h b/code/nel/include/nel/gui/group_html.h
index e5a2670a4..2c6737446 100644
--- a/code/nel/include/nel/gui/group_html.h
+++ b/code/nel/include/nel/gui/group_html.h
@@ -23,7 +23,6 @@
#include "nel/gui/group_tree.h"
#include "nel/gui/ctrl_button.h"
#include "nel/gui/group_table.h"
-#include "nel/gui/libwww_types.h"
#include "nel/gui/html_element.h"
#include "nel/gui/css_style.h"
diff --git a/code/nel/include/nel/gui/libwww.h b/code/nel/include/nel/gui/libwww.h
index 74227305c..e713f3c81 100644
--- a/code/nel/include/nel/gui/libwww.h
+++ b/code/nel/include/nel/gui/libwww.h
@@ -21,7 +21,6 @@
#define CL_LIB_WWW_H
#include "nel/misc/rgba.h"
-#include "nel/gui/libwww_types.h"
// forward declaration to avoid curl.h inclusion everywhere
typedef void CURL;
@@ -32,251 +31,146 @@ namespace NLGUI
class CCtrlScroll;
class CGroupList;
- // ***************************************************************************
+ // List of HTML elements. Does not need to be sorted
+ typedef enum _HTMLElement {
+ HTML_HTML,
+ HTML_BODY,
+ // meta
+ HTML_BASE,
+ HTML_HEAD,
+ HTML_LINK,
+ HTML_META,
+ HTML_STYLE,
+ HTML_TITLE,
+ // content sectioning
+ HTML_ADDRESS,
+ HTML_ARTICLE,
+ HTML_ASIDE,
+ HTML_FOOTER,
+ HTML_HEADER,
+ HTML_H1,
+ HTML_H2,
+ HTML_H3,
+ HTML_H4,
+ HTML_H5,
+ HTML_H6,
+ HTML_HGROUP,
+ HTML_MAIN,
+ HTML_NAV,
+ HTML_SECTION,
+ // text content
+ HTML_BLOCKQUOTE,
+ HTML_DD,
+ HTML_DIR,
+ HTML_DIV,
+ HTML_DL,
+ HTML_DT,
+ HTML_FIGCAPTION,
+ HTML_FIGURE,
+ HTML_HR,
+ HTML_LI,
+ HTML_OL,
+ HTML_P,
+ HTML_PRE,
+ HTML_UL,
+ // inline text
+ HTML_A,
+ HTML_ABBR,
+ HTML_B,
+ HTML_BDI,
+ HTML_BDO,
+ HTML_BR,
+ HTML_CITE,
+ HTML_CODE,
+ HTML_DATA,
+ HTML_DFN,
+ HTML_EM,
+ HTML_I,
+ HTML_KBD,
+ HTML_MARK,
+ HTML_Q,
+ HTML_RB,
+ HTML_RP,
+ HTML_RT,
+ HTML_RTC,
+ HTML_RUBY,
+ HTML_S,
+ HTML_SAMP,
+ HTML_SMALL,
+ HTML_SPAN,
+ HTML_STRONG,
+ HTML_SUB,
+ HTML_SUP,
+ HTML_TIME,
+ HTML_TT,
+ HTML_U,
+ HTML_VAR,
+ HTML_WBR,
+ // image, multimedia
+ HTML_AREA,
+ HTML_AUDIO,
+ HTML_IMG,
+ HTML_MAP,
+ HTML_TRACK,
+ HTML_VIDEO,
+ // embedded content
+ HTML_APPLET,
+ HTML_EMBED,
+ HTML_IFRAME,
+ HTML_NOEMBED,
+ HTML_OBJECT,
+ HTML_PARAM,
+ HTML_PICTURE,
+ HTML_SOURCE,
+ // scripting
+ HTML_CANVAS,
+ HTML_NOSCRIPT,
+ HTML_SCRIPT,
+ // demarcating edits
+ HTML_DEL,
+ HTML_INS,
+ // table
+ HTML_CAPTION,
+ HTML_COL,
+ HTML_COLGROUP,
+ HTML_TABLE,
+ HTML_TBODY,
+ HTML_TD,
+ HTML_TFOOT,
+ HTML_TH,
+ HTML_THEAD,
+ HTML_TR,
+ // forms
+ HTML_BUTTON,
+ HTML_DATALIST,
+ HTML_FIELDSET,
+ HTML_FORM,
+ HTML_INPUT,
+ HTML_LABEL,
+ HTML_LEGEND,
+ HTML_METER,
+ HTML_OPTGROUP,
+ HTML_OPTION,
+ HTML_OUTPUT,
+ HTML_PROGRESS,
+ HTML_SELECT,
+ HTML_TEXTAREA,
+ // interactive elements
+ HTML_DETAILS,
+ HTML_DIALOG,
+ HTML_MENU,
+ HTML_MENUITEM,
+ HTML_SUMMARY,
+ // -- tags for ryzom --
+ HTML_FONT,
+ HTML_LUA,
+ // last entry for unknown elements
+ HTML_NB_ELEMENTS
+ } HTMLElement;
- // Legacy function from libwww
- SGML_dtd * HTML_dtd (void);
-
- // Init the libwww
- void initLibWWW();
-
- // ***************************************************************************
-
- // Some DTD table
-
- // Here, modify the DTD table to change the HTML parser (add new tags for exemples)
-
- #undef HTML_ATTR
- #define HTML_ATTR(t,a) MY_HTML_##t##_##a
-
- enum
- {
- HTML_ATTR(HTML,DIR) = 0,
- HTML_ATTR(HTML,LANG),
- HTML_ATTR(HTML,VERSION),
- HTML_ATTR(HTML,STYLE),
- };
-
- enum
- {
- HTML_ATTR(A,ACCESSKEY) = 0,
- HTML_ATTR(A,CHARSET),
- HTML_ATTR(A,CLASS),
- HTML_ATTR(A,COORDS),
- HTML_ATTR(A,DIR),
- HTML_ATTR(A,HREF),
- HTML_ATTR(A,HREFLANG),
- HTML_ATTR(A,ID),
- HTML_ATTR(A,NAME),
- HTML_ATTR(A,REL),
- HTML_ATTR(A,REV),
- HTML_ATTR(A,SHAPE),
- HTML_ATTR(A,STYLE),
- HTML_ATTR(A,TABINDEX),
- HTML_ATTR(A,TARGET),
- HTML_ATTR(A,TYPE),
- HTML_ATTR(A,TITLE),
- HTML_ATTR(A,Z_ACTION_CATEGORY),
- HTML_ATTR(A,Z_ACTION_PARAMS),
- HTML_ATTR(A,Z_ACTION_SHORTCUT),
- };
-
- enum
- {
- HTML_ATTR(TABLE,ALIGN) = 0,
- HTML_ATTR(TABLE,BGCOLOR),
- HTML_ATTR(TABLE,BORDER),
- HTML_ATTR(TABLE,BORDERCOLOR),
- HTML_ATTR(TABLE,CELLPADDING),
- HTML_ATTR(TABLE,CELLSPACING),
- HTML_ATTR(TABLE,CLASS),
- HTML_ATTR(TABLE,DIR),
- HTML_ATTR(TABLE,FRAME),
- HTML_ATTR(TABLE,ID),
- HTML_ATTR(TABLE,L_MARGIN),
- HTML_ATTR(TABLE,LANG),
- HTML_ATTR(TABLE,NOWRAP),
- HTML_ATTR(TABLE,RULES),
- HTML_ATTR(TABLE,SUMMARY),
- HTML_ATTR(TABLE,STYLE),
- HTML_ATTR(TABLE,TITLE),
- HTML_ATTR(TABLE,VALIGN),
- HTML_ATTR(TABLE,WIDTH)
- };
-
- enum
- {
- HTML_ATTR(TR,ALIGN) = 0,
- HTML_ATTR(TR,BGCOLOR),
- HTML_ATTR(TR,L_MARGIN),
- HTML_ATTR(TR,NOWRAP),
- HTML_ATTR(TR,VALIGN),
- HTML_ATTR(TR,STYLE),
- };
-
- enum
- {
- HTML_ATTR(TD,ABBR) = 0,
- HTML_ATTR(TD,ALIGN),
- HTML_ATTR(TD,AXIS),
- HTML_ATTR(TD,BGCOLOR),
- HTML_ATTR(TD,CHAR),
- HTML_ATTR(TD,CHAROFF),
- HTML_ATTR(TD,CLASS),
- HTML_ATTR(TD,COLSPAN),
- HTML_ATTR(TD,DIR),
- HTML_ATTR(TD,ID),
- HTML_ATTR(TD,HEADERS),
- HTML_ATTR(TD,HEIGHT),
- HTML_ATTR(TD,L_MARGIN),
- HTML_ATTR(TD,LANG),
- HTML_ATTR(TD,NOWRAP),
- HTML_ATTR(TD,ROWSPAN),
- HTML_ATTR(TD,SCOPE),
- HTML_ATTR(TD,STYLE),
- HTML_ATTR(TD,TITLE),
- HTML_ATTR(TD,VALIGN),
- HTML_ATTR(TD,WIDTH),
- };
-
- enum
- {
- HTML_ATTR(IMG,ALIGN) = 0,
- HTML_ATTR(IMG,ALT),
- HTML_ATTR(IMG,BORDER),
- HTML_ATTR(IMG,CLASS),
- HTML_ATTR(IMG,DIR),
- HTML_ATTR(IMG,GLOBAL_COLOR),
- HTML_ATTR(IMG,HEIGHT),
- HTML_ATTR(IMG,HSPACE),
- HTML_ATTR(IMG,ID),
- HTML_ATTR(IMG,ISMAP),
- HTML_ATTR(IMG,LANG),
- HTML_ATTR(IMG,LONGDESC),
- HTML_ATTR(IMG,SRC),
- HTML_ATTR(IMG,STYLE),
- HTML_ATTR(IMG,TITLE),
- HTML_ATTR(IMG,USEMAP),
- HTML_ATTR(IMG,VSPACE),
- HTML_ATTR(IMG,WIDTH),
- // not sorted to keep enum values
- HTML_ATTR(IMG,DATA_OVER_SRC),
- };
-
- enum
- {
- HTML_ATTR(INPUT,ACCEPT) = 0,
- HTML_ATTR(INPUT,ACCESSKEY),
- HTML_ATTR(INPUT,ALIGN),
- HTML_ATTR(INPUT,ALT),
- HTML_ATTR(INPUT,CHECKED),
- HTML_ATTR(INPUT,CLASS),
- HTML_ATTR(INPUT,DIR),
- HTML_ATTR(INPUT,DISABLED),
- HTML_ATTR(INPUT,GLOBAL_COLOR),
- HTML_ATTR(INPUT,ID),
- HTML_ATTR(INPUT,LANG),
- HTML_ATTR(INPUT,MAXLENGTH),
- HTML_ATTR(INPUT,NAME),
- HTML_ATTR(INPUT,READONLY),
- HTML_ATTR(INPUT,SIZE),
- HTML_ATTR(INPUT,SRC),
- HTML_ATTR(INPUT,STYLE),
- HTML_ATTR(INPUT,TABINDEX),
- HTML_ATTR(INPUT,TITLE),
- HTML_ATTR(INPUT,TYPE),
- HTML_ATTR(INPUT,USEMAP),
- HTML_ATTR(INPUT,VALUE),
- HTML_ATTR(INPUT,Z_BTN_TMPL),
- HTML_ATTR(INPUT,Z_INPUT_TMPL),
- HTML_ATTR(INPUT,Z_INPUT_WIDTH),
- };
-
- enum
- {
- HTML_ATTR(TEXTAREA,CLASS) = 0,
- HTML_ATTR(TEXTAREA,COLS),
- HTML_ATTR(TEXTAREA,DIR),
- HTML_ATTR(TEXTAREA,DISABLED),
- HTML_ATTR(TEXTAREA,ID),
- HTML_ATTR(TEXTAREA,LANG),
- HTML_ATTR(TEXTAREA,MAXLENGTH),
- HTML_ATTR(TEXTAREA,NAME),
- HTML_ATTR(TEXTAREA,READONLY),
- HTML_ATTR(TEXTAREA,ROWS),
- HTML_ATTR(TEXTAREA,STYLE),
- HTML_ATTR(TEXTAREA,TABINDEX),
- HTML_ATTR(TEXTAREA,TITLE),
- HTML_ATTR(TEXTAREA,Z_INPUT_TMPL),
- };
-
- enum
- {
- HTML_ATTR(P,QUICK_HELP_CONDITION) = 0,
- HTML_ATTR(P,QUICK_HELP_EVENTS),
- HTML_ATTR(P,QUICK_HELP_LINK),
- HTML_ATTR(P,NAME),
- HTML_ATTR(P,STYLE),
- };
-
- enum
- {
- HTML_ATTR(DIV,CLASS) = 0,
- HTML_ATTR(DIV,ID),
- HTML_ATTR(DIV,NAME),
- HTML_ATTR(DIV,STYLE),
- };
-
- enum
- {
- HTML_ATTR(SPAN,CLASS) = 0,
- HTML_ATTR(SPAN,ID),
- HTML_ATTR(SPAN,STYLE),
- };
-
- enum
- {
- HTML_ATTR(H1,CLASS) = 0,
- HTML_ATTR(H1,ID),
- HTML_ATTR(H1,STYLE),
- };
-
- enum
- {
- HTML_ATTR(H2,CLASS) = 0,
- HTML_ATTR(H2,ID),
- HTML_ATTR(H2,STYLE),
- };
-
- enum
- {
- HTML_ATTR(H3,CLASS) = 0,
- HTML_ATTR(H3,ID),
- HTML_ATTR(H3,STYLE),
- };
-
- enum
- {
- HTML_ATTR(H4,CLASS) = 0,
- HTML_ATTR(H4,ID),
- HTML_ATTR(H4,STYLE),
- };
-
- enum
- {
- HTML_ATTR(H5,CLASS) = 0,
- HTML_ATTR(H5,ID),
- HTML_ATTR(H5,STYLE),
- };
-
- enum
- {
- HTML_ATTR(H6,CLASS) = 0,
- HTML_ATTR(H6,ID),
- HTML_ATTR(H6,STYLE),
- };
-
- #undef HTML_ATTR
+ // case insensitive lookup for HTMLElement enum by name
+ // return HTML_NB_ELEMENTS if no match
+ HTMLElement htmlElementLookup(const char *name);
// ***************************************************************************
// Read HTML color value from src and set dest
diff --git a/code/nel/include/nel/gui/libwww_types.h b/code/nel/include/nel/gui/libwww_types.h
deleted file mode 100644
index 01f6eb534..000000000
--- a/code/nel/include/nel/gui/libwww_types.h
+++ /dev/null
@@ -1,1075 +0,0 @@
-/**
- libwww Copyright Notice
- [This notice should be placed within redistributed or derivative software
- code when appropriate. This particular formulation of W3C's notice for
- inclusion in libwww code became active on August 14 1998.]
-
- LIBWWW COPYRIGHT NOTICE
-
- libwww: W3C's implementation of HTTP can be found at:
- http://www.w3.org/Library/
-
- Copyright ¨ 1995-2002 World Wide Web Consortium,
- (Massachusetts Institute of Technology, Institut
- National de Recherche en Informatique et en
- Automatique, Keio University). All Rights Reserved.
- This program is distributed under the W3C's
- Intellectual Property License. This program is
- distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied
- warranty of MERCHANTABILITY or FITNESS FOR A
- PARTICULAR PURPOSE. See W3C License
- http://www.w3.org/Consortium/Legal/ for more details.
-
- Copyright ¨ 1995 CERN. "This product includes computer
- software created and made available by CERN. This
- acknowledgment shall be mentioned in full in any
- product which includes the CERN computer software
- included herein or parts thereof."
-
- *****************************************************************************/
-
-#ifndef CL_LIB_WWW_TYPES_H
-#define CL_LIB_WWW_TYPES_H
-
-#include
-
-//
-// LibWWW elements
-// - order must be kept for backward compatibility, new tags can be added to the end
-typedef enum _HTMLElement {
- HTML_A = 0,
- HTML_ABBR,
- HTML_ACRONYM,
- HTML_ADDRESS,
- HTML_APPLET,
- HTML_AREA,
- HTML_B,
- HTML_BASE,
- HTML_BASEFONT,
- HTML_BDO,
- HTML_BIG,
- HTML_BLOCKQUOTE,
- HTML_BODY,
- HTML_BR,
- HTML_BUTTON,
- HTML_CAPTION,
- HTML_CENTER,
- HTML_CITE,
- HTML_CODE,
- HTML_COL,
- HTML_COLGROUP,
- HTML_DD,
- HTML_DEL,
- HTML_DFN,
- HTML_DIR,
- HTML_DIV,
- HTML_DL,
- HTML_DT,
- HTML_EM,
- HTML_FIELDSET,
- HTML_FONT,
- HTML_FORM,
- HTML_FRAME,
- HTML_FRAMESET,
- HTML_H1,
- HTML_H2,
- HTML_H3,
- HTML_H4,
- HTML_H5,
- HTML_H6,
- HTML_HEAD,
- HTML_HR,
- HTML_HTML,
- HTML_I,
- HTML_IFRAME,
- HTML_IMG,
- HTML_INPUT,
- HTML_INS,
- HTML_ISINDEX,
- HTML_KBD,
- HTML_LABEL,
- HTML_LEGEND,
- HTML_LI,
- HTML_LINK,
- HTML_MAP,
- HTML_MENU,
- HTML_META,
- HTML_NEXTID, /* !!! */
- HTML_NOFRAMES,
- HTML_NOSCRIPT,
- HTML_OBJECT,
- HTML_OL,
- HTML_OPTGROUP,
- HTML_OPTION,
- HTML_P,
- HTML_PARAM,
- HTML_PRE,
- HTML_Q,
- HTML_S,
- HTML_SAMP,
- HTML_SCRIPT,
- HTML_SELECT,
- HTML_SMALL,
- HTML_SPAN,
- HTML_STRIKE,
- HTML_STRONG,
- HTML_STYLE,
- HTML_SUB,
- HTML_SUP,
- HTML_TABLE,
- HTML_TBODY,
- HTML_TD,
- HTML_TEXTAREA,
- HTML_TFOOT,
- HTML_TH,
- HTML_THEAD,
- HTML_TITLE,
- HTML_TR,
- HTML_TT,
- HTML_U,
- HTML_UL,
- HTML_VAR,
- // new tags
- HTML_LUA,
- // this must be the last entry
- HTML_ELEMENTS
-} HTMLElement;
-
-
-#define HTML_ATTR(t,a) HTML_##t##_##a
-#define HTML_ATTRIBUTES(t) HTML_##t##_ATTRIBUTES
-
-/*
- (
- A
- )
- */
-
-enum _HTML_A_Attributes {
- HTML_ATTR(A,ACCESSKEY) = 0,
- HTML_ATTR(A,CHARSET),
- HTML_ATTR(A,CLASS),
- HTML_ATTR(A,COORDS),
- HTML_ATTR(A,DIR),
- HTML_ATTR(A,HREF),
- HTML_ATTR(A,HREFLANG),
- HTML_ATTR(A,ID),
- HTML_ATTR(A,NAME),
- HTML_ATTR(A,REL),
- HTML_ATTR(A,REV),
- HTML_ATTR(A,SHAPE),
- HTML_ATTR(A,STYLE),
- HTML_ATTR(A,TABINDEX),
- HTML_ATTR(A,TARGET),
- HTML_ATTR(A,TYPE),
- HTML_ATTR(A,TITLE),
- HTML_ATTR(A,Z_ACTION_CATEGORY), // NLGUI
- HTML_ATTR(A,Z_ACTION_PARANS), // NLGUI
- HTML_ATTR(A,Z_ACTION_SHORTCUT), // NLGUI
- HTML_ATTRIBUTES(A)
-};
-
-/*
- (
- APPLET - Deprecated
- )
- */
-
-enum _HTML_APPLET_Attributes {
- HTML_ATTR(APPLET,ALIGN) = 0,
- HTML_ATTR(APPLET,ALT),
- HTML_ATTR(APPLET,ARCHIVE),
- HTML_ATTR(APPLET,CLASS),
- HTML_ATTR(APPLET,CODE),
- HTML_ATTR(APPLET,CODEBASE),
- HTML_ATTR(APPLET,HEIGHT),
- HTML_ATTR(APPLET,HSPACE),
- HTML_ATTR(APPLET,ID),
- HTML_ATTR(APPLET,NAME),
- HTML_ATTR(APPLET,OBJECT),
- HTML_ATTR(APPLET,STYLE),
- HTML_ATTR(APPLET,TITLE),
- HTML_ATTR(APPLET,VSPACE),
- HTML_ATTR(APPLET,WIDTH),
- HTML_ATTRIBUTES(APPLET)
-};
-
-/*
- (
- AREA
- )
- */
-
-enum _HTML_AREA_Attributes {
- HTML_ATTR(AREA,ACCESSKEY) = 0,
- HTML_ATTR(AREA,ALT),
- HTML_ATTR(AREA,CLASS),
- HTML_ATTR(AREA,COORDS),
- HTML_ATTR(AREA,DIR),
- HTML_ATTR(AREA,HREF),
- HTML_ATTR(AREA,ID),
- HTML_ATTR(AREA,NAME),
- HTML_ATTR(AREA,NOHREF),
- HTML_ATTR(AREA,LANG),
- HTML_ATTR(AREA,SHAPE),
- HTML_ATTR(AREA,STYLE),
- HTML_ATTR(AREA,TABINDEX),
- HTML_ATTR(AREA,TARGET),
- HTML_ATTR(AREA,TITLE),
- HTML_ATTRIBUTES(AREA)
-};
-
-
-/*
- (
- BASE
- )
- */
-
-enum _HTML_BASE_Attributes {
- HTML_ATTR(BASE,HREF) = 0,
- HTML_ATTR(BASE,TARGET),
- HTML_ATTRIBUTES(BASE)
-};
-
-/*
- (
- BDO
- )
- */
-
-enum _HTML_BDO_Attributes {
- HTML_ATTR(BDO,CLASS) = 0,
- HTML_ATTR(BDO,DIR),
- HTML_ATTR(BDO,ID),
- HTML_ATTR(BDO,LANG),
- HTML_ATTR(BDO,STYLE),
- HTML_ATTR(BDO,TITLE),
- HTML_ATTRIBUTES(BDO)
-};
-
-/*
- (
- BLOCKQUOTE
- )
- */
-
-enum _HTML_BQ_Attributes {
- HTML_ATTR(BQ,CITE) = 0,
- HTML_ATTR(BQ,CLASS),
- HTML_ATTR(BQ,DIR),
- HTML_ATTR(BQ,ID),
- HTML_ATTR(BQ,LANG),
- HTML_ATTR(BQ,STYLE),
- HTML_ATTR(BQ,TITLE),
- HTML_ATTRIBUTES(BQ)
-};
-
-/*
- (
- BODY
- )
- */
-
-enum _HTML_BODY_Attributes {
- HTML_ATTR(BODY,ALINK) = 0,
- HTML_ATTR(BODY,BACKGROUND),
- HTML_ATTR(BODY,BGCOLOR),
- HTML_ATTR(BODY,CLASS),
- HTML_ATTR(BODY,DIR),
- HTML_ATTR(BODY,ID),
- HTML_ATTR(BODY,LANG),
- HTML_ATTR(BODY,LINK),
- HTML_ATTR(BODY,STYLE),
- HTML_ATTR(BODY,TEXT),
- HTML_ATTR(BODY,TITLE),
- HTML_ATTR(BODY,VLINK),
- HTML_ATTRIBUTES(BODY)
-};
-
-/*
- (
- BR
- )
- */
-
-enum _HTML_BR_Attributes {
- HTML_ATTR(BR,CLASS) = 0,
- HTML_ATTR(BR,CLEAR),
- HTML_ATTR(BR,ID),
- HTML_ATTR(BR,STYLE),
- HTML_ATTR(BR,TITLE),
- HTML_ATTRIBUTES(BR)
-};
-
-/*
- (
- BUTTON
- )
- */
-
-enum _HTML_BUTTON_Attributes {
- HTML_ATTR(BUTTON,ACCESSKEY) = 0,
- HTML_ATTR(BUTTON,CLASS),
- HTML_ATTR(BUTTON,DIR),
- HTML_ATTR(BUTTON,DISABLED),
- HTML_ATTR(BUTTON,ID),
- HTML_ATTR(BUTTON,LANG),
- HTML_ATTR(BUTTON,NAME),
- HTML_ATTR(BUTTON,STYLE),
- HTML_ATTR(BUTTON,TABINDEX),
- HTML_ATTR(BUTTON,TITLE),
- HTML_ATTR(BUTTON,TYPE),
- HTML_ATTR(BUTTON,VALUE),
- HTML_ATTRIBUTES(BUTTON)
-};
-
-/*
- (
- COL
- )
- */
-
-enum _HTML_COL_Attributes {
- HTML_ATTR(COL,CLASS) = 0,
- HTML_ATTR(COL,DIR),
- HTML_ATTR(COL,ID),
- HTML_ATTR(COL,LANG),
- HTML_ATTR(COL,SPAN),
- HTML_ATTR(COL,STYLE),
- HTML_ATTR(COL,TITLE),
- HTML_ATTR(COL,WIDTH),
- HTML_ATTRIBUTES(COL)
-};
-
-/*
- (
- DEL, INS
- )
- */
-
-enum _HTML_CHANGES_Attributes {
- HTML_ATTR(CHANGES,CITE) = 0,
- HTML_ATTR(CHANGES,CLASS),
- HTML_ATTR(CHANGES,DATETIME),
- HTML_ATTR(CHANGES,DIR),
- HTML_ATTR(CHANGES,ID),
- HTML_ATTR(CHANGES,LANG),
- HTML_ATTR(CHANGES,STYLE),
- HTML_ATTR(CHANGES,TITLE),
- HTML_ATTRIBUTES(CHANGES)
-};
-
-/*
- (
- FONT - Deprecated
- )
- */
-
-enum _HTML_FONT_Attributes {
- HTML_ATTR(FONT,CLASS) = 0,
- HTML_ATTR(FONT,COLOR),
- HTML_ATTR(FONT,DIR),
- HTML_ATTR(FONT,FACE),
- HTML_ATTR(FONT,ID),
- HTML_ATTR(FONT,LANG),
- HTML_ATTR(FONT,SIZE),
- HTML_ATTR(FONT,STYLE),
- HTML_ATTR(FONT,TITLE),
- HTML_ATTRIBUTES(FONT)
-};
-
-/*
- (
- FORM
- )
- */
-
-enum _HTML_FORM_Attributes {
- HTML_ATTR(FORM,ACCEPT) = 0,
- HTML_ATTR(FORM,ACCEPT_CHARSET), /* { "ACCEPT-CHARSET" } */
- HTML_ATTR(FORM,ACTION),
- HTML_ATTR(FORM,CLASS),
- HTML_ATTR(FORM,DIR),
- HTML_ATTR(FORM,ENCTYPE),
- HTML_ATTR(FORM,ID),
- HTML_ATTR(FORM,LANG),
- HTML_ATTR(FORM,METHOD),
- HTML_ATTR(FORM,STYLE),
- HTML_ATTR(FORM,TARGET),
- HTML_ATTR(FORM,TITLE),
- HTML_ATTRIBUTES(FORM)
-};
-
-/*
- (
- FRAME
- )
- */
-
-enum _HTML_FRAME_Attributes {
- HTML_ATTR(FRAME,CLASS) = 0,
- HTML_ATTR(FRAME,FRAMEBORDER),
- HTML_ATTR(FRAME,ID),
- HTML_ATTR(FRAME,NAME),
- HTML_ATTR(FRAME,MARGINHEIGHT),
- HTML_ATTR(FRAME,MARGINWIDTH),
- HTML_ATTR(FRAME,NORESIZE),
- HTML_ATTR(FRAME,LONGDESC),
- HTML_ATTR(FRAME,SCROLLING),
- HTML_ATTR(FRAME,SRC),
- HTML_ATTR(FRAME,STYLE),
- HTML_ATTR(FRAME,TARGET),
- HTML_ATTR(FRAME,TITLE),
- HTML_ATTRIBUTES(FRAME)
-};
-
-/*
- (
- FRAMESET
- )
- */
-
-enum _HTML_FRAMESET_Attributes {
- HTML_ATTR(FRAMESET,CLASS) = 0,
- HTML_ATTR(FRAMESET,COLS),
- HTML_ATTR(FRAMESET,ID),
- HTML_ATTR(FRAMESET,ROWS),
- HTML_ATTR(FRAMESET,STYLE),
- HTML_ATTR(FRAMESET,TITLE),
- HTML_ATTRIBUTES(FRAMESET)
-};
-
-/*
- (
- Generic attributes
- )
- */
-
-enum _HTML_GEN_Attributes {
- HTML_ATTR(GEN,CLASS) = 0,
- HTML_ATTR(GEN,DIR),
- HTML_ATTR(GEN,ID),
- HTML_ATTR(GEN,LANG),
- HTML_ATTR(GEN,STYLE),
- HTML_ATTR(GEN,TITLE),
- HTML_ATTRIBUTES(GEN)
-};
-
-/*
- (
- BLOCK
- )
- */
-
-enum _HTML_BLOCK_Attributes {
- HTML_ATTR(BLOCK,ALIGN) = 0,
- HTML_ATTR(BLOCK,CLASS),
- HTML_ATTR(BLOCK,DIR),
- HTML_ATTR(BLOCK,ID),
- HTML_ATTR(BLOCK,LANG),
- HTML_ATTR(BLOCK,STYLE),
- HTML_ATTR(BLOCK,TITLE),
- HTML_ATTRIBUTES(BLOCK)
-};
-
-/*
- (
- HEAD
- )
- */
-
-enum _HTML_HEAD_Attributes {
- HTML_ATTR(HEAD,DIR) = 0,
- HTML_ATTR(HEAD,LANG),
- HTML_ATTR(HEAD,PROFILE),
- HTML_ATTRIBUTES(HEAD)
-};
-
-/*
- (
- HR
- )
- */
-
-enum _HTML_HR_Attributes {
- HTML_ATTR(HR,ALIGN) = 0,
- HTML_ATTR(HR,CLASS),
- HTML_ATTR(HR,DIR),
- HTML_ATTR(HR,ID),
- HTML_ATTR(HR,LANG),
- HTML_ATTR(HR,NOSHADE),
- HTML_ATTR(HR,SIZE),
- HTML_ATTR(HR,STYLE),
- HTML_ATTR(HR,TITLE),
- HTML_ATTR(HR,WIDTH),
- HTML_ATTRIBUTES(HR)
-};
-
-/*
- (
- HTML
- )
- */
-
-enum _HTML_HTML_Attributes {
- HTML_ATTR(HTML,DIR) = 0,
- HTML_ATTR(HTML,LANG),
- HTML_ATTR(HTML,VERSION),
- HTML_ATTRIBUTES(HTML)
-};
-
-/*
- (
- IFRAME
- )
- */
-
-enum _HTML_IFRAME_Attributes {
- HTML_ATTR(IFRAME,ALIGN) = 0,
- HTML_ATTR(IFRAME,CLASS),
- HTML_ATTR(IFRAME,FRAMEBORDER),
- HTML_ATTR(IFRAME,HEIGHT),
- HTML_ATTR(IFRAME,ID),
- HTML_ATTR(IFRAME,LONGDESC),
- HTML_ATTR(IFRAME,MARGINHEIGHT),
- HTML_ATTR(IFRAME,MARGINWIDTH),
- HTML_ATTR(IFRAME,NAME),
- HTML_ATTR(IFRAME,SCROLLING),
- HTML_ATTR(IFRAME,SRC),
- HTML_ATTR(IFRAME,STYLE),
- HTML_ATTR(IFRAME,TARGET),
- HTML_ATTR(IFRAME,TITLE),
- HTML_ATTR(IFRAME,WIDTH),
- HTML_ATTRIBUTES(IFRAME)
-};
-
-/*
- (
- IMG
- )
- */
-
-enum _HTML_IMG_Attributes {
- HTML_ATTR(IMG,ALIGN) = 0,
- HTML_ATTR(IMG,ALT),
- HTML_ATTR(IMG,BORDER),
- HTML_ATTR(IMG,CLASS),
- HTML_ATTR(IMG,DIR),
- HTML_ATTR(IMG,HEIGHT),
- HTML_ATTR(IMG,HSPACE),
- HTML_ATTR(IMG,ID),
- HTML_ATTR(IMG,ISMAP),
- HTML_ATTR(IMG,LANG),
- HTML_ATTR(IMG,LONGDESC),
- HTML_ATTR(IMG,SRC),
- HTML_ATTR(IMG,STYLE),
- HTML_ATTR(IMG,TITLE),
- HTML_ATTR(IMG,USEMAP),
- HTML_ATTR(IMG,VSPACE),
- HTML_ATTR(IMG,WIDTH),
- HTML_ATTRIBUTES(IMG)
-};
-
-/*
- (
- INPUT
- )
- */
-
-enum _HTML_INPUT_Attributes {
- HTML_ATTR(INPUT,ACCEPT) = 0,
- HTML_ATTR(INPUT,ACCESSKEY),
- HTML_ATTR(INPUT,ALIGN),
- HTML_ATTR(INPUT,ALT),
- HTML_ATTR(INPUT,CHECKED),
- HTML_ATTR(INPUT,CLASS),
- HTML_ATTR(INPUT,DIR),
- HTML_ATTR(INPUT,DISABLED),
- HTML_ATTR(INPUT,ID),
- HTML_ATTR(INPUT,LANG),
- HTML_ATTR(INPUT,MAXLENGTH),
- HTML_ATTR(INPUT,NAME),
- HTML_ATTR(INPUT,READONLY),
- HTML_ATTR(INPUT,SIZE),
- HTML_ATTR(INPUT,SRC),
- HTML_ATTR(INPUT,STYLE),
- HTML_ATTR(INPUT,TABINDEX),
- HTML_ATTR(INPUT,TITLE),
- HTML_ATTR(INPUT,TYPE),
- HTML_ATTR(INPUT,USEMAP),
- HTML_ATTR(INPUT,VALUE),
- HTML_ATTRIBUTES(INPUT)
-};
-
-/*
- (
- )
- */
-
-enum _HTML_ISINDEX_Attributes {
- HTML_ATTR(ISINDEX,CLASS) = 0,
- HTML_ATTR(ISINDEX,DIR),
- HTML_ATTR(ISINDEX,ID),
- HTML_ATTR(ISINDEX,LANG),
- HTML_ATTR(ISINDEX,PROMPT),
- HTML_ATTR(ISINDEX,STYLE),
- HTML_ATTR(ISINDEX,TITLE),
- HTML_ATTRIBUTES(ISINDEX)
-};
-
-/*
- (
- )
- */
-
-enum _HTML_LABEL_Attributes {
- HTML_ATTR(LABEL,ACCESSKEY) = 0,
- HTML_ATTR(LABEL,CLASS),
- HTML_ATTR(LABEL,DIR),
- HTML_ATTR(LABEL,FOR),
- HTML_ATTR(LABEL,ID),
- HTML_ATTR(LABEL,LANG),
- HTML_ATTR(LABEL,STYLE),
- HTML_ATTR(LABEL,TITLE),
- HTML_ATTRIBUTES(LABEL)
-};
-
-/*
- (
- )
- */
-
-enum _HTML_LEGEND_Attributes {
- HTML_ATTR(LEGEND,ACCESSKEY) = 0,
- HTML_ATTR(LEGEND,ALIGN),
- HTML_ATTR(LEGEND,CLASS),
- HTML_ATTR(LEGEND,DIR),
- HTML_ATTR(LEGEND,ID),
- HTML_ATTR(LEGEND,LANG),
- HTML_ATTR(LEGEND,STYLE),
- HTML_ATTR(LEGEND,TITLE),
- HTML_ATTRIBUTES(LEGEND)
-};
-
-/*
- (
- LI
- )
- */
-
-enum _HTML_LI_Attributes {
- HTML_ATTR(LI,CLASS) = 0,
- HTML_ATTR(LI,COMPACT),
- HTML_ATTR(LI,DIR),
- HTML_ATTR(LI,ID),
- HTML_ATTR(LI,LANG),
- HTML_ATTR(LI,STYLE),
- HTML_ATTR(LI,TITLE),
- HTML_ATTR(LI,TYPE),
- HTML_ATTR(LI,VALUE),
- HTML_ATTRIBUTES(LI)
-};
-
-/*
- (
- LINK
- )
- */
-
-enum _HTML_LINK_Attributes {
- HTML_ATTR(LINK,CHARSET) = 0,
- HTML_ATTR(LINK,CLASS),
- HTML_ATTR(LINK,DIR),
- HTML_ATTR(LINK,HREF),
- HTML_ATTR(LINK,HREFLANG),
- HTML_ATTR(LINK,ID),
- HTML_ATTR(LINK,LANG),
- HTML_ATTR(LINK,MEDIA),
- HTML_ATTR(LINK,REL),
- HTML_ATTR(LINK,REV),
- HTML_ATTR(LINK,STYLE),
- HTML_ATTR(LINK,TARGET),
- HTML_ATTR(LINK,TITLE),
- HTML_ATTR(LINK,TYPE),
- HTML_ATTRIBUTES(LINK)
-};
-
-/*
- (
- MAP
- )
- */
-
-enum _HTML_MAP_Attributes {
- HTML_ATTR(MAP,CLASS) = 0,
- HTML_ATTR(MAP,DIR),
- HTML_ATTR(MAP,ID),
- HTML_ATTR(MAP,LANG),
- HTML_ATTR(MAP,NAME),
- HTML_ATTR(MAP,STYLE),
- HTML_ATTR(MAP,TITLE),
- HTML_ATTRIBUTES(MAP)
-};
-
-/*
- (
- META
- )
- */
-
-enum _HTML_META_Attributes {
- HTML_ATTR(META,CONTENT) = 0,
- HTML_ATTR(META,DIR),
- HTML_ATTR(META,HTTP_EQUIV), /* { "HTTP-EQUIV" ) */
- HTML_ATTR(META,LANG),
- HTML_ATTR(META,NAME),
- HTML_ATTR(META,SCHEME),
- HTML_ATTRIBUTES(META)
-};
-
-/*
- (
- NEXTID
- )
- */
-
-#define HTML_NEXTID_ATTRIBUTES 1
-#define HTML_NEXTID_N 0
-
-/*
- (
- OBJECT
- )
- */
-
-enum _HTML_OBJECT_Attributes {
- HTML_ATTR(OBJECT,ALIGN) = 0,
- HTML_ATTR(OBJECT,ARCHIVE),
- HTML_ATTR(OBJECT,BORDER),
- HTML_ATTR(OBJECT,CLASS),
- HTML_ATTR(OBJECT,CLASSID),
- HTML_ATTR(OBJECT,CODEBASE),
- HTML_ATTR(OBJECT,CODETYPE),
- HTML_ATTR(OBJECT,DATA),
- HTML_ATTR(OBJECT,DECLARE),
- HTML_ATTR(OBJECT,DIR),
- HTML_ATTR(OBJECT,HEIGHT),
- HTML_ATTR(OBJECT,HSPACE),
- HTML_ATTR(OBJECT,ID),
- HTML_ATTR(OBJECT,LANG),
- HTML_ATTR(OBJECT,NAME),
- HTML_ATTR(OBJECT,STANDBY),
- HTML_ATTR(OBJECT,STYLE),
- HTML_ATTR(OBJECT,TABINDEX),
- HTML_ATTR(OBJECT,TITLE),
- HTML_ATTR(OBJECT,TYPE),
- HTML_ATTR(OBJECT,USEMAP),
- HTML_ATTR(OBJECT,VSPACE),
- HTML_ATTR(OBJECT,WIDTH),
- HTML_ATTRIBUTES(OBJECT)
-};
-
-/*
- (
- OL
- )
- */
-
-enum _HTML_OL_Attributes {
- HTML_ATTR(OL,CLASS) = 0,
- HTML_ATTR(OL,COMPACT),
- HTML_ATTR(OL,DIR),
- HTML_ATTR(OL,ID),
- HTML_ATTR(OL,LANG),
- HTML_ATTR(OL,START),
- HTML_ATTR(OL,STYLE),
- HTML_ATTR(OL,TITLE),
- HTML_ATTR(OL,TYPE),
- HTML_ATTRIBUTES(OL)
-};
-
-/*
- (
- OPTGROUP
- )
- */
-
-enum _HTML_OPTGROUP_Attributes {
- HTML_ATTR(OPTGROUP,CLASS) = 0,
- HTML_ATTR(OPTGROUP,DISABLED),
- HTML_ATTR(OPTGROUP,DIR),
- HTML_ATTR(OPTGROUP,ID),
- HTML_ATTR(OPTGROUP,LABEL),
- HTML_ATTR(OPTGROUP,LANG),
- HTML_ATTR(OPTGROUP,STYLE),
- HTML_ATTR(OPTGROUP,TITLE),
- HTML_ATTRIBUTES(OPTGROUP)
-};
-
-/*
- (
- OPTION
- )
- */
-
-enum _HTML_OPTION_Attributes {
- HTML_ATTR(OPTION,CLASS) = 0,
- HTML_ATTR(OPTION,DISABLED),
- HTML_ATTR(OPTION,DIR),
- HTML_ATTR(OPTION,ID),
- HTML_ATTR(OPTION,LABEL),
- HTML_ATTR(OPTION,LANG),
- HTML_ATTR(OPTION,SELECTED),
- HTML_ATTR(OPTION,STYLE),
- HTML_ATTR(OPTION,TITLE),
- HTML_ATTR(OPTION,VALUE),
- HTML_ATTRIBUTES(OPTION)
-};
-
-/*
- (
- PARAM
- )
- */
-
-enum _HTML_PARAM_Attributes {
- HTML_ATTR(PARAM,ID) = 0,
- HTML_ATTR(PARAM,NAME),
- HTML_ATTR(PARAM,TYPE),
- HTML_ATTR(PARAM,VALUE),
- HTML_ATTR(PARAM,VALUETYPE),
- HTML_ATTRIBUTES(PARAM)
-};
-
-/*
- (
- PRE
- )
- */
-
-enum _HTML_PRE_Attributes {
- HTML_ATTR(PRE,CLASS) = 0,
- HTML_ATTR(PRE,DIR),
- HTML_ATTR(PRE,ID),
- HTML_ATTR(PRE,LANG),
- HTML_ATTR(PRE,STYLE),
- HTML_ATTR(PRE,TITLE),
- HTML_ATTR(PRE,WIDTH),
- HTML_ATTRIBUTES(PRE)
-};
-
-/*
- (
- SCRIPT
- )
- */
-
-enum _HTML_SCRIPT_Attributes {
- HTML_ATTR(SCRIPT,CHARSET) = 0,
- HTML_ATTR(SCRIPT,DEFER),
- HTML_ATTR(SCRIPT,LANGUAGE),
- HTML_ATTR(SCRIPT,SRC),
- HTML_ATTR(SCRIPT,TYPE),
- HTML_ATTRIBUTES(SCRIPT)
-};
-
-/*
- (
- SELECT
- )
- */
-
-enum _HTML_SELECT_Attributes {
- HTML_ATTR(SELECT,CLASS) = 0,
- HTML_ATTR(SELECT,DIR),
- HTML_ATTR(SELECT,DISABLED),
- HTML_ATTR(SELECT,ID),
- HTML_ATTR(SELECT,LANG),
- HTML_ATTR(SELECT,MULTIPLE),
- HTML_ATTR(SELECT,NAME),
- HTML_ATTR(SELECT,SIZE),
- HTML_ATTR(SELECT,STYLE),
- HTML_ATTR(SELECT,TABINDEX),
- HTML_ATTR(SELECT,TITLE),
- HTML_ATTRIBUTES(SELECT)
-};
-
-/*
- (
- STYLE
- )
- */
-
-enum _HTML_STYLE_Attributes {
- HTML_ATTR(STYLE,DIR) = 0,
- HTML_ATTR(STYLE,LANG),
- HTML_ATTR(STYLE,MEDIA),
- HTML_ATTR(STYLE,TITLE),
- HTML_ATTR(STYLE,TYPE),
- HTML_ATTRIBUTES(STYLE)
-};
-
-/*
- (
- TABLE
- )
- */
-
-enum _HTML_TABLE_Attributes {
- HTML_ATTR(TABLE,ALIGN) = 0,
- HTML_ATTR(TABLE,BGCOLOR),
- HTML_ATTR(TABLE,BORDER),
- HTML_ATTR(TABLE,CELLPADDING),
- HTML_ATTR(TABLE,CELLSPACING),
- HTML_ATTR(TABLE,CLASS),
- HTML_ATTR(TABLE,DIR),
- HTML_ATTR(TABLE,FRAME),
- HTML_ATTR(TABLE,ID),
- HTML_ATTR(TABLE,LANG),
- HTML_ATTR(TABLE,RULES),
- HTML_ATTR(TABLE,SUMMARY),
- HTML_ATTR(TABLE,STYLE),
- HTML_ATTR(TABLE,TITLE),
- HTML_ATTR(TABLE,WIDTH),
- HTML_ATTRIBUTES(TABLE)
-};
-
-/*
- (
- TABLE Elements
- )
- */
-
-enum _HTML_TELE_Attributes {
- HTML_ATTR(TELE,ALIGN) = 0,
- HTML_ATTR(TELE,CHAR),
- HTML_ATTR(TELE,CHAROFF),
- HTML_ATTR(TELE,CLASS),
- HTML_ATTR(TELE,DIR),
- HTML_ATTR(TELE,ID),
- HTML_ATTR(TELE,LANG),
- HTML_ATTR(TELE,STYLE),
- HTML_ATTR(TELE,TITLE),
- HTML_ATTR(TELE,VALIGN),
- HTML_ATTRIBUTES(TELE)
-};
-
-/*
- (
- TD
- )
- */
-
-enum _HTML_TD_Attributes {
- HTML_ATTR(TD,ABBR) = 0,
- HTML_ATTR(TD,ALIGN),
- HTML_ATTR(TD,AXIS),
- HTML_ATTR(TD,BGCOLOR),
- HTML_ATTR(TD,CHAR),
- HTML_ATTR(TD,CHAROFF),
- HTML_ATTR(TD,CLASS),
- HTML_ATTR(TD,COLSPAN),
- HTML_ATTR(TD,DIR),
- HTML_ATTR(TD,ID),
- HTML_ATTR(TD,HEADERS),
- HTML_ATTR(TD,HEIGHT),
- HTML_ATTR(TD,LANG),
- HTML_ATTR(TD,NOWRAP),
- HTML_ATTR(TD,ROWSPAN),
- HTML_ATTR(TD,SCOPE),
- HTML_ATTR(TD,STYLE),
- HTML_ATTR(TD,TITLE),
- HTML_ATTR(TD,VALIGN),
- HTML_ATTR(TD,WIDTH),
- HTML_ATTRIBUTES(TD)
-};
-
-/*
- (
- TEXTAREA
- )
- */
-
-enum _HTML_TEXTAREA_Attributes {
- HTML_ATTR(TEXTAREA,CLASS) = 0,
- HTML_ATTR(TEXTAREA,COLS),
- HTML_ATTR(TEXTAREA,DIR),
- HTML_ATTR(TEXTAREA,DISABLED),
- HTML_ATTR(TEXTAREA,ID),
- HTML_ATTR(TEXTAREA,LANG),
- HTML_ATTR(TEXTAREA,NAME),
- HTML_ATTR(TEXTAREA,READONLY),
- HTML_ATTR(TEXTAREA,ROWS),
- HTML_ATTR(TEXTAREA,STYLE),
- HTML_ATTR(TEXTAREA,TABINDEX),
- HTML_ATTR(TEXTAREA,TITLE),
- HTML_ATTRIBUTES(TEXTAREA)
-};
-
-/*
- (
- TITLE
- )
- */
-
-enum _HTML_TITLE_Attributes {
- HTML_ATTR(TITLE,DIR) = 0,
- HTML_ATTR(TITLE,LANG),
- HTML_ATTRIBUTES(TITLE)
-};
-
-/*
- (
- UL
- )
- */
-
-enum _HTML_UL_Attributes {
- HTML_ATTR(UL,CLASS) = 0,
- HTML_ATTR(UL,COMPACT),
- HTML_ATTR(UL,DIR),
- HTML_ATTR(UL,ID),
- HTML_ATTR(UL,LANG),
- HTML_ATTR(UL,STYLE),
- HTML_ATTR(UL,TITLE),
- HTML_ATTR(UL,TYPE),
- HTML_ATTRIBUTES(UL)
-};
-
-
-/*
-** ELEMENTS
-** Must match definitions in HTMLPDTD.html!
-** Must be in alphabetical order.
-**
-** Name, Attributes, content
-*/
-
-//
-// SGML.h
-//
-#define MAX_ATTRIBUTES 32
-
-typedef struct _HTAttr {
- char * name;
-} HTAttr;
-
-// striped struct
-typedef struct _HTTag {
- std::string name;
- HTAttr * attributes;
- int number_of_attributes;
-} HTTag;
-
-// entities are removed
-typedef struct {
- HTTag * tags;
- int number_of_tags;
-} SGML_dtd;
-
-SGML_dtd * HTML_dtd (void);
-
-#endif
-
diff --git a/code/nel/src/gui/group_html.cpp b/code/nel/src/gui/group_html.cpp
index 218ff06cf..6605fa591 100644
--- a/code/nel/src/gui/group_html.cpp
+++ b/code/nel/src/gui/group_html.cpp
@@ -1444,7 +1444,6 @@ namespace NLGUI
initImageDownload();
initBnpDownload();
- initLibWWW();
}
// ***************************************************************************
diff --git a/code/nel/src/gui/html_parser.cpp b/code/nel/src/gui/html_parser.cpp
index d411b856e..1c5914bb5 100644
--- a/code/nel/src/gui/html_parser.cpp
+++ b/code/nel/src/gui/html_parser.cpp
@@ -59,8 +59,6 @@ namespace NLGUI
// recursive function to walk html document
void CHtmlParser::parseNode(xmlNode *a_node, CHtmlElement &parent, std::string &styleString, std::vector &links) const
{
- SGML_dtd *HTML_DTD = HTML_dtd ();
-
uint childIndex = 0;
uint element_number;
xmlNode *node = a_node;
@@ -73,12 +71,8 @@ namespace NLGUI
else
if (node->type == XML_ELEMENT_NODE)
{
- // find libwww tag
- for(element_number = 0; element_numbername, (const xmlChar *)HTML_DTD->tags[element_number].name.c_str(), xmlStrlen(node->name)) == 0)
- break;
- }
+ // find html element
+ element_number = htmlElementLookup((const char*)node->name);
// get pointer to previous sibling
CHtmlElement *prevSibling = NULL;
diff --git a/code/nel/src/gui/libwww.cpp b/code/nel/src/gui/libwww.cpp
index 0ee6c01f2..56e7f0c71 100644
--- a/code/nel/src/gui/libwww.cpp
+++ b/code/nel/src/gui/libwww.cpp
@@ -29,6 +29,167 @@ using namespace NLMISC;
namespace NLGUI
{
+ struct CNameToHtmlElement
+ {
+ HTMLElement ID;
+ const char* Name;
+ CNameToHtmlElement(HTMLElement id, const char*name)
+ : ID(id), Name(name) {}
+ };
+
+ // sorted list of HTML_ELEMENT enum to TAG name
+ static CNameToHtmlElement htmlElementToName[] =
+ {
+ CNameToHtmlElement(HTML_A, "a"),
+ CNameToHtmlElement(HTML_ABBR, "abbr"),
+ CNameToHtmlElement(HTML_ADDRESS, "address"),
+ CNameToHtmlElement(HTML_APPLET, "applet"),
+ CNameToHtmlElement(HTML_AREA, "area"),
+ CNameToHtmlElement(HTML_ARTICLE, "article"),
+ CNameToHtmlElement(HTML_ASIDE, "aside"),
+ CNameToHtmlElement(HTML_AUDIO, "audio"),
+ CNameToHtmlElement(HTML_B, "b"),
+ CNameToHtmlElement(HTML_BASE, "base"),
+ CNameToHtmlElement(HTML_BDI, "bdi"),
+ CNameToHtmlElement(HTML_BDO, "bdo"),
+ CNameToHtmlElement(HTML_BLOCKQUOTE, "blockquote"),
+ CNameToHtmlElement(HTML_BODY, "body"),
+ CNameToHtmlElement(HTML_BR, "br"),
+ CNameToHtmlElement(HTML_BUTTON, "button"),
+ CNameToHtmlElement(HTML_CANVAS, "canvas"),
+ CNameToHtmlElement(HTML_CAPTION, "caption"),
+ CNameToHtmlElement(HTML_CITE, "cite"),
+ CNameToHtmlElement(HTML_CODE, "code"),
+ CNameToHtmlElement(HTML_COL, "col"),
+ CNameToHtmlElement(HTML_COLGROUP, "colgroup"),
+ CNameToHtmlElement(HTML_DATA, "data"),
+ CNameToHtmlElement(HTML_DATALIST, "datalist"),
+ CNameToHtmlElement(HTML_DD, "dd"),
+ CNameToHtmlElement(HTML_DEL, "del"),
+ CNameToHtmlElement(HTML_DETAILS, "details"),
+ CNameToHtmlElement(HTML_DFN, "dfn"),
+ CNameToHtmlElement(HTML_DIALOG, "dialog"),
+ CNameToHtmlElement(HTML_DIR, "dir"),
+ CNameToHtmlElement(HTML_DIV, "div"),
+ CNameToHtmlElement(HTML_DL, "dl"),
+ CNameToHtmlElement(HTML_DT, "dt"),
+ CNameToHtmlElement(HTML_EM, "em"),
+ CNameToHtmlElement(HTML_EMBED, "embed"),
+ CNameToHtmlElement(HTML_FIELDSET, "fieldset"),
+ CNameToHtmlElement(HTML_FIGCAPTION, "figcaption"),
+ CNameToHtmlElement(HTML_FIGURE, "figure"),
+ CNameToHtmlElement(HTML_FONT, "font"),
+ CNameToHtmlElement(HTML_FOOTER, "footer"),
+ CNameToHtmlElement(HTML_FORM, "form"),
+ CNameToHtmlElement(HTML_H1, "h1"),
+ CNameToHtmlElement(HTML_H2, "h2"),
+ CNameToHtmlElement(HTML_H3, "h3"),
+ CNameToHtmlElement(HTML_H4, "h4"),
+ CNameToHtmlElement(HTML_H5, "h5"),
+ CNameToHtmlElement(HTML_H6, "h6"),
+ CNameToHtmlElement(HTML_HEAD, "head"),
+ CNameToHtmlElement(HTML_HEADER, "header"),
+ CNameToHtmlElement(HTML_HGROUP, "hgroup"),
+ CNameToHtmlElement(HTML_HR, "hr"),
+ CNameToHtmlElement(HTML_HTML, "html"),
+ CNameToHtmlElement(HTML_I, "i"),
+ CNameToHtmlElement(HTML_IFRAME, "iframe"),
+ CNameToHtmlElement(HTML_IMG, "img"),
+ CNameToHtmlElement(HTML_INPUT, "input"),
+ CNameToHtmlElement(HTML_INS, "ins"),
+ CNameToHtmlElement(HTML_KBD, "kbd"),
+ CNameToHtmlElement(HTML_LABEL, "label"),
+ CNameToHtmlElement(HTML_LEGEND, "legend"),
+ CNameToHtmlElement(HTML_LI, "li"),
+ CNameToHtmlElement(HTML_LINK, "link"),
+ CNameToHtmlElement(HTML_LUA, "lua"),
+ CNameToHtmlElement(HTML_MAIN, "main"),
+ CNameToHtmlElement(HTML_MAP, "map"),
+ CNameToHtmlElement(HTML_MARK, "mark"),
+ CNameToHtmlElement(HTML_MENU, "menu"),
+ CNameToHtmlElement(HTML_MENUITEM, "menuitem"),
+ CNameToHtmlElement(HTML_META, "meta"),
+ CNameToHtmlElement(HTML_METER, "meter"),
+ CNameToHtmlElement(HTML_NAV, "nav"),
+ CNameToHtmlElement(HTML_NOEMBED, "noembed"),
+ CNameToHtmlElement(HTML_NOSCRIPT, "noscript"),
+ CNameToHtmlElement(HTML_OBJECT, "object"),
+ CNameToHtmlElement(HTML_OL, "ol"),
+ CNameToHtmlElement(HTML_OPTGROUP, "optgroup"),
+ CNameToHtmlElement(HTML_OPTION, "option"),
+ CNameToHtmlElement(HTML_OUTPUT, "output"),
+ CNameToHtmlElement(HTML_P, "p"),
+ CNameToHtmlElement(HTML_PARAM, "param"),
+ CNameToHtmlElement(HTML_PICTURE, "picture"),
+ CNameToHtmlElement(HTML_PRE, "pre"),
+ CNameToHtmlElement(HTML_PROGRESS, "progress"),
+ CNameToHtmlElement(HTML_Q, "q"),
+ CNameToHtmlElement(HTML_RB, "rb"),
+ CNameToHtmlElement(HTML_RP, "rp"),
+ CNameToHtmlElement(HTML_RT, "rt"),
+ CNameToHtmlElement(HTML_RTC, "rtc"),
+ CNameToHtmlElement(HTML_RUBY, "ruby"),
+ CNameToHtmlElement(HTML_S, "s"),
+ CNameToHtmlElement(HTML_SAMP, "samp"),
+ CNameToHtmlElement(HTML_SCRIPT, "script"),
+ CNameToHtmlElement(HTML_SECTION, "section"),
+ CNameToHtmlElement(HTML_SELECT, "select"),
+ CNameToHtmlElement(HTML_SMALL, "small"),
+ CNameToHtmlElement(HTML_SOURCE, "source"),
+ CNameToHtmlElement(HTML_SPAN, "span"),
+ CNameToHtmlElement(HTML_STRONG, "strong"),
+ CNameToHtmlElement(HTML_STYLE, "style"),
+ CNameToHtmlElement(HTML_SUB, "sub"),
+ CNameToHtmlElement(HTML_SUMMARY, "summary"),
+ CNameToHtmlElement(HTML_SUP, "sup"),
+ CNameToHtmlElement(HTML_TABLE, "table"),
+ CNameToHtmlElement(HTML_TBODY, "tbody"),
+ CNameToHtmlElement(HTML_TD, "td"),
+ CNameToHtmlElement(HTML_TEXTAREA, "textarea"),
+ CNameToHtmlElement(HTML_TFOOT, "tfoot"),
+ CNameToHtmlElement(HTML_TH, "th"),
+ CNameToHtmlElement(HTML_THEAD, "thead"),
+ CNameToHtmlElement(HTML_TIME, "time"),
+ CNameToHtmlElement(HTML_TITLE, "title"),
+ CNameToHtmlElement(HTML_TR, "tr"),
+ CNameToHtmlElement(HTML_TRACK, "track"),
+ CNameToHtmlElement(HTML_TT, "tt"),
+ CNameToHtmlElement(HTML_U, "u"),
+ CNameToHtmlElement(HTML_UL, "ul"),
+ CNameToHtmlElement(HTML_VAR, "var"),
+ CNameToHtmlElement(HTML_VIDEO, "video"),
+ CNameToHtmlElement(HTML_WBR, "wbr")
+ };
+
+ HTMLElement htmlElementLookup(const char* name)
+ {
+ uint end = sizeofarray(htmlElementToName);
+ uint mid = end >> 1;
+ sint ret;
+ while(mid < end)
+ {
+ sint ret = nlstricmp(name, htmlElementToName[mid].Name);
+ if (ret == 0)
+ {
+ return htmlElementToName[mid].ID;
+ }
+ else if (ret < 0)
+ {
+ // lower half
+ end = mid;
+ mid = end >> 1;
+ }
+ else
+ {
+ // upper half
+ mid++;
+ mid += (end - mid) >> 1;
+ }
+ }
+
+ // not found
+ return HTML_NB_ELEMENTS;
+ }
// ***************************************************************************
@@ -40,258 +201,6 @@ namespace NLGUI
// ***************************************************************************
- // Some DTD table
-
- // Here, modify the DTD table to change the HTML parser (add new tags for examples)
-
- #undef HTML_ATTR
- #define HTML_ATTR(a,b) { (char*) #b }
-
- HTAttr html_attr[] =
- {
- HTML_ATTR(HTML,DIR),
- HTML_ATTR(HTML,LANG),
- HTML_ATTR(HTML,VERSION),
- HTML_ATTR(HTML,STYLE),
- { 0 }
- };
-
- HTAttr a_attr[] =
- {
- HTML_ATTR(A,ACCESSKEY),
- HTML_ATTR(A,CHARSET),
- HTML_ATTR(A,CLASS),
- HTML_ATTR(A,COORDS),
- HTML_ATTR(A,DIR),
- HTML_ATTR(A,HREF),
- HTML_ATTR(A,HREFLANG),
- HTML_ATTR(A,ID),
- HTML_ATTR(A,NAME),
- HTML_ATTR(A,REL),
- HTML_ATTR(A,REV),
- HTML_ATTR(A,SHAPE),
- HTML_ATTR(A,STYLE),
- HTML_ATTR(A,TABINDEX),
- HTML_ATTR(A,TARGET),
- HTML_ATTR(A,TYPE),
- HTML_ATTR(A,TITLE),
- HTML_ATTR(A,Z_ACTION_CATEGORY),
- HTML_ATTR(A,Z_ACTION_PARAMS),
- HTML_ATTR(A,Z_ACTION_SHORTCUT),
- { 0 }
- };
-
- HTAttr table_attr[] =
- {
- HTML_ATTR(TABLE,ALIGN),
- HTML_ATTR(TABLE,BGCOLOR),
- HTML_ATTR(TABLE,BORDER),
- HTML_ATTR(TABLE,BORDERCOLOR),
- HTML_ATTR(TABLE,CELLPADDING),
- HTML_ATTR(TABLE,CELLSPACING),
- HTML_ATTR(TABLE,CLASS),
- HTML_ATTR(TABLE,DIR),
- HTML_ATTR(TABLE,FRAME),
- HTML_ATTR(TABLE,ID),
- HTML_ATTR(TABLE,L_MARGIN),
- HTML_ATTR(TABLE,LANG),
- HTML_ATTR(TABLE,NOWRAP),
- HTML_ATTR(TABLE,RULES),
- HTML_ATTR(TABLE,SUMMARY),
- HTML_ATTR(TABLE,STYLE),
- HTML_ATTR(TABLE,TITLE),
- HTML_ATTR(TABLE,VALIGN),
- HTML_ATTR(TABLE,WIDTH),
- { 0 }
- };
-
- HTAttr tr_attr[] =
- {
- HTML_ATTR(TR,ALIGN),
- HTML_ATTR(TR,BGCOLOR),
- HTML_ATTR(TR,L_MARGIN),
- HTML_ATTR(TR,NOWRAP),
- HTML_ATTR(TR,VALIGN),
- HTML_ATTR(TR,STYLE),
- { 0 }
- };
-
- HTAttr td_attr[] =
- {
- HTML_ATTR(TD,ABBR),
- HTML_ATTR(TD,ALIGN),
- HTML_ATTR(TD,AXIS),
- HTML_ATTR(TD,BGCOLOR),
- HTML_ATTR(TD,CHAR),
- HTML_ATTR(TD,CHAROFF),
- HTML_ATTR(TD,CLASS),
- HTML_ATTR(TD,COLSPAN),
- HTML_ATTR(TD,DIR),
- HTML_ATTR(TD,ID),
- HTML_ATTR(TD,HEADERS),
- HTML_ATTR(TD,HEIGHT),
- HTML_ATTR(TD,L_MARGIN),
- HTML_ATTR(TD,LANG),
- HTML_ATTR(TD,NOWRAP),
- HTML_ATTR(TD,ROWSPAN),
- HTML_ATTR(TD,SCOPE),
- HTML_ATTR(TD,STYLE),
- HTML_ATTR(TD,TITLE),
- HTML_ATTR(TD,VALIGN),
- HTML_ATTR(TD,WIDTH),
- { 0 }
- };
-
- HTAttr img_attr[] =
- {
- HTML_ATTR(IMG,ALIGN),
- HTML_ATTR(IMG,ALT),
- HTML_ATTR(IMG,BORDER),
- HTML_ATTR(IMG,CLASS),
- HTML_ATTR(IMG,DIR),
- HTML_ATTR(IMG,GLOBAL_COLOR),
- HTML_ATTR(IMG,HEIGHT),
- HTML_ATTR(IMG,HSPACE),
- HTML_ATTR(IMG,ID),
- HTML_ATTR(IMG,ISMAP),
- HTML_ATTR(IMG,LANG),
- HTML_ATTR(IMG,LONGDESC),
- HTML_ATTR(IMG,SRC),
- HTML_ATTR(IMG,STYLE),
- HTML_ATTR(IMG,TITLE),
- HTML_ATTR(IMG,USEMAP),
- HTML_ATTR(IMG,VSPACE),
- HTML_ATTR(IMG,WIDTH),
- // not sorted to keep enum values
- HTML_ATTR(IMG,DATA-OVER-SRC),
- { 0 }
- };
-
- HTAttr input_attr[] =
- {
- HTML_ATTR(INPUT,ACCEPT),
- HTML_ATTR(INPUT,ACCESSKEY),
- HTML_ATTR(INPUT,ALIGN),
- HTML_ATTR(INPUT,ALT),
- HTML_ATTR(INPUT,CHECKED),
- HTML_ATTR(INPUT,CLASS),
- HTML_ATTR(INPUT,DIR),
- HTML_ATTR(INPUT,DISABLED),
- HTML_ATTR(INPUT,GLOBAL_COLOR),
- HTML_ATTR(INPUT,ID),
- HTML_ATTR(INPUT,LANG),
- HTML_ATTR(INPUT,MAXLENGTH),
- HTML_ATTR(INPUT,NAME),
- HTML_ATTR(INPUT,READONLY),
- HTML_ATTR(INPUT,SIZE),
- HTML_ATTR(INPUT,SRC),
- HTML_ATTR(INPUT,STYLE),
- HTML_ATTR(INPUT,TABINDEX),
- HTML_ATTR(INPUT,TITLE),
- HTML_ATTR(INPUT,TYPE),
- HTML_ATTR(INPUT,USEMAP),
- HTML_ATTR(INPUT,VALUE),
- HTML_ATTR(INPUT,Z_BTN_TMPL),
- HTML_ATTR(INPUT,Z_INPUT_TMPL),
- HTML_ATTR(INPUT,Z_INPUT_WIDTH),
- { 0 }
- };
-
- HTAttr textarea_attr[] =
- {
- HTML_ATTR(TEXTAREA,CLASS),
- HTML_ATTR(TEXTAREA,COLS),
- HTML_ATTR(TEXTAREA,DIR),
- HTML_ATTR(TEXTAREA,DISABLED),
- HTML_ATTR(TEXTAREA,ID),
- HTML_ATTR(TEXTAREA,LANG),
- HTML_ATTR(TEXTAREA,MAXLENGTH),
- HTML_ATTR(TEXTAREA,NAME),
- HTML_ATTR(TEXTAREA,READONLY),
- HTML_ATTR(TEXTAREA,ROWS),
- HTML_ATTR(TEXTAREA,STYLE),
- HTML_ATTR(TEXTAREA,TABINDEX),
- HTML_ATTR(TEXTAREA,TITLE),
- HTML_ATTR(TEXTAREA,Z_INPUT_TMPL),
- { 0 }
- };
-
- HTAttr p_attr[] =
- {
- HTML_ATTR(P,QUICK_HELP_CONDITION),
- HTML_ATTR(P,QUICK_HELP_EVENTS),
- HTML_ATTR(P,QUICK_HELP_LINK),
- HTML_ATTR(P,NAME),
- HTML_ATTR(P,STYLE),
- { 0 }
- };
-
-
- HTAttr div_attr[] =
- {
- HTML_ATTR(DIV,CLASS),
- HTML_ATTR(DIV,ID),
- HTML_ATTR(DIV,NAME),
- HTML_ATTR(DIV,STYLE),
- { 0 }
- };
-
- HTAttr span_attr[] =
- {
- HTML_ATTR(SPAN,CLASS),
- HTML_ATTR(SPAN,ID),
- HTML_ATTR(SPAN,STYLE),
- { 0 }
- };
-
- HTAttr h1_attr[] =
- {
- HTML_ATTR(H1,CLASS),
- HTML_ATTR(H1,ID),
- HTML_ATTR(H1,STYLE),
- { 0 }
- };
-
- HTAttr h2_attr[] =
- {
- HTML_ATTR(H2,CLASS),
- HTML_ATTR(H2,ID),
- HTML_ATTR(H2,STYLE),
- { 0 }
- };
-
- HTAttr h3_attr[] =
- {
- HTML_ATTR(H3,CLASS),
- HTML_ATTR(H3,ID),
- HTML_ATTR(H3,STYLE),
- { 0 }
- };
-
- HTAttr h4_attr[] =
- {
- HTML_ATTR(H4,CLASS),
- HTML_ATTR(H4,ID),
- HTML_ATTR(H4,STYLE),
- { 0 }
- };
-
- HTAttr h5_attr[] =
- {
- HTML_ATTR(H5,CLASS),
- HTML_ATTR(H5,ID),
- HTML_ATTR(H5,STYLE),
- { 0 }
- };
-
- HTAttr h6_attr[] =
- {
- HTML_ATTR(H6,CLASS),
- HTML_ATTR(H6,ID),
- HTML_ATTR(H6,STYLE),
- { 0 }
- };
-
// ***************************************************************************
bool getCssLength (float &value, std::string &unit, const std::string &str)
{
@@ -873,58 +782,6 @@ namespace NLGUI
}
}
- void initLibWWW()
- {
- static bool initialized = false;
- if (!initialized)
- {
-
- // Change the HTML DTD
- SGML_dtd *HTML_DTD = HTML_dtd ();
- HTML_DTD->tags[HTML_HTML].attributes = html_attr;
- HTML_DTD->tags[HTML_HTML].number_of_attributes = sizeof(html_attr) / sizeof(HTAttr) - 1;
- HTML_DTD->tags[HTML_TABLE].attributes = table_attr;
- HTML_DTD->tags[HTML_TABLE].number_of_attributes = sizeof(table_attr) / sizeof(HTAttr) - 1;
- HTML_DTD->tags[HTML_TR].attributes = tr_attr;
- HTML_DTD->tags[HTML_TR].number_of_attributes = sizeof(tr_attr) / sizeof(HTAttr) - 1;
- HTML_DTD->tags[HTML_TD].attributes = td_attr;
- HTML_DTD->tags[HTML_TD].number_of_attributes = sizeof(td_attr) / sizeof(HTAttr) - 1;
- HTML_DTD->tags[HTML_TH].attributes = td_attr;
- HTML_DTD->tags[HTML_TH].number_of_attributes = sizeof(td_attr) / sizeof(HTAttr) - 1;
- HTML_DTD->tags[HTML_IMG].attributes = img_attr;
- HTML_DTD->tags[HTML_IMG].number_of_attributes = sizeof(img_attr) / sizeof(HTAttr) - 1;
- HTML_DTD->tags[HTML_INPUT].attributes = input_attr;
- HTML_DTD->tags[HTML_INPUT].number_of_attributes = sizeof(input_attr) / sizeof(HTAttr) - 1;
- HTML_DTD->tags[HTML_TEXTAREA].attributes = textarea_attr;
- HTML_DTD->tags[HTML_TEXTAREA].number_of_attributes = sizeof(textarea_attr) / sizeof(HTAttr) - 1;
- HTML_DTD->tags[HTML_P].attributes = p_attr;
- HTML_DTD->tags[HTML_P].number_of_attributes = sizeof(p_attr) / sizeof(HTAttr) - 1;
- HTML_DTD->tags[HTML_A].attributes = a_attr;
- HTML_DTD->tags[HTML_A].number_of_attributes = sizeof(a_attr) / sizeof(HTAttr) - 1;
- //HTML_DTD->tags[HTML_I].attributes = a_attr;
- HTML_DTD->tags[HTML_I].number_of_attributes = 0;
- HTML_DTD->tags[HTML_DIV].attributes = div_attr;
- HTML_DTD->tags[HTML_DIV].number_of_attributes = sizeof(div_attr) / sizeof(HTAttr) - 1;
- HTML_DTD->tags[HTML_SPAN].attributes = span_attr;
- HTML_DTD->tags[HTML_SPAN].number_of_attributes = sizeof(span_attr) / sizeof(HTAttr) - 1;
- HTML_DTD->tags[HTML_H1].attributes = h1_attr;
- HTML_DTD->tags[HTML_H1].number_of_attributes = sizeof(h1_attr) / sizeof(HTAttr) - 1;
- HTML_DTD->tags[HTML_H2].attributes = h2_attr;
- HTML_DTD->tags[HTML_H2].number_of_attributes = sizeof(h2_attr) / sizeof(HTAttr) - 1;
- HTML_DTD->tags[HTML_H3].attributes = h3_attr;
- HTML_DTD->tags[HTML_H3].number_of_attributes = sizeof(h3_attr) / sizeof(HTAttr) - 1;
- HTML_DTD->tags[HTML_H4].attributes = h4_attr;
- HTML_DTD->tags[HTML_H4].number_of_attributes = sizeof(h4_attr) / sizeof(HTAttr) - 1;
- HTML_DTD->tags[HTML_H5].attributes = h5_attr;
- HTML_DTD->tags[HTML_H5].number_of_attributes = sizeof(h5_attr) / sizeof(HTAttr) - 1;
- HTML_DTD->tags[HTML_H6].attributes = h6_attr;
- HTML_DTD->tags[HTML_H6].number_of_attributes = sizeof(h6_attr) / sizeof(HTAttr) - 1;
-
- // Initialized
- initialized = true;
- }
- }
-
// ***************************************************************************
}
diff --git a/code/nel/src/gui/libwww_types.cpp b/code/nel/src/gui/libwww_types.cpp
deleted file mode 100644
index 12a16e5d6..000000000
--- a/code/nel/src/gui/libwww_types.cpp
+++ /dev/null
@@ -1,804 +0,0 @@
-/**
- libwww Copyright Notice
- [This notice should be placed within redistributed or derivative software
- code when appropriate. This particular formulation of W3C's notice for
- inclusion in libwww code became active on August 14 1998.]
-
- LIBWWW COPYRIGHT NOTICE
-
- libwww: W3C's implementation of HTTP can be found at:
- http://www.w3.org/Library/
-
- Copyright ¨ 1995-2002 World Wide Web Consortium,
- (Massachusetts Institute of Technology, Institut
- National de Recherche en Informatique et en
- Automatique, Keio University). All Rights Reserved.
- This program is distributed under the W3C's
- Intellectual Property License. This program is
- distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied
- warranty of MERCHANTABILITY or FITNESS FOR A
- PARTICULAR PURPOSE. See W3C License
- http://www.w3.org/Consortium/Legal/ for more details.
-
- Copyright ¨ 1995 CERN. "This product includes computer
- software created and made available by CERN. This
- acknowledgment shall be mentioned in full in any
- product which includes the CERN computer software
- included herein or parts thereof."
-
- ****************************************************************************/
-
-#include "stdpch.h"
-#include "nel/gui/libwww_types.h"
-
-#ifdef DEBUG_NEW
-#define new DEBUG_NEW
-#endif
-
-namespace NLGUI
-{
-
-/*
- ** ATTRIBUTE DEFINITION MACROS (see HTMLPDTD.h)
- */
-
-/*
- * redefine the macros, so that the "stringized" attribute name
- * is generated
- */
-
-#undef HTML_ATTR
-#define HTML_ATTR(t,a) { (char *) #a }
-#undef HTML_ATTRIBUTES
-#define HTML_ATTRIBUTES(t) { 0 }
-
-/*
- ** ATTRIBUTE LISTS
- */
-
-static HTAttr no_attr[1] = {
- { 0 }
-};
-
-static HTAttr body_attr[HTML_BODY_ATTRIBUTES+1] = { /* to catch images */
- HTML_ATTR(BODY,ALINK),
- HTML_ATTR(BODY,BACKGROUND),
- HTML_ATTR(BODY,BGCOLOR),
- HTML_ATTR(BODY,CLASS),
- HTML_ATTR(BODY,DIR),
- HTML_ATTR(BODY,ID),
- HTML_ATTR(BODY,LANG),
- HTML_ATTR(BODY,LINK),
- HTML_ATTR(BODY,STYLE),
- HTML_ATTR(BODY,TEXT),
- HTML_ATTR(BODY,TITLE),
- HTML_ATTR(BODY,VLINK),
- HTML_ATTRIBUTES(BODY)
-};
-
-static HTAttr frame_attr[HTML_FRAME_ATTRIBUTES+1] = { /* frame attributes */
- HTML_ATTR(FRAME,CLASS),
- HTML_ATTR(FRAME,FRAMEBORDER),
- HTML_ATTR(FRAME,ID),
- HTML_ATTR(FRAME,NAME),
- HTML_ATTR(FRAME,MARGINHEIGHT),
- HTML_ATTR(FRAME,MARGINWIDTH),
- HTML_ATTR(FRAME,NORESIZE),
- HTML_ATTR(FRAME,LONGDESC),
- HTML_ATTR(FRAME,SCROLLING),
- HTML_ATTR(FRAME,SRC),
- HTML_ATTR(FRAME,STYLE),
- HTML_ATTR(FRAME,TARGET),
- HTML_ATTR(FRAME,TITLE),
- HTML_ATTRIBUTES(FRAME)
-};
-
-static HTAttr frameset_attr[HTML_FRAMESET_ATTRIBUTES+1] = { /* frameset attributes */
- HTML_ATTR(FRAMESET,CLASS),
- HTML_ATTR(FRAMESET,COLS),
- HTML_ATTR(FRAMESET,ID),
- HTML_ATTR(FRAMESET,ROWS),
- HTML_ATTR(FRAMESET,STYLE),
- HTML_ATTR(FRAMESET,TITLE),
- HTML_ATTRIBUTES(FRAMESET)
-};
-
-static HTAttr a_attr[HTML_A_ATTRIBUTES+1] = { /* Anchor attributes */
- HTML_ATTR(A,ACCESSKEY),
- HTML_ATTR(A,CHARSET),
- HTML_ATTR(A,CLASS),
- HTML_ATTR(A,COORDS),
- HTML_ATTR(A,DIR),
- HTML_ATTR(A,HREF),
- HTML_ATTR(A,HREFLANG),
- HTML_ATTR(A,ID),
- HTML_ATTR(A,NAME),
- HTML_ATTR(A,REL),
- HTML_ATTR(A,REV),
- HTML_ATTR(A,SHAPE),
- HTML_ATTR(A,STYLE),
- HTML_ATTR(A,TABINDEX),
- HTML_ATTR(A,TARGET),
- HTML_ATTR(A,TYPE),
- HTML_ATTR(A,TITLE),
- HTML_ATTRIBUTES(A)
-};
-
-static HTAttr applet_attr[HTML_APPLET_ATTRIBUTES+1] = {
- HTML_ATTR(APPLET,ALIGN),
- HTML_ATTR(APPLET,ALT),
- HTML_ATTR(APPLET,ARCHIVE),
- HTML_ATTR(APPLET,CLASS),
- HTML_ATTR(APPLET,CODE),
- HTML_ATTR(APPLET,CODEBASE),
- HTML_ATTR(APPLET,HEIGHT),
- HTML_ATTR(APPLET,HSPACE),
- HTML_ATTR(APPLET,ID),
- HTML_ATTR(APPLET,NAME),
- HTML_ATTR(APPLET,OBJECT),
- HTML_ATTR(APPLET,STYLE),
- HTML_ATTR(APPLET,TITLE),
- HTML_ATTR(APPLET,VSPACE),
- HTML_ATTR(APPLET,WIDTH),
- HTML_ATTRIBUTES(APPLET)
-};
-
-static HTAttr area_attr[HTML_AREA_ATTRIBUTES+1] = { /* Area attributes */
- HTML_ATTR(AREA,ACCESSKEY),
- HTML_ATTR(AREA,ALT),
- HTML_ATTR(AREA,CLASS),
- HTML_ATTR(AREA,COORDS),
- HTML_ATTR(AREA,DIR),
- HTML_ATTR(AREA,HREF),
- HTML_ATTR(AREA,ID),
- HTML_ATTR(AREA,NAME),
- HTML_ATTR(AREA,NOHREF),
- HTML_ATTR(AREA,LANG),
- HTML_ATTR(AREA,SHAPE),
- HTML_ATTR(AREA,STYLE),
- HTML_ATTR(AREA,TABINDEX),
- HTML_ATTR(AREA,TARGET),
- HTML_ATTR(AREA,TITLE),
- HTML_ATTRIBUTES(AREA)
-};
-
-static HTAttr base_attr[HTML_BASE_ATTRIBUTES+1] = { /* BASE attributes */
- HTML_ATTR(BASE,HREF),
- HTML_ATTR(BASE,TARGET),
- HTML_ATTRIBUTES(BASE)
-};
-
-static HTAttr bdo_attr[HTML_BDO_ATTRIBUTES+1] = {
- HTML_ATTR(BDO,CLASS),
- HTML_ATTR(BDO,DIR),
- HTML_ATTR(BDO,ID),
- HTML_ATTR(BDO,LANG),
- HTML_ATTR(BDO,STYLE),
- HTML_ATTR(BDO,TITLE),
- HTML_ATTRIBUTES(BDO)
-};
-
-static HTAttr bq_attr[HTML_BQ_ATTRIBUTES+1] = {
- HTML_ATTR(BQ,CITE),
- HTML_ATTR(BQ,CLASS),
- HTML_ATTR(BQ,DIR),
- HTML_ATTR(BQ,ID),
- HTML_ATTR(BQ,LANG),
- HTML_ATTR(BQ,STYLE),
- HTML_ATTR(BQ,TITLE),
- HTML_ATTRIBUTES(BQ)
-};
-
-static HTAttr br_attr[HTML_BR_ATTRIBUTES+1] = {
- HTML_ATTR(BR,CLASS),
- HTML_ATTR(BR,CLEAR),
- HTML_ATTR(BR,ID),
- HTML_ATTR(BR,STYLE),
- HTML_ATTR(BR,TITLE),
- HTML_ATTRIBUTES(BR)
-};
-
-static HTAttr button_attr[HTML_BUTTON_ATTRIBUTES+1] = {
- HTML_ATTR(BUTTON,ACCESSKEY),
- HTML_ATTR(BUTTON,CLASS),
- HTML_ATTR(BUTTON,DIR),
- HTML_ATTR(BUTTON,DISABLED),
- HTML_ATTR(BUTTON,ID),
- HTML_ATTR(BUTTON,LANG),
- HTML_ATTR(BUTTON,NAME),
- HTML_ATTR(BUTTON,STYLE),
- HTML_ATTR(BUTTON,TABINDEX),
- HTML_ATTR(BUTTON,TITLE),
- HTML_ATTR(BUTTON,TYPE),
- HTML_ATTR(BUTTON,VALUE),
- HTML_ATTRIBUTES(BUTTON),
-};
-
-static HTAttr col_attr[HTML_COL_ATTRIBUTES+1] = {
- HTML_ATTR(COL,CLASS),
- HTML_ATTR(COL,DIR),
- HTML_ATTR(COL,ID),
- HTML_ATTR(COL,LANG),
- HTML_ATTR(COL,SPAN),
- HTML_ATTR(COL,STYLE),
- HTML_ATTR(COL,TITLE),
- HTML_ATTR(COL,WIDTH),
- HTML_ATTRIBUTES(COL)
-};
-
-static HTAttr changes_attr[HTML_CHANGES_ATTRIBUTES+1] = {
- HTML_ATTR(CHANGES,CITE),
- HTML_ATTR(CHANGES,CLASS),
- HTML_ATTR(CHANGES,DATETIME),
- HTML_ATTR(CHANGES,DIR),
- HTML_ATTR(CHANGES,ID),
- HTML_ATTR(CHANGES,LANG),
- HTML_ATTR(CHANGES,STYLE),
- HTML_ATTR(CHANGES,TITLE),
- HTML_ATTRIBUTES(CHANGES)
-};
-
-static HTAttr font_attr[HTML_FONT_ATTRIBUTES+1] = {
- HTML_ATTR(FONT,CLASS),
- HTML_ATTR(FONT,COLOR),
- HTML_ATTR(FONT,DIR),
- HTML_ATTR(FONT,FACE),
- HTML_ATTR(FONT,ID),
- HTML_ATTR(FONT,LANG),
- HTML_ATTR(FONT,SIZE),
- HTML_ATTR(FONT,STYLE),
- HTML_ATTR(FONT,TITLE),
- HTML_ATTRIBUTES(FONT)
-};
-
-static HTAttr form_attr[HTML_FORM_ATTRIBUTES+1] = {
- HTML_ATTR(FORM,ACCEPT),
- { (char *) "ACCEPT-CHARSET" }, /* HTML_ATTR(FORM,ACCEPT_CHARSET) */
- HTML_ATTR(FORM,ACTION),
- HTML_ATTR(FORM,CLASS),
- HTML_ATTR(FORM,DIR),
- HTML_ATTR(FORM,ENCTYPE),
- HTML_ATTR(FORM,ID),
- HTML_ATTR(FORM,LANG),
- HTML_ATTR(FORM,METHOD),
- HTML_ATTR(FORM,STYLE),
- HTML_ATTR(FORM,TARGET),
- HTML_ATTR(FORM,TITLE),
- HTML_ATTRIBUTES(FORM)
-};
-
-static HTAttr gen_attr[HTML_GEN_ATTRIBUTES+1] = { /* General, for many things */
- HTML_ATTR(GEN,CLASS),
- HTML_ATTR(GEN,DIR),
- HTML_ATTR(GEN,ID),
- HTML_ATTR(GEN,LANG),
- HTML_ATTR(GEN,STYLE),
- HTML_ATTR(GEN,TITLE),
- HTML_ATTRIBUTES(GEN)
-};
-
-static HTAttr block_attr[HTML_BLOCK_ATTRIBUTES+1] = { /* DIV, SPAN, H1-H6 */
- HTML_ATTR(BLOCK,ALIGN),
- HTML_ATTR(BLOCK,CLASS),
- HTML_ATTR(BLOCK,DIR),
- HTML_ATTR(BLOCK,ID),
- HTML_ATTR(BLOCK,LANG),
- HTML_ATTR(BLOCK,STYLE),
- HTML_ATTR(BLOCK,TITLE),
- HTML_ATTRIBUTES(BLOCK)
-};
-
-static HTAttr head_attr[HTML_HEAD_ATTRIBUTES+1] = {
- HTML_ATTR(HEAD,DIR),
- HTML_ATTR(HEAD,LANG),
- HTML_ATTR(HEAD,PROFILE),
- HTML_ATTRIBUTES(HEAD)
-};
-
-static HTAttr hr_attr[HTML_HR_ATTRIBUTES+1] = {
- HTML_ATTR(HR,ALIGN),
- HTML_ATTR(HR,CLASS),
- HTML_ATTR(HR,DIR),
- HTML_ATTR(HR,ID),
- HTML_ATTR(HR,LANG),
- HTML_ATTR(HR,NOSHADE),
- HTML_ATTR(HR,SIZE),
- HTML_ATTR(HR,STYLE),
- HTML_ATTR(HR,TITLE),
- HTML_ATTR(HR,WIDTH),
- HTML_ATTRIBUTES(HR)
-};
-
-static HTAttr html_attr[HTML_HTML_ATTRIBUTES+1] = {
- HTML_ATTR(HTML,DIR),
- HTML_ATTR(HTML,LANG),
- HTML_ATTR(HTML,VERSION),
- HTML_ATTRIBUTES(HTML)
-};
-
-static HTAttr iframe_attr[HTML_IFRAME_ATTRIBUTES+1] = {
- HTML_ATTR(IFRAME,ALIGN),
- HTML_ATTR(IFRAME,CLASS),
- HTML_ATTR(IFRAME,FRAMEBORDER),
- HTML_ATTR(IFRAME,HEIGHT),
- HTML_ATTR(IFRAME,ID),
- HTML_ATTR(IFRAME,LONGDESC),
- HTML_ATTR(IFRAME,MARGINHEIGHT),
- HTML_ATTR(IFRAME,MARGINWIDTH),
- HTML_ATTR(IFRAME,NAME),
- HTML_ATTR(IFRAME,SCROLLING),
- HTML_ATTR(IFRAME,SRC),
- HTML_ATTR(IFRAME,STYLE),
- HTML_ATTR(IFRAME,TARGET),
- HTML_ATTR(IFRAME,TITLE),
- HTML_ATTR(IFRAME,WIDTH),
- HTML_ATTRIBUTES(IFRAME)
-};
-
-static HTAttr img_attr[HTML_IMG_ATTRIBUTES+1] = { /* IMG attributes */
- HTML_ATTR(IMG,ALIGN),
- HTML_ATTR(IMG,ALT),
- HTML_ATTR(IMG,BORDER),
- HTML_ATTR(IMG,CLASS),
- HTML_ATTR(IMG,DIR),
- HTML_ATTR(IMG,HEIGHT),
- HTML_ATTR(IMG,HSPACE),
- HTML_ATTR(IMG,ID),
- HTML_ATTR(IMG,ISMAP),
- HTML_ATTR(IMG,LANG),
- HTML_ATTR(IMG,LONGDESC),
- HTML_ATTR(IMG,SRC),
- HTML_ATTR(IMG,STYLE),
- HTML_ATTR(IMG,TITLE),
- HTML_ATTR(IMG,USEMAP),
- HTML_ATTR(IMG,VSPACE),
- HTML_ATTR(IMG,WIDTH),
- HTML_ATTRIBUTES(IMG)
-};
-
-static HTAttr input_attr[HTML_INPUT_ATTRIBUTES+1] = {
- HTML_ATTR(INPUT,ACCEPT),
- HTML_ATTR(INPUT,ACCESSKEY),
- HTML_ATTR(INPUT,ALIGN),
- HTML_ATTR(INPUT,ALT),
- HTML_ATTR(INPUT,CHECKED),
- HTML_ATTR(INPUT,CLASS),
- HTML_ATTR(INPUT,DIR),
- HTML_ATTR(INPUT,DISABLED),
- HTML_ATTR(INPUT,ID),
- HTML_ATTR(INPUT,LANG),
- HTML_ATTR(INPUT,MAXLENGTH),
- HTML_ATTR(INPUT,NAME),
- HTML_ATTR(INPUT,READONLY),
- HTML_ATTR(INPUT,SIZE),
- HTML_ATTR(INPUT,SRC),
- HTML_ATTR(INPUT,STYLE),
- HTML_ATTR(INPUT,TABINDEX),
- HTML_ATTR(INPUT,TITLE),
- HTML_ATTR(INPUT,TYPE),
- HTML_ATTR(INPUT,USEMAP),
- HTML_ATTR(INPUT,VALUE),
- HTML_ATTRIBUTES(INPUT)
-};
-
-static HTAttr isindex_attr[HTML_ISINDEX_ATTRIBUTES+1] = {
- HTML_ATTR(ISINDEX,CLASS),
- HTML_ATTR(ISINDEX,DIR),
- HTML_ATTR(ISINDEX,ID),
- HTML_ATTR(ISINDEX,LANG),
- HTML_ATTR(ISINDEX,PROMPT),
- HTML_ATTR(ISINDEX,STYLE),
- HTML_ATTR(ISINDEX,TITLE),
- HTML_ATTRIBUTES(ISINDEX)
-};
-
-static HTAttr label_attr[HTML_LABEL_ATTRIBUTES+1] = {
- HTML_ATTR(LABEL,ACCESSKEY),
- HTML_ATTR(LABEL,CLASS),
- HTML_ATTR(LABEL,DIR),
- HTML_ATTR(LABEL,FOR),
- HTML_ATTR(LABEL,ID),
- HTML_ATTR(LABEL,LANG),
- HTML_ATTR(LABEL,STYLE),
- HTML_ATTR(LABEL,TITLE),
- HTML_ATTRIBUTES(LABEL)
-};
-
-static HTAttr legend_attr[HTML_LEGEND_ATTRIBUTES+1] = {
- HTML_ATTR(LEGEND,ACCESSKEY),
- HTML_ATTR(LEGEND,ALIGN),
- HTML_ATTR(LEGEND,CLASS),
- HTML_ATTR(LEGEND,DIR),
- HTML_ATTR(LEGEND,ID),
- HTML_ATTR(LEGEND,LANG),
- HTML_ATTR(LEGEND,STYLE),
- HTML_ATTR(LEGEND,TITLE),
- HTML_ATTRIBUTES(LEGEND)
-};
-
-static HTAttr li_attr[HTML_LI_ATTRIBUTES+1] = {
- HTML_ATTR(LI,CLASS),
- HTML_ATTR(LI,COMPACT),
- HTML_ATTR(LI,DIR),
- HTML_ATTR(LI,ID),
- HTML_ATTR(LI,LANG),
- HTML_ATTR(LI,STYLE),
- HTML_ATTR(LI,TITLE),
- HTML_ATTR(LI,TYPE),
- HTML_ATTR(LI,VALUE),
- HTML_ATTRIBUTES(LI)
-};
-
-static HTAttr link_attr[HTML_LINK_ATTRIBUTES+1] = { /* link attributes */
- HTML_ATTR(LINK,CHARSET),
- HTML_ATTR(LINK,CLASS),
- HTML_ATTR(LINK,DIR),
- HTML_ATTR(LINK,HREF),
- HTML_ATTR(LINK,HREFLANG),
- HTML_ATTR(LINK,ID),
- HTML_ATTR(LINK,LANG),
- HTML_ATTR(LINK,MEDIA),
- HTML_ATTR(LINK,REL),
- HTML_ATTR(LINK,REV),
- HTML_ATTR(LINK,STYLE),
- HTML_ATTR(LINK,TARGET),
- HTML_ATTR(LINK,TITLE),
- HTML_ATTR(LINK,TYPE),
- HTML_ATTRIBUTES(LINK)
-};
-
-static HTAttr map_attr[HTML_MAP_ATTRIBUTES+1] = {
- HTML_ATTR(MAP,CLASS),
- HTML_ATTR(MAP,DIR),
- HTML_ATTR(MAP,ID),
- HTML_ATTR(MAP,LANG),
- HTML_ATTR(MAP,NAME),
- HTML_ATTR(MAP,STYLE),
- HTML_ATTR(MAP,TITLE),
- HTML_ATTRIBUTES(MAP)
-};
-
-static HTAttr meta_attr[HTML_META_ATTRIBUTES+1] = {
- HTML_ATTR(META,CONTENT),
- HTML_ATTR(META,DIR),
- { (char *)"HTTP-EQUIV" }, /* HTML_ATTR(META,HTTP_EQUIV) */
- HTML_ATTR(META,LANG),
- HTML_ATTR(META,NAME),
- HTML_ATTR(META,SCHEME),
- HTML_ATTRIBUTES(META)
-};
-
-static HTAttr nextid_attr[HTML_NEXTID_ATTRIBUTES+1] = {
- { (char *)"N" },
- { 0 } /* Terminate list */
-};
-
-static HTAttr object_attr[HTML_OBJECT_ATTRIBUTES+1] = { /* object attributes */
- HTML_ATTR(OBJECT,ALIGN),
- HTML_ATTR(OBJECT,ARCHIVE),
- HTML_ATTR(OBJECT,BORDER),
- HTML_ATTR(OBJECT,CLASS),
- HTML_ATTR(OBJECT,CLASSID),
- HTML_ATTR(OBJECT,CODEBASE),
- HTML_ATTR(OBJECT,CODETYPE),
- HTML_ATTR(OBJECT,DATA),
- HTML_ATTR(OBJECT,DECLARE),
- HTML_ATTR(OBJECT,DIR),
- HTML_ATTR(OBJECT,HEIGHT),
- HTML_ATTR(OBJECT,HSPACE),
- HTML_ATTR(OBJECT,ID),
- HTML_ATTR(OBJECT,LANG),
- HTML_ATTR(OBJECT,NAME),
- HTML_ATTR(OBJECT,STANDBY),
- HTML_ATTR(OBJECT,STYLE),
- HTML_ATTR(OBJECT,TABINDEX),
- HTML_ATTR(OBJECT,TITLE),
- HTML_ATTR(OBJECT,TYPE),
- HTML_ATTR(OBJECT,USEMAP),
- HTML_ATTR(OBJECT,VSPACE),
- HTML_ATTR(OBJECT,WIDTH),
- HTML_ATTRIBUTES(OBJECT)
-};
-
-static HTAttr ol_attr[HTML_OL_ATTRIBUTES+1] = {
- HTML_ATTR(OL,CLASS),
- HTML_ATTR(OL,COMPACT),
- HTML_ATTR(OL,DIR),
- HTML_ATTR(OL,ID),
- HTML_ATTR(OL,LANG),
- HTML_ATTR(OL,START),
- HTML_ATTR(OL,STYLE),
- HTML_ATTR(OL,TITLE),
- HTML_ATTR(OL,TYPE),
- HTML_ATTRIBUTES(OL)
-};
-
-static HTAttr optgroup_attr[HTML_OPTGROUP_ATTRIBUTES+1] = {
- HTML_ATTR(OPTGROUP,CLASS),
- HTML_ATTR(OPTGROUP,DISABLED),
- HTML_ATTR(OPTGROUP,DIR),
- HTML_ATTR(OPTGROUP,ID),
- HTML_ATTR(OPTGROUP,LABEL),
- HTML_ATTR(OPTGROUP,LANG),
- HTML_ATTR(OPTGROUP,STYLE),
- HTML_ATTR(OPTGROUP,TITLE),
- HTML_ATTRIBUTES(OPTGROUP)
-};
-
-static HTAttr option_attr[HTML_OPTION_ATTRIBUTES+1] = {
- HTML_ATTR(OPTION,CLASS),
- HTML_ATTR(OPTION,DISABLED),
- HTML_ATTR(OPTION,DIR),
- HTML_ATTR(OPTION,ID),
- HTML_ATTR(OPTION,LABEL),
- HTML_ATTR(OPTION,LANG),
- HTML_ATTR(OPTION,SELECTED),
- HTML_ATTR(OPTION,STYLE),
- HTML_ATTR(OPTION,TITLE),
- HTML_ATTR(OPTION,VALUE),
- HTML_ATTRIBUTES(OPTION)
-};
-
-static HTAttr param_attr[HTML_PARAM_ATTRIBUTES+1] = {
- HTML_ATTR(PARAM,ID),
- HTML_ATTR(PARAM,NAME),
- HTML_ATTR(PARAM,TYPE),
- HTML_ATTR(PARAM,VALUE),
- HTML_ATTR(PARAM,VALUETYPE),
- HTML_ATTRIBUTES(PARAM)
-};
-
-static HTAttr pre_attr[HTML_PRE_ATTRIBUTES+1] = {
- HTML_ATTR(PRE,CLASS),
- HTML_ATTR(PRE,DIR),
- HTML_ATTR(PRE,ID),
- HTML_ATTR(PRE,LANG),
- HTML_ATTR(PRE,STYLE),
- HTML_ATTR(PRE,TITLE),
- HTML_ATTR(PRE,WIDTH),
- HTML_ATTRIBUTES(PRE)
-};
-
-static HTAttr script_attr[HTML_SCRIPT_ATTRIBUTES+1] = {
- HTML_ATTR(SCRIPT,CHARSET),
- HTML_ATTR(SCRIPT,DEFER),
- HTML_ATTR(SCRIPT,LANGUAGE),
- HTML_ATTR(SCRIPT,SRC),
- HTML_ATTR(SCRIPT,TYPE),
- HTML_ATTRIBUTES(SCRIPT)
-};
-
-static HTAttr select_attr[HTML_SELECT_ATTRIBUTES+1] = {
- HTML_ATTR(SELECT,CLASS),
- HTML_ATTR(SELECT,DIR),
- HTML_ATTR(SELECT,DISABLED),
- HTML_ATTR(SELECT,ID),
- HTML_ATTR(SELECT,LANG),
- HTML_ATTR(SELECT,MULTIPLE),
- HTML_ATTR(SELECT,NAME),
- HTML_ATTR(SELECT,SIZE),
- HTML_ATTR(SELECT,STYLE),
- HTML_ATTR(SELECT,TABINDEX),
- HTML_ATTR(SELECT,TITLE),
- HTML_ATTRIBUTES(SELECT)
-};
-
-static HTAttr style_attr[HTML_STYLE_ATTRIBUTES+1] = {
- HTML_ATTR(STYLE,DIR),
- HTML_ATTR(STYLE,LANG),
- HTML_ATTR(STYLE,MEDIA),
- HTML_ATTR(STYLE,TITLE),
- HTML_ATTR(STYLE,TYPE),
- HTML_ATTRIBUTES(STYLE)
-};
-
-static HTAttr table_attr[HTML_TABLE_ATTRIBUTES+1] = {
- HTML_ATTR(TABLE,ALIGN),
- HTML_ATTR(TABLE,BGCOLOR),
- HTML_ATTR(TABLE,BORDER),
- HTML_ATTR(TABLE,CELLPADDING),
- HTML_ATTR(TABLE,CELLSPACING),
- HTML_ATTR(TABLE,CLASS),
- HTML_ATTR(TABLE,DIR),
- HTML_ATTR(TABLE,FRAME),
- HTML_ATTR(TABLE,ID),
- HTML_ATTR(TABLE,LANG),
- HTML_ATTR(TABLE,RULES),
- HTML_ATTR(TABLE,SUMMARY),
- HTML_ATTR(TABLE,STYLE),
- HTML_ATTR(TABLE,TITLE),
- HTML_ATTR(TABLE,WIDTH),
- HTML_ATTRIBUTES(TABLE)
-};
-
-static HTAttr tele_attr[HTML_TELE_ATTRIBUTES+1] = {
- HTML_ATTR(TELE,ALIGN),
- HTML_ATTR(TELE,CHAR),
- HTML_ATTR(TELE,CHAROFF),
- HTML_ATTR(TELE,CLASS),
- HTML_ATTR(TELE,DIR),
- HTML_ATTR(TELE,ID),
- HTML_ATTR(TELE,LANG),
- HTML_ATTR(TELE,STYLE),
- HTML_ATTR(TELE,TITLE),
- HTML_ATTR(TELE,VALIGN),
- HTML_ATTRIBUTES(TELE)
-};
-
-static HTAttr td_attr[HTML_TD_ATTRIBUTES+1] = {
- HTML_ATTR(TD,ABBR),
- HTML_ATTR(TD,ALIGN),
- HTML_ATTR(TD,AXIS),
- HTML_ATTR(TD,BGCOLOR),
- HTML_ATTR(TD,CHAR),
- HTML_ATTR(TD,CHAROFF),
- HTML_ATTR(TD,CLASS),
- HTML_ATTR(TD,COLSPAN),
- HTML_ATTR(TD,DIR),
- HTML_ATTR(TD,ID),
- HTML_ATTR(TD,HEADERS),
- HTML_ATTR(TD,HEIGHT),
- HTML_ATTR(TD,LANG),
- HTML_ATTR(TD,NOWRAP),
- HTML_ATTR(TD,ROWSPAN),
- HTML_ATTR(TD,SCOPE),
- HTML_ATTR(TD,STYLE),
- HTML_ATTR(TD,TITLE),
- HTML_ATTR(TD,VALIGN),
- HTML_ATTR(TD,WIDTH),
- HTML_ATTRIBUTES(TD)
-};
-
-static HTAttr textarea_attr[HTML_TEXTAREA_ATTRIBUTES+1] = {
- HTML_ATTR(TEXTAREA,CLASS),
- HTML_ATTR(TEXTAREA,COLS),
- HTML_ATTR(TEXTAREA,DIR),
- HTML_ATTR(TEXTAREA,DISABLED),
- HTML_ATTR(TEXTAREA,ID),
- HTML_ATTR(TEXTAREA,LANG),
- HTML_ATTR(TEXTAREA,NAME),
- HTML_ATTR(TEXTAREA,READONLY),
- HTML_ATTR(TEXTAREA,ROWS),
- HTML_ATTR(TEXTAREA,STYLE),
- HTML_ATTR(TEXTAREA,TABINDEX),
- HTML_ATTR(TEXTAREA,TITLE),
- HTML_ATTRIBUTES(TEXTAREA)
-};
-
-static HTAttr title_attr[HTML_TITLE_ATTRIBUTES+1] = {
- HTML_ATTR(TITLE,DIR),
- HTML_ATTR(TITLE,LANG),
- HTML_ATTRIBUTES(TITLE)
-};
-
-static HTAttr ul_attr[HTML_UL_ATTRIBUTES+1] = {
- HTML_ATTR(UL,CLASS),
- HTML_ATTR(UL,COMPACT),
- HTML_ATTR(UL,DIR),
- HTML_ATTR(UL,ID),
- HTML_ATTR(UL,LANG),
- HTML_ATTR(UL,STYLE),
- HTML_ATTR(UL,TITLE),
- HTML_ATTR(UL,TYPE),
- HTML_ATTRIBUTES(UL)
-};
-
-/*
- ** ELEMENTS
- ** Must match definitions in HTMLPDTD.html!
- ** Must be in alphabetical order.
- **
- ** Name, Attributes, content
- */
-static HTTag tags[HTML_ELEMENTS] = {
- { "A" , a_attr, HTML_A_ATTRIBUTES },
- { "ABBR" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "ACRONYM" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "ADDRESS" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "APPLET" , applet_attr, HTML_APPLET_ATTRIBUTES },
- { "AREA" , area_attr, HTML_AREA_ATTRIBUTES },
- { "B" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "BASE" , base_attr, HTML_BASE_ATTRIBUTES },
- { "BASEFONT", font_attr, HTML_FONT_ATTRIBUTES },
- { "BDO" , bdo_attr, HTML_BDO_ATTRIBUTES },
- { "BIG" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "BLOCKQUOTE", bq_attr, HTML_BQ_ATTRIBUTES },
- { "BODY" , body_attr, HTML_BODY_ATTRIBUTES },
- { "BR" , br_attr, HTML_BR_ATTRIBUTES },
- { "BUTTON" , button_attr, HTML_BUTTON_ATTRIBUTES },
- { "CAPTION" , block_attr, HTML_BLOCK_ATTRIBUTES },
- { "CENTER" , no_attr, 0 },
- { "CITE" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "CODE" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "COL" , col_attr, HTML_COL_ATTRIBUTES },
- { "COLGROUP", col_attr, HTML_COL_ATTRIBUTES },
- { "DD" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "DEL" , changes_attr, HTML_CHANGES_ATTRIBUTES },
- { "DFN" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "DIR" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "DIV" , block_attr, HTML_BLOCK_ATTRIBUTES },
- { "DL" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "DT" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "EM" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "FIELDSET", gen_attr, HTML_GEN_ATTRIBUTES },
- { "FONT" , font_attr, HTML_FONT_ATTRIBUTES },
- { "FORM" , form_attr, HTML_FORM_ATTRIBUTES },
- { "FRAME" , frame_attr, HTML_FRAME_ATTRIBUTES },
- { "FRAMESET", frameset_attr,HTML_FRAMESET_ATTRIBUTES },
- { "H1" , block_attr, HTML_BLOCK_ATTRIBUTES },
- { "H2" , block_attr, HTML_BLOCK_ATTRIBUTES },
- { "H3" , block_attr, HTML_BLOCK_ATTRIBUTES },
- { "H4" , block_attr, HTML_BLOCK_ATTRIBUTES },
- { "H5" , block_attr, HTML_BLOCK_ATTRIBUTES },
- { "H6" , block_attr, HTML_BLOCK_ATTRIBUTES },
- { "HEAD" , head_attr, HTML_HEAD_ATTRIBUTES },
- { "HR" , hr_attr, HTML_HR_ATTRIBUTES },
- { "HTML" , html_attr, HTML_HTML_ATTRIBUTES },
- { "I" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "IFRAME" , iframe_attr, HTML_IFRAME_ATTRIBUTES },
- { "IMG" , img_attr, HTML_IMG_ATTRIBUTES },
- { "INPUT" , input_attr, HTML_INPUT_ATTRIBUTES },
- { "INS" , changes_attr, HTML_CHANGES_ATTRIBUTES },
- { "ISINDEX" , isindex_attr, HTML_ISINDEX_ATTRIBUTES },
- { "KBD" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "LABEL" , label_attr, HTML_LABEL_ATTRIBUTES },
- { "LEGEND" , legend_attr, HTML_LEGEND_ATTRIBUTES },
- { "LI" , li_attr, HTML_LI_ATTRIBUTES },
- { "LINK" , link_attr, HTML_LINK_ATTRIBUTES },
- { "MAP" , map_attr, HTML_MAP_ATTRIBUTES },
- { "MENU" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "META" , meta_attr, HTML_META_ATTRIBUTES },
- { "NEXTID" , nextid_attr, 1 },
- { "NOFRAMES", gen_attr, HTML_GEN_ATTRIBUTES },
- { "NOSCRIPT", gen_attr, HTML_GEN_ATTRIBUTES },
- { "OBJECT" , object_attr, HTML_OBJECT_ATTRIBUTES },
- { "OL" , ol_attr, HTML_OL_ATTRIBUTES },
- { "OPTGROUP", optgroup_attr,HTML_OPTGROUP_ATTRIBUTES },
- { "OPTION" , option_attr, HTML_OPTION_ATTRIBUTES },
- { "P" , block_attr, HTML_BLOCK_ATTRIBUTES },
- { "PARAM" , param_attr, HTML_PARAM_ATTRIBUTES },
- { "PRE" , pre_attr, HTML_PRE_ATTRIBUTES },
- { "Q" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "S" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "SAMP" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "SCRIPT" , script_attr, HTML_SCRIPT_ATTRIBUTES },
- { "SELECT" , select_attr, HTML_SELECT_ATTRIBUTES },
- { "SMALL" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "SPAN" , block_attr, HTML_BLOCK_ATTRIBUTES },
- { "STRIKE" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "STRONG" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "STYLE" , style_attr, HTML_STYLE_ATTRIBUTES },
- { "SUB" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "SUP" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "TABLE" , table_attr, HTML_TABLE_ATTRIBUTES },
- { "TBODY" , tele_attr, HTML_TELE_ATTRIBUTES },
- { "TD" , td_attr, HTML_TD_ATTRIBUTES },
- { "TEXTAREA", textarea_attr,HTML_TEXTAREA_ATTRIBUTES },
- { "TFOOT" , tele_attr, HTML_TELE_ATTRIBUTES },
- { "TH" , td_attr, HTML_TD_ATTRIBUTES },
- { "THEAD" , tele_attr, HTML_TELE_ATTRIBUTES },
- { "TITLE" , title_attr, HTML_TITLE_ATTRIBUTES },
- { "TR" , tele_attr, HTML_TELE_ATTRIBUTES },
- { "TT" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "U" , gen_attr, HTML_GEN_ATTRIBUTES },
- { "UL" , ul_attr, HTML_UL_ATTRIBUTES },
- { "VAR" , gen_attr, HTML_GEN_ATTRIBUTES },
- //
- { "LUA" , gen_attr, HTML_GEN_ATTRIBUTES },
-};
-
-static SGML_dtd HTMLP_dtd = {
- tags,
- HTML_ELEMENTS
-};
-
-static SGML_dtd * DTD = &HTMLP_dtd;
-
-SGML_dtd * HTML_dtd (void)
-{
- return DTD;
-}
-
-}// namespace
-