const HTML_FLOW: &[&str] = &[
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"ul",
"ol",
"dir",
"menu",
"pre",
"p",
"dl",
"div",
"center",
"noscript",
"noframes",
"blockquote",
"form",
"isindex",
"hr",
"table",
"fieldset",
"address",
"tt",
"i",
"b",
"u",
"s",
"strike",
"big",
"small",
"em",
"strong",
"dfn",
"code",
"samp",
"kbd",
"var",
"cite",
"abbr",
"acronym",
"a",
"img",
"applet",
"embed",
"object",
"font",
"basefont",
"br",
"script",
"map",
"q",
"sub",
"sup",
"span",
"bdo",
"iframe",
"input",
"select",
"textarea",
"label",
"button",
];
const HTML_INLINE: &[&str] = &[
"tt", "i", "b", "u", "s", "strike", "big", "small", "em", "strong", "dfn", "code", "samp",
"kbd", "var", "cite", "abbr", "acronym", "a", "img", "applet", "embed", "object", "font",
"basefont", "br", "script", "map", "q", "sub", "sup", "span", "bdo", "iframe", "input",
"select", "textarea", "label", "button",
];
const HTML_PCDATA: &[&str] = &[];
const HTML_CDATA: &[&str] = HTML_PCDATA;
const HTML_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
];
const CORE_I18N_ATTRS: &[&str] = &["id", "class", "style", "title", "lang", "dir"];
const CORE_ATTRS: &[&str] = &["id", "class", "style", "title"];
const I18N_ATTRS: &[&str] = &["lang", "dir"];
const A_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"charset",
"type",
"name",
"href",
"hreflang",
"rel",
"rev",
"accesskey",
"shape",
"coords",
"tabindex",
"onfocus",
"onblur",
];
const TARGET_ATTR: &[&str] = &["target"];
const ROWS_COLS_ATTR: &[&str] = &["rows", "cols"];
const ALT_ATTR: &[&str] = &["alt"];
const SRC_ALT_ATTRS: &[&str] = &["src", "alt"];
const HREF_ATTRS: &[&str] = &["href"];
const CLEAR_ATTRS: &[&str] = &["clear"];
const INLINE_P: &[&str] = &[
"tt", "i", "b", "u", "s", "strike", "big", "small", "em", "strong", "dfn", "code", "samp",
"kbd", "var", "cite", "abbr", "acronym", "a", "img", "applet", "embed", "object", "font",
"basefont", "br", "script", "map", "q", "sub", "sup", "span", "bdo", "iframe", "input",
"select", "textarea", "label", "button", "p",
];
const FLOW_PARAM: &[&str] = &[
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"ul",
"ol",
"dir",
"menu",
"pre",
"p",
"dl",
"div",
"center",
"noscript",
"noframes",
"blockquote",
"form",
"isindex",
"hr",
"table",
"fieldset",
"address",
"tt",
"i",
"b",
"u",
"s",
"strike",
"big",
"small",
"em",
"strong",
"dfn",
"code",
"samp",
"kbd",
"var",
"cite",
"abbr",
"acronym",
"a",
"img",
"applet",
"embed",
"object",
"font",
"basefont",
"br",
"script",
"map",
"q",
"sub",
"sup",
"span",
"bdo",
"iframe",
"input",
"select",
"textarea",
"label",
"button",
"param",
];
const APPLET_ATTRS: &[&str] = &[
"id", "class", "style", "title", "codebase", "archive", "alt", "name", "height", "width",
"align", "hspace", "vspace",
];
const AREA_ATTRS: &[&str] = &[
"shape",
"coords",
"href",
"nohref",
"tabindex",
"accesskey",
"onfocus",
"onblur",
];
const BASEFONT_ATTRS: &[&str] = &["id", "size", "color", "face"];
const QUOTE_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"cite",
];
const BODY_CONTENTS: &[&str] = &[
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"ul",
"ol",
"dir",
"menu",
"pre",
"p",
"dl",
"div",
"center",
"noscript",
"noframes",
"blockquote",
"form",
"isindex",
"hr",
"table",
"fieldset",
"address",
"tt",
"i",
"b",
"u",
"s",
"strike",
"big",
"small",
"em",
"strong",
"dfn",
"code",
"samp",
"kbd",
"var",
"cite",
"abbr",
"acronym",
"a",
"img",
"applet",
"embed",
"object",
"font",
"basefont",
"br",
"script",
"map",
"q",
"sub",
"sup",
"span",
"bdo",
"iframe",
"input",
"select",
"textarea",
"label",
"button",
"ins",
"del",
];
const BODY_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"onload",
"onunload",
];
const BODY_DEPR: &[&str] = &["background", "bgcolor", "text", "link", "vlink", "alink"];
const BUTTON_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"name",
"value",
"type",
"disabled",
"tabindex",
"accesskey",
"onfocus",
"onblur",
];
const COL_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"span",
"width",
"align",
"char",
"charoff",
"valign",
];
const COL_ELT: &[&str] = &["col"];
const EDIT_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"datetime",
"cite",
];
const COMPACT_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"compact",
];
const DL_CONTENTS: &[&str] = &["dt", "dd"];
const COMPACT_ATTR: &[&str] = &["compact"];
const LABEL_ATTR: &[&str] = &["label"];
const FIELDSET_CONTENTS: &[&str] = &[
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"ul",
"ol",
"dir",
"menu",
"pre",
"p",
"dl",
"div",
"center",
"noscript",
"noframes",
"blockquote",
"form",
"isindex",
"hr",
"table",
"fieldset",
"address",
"tt",
"i",
"b",
"u",
"s",
"strike",
"big",
"small",
"em",
"strong",
"dfn",
"code",
"samp",
"kbd",
"var",
"cite",
"abbr",
"acronym",
"a",
"img",
"applet",
"embed",
"object",
"font",
"basefont",
"br",
"script",
"map",
"q",
"sub",
"sup",
"span",
"bdo",
"iframe",
"input",
"select",
"textarea",
"label",
"button",
"legend",
];
const FONT_ATTRS: &[&str] = &[
"id", "class", "style", "title", "lang", "dir", "size", "color", "face",
];
const FORM_CONTENTS: &[&str] = &[
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"ul",
"ol",
"dir",
"menu",
"tt",
"i",
"b",
"u",
"s",
"strike",
"big",
"small",
"em",
"strong",
"dfn",
"code",
"samp",
"kbd",
"var",
"cite",
"abbr",
"acronym",
"a",
"img",
"applet",
"embed",
"object",
"font",
"basefont",
"br",
"script",
"map",
"q",
"sub",
"sup",
"span",
"bdo",
"iframe",
"input",
"select",
"textarea",
"label",
"button",
"pre",
"p",
"div",
"center",
"noscript",
"noframes",
"blockquote",
"isindex",
"hr",
"table",
"fieldset",
"address",
];
const FORM_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"method",
"enctype",
"accept",
"name",
"onsubmit",
"onreset",
"accept-charset",
];
const FRAME_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"longdesc",
"name",
"src",
"frameborder",
"marginwidth",
"marginheight",
"noresize",
"scrolling",
];
const FRAMESET_ATTRS: &[&str] = &[
"id", "class", "style", "title", "rows", "cols", "onload", "onunload",
];
const FRAMESET_CONTENTS: &[&str] = &["frameset", "frame", "noframes"];
const HEAD_ATTRS: &[&str] = &["lang", "dir", "profile"];
const HEAD_CONTENTS: &[&str] = &[
"title", "isindex", "base", "script", "style", "meta", "link", "object",
];
const HR_DEPR: &[&str] = &["align", "noshade", "size", "width"];
const VERSION_ATTR: &[&str] = &["version"];
const HTML_CONTENT: &[&str] = &["head", "body", "frameset"];
const IFRAME_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"longdesc",
"name",
"src",
"frameborder",
"marginwidth",
"marginheight",
"scrolling",
"align",
"height",
"width",
];
const IMG_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"longdesc",
"name",
"height",
"width",
"usemap",
"ismap",
];
const EMBED_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"align",
"alt",
"border",
"code",
"codebase",
"frameborder",
"height",
"hidden",
"hspace",
"name",
"palette",
"pluginspace",
"pluginurl",
"src",
"type",
"units",
"vspace",
"width",
];
const INPUT_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"type",
"name",
"value",
"checked",
"disabled",
"readonly",
"size",
"maxlength",
"src",
"alt",
"usemap",
"ismap",
"tabindex",
"accesskey",
"onfocus",
"onblur",
"onselect",
"onchange",
"accept",
];
const PROMPT_ATTRS: &[&str] = &["id", "class", "style", "title", "lang", "dir", "prompt"];
const LABEL_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"for",
"accesskey",
"onfocus",
"onblur",
];
const LEGEND_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"accesskey",
];
const ALIGN_ATTR: &[&str] = &["align"];
const LINK_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"charset",
"href",
"hreflang",
"type",
"rel",
"rev",
"media",
];
const MAP_CONTENTS: &[&str] = &[
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"ul",
"ol",
"dir",
"menu",
"pre",
"p",
"dl",
"div",
"center",
"noscript",
"noframes",
"blockquote",
"form",
"isindex",
"hr",
"table",
"fieldset",
"address",
"area",
];
const NAME_ATTR: &[&str] = &["name"];
const ACTION_ATTR: &[&str] = &["action"];
const BLOCKLI_ELT: &[&str] = &[
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"ul",
"ol",
"dir",
"menu",
"pre",
"p",
"dl",
"div",
"center",
"noscript",
"noframes",
"blockquote",
"form",
"isindex",
"hr",
"table",
"fieldset",
"address",
"li",
];
const META_ATTRS: &[&str] = &["lang", "dir", "http-equiv", "name", "scheme", "charset"];
const CONTENT_ATTR: &[&str] = &["content"];
const TYPE_ATTR: &[&str] = &["type"];
const NOFRAMES_CONTENT: &[&str] = &[
"body",
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"ul",
"ol",
"dir",
"menu",
"pre",
"p",
"dl",
"div",
"center",
"noscript",
"noframes",
"blockquote",
"form",
"isindex",
"hr",
"table",
"fieldset",
"address",
"tt",
"i",
"b",
"u",
"s",
"strike",
"big",
"small",
"em",
"strong",
"dfn",
"code",
"samp",
"kbd",
"var",
"cite",
"abbr",
"acronym",
"a",
"img",
"applet",
"embed",
"object",
"font",
"basefont",
"br",
"script",
"map",
"q",
"sub",
"sup",
"span",
"bdo",
"iframe",
"input",
"select",
"textarea",
"label",
"button",
];
const OBJECT_CONTENTS: &[&str] = &[
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"ul",
"ol",
"dir",
"menu",
"pre",
"p",
"dl",
"div",
"center",
"noscript",
"noframes",
"blockquote",
"form",
"isindex",
"hr",
"table",
"fieldset",
"address",
"tt",
"i",
"b",
"u",
"s",
"strike",
"big",
"small",
"em",
"strong",
"dfn",
"code",
"samp",
"kbd",
"var",
"cite",
"abbr",
"acronym",
"a",
"img",
"applet",
"embed",
"object",
"font",
"basefont",
"br",
"script",
"map",
"q",
"sub",
"sup",
"span",
"bdo",
"iframe",
"input",
"select",
"textarea",
"label",
"button",
"param",
];
const OBJECT_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"declare",
"classid",
"codebase",
"data",
"type",
"codetype",
"archive",
"standby",
"height",
"width",
"usemap",
"name",
"tabindex",
];
const OBJECT_DEPR: &[&str] = &["align", "border", "hspace", "vspace"];
const OL_ATTRS: &[&str] = &["type", "compact", "start"];
const OPTION_ELT: &[&str] = &["option"];
const OPTGROUP_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"disabled",
];
const OPTION_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"disabled",
"label",
"selected",
"value",
];
const PARAM_ATTRS: &[&str] = &["id", "value", "valuetype", "type"];
const WIDTH_ATTR: &[&str] = &["width"];
const PRE_CONTENT: &[&str] = &[
"em", "strong", "dfn", "code", "samp", "kbd", "var", "cite", "abbr", "acronym", "tt", "i", "b",
"u", "s", "strike", "a", "br", "script", "map", "q", "span", "bdo", "iframe",
];
const SCRIPT_ATTRS: &[&str] = &["charset", "src", "defer", "event", "for"];
const LANGUAGE_ATTR: &[&str] = &["language"];
const SELECT_CONTENT: &[&str] = &["optgroup", "option"];
const SELECT_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"name",
"size",
"multiple",
"disabled",
"tabindex",
"onfocus",
"onblur",
"onchange",
];
const STYLE_ATTRS: &[&str] = &["lang", "dir", "media", "title"];
const TABLE_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"summary",
"width",
"border",
"frame",
"rules",
"cellspacing",
"cellpadding",
"datapagesize",
];
const TABLE_DEPR: &[&str] = &["align", "bgcolor"];
const TABLE_CONTENTS: &[&str] = &[
"caption", "col", "colgroup", "thead", "tfoot", "tbody", "tr",
];
const TR_ELT: &[&str] = &["tr"];
const TALIGN_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"align",
"char",
"charoff",
"valign",
];
const TH_TD_DEPR: &[&str] = &["nowrap", "bgcolor", "width", "height"];
const TH_TD_ATTR: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"abbr",
"axis",
"headers",
"scope",
"rowspan",
"colspan",
"align",
"char",
"charoff",
"valign",
];
const TEXTAREA_ATTRS: &[&str] = &[
"id",
"class",
"style",
"title",
"lang",
"dir",
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"name",
"disabled",
"readonly",
"tabindex",
"accesskey",
"onfocus",
"onblur",
"onselect",
"onchange",
];
const TR_CONTENTS: &[&str] = &["th", "td"];
const BGCOLOR_ATTR: &[&str] = &["bgcolor"];
const LI_ELT: &[&str] = &["li"];
const UL_DEPR: &[&str] = &["type", "compact"];
const DIR_ATTR: &[&str] = &["dir"];
pub struct HtmlEntityDesc {
pub(super) value: u32,
pub(super) name: &'static str,
#[allow(unused)]
desc: &'static str,
}
#[repr(C)]
pub struct HtmlElemDesc {
pub(crate) name: &'static str,
pub(crate) start_tag: i8,
pub(crate) end_tag: i8,
pub(crate) save_end_tag: i8,
pub(crate) empty: i8,
pub(crate) depr: i8,
pub(crate) dtd: i8,
pub(crate) isinline: i8,
pub(crate) desc: &'static str,
pub(crate) subelts: &'static [&'static str],
pub(crate) defaultsubelt: Option<&'static str>,
pub(crate) attrs_opt: &'static [&'static str],
pub(crate) attrs_depr: &'static [&'static str],
pub(crate) attrs_req: &'static [&'static str],
}
pub(super) const HTML40_ELEMENT_TABLE: &[HtmlElemDesc] = &[
HtmlElemDesc {
name: "a",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "anchor ",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: A_ATTRS,
attrs_depr: TARGET_ATTR,
attrs_req: &[],
},
HtmlElemDesc {
name: "abbr",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "abbreviated form",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "acronym",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "address",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "information on author ",
subelts: INLINE_P,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "applet",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 1,
dtd: 1,
isinline: 2,
desc: "java applet ",
subelts: FLOW_PARAM,
defaultsubelt: None,
attrs_opt: &[],
attrs_depr: APPLET_ATTRS,
attrs_req: &[],
},
HtmlElemDesc {
name: "area",
start_tag: 0,
end_tag: 2,
save_end_tag: 2,
empty: 1,
depr: 0,
dtd: 0,
isinline: 0,
desc: "client-side image map area ",
subelts: &[],
defaultsubelt: None,
attrs_opt: AREA_ATTRS,
attrs_depr: TARGET_ATTR,
attrs_req: ALT_ATTR,
},
HtmlElemDesc {
name: "b",
start_tag: 0,
end_tag: 3,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "bold text style",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "base",
start_tag: 0,
end_tag: 2,
save_end_tag: 2,
empty: 1,
depr: 0,
dtd: 0,
isinline: 0,
desc: "document base uri ",
subelts: &[],
defaultsubelt: None,
attrs_opt: &[],
attrs_depr: TARGET_ATTR,
attrs_req: HREF_ATTRS,
},
HtmlElemDesc {
name: "basefont",
start_tag: 0,
end_tag: 2,
save_end_tag: 2,
empty: 1,
depr: 1,
dtd: 1,
isinline: 1,
desc: "base font size ",
subelts: &[],
defaultsubelt: None,
attrs_opt: &[],
attrs_depr: BASEFONT_ATTRS,
attrs_req: &[],
},
HtmlElemDesc {
name: "bdo",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "i18n bidi over-ride ",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: CORE_I18N_ATTRS,
attrs_depr: &[],
attrs_req: DIR_ATTR,
},
HtmlElemDesc {
name: "big",
start_tag: 0,
end_tag: 3,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "large text style",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "blockquote",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "long quotation ",
subelts: HTML_FLOW,
defaultsubelt: None,
attrs_opt: QUOTE_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "body",
start_tag: 1,
end_tag: 1,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "document body ",
subelts: BODY_CONTENTS,
defaultsubelt: Some("div"),
attrs_opt: BODY_ATTRS,
attrs_depr: BODY_DEPR,
attrs_req: &[],
},
HtmlElemDesc {
name: "br",
start_tag: 0,
end_tag: 2,
save_end_tag: 2,
empty: 1,
depr: 0,
dtd: 0,
isinline: 1,
desc: "forced line break ",
subelts: &[],
defaultsubelt: None,
attrs_opt: CORE_ATTRS,
attrs_depr: CLEAR_ATTRS,
attrs_req: &[],
},
HtmlElemDesc {
name: "button",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 2,
desc: "push button ",
subelts: HTML_FLOW,
defaultsubelt: None,
attrs_opt: BUTTON_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "caption",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "table caption ",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "center",
start_tag: 0,
end_tag: 3,
save_end_tag: 0,
empty: 0,
depr: 1,
dtd: 1,
isinline: 0,
desc: "shorthand for div align=center ",
subelts: HTML_FLOW,
defaultsubelt: None,
attrs_opt: &[],
attrs_depr: HTML_ATTRS,
attrs_req: &[],
},
HtmlElemDesc {
name: "cite",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "citation",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "code",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "computer code fragment",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "col",
start_tag: 0,
end_tag: 2,
save_end_tag: 2,
empty: 1,
depr: 0,
dtd: 0,
isinline: 0,
desc: "table column ",
subelts: &[],
defaultsubelt: None,
attrs_opt: COL_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "colgroup",
start_tag: 0,
end_tag: 1,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "table column group ",
subelts: COL_ELT,
defaultsubelt: Some("col"),
attrs_opt: COL_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "dd",
start_tag: 0,
end_tag: 1,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "definition description ",
subelts: HTML_FLOW,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "del",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 2,
desc: "deleted text ",
subelts: HTML_FLOW,
defaultsubelt: None,
attrs_opt: EDIT_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "dfn",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "instance definition",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "dir",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 1,
dtd: 1,
isinline: 0,
desc: "directory list",
subelts: BLOCKLI_ELT,
defaultsubelt: Some("li"),
attrs_opt: &[],
attrs_depr: COMPACT_ATTRS,
attrs_req: &[],
},
HtmlElemDesc {
name: "div",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "generic language/style container",
subelts: HTML_FLOW,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: ALIGN_ATTR,
attrs_req: &[],
},
HtmlElemDesc {
name: "dl",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "definition list ",
subelts: DL_CONTENTS,
defaultsubelt: Some("dd"),
attrs_opt: HTML_ATTRS,
attrs_depr: COMPACT_ATTR,
attrs_req: &[],
},
HtmlElemDesc {
name: "dt",
start_tag: 0,
end_tag: 1,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "definition term ",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "em",
start_tag: 0,
end_tag: 3,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "emphasis",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "embed",
start_tag: 0,
end_tag: 1,
save_end_tag: 0,
empty: 0,
depr: 1,
dtd: 1,
isinline: 1,
desc: "generic embedded object ",
subelts: &[],
defaultsubelt: None,
attrs_opt: EMBED_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "fieldset",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "form control group ",
subelts: FIELDSET_CONTENTS,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "font",
start_tag: 0,
end_tag: 3,
save_end_tag: 0,
empty: 0,
depr: 1,
dtd: 1,
isinline: 1,
desc: "local change to font ",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: &[],
attrs_depr: FONT_ATTRS,
attrs_req: &[],
},
HtmlElemDesc {
name: "form",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "interactive form ",
subelts: FORM_CONTENTS,
defaultsubelt: Some("fieldset"),
attrs_opt: FORM_ATTRS,
attrs_depr: TARGET_ATTR,
attrs_req: ACTION_ATTR,
},
HtmlElemDesc {
name: "frame",
start_tag: 0,
end_tag: 2,
save_end_tag: 2,
empty: 1,
depr: 0,
dtd: 2,
isinline: 0,
desc: "subwindow ",
subelts: &[],
defaultsubelt: None,
attrs_opt: &[],
attrs_depr: FRAME_ATTRS,
attrs_req: &[],
},
HtmlElemDesc {
name: "frameset",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 2,
isinline: 0,
desc: "window subdivision",
subelts: FRAMESET_CONTENTS,
defaultsubelt: Some("noframes"),
attrs_opt: &[],
attrs_depr: FRAMESET_ATTRS,
attrs_req: &[],
},
HtmlElemDesc {
name: "h1",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "heading ",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: ALIGN_ATTR,
attrs_req: &[],
},
HtmlElemDesc {
name: "h2",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "heading ",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: ALIGN_ATTR,
attrs_req: &[],
},
HtmlElemDesc {
name: "h3",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "heading ",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: ALIGN_ATTR,
attrs_req: &[],
},
HtmlElemDesc {
name: "h4",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "heading ",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: ALIGN_ATTR,
attrs_req: &[],
},
HtmlElemDesc {
name: "h5",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "heading ",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: ALIGN_ATTR,
attrs_req: &[],
},
HtmlElemDesc {
name: "h6",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "heading ",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: ALIGN_ATTR,
attrs_req: &[],
},
HtmlElemDesc {
name: "head",
start_tag: 1,
end_tag: 1,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "document head ",
subelts: HEAD_CONTENTS,
defaultsubelt: None,
attrs_opt: HEAD_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "hr",
start_tag: 0,
end_tag: 2,
save_end_tag: 2,
empty: 1,
depr: 0,
dtd: 0,
isinline: 0,
desc: "horizontal rule ",
subelts: &[],
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: HR_DEPR,
attrs_req: &[],
},
HtmlElemDesc {
name: "html",
start_tag: 1,
end_tag: 1,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "document root element ",
subelts: HTML_CONTENT,
defaultsubelt: None,
attrs_opt: I18N_ATTRS,
attrs_depr: VERSION_ATTR,
attrs_req: &[],
},
HtmlElemDesc {
name: "i",
start_tag: 0,
end_tag: 3,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "italic text style",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "iframe",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 1,
isinline: 2,
desc: "inline subwindow ",
subelts: HTML_FLOW,
defaultsubelt: None,
attrs_opt: &[],
attrs_depr: IFRAME_ATTRS,
attrs_req: &[],
},
HtmlElemDesc {
name: "img",
start_tag: 0,
end_tag: 2,
save_end_tag: 2,
empty: 1,
depr: 0,
dtd: 0,
isinline: 1,
desc: "embedded image ",
subelts: &[],
defaultsubelt: None,
attrs_opt: IMG_ATTRS,
attrs_depr: ALIGN_ATTR,
attrs_req: SRC_ALT_ATTRS,
},
HtmlElemDesc {
name: "input",
start_tag: 0,
end_tag: 2,
save_end_tag: 2,
empty: 1,
depr: 0,
dtd: 0,
isinline: 1,
desc: "form control ",
subelts: &[],
defaultsubelt: None,
attrs_opt: INPUT_ATTRS,
attrs_depr: ALIGN_ATTR,
attrs_req: &[],
},
HtmlElemDesc {
name: "ins",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 2,
desc: "inserted text",
subelts: HTML_FLOW,
defaultsubelt: None,
attrs_opt: EDIT_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "isindex",
start_tag: 0,
end_tag: 2,
save_end_tag: 2,
empty: 1,
depr: 1,
dtd: 1,
isinline: 0,
desc: "single line prompt ",
subelts: &[],
defaultsubelt: None,
attrs_opt: &[],
attrs_depr: PROMPT_ATTRS,
attrs_req: &[],
},
HtmlElemDesc {
name: "kbd",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "text to be entered by the user",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "label",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "form field label text ",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: LABEL_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "legend",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "fieldset legend ",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: LEGEND_ATTRS,
attrs_depr: ALIGN_ATTR,
attrs_req: &[],
},
HtmlElemDesc {
name: "li",
start_tag: 0,
end_tag: 1,
save_end_tag: 1,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "list item ",
subelts: HTML_FLOW,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "link",
start_tag: 0,
end_tag: 2,
save_end_tag: 2,
empty: 1,
depr: 0,
dtd: 0,
isinline: 0,
desc: "a media-independent link ",
subelts: &[],
defaultsubelt: None,
attrs_opt: LINK_ATTRS,
attrs_depr: TARGET_ATTR,
attrs_req: &[],
},
HtmlElemDesc {
name: "map",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 2,
desc: "client-side image map ",
subelts: MAP_CONTENTS,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: NAME_ATTR,
},
HtmlElemDesc {
name: "menu",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 1,
dtd: 1,
isinline: 0,
desc: "menu list ",
subelts: BLOCKLI_ELT,
defaultsubelt: None,
attrs_opt: &[],
attrs_depr: COMPACT_ATTRS,
attrs_req: &[],
},
HtmlElemDesc {
name: "meta",
start_tag: 0,
end_tag: 2,
save_end_tag: 2,
empty: 1,
depr: 0,
dtd: 0,
isinline: 0,
desc: "generic metainformation ",
subelts: &[],
defaultsubelt: None,
attrs_opt: META_ATTRS,
attrs_depr: &[],
attrs_req: CONTENT_ATTR,
},
HtmlElemDesc {
name: "noframes",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 2,
isinline: 0,
desc: "alternate content container for non frame-based rendering ",
subelts: NOFRAMES_CONTENT,
defaultsubelt: Some("body"),
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "noscript",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "alternate content container for non script-based rendering ",
subelts: HTML_FLOW,
defaultsubelt: Some("div"),
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "object",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 2,
desc: "generic embedded object ",
subelts: OBJECT_CONTENTS,
defaultsubelt: Some("div"),
attrs_opt: OBJECT_ATTRS,
attrs_depr: OBJECT_DEPR,
attrs_req: &[],
},
HtmlElemDesc {
name: "ol",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "ordered list ",
subelts: LI_ELT,
defaultsubelt: Some("li"),
attrs_opt: HTML_ATTRS,
attrs_depr: OL_ATTRS,
attrs_req: &[],
},
HtmlElemDesc {
name: "optgroup",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "option group ",
subelts: OPTION_ELT,
defaultsubelt: Some("option"),
attrs_opt: OPTGROUP_ATTRS,
attrs_depr: &[],
attrs_req: LABEL_ATTR,
},
HtmlElemDesc {
name: "option",
start_tag: 0,
end_tag: 1,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "selectable choice ",
subelts: HTML_PCDATA,
defaultsubelt: None,
attrs_opt: OPTION_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "p",
start_tag: 0,
end_tag: 1,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "paragraph ",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: ALIGN_ATTR,
attrs_req: &[],
},
HtmlElemDesc {
name: "param",
start_tag: 0,
end_tag: 2,
save_end_tag: 2,
empty: 1,
depr: 0,
dtd: 0,
isinline: 0,
desc: "named property value ",
subelts: &[],
defaultsubelt: None,
attrs_opt: PARAM_ATTRS,
attrs_depr: &[],
attrs_req: NAME_ATTR,
},
HtmlElemDesc {
name: "pre",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "preformatted text ",
subelts: PRE_CONTENT,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: WIDTH_ATTR,
attrs_req: &[],
},
HtmlElemDesc {
name: "q",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "short inline quotation ",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: QUOTE_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "s",
start_tag: 0,
end_tag: 3,
save_end_tag: 0,
empty: 0,
depr: 1,
dtd: 1,
isinline: 1,
desc: "strike-through text style",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: &[],
attrs_depr: HTML_ATTRS,
attrs_req: &[],
},
HtmlElemDesc {
name: "samp",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "sample program output, scripts, etc.",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "script",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 2,
desc: "script statements ",
subelts: HTML_CDATA,
defaultsubelt: None,
attrs_opt: SCRIPT_ATTRS,
attrs_depr: LANGUAGE_ATTR,
attrs_req: TYPE_ATTR,
},
HtmlElemDesc {
name: "select",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "option selector ",
subelts: SELECT_CONTENT,
defaultsubelt: None,
attrs_opt: SELECT_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "small",
start_tag: 0,
end_tag: 3,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "small text style",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "span",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "generic language/style container ",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "strike",
start_tag: 0,
end_tag: 3,
save_end_tag: 0,
empty: 0,
depr: 1,
dtd: 1,
isinline: 1,
desc: "strike-through text",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: &[],
attrs_depr: HTML_ATTRS,
attrs_req: &[],
},
HtmlElemDesc {
name: "strong",
start_tag: 0,
end_tag: 3,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "strong emphasis",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "style",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "style info ",
subelts: HTML_CDATA,
defaultsubelt: None,
attrs_opt: STYLE_ATTRS,
attrs_depr: &[],
attrs_req: TYPE_ATTR,
},
HtmlElemDesc {
name: "sub",
start_tag: 0,
end_tag: 3,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "subscript",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "sup",
start_tag: 0,
end_tag: 3,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "superscript ",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "table",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "",
subelts: TABLE_CONTENTS,
defaultsubelt: Some("tr"),
attrs_opt: TABLE_ATTRS,
attrs_depr: TABLE_DEPR,
attrs_req: &[],
},
HtmlElemDesc {
name: "tbody",
start_tag: 1,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "table body ",
subelts: TR_ELT,
defaultsubelt: Some("tr"),
attrs_opt: TALIGN_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "td",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "table data cell",
subelts: HTML_FLOW,
defaultsubelt: None,
attrs_opt: TH_TD_ATTR,
attrs_depr: TH_TD_DEPR,
attrs_req: &[],
},
HtmlElemDesc {
name: "textarea",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "multi-line text field ",
subelts: HTML_PCDATA,
defaultsubelt: None,
attrs_opt: TEXTAREA_ATTRS,
attrs_depr: &[],
attrs_req: ROWS_COLS_ATTR,
},
HtmlElemDesc {
name: "tfoot",
start_tag: 0,
end_tag: 1,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "table footer ",
subelts: TR_ELT,
defaultsubelt: Some("tr"),
attrs_opt: TALIGN_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "th",
start_tag: 0,
end_tag: 1,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "table header cell",
subelts: HTML_FLOW,
defaultsubelt: None,
attrs_opt: TH_TD_ATTR,
attrs_depr: TH_TD_DEPR,
attrs_req: &[],
},
HtmlElemDesc {
name: "thead",
start_tag: 0,
end_tag: 1,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "table header ",
subelts: TR_ELT,
defaultsubelt: Some("tr"),
attrs_opt: TALIGN_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "title",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "document title ",
subelts: HTML_PCDATA,
defaultsubelt: None,
attrs_opt: I18N_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "tr",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "table row ",
subelts: TR_CONTENTS,
defaultsubelt: Some("td"),
attrs_opt: TALIGN_ATTRS,
attrs_depr: BGCOLOR_ATTR,
attrs_req: &[],
},
HtmlElemDesc {
name: "tt",
start_tag: 0,
end_tag: 3,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "teletype or monospaced text style",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
HtmlElemDesc {
name: "u",
start_tag: 0,
end_tag: 3,
save_end_tag: 0,
empty: 0,
depr: 1,
dtd: 1,
isinline: 1,
desc: "underlined text style",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: &[],
attrs_depr: HTML_ATTRS,
attrs_req: &[],
},
HtmlElemDesc {
name: "ul",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 0,
desc: "unordered list ",
subelts: LI_ELT,
defaultsubelt: Some("li"),
attrs_opt: HTML_ATTRS,
attrs_depr: UL_DEPR,
attrs_req: &[],
},
HtmlElemDesc {
name: "var",
start_tag: 0,
end_tag: 0,
save_end_tag: 0,
empty: 0,
depr: 0,
dtd: 0,
isinline: 1,
desc: "instance of a variable or program argument",
subelts: HTML_INLINE,
defaultsubelt: None,
attrs_opt: HTML_ATTRS,
attrs_depr: &[],
attrs_req: &[],
},
];
pub(super) const HTML40_ENTITIES_TABLE: &[HtmlEntityDesc] = &[
HtmlEntityDesc {
value: 34,
name: "quot",
desc: "quotation mark = APL quote, U+0022 ISOnum",
},
HtmlEntityDesc {
value: 38,
name: "amp",
desc: "ampersand, U+0026 ISOnum",
},
HtmlEntityDesc {
value: 39,
name: "apos",
desc: "single quote",
},
HtmlEntityDesc {
value: 60,
name: "lt",
desc: "less-than sign, U+003C ISOnum",
},
HtmlEntityDesc {
value: 62,
name: "gt",
desc: "greater-than sign, U+003E ISOnum",
},
HtmlEntityDesc {
value: 160,
name: "nbsp",
desc: "no-break space = non-breaking space, U+00A0 ISOnum",
},
HtmlEntityDesc {
value: 161,
name: "iexcl",
desc: "inverted exclamation mark, U+00A1 ISOnum",
},
HtmlEntityDesc {
value: 162,
name: "cent",
desc: "cent sign, U+00A2 ISOnum",
},
HtmlEntityDesc {
value: 163,
name: "pound",
desc: "pound sign, U+00A3 ISOnum",
},
HtmlEntityDesc {
value: 164,
name: "curren",
desc: "currency sign, U+00A4 ISOnum",
},
HtmlEntityDesc {
value: 165,
name: "yen",
desc: "yen sign = yuan sign, U+00A5 ISOnum",
},
HtmlEntityDesc {
value: 166,
name: "brvbar",
desc: "broken bar = broken vertical bar, U+00A6 ISOnum",
},
HtmlEntityDesc {
value: 167,
name: "sect",
desc: "section sign, U+00A7 ISOnum",
},
HtmlEntityDesc {
value: 168,
name: "uml",
desc: "diaeresis = spacing diaeresis, U+00A8 ISOdia",
},
HtmlEntityDesc {
value: 169,
name: "copy",
desc: "copyright sign, U+00A9 ISOnum",
},
HtmlEntityDesc {
value: 170,
name: "ordf",
desc: "feminine ordinal indicator, U+00AA ISOnum",
},
HtmlEntityDesc {
value: 171,
name: "laquo",
desc: "left-pointing double angle quotation mark = left pointing guillemet, U+00AB ISOnum",
},
HtmlEntityDesc {
value: 172,
name: "not",
desc: "not sign, U+00AC ISOnum",
},
HtmlEntityDesc {
value: 173,
name: "shy",
desc: "soft hyphen = discretionary hyphen, U+00AD ISOnum",
},
HtmlEntityDesc {
value: 174,
name: "reg",
desc: "registered sign = registered trade mark sign, U+00AE ISOnum",
},
HtmlEntityDesc {
value: 175,
name: "macr",
desc: "macron = spacing macron = overline = APL overbar, U+00AF ISOdia",
},
HtmlEntityDesc {
value: 176,
name: "deg",
desc: "degree sign, U+00B0 ISOnum",
},
HtmlEntityDesc {
value: 177,
name: "plusmn",
desc: "plus-minus sign = plus-or-minus sign, U+00B1 ISOnum",
},
HtmlEntityDesc {
value: 178,
name: "sup2",
desc: "superscript two = superscript digit two = squared, U+00B2 ISOnum",
},
HtmlEntityDesc {
value: 179,
name: "sup3",
desc: "superscript three = superscript digit three = cubed, U+00B3 ISOnum",
},
HtmlEntityDesc {
value: 180,
name: "acute",
desc: "acute accent = spacing acute, U+00B4 ISOdia",
},
HtmlEntityDesc {
value: 181,
name: "micro",
desc: "micro sign, U+00B5 ISOnum",
},
HtmlEntityDesc {
value: 182,
name: "para",
desc: "pilcrow sign = paragraph sign, U+00B6 ISOnum",
},
HtmlEntityDesc {
value: 183,
name: "middot",
desc: "middle dot = Georgian comma Greek middle dot, U+00B7 ISOnum",
},
HtmlEntityDesc {
value: 184,
name: "cedil",
desc: "cedilla = spacing cedilla, U+00B8 ISOdia",
},
HtmlEntityDesc {
value: 185,
name: "sup1",
desc: "superscript one = superscript digit one, U+00B9 ISOnum",
},
HtmlEntityDesc {
value: 186,
name: "ordm",
desc: "masculine ordinal indicator, U+00BA ISOnum",
},
HtmlEntityDesc {
value: 187,
name: "raquo",
desc: "right-pointing double angle quotation mark right pointing guillemet, U+00BB ISOnum",
},
HtmlEntityDesc {
value: 188,
name: "frac14",
desc: "vulgar fraction one quarter = fraction one quarter, U+00BC ISOnum",
},
HtmlEntityDesc {
value: 189,
name: "frac12",
desc: "vulgar fraction one half = fraction one half, U+00BD ISOnum",
},
HtmlEntityDesc {
value: 190,
name: "frac34",
desc: "vulgar fraction three quarters = fraction three quarters, U+00BE ISOnum",
},
HtmlEntityDesc {
value: 191,
name: "iquest",
desc: "inverted question mark = turned question mark, U+00BF ISOnum",
},
HtmlEntityDesc {
value: 192,
name: "Agrave",
desc: "latin capital letter A with grave = latin capital letter A grave, U+00C0 ISOlat1",
},
HtmlEntityDesc {
value: 193,
name: "Aacute",
desc: "latin capital letter A with acute, U+00C1 ISOlat1",
},
HtmlEntityDesc {
value: 194,
name: "Acirc",
desc: "latin capital letter A with circumflex, U+00C2 ISOlat1",
},
HtmlEntityDesc {
value: 195,
name: "Atilde",
desc: "latin capital letter A with tilde, U+00C3 ISOlat1",
},
HtmlEntityDesc {
value: 196,
name: "Auml",
desc: "latin capital letter A with diaeresis, U+00C4 ISOlat1",
},
HtmlEntityDesc {
value: 197,
name: "Aring",
desc: "latin capital letter A with ring above = latin capital letter A ring, U+00C5 ISOlat1",
},
HtmlEntityDesc {
value: 198,
name: "AElig",
desc: "latin capital letter AE = latin capital ligature AE, U+00C6 ISOlat1",
},
HtmlEntityDesc {
value: 199,
name: "Ccedil",
desc: "latin capital letter C with cedilla, U+00C7 ISOlat1",
},
HtmlEntityDesc {
value: 200,
name: "Egrave",
desc: "latin capital letter E with grave, U+00C8 ISOlat1",
},
HtmlEntityDesc {
value: 201,
name: "Eacute",
desc: "latin capital letter E with acute, U+00C9 ISOlat1",
},
HtmlEntityDesc {
value: 202,
name: "Ecirc",
desc: "latin capital letter E with circumflex, U+00CA ISOlat1",
},
HtmlEntityDesc {
value: 203,
name: "Euml",
desc: "latin capital letter E with diaeresis, U+00CB ISOlat1",
},
HtmlEntityDesc {
value: 204,
name: "Igrave",
desc: "latin capital letter I with grave, U+00CC ISOlat1",
},
HtmlEntityDesc {
value: 205,
name: "Iacute",
desc: "latin capital letter I with acute, U+00CD ISOlat1",
},
HtmlEntityDesc {
value: 206,
name: "Icirc",
desc: "latin capital letter I with circumflex, U+00CE ISOlat1",
},
HtmlEntityDesc {
value: 207,
name: "Iuml",
desc: "latin capital letter I with diaeresis, U+00CF ISOlat1",
},
HtmlEntityDesc {
value: 208,
name: "ETH",
desc: "latin capital letter ETH, U+00D0 ISOlat1",
},
HtmlEntityDesc {
value: 209,
name: "Ntilde",
desc: "latin capital letter N with tilde, U+00D1 ISOlat1",
},
HtmlEntityDesc {
value: 210,
name: "Ograve",
desc: "latin capital letter O with grave, U+00D2 ISOlat1",
},
HtmlEntityDesc {
value: 211,
name: "Oacute",
desc: "latin capital letter O with acute, U+00D3 ISOlat1",
},
HtmlEntityDesc {
value: 212,
name: "Ocirc",
desc: "latin capital letter O with circumflex, U+00D4 ISOlat1",
},
HtmlEntityDesc {
value: 213,
name: "Otilde",
desc: "latin capital letter O with tilde, U+00D5 ISOlat1",
},
HtmlEntityDesc {
value: 214,
name: "Ouml",
desc: "latin capital letter O with diaeresis, U+00D6 ISOlat1",
},
HtmlEntityDesc {
value: 215,
name: "times",
desc: "multiplication sign, U+00D7 ISOnum",
},
HtmlEntityDesc {
value: 216,
name: "Oslash",
desc: "latin capital letter O with stroke latin capital letter O slash, U+00D8 ISOlat1",
},
HtmlEntityDesc {
value: 217,
name: "Ugrave",
desc: "latin capital letter U with grave, U+00D9 ISOlat1",
},
HtmlEntityDesc {
value: 218,
name: "Uacute",
desc: "latin capital letter U with acute, U+00DA ISOlat1",
},
HtmlEntityDesc {
value: 219,
name: "Ucirc",
desc: "latin capital letter U with circumflex, U+00DB ISOlat1",
},
HtmlEntityDesc {
value: 220,
name: "Uuml",
desc: "latin capital letter U with diaeresis, U+00DC ISOlat1",
},
HtmlEntityDesc {
value: 221,
name: "Yacute",
desc: "latin capital letter Y with acute, U+00DD ISOlat1",
},
HtmlEntityDesc {
value: 222,
name: "THORN",
desc: "latin capital letter THORN, U+00DE ISOlat1",
},
HtmlEntityDesc {
value: 223,
name: "szlig",
desc: "latin small letter sharp s = ess-zed, U+00DF ISOlat1",
},
HtmlEntityDesc {
value: 224,
name: "agrave",
desc: "latin small letter a with grave = latin small letter a grave, U+00E0 ISOlat1",
},
HtmlEntityDesc {
value: 225,
name: "aacute",
desc: "latin small letter a with acute, U+00E1 ISOlat1",
},
HtmlEntityDesc {
value: 226,
name: "acirc",
desc: "latin small letter a with circumflex, U+00E2 ISOlat1",
},
HtmlEntityDesc {
value: 227,
name: "atilde",
desc: "latin small letter a with tilde, U+00E3 ISOlat1",
},
HtmlEntityDesc {
value: 228,
name: "auml",
desc: "latin small letter a with diaeresis, U+00E4 ISOlat1",
},
HtmlEntityDesc {
value: 229,
name: "aring",
desc: "latin small letter a with ring above = latin small letter a ring, U+00E5 ISOlat1",
},
HtmlEntityDesc {
value: 230,
name: "aelig",
desc: "latin small letter ae = latin small ligature ae, U+00E6 ISOlat1",
},
HtmlEntityDesc {
value: 231,
name: "ccedil",
desc: "latin small letter c with cedilla, U+00E7 ISOlat1",
},
HtmlEntityDesc {
value: 232,
name: "egrave",
desc: "latin small letter e with grave, U+00E8 ISOlat1",
},
HtmlEntityDesc {
value: 233,
name: "eacute",
desc: "latin small letter e with acute, U+00E9 ISOlat1",
},
HtmlEntityDesc {
value: 234,
name: "ecirc",
desc: "latin small letter e with circumflex, U+00EA ISOlat1",
},
HtmlEntityDesc {
value: 235,
name: "euml",
desc: "latin small letter e with diaeresis, U+00EB ISOlat1",
},
HtmlEntityDesc {
value: 236,
name: "igrave",
desc: "latin small letter i with grave, U+00EC ISOlat1",
},
HtmlEntityDesc {
value: 237,
name: "iacute",
desc: "latin small letter i with acute, U+00ED ISOlat1",
},
HtmlEntityDesc {
value: 238,
name: "icirc",
desc: "latin small letter i with circumflex, U+00EE ISOlat1",
},
HtmlEntityDesc {
value: 239,
name: "iuml",
desc: "latin small letter i with diaeresis, U+00EF ISOlat1",
},
HtmlEntityDesc {
value: 240,
name: "eth",
desc: "latin small letter eth, U+00F0 ISOlat1",
},
HtmlEntityDesc {
value: 241,
name: "ntilde",
desc: "latin small letter n with tilde, U+00F1 ISOlat1",
},
HtmlEntityDesc {
value: 242,
name: "ograve",
desc: "latin small letter o with grave, U+00F2 ISOlat1",
},
HtmlEntityDesc {
value: 243,
name: "oacute",
desc: "latin small letter o with acute, U+00F3 ISOlat1",
},
HtmlEntityDesc {
value: 244,
name: "ocirc",
desc: "latin small letter o with circumflex, U+00F4 ISOlat1",
},
HtmlEntityDesc {
value: 245,
name: "otilde",
desc: "latin small letter o with tilde, U+00F5 ISOlat1",
},
HtmlEntityDesc {
value: 246,
name: "ouml",
desc: "latin small letter o with diaeresis, U+00F6 ISOlat1",
},
HtmlEntityDesc {
value: 247,
name: "divide",
desc: "division sign, U+00F7 ISOnum",
},
HtmlEntityDesc {
value: 248,
name: "oslash",
desc: "latin small letter o with stroke, = latin small letter o slash, U+00F8 ISOlat1",
},
HtmlEntityDesc {
value: 249,
name: "ugrave",
desc: "latin small letter u with grave, U+00F9 ISOlat1",
},
HtmlEntityDesc {
value: 250,
name: "uacute",
desc: "latin small letter u with acute, U+00FA ISOlat1",
},
HtmlEntityDesc {
value: 251,
name: "ucirc",
desc: "latin small letter u with circumflex, U+00FB ISOlat1",
},
HtmlEntityDesc {
value: 252,
name: "uuml",
desc: "latin small letter u with diaeresis, U+00FC ISOlat1",
},
HtmlEntityDesc {
value: 253,
name: "yacute",
desc: "latin small letter y with acute, U+00FD ISOlat1",
},
HtmlEntityDesc {
value: 254,
name: "thorn",
desc: "latin small letter thorn with, U+00FE ISOlat1",
},
HtmlEntityDesc {
value: 255,
name: "yuml",
desc: "latin small letter y with diaeresis, U+00FF ISOlat1",
},
HtmlEntityDesc {
value: 338,
name: "OElig",
desc: "latin capital ligature OE, U+0152 ISOlat2",
},
HtmlEntityDesc {
value: 339,
name: "oelig",
desc: "latin small ligature oe, U+0153 ISOlat2",
},
HtmlEntityDesc {
value: 352,
name: "Scaron",
desc: "latin capital letter S with caron, U+0160 ISOlat2",
},
HtmlEntityDesc {
value: 353,
name: "scaron",
desc: "latin small letter s with caron, U+0161 ISOlat2",
},
HtmlEntityDesc {
value: 376,
name: "Yuml",
desc: "latin capital letter Y with diaeresis, U+0178 ISOlat2",
},
HtmlEntityDesc {
value: 402,
name: "fnof",
desc: "latin small f with hook = function = florin, U+0192 ISOtech",
},
HtmlEntityDesc {
value: 710,
name: "circ",
desc: "modifier letter circumflex accent, U+02C6 ISOpub",
},
HtmlEntityDesc {
value: 732,
name: "tilde",
desc: "small tilde, U+02DC ISOdia",
},
HtmlEntityDesc {
value: 913,
name: "Alpha",
desc: "greek capital letter alpha, U+0391",
},
HtmlEntityDesc {
value: 914,
name: "Beta",
desc: "greek capital letter beta, U+0392",
},
HtmlEntityDesc {
value: 915,
name: "Gamma",
desc: "greek capital letter gamma, U+0393 ISOgrk3",
},
HtmlEntityDesc {
value: 916,
name: "Delta",
desc: "greek capital letter delta, U+0394 ISOgrk3",
},
HtmlEntityDesc {
value: 917,
name: "Epsilon",
desc: "greek capital letter epsilon, U+0395",
},
HtmlEntityDesc {
value: 918,
name: "Zeta",
desc: "greek capital letter zeta, U+0396",
},
HtmlEntityDesc {
value: 919,
name: "Eta",
desc: "greek capital letter eta, U+0397",
},
HtmlEntityDesc {
value: 920,
name: "Theta",
desc: "greek capital letter theta, U+0398 ISOgrk3",
},
HtmlEntityDesc {
value: 921,
name: "Iota",
desc: "greek capital letter iota, U+0399",
},
HtmlEntityDesc {
value: 922,
name: "Kappa",
desc: "greek capital letter kappa, U+039A",
},
HtmlEntityDesc {
value: 923,
name: "Lambda",
desc: "greek capital letter lambda, U+039B ISOgrk3",
},
HtmlEntityDesc {
value: 924,
name: "Mu",
desc: "greek capital letter mu, U+039C",
},
HtmlEntityDesc {
value: 925,
name: "Nu",
desc: "greek capital letter nu, U+039D",
},
HtmlEntityDesc {
value: 926,
name: "Xi",
desc: "greek capital letter xi, U+039E ISOgrk3",
},
HtmlEntityDesc {
value: 927,
name: "Omicron",
desc: "greek capital letter omicron, U+039F",
},
HtmlEntityDesc {
value: 928,
name: "Pi",
desc: "greek capital letter pi, U+03A0 ISOgrk3",
},
HtmlEntityDesc {
value: 929,
name: "Rho",
desc: "greek capital letter rho, U+03A1",
},
HtmlEntityDesc {
value: 931,
name: "Sigma",
desc: "greek capital letter sigma, U+03A3 ISOgrk3",
},
HtmlEntityDesc {
value: 932,
name: "Tau",
desc: "greek capital letter tau, U+03A4",
},
HtmlEntityDesc {
value: 933,
name: "Upsilon",
desc: "greek capital letter upsilon, U+03A5 ISOgrk3",
},
HtmlEntityDesc {
value: 934,
name: "Phi",
desc: "greek capital letter phi, U+03A6 ISOgrk3",
},
HtmlEntityDesc {
value: 935,
name: "Chi",
desc: "greek capital letter chi, U+03A7",
},
HtmlEntityDesc {
value: 936,
name: "Psi",
desc: "greek capital letter psi, U+03A8 ISOgrk3",
},
HtmlEntityDesc {
value: 937,
name: "Omega",
desc: "greek capital letter omega, U+03A9 ISOgrk3",
},
HtmlEntityDesc {
value: 945,
name: "alpha",
desc: "greek small letter alpha, U+03B1 ISOgrk3",
},
HtmlEntityDesc {
value: 946,
name: "beta",
desc: "greek small letter beta, U+03B2 ISOgrk3",
},
HtmlEntityDesc {
value: 947,
name: "gamma",
desc: "greek small letter gamma, U+03B3 ISOgrk3",
},
HtmlEntityDesc {
value: 948,
name: "delta",
desc: "greek small letter delta, U+03B4 ISOgrk3",
},
HtmlEntityDesc {
value: 949,
name: "epsilon",
desc: "greek small letter epsilon, U+03B5 ISOgrk3",
},
HtmlEntityDesc {
value: 950,
name: "zeta",
desc: "greek small letter zeta, U+03B6 ISOgrk3",
},
HtmlEntityDesc {
value: 951,
name: "eta",
desc: "greek small letter eta, U+03B7 ISOgrk3",
},
HtmlEntityDesc {
value: 952,
name: "theta",
desc: "greek small letter theta, U+03B8 ISOgrk3",
},
HtmlEntityDesc {
value: 953,
name: "iota",
desc: "greek small letter iota, U+03B9 ISOgrk3",
},
HtmlEntityDesc {
value: 954,
name: "kappa",
desc: "greek small letter kappa, U+03BA ISOgrk3",
},
HtmlEntityDesc {
value: 955,
name: "lambda",
desc: "greek small letter lambda, U+03BB ISOgrk3",
},
HtmlEntityDesc {
value: 956,
name: "mu",
desc: "greek small letter mu, U+03BC ISOgrk3",
},
HtmlEntityDesc {
value: 957,
name: "nu",
desc: "greek small letter nu, U+03BD ISOgrk3",
},
HtmlEntityDesc {
value: 958,
name: "xi",
desc: "greek small letter xi, U+03BE ISOgrk3",
},
HtmlEntityDesc {
value: 959,
name: "omicron",
desc: "greek small letter omicron, U+03BF NEW",
},
HtmlEntityDesc {
value: 960,
name: "pi",
desc: "greek small letter pi, U+03C0 ISOgrk3",
},
HtmlEntityDesc {
value: 961,
name: "rho",
desc: "greek small letter rho, U+03C1 ISOgrk3",
},
HtmlEntityDesc {
value: 962,
name: "sigmaf",
desc: "greek small letter final sigma, U+03C2 ISOgrk3",
},
HtmlEntityDesc {
value: 963,
name: "sigma",
desc: "greek small letter sigma, U+03C3 ISOgrk3",
},
HtmlEntityDesc {
value: 964,
name: "tau",
desc: "greek small letter tau, U+03C4 ISOgrk3",
},
HtmlEntityDesc {
value: 965,
name: "upsilon",
desc: "greek small letter upsilon, U+03C5 ISOgrk3",
},
HtmlEntityDesc {
value: 966,
name: "phi",
desc: "greek small letter phi, U+03C6 ISOgrk3",
},
HtmlEntityDesc {
value: 967,
name: "chi",
desc: "greek small letter chi, U+03C7 ISOgrk3",
},
HtmlEntityDesc {
value: 968,
name: "psi",
desc: "greek small letter psi, U+03C8 ISOgrk3",
},
HtmlEntityDesc {
value: 969,
name: "omega",
desc: "greek small letter omega, U+03C9 ISOgrk3",
},
HtmlEntityDesc {
value: 977,
name: "thetasym",
desc: "greek small letter theta symbol, U+03D1 NEW",
},
HtmlEntityDesc {
value: 978,
name: "upsih",
desc: "greek upsilon with hook symbol, U+03D2 NEW",
},
HtmlEntityDesc {
value: 982,
name: "piv",
desc: "greek pi symbol, U+03D6 ISOgrk3",
},
HtmlEntityDesc {
value: 8194,
name: "ensp",
desc: "en space, U+2002 ISOpub",
},
HtmlEntityDesc {
value: 8195,
name: "emsp",
desc: "em space, U+2003 ISOpub",
},
HtmlEntityDesc {
value: 8201,
name: "thinsp",
desc: "thin space, U+2009 ISOpub",
},
HtmlEntityDesc {
value: 8204,
name: "zwnj",
desc: "zero width non-joiner, U+200C NEW RFC 2070",
},
HtmlEntityDesc {
value: 8205,
name: "zwj",
desc: "zero width joiner, U+200D NEW RFC 2070",
},
HtmlEntityDesc {
value: 8206,
name: "lrm",
desc: "left-to-right mark, U+200E NEW RFC 2070",
},
HtmlEntityDesc {
value: 8207,
name: "rlm",
desc: "right-to-left mark, U+200F NEW RFC 2070",
},
HtmlEntityDesc {
value: 8211,
name: "ndash",
desc: "en dash, U+2013 ISOpub",
},
HtmlEntityDesc {
value: 8212,
name: "mdash",
desc: "em dash, U+2014 ISOpub",
},
HtmlEntityDesc {
value: 8216,
name: "lsquo",
desc: "left single quotation mark, U+2018 ISOnum",
},
HtmlEntityDesc {
value: 8217,
name: "rsquo",
desc: "right single quotation mark, U+2019 ISOnum",
},
HtmlEntityDesc {
value: 8218,
name: "sbquo",
desc: "single low-9 quotation mark, U+201A NEW",
},
HtmlEntityDesc {
value: 8220,
name: "ldquo",
desc: "left double quotation mark, U+201C ISOnum",
},
HtmlEntityDesc {
value: 8221,
name: "rdquo",
desc: "right double quotation mark, U+201D ISOnum",
},
HtmlEntityDesc {
value: 8222,
name: "bdquo",
desc: "double low-9 quotation mark, U+201E NEW",
},
HtmlEntityDesc {
value: 8224,
name: "dagger",
desc: "dagger, U+2020 ISOpub",
},
HtmlEntityDesc {
value: 8225,
name: "Dagger",
desc: "double dagger, U+2021 ISOpub",
},
HtmlEntityDesc {
value: 8226,
name: "bull",
desc: "bullet = black small circle, U+2022 ISOpub",
},
HtmlEntityDesc {
value: 8230,
name: "hellip",
desc: "horizontal ellipsis = three dot leader, U+2026 ISOpub",
},
HtmlEntityDesc {
value: 8240,
name: "permil",
desc: "per mille sign, U+2030 ISOtech",
},
HtmlEntityDesc {
value: 8242,
name: "prime",
desc: "prime = minutes = feet, U+2032 ISOtech",
},
HtmlEntityDesc {
value: 8243,
name: "Prime",
desc: "double prime = seconds = inches, U+2033 ISOtech",
},
HtmlEntityDesc {
value: 8249,
name: "lsaquo",
desc: "single left-pointing angle quotation mark, U+2039 ISO proposed",
},
HtmlEntityDesc {
value: 8250,
name: "rsaquo",
desc: "single right-pointing angle quotation mark, U+203A ISO proposed",
},
HtmlEntityDesc {
value: 8254,
name: "oline",
desc: "overline = spacing overscore, U+203E NEW",
},
HtmlEntityDesc {
value: 8260,
name: "frasl",
desc: "fraction slash, U+2044 NEW",
},
HtmlEntityDesc {
value: 8364,
name: "euro",
desc: "euro sign, U+20AC NEW",
},
HtmlEntityDesc {
value: 8465,
name: "image",
desc: "blackletter capital I = imaginary part, U+2111 ISOamso",
},
HtmlEntityDesc {
value: 8472,
name: "weierp",
desc: "script capital P = power set = Weierstrass p, U+2118 ISOamso",
},
HtmlEntityDesc {
value: 8476,
name: "real",
desc: "blackletter capital R = real part symbol, U+211C ISOamso",
},
HtmlEntityDesc {
value: 8482,
name: "trade",
desc: "trade mark sign, U+2122 ISOnum",
},
HtmlEntityDesc {
value: 8501,
name: "alefsym",
desc: "alef symbol = first transfinite cardinal, U+2135 NEW",
},
HtmlEntityDesc {
value: 8592,
name: "larr",
desc: "leftwards arrow, U+2190 ISOnum",
},
HtmlEntityDesc {
value: 8593,
name: "uarr",
desc: "upwards arrow, U+2191 ISOnum",
},
HtmlEntityDesc {
value: 8594,
name: "rarr",
desc: "rightwards arrow, U+2192 ISOnum",
},
HtmlEntityDesc {
value: 8595,
name: "darr",
desc: "downwards arrow, U+2193 ISOnum",
},
HtmlEntityDesc {
value: 8596,
name: "harr",
desc: "left right arrow, U+2194 ISOamsa",
},
HtmlEntityDesc {
value: 8629,
name: "crarr",
desc: "downwards arrow with corner leftwards = carriage return, U+21B5 NEW",
},
HtmlEntityDesc {
value: 8656,
name: "lArr",
desc: "leftwards double arrow, U+21D0 ISOtech",
},
HtmlEntityDesc {
value: 8657,
name: "uArr",
desc: "upwards double arrow, U+21D1 ISOamsa",
},
HtmlEntityDesc {
value: 8658,
name: "rArr",
desc: "rightwards double arrow, U+21D2 ISOtech",
},
HtmlEntityDesc {
value: 8659,
name: "dArr",
desc: "downwards double arrow, U+21D3 ISOamsa",
},
HtmlEntityDesc {
value: 8660,
name: "hArr",
desc: "left right double arrow, U+21D4 ISOamsa",
},
HtmlEntityDesc {
value: 8704,
name: "forall",
desc: "for all, U+2200 ISOtech",
},
HtmlEntityDesc {
value: 8706,
name: "part",
desc: "partial differential, U+2202 ISOtech",
},
HtmlEntityDesc {
value: 8707,
name: "exist",
desc: "there exists, U+2203 ISOtech",
},
HtmlEntityDesc {
value: 8709,
name: "empty",
desc: "empty set = null set = diameter, U+2205 ISOamso",
},
HtmlEntityDesc {
value: 8711,
name: "nabla",
desc: "nabla = backward difference, U+2207 ISOtech",
},
HtmlEntityDesc {
value: 8712,
name: "isin",
desc: "element of, U+2208 ISOtech",
},
HtmlEntityDesc {
value: 8713,
name: "notin",
desc: "not an element of, U+2209 ISOtech",
},
HtmlEntityDesc {
value: 8715,
name: "ni",
desc: "contains as member, U+220B ISOtech",
},
HtmlEntityDesc {
value: 8719,
name: "prod",
desc: "n-ary product = product sign, U+220F ISOamsb",
},
HtmlEntityDesc {
value: 8721,
name: "sum",
desc: "n-ary summation, U+2211 ISOamsb",
},
HtmlEntityDesc {
value: 8722,
name: "minus",
desc: "minus sign, U+2212 ISOtech",
},
HtmlEntityDesc {
value: 8727,
name: "lowast",
desc: "asterisk operator, U+2217 ISOtech",
},
HtmlEntityDesc {
value: 8730,
name: "radic",
desc: "square root = radical sign, U+221A ISOtech",
},
HtmlEntityDesc {
value: 8733,
name: "prop",
desc: "proportional to, U+221D ISOtech",
},
HtmlEntityDesc {
value: 8734,
name: "infin",
desc: "infinity, U+221E ISOtech",
},
HtmlEntityDesc {
value: 8736,
name: "ang",
desc: "angle, U+2220 ISOamso",
},
HtmlEntityDesc {
value: 8743,
name: "and",
desc: "logical and = wedge, U+2227 ISOtech",
},
HtmlEntityDesc {
value: 8744,
name: "or",
desc: "logical or = vee, U+2228 ISOtech",
},
HtmlEntityDesc {
value: 8745,
name: "cap",
desc: "intersection = cap, U+2229 ISOtech",
},
HtmlEntityDesc {
value: 8746,
name: "cup",
desc: "union = cup, U+222A ISOtech",
},
HtmlEntityDesc {
value: 8747,
name: "int",
desc: "integral, U+222B ISOtech",
},
HtmlEntityDesc {
value: 8756,
name: "there4",
desc: "therefore, U+2234 ISOtech",
},
HtmlEntityDesc {
value: 8764,
name: "sim",
desc: "tilde operator = varies with = similar to, U+223C ISOtech",
},
HtmlEntityDesc {
value: 8773,
name: "cong",
desc: "approximately equal to, U+2245 ISOtech",
},
HtmlEntityDesc {
value: 8776,
name: "asymp",
desc: "almost equal to = asymptotic to, U+2248 ISOamsr",
},
HtmlEntityDesc {
value: 8800,
name: "ne",
desc: "not equal to, U+2260 ISOtech",
},
HtmlEntityDesc {
value: 8801,
name: "equiv",
desc: "identical to, U+2261 ISOtech",
},
HtmlEntityDesc {
value: 8804,
name: "le",
desc: "less-than or equal to, U+2264 ISOtech",
},
HtmlEntityDesc {
value: 8805,
name: "ge",
desc: "greater-than or equal to, U+2265 ISOtech",
},
HtmlEntityDesc {
value: 8834,
name: "sub",
desc: "subset of, U+2282 ISOtech",
},
HtmlEntityDesc {
value: 8835,
name: "sup",
desc: "superset of, U+2283 ISOtech",
},
HtmlEntityDesc {
value: 8836,
name: "nsub",
desc: "not a subset of, U+2284 ISOamsn",
},
HtmlEntityDesc {
value: 8838,
name: "sube",
desc: "subset of or equal to, U+2286 ISOtech",
},
HtmlEntityDesc {
value: 8839,
name: "supe",
desc: "superset of or equal to, U+2287 ISOtech",
},
HtmlEntityDesc {
value: 8853,
name: "oplus",
desc: "circled plus = direct sum, U+2295 ISOamsb",
},
HtmlEntityDesc {
value: 8855,
name: "otimes",
desc: "circled times = vector product, U+2297 ISOamsb",
},
HtmlEntityDesc {
value: 8869,
name: "perp",
desc: "up tack = orthogonal to = perpendicular, U+22A5 ISOtech",
},
HtmlEntityDesc {
value: 8901,
name: "sdot",
desc: "dot operator, U+22C5 ISOamsb",
},
HtmlEntityDesc {
value: 8968,
name: "lceil",
desc: "left ceiling = apl upstile, U+2308 ISOamsc",
},
HtmlEntityDesc {
value: 8969,
name: "rceil",
desc: "right ceiling, U+2309 ISOamsc",
},
HtmlEntityDesc {
value: 8970,
name: "lfloor",
desc: "left floor = apl downstile, U+230A ISOamsc",
},
HtmlEntityDesc {
value: 8971,
name: "rfloor",
desc: "right floor, U+230B ISOamsc",
},
HtmlEntityDesc {
value: 9001,
name: "lang",
desc: "left-pointing angle bracket = bra, U+2329 ISOtech",
},
HtmlEntityDesc {
value: 9002,
name: "rang",
desc: "right-pointing angle bracket = ket, U+232A ISOtech",
},
HtmlEntityDesc {
value: 9674,
name: "loz",
desc: "lozenge, U+25CA ISOpub",
},
HtmlEntityDesc {
value: 9824,
name: "spades",
desc: "black spade suit, U+2660 ISOpub",
},
HtmlEntityDesc {
value: 9827,
name: "clubs",
desc: "black club suit = shamrock, U+2663 ISOpub",
},
HtmlEntityDesc {
value: 9829,
name: "hearts",
desc: "black heart suit = valentine, U+2665 ISOpub",
},
HtmlEntityDesc {
value: 9830,
name: "diams",
desc: "black diamond suit, U+2666 ISOpub",
},
];
#[repr(C)]
pub struct HtmlStartCloseEntry {
pub(super) old_tag: &'static str,
pub(super) new_tag: &'static str,
}
pub(super) const HTML_START_CLOSE: &[HtmlStartCloseEntry] = &[
HtmlStartCloseEntry {
old_tag: "a",
new_tag: "a",
},
HtmlStartCloseEntry {
old_tag: "a",
new_tag: "fieldset",
},
HtmlStartCloseEntry {
old_tag: "a",
new_tag: "table",
},
HtmlStartCloseEntry {
old_tag: "a",
new_tag: "td",
},
HtmlStartCloseEntry {
old_tag: "a",
new_tag: "th",
},
HtmlStartCloseEntry {
old_tag: "address",
new_tag: "dd",
},
HtmlStartCloseEntry {
old_tag: "address",
new_tag: "dl",
},
HtmlStartCloseEntry {
old_tag: "address",
new_tag: "dt",
},
HtmlStartCloseEntry {
old_tag: "address",
new_tag: "form",
},
HtmlStartCloseEntry {
old_tag: "address",
new_tag: "li",
},
HtmlStartCloseEntry {
old_tag: "address",
new_tag: "ul",
},
HtmlStartCloseEntry {
old_tag: "b",
new_tag: "center",
},
HtmlStartCloseEntry {
old_tag: "b",
new_tag: "p",
},
HtmlStartCloseEntry {
old_tag: "b",
new_tag: "td",
},
HtmlStartCloseEntry {
old_tag: "b",
new_tag: "th",
},
HtmlStartCloseEntry {
old_tag: "big",
new_tag: "p",
},
HtmlStartCloseEntry {
old_tag: "caption",
new_tag: "col",
},
HtmlStartCloseEntry {
old_tag: "caption",
new_tag: "colgroup",
},
HtmlStartCloseEntry {
old_tag: "caption",
new_tag: "tbody",
},
HtmlStartCloseEntry {
old_tag: "caption",
new_tag: "tfoot",
},
HtmlStartCloseEntry {
old_tag: "caption",
new_tag: "thead",
},
HtmlStartCloseEntry {
old_tag: "caption",
new_tag: "tr",
},
HtmlStartCloseEntry {
old_tag: "col",
new_tag: "col",
},
HtmlStartCloseEntry {
old_tag: "col",
new_tag: "colgroup",
},
HtmlStartCloseEntry {
old_tag: "col",
new_tag: "tbody",
},
HtmlStartCloseEntry {
old_tag: "col",
new_tag: "tfoot",
},
HtmlStartCloseEntry {
old_tag: "col",
new_tag: "thead",
},
HtmlStartCloseEntry {
old_tag: "col",
new_tag: "tr",
},
HtmlStartCloseEntry {
old_tag: "colgroup",
new_tag: "colgroup",
},
HtmlStartCloseEntry {
old_tag: "colgroup",
new_tag: "tbody",
},
HtmlStartCloseEntry {
old_tag: "colgroup",
new_tag: "tfoot",
},
HtmlStartCloseEntry {
old_tag: "colgroup",
new_tag: "thead",
},
HtmlStartCloseEntry {
old_tag: "colgroup",
new_tag: "tr",
},
HtmlStartCloseEntry {
old_tag: "dd",
new_tag: "dt",
},
HtmlStartCloseEntry {
old_tag: "dir",
new_tag: "dd",
},
HtmlStartCloseEntry {
old_tag: "dir",
new_tag: "dl",
},
HtmlStartCloseEntry {
old_tag: "dir",
new_tag: "dt",
},
HtmlStartCloseEntry {
old_tag: "dir",
new_tag: "form",
},
HtmlStartCloseEntry {
old_tag: "dir",
new_tag: "ul",
},
HtmlStartCloseEntry {
old_tag: "dl",
new_tag: "form",
},
HtmlStartCloseEntry {
old_tag: "dl",
new_tag: "li",
},
HtmlStartCloseEntry {
old_tag: "dt",
new_tag: "dd",
},
HtmlStartCloseEntry {
old_tag: "dt",
new_tag: "dl",
},
HtmlStartCloseEntry {
old_tag: "font",
new_tag: "center",
},
HtmlStartCloseEntry {
old_tag: "font",
new_tag: "td",
},
HtmlStartCloseEntry {
old_tag: "font",
new_tag: "th",
},
HtmlStartCloseEntry {
old_tag: "form",
new_tag: "form",
},
HtmlStartCloseEntry {
old_tag: "h1",
new_tag: "fieldset",
},
HtmlStartCloseEntry {
old_tag: "h1",
new_tag: "form",
},
HtmlStartCloseEntry {
old_tag: "h1",
new_tag: "li",
},
HtmlStartCloseEntry {
old_tag: "h1",
new_tag: "p",
},
HtmlStartCloseEntry {
old_tag: "h1",
new_tag: "table",
},
HtmlStartCloseEntry {
old_tag: "h2",
new_tag: "fieldset",
},
HtmlStartCloseEntry {
old_tag: "h2",
new_tag: "form",
},
HtmlStartCloseEntry {
old_tag: "h2",
new_tag: "li",
},
HtmlStartCloseEntry {
old_tag: "h2",
new_tag: "p",
},
HtmlStartCloseEntry {
old_tag: "h2",
new_tag: "table",
},
HtmlStartCloseEntry {
old_tag: "h3",
new_tag: "fieldset",
},
HtmlStartCloseEntry {
old_tag: "h3",
new_tag: "form",
},
HtmlStartCloseEntry {
old_tag: "h3",
new_tag: "li",
},
HtmlStartCloseEntry {
old_tag: "h3",
new_tag: "p",
},
HtmlStartCloseEntry {
old_tag: "h3",
new_tag: "table",
},
HtmlStartCloseEntry {
old_tag: "h4",
new_tag: "fieldset",
},
HtmlStartCloseEntry {
old_tag: "h4",
new_tag: "form",
},
HtmlStartCloseEntry {
old_tag: "h4",
new_tag: "li",
},
HtmlStartCloseEntry {
old_tag: "h4",
new_tag: "p",
},
HtmlStartCloseEntry {
old_tag: "h4",
new_tag: "table",
},
HtmlStartCloseEntry {
old_tag: "h5",
new_tag: "fieldset",
},
HtmlStartCloseEntry {
old_tag: "h5",
new_tag: "form",
},
HtmlStartCloseEntry {
old_tag: "h5",
new_tag: "li",
},
HtmlStartCloseEntry {
old_tag: "h5",
new_tag: "p",
},
HtmlStartCloseEntry {
old_tag: "h5",
new_tag: "table",
},
HtmlStartCloseEntry {
old_tag: "h6",
new_tag: "fieldset",
},
HtmlStartCloseEntry {
old_tag: "h6",
new_tag: "form",
},
HtmlStartCloseEntry {
old_tag: "h6",
new_tag: "li",
},
HtmlStartCloseEntry {
old_tag: "h6",
new_tag: "p",
},
HtmlStartCloseEntry {
old_tag: "h6",
new_tag: "table",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "a",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "abbr",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "acronym",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "address",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "b",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "bdo",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "big",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "blockquote",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "body",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "br",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "center",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "cite",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "code",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "dd",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "dfn",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "dir",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "div",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "dl",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "dt",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "em",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "fieldset",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "font",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "form",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "frameset",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "h1",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "h2",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "h3",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "h4",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "h5",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "h6",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "hr",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "i",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "iframe",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "img",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "kbd",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "li",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "listing",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "map",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "menu",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "ol",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "p",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "pre",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "q",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "s",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "samp",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "small",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "span",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "strike",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "strong",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "sub",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "sup",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "table",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "tt",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "u",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "ul",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "var",
},
HtmlStartCloseEntry {
old_tag: "head",
new_tag: "xmp",
},
HtmlStartCloseEntry {
old_tag: "hr",
new_tag: "form",
},
HtmlStartCloseEntry {
old_tag: "i",
new_tag: "center",
},
HtmlStartCloseEntry {
old_tag: "i",
new_tag: "p",
},
HtmlStartCloseEntry {
old_tag: "i",
new_tag: "td",
},
HtmlStartCloseEntry {
old_tag: "i",
new_tag: "th",
},
HtmlStartCloseEntry {
old_tag: "legend",
new_tag: "fieldset",
},
HtmlStartCloseEntry {
old_tag: "li",
new_tag: "li",
},
HtmlStartCloseEntry {
old_tag: "link",
new_tag: "body",
},
HtmlStartCloseEntry {
old_tag: "link",
new_tag: "frameset",
},
HtmlStartCloseEntry {
old_tag: "listing",
new_tag: "dd",
},
HtmlStartCloseEntry {
old_tag: "listing",
new_tag: "dl",
},
HtmlStartCloseEntry {
old_tag: "listing",
new_tag: "dt",
},
HtmlStartCloseEntry {
old_tag: "listing",
new_tag: "fieldset",
},
HtmlStartCloseEntry {
old_tag: "listing",
new_tag: "form",
},
HtmlStartCloseEntry {
old_tag: "listing",
new_tag: "li",
},
HtmlStartCloseEntry {
old_tag: "listing",
new_tag: "table",
},
HtmlStartCloseEntry {
old_tag: "listing",
new_tag: "ul",
},
HtmlStartCloseEntry {
old_tag: "menu",
new_tag: "dd",
},
HtmlStartCloseEntry {
old_tag: "menu",
new_tag: "dl",
},
HtmlStartCloseEntry {
old_tag: "menu",
new_tag: "dt",
},
HtmlStartCloseEntry {
old_tag: "menu",
new_tag: "form",
},
HtmlStartCloseEntry {
old_tag: "menu",
new_tag: "ul",
},
HtmlStartCloseEntry {
old_tag: "ol",
new_tag: "form",
},
HtmlStartCloseEntry {
old_tag: "option",
new_tag: "optgroup",
},
HtmlStartCloseEntry {
old_tag: "option",
new_tag: "option",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "address",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "blockquote",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "body",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "caption",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "center",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "col",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "colgroup",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "dd",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "dir",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "div",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "dl",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "dt",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "fieldset",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "form",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "frameset",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "h1",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "h2",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "h3",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "h4",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "h5",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "h6",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "head",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "hr",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "li",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "listing",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "menu",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "ol",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "p",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "pre",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "table",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "tbody",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "td",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "tfoot",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "th",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "title",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "tr",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "ul",
},
HtmlStartCloseEntry {
old_tag: "p",
new_tag: "xmp",
},
HtmlStartCloseEntry {
old_tag: "pre",
new_tag: "dd",
},
HtmlStartCloseEntry {
old_tag: "pre",
new_tag: "dl",
},
HtmlStartCloseEntry {
old_tag: "pre",
new_tag: "dt",
},
HtmlStartCloseEntry {
old_tag: "pre",
new_tag: "fieldset",
},
HtmlStartCloseEntry {
old_tag: "pre",
new_tag: "form",
},
HtmlStartCloseEntry {
old_tag: "pre",
new_tag: "li",
},
HtmlStartCloseEntry {
old_tag: "pre",
new_tag: "table",
},
HtmlStartCloseEntry {
old_tag: "pre",
new_tag: "ul",
},
HtmlStartCloseEntry {
old_tag: "s",
new_tag: "p",
},
HtmlStartCloseEntry {
old_tag: "script",
new_tag: "noscript",
},
HtmlStartCloseEntry {
old_tag: "small",
new_tag: "p",
},
HtmlStartCloseEntry {
old_tag: "span",
new_tag: "td",
},
HtmlStartCloseEntry {
old_tag: "span",
new_tag: "th",
},
HtmlStartCloseEntry {
old_tag: "strike",
new_tag: "p",
},
HtmlStartCloseEntry {
old_tag: "style",
new_tag: "body",
},
HtmlStartCloseEntry {
old_tag: "style",
new_tag: "frameset",
},
HtmlStartCloseEntry {
old_tag: "tbody",
new_tag: "tbody",
},
HtmlStartCloseEntry {
old_tag: "tbody",
new_tag: "tfoot",
},
HtmlStartCloseEntry {
old_tag: "td",
new_tag: "tbody",
},
HtmlStartCloseEntry {
old_tag: "td",
new_tag: "td",
},
HtmlStartCloseEntry {
old_tag: "td",
new_tag: "tfoot",
},
HtmlStartCloseEntry {
old_tag: "td",
new_tag: "th",
},
HtmlStartCloseEntry {
old_tag: "td",
new_tag: "tr",
},
HtmlStartCloseEntry {
old_tag: "tfoot",
new_tag: "tbody",
},
HtmlStartCloseEntry {
old_tag: "th",
new_tag: "tbody",
},
HtmlStartCloseEntry {
old_tag: "th",
new_tag: "td",
},
HtmlStartCloseEntry {
old_tag: "th",
new_tag: "tfoot",
},
HtmlStartCloseEntry {
old_tag: "th",
new_tag: "th",
},
HtmlStartCloseEntry {
old_tag: "th",
new_tag: "tr",
},
HtmlStartCloseEntry {
old_tag: "thead",
new_tag: "tbody",
},
HtmlStartCloseEntry {
old_tag: "thead",
new_tag: "tfoot",
},
HtmlStartCloseEntry {
old_tag: "title",
new_tag: "body",
},
HtmlStartCloseEntry {
old_tag: "title",
new_tag: "frameset",
},
HtmlStartCloseEntry {
old_tag: "tr",
new_tag: "tbody",
},
HtmlStartCloseEntry {
old_tag: "tr",
new_tag: "tfoot",
},
HtmlStartCloseEntry {
old_tag: "tr",
new_tag: "tr",
},
HtmlStartCloseEntry {
old_tag: "tt",
new_tag: "p",
},
HtmlStartCloseEntry {
old_tag: "u",
new_tag: "p",
},
HtmlStartCloseEntry {
old_tag: "u",
new_tag: "td",
},
HtmlStartCloseEntry {
old_tag: "u",
new_tag: "th",
},
HtmlStartCloseEntry {
old_tag: "ul",
new_tag: "address",
},
HtmlStartCloseEntry {
old_tag: "ul",
new_tag: "form",
},
HtmlStartCloseEntry {
old_tag: "ul",
new_tag: "menu",
},
HtmlStartCloseEntry {
old_tag: "ul",
new_tag: "pre",
},
HtmlStartCloseEntry {
old_tag: "xmp",
new_tag: "dd",
},
HtmlStartCloseEntry {
old_tag: "xmp",
new_tag: "dl",
},
HtmlStartCloseEntry {
old_tag: "xmp",
new_tag: "dt",
},
HtmlStartCloseEntry {
old_tag: "xmp",
new_tag: "fieldset",
},
HtmlStartCloseEntry {
old_tag: "xmp",
new_tag: "form",
},
HtmlStartCloseEntry {
old_tag: "xmp",
new_tag: "li",
},
HtmlStartCloseEntry {
old_tag: "xmp",
new_tag: "table",
},
HtmlStartCloseEntry {
old_tag: "xmp",
new_tag: "ul",
},
];
#[repr(C)]
pub struct ElementPriority {
pub(super) name: &'static str,
pub(super) priority: i32,
}
pub(super) const HTML_END_PRIORITY: &[ElementPriority] = &[
ElementPriority {
name: "div",
priority: 150,
},
ElementPriority {
name: "td",
priority: 160,
},
ElementPriority {
name: "th",
priority: 160,
},
ElementPriority {
name: "tr",
priority: 170,
},
ElementPriority {
name: "thead",
priority: 180,
},
ElementPriority {
name: "tbody",
priority: 180,
},
ElementPriority {
name: "tfoot",
priority: 180,
},
ElementPriority {
name: "table",
priority: 190,
},
ElementPriority {
name: "head",
priority: 200,
},
ElementPriority {
name: "body",
priority: 200,
},
ElementPriority {
name: "html",
priority: 220,
},
ElementPriority {
name: "",
priority: 100,
},
];
pub(super) const ALLOW_PCDATA: &[&str] = &[
"a",
"abbr",
"acronym",
"address",
"applet",
"b",
"bdo",
"big",
"blockquote",
"body",
"button",
"caption",
"center",
"cite",
"code",
"dd",
"del",
"dfn",
"div",
"dt",
"em",
"font",
"form",
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"i",
"iframe",
"ins",
"kbd",
"label",
"legend",
"li",
"noframes",
"noscript",
"object",
"p",
"pre",
"q",
"s",
"samp",
"small",
"span",
"strike",
"strong",
"td",
"th",
"tt",
"u",
"var",
];
pub(super) const HTML_SCRIPT_ATTRIBUTES: &[&str] = &[
"onclick",
"ondblclick",
"onmousedown",
"onmouseup",
"onmouseover",
"onmousemove",
"onmouseout",
"onkeypress",
"onkeydown",
"onkeyup",
"onload",
"onunload",
"onfocus",
"onblur",
"onsubmit",
"onreset",
"onchange",
"onselect",
];