TAG_DEF(Tag_ABBR, "abbr", (CM_INLINE)),
TAG_DEF(Tag_ACRONYM, "acronym", (CM_INLINE)),
TAG_DEF(Tag_ADDRESS, "address", (CM_BLOCK)),
- TAG_DEF(Tag_APPLET, "applet", (CM_OBJECT | CM_IMG | CM_INLINE | CM_PARAM)),
+ TAG_DEF(Tag_APPLET, "applet", (CM_IMG | CM_INLINE | CM_PARAM)),
TAG_DEF(Tag_AREA, "area", (CM_BLOCK | CM_EMPTY | FL_HREF)),
TAG_DEF(Tag_B, "b", (CM_INLINE | FL_BLOCK)),
TAG_DEF(Tag_BASE, "base", (CM_HEAD | CM_EMPTY)),
TAG_DEF(Tag_COL, "col", (CM_TABLE | CM_EMPTY)),
TAG_DEF(Tag_COLGROUP, "colgroup", (CM_TABLE | CM_OPT)),
TAG_DEF(Tag_DD, "dd", (CM_DEFLIST | CM_OPT | CM_NO_INDENT)),
- TAG_DEF(Tag_DEL, "del", (CM_INLINE | CM_BLOCK | CM_MIXED)),
+ TAG_DEF(Tag_DEL, "del", (CM_INLINE | CM_BLOCK)),
TAG_DEF(Tag_DFN, "dfn", (CM_INLINE)),
- TAG_DEF(Tag_DIR, "dir", (CM_BLOCK | CM_OBSOLETE)),
+ TAG_DEF(Tag_DIR, "dir", (CM_BLOCK)),
TAG_DEF(Tag_DIV, "div", (CM_BLOCK | FL_BLOCK)),
TAG_DEF(Tag_DL, "dl", (CM_BLOCK | FL_BLOCK)),
TAG_DEF(Tag_DT, "dt", (CM_DEFLIST | CM_OPT | CM_NO_INDENT)),
TAG_DEF(Tag_FIELDSET, "fieldset", (CM_BLOCK)),
TAG_DEF(Tag_FONT, "font", (FL_BLOCK)),
TAG_DEF(Tag_FORM, "form", (CM_BLOCK | FL_HREF)),
- TAG_DEF(Tag_FRAME, "frame", (CM_FRAMES | CM_EMPTY | FL_HREF)),
- TAG_DEF(Tag_FRAMESET, "frameset", (CM_HTML | CM_FRAMES)),
- TAG_DEF(Tag_H1, "h1", (CM_BLOCK | CM_HEADING)),
- TAG_DEF(Tag_H2, "h2", (CM_BLOCK | CM_HEADING)),
- TAG_DEF(Tag_H3, "h3", (CM_BLOCK | CM_HEADING)),
- TAG_DEF(Tag_H4, "h4", (CM_BLOCK | CM_HEADING)),
- TAG_DEF(Tag_H5, "h5", (CM_BLOCK | CM_HEADING)),
- TAG_DEF(Tag_H6, "h6", (CM_BLOCK | CM_HEADING)),
+ TAG_DEF(Tag_FRAME, "frame", (CM_EMPTY | FL_HREF)),
+ TAG_DEF(Tag_FRAMESET, "frameset", (CM_HTML)),
+ TAG_DEF(Tag_H1, "h1", (CM_BLOCK)),
+ TAG_DEF(Tag_H2, "h2", (CM_BLOCK)),
+ TAG_DEF(Tag_H3, "h3", (CM_BLOCK)),
+ TAG_DEF(Tag_H4, "h4", (CM_BLOCK)),
+ TAG_DEF(Tag_H5, "h5", (CM_BLOCK)),
+ TAG_DEF(Tag_H6, "h6", (CM_BLOCK)),
TAG_DEF(Tag_HEAD, "head", (CM_HTML | CM_OPT | CM_OMITST | CM_UNIQUE)),
TAG_DEF(Tag_HR, "hr", (CM_BLOCK | CM_EMPTY)),
TAG_DEF(Tag_HTML, "html", (CM_HTML | CM_OPT | CM_OMITST | CM_UNIQUE)),
TAG_DEF(Tag_IFRAME, "iframe", (FL_HREF)),
TAG_DEF(Tag_IMG, "img", (CM_INLINE | CM_IMG | CM_EMPTY)),
TAG_DEF(Tag_INPUT, "input", (CM_INLINE | CM_IMG | CM_EMPTY)),
- TAG_DEF(Tag_INS, "ins", (CM_INLINE | CM_BLOCK | CM_MIXED)),
+ TAG_DEF(Tag_INS, "ins", (CM_INLINE | CM_BLOCK)),
TAG_DEF(Tag_ISINDEX, "isindex", (CM_BLOCK | CM_EMPTY)),
TAG_DEF(Tag_KBD, "kbd", (CM_INLINE)),
TAG_DEF(Tag_LABEL, "label", (CM_INLINE)),
TAG_DEF(Tag_LEGEND, "legend", (CM_INLINE)),
TAG_DEF(Tag_LI, "li", (CM_LIST | CM_OPT | CM_NO_INDENT | FL_BLOCK)),
TAG_DEF(Tag_LINK, "link", (CM_EMPTY | FL_HREF)),
- TAG_DEF(Tag_LISTING, "listing", (CM_BLOCK | CM_OBSOLETE)),
+ TAG_DEF(Tag_LISTING, "listing", (CM_BLOCK)),
TAG_DEF(Tag_MAP, "map", (CM_INLINE | FL_HREF)),
- TAG_DEF(Tag_MENU, "menu", (CM_BLOCK | CM_OBSOLETE)),
+ TAG_DEF(Tag_MENU, "menu", (CM_BLOCK)),
TAG_DEF(Tag_META, "meta", (CM_HEAD | CM_INLINE | CM_EMPTY)),
- TAG_DEF(Tag_NOFRAMES, "noframes", (CM_BLOCK | CM_FRAMES)),
- TAG_DEF(Tag_NOSCRIPT, "noscript", (CM_BLOCK | CM_INLINE | CM_MIXED)),
- TAG_DEF(Tag_OBJECT, "object", (CM_OBJECT | CM_HEAD | CM_IMG | CM_INLINE | CM_PARAM)),
+ TAG_DEF(Tag_NOFRAMES, "noframes", (CM_BLOCK)),
+ TAG_DEF(Tag_NOSCRIPT, "noscript", (CM_BLOCK | CM_INLINE | CM_RAW)),
+ TAG_DEF(Tag_OBJECT, "object", (CM_HEAD | CM_IMG | CM_INLINE | CM_PARAM)),
TAG_DEF(Tag_OL, "ol", (CM_BLOCK | FL_BLOCK)),
TAG_DEF(Tag_OPTGROUP, "optgroup", (CM_FIELD | CM_OPT)),
TAG_DEF(Tag_OPTION, "option", (CM_FIELD | CM_OPT)),
TAG_DEF(Tag_P, "p", (CM_BLOCK | CM_OPT | FL_BLOCK)),
TAG_DEF(Tag_PARAM, "param", (CM_INLINE | CM_EMPTY)),
- TAG_DEF(Tag_PLAINTEXT, "plaintext", (CM_BLOCK | CM_OBSOLETE)),
+ TAG_DEF(Tag_PLAINTEXT, "plaintext", (CM_BLOCK)),
TAG_DEF(Tag_PRE, "pre", (CM_BLOCK)),
TAG_DEF(Tag_Q, "q", (CM_INLINE)),
TAG_DEF(Tag_RB, "rb", (CM_INLINE)),
TAG_DEF(Tag_RUBY, "ruby", (CM_INLINE)),
TAG_DEF(Tag_S, "s", (CM_INLINE)),
TAG_DEF(Tag_SAMP, "samp", (CM_INLINE)),
- TAG_DEF(Tag_SCRIPT, "script", (CM_HEAD | CM_MIXED)),
+ TAG_DEF(Tag_SCRIPT, "script", (CM_HEAD | CM_RAW)),
TAG_DEF(Tag_SELECT, "select", (CM_INLINE | CM_FIELD)),
TAG_DEF(Tag_SMALL, "small", (CM_INLINE)),
TAG_DEF(Tag_SPAN, "span", (CM_NO_INDENT | FL_BLOCK)),
TAG_DEF(Tag_STRIKE, "strike", (CM_INLINE)),
TAG_DEF(Tag_STRONG, "strong", (CM_INLINE)),
- TAG_DEF(Tag_STYLE, "style", (CM_HEAD)),
+ TAG_DEF(Tag_STYLE, "style", (CM_HEAD | CM_RAW)),
TAG_DEF(Tag_SUB, "sub", (CM_INLINE)),
TAG_DEF(Tag_SUP, "sup", (CM_INLINE)),
TAG_DEF(Tag_TABLE, "table", (CM_BLOCK | FL_BLOCK)),
TAG_DEF(Tag_U, "u", (CM_INLINE)),
TAG_DEF(Tag_UL, "ul", (CM_BLOCK | FL_BLOCK)),
TAG_DEF(Tag_VAR, "var", (CM_INLINE)),
- TAG_DEF(Tag_XMP, "xmp", (CM_BLOCK | CM_OBSOLETE)),
- TAG_DEF(Tag_NEXTID, "nextid", (CM_HEAD | CM_EMPTY)),
-
- /* proprietary elements */
- TAG_DEF(Tag_ALIGN, "align", (CM_BLOCK)),
- TAG_DEF(Tag_BGSOUND, "bgsound", (CM_HEAD | CM_EMPTY)),
- TAG_DEF(Tag_BLINK, "blink", (CM_INLINE)),
- TAG_DEF(Tag_COMMENT, "comment", (CM_INLINE)),
- TAG_DEF(Tag_EMBED, "embed", (CM_INLINE | CM_IMG | CM_EMPTY)),
- TAG_DEF(Tag_ILAYER, "ilayer", (CM_INLINE)),
- TAG_DEF(Tag_KEYGEN, "keygen", (CM_INLINE | CM_EMPTY)),
- TAG_DEF(Tag_LAYER, "layer", (CM_BLOCK)),
- TAG_DEF(Tag_MARQUEE, "marquee", (CM_INLINE | CM_OPT)),
- TAG_DEF(Tag_MULTICOL, "multicol", (CM_BLOCK)),
- TAG_DEF(Tag_NOBR, "nobr", (CM_INLINE)),
- TAG_DEF(Tag_NOEMBED, "noembed", (CM_INLINE)),
- TAG_DEF(Tag_NOLAYER, "nolayer", (CM_BLOCK | CM_INLINE | CM_MIXED)),
- TAG_DEF(Tag_NOSAVE, "nosave", (CM_BLOCK)),
- TAG_DEF(Tag_SERVER, "server", (CM_HEAD | CM_MIXED | CM_BLOCK | CM_INLINE)),
- TAG_DEF(Tag_SERVLET, "servlet", (CM_OBJECT | CM_IMG | CM_INLINE | CM_PARAM)),
- TAG_DEF(Tag_SPACER, "spacer", (CM_INLINE | CM_EMPTY)),
- TAG_DEF(Tag_WBR, "wbr", (CM_INLINE | CM_EMPTY))
+ TAG_DEF(Tag_XMP, "xmp", (CM_BLOCK)),
+ TAG_DEF(Tag_NEXTID, "nextid", (CM_HEAD | CM_EMPTY))
);
class html_tags_storage {
Tag_ABBR, /**< ABBR */
Tag_ACRONYM, /**< ACRONYM */
Tag_ADDRESS, /**< ADDRESS */
- Tag_ALIGN, /**< ALIGN */
Tag_APPLET, /**< APPLET */
Tag_AREA, /**< AREA */
Tag_B, /**< B */
Tag_BASE, /**< BASE */
Tag_BASEFONT, /**< BASEFONT */
Tag_BDO, /**< BDO */
- Tag_BGSOUND, /**< BGSOUND */
Tag_BIG, /**< BIG */
- Tag_BLINK, /**< BLINK */
Tag_BLOCKQUOTE, /**< BLOCKQUOTE */
Tag_BODY, /**< BODY */
Tag_BR, /**< BR */
Tag_CODE, /**< CODE */
Tag_COL, /**< COL */
Tag_COLGROUP, /**< COLGROUP */
- Tag_COMMENT, /**< COMMENT */
Tag_DD, /**< DD */
Tag_DEL, /**< DEL */
Tag_DFN, /**< DFN */
Tag_DL, /**< DL */
Tag_DT, /**< DT */
Tag_EM, /**< EM */
- Tag_EMBED, /**< EMBED */
Tag_FIELDSET, /**< FIELDSET */
Tag_FONT, /**< FONT */
Tag_FORM, /**< FORM */
Tag_HTML, /**< HTML */
Tag_I, /**< I */
Tag_IFRAME, /**< IFRAME */
- Tag_ILAYER, /**< ILAYER */
Tag_IMG, /**< IMG */
Tag_INPUT, /**< INPUT */
Tag_INS, /**< INS */
Tag_KBD, /**< KBD */
Tag_KEYGEN, /**< KEYGEN */
Tag_LABEL, /**< LABEL */
- Tag_LAYER, /**< LAYER */
Tag_LEGEND, /**< LEGEND */
Tag_LI, /**< LI */
Tag_LINK, /**< LINK */
Tag_LISTING, /**< LISTING */
Tag_MAP, /**< MAP */
- Tag_MARQUEE, /**< MARQUEE */
Tag_MENU, /**< MENU */
Tag_META, /**< META */
- Tag_MULTICOL, /**< MULTICOL */
- Tag_NOBR, /**< NOBR */
- Tag_NOEMBED, /**< NOEMBED */
Tag_NOFRAMES, /**< NOFRAMES */
- Tag_NOLAYER, /**< NOLAYER */
- Tag_NOSAVE, /**< NOSAVE */
Tag_NOSCRIPT, /**< NOSCRIPT */
Tag_OBJECT, /**< OBJECT */
Tag_OL, /**< OL */
Tag_SAMP, /**< SAMP */
Tag_SCRIPT, /**< SCRIPT */
Tag_SELECT, /**< SELECT */
- Tag_SERVER, /**< SERVER */
- Tag_SERVLET, /**< SERVLET */
Tag_SMALL, /**< SMALL */
- Tag_SPACER, /**< SPACER */
Tag_SPAN, /**< SPAN */
Tag_STRIKE, /**< STRIKE */
Tag_STRONG, /**< STRONG */
Tag_U, /**< U */
Tag_UL, /**< UL */
Tag_VAR, /**< VAR */
- Tag_WBR, /**< WBR */
Tag_XMP, /**< XMP */
- Tag_XML, /**< XML */
Tag_NEXTID, /**< NEXTID */
Tag_MAX,
/* Elements whose content must be protected against white space movement.
Includes some elements that can found in forms. */
#define CM_FIELD (1 << 10)
-/* Used to avoid propagating inline emphasis inside some elements
- such as OBJECT or APPLET. */
-#define CM_OBJECT (1 << 11)
+#define CM_RAW (1 << 11)
/* Elements that allows "PARAM". */
#define CM_PARAM (1 << 12)
-/* "FRAME", "FRAMESET", "NOFRAMES". Used in ParseFrameSet. */
-#define CM_FRAMES (1 << 13)
-/* Heading elements (h1, h2, ...). */
-#define CM_HEADING (1 << 14)
/* Elements with an optional end tag. */
-#define CM_OPT (1 << 15)
+#define CM_OPT (1 << 13)
/* Elements that use "align" attribute for vertical position. */
-#define CM_IMG (1 << 16)
-/* Elements with inline and block model. Used to avoid calling InlineDup. */
-#define CM_MIXED (1 << 17)
-/* Elements whose content needs to be indented only if containing one
- CM_BLOCK element. */
-#define CM_NO_INDENT (1 << 18)
-/* Elements that are obsolete (such as "dir", "menu"). */
-#define CM_OBSOLETE (1 << 19)
+#define CM_IMG (1 << 14)
+#define CM_NO_INDENT (1 << 15)
/* Elements that cannot be omitted. */
-#define CM_OMITST (1 << 20)
+#define CM_OMITST (1 << 16)
/* Unique elements */
-#define CM_UNIQUE (1 << 21)
+#define CM_UNIQUE (1 << 17)
+
+#define CM_USER_SHIFT (18)
#ifdef __cplusplus
}