thbar-hpricot 0.8.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. data/CHANGELOG +104 -0
  2. data/COPYING +18 -0
  3. data/README.md +276 -0
  4. data/Rakefile +234 -0
  5. data/ext/fast_xs/FastXsService.java +1123 -0
  6. data/ext/fast_xs/extconf.rb +4 -0
  7. data/ext/fast_xs/fast_xs.c +210 -0
  8. data/ext/hpricot_scan/HpricotCss.java +850 -0
  9. data/ext/hpricot_scan/HpricotScanService.java +2099 -0
  10. data/ext/hpricot_scan/extconf.rb +9 -0
  11. data/ext/hpricot_scan/hpricot_common.rl +76 -0
  12. data/ext/hpricot_scan/hpricot_css.c +3511 -0
  13. data/ext/hpricot_scan/hpricot_css.java.rl +155 -0
  14. data/ext/hpricot_scan/hpricot_css.rl +120 -0
  15. data/ext/hpricot_scan/hpricot_scan.c +7045 -0
  16. data/ext/hpricot_scan/hpricot_scan.h +79 -0
  17. data/ext/hpricot_scan/hpricot_scan.java.rl +1161 -0
  18. data/ext/hpricot_scan/hpricot_scan.rl +902 -0
  19. data/extras/hpricot.png +0 -0
  20. data/lib/hpricot.rb +26 -0
  21. data/lib/hpricot/blankslate.rb +63 -0
  22. data/lib/hpricot/builder.rb +216 -0
  23. data/lib/hpricot/elements.rb +514 -0
  24. data/lib/hpricot/htmlinfo.rb +691 -0
  25. data/lib/hpricot/inspect.rb +103 -0
  26. data/lib/hpricot/modules.rb +40 -0
  27. data/lib/hpricot/parse.rb +38 -0
  28. data/lib/hpricot/tag.rb +219 -0
  29. data/lib/hpricot/tags.rb +164 -0
  30. data/lib/hpricot/traverse.rb +839 -0
  31. data/lib/hpricot/xchar.rb +94 -0
  32. data/test/files/basic.xhtml +17 -0
  33. data/test/files/boingboing.html +2266 -0
  34. data/test/files/cy0.html +3653 -0
  35. data/test/files/immob.html +400 -0
  36. data/test/files/pace_application.html +1320 -0
  37. data/test/files/tenderlove.html +16 -0
  38. data/test/files/uswebgen.html +220 -0
  39. data/test/files/utf8.html +1054 -0
  40. data/test/files/week9.html +1723 -0
  41. data/test/files/why.xml +19 -0
  42. data/test/load_files.rb +7 -0
  43. data/test/nokogiri-bench.rb +64 -0
  44. data/test/test_alter.rb +96 -0
  45. data/test/test_builder.rb +37 -0
  46. data/test/test_parser.rb +457 -0
  47. data/test/test_paths.rb +25 -0
  48. data/test/test_preserved.rb +88 -0
  49. data/test/test_xml.rb +28 -0
  50. metadata +124 -0
@@ -0,0 +1,691 @@
1
+ module Hpricot
2
+ # The code below is auto-generated. Don't edit manually.
3
+ # :stopdoc:
4
+ NamedCharacters =
5
+ {"AElig"=>198, "Aacute"=>193, "Acirc"=>194, "Agrave"=>192, "Alpha"=>913,
6
+ "Aring"=>197, "Atilde"=>195, "Auml"=>196, "Beta"=>914, "Ccedil"=>199,
7
+ "Chi"=>935, "Dagger"=>8225, "Delta"=>916, "ETH"=>208, "Eacute"=>201,
8
+ "Ecirc"=>202, "Egrave"=>200, "Epsilon"=>917, "Eta"=>919, "Euml"=>203,
9
+ "Gamma"=>915, "Iacute"=>205, "Icirc"=>206, "Igrave"=>204, "Iota"=>921,
10
+ "Iuml"=>207, "Kappa"=>922, "Lambda"=>923, "Mu"=>924, "Ntilde"=>209, "Nu"=>925,
11
+ "OElig"=>338, "Oacute"=>211, "Ocirc"=>212, "Ograve"=>210, "Omega"=>937,
12
+ "Omicron"=>927, "Oslash"=>216, "Otilde"=>213, "Ouml"=>214, "Phi"=>934,
13
+ "Pi"=>928, "Prime"=>8243, "Psi"=>936, "Rho"=>929, "Scaron"=>352, "Sigma"=>931,
14
+ "THORN"=>222, "Tau"=>932, "Theta"=>920, "Uacute"=>218, "Ucirc"=>219,
15
+ "Ugrave"=>217, "Upsilon"=>933, "Uuml"=>220, "Xi"=>926, "Yacute"=>221,
16
+ "Yuml"=>376, "Zeta"=>918, "aacute"=>225, "acirc"=>226, "acute"=>180,
17
+ "aelig"=>230, "agrave"=>224, "alefsym"=>8501, "alpha"=>945, "amp"=>38,
18
+ "and"=>8743, "ang"=>8736, "apos"=>39, "aring"=>229, "asymp"=>8776,
19
+ "atilde"=>227, "auml"=>228, "bdquo"=>8222, "beta"=>946, "brvbar"=>166,
20
+ "bull"=>8226, "cap"=>8745, "ccedil"=>231, "cedil"=>184, "cent"=>162,
21
+ "chi"=>967, "circ"=>710, "clubs"=>9827, "cong"=>8773, "copy"=>169,
22
+ "crarr"=>8629, "cup"=>8746, "curren"=>164, "dArr"=>8659, "dagger"=>8224,
23
+ "darr"=>8595, "deg"=>176, "delta"=>948, "diams"=>9830, "divide"=>247,
24
+ "eacute"=>233, "ecirc"=>234, "egrave"=>232, "empty"=>8709, "emsp"=>8195,
25
+ "ensp"=>8194, "epsilon"=>949, "equiv"=>8801, "eta"=>951, "eth"=>240,
26
+ "euml"=>235, "euro"=>8364, "exist"=>8707, "fnof"=>402, "forall"=>8704,
27
+ "frac12"=>189, "frac14"=>188, "frac34"=>190, "frasl"=>8260, "gamma"=>947,
28
+ "ge"=>8805, "gt"=>62, "hArr"=>8660, "harr"=>8596, "hearts"=>9829,
29
+ "hellip"=>8230, "iacute"=>237, "icirc"=>238, "iexcl"=>161, "igrave"=>236,
30
+ "image"=>8465, "infin"=>8734, "int"=>8747, "iota"=>953, "iquest"=>191,
31
+ "isin"=>8712, "iuml"=>239, "kappa"=>954, "lArr"=>8656, "lambda"=>955,
32
+ "lang"=>9001, "laquo"=>171, "larr"=>8592, "lceil"=>8968, "ldquo"=>8220,
33
+ "le"=>8804, "lfloor"=>8970, "lowast"=>8727, "loz"=>9674, "lrm"=>8206,
34
+ "lsaquo"=>8249, "lsquo"=>8216, "lt"=>60, "macr"=>175, "mdash"=>8212,
35
+ "micro"=>181, "middot"=>183, "minus"=>8722, "mu"=>956, "nabla"=>8711,
36
+ "nbsp"=>160, "ndash"=>8211, "ne"=>8800, "ni"=>8715, "not"=>172, "notin"=>8713,
37
+ "nsub"=>8836, "ntilde"=>241, "nu"=>957, "oacute"=>243, "ocirc"=>244,
38
+ "oelig"=>339, "ograve"=>242, "oline"=>8254, "omega"=>969, "omicron"=>959,
39
+ "oplus"=>8853, "or"=>8744, "ordf"=>170, "ordm"=>186, "oslash"=>248,
40
+ "otilde"=>245, "otimes"=>8855, "ouml"=>246, "para"=>182, "part"=>8706,
41
+ "permil"=>8240, "perp"=>8869, "phi"=>966, "pi"=>960, "piv"=>982,
42
+ "plusmn"=>177, "pound"=>163, "prime"=>8242, "prod"=>8719, "prop"=>8733,
43
+ "psi"=>968, "quot"=>34, "rArr"=>8658, "radic"=>8730, "rang"=>9002,
44
+ "raquo"=>187, "rarr"=>8594, "rceil"=>8969, "rdquo"=>8221, "real"=>8476,
45
+ "reg"=>174, "rfloor"=>8971, "rho"=>961, "rlm"=>8207, "rsaquo"=>8250,
46
+ "rsquo"=>8217, "sbquo"=>8218, "scaron"=>353, "sdot"=>8901, "sect"=>167,
47
+ "shy"=>173, "sigma"=>963, "sigmaf"=>962, "sim"=>8764, "spades"=>9824,
48
+ "sub"=>8834, "sube"=>8838, "sum"=>8721, "sup"=>8835, "sup1"=>185, "sup2"=>178,
49
+ "sup3"=>179, "supe"=>8839, "szlig"=>223, "tau"=>964, "there4"=>8756,
50
+ "theta"=>952, "thetasym"=>977, "thinsp"=>8201, "thorn"=>254, "tilde"=>732,
51
+ "times"=>215, "trade"=>8482, "uArr"=>8657, "uacute"=>250, "uarr"=>8593,
52
+ "ucirc"=>251, "ugrave"=>249, "uml"=>168, "upsih"=>978, "upsilon"=>965,
53
+ "uuml"=>252, "weierp"=>8472, "xi"=>958, "yacute"=>253, "yen"=>165,
54
+ "yuml"=>255, "zeta"=>950, "zwj"=>8205, "zwnj"=>8204}
55
+
56
+
57
+ NamedCharactersPattern = /\A(?-mix:AElig|Aacute|Acirc|Agrave|Alpha|Aring|Atilde|Auml|Beta|Ccedil|Chi|Dagger|Delta|ETH|Eacute|Ecirc|Egrave|Epsilon|Eta|Euml|Gamma|Iacute|Icirc|Igrave|Iota|Iuml|Kappa|Lambda|Mu|Ntilde|Nu|OElig|Oacute|Ocirc|Ograve|Omega|Omicron|Oslash|Otilde|Ouml|Phi|Pi|Prime|Psi|Rho|Scaron|Sigma|THORN|Tau|Theta|Uacute|Ucirc|Ugrave|Upsilon|Uuml|Xi|Yacute|Yuml|Zeta|aacute|acirc|acute|aelig|agrave|alefsym|alpha|amp|and|ang|apos|aring|asymp|atilde|auml|bdquo|beta|brvbar|bull|cap|ccedil|cedil|cent|chi|circ|clubs|cong|copy|crarr|cup|curren|dArr|dagger|darr|deg|delta|diams|divide|eacute|ecirc|egrave|empty|emsp|ensp|epsilon|equiv|eta|eth|euml|euro|exist|fnof|forall|frac12|frac14|frac34|frasl|gamma|ge|gt|hArr|harr|hearts|hellip|iacute|icirc|iexcl|igrave|image|infin|int|iota|iquest|isin|iuml|kappa|lArr|lambda|lang|laquo|larr|lceil|ldquo|le|lfloor|lowast|loz|lrm|lsaquo|lsquo|lt|macr|mdash|micro|middot|minus|mu|nabla|nbsp|ndash|ne|ni|not|notin|nsub|ntilde|nu|oacute|ocirc|oelig|ograve|oline|omega|omicron|oplus|or|ordf|ordm|oslash|otilde|otimes|ouml|para|part|permil|perp|phi|pi|piv|plusmn|pound|prime|prod|prop|psi|quot|rArr|radic|rang|raquo|rarr|rceil|rdquo|real|reg|rfloor|rho|rlm|rsaquo|rsquo|sbquo|scaron|sdot|sect|shy|sigma|sigmaf|sim|spades|sub|sube|sum|sup|sup1|sup2|sup3|supe|szlig|tau|there4|theta|thetasym|thinsp|thorn|tilde|times|trade|uArr|uacute|uarr|ucirc|ugrave|uml|upsih|upsilon|uuml|weierp|xi|yacute|yen|yuml|zeta|zwj|zwnj)\z/
58
+
59
+ ElementContent =
60
+ {"h6"=>
61
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
62
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
63
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
64
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
65
+ "tt", "u", "var"],
66
+ "object"=>
67
+ ["a", "abbr", "acronym", "address", "applet", "b", "basefont", "bdo", "big",
68
+ "blockquote", "br", "button", "center", "cite", "code", "dfn", "dir", "div",
69
+ "dl", "em", "fieldset", "font", "form", "h1", "h2", "h3", "h4", "h5", "h6",
70
+ "hr", "i", "iframe", "img", "input", "isindex", "kbd", "label", "map",
71
+ "menu", "noframes", "noscript", "object", "ol", "p", "param", "pre", "q",
72
+ "s", "samp", "script", "select", "small", "span", "strike", "strong", "sub",
73
+ "sup", "table", "textarea", "tt", "u", "ul", "var"],
74
+ "dl"=>["dd", "dt"],
75
+ "p"=>
76
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
77
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
78
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
79
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
80
+ "tt", "u", "var"],
81
+ "acronym"=>
82
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
83
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
84
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
85
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
86
+ "tt", "u", "var"],
87
+ "code"=>
88
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
89
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
90
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
91
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
92
+ "tt", "u", "var"],
93
+ "ul"=>["li"],
94
+ "tt"=>
95
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
96
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
97
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
98
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
99
+ "tt", "u", "var"],
100
+ "label"=>
101
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
102
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
103
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
104
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
105
+ "tt", "u", "var"],
106
+ "form"=>
107
+ ["a", "abbr", "acronym", "address", "applet", "b", "basefont", "bdo", "big",
108
+ "blockquote", "br", "button", "center", "cite", "code", "dfn", "dir", "div",
109
+ "dl", "em", "fieldset", "font", "form", "h1", "h2", "h3", "h4", "h5", "h6",
110
+ "hr", "i", "iframe", "img", "input", "isindex", "kbd", "label", "map",
111
+ "menu", "noframes", "noscript", "object", "ol", "p", "pre", "q", "s",
112
+ "samp", "script", "select", "small", "span", "strike", "strong", "sub",
113
+ "sup", "table", "textarea", "tt", "u", "ul", "var"],
114
+ "q"=>
115
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
116
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
117
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
118
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
119
+ "tt", "u", "var"],
120
+ "thead"=>["tr"],
121
+ "area"=>:EMPTY,
122
+ "td"=>
123
+ ["a", "abbr", "acronym", "address", "applet", "b", "basefont", "bdo", "big",
124
+ "blockquote", "br", "button", "center", "cite", "code", "dfn", "dir", "div",
125
+ "dl", "em", "fieldset", "font", "form", "h1", "h2", "h3", "h4", "h5", "h6",
126
+ "hr", "i", "iframe", "img", "input", "isindex", "kbd", "label", "map",
127
+ "menu", "noframes", "noscript", "object", "ol", "p", "pre", "q", "s",
128
+ "samp", "script", "select", "small", "span", "strike", "strong", "sub",
129
+ "sup", "table", "textarea", "tt", "u", "ul", "var"],
130
+ "title"=>[],
131
+ "dir"=>["li"],
132
+ "s"=>
133
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
134
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
135
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
136
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
137
+ "tt", "u", "var"],
138
+ "ol"=>["li"],
139
+ "hr"=>:EMPTY,
140
+ "applet"=>
141
+ ["a", "abbr", "acronym", "address", "applet", "b", "basefont", "bdo", "big",
142
+ "blockquote", "br", "button", "center", "cite", "code", "dfn", "dir", "div",
143
+ "dl", "em", "fieldset", "font", "form", "h1", "h2", "h3", "h4", "h5", "h6",
144
+ "hr", "i", "iframe", "img", "input", "isindex", "kbd", "label", "map",
145
+ "menu", "noframes", "noscript", "object", "ol", "p", "param", "pre", "q",
146
+ "s", "samp", "script", "select", "small", "span", "strike", "strong", "sub",
147
+ "sup", "table", "textarea", "tt", "u", "ul", "var"],
148
+ "table"=>["caption", "col", "colgroup", "tbody", "tfoot", "thead", "tr"],
149
+ "legend"=>
150
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
151
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
152
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
153
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
154
+ "tt", "u", "var"],
155
+ "cite"=>
156
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
157
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
158
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
159
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
160
+ "tt", "u", "var"],
161
+ "a"=>
162
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
163
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
164
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
165
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
166
+ "tt", "u", "var"],
167
+ "html"=>
168
+ ["a", "abbr", "acronym", "address", "applet", "b", "base", "basefont", "bdo",
169
+ "big", "blockquote", "body", "br", "button", "center", "cite", "code",
170
+ "dfn", "dir", "div", "dl", "em", "fieldset", "font", "form", "h1", "h2",
171
+ "h3", "h4", "h5", "h6", "head", "hr", "i", "iframe", "img", "input",
172
+ "isindex", "kbd", "label", "map", "menu", "noframes", "noscript", "object",
173
+ "ol", "p", "pre", "q", "s", "samp", "script", "select", "small", "span",
174
+ "strike", "strong", "sub", "sup", "table", "textarea", "title", "tt", "u",
175
+ "ul", "var"],
176
+ "u"=>
177
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
178
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
179
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
180
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
181
+ "tt", "u", "var"],
182
+ "blockquote"=>
183
+ ["a", "abbr", "acronym", "address", "applet", "b", "basefont", "bdo", "big",
184
+ "blockquote", "br", "button", "center", "cite", "code", "dfn", "dir", "div",
185
+ "dl", "em", "fieldset", "font", "form", "h1", "h2", "h3", "h4", "h5", "h6",
186
+ "hr", "i", "iframe", "img", "input", "isindex", "kbd", "label", "map",
187
+ "menu", "noframes", "noscript", "object", "ol", "p", "pre", "q", "s",
188
+ "samp", "script", "select", "small", "span", "strike", "strong", "sub",
189
+ "sup", "table", "textarea", "tt", "u", "ul", "var"],
190
+ "center"=>
191
+ ["a", "abbr", "acronym", "address", "applet", "b", "basefont", "bdo", "big",
192
+ "blockquote", "br", "button", "center", "cite", "code", "dfn", "dir", "div",
193
+ "dl", "em", "fieldset", "font", "form", "h1", "h2", "h3", "h4", "h5", "h6",
194
+ "hr", "i", "iframe", "img", "input", "isindex", "kbd", "label", "map",
195
+ "menu", "noframes", "noscript", "object", "ol", "p", "pre", "q", "s",
196
+ "samp", "script", "select", "small", "span", "strike", "strong", "sub",
197
+ "sup", "table", "textarea", "tt", "u", "ul", "var"],
198
+ "b"=>
199
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
200
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
201
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
202
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
203
+ "tt", "u", "var"],
204
+ "base"=>:EMPTY,
205
+ "th"=>
206
+ ["a", "abbr", "acronym", "address", "applet", "b", "basefont", "bdo", "big",
207
+ "blockquote", "br", "button", "center", "cite", "code", "dfn", "dir", "div",
208
+ "dl", "em", "fieldset", "font", "form", "h1", "h2", "h3", "h4", "h5", "h6",
209
+ "hr", "i", "iframe", "img", "input", "isindex", "kbd", "label", "map",
210
+ "menu", "noframes", "noscript", "object", "ol", "p", "pre", "q", "s",
211
+ "samp", "script", "select", "small", "span", "strike", "strong", "sub",
212
+ "sup", "table", "textarea", "tt", "u", "ul", "var"],
213
+ "link"=>:EMPTY,
214
+ "var"=>
215
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
216
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
217
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
218
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
219
+ "tt", "u", "var"],
220
+ "samp"=>
221
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
222
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
223
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
224
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
225
+ "tt", "u", "var"],
226
+ "div"=>
227
+ ["a", "abbr", "acronym", "address", "applet", "b", "basefont", "bdo", "big",
228
+ "blockquote", "br", "button", "center", "cite", "code", "dfn", "dir", "div",
229
+ "dl", "em", "fieldset", "font", "form", "h1", "h2", "h3", "h4", "h5", "h6",
230
+ "hr", "i", "iframe", "img", "input", "isindex", "kbd", "label", "map",
231
+ "menu", "noframes", "noscript", "object", "ol", "p", "pre", "q", "s",
232
+ "samp", "script", "select", "small", "span", "strike", "strong", "sub",
233
+ "sup", "table", "textarea", "tt", "u", "ul", "var"],
234
+ "textarea"=>[],
235
+ "pre"=>
236
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
237
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
238
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
239
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
240
+ "tt", "u", "var"],
241
+ "head"=>["base", "isindex", "title"],
242
+ "span"=>
243
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
244
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
245
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
246
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
247
+ "tt", "u", "var"],
248
+ "br"=>:EMPTY,
249
+ "script"=>:CDATA,
250
+ "noframes"=>
251
+ ["a", "abbr", "acronym", "address", "applet", "b", "basefont", "bdo", "big",
252
+ "blockquote", "br", "button", "center", "cite", "code", "dfn", "dir", "div",
253
+ "dl", "em", "fieldset", "font", "form", "h1", "h2", "h3", "h4", "h5", "h6",
254
+ "hr", "i", "iframe", "img", "input", "isindex", "kbd", "label", "map",
255
+ "menu", "noframes", "noscript", "object", "ol", "p", "pre", "q", "s",
256
+ "samp", "script", "select", "small", "span", "strike", "strong", "sub",
257
+ "sup", "table", "textarea", "tt", "u", "ul", "var"],
258
+ "style"=>:CDATA,
259
+ "meta"=>:EMPTY,
260
+ "dt"=>
261
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
262
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
263
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
264
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
265
+ "tt", "u", "var"],
266
+ "option"=>[],
267
+ "kbd"=>
268
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
269
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
270
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
271
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
272
+ "tt", "u", "var"],
273
+ "big"=>
274
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
275
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
276
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
277
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
278
+ "tt", "u", "var"],
279
+ "tfoot"=>["tr"],
280
+ "sup"=>
281
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
282
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
283
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
284
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
285
+ "tt", "u", "var"],
286
+ "bdo"=>
287
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
288
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
289
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
290
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
291
+ "tt", "u", "var"],
292
+ "isindex"=>:EMPTY,
293
+ "dfn"=>
294
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
295
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
296
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
297
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
298
+ "tt", "u", "var"],
299
+ "fieldset"=>
300
+ ["a", "abbr", "acronym", "address", "applet", "b", "basefont", "bdo", "big",
301
+ "blockquote", "br", "button", "center", "cite", "code", "dfn", "dir", "div",
302
+ "dl", "em", "fieldset", "font", "form", "h1", "h2", "h3", "h4", "h5", "h6",
303
+ "hr", "i", "iframe", "img", "input", "isindex", "kbd", "label", "legend",
304
+ "map", "menu", "noframes", "noscript", "object", "ol", "p", "pre", "q", "s",
305
+ "samp", "script", "select", "small", "span", "strike", "strong", "sub",
306
+ "sup", "table", "textarea", "tt", "u", "ul", "var"],
307
+ "em"=>
308
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
309
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
310
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
311
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
312
+ "tt", "u", "var"],
313
+ "font"=>
314
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
315
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
316
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
317
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
318
+ "tt", "u", "var"],
319
+ "tbody"=>["tr"],
320
+ "noscript"=>
321
+ ["a", "abbr", "acronym", "address", "applet", "b", "basefont", "bdo", "big",
322
+ "blockquote", "br", "button", "center", "cite", "code", "dfn", "dir", "div",
323
+ "dl", "em", "fieldset", "font", "form", "h1", "h2", "h3", "h4", "h5", "h6",
324
+ "hr", "i", "iframe", "img", "input", "isindex", "kbd", "label", "map",
325
+ "menu", "noframes", "noscript", "object", "ol", "p", "pre", "q", "s",
326
+ "samp", "script", "select", "small", "span", "strike", "strong", "sub",
327
+ "sup", "table", "textarea", "tt", "u", "ul", "var"],
328
+ "li"=>
329
+ ["a", "abbr", "acronym", "address", "applet", "b", "basefont", "bdo", "big",
330
+ "blockquote", "br", "button", "center", "cite", "code", "dfn", "dir", "div",
331
+ "dl", "em", "fieldset", "font", "form", "h1", "h2", "h3", "h4", "h5", "h6",
332
+ "hr", "i", "iframe", "img", "input", "isindex", "kbd", "label", "map",
333
+ "menu", "noframes", "noscript", "object", "ol", "p", "pre", "q", "s",
334
+ "samp", "script", "select", "small", "span", "strike", "strong", "sub",
335
+ "sup", "table", "textarea", "tt", "u", "ul", "var"],
336
+ "col"=>:EMPTY,
337
+ "small"=>
338
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
339
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
340
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
341
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
342
+ "tt", "u", "var"],
343
+ "dd"=>
344
+ ["a", "abbr", "acronym", "address", "applet", "b", "basefont", "bdo", "big",
345
+ "blockquote", "br", "button", "center", "cite", "code", "dfn", "dir", "div",
346
+ "dl", "em", "fieldset", "font", "form", "h1", "h2", "h3", "h4", "h5", "h6",
347
+ "hr", "i", "iframe", "img", "input", "isindex", "kbd", "label", "map",
348
+ "menu", "noframes", "noscript", "object", "ol", "p", "pre", "q", "s",
349
+ "samp", "script", "select", "small", "span", "strike", "strong", "sub",
350
+ "sup", "table", "textarea", "tt", "u", "ul", "var"],
351
+ "i"=>
352
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
353
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
354
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
355
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
356
+ "tt", "u", "var"],
357
+ "menu"=>["li"],
358
+ "strong"=>
359
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
360
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
361
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
362
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
363
+ "tt", "u", "var"],
364
+ "basefont"=>:EMPTY,
365
+ "img"=>:EMPTY,
366
+ "optgroup"=>["option"],
367
+ "map"=>
368
+ ["address", "area", "blockquote", "center", "dir", "div", "dl", "fieldset",
369
+ "form", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "isindex", "menu",
370
+ "noframes", "noscript", "ol", "p", "pre", "table", "ul"],
371
+ "h1"=>
372
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
373
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
374
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
375
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
376
+ "tt", "u", "var"],
377
+ "address"=>
378
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
379
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
380
+ "input", "kbd", "label", "map", "object", "p", "q", "s", "samp", "script",
381
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
382
+ "tt", "u", "var"],
383
+ "sub"=>
384
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
385
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
386
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
387
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
388
+ "tt", "u", "var"],
389
+ "param"=>:EMPTY,
390
+ "input"=>:EMPTY,
391
+ "h2"=>
392
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
393
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
394
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
395
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
396
+ "tt", "u", "var"],
397
+ "abbr"=>
398
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
399
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
400
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
401
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
402
+ "tt", "u", "var"],
403
+ "h3"=>
404
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
405
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
406
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
407
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
408
+ "tt", "u", "var"],
409
+ "strike"=>
410
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
411
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
412
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
413
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
414
+ "tt", "u", "var"],
415
+ "body"=>
416
+ ["a", "abbr", "acronym", "address", "applet", "b", "basefont", "bdo", "big",
417
+ "blockquote", "br", "button", "center", "cite", "code", "dfn", "dir", "div",
418
+ "dl", "em", "fieldset", "font", "form", "h1", "h2", "h3", "h4", "h5", "h6",
419
+ "hr", "i", "iframe", "img", "input", "isindex", "kbd", "label", "map",
420
+ "menu", "noframes", "noscript", "object", "ol", "p", "pre", "q", "s",
421
+ "samp", "script", "select", "small", "span", "strike", "strong", "sub",
422
+ "sup", "table", "textarea", "tt", "u", "ul", "var"],
423
+ "ins"=>
424
+ ["a", "abbr", "acronym", "address", "applet", "b", "basefont", "bdo", "big",
425
+ "blockquote", "br", "button", "center", "cite", "code", "dfn", "dir", "div",
426
+ "dl", "em", "fieldset", "font", "form", "h1", "h2", "h3", "h4", "h5", "h6",
427
+ "hr", "i", "iframe", "img", "input", "isindex", "kbd", "label", "map",
428
+ "menu", "noframes", "noscript", "object", "ol", "p", "pre", "q", "s",
429
+ "samp", "script", "select", "small", "span", "strike", "strong", "sub",
430
+ "sup", "table", "textarea", "tt", "u", "ul", "var"],
431
+ "button"=>
432
+ ["a", "abbr", "acronym", "address", "applet", "b", "basefont", "bdo", "big",
433
+ "blockquote", "br", "button", "center", "cite", "code", "dfn", "dir", "div",
434
+ "dl", "em", "fieldset", "font", "form", "h1", "h2", "h3", "h4", "h5", "h6",
435
+ "hr", "i", "iframe", "img", "input", "isindex", "kbd", "label", "map",
436
+ "menu", "noframes", "noscript", "object", "ol", "p", "pre", "q", "s",
437
+ "samp", "script", "select", "small", "span", "strike", "strong", "sub",
438
+ "sup", "table", "textarea", "tt", "u", "ul", "var"],
439
+ "h4"=>
440
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
441
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
442
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
443
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
444
+ "tt", "u", "var"],
445
+ "select"=>["optgroup", "option"],
446
+ "caption"=>
447
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
448
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
449
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
450
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
451
+ "tt", "u", "var"],
452
+ "colgroup"=>["col"],
453
+ "tr"=>["td", "th"],
454
+ "del"=>
455
+ ["a", "abbr", "acronym", "address", "applet", "b", "basefont", "bdo", "big",
456
+ "blockquote", "br", "button", "center", "cite", "code", "dfn", "dir", "div",
457
+ "dl", "em", "fieldset", "font", "form", "h1", "h2", "h3", "h4", "h5", "h6",
458
+ "hr", "i", "iframe", "img", "input", "isindex", "kbd", "label", "map",
459
+ "menu", "noframes", "noscript", "object", "ol", "p", "pre", "q", "s",
460
+ "samp", "script", "select", "small", "span", "strike", "strong", "sub",
461
+ "sup", "table", "textarea", "tt", "u", "ul", "var"],
462
+ "h5"=>
463
+ ["a", "abbr", "acronym", "applet", "b", "basefont", "bdo", "big", "br",
464
+ "button", "cite", "code", "dfn", "em", "font", "i", "iframe", "img",
465
+ "input", "kbd", "label", "map", "object", "q", "s", "samp", "script",
466
+ "select", "small", "span", "strike", "strong", "sub", "sup", "textarea",
467
+ "tt", "u", "var"],
468
+ "iframe"=>
469
+ ["a", "abbr", "acronym", "address", "applet", "b", "basefont", "bdo", "big",
470
+ "blockquote", "br", "button", "center", "cite", "code", "dfn", "dir", "div",
471
+ "dl", "em", "fieldset", "font", "form", "h1", "h2", "h3", "h4", "h5", "h6",
472
+ "hr", "i", "iframe", "img", "input", "isindex", "kbd", "label", "map",
473
+ "menu", "noframes", "noscript", "object", "ol", "p", "pre", "q", "s",
474
+ "samp", "script", "select", "small", "span", "strike", "strong", "sub",
475
+ "sup", "table", "textarea", "tt", "u", "ul", "var"]}
476
+ ElementContent.keys.each do |k|
477
+ v = ElementContent[k]
478
+ if v.is_a? Array
479
+ ElementContent[k] = v.inject({}) do |h, name|
480
+ h[name.hash] = true
481
+ h
482
+ end
483
+ end
484
+ end
485
+
486
+ ElementInclusions =
487
+ {"head"=>["link", "meta", "object", "script", "style" , "noscript"], "body"=>["del", "ins"]}
488
+ ElementInclusions.each do |k, v|
489
+ v.each do |name|
490
+ ElementContent[k][name.hash] = :allow
491
+ end
492
+ end
493
+
494
+ ElementExclusions =
495
+ {"button"=>
496
+ ["a", "button", "fieldset", "form", "iframe", "input", "isindex", "label",
497
+ "select", "textarea"],
498
+ "a"=>["a"],
499
+ "dir"=>
500
+ ["address", "blockquote", "center", "dir", "div", "dl", "fieldset", "form",
501
+ "h1", "h2", "h3", "h4", "h5", "h6", "hr", "isindex", "menu", "noframes",
502
+ "noscript", "ol", "p", "pre", "table", "ul"],
503
+ "title"=>["link", "meta", "object", "script", "style"],
504
+ "pre"=>
505
+ ["applet", "basefont", "big", "font", "img", "object", "small", "sub",
506
+ "sup"],
507
+ "form"=>["form"],
508
+ "menu"=>
509
+ ["address", "blockquote", "center", "dir", "div", "dl", "fieldset", "form",
510
+ "h1", "h2", "h3", "h4", "h5", "h6", "hr", "isindex", "menu", "noframes",
511
+ "noscript", "ol", "p", "pre", "table", "ul"],
512
+ "label"=>["label"]}
513
+ ElementExclusions.each do |k, v|
514
+ v.each do |name|
515
+ ElementContent[k][name.hash] = :deny
516
+ end
517
+ end
518
+
519
+ OmittedAttrName =
520
+ {"h6"=>
521
+ {"center"=>"align", "justify"=>"align", "left"=>"align", "ltr"=>"dir",
522
+ "right"=>"align", "rtl"=>"dir"},
523
+ "object"=>
524
+ {"bottom"=>"align", "declare"=>"declare", "left"=>"align", "ltr"=>"dir",
525
+ "middle"=>"align", "right"=>"align", "rtl"=>"dir", "top"=>"align"},
526
+ "dl"=>{"compact"=>"compact", "ltr"=>"dir", "rtl"=>"dir"},
527
+ "p"=>
528
+ {"center"=>"align", "justify"=>"align", "left"=>"align", "ltr"=>"dir",
529
+ "right"=>"align", "rtl"=>"dir"},
530
+ "acronym"=>{"ltr"=>"dir", "rtl"=>"dir"},
531
+ "code"=>{"ltr"=>"dir", "rtl"=>"dir"},
532
+ "ul"=>
533
+ {"circle"=>"type", "compact"=>"compact", "disc"=>"type", "ltr"=>"dir",
534
+ "rtl"=>"dir", "square"=>"type"},
535
+ "tt"=>{"ltr"=>"dir", "rtl"=>"dir"},
536
+ "label"=>{"ltr"=>"dir", "rtl"=>"dir"},
537
+ "form"=>{"get"=>"method", "ltr"=>"dir", "post"=>"method", "rtl"=>"dir"},
538
+ "q"=>{"ltr"=>"dir", "rtl"=>"dir"},
539
+ "thead"=>
540
+ {"baseline"=>"valign", "bottom"=>"valign", "center"=>"align",
541
+ "char"=>"align", "justify"=>"align", "left"=>"align", "ltr"=>"dir",
542
+ "middle"=>"valign", "right"=>"align", "rtl"=>"dir", "top"=>"valign"},
543
+ "area"=>
544
+ {"circle"=>"shape", "default"=>"shape", "ltr"=>"dir", "nohref"=>"nohref",
545
+ "poly"=>"shape", "rect"=>"shape", "rtl"=>"dir"},
546
+ "td"=>
547
+ {"baseline"=>"valign", "bottom"=>"valign", "center"=>"align",
548
+ "char"=>"align", "col"=>"scope", "colgroup"=>"scope", "justify"=>"align",
549
+ "left"=>"align", "ltr"=>"dir", "middle"=>"valign", "nowrap"=>"nowrap",
550
+ "right"=>"align", "row"=>"scope", "rowgroup"=>"scope", "rtl"=>"dir",
551
+ "top"=>"valign"},
552
+ "title"=>{"ltr"=>"dir", "rtl"=>"dir"},
553
+ "dir"=>{"compact"=>"compact", "ltr"=>"dir", "rtl"=>"dir"},
554
+ "s"=>{"ltr"=>"dir", "rtl"=>"dir"},
555
+ "ol"=>{"compact"=>"compact", "ltr"=>"dir", "rtl"=>"dir"},
556
+ "hr"=>
557
+ {"center"=>"align", "left"=>"align", "ltr"=>"dir", "noshade"=>"noshade",
558
+ "right"=>"align", "rtl"=>"dir"},
559
+ "applet"=>
560
+ {"bottom"=>"align", "left"=>"align", "middle"=>"align", "right"=>"align",
561
+ "top"=>"align"},
562
+ "table"=>
563
+ {"above"=>"frame", "all"=>"rules", "below"=>"frame", "border"=>"frame",
564
+ "box"=>"frame", "center"=>"align", "cols"=>"rules", "groups"=>"rules",
565
+ "hsides"=>"frame", "left"=>"align", "lhs"=>"frame", "ltr"=>"dir",
566
+ "none"=>"rules", "rhs"=>"frame", "right"=>"align", "rows"=>"rules",
567
+ "rtl"=>"dir", "void"=>"frame", "vsides"=>"frame"},
568
+ "legend"=>
569
+ {"bottom"=>"align", "left"=>"align", "ltr"=>"dir", "right"=>"align",
570
+ "rtl"=>"dir", "top"=>"align"},
571
+ "cite"=>{"ltr"=>"dir", "rtl"=>"dir"},
572
+ "a"=>
573
+ {"circle"=>"shape", "default"=>"shape", "ltr"=>"dir", "poly"=>"shape",
574
+ "rect"=>"shape", "rtl"=>"dir"},
575
+ "html"=>{"ltr"=>"dir", "rtl"=>"dir"},
576
+ "u"=>{"ltr"=>"dir", "rtl"=>"dir"},
577
+ "blockquote"=>{"ltr"=>"dir", "rtl"=>"dir"},
578
+ "center"=>{"ltr"=>"dir", "rtl"=>"dir"},
579
+ "b"=>{"ltr"=>"dir", "rtl"=>"dir"},
580
+ "th"=>
581
+ {"baseline"=>"valign", "bottom"=>"valign", "center"=>"align",
582
+ "char"=>"align", "col"=>"scope", "colgroup"=>"scope", "justify"=>"align",
583
+ "left"=>"align", "ltr"=>"dir", "middle"=>"valign", "nowrap"=>"nowrap",
584
+ "right"=>"align", "row"=>"scope", "rowgroup"=>"scope", "rtl"=>"dir",
585
+ "top"=>"valign"},
586
+ "link"=>{"ltr"=>"dir", "rtl"=>"dir"},
587
+ "var"=>{"ltr"=>"dir", "rtl"=>"dir"},
588
+ "samp"=>{"ltr"=>"dir", "rtl"=>"dir"},
589
+ "div"=>
590
+ {"center"=>"align", "justify"=>"align", "left"=>"align", "ltr"=>"dir",
591
+ "right"=>"align", "rtl"=>"dir"},
592
+ "textarea"=>
593
+ {"disabled"=>"disabled", "ltr"=>"dir", "readonly"=>"readonly", "rtl"=>"dir"},
594
+ "pre"=>{"ltr"=>"dir", "rtl"=>"dir"},
595
+ "head"=>{"ltr"=>"dir", "rtl"=>"dir"},
596
+ "span"=>{"ltr"=>"dir", "rtl"=>"dir"},
597
+ "br"=>{"all"=>"clear", "left"=>"clear", "none"=>"clear", "right"=>"clear"},
598
+ "script"=>{"defer"=>"defer"},
599
+ "noframes"=>{"ltr"=>"dir", "rtl"=>"dir"},
600
+ "style"=>{"ltr"=>"dir", "rtl"=>"dir"},
601
+ "meta"=>{"ltr"=>"dir", "rtl"=>"dir"},
602
+ "dt"=>{"ltr"=>"dir", "rtl"=>"dir"},
603
+ "option"=>
604
+ {"disabled"=>"disabled", "ltr"=>"dir", "rtl"=>"dir", "selected"=>"selected"},
605
+ "kbd"=>{"ltr"=>"dir", "rtl"=>"dir"},
606
+ "big"=>{"ltr"=>"dir", "rtl"=>"dir"},
607
+ "tfoot"=>
608
+ {"baseline"=>"valign", "bottom"=>"valign", "center"=>"align",
609
+ "char"=>"align", "justify"=>"align", "left"=>"align", "ltr"=>"dir",
610
+ "middle"=>"valign", "right"=>"align", "rtl"=>"dir", "top"=>"valign"},
611
+ "sup"=>{"ltr"=>"dir", "rtl"=>"dir"},
612
+ "bdo"=>{"ltr"=>"dir", "rtl"=>"dir"},
613
+ "isindex"=>{"ltr"=>"dir", "rtl"=>"dir"},
614
+ "dfn"=>{"ltr"=>"dir", "rtl"=>"dir"},
615
+ "fieldset"=>{"ltr"=>"dir", "rtl"=>"dir"},
616
+ "em"=>{"ltr"=>"dir", "rtl"=>"dir"},
617
+ "font"=>{"ltr"=>"dir", "rtl"=>"dir"},
618
+ "tbody"=>
619
+ {"baseline"=>"valign", "bottom"=>"valign", "center"=>"align",
620
+ "char"=>"align", "justify"=>"align", "left"=>"align", "ltr"=>"dir",
621
+ "middle"=>"valign", "right"=>"align", "rtl"=>"dir", "top"=>"valign"},
622
+ "noscript"=>{"ltr"=>"dir", "rtl"=>"dir"},
623
+ "li"=>{"ltr"=>"dir", "rtl"=>"dir"},
624
+ "col"=>
625
+ {"baseline"=>"valign", "bottom"=>"valign", "center"=>"align",
626
+ "char"=>"align", "justify"=>"align", "left"=>"align", "ltr"=>"dir",
627
+ "middle"=>"valign", "right"=>"align", "rtl"=>"dir", "top"=>"valign"},
628
+ "small"=>{"ltr"=>"dir", "rtl"=>"dir"},
629
+ "dd"=>{"ltr"=>"dir", "rtl"=>"dir"},
630
+ "i"=>{"ltr"=>"dir", "rtl"=>"dir"},
631
+ "menu"=>{"compact"=>"compact", "ltr"=>"dir", "rtl"=>"dir"},
632
+ "strong"=>{"ltr"=>"dir", "rtl"=>"dir"},
633
+ "img"=>
634
+ {"bottom"=>"align", "ismap"=>"ismap", "left"=>"align", "ltr"=>"dir",
635
+ "middle"=>"align", "right"=>"align", "rtl"=>"dir", "top"=>"align"},
636
+ "optgroup"=>{"disabled"=>"disabled", "ltr"=>"dir", "rtl"=>"dir"},
637
+ "map"=>{"ltr"=>"dir", "rtl"=>"dir"},
638
+ "address"=>{"ltr"=>"dir", "rtl"=>"dir"},
639
+ "h1"=>
640
+ {"center"=>"align", "justify"=>"align", "left"=>"align", "ltr"=>"dir",
641
+ "right"=>"align", "rtl"=>"dir"},
642
+ "sub"=>{"ltr"=>"dir", "rtl"=>"dir"},
643
+ "param"=>{"data"=>"valuetype", "object"=>"valuetype", "ref"=>"valuetype"},
644
+ "input"=>
645
+ {"bottom"=>"align", "button"=>"type", "checkbox"=>"type",
646
+ "checked"=>"checked", "disabled"=>"disabled", "file"=>"type",
647
+ "hidden"=>"type", "image"=>"type", "ismap"=>"ismap", "left"=>"align",
648
+ "ltr"=>"dir", "middle"=>"align", "password"=>"type", "radio"=>"type",
649
+ "readonly"=>"readonly", "reset"=>"type", "right"=>"align", "rtl"=>"dir",
650
+ "submit"=>"type", "text"=>"type", "top"=>"align"},
651
+ "h2"=>
652
+ {"center"=>"align", "justify"=>"align", "left"=>"align", "ltr"=>"dir",
653
+ "right"=>"align", "rtl"=>"dir"},
654
+ "abbr"=>{"ltr"=>"dir", "rtl"=>"dir"},
655
+ "h3"=>
656
+ {"center"=>"align", "justify"=>"align", "left"=>"align", "ltr"=>"dir",
657
+ "right"=>"align", "rtl"=>"dir"},
658
+ "strike"=>{"ltr"=>"dir", "rtl"=>"dir"},
659
+ "body"=>{"ltr"=>"dir", "rtl"=>"dir"},
660
+ "ins"=>{"ltr"=>"dir", "rtl"=>"dir"},
661
+ "button"=>
662
+ {"button"=>"type", "disabled"=>"disabled", "ltr"=>"dir", "reset"=>"type",
663
+ "rtl"=>"dir", "submit"=>"type"},
664
+ "h4"=>
665
+ {"center"=>"align", "justify"=>"align", "left"=>"align", "ltr"=>"dir",
666
+ "right"=>"align", "rtl"=>"dir"},
667
+ "select"=>
668
+ {"disabled"=>"disabled", "ltr"=>"dir", "multiple"=>"multiple", "rtl"=>"dir"},
669
+ "caption"=>
670
+ {"bottom"=>"align", "left"=>"align", "ltr"=>"dir", "right"=>"align",
671
+ "rtl"=>"dir", "top"=>"align"},
672
+ "colgroup"=>
673
+ {"baseline"=>"valign", "bottom"=>"valign", "center"=>"align",
674
+ "char"=>"align", "justify"=>"align", "left"=>"align", "ltr"=>"dir",
675
+ "middle"=>"valign", "right"=>"align", "rtl"=>"dir", "top"=>"valign"},
676
+ "tr"=>
677
+ {"baseline"=>"valign", "bottom"=>"valign", "center"=>"align",
678
+ "char"=>"align", "justify"=>"align", "left"=>"align", "ltr"=>"dir",
679
+ "middle"=>"valign", "right"=>"align", "rtl"=>"dir", "top"=>"valign"},
680
+ "del"=>{"ltr"=>"dir", "rtl"=>"dir"},
681
+ "h5"=>
682
+ {"center"=>"align", "justify"=>"align", "left"=>"align", "ltr"=>"dir",
683
+ "right"=>"align", "rtl"=>"dir"},
684
+ "iframe"=>
685
+ {"0"=>"frameborder", "1"=>"frameborder", "auto"=>"scrolling",
686
+ "bottom"=>"align", "left"=>"align", "middle"=>"align", "no"=>"scrolling",
687
+ "right"=>"align", "top"=>"align", "yes"=>"scrolling"}}
688
+
689
+ # :startdoc:
690
+ # The code above is auto-generated. Don't edit manually.
691
+ end