static HtmlFormatter()
{
commentTag = new TagInfo("", FormattingFlags.Comment | FormattingFlags.NoEndTag, WhiteSpaceType.CarryThrough, WhiteSpaceType.CarryThrough, ElementType.Any);
directiveTag = new TagInfo("", FormattingFlags.NoEndTag, WhiteSpaceType.NotSignificant, WhiteSpaceType.NotSignificant, ElementType.Any);
otherServerSideScriptTag = new TagInfo("", FormattingFlags.NoEndTag | FormattingFlags.Inline, ElementType.Any);
unknownXmlTag = new TagInfo("", FormattingFlags.Xml, WhiteSpaceType.NotSignificant, WhiteSpaceType.NotSignificant, ElementType.Any);
nestedXmlTag = new TagInfo("", FormattingFlags.AllowPartialTags, WhiteSpaceType.NotSignificant, WhiteSpaceType.NotSignificant, ElementType.Any);
unknownHtmlTag = new TagInfo("", FormattingFlags.None, WhiteSpaceType.NotSignificant, WhiteSpaceType.NotSignificant, ElementType.Any);
tagTable = new HybridDictionary(true);
tagTable["a"] = new TagInfo("a", FormattingFlags.Inline, ElementType.Inline);
tagTable["acronym"] = new TagInfo("acronym", FormattingFlags.Inline, ElementType.Inline);
tagTable["address"] = new TagInfo("address", FormattingFlags.None, WhiteSpaceType.Significant, WhiteSpaceType.NotSignificant, ElementType.Block);
tagTable["applet"] = new TagInfo("applet", FormattingFlags.Inline, WhiteSpaceType.CarryThrough, WhiteSpaceType.Significant, ElementType.Inline);
tagTable["area"] = new TagInfo("area", FormattingFlags.NoEndTag);
tagTable["b"] = new TagInfo("b", FormattingFlags.Inline, ElementType.Inline);
tagTable["base"] = new TagInfo("base", FormattingFlags.NoEndTag);
tagTable["basefont"] = new TagInfo("basefont", FormattingFlags.NoEndTag, ElementType.Block);
tagTable["bdo"] = new TagInfo("bdo", FormattingFlags.Inline, ElementType.Inline);
tagTable["bgsound"] = new TagInfo("bgsound", FormattingFlags.NoEndTag);
tagTable["big"] = new TagInfo("big", FormattingFlags.Inline, ElementType.Inline);
tagTable["blink"] = new TagInfo("blink", FormattingFlags.Inline);
tagTable["blockquote"] = new TagInfo("blockquote", FormattingFlags.Inline, WhiteSpaceType.Significant, WhiteSpaceType.NotSignificant, ElementType.Block);
tagTable["body"] = new TagInfo("body", FormattingFlags.None);
tagTable["br"] = new TagInfo("br", FormattingFlags.NoEndTag, WhiteSpaceType.NotSignificant, WhiteSpaceType.NotSignificant, ElementType.Inline);
//tagTable["br"] = new TagInfo("br", FormattingFlags.NoEndTag, WhiteSpaceType.Significant, WhiteSpaceType.Significant, ElementType.Inline);
tagTable["button"] = new TagInfo("button", FormattingFlags.Inline, ElementType.Inline);
tagTable["caption"] = new TagInfo("caption", FormattingFlags.None);
tagTable["cite"] = new TagInfo("cite", FormattingFlags.Inline, ElementType.Inline);
tagTable["center"] = new TagInfo("center", FormattingFlags.None, WhiteSpaceType.Significant, WhiteSpaceType.NotSignificant, ElementType.Block);
tagTable["code"] = new TagInfo("code", FormattingFlags.Inline, ElementType.Inline);
tagTable["col"] = new TagInfo("col", FormattingFlags.NoEndTag);
tagTable["colgroup"] = new TagInfo("colgroup", FormattingFlags.None);
tagTable["dd"] = new TagInfo("dd", FormattingFlags.None);
tagTable["del"] = new TagInfo("del", FormattingFlags.None);
tagTable["dfn"] = new TagInfo("dfn", FormattingFlags.Inline, ElementType.Inline);
tagTable["dir"] = new TagInfo("dir", FormattingFlags.None, ElementType.Block);
tagTable["div"] = new TagInfo("div", FormattingFlags.None, WhiteSpaceType.Significant, WhiteSpaceType.NotSignificant, ElementType.Block);
tagTable["dl"] = new TagInfo("dl", FormattingFlags.None, WhiteSpaceType.NotSignificant, WhiteSpaceType.NotSignificant, ElementType.Block);
tagTable["dt"] = new TagInfo("dt", FormattingFlags.Inline);
tagTable["em"] = new TagInfo("em", FormattingFlags.Inline, ElementType.Inline);
tagTable["embed"] = new TagInfo("embed", FormattingFlags.Inline, WhiteSpaceType.Significant, WhiteSpaceType.CarryThrough, ElementType.Inline);
tagTable["fieldset"] = new TagInfo("fieldset", FormattingFlags.None, WhiteSpaceType.Significant, WhiteSpaceType.NotSignificant, ElementType.Block);
tagTable["font"] = new TagInfo("font", FormattingFlags.Inline, ElementType.Inline);
tagTable["form"] = new TagInfo("form", FormattingFlags.None, WhiteSpaceType.NotSignificant, WhiteSpaceType.NotSignificant, ElementType.Block);
tagTable["frame"] = new TagInfo("frame", FormattingFlags.NoEndTag);
tagTable["frameset"] = new TagInfo("frameset", FormattingFlags.None);
tagTable["head"] = new TagInfo("head", FormattingFlags.None, WhiteSpaceType.NotSignificant, WhiteSpaceType.NotSignificant);
tagTable["h1"] = new TagInfo("h1", FormattingFlags.None, WhiteSpaceType.Significant, WhiteSpaceType.NotSignificant, ElementType.Block);
tagTable["h2"] = new TagInfo("h2", FormattingFlags.None, WhiteSpaceType.Significant, WhiteSpaceType.NotSignificant, ElementType.Block);
tagTable["h3"] = new TagInfo("h3", FormattingFlags.None, WhiteSpaceType.Significant, WhiteSpaceType.NotSignificant, ElementType.Block);
tagTable["h4"] = new TagInfo("h4", FormattingFlags.None, WhiteSpaceType.Significant, WhiteSpaceType.NotSignificant, ElementType.Block);
tagTable["h5"] = new TagInfo("h5", FormattingFlags.None, WhiteSpaceType.Significant, WhiteSpaceType.NotSignificant, ElementType.Block);
tagTable["h6"] = new TagInfo("h6", FormattingFlags.None, WhiteSpaceType.Significant, WhiteSpaceType.NotSignificant, ElementType.Block);
// REVIEW: <hr> was changed to be an Block element b/c IE appears to allow it.
tagTable["hr"] = new TagInfo("hr", FormattingFlags.NoEndTag, WhiteSpaceType.NotSignificant, WhiteSpaceType.NotSignificant, ElementType.Block);
tagTable["html"] = new TagInfo("html", FormattingFlags.NoIndent, WhiteSpaceType.NotSignificant, WhiteSpaceType.NotSignificant);
tagTable["i"] = new TagInfo("i", FormattingFlags.Inline, ElementType.Inline);
tagTable["iframe"] = new TagInfo("iframe", FormattingFlags.None, WhiteSpaceType.CarryThrough, WhiteSpaceType.NotSignificant, ElementType.Inline);
tagTable["img"] = new TagInfo("img", FormattingFlags.Inline | FormattingFlags.NoEndTag, WhiteSpaceType.Significant, WhiteSpaceType.Significant, ElementType.Inline);
tagTable["input"] = new TagInfo("input", FormattingFlags.NoEndTag, WhiteSpaceType.Significant, WhiteSpaceType.Significant, ElementType.Inline);
tagTable["ins"] = new TagInfo("ins", FormattingFlags.None);
tagTable["isindex"] = new TagInfo("isindex", FormattingFlags.None, WhiteSpaceType.NotSignificant, WhiteSpaceType.CarryThrough, ElementType.Block);
tagTable["kbd"] = new TagInfo("kbd", FormattingFlags.Inline, ElementType.Inline);
tagTable["label"] = new TagInfo("label", FormattingFlags.Inline, ElementType.Inline);
tagTable["legend"] = new TagInfo("legend", FormattingFlags.None);
tagTable["li"] = new LITagInfo();
tagTable["link"] = new TagInfo("link", FormattingFlags.NoEndTag);
tagTable["listing"] = new TagInfo("listing", FormattingFlags.None, WhiteSpaceType.CarryThrough, WhiteSpaceType.NotSignificant, ElementType.Block);
tagTable["map"] = new TagInfo("map", FormattingFlags.Inline, ElementType.Inline);
tagTable["marquee"] = new TagInfo("marquee", FormattingFlags.None, WhiteSpaceType.Significant, WhiteSpaceType.NotSignificant, ElementType.Block);
tagTable["menu"] = new TagInfo("menu", FormattingFlags.None, WhiteSpaceType.Significant, WhiteSpaceType.NotSignificant, ElementType.Block);
tagTable["meta"] = new TagInfo("meta", FormattingFlags.NoEndTag);
tagTable["nobr"] = new TagInfo("nobr", FormattingFlags.Inline | FormattingFlags.NoEndTag, ElementType.Inline);
tagTable["noembed"] = new TagInfo("noembed", FormattingFlags.None, ElementType.Block);
tagTable["noframes"] = new TagInfo("noframes", FormattingFlags.None, ElementType.Block);
tagTable["noscript"] = new TagInfo("noscript", FormattingFlags.None, ElementType.Block);
tagTable["object"] = new TagInfo("object", FormattingFlags.None, ElementType.Inline);
tagTable["ol"] = new OLTagInfo();
tagTable["option"] = new TagInfo("option", FormattingFlags.None, WhiteSpaceType.Significant, WhiteSpaceType.CarryThrough);
tagTable["p"] = new PTagInfo();
tagTable["param"] = new TagInfo("param", FormattingFlags.NoEndTag);
tagTable["pre"] = new TagInfo("pre", FormattingFlags.PreserveContent, WhiteSpaceType.CarryThrough, WhiteSpaceType.Significant, ElementType.Block);
tagTable["q"] = new TagInfo("q", FormattingFlags.Inline, ElementType.Inline);
tagTable["rt"] = new TagInfo("rt", FormattingFlags.None);
tagTable["ruby"] = new TagInfo("ruby", FormattingFlags.None, ElementType.Inline);
tagTable["s"] = new TagInfo("s", FormattingFlags.Inline, ElementType.Inline);
tagTable["samp"] = new TagInfo("samp", FormattingFlags.None, ElementType.Inline);
tagTable["script"] = new TagInfo("script", FormattingFlags.PreserveContent, WhiteSpaceType.CarryThrough, WhiteSpaceType.CarryThrough, ElementType.Inline);
tagTable["select"] = new TagInfo("select", FormattingFlags.None, WhiteSpaceType.CarryThrough, WhiteSpaceType.Significant, ElementType.Block);
tagTable["small"] = new TagInfo("small", FormattingFlags.Inline, ElementType.Inline);
tagTable["span"] = new TagInfo("span", FormattingFlags.Inline, ElementType.Inline);
tagTable["strike"] = new TagInfo("strike", FormattingFlags.Inline, ElementType.Inline);
tagTable["strong"] = new TagInfo("strong", FormattingFlags.Inline, ElementType.Inline);
tagTable["style"] = new TagInfo("style", FormattingFlags.PreserveContent, WhiteSpaceType.NotSignificant, WhiteSpaceType.NotSignificant, ElementType.Any);
tagTable["sub"] = new TagInfo("sub", FormattingFlags.Inline, ElementType.Inline);
tagTable["sup"] = new TagInfo("sup", FormattingFlags.Inline, ElementType.Inline);
tagTable["table"] = new TagInfo("table", FormattingFlags.None, WhiteSpaceType.NotSignificant, WhiteSpaceType.NotSignificant, ElementType.Block);
tagTable["tbody"] = new TagInfo("tbody", FormattingFlags.None);
tagTable["td"] = new TDTagInfo();
tagTable["textarea"] = new TagInfo("textarea", FormattingFlags.Inline, WhiteSpaceType.CarryThrough, WhiteSpaceType.Significant, ElementType.Inline);
tagTable["tfoot"] = new TagInfo("tfoot", FormattingFlags.None);
tagTable["th"] = new TagInfo("th", FormattingFlags.None);
tagTable["thead"] = new TagInfo("thead", FormattingFlags.None);
tagTable["title"] = new TagInfo("title", FormattingFlags.Inline);
tagTable["tr"] = new TRTagInfo();
tagTable["tt"] = new TagInfo("tt", FormattingFlags.Inline, ElementType.Inline);
tagTable["u"] = new TagInfo("u", FormattingFlags.Inline, ElementType.Inline);
tagTable["ul"] = new TagInfo("ul", FormattingFlags.None, WhiteSpaceType.NotSignificant, WhiteSpaceType.NotSignificant, ElementType.Block);
tagTable["xml"] = new TagInfo("xml", FormattingFlags.Xml, WhiteSpaceType.Significant, WhiteSpaceType.NotSignificant, ElementType.Block);
tagTable["xmp"] = new TagInfo("xmp", FormattingFlags.PreserveContent, WhiteSpaceType.CarryThrough, WhiteSpaceType.NotSignificant, ElementType.Block);
tagTable["var"] = new TagInfo("var", FormattingFlags.Inline, ElementType.Inline);
tagTable["wbr"] = new TagInfo("wbr", FormattingFlags.Inline | FormattingFlags.NoEndTag, ElementType.Inline);
}