nokogiri 1.13.8 → 1.15.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of nokogiri might be problematic. Click here for more details.

Files changed (120) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +40 -0
  3. data/LICENSE-DEPENDENCIES.md +830 -509
  4. data/LICENSE.md +1 -1
  5. data/README.md +18 -11
  6. data/dependencies.yml +33 -15
  7. data/ext/nokogiri/extconf.rb +164 -46
  8. data/ext/nokogiri/gumbo.c +20 -10
  9. data/ext/nokogiri/html4_document.c +3 -4
  10. data/ext/nokogiri/html4_element_description.c +20 -15
  11. data/ext/nokogiri/html4_entity_lookup.c +2 -2
  12. data/ext/nokogiri/html4_sax_parser_context.c +11 -22
  13. data/ext/nokogiri/html4_sax_push_parser.c +3 -3
  14. data/ext/nokogiri/nokogiri.c +84 -75
  15. data/ext/nokogiri/nokogiri.h +31 -16
  16. data/ext/nokogiri/test_global_handlers.c +1 -1
  17. data/ext/nokogiri/xml_attr.c +2 -2
  18. data/ext/nokogiri/xml_attribute_decl.c +2 -2
  19. data/ext/nokogiri/xml_cdata.c +32 -18
  20. data/ext/nokogiri/xml_comment.c +2 -2
  21. data/ext/nokogiri/xml_document.c +127 -34
  22. data/ext/nokogiri/xml_document_fragment.c +2 -2
  23. data/ext/nokogiri/xml_dtd.c +2 -2
  24. data/ext/nokogiri/xml_element_content.c +34 -31
  25. data/ext/nokogiri/xml_element_decl.c +7 -7
  26. data/ext/nokogiri/xml_encoding_handler.c +15 -7
  27. data/ext/nokogiri/xml_entity_decl.c +1 -1
  28. data/ext/nokogiri/xml_entity_reference.c +2 -2
  29. data/ext/nokogiri/xml_namespace.c +79 -14
  30. data/ext/nokogiri/xml_node.c +300 -34
  31. data/ext/nokogiri/xml_node_set.c +125 -107
  32. data/ext/nokogiri/xml_processing_instruction.c +2 -2
  33. data/ext/nokogiri/xml_reader.c +81 -48
  34. data/ext/nokogiri/xml_relax_ng.c +66 -81
  35. data/ext/nokogiri/xml_sax_parser.c +45 -20
  36. data/ext/nokogiri/xml_sax_parser_context.c +46 -30
  37. data/ext/nokogiri/xml_sax_push_parser.c +30 -11
  38. data/ext/nokogiri/xml_schema.c +95 -117
  39. data/ext/nokogiri/xml_syntax_error.c +1 -1
  40. data/ext/nokogiri/xml_text.c +28 -14
  41. data/ext/nokogiri/xml_xpath_context.c +216 -136
  42. data/ext/nokogiri/xslt_stylesheet.c +118 -64
  43. data/gumbo-parser/Makefile +10 -0
  44. data/gumbo-parser/src/attribute.h +1 -1
  45. data/gumbo-parser/src/error.c +10 -6
  46. data/gumbo-parser/src/error.h +1 -1
  47. data/gumbo-parser/src/foreign_attrs.c +15 -16
  48. data/gumbo-parser/src/foreign_attrs.gperf +1 -1
  49. data/gumbo-parser/src/{gumbo.h → nokogiri_gumbo.h} +1 -0
  50. data/gumbo-parser/src/parser.c +21 -5
  51. data/gumbo-parser/src/replacement.h +1 -1
  52. data/gumbo-parser/src/string_buffer.h +1 -1
  53. data/gumbo-parser/src/string_piece.c +1 -1
  54. data/gumbo-parser/src/svg_attrs.c +2 -2
  55. data/gumbo-parser/src/svg_tags.c +2 -2
  56. data/gumbo-parser/src/tag.c +2 -1
  57. data/gumbo-parser/src/tag_lookup.c +7 -7
  58. data/gumbo-parser/src/tag_lookup.gperf +1 -0
  59. data/gumbo-parser/src/tag_lookup.h +1 -1
  60. data/gumbo-parser/src/token_buffer.h +1 -1
  61. data/gumbo-parser/src/tokenizer.c +1 -1
  62. data/gumbo-parser/src/tokenizer.h +1 -1
  63. data/gumbo-parser/src/utf8.c +1 -1
  64. data/gumbo-parser/src/utf8.h +1 -1
  65. data/gumbo-parser/src/util.c +1 -3
  66. data/gumbo-parser/src/util.h +4 -0
  67. data/gumbo-parser/src/vector.h +1 -1
  68. data/lib/nokogiri/css/node.rb +2 -2
  69. data/lib/nokogiri/css/xpath_visitor.rb +7 -5
  70. data/lib/nokogiri/css.rb +6 -0
  71. data/lib/nokogiri/decorators/slop.rb +1 -1
  72. data/lib/nokogiri/encoding_handler.rb +57 -0
  73. data/lib/nokogiri/extension.rb +4 -3
  74. data/lib/nokogiri/html4/document.rb +2 -121
  75. data/lib/nokogiri/html4/document_fragment.rb +1 -1
  76. data/lib/nokogiri/html4/element_description_defaults.rb +1827 -365
  77. data/lib/nokogiri/html4/encoding_reader.rb +121 -0
  78. data/lib/nokogiri/html4.rb +1 -0
  79. data/lib/nokogiri/html5/document.rb +113 -36
  80. data/lib/nokogiri/html5/document_fragment.rb +10 -3
  81. data/lib/nokogiri/html5/node.rb +8 -5
  82. data/lib/nokogiri/html5.rb +130 -216
  83. data/lib/nokogiri/jruby/dependencies.rb +1 -19
  84. data/lib/nokogiri/jruby/nokogiri_jars.rb +43 -0
  85. data/lib/nokogiri/version/constant.rb +1 -1
  86. data/lib/nokogiri/version/info.rb +11 -10
  87. data/lib/nokogiri/xml/attr.rb +49 -0
  88. data/lib/nokogiri/xml/attribute_decl.rb +4 -2
  89. data/lib/nokogiri/xml/builder.rb +1 -1
  90. data/lib/nokogiri/xml/document.rb +102 -55
  91. data/lib/nokogiri/xml/document_fragment.rb +50 -7
  92. data/lib/nokogiri/xml/element_content.rb +10 -2
  93. data/lib/nokogiri/xml/element_decl.rb +4 -2
  94. data/lib/nokogiri/xml/entity_decl.rb +4 -2
  95. data/lib/nokogiri/xml/namespace.rb +42 -0
  96. data/lib/nokogiri/xml/node/save_options.rb +14 -4
  97. data/lib/nokogiri/xml/node.rb +212 -48
  98. data/lib/nokogiri/xml/node_set.rb +88 -9
  99. data/lib/nokogiri/xml/parse_options.rb +129 -50
  100. data/lib/nokogiri/xml/pp/node.rb +28 -15
  101. data/lib/nokogiri/xml/processing_instruction.rb +2 -1
  102. data/lib/nokogiri/xml/sax/document.rb +1 -1
  103. data/lib/nokogiri/xml/sax/parser.rb +2 -3
  104. data/lib/nokogiri/xml/searchable.rb +18 -10
  105. data/lib/nokogiri/xslt.rb +74 -4
  106. data/lib/nokogiri.rb +15 -15
  107. data/lib/xsd/xmlparser/nokogiri.rb +4 -2
  108. data/patches/libxml2/0010-update-config.guess-and-config.sub-for-libxml2.patch +224 -0
  109. data/patches/libxml2/0011-rip-out-libxml2-s-libc_single_threaded-support.patch +30 -0
  110. data/patches/libxslt/0001-update-config.guess-and-config.sub-for-libxslt.patch +224 -0
  111. data/ports/archives/libxml2-2.11.7.tar.xz +0 -0
  112. data/ports/archives/libxslt-1.1.39.tar.xz +0 -0
  113. metadata +19 -242
  114. data/patches/libxml2/0004-use-glibc-strlen.patch +0 -53
  115. data/patches/libxml2/0005-avoid-isnan-isinf.patch +0 -81
  116. data/patches/libxml2/0006-update-automake-files-for-arm64.patch +0 -3040
  117. data/patches/libxml2/0008-htmlParseComment-handle-abruptly-closed-comments.patch +0 -61
  118. data/patches/libxslt/0001-update-automake-files-for-arm64.patch +0 -3037
  119. data/ports/archives/libxml2-2.9.14.tar.xz +0 -0
  120. data/ports/archives/libxslt-1.1.35.tar.xz +0 -0
@@ -8,12 +8,23 @@ module Nokogiri
8
8
  # and we don't want to clobber any methods that have been
9
9
  # defined there.
10
10
 
11
- Desc = Struct.new("HTMLElementDescription", :name,
12
- :startTag, :endTag, :saveEndTag,
13
- :empty, :depr, :dtd, :isinline,
11
+ Desc = Struct.new(
12
+ "HTMLElementDescription",
13
+ :name,
14
+ :startTag,
15
+ :endTag,
16
+ :saveEndTag,
17
+ :empty,
18
+ :depr,
19
+ :dtd,
20
+ :isinline,
14
21
  :desc,
15
- :subelts, :defaultsubelt,
16
- :attrs_opt, :attrs_depr, :attrs_req)
22
+ :subelts,
23
+ :defaultsubelt,
24
+ :attrs_opt,
25
+ :attrs_depr,
26
+ :attrs_req,
27
+ )
17
28
 
18
29
  # This is filled in down below.
19
30
  DefaultDescriptions = {} # rubocop:disable Naming/ConstantName
@@ -25,43 +36,37 @@ module Nokogiri
25
36
 
26
37
  unless method_defined?(:implied_start_tag?)
27
38
  def implied_start_tag?
28
- d = default_desc
29
- d ? d.startTag : nil
39
+ default_desc&.startTag
30
40
  end
31
41
  end
32
42
 
33
43
  unless method_defined?(:implied_end_tag?)
34
44
  def implied_end_tag?
35
- d = default_desc
36
- d ? d.endTag : nil
45
+ default_desc&.endTag
37
46
  end
38
47
  end
39
48
 
40
49
  unless method_defined?(:save_end_tag?)
41
50
  def save_end_tag?
42
- d = default_desc
43
- d ? d.saveEndTag : nil
51
+ default_desc&.saveEndTag
44
52
  end
45
53
  end
46
54
 
47
55
  unless method_defined?(:deprecated?)
48
56
  def deprecated?
49
- d = default_desc
50
- d ? d.depr : nil
57
+ default_desc&.depr
51
58
  end
52
59
  end
53
60
 
54
61
  unless method_defined?(:description)
55
62
  def description
56
- d = default_desc
57
- d ? d.desc : nil
63
+ default_desc&.desc
58
64
  end
59
65
  end
60
66
 
61
67
  unless method_defined?(:default_sub_element)
62
68
  def default_sub_element
63
- d = default_desc
64
- d ? d.defaultsubelt : nil
69
+ default_desc&.defaultsubelt
65
70
  end
66
71
  end
67
72
 
@@ -129,18 +134,58 @@ module Nokogiri
129
134
 
130
135
  # Attributes defined and categorized
131
136
  FONTSTYLE = ["tt", "i", "b", "u", "s", "strike", "big", "small"]
132
- PHRASE = ["em", "strong", "dfn", "code", "samp",
133
- "kbd", "var", "cite", "abbr", "acronym",]
134
- SPECIAL = ["a", "img", "applet", "embed", "object", "font", "basefont",
135
- "br", "script", "map", "q", "sub", "sup", "span", "bdo",
136
- "iframe",]
137
+ PHRASE = [
138
+ "em",
139
+ "strong",
140
+ "dfn",
141
+ "code",
142
+ "samp",
143
+ "kbd",
144
+ "var",
145
+ "cite",
146
+ "abbr",
147
+ "acronym",
148
+ ]
149
+ SPECIAL = [
150
+ "a",
151
+ "img",
152
+ "applet",
153
+ "embed",
154
+ "object",
155
+ "font",
156
+ "basefont",
157
+ "br",
158
+ "script",
159
+ "map",
160
+ "q",
161
+ "sub",
162
+ "sup",
163
+ "span",
164
+ "bdo",
165
+ "iframe",
166
+ ]
137
167
  PCDATA = []
138
168
  HEADING = ["h1", "h2", "h3", "h4", "h5", "h6"]
139
169
  LIST = ["ul", "ol", "dir", "menu"]
140
170
  FORMCTRL = ["input", "select", "textarea", "label", "button"]
141
- BLOCK = [HEADING, LIST, "pre", "p", "dl", "div", "center", "noscript",
142
- "noframes", "blockquote", "form", "isindex", "hr", "table",
143
- "fieldset", "address",]
171
+ BLOCK = [
172
+ HEADING,
173
+ LIST,
174
+ "pre",
175
+ "p",
176
+ "dl",
177
+ "div",
178
+ "center",
179
+ "noscript",
180
+ "noframes",
181
+ "blockquote",
182
+ "form",
183
+ "isindex",
184
+ "hr",
185
+ "table",
186
+ "fieldset",
187
+ "address",
188
+ ]
144
189
  INLINE = [PCDATA, FONTSTYLE, PHRASE, SPECIAL, FORMCTRL]
145
190
  FLOW = [BLOCK, INLINE]
146
191
  MODIFIER = []
@@ -153,9 +198,17 @@ module Nokogiri
153
198
 
154
199
  COREATTRS = ["id", "class", "style", "title"]
155
200
  I18N = ["lang", "dir"]
156
- EVENTS = ["onclick", "ondblclick", "onmousedown", "onmouseup",
157
- "onmouseover", "onmouseout", "onkeypress", "onkeydown",
158
- "onkeyup",]
201
+ EVENTS = [
202
+ "onclick",
203
+ "ondblclick",
204
+ "onmousedown",
205
+ "onmouseup",
206
+ "onmouseover",
207
+ "onmouseout",
208
+ "onkeypress",
209
+ "onkeydown",
210
+ "onkeyup",
211
+ ]
159
212
  ATTRS = [COREATTRS, I18N, EVENTS]
160
213
  CELLHALIGN = ["align", "char", "charoff"]
161
214
  CELLVALIGN = ["valign"]
@@ -165,9 +218,22 @@ module Nokogiri
165
218
  CORE_ATTRS = COREATTRS
166
219
  I18N_ATTRS = I18N
167
220
 
168
- A_ATTRS = [ATTRS, "charset", "type", "name",
169
- "href", "hreflang", "rel", "rev", "accesskey", "shape",
170
- "coords", "tabindex", "onfocus", "onblur",]
221
+ A_ATTRS = [
222
+ ATTRS,
223
+ "charset",
224
+ "type",
225
+ "name",
226
+ "href",
227
+ "hreflang",
228
+ "rel",
229
+ "rev",
230
+ "accesskey",
231
+ "shape",
232
+ "coords",
233
+ "tabindex",
234
+ "onfocus",
235
+ "onblur",
236
+ ]
171
237
  TARGET_ATTR = ["target"]
172
238
  ROWS_COLS_ATTR = ["rows", "cols"]
173
239
  ALT_ATTR = ["alt"]
@@ -177,19 +243,51 @@ module Nokogiri
177
243
  INLINE_P = [INLINE, "p"]
178
244
 
179
245
  FLOW_PARAM = [FLOW, "param"]
180
- APPLET_ATTRS = [COREATTRS, "codebase",
181
- "archive", "alt", "name", "height", "width", "align",
182
- "hspace", "vspace",]
183
- AREA_ATTRS = ["shape", "coords", "href", "nohref",
184
- "tabindex", "accesskey", "onfocus", "onblur",]
246
+ APPLET_ATTRS = [
247
+ COREATTRS,
248
+ "codebase",
249
+ "archive",
250
+ "alt",
251
+ "name",
252
+ "height",
253
+ "width",
254
+ "align",
255
+ "hspace",
256
+ "vspace",
257
+ ]
258
+ AREA_ATTRS = [
259
+ "shape",
260
+ "coords",
261
+ "href",
262
+ "nohref",
263
+ "tabindex",
264
+ "accesskey",
265
+ "onfocus",
266
+ "onblur",
267
+ ]
185
268
  BASEFONT_ATTRS = ["id", "size", "color", "face"]
186
269
  QUOTE_ATTRS = [ATTRS, "cite"]
187
270
  BODY_CONTENTS = [FLOW, "ins", "del"]
188
271
  BODY_ATTRS = [ATTRS, "onload", "onunload"]
189
- BODY_DEPR = ["background", "bgcolor", "text",
190
- "link", "vlink", "alink",]
191
- BUTTON_ATTRS = [ATTRS, "name", "value", "type",
192
- "disabled", "tabindex", "accesskey", "onfocus", "onblur",]
272
+ BODY_DEPR = [
273
+ "background",
274
+ "bgcolor",
275
+ "text",
276
+ "link",
277
+ "vlink",
278
+ "alink",
279
+ ]
280
+ BUTTON_ATTRS = [
281
+ ATTRS,
282
+ "name",
283
+ "value",
284
+ "type",
285
+ "disabled",
286
+ "tabindex",
287
+ "accesskey",
288
+ "onfocus",
289
+ "onblur",
290
+ ]
193
291
 
194
292
  COL_ATTRS = [ATTRS, "span", "width", CELLHALIGN, CELLVALIGN]
195
293
  COL_ELT = ["col"]
@@ -200,40 +298,139 @@ module Nokogiri
200
298
  LABEL_ATTR = ["label"]
201
299
  FIELDSET_CONTENTS = [FLOW, "legend"]
202
300
  FONT_ATTRS = [COREATTRS, I18N, "size", "color", "face"]
203
- FORM_CONTENTS = [HEADING, LIST, INLINE, "pre", "p", "div", "center",
204
- "noscript", "noframes", "blockquote", "isindex", "hr",
205
- "table", "fieldset", "address",]
206
- FORM_ATTRS = [ATTRS, "method", "enctype", "accept", "name", "onsubmit",
207
- "onreset", "accept-charset",]
208
- FRAME_ATTRS = [COREATTRS, "longdesc", "name", "src", "frameborder",
209
- "marginwidth", "marginheight", "noresize", "scrolling",]
301
+ FORM_CONTENTS = [
302
+ HEADING,
303
+ LIST,
304
+ INLINE,
305
+ "pre",
306
+ "p",
307
+ "div",
308
+ "center",
309
+ "noscript",
310
+ "noframes",
311
+ "blockquote",
312
+ "isindex",
313
+ "hr",
314
+ "table",
315
+ "fieldset",
316
+ "address",
317
+ ]
318
+ FORM_ATTRS = [
319
+ ATTRS,
320
+ "method",
321
+ "enctype",
322
+ "accept",
323
+ "name",
324
+ "onsubmit",
325
+ "onreset",
326
+ "accept-charset",
327
+ ]
328
+ FRAME_ATTRS = [
329
+ COREATTRS,
330
+ "longdesc",
331
+ "name",
332
+ "src",
333
+ "frameborder",
334
+ "marginwidth",
335
+ "marginheight",
336
+ "noresize",
337
+ "scrolling",
338
+ ]
210
339
  FRAMESET_ATTRS = [COREATTRS, "rows", "cols", "onload", "onunload"]
211
340
  FRAMESET_CONTENTS = ["frameset", "frame", "noframes"]
212
341
  HEAD_ATTRS = [I18N, "profile"]
213
- HEAD_CONTENTS = ["title", "isindex", "base", "script", "style", "meta",
214
- "link", "object",]
342
+ HEAD_CONTENTS = [
343
+ "title",
344
+ "isindex",
345
+ "base",
346
+ "script",
347
+ "style",
348
+ "meta",
349
+ "link",
350
+ "object",
351
+ ]
215
352
  HR_DEPR = ["align", "noshade", "size", "width"]
216
353
  VERSION_ATTR = ["version"]
217
354
  HTML_CONTENT = ["head", "body", "frameset"]
218
- IFRAME_ATTRS = [COREATTRS, "longdesc", "name", "src", "frameborder",
219
- "marginwidth", "marginheight", "scrolling", "align",
220
- "height", "width",]
221
- IMG_ATTRS = [ATTRS, "longdesc", "name", "height", "width", "usemap",
222
- "ismap",]
223
- EMBED_ATTRS = [COREATTRS, "align", "alt", "border", "code", "codebase",
224
- "frameborder", "height", "hidden", "hspace", "name",
225
- "palette", "pluginspace", "pluginurl", "src", "type",
226
- "units", "vspace", "width",]
227
- INPUT_ATTRS = [ATTRS, "type", "name", "value", "checked", "disabled",
228
- "readonly", "size", "maxlength", "src", "alt", "usemap",
229
- "ismap", "tabindex", "accesskey", "onfocus", "onblur",
230
- "onselect", "onchange", "accept",]
355
+ IFRAME_ATTRS = [
356
+ COREATTRS,
357
+ "longdesc",
358
+ "name",
359
+ "src",
360
+ "frameborder",
361
+ "marginwidth",
362
+ "marginheight",
363
+ "scrolling",
364
+ "align",
365
+ "height",
366
+ "width",
367
+ ]
368
+ IMG_ATTRS = [
369
+ ATTRS,
370
+ "longdesc",
371
+ "name",
372
+ "height",
373
+ "width",
374
+ "usemap",
375
+ "ismap",
376
+ ]
377
+ EMBED_ATTRS = [
378
+ COREATTRS,
379
+ "align",
380
+ "alt",
381
+ "border",
382
+ "code",
383
+ "codebase",
384
+ "frameborder",
385
+ "height",
386
+ "hidden",
387
+ "hspace",
388
+ "name",
389
+ "palette",
390
+ "pluginspace",
391
+ "pluginurl",
392
+ "src",
393
+ "type",
394
+ "units",
395
+ "vspace",
396
+ "width",
397
+ ]
398
+ INPUT_ATTRS = [
399
+ ATTRS,
400
+ "type",
401
+ "name",
402
+ "value",
403
+ "checked",
404
+ "disabled",
405
+ "readonly",
406
+ "size",
407
+ "maxlength",
408
+ "src",
409
+ "alt",
410
+ "usemap",
411
+ "ismap",
412
+ "tabindex",
413
+ "accesskey",
414
+ "onfocus",
415
+ "onblur",
416
+ "onselect",
417
+ "onchange",
418
+ "accept",
419
+ ]
231
420
  PROMPT_ATTRS = [COREATTRS, I18N, "prompt"]
232
421
  LABEL_ATTRS = [ATTRS, "for", "accesskey", "onfocus", "onblur"]
233
422
  LEGEND_ATTRS = [ATTRS, "accesskey"]
234
423
  ALIGN_ATTR = ["align"]
235
- LINK_ATTRS = [ATTRS, "charset", "href", "hreflang", "type", "rel", "rev",
236
- "media",]
424
+ LINK_ATTRS = [
425
+ ATTRS,
426
+ "charset",
427
+ "href",
428
+ "hreflang",
429
+ "type",
430
+ "rel",
431
+ "rev",
432
+ "media",
433
+ ]
237
434
  MAP_CONTENTS = [BLOCK, "area"]
238
435
  NAME_ATTR = ["name"]
239
436
  ACTION_ATTR = ["action"]
@@ -243,9 +440,22 @@ module Nokogiri
243
440
  TYPE_ATTR = ["type"]
244
441
  NOFRAMES_CONTENT = ["body", FLOW, MODIFIER]
245
442
  OBJECT_CONTENTS = [FLOW, "param"]
246
- OBJECT_ATTRS = [ATTRS, "declare", "classid", "codebase", "data", "type",
247
- "codetype", "archive", "standby", "height", "width",
248
- "usemap", "name", "tabindex",]
443
+ OBJECT_ATTRS = [
444
+ ATTRS,
445
+ "declare",
446
+ "classid",
447
+ "codebase",
448
+ "data",
449
+ "type",
450
+ "codetype",
451
+ "archive",
452
+ "standby",
453
+ "height",
454
+ "width",
455
+ "usemap",
456
+ "name",
457
+ "tabindex",
458
+ ]
249
459
  OBJECT_DEPR = ["align", "border", "hspace", "vspace"]
250
460
  OL_ATTRS = ["type", "compact", "start"]
251
461
  OPTION_ELT = ["option"]
@@ -253,27 +463,85 @@ module Nokogiri
253
463
  OPTION_ATTRS = [ATTRS, "disabled", "label", "selected", "value"]
254
464
  PARAM_ATTRS = ["id", "value", "valuetype", "type"]
255
465
  WIDTH_ATTR = ["width"]
256
- PRE_CONTENT = [PHRASE, "tt", "i", "b", "u", "s", "strike", "a", "br",
257
- "script", "map", "q", "span", "bdo", "iframe",]
466
+ PRE_CONTENT = [
467
+ PHRASE,
468
+ "tt",
469
+ "i",
470
+ "b",
471
+ "u",
472
+ "s",
473
+ "strike",
474
+ "a",
475
+ "br",
476
+ "script",
477
+ "map",
478
+ "q",
479
+ "span",
480
+ "bdo",
481
+ "iframe",
482
+ ]
258
483
  SCRIPT_ATTRS = ["charset", "src", "defer", "event", "for"]
259
484
  LANGUAGE_ATTR = ["language"]
260
485
  SELECT_CONTENT = ["optgroup", "option"]
261
- SELECT_ATTRS = [ATTRS, "name", "size", "multiple", "disabled", "tabindex",
262
- "onfocus", "onblur", "onchange",]
486
+ SELECT_ATTRS = [
487
+ ATTRS,
488
+ "name",
489
+ "size",
490
+ "multiple",
491
+ "disabled",
492
+ "tabindex",
493
+ "onfocus",
494
+ "onblur",
495
+ "onchange",
496
+ ]
263
497
  STYLE_ATTRS = [I18N, "media", "title"]
264
- TABLE_ATTRS = [ATTRS, "summary", "width", "border", "frame", "rules",
265
- "cellspacing", "cellpadding", "datapagesize",]
498
+ TABLE_ATTRS = [
499
+ ATTRS,
500
+ "summary",
501
+ "width",
502
+ "border",
503
+ "frame",
504
+ "rules",
505
+ "cellspacing",
506
+ "cellpadding",
507
+ "datapagesize",
508
+ ]
266
509
  TABLE_DEPR = ["align", "bgcolor"]
267
- TABLE_CONTENTS = ["caption", "col", "colgroup", "thead", "tfoot", "tbody",
268
- "tr",]
510
+ TABLE_CONTENTS = [
511
+ "caption",
512
+ "col",
513
+ "colgroup",
514
+ "thead",
515
+ "tfoot",
516
+ "tbody",
517
+ "tr",
518
+ ]
269
519
  TR_ELT = ["tr"]
270
520
  TALIGN_ATTRS = [ATTRS, CELLHALIGN, CELLVALIGN]
271
521
  TH_TD_DEPR = ["nowrap", "bgcolor", "width", "height"]
272
- TH_TD_ATTR = [ATTRS, "abbr", "axis", "headers", "scope", "rowspan",
273
- "colspan", CELLHALIGN, CELLVALIGN,]
274
- TEXTAREA_ATTRS = [ATTRS, "name", "disabled", "readonly", "tabindex",
275
- "accesskey", "onfocus", "onblur", "onselect",
276
- "onchange",]
522
+ TH_TD_ATTR = [
523
+ ATTRS,
524
+ "abbr",
525
+ "axis",
526
+ "headers",
527
+ "scope",
528
+ "rowspan",
529
+ "colspan",
530
+ CELLHALIGN,
531
+ CELLVALIGN,
532
+ ]
533
+ TEXTAREA_ATTRS = [
534
+ ATTRS,
535
+ "name",
536
+ "disabled",
537
+ "readonly",
538
+ "tabindex",
539
+ "accesskey",
540
+ "onfocus",
541
+ "onblur",
542
+ "onselect",
543
+ "onchange",
544
+ ]
277
545
  TR_CONTENTS = ["th", "td"]
278
546
  BGCOLOR_ATTR = ["bgcolor"]
279
547
  LI_ELT = ["li"]
@@ -281,295 +549,1489 @@ module Nokogiri
281
549
  DIR_ATTR = ["dir"]
282
550
 
283
551
  [
284
- ["a", false, false, false, false, false, :any, true,
285
- "anchor ",
286
- HTML_INLINE, nil, A_ATTRS, TARGET_ATTR, [],],
287
- ["abbr", false, false, false, false, false, :any, true,
288
- "abbreviated form",
289
- HTML_INLINE, nil, HTML_ATTRS, [], [],],
290
- ["acronym", false, false, false, false, false, :any, true, "",
291
- HTML_INLINE, nil, HTML_ATTRS, [], [],],
292
- ["address", false, false, false, false, false, :any, false,
293
- "information on author",
294
- INLINE_P, nil, HTML_ATTRS, [], [],],
295
- ["applet", false, false, false, false, true, :loose, true,
296
- "java applet ",
297
- FLOW_PARAM, nil, [], APPLET_ATTRS, [],],
298
- ["area", false, true, true, true, false, :any, false,
299
- "client-side image map area ",
300
- EMPTY, nil, AREA_ATTRS, TARGET_ATTR, ALT_ATTR,],
301
- ["b", false, true, false, false, false, :any, true,
302
- "bold text style",
303
- HTML_INLINE, nil, HTML_ATTRS, [], [],],
304
- ["base", false, true, true, true, false, :any, false,
305
- "document base uri ",
306
- EMPTY, nil, [], TARGET_ATTR, HREF_ATTRS,],
307
- ["basefont", false, true, true, true, true, :loose, true,
308
- "base font size ",
309
- EMPTY, nil, [], BASEFONT_ATTRS, [],],
310
- ["bdo", false, false, false, false, false, :any, true,
311
- "i18n bidi over-ride ",
312
- HTML_INLINE, nil, CORE_I18N_ATTRS, [], DIR_ATTR,],
313
- ["big", false, true, false, false, false, :any, true,
314
- "large text style",
315
- HTML_INLINE, nil, HTML_ATTRS, [], [],],
316
- ["blockquote", false, false, false, false, false, :any, false,
317
- "long quotation ",
318
- HTML_FLOW, nil, QUOTE_ATTRS, [], [],],
319
- ["body", true, true, false, false, false, :any, false,
320
- "document body ",
321
- BODY_CONTENTS, "div", BODY_ATTRS, BODY_DEPR, [],],
322
- ["br", false, true, true, true, false, :any, true,
323
- "forced line break ",
324
- EMPTY, nil, CORE_ATTRS, CLEAR_ATTRS, [],],
325
- ["button", false, false, false, false, false, :any, true,
326
- "push button ",
327
- [HTML_FLOW, MODIFIER], nil, BUTTON_ATTRS, [], [],],
328
- ["caption", false, false, false, false, false, :any, false,
329
- "table caption ",
330
- HTML_INLINE, nil, HTML_ATTRS, [], [],],
331
- ["center", false, true, false, false, true, :loose, false,
332
- "shorthand for div align=center ",
333
- HTML_FLOW, nil, [], HTML_ATTRS, [],],
334
- ["cite", false, false, false, false, false, :any, true, "citation",
335
- HTML_INLINE, nil, HTML_ATTRS, [], [],],
336
- ["code", false, false, false, false, false, :any, true,
337
- "computer code fragment",
338
- HTML_INLINE, nil, HTML_ATTRS, [], [],],
339
- ["col", false, true, true, true, false, :any, false, "table column ",
340
- EMPTY, nil, COL_ATTRS, [], [],],
341
- ["colgroup", false, true, false, false, false, :any, false,
342
- "table column group ",
343
- COL_ELT, "col", COL_ATTRS, [], [],],
344
- ["dd", false, true, false, false, false, :any, false,
345
- "definition description ",
346
- HTML_FLOW, nil, HTML_ATTRS, [], [],],
347
- ["del", false, false, false, false, false, :any, true,
348
- "deleted text ",
349
- HTML_FLOW, nil, EDIT_ATTRS, [], [],],
350
- ["dfn", false, false, false, false, false, :any, true,
351
- "instance definition",
352
- HTML_INLINE, nil, HTML_ATTRS, [], [],],
353
- ["dir", false, false, false, false, true, :loose, false,
354
- "directory list",
355
- BLOCKLI_ELT, "li", [], COMPACT_ATTRS, [],],
356
- ["div", false, false, false, false, false, :any, false,
357
- "generic language/style container",
358
- HTML_FLOW, nil, HTML_ATTRS, ALIGN_ATTR, [],],
359
- ["dl", false, false, false, false, false, :any, false,
360
- "definition list ",
361
- DL_CONTENTS, "dd", HTML_ATTRS, COMPACT_ATTR, [],],
362
- ["dt", false, true, false, false, false, :any, false,
363
- "definition term ",
364
- HTML_INLINE, nil, HTML_ATTRS, [], [],],
365
- ["em", false, true, false, false, false, :any, true,
366
- "emphasis",
367
- HTML_INLINE, nil, HTML_ATTRS, [], [],],
368
- ["embed", false, true, false, false, true, :loose, true,
369
- "generic embedded object ",
370
- EMPTY, nil, EMBED_ATTRS, [], [],],
371
- ["fieldset", false, false, false, false, false, :any, false,
372
- "form control group ",
373
- FIELDSET_CONTENTS, nil, HTML_ATTRS, [], [],],
374
- ["font", false, true, false, false, true, :loose, true,
375
- "local change to font ",
376
- HTML_INLINE, nil, [], FONT_ATTRS, [],],
377
- ["form", false, false, false, false, false, :any, false,
378
- "interactive form ",
379
- FORM_CONTENTS, "fieldset", FORM_ATTRS, TARGET_ATTR, ACTION_ATTR,],
380
- ["frame", false, true, true, true, false, :frameset, false,
381
- "subwindow ",
382
- EMPTY, nil, [], FRAME_ATTRS, [],],
383
- ["frameset", false, false, false, false, false, :frameset, false,
384
- "window subdivision",
385
- FRAMESET_CONTENTS, "noframes", [], FRAMESET_ATTRS, [],],
386
- ["htrue", false, false, false, false, false, :any, false,
387
- "heading ",
388
- HTML_INLINE, nil, HTML_ATTRS, ALIGN_ATTR, [],],
389
- ["htrue", false, false, false, false, false, :any, false,
390
- "heading ",
391
- HTML_INLINE, nil, HTML_ATTRS, ALIGN_ATTR, [],],
392
- ["htrue", false, false, false, false, false, :any, false,
393
- "heading ",
394
- HTML_INLINE, nil, HTML_ATTRS, ALIGN_ATTR, [],],
395
- ["h4", false, false, false, false, false, :any, false,
396
- "heading ",
397
- HTML_INLINE, nil, HTML_ATTRS, ALIGN_ATTR, [],],
398
- ["h5", false, false, false, false, false, :any, false,
399
- "heading ",
400
- HTML_INLINE, nil, HTML_ATTRS, ALIGN_ATTR, [],],
401
- ["h6", false, false, false, false, false, :any, false,
402
- "heading ",
403
- HTML_INLINE, nil, HTML_ATTRS, ALIGN_ATTR, [],],
404
- ["head", true, true, false, false, false, :any, false,
405
- "document head ",
406
- HEAD_CONTENTS, nil, HEAD_ATTRS, [], [],],
407
- ["hr", false, true, true, true, false, :any, false,
408
- "horizontal rule ",
409
- EMPTY, nil, HTML_ATTRS, HR_DEPR, [],],
410
- ["html", true, true, false, false, false, :any, false,
411
- "document root element ",
412
- HTML_CONTENT, nil, I18N_ATTRS, VERSION_ATTR, [],],
413
- ["i", false, true, false, false, false, :any, true,
414
- "italic text style",
415
- HTML_INLINE, nil, HTML_ATTRS, [], [],],
416
- ["iframe", false, false, false, false, false, :any, true,
417
- "inline subwindow ",
418
- HTML_FLOW, nil, [], IFRAME_ATTRS, [],],
419
- ["img", false, true, true, true, false, :any, true,
420
- "embedded image ",
421
- EMPTY, nil, IMG_ATTRS, ALIGN_ATTR, SRC_ALT_ATTRS,],
422
- ["input", false, true, true, true, false, :any, true,
423
- "form control ",
424
- EMPTY, nil, INPUT_ATTRS, ALIGN_ATTR, [],],
425
- ["ins", false, false, false, false, false, :any, true,
426
- "inserted text",
427
- HTML_FLOW, nil, EDIT_ATTRS, [], [],],
428
- ["isindex", false, true, true, true, true, :loose, false,
429
- "single line prompt ",
430
- EMPTY, nil, [], PROMPT_ATTRS, [],],
431
- ["kbd", false, false, false, false, false, :any, true,
432
- "text to be entered by the user",
433
- HTML_INLINE, nil, HTML_ATTRS, [], [],],
434
- ["label", false, false, false, false, false, :any, true,
435
- "form field label text ",
436
- [HTML_INLINE, MODIFIER], nil, LABEL_ATTRS, [], [],],
437
- ["legend", false, false, false, false, false, :any, false,
438
- "fieldset legend ",
439
- HTML_INLINE, nil, LEGEND_ATTRS, ALIGN_ATTR, [],],
440
- ["li", false, true, true, false, false, :any, false,
441
- "list item ",
442
- HTML_FLOW, nil, HTML_ATTRS, [], [],],
443
- ["link", false, true, true, true, false, :any, false,
444
- "a media-independent link ",
445
- EMPTY, nil, LINK_ATTRS, TARGET_ATTR, [],],
446
- ["map", false, false, false, false, false, :any, true,
447
- "client-side image map ",
448
- MAP_CONTENTS, nil, HTML_ATTRS, [], NAME_ATTR,],
449
- ["menu", false, false, false, false, true, :loose, false,
450
- "menu list ",
451
- BLOCKLI_ELT, nil, [], COMPACT_ATTRS, [],],
452
- ["meta", false, true, true, true, false, :any, false,
453
- "generic metainformation ",
454
- EMPTY, nil, META_ATTRS, [], CONTENT_ATTR,],
455
- ["noframes", false, false, false, false, false, :frameset, false,
456
- "alternate content container for non frame-based rendering ",
457
- NOFRAMES_CONTENT, "body", HTML_ATTRS, [], [],],
458
- ["noscript", false, false, false, false, false, :any, false,
459
- "alternate content container for non script-based rendering ",
460
- HTML_FLOW, "div", HTML_ATTRS, [], [],],
461
- ["object", false, false, false, false, false, :any, true,
462
- "generic embedded object ",
463
- OBJECT_CONTENTS, "div", OBJECT_ATTRS, OBJECT_DEPR, [],],
464
- ["ol", false, false, false, false, false, :any, false,
465
- "ordered list ",
466
- LI_ELT, "li", HTML_ATTRS, OL_ATTRS, [],],
467
- ["optgroup", false, false, false, false, false, :any, false,
468
- "option group ",
469
- OPTION_ELT, "option", OPTGROUP_ATTRS, [], LABEL_ATTR,],
470
- ["option", false, true, false, false, false, :any, false,
471
- "selectable choice ",
472
- HTML_PCDATA, nil, OPTION_ATTRS, [], [],],
473
- ["p", false, true, false, false, false, :any, false,
474
- "paragraph ",
475
- HTML_INLINE, nil, HTML_ATTRS, ALIGN_ATTR, [],],
476
- ["param", false, true, true, true, false, :any, false,
477
- "named property value ",
478
- EMPTY, nil, PARAM_ATTRS, [], NAME_ATTR,],
479
- ["pre", false, false, false, false, false, :any, false,
480
- "preformatted text ",
481
- PRE_CONTENT, nil, HTML_ATTRS, WIDTH_ATTR, [],],
482
- ["q", false, false, false, false, false, :any, true,
483
- "short inline quotation ",
484
- HTML_INLINE, nil, QUOTE_ATTRS, [], [],],
485
- ["s", false, true, false, false, true, :loose, true,
486
- "strike-through text style",
487
- HTML_INLINE, nil, [], HTML_ATTRS, [],],
488
- ["samp", false, false, false, false, false, :any, true,
489
- "sample program output, scripts, etc.",
490
- HTML_INLINE, nil, HTML_ATTRS, [], [],],
491
- ["script", false, false, false, false, false, :any, true,
492
- "script statements ",
493
- HTML_CDATA, nil, SCRIPT_ATTRS, LANGUAGE_ATTR, TYPE_ATTR,],
494
- ["select", false, false, false, false, false, :any, true,
495
- "option selector ",
496
- SELECT_CONTENT, nil, SELECT_ATTRS, [], [],],
497
- ["small", false, true, false, false, false, :any, true,
498
- "small text style",
499
- HTML_INLINE, nil, HTML_ATTRS, [], [],],
500
- ["span", false, false, false, false, false, :any, true,
501
- "generic language/style container ",
502
- HTML_INLINE, nil, HTML_ATTRS, [], [],],
503
- ["strike", false, true, false, false, true, :loose, true,
504
- "strike-through text",
505
- HTML_INLINE, nil, [], HTML_ATTRS, [],],
506
- ["strong", false, true, false, false, false, :any, true,
507
- "strong emphasis",
508
- HTML_INLINE, nil, HTML_ATTRS, [], [],],
509
- ["style", false, false, false, false, false, :any, false,
510
- "style info ",
511
- HTML_CDATA, nil, STYLE_ATTRS, [], TYPE_ATTR,],
512
- ["sub", false, true, false, false, false, :any, true,
513
- "subscript",
514
- HTML_INLINE, nil, HTML_ATTRS, [], [],],
515
- ["sup", false, true, false, false, false, :any, true,
516
- "superscript ",
517
- HTML_INLINE, nil, HTML_ATTRS, [], [],],
518
- ["table", false, false, false, false, false, :any, false,
519
- "",
520
- TABLE_CONTENTS, "tr", TABLE_ATTRS, TABLE_DEPR, [],],
521
- ["tbody", true, false, false, false, false, :any, false,
522
- "table body ",
523
- TR_ELT, "tr", TALIGN_ATTRS, [], [],],
524
- ["td", false, false, false, false, false, :any, false,
525
- "table data cell",
526
- HTML_FLOW, nil, TH_TD_ATTR, TH_TD_DEPR, [],],
527
- ["textarea", false, false, false, false, false, :any, true,
528
- "multi-line text field ",
529
- HTML_PCDATA, nil, TEXTAREA_ATTRS, [], ROWS_COLS_ATTR,],
530
- ["tfoot", false, true, false, false, false, :any, false,
531
- "table footer ",
532
- TR_ELT, "tr", TALIGN_ATTRS, [], [],],
533
- ["th", false, true, false, false, false, :any, false,
534
- "table header cell",
535
- HTML_FLOW, nil, TH_TD_ATTR, TH_TD_DEPR, [],],
536
- ["thead", false, true, false, false, false, :any, false,
537
- "table header ",
538
- TR_ELT, "tr", TALIGN_ATTRS, [], [],],
539
- ["title", false, false, false, false, false, :any, false,
540
- "document title ",
541
- HTML_PCDATA, nil, I18N_ATTRS, [], [],],
542
- ["tr", false, false, false, false, false, :any, false,
543
- "table row ",
544
- TR_CONTENTS, "td", TALIGN_ATTRS, BGCOLOR_ATTR, [],],
545
- ["tt", false, true, false, false, false, :any, true,
546
- "teletype or monospaced text style",
547
- HTML_INLINE, nil, HTML_ATTRS, [], [],],
548
- ["u", false, true, false, false, true, :loose, true,
549
- "underlined text style",
550
- HTML_INLINE, nil, [], HTML_ATTRS, [],],
551
- ["ul", false, false, false, false, false, :any, false,
552
- "unordered list ",
553
- LI_ELT, "li", HTML_ATTRS, UL_DEPR, [],],
554
- ["var", false, false, false, false, false, :any, true,
555
- "instance of a variable or program argument",
556
- HTML_INLINE, nil, HTML_ATTRS, [], [],],
552
+ [
553
+ "a",
554
+ false,
555
+ false,
556
+ false,
557
+ false,
558
+ false,
559
+ :any,
560
+ true,
561
+ "anchor ",
562
+ HTML_INLINE,
563
+ nil,
564
+ A_ATTRS,
565
+ TARGET_ATTR,
566
+ [],
567
+ ],
568
+ [
569
+ "abbr",
570
+ false,
571
+ false,
572
+ false,
573
+ false,
574
+ false,
575
+ :any,
576
+ true,
577
+ "abbreviated form",
578
+ HTML_INLINE,
579
+ nil,
580
+ HTML_ATTRS,
581
+ [],
582
+ [],
583
+ ],
584
+ [
585
+ "acronym",
586
+ false,
587
+ false,
588
+ false,
589
+ false,
590
+ false,
591
+ :any,
592
+ true,
593
+ "",
594
+ HTML_INLINE,
595
+ nil,
596
+ HTML_ATTRS,
597
+ [],
598
+ [],
599
+ ],
600
+ [
601
+ "address",
602
+ false,
603
+ false,
604
+ false,
605
+ false,
606
+ false,
607
+ :any,
608
+ false,
609
+ "information on author",
610
+ INLINE_P,
611
+ nil,
612
+ HTML_ATTRS,
613
+ [],
614
+ [],
615
+ ],
616
+ [
617
+ "applet",
618
+ false,
619
+ false,
620
+ false,
621
+ false,
622
+ true,
623
+ :loose,
624
+ true,
625
+ "java applet ",
626
+ FLOW_PARAM,
627
+ nil,
628
+ [],
629
+ APPLET_ATTRS,
630
+ [],
631
+ ],
632
+ [
633
+ "area",
634
+ false,
635
+ true,
636
+ true,
637
+ true,
638
+ false,
639
+ :any,
640
+ false,
641
+ "client-side image map area ",
642
+ EMPTY,
643
+ nil,
644
+ AREA_ATTRS,
645
+ TARGET_ATTR,
646
+ ALT_ATTR,
647
+ ],
648
+ [
649
+ "b",
650
+ false,
651
+ true,
652
+ false,
653
+ false,
654
+ false,
655
+ :any,
656
+ true,
657
+ "bold text style",
658
+ HTML_INLINE,
659
+ nil,
660
+ HTML_ATTRS,
661
+ [],
662
+ [],
663
+ ],
664
+ [
665
+ "base",
666
+ false,
667
+ true,
668
+ true,
669
+ true,
670
+ false,
671
+ :any,
672
+ false,
673
+ "document base uri ",
674
+ EMPTY,
675
+ nil,
676
+ [],
677
+ TARGET_ATTR,
678
+ HREF_ATTRS,
679
+ ],
680
+ [
681
+ "basefont",
682
+ false,
683
+ true,
684
+ true,
685
+ true,
686
+ true,
687
+ :loose,
688
+ true,
689
+ "base font size ",
690
+ EMPTY,
691
+ nil,
692
+ [],
693
+ BASEFONT_ATTRS,
694
+ [],
695
+ ],
696
+ [
697
+ "bdo",
698
+ false,
699
+ false,
700
+ false,
701
+ false,
702
+ false,
703
+ :any,
704
+ true,
705
+ "i18n bidi over-ride ",
706
+ HTML_INLINE,
707
+ nil,
708
+ CORE_I18N_ATTRS,
709
+ [],
710
+ DIR_ATTR,
711
+ ],
712
+ [
713
+ "big",
714
+ false,
715
+ true,
716
+ false,
717
+ false,
718
+ false,
719
+ :any,
720
+ true,
721
+ "large text style",
722
+ HTML_INLINE,
723
+ nil,
724
+ HTML_ATTRS,
725
+ [],
726
+ [],
727
+ ],
728
+ [
729
+ "blockquote",
730
+ false,
731
+ false,
732
+ false,
733
+ false,
734
+ false,
735
+ :any,
736
+ false,
737
+ "long quotation ",
738
+ HTML_FLOW,
739
+ nil,
740
+ QUOTE_ATTRS,
741
+ [],
742
+ [],
743
+ ],
744
+ [
745
+ "body",
746
+ true,
747
+ true,
748
+ false,
749
+ false,
750
+ false,
751
+ :any,
752
+ false,
753
+ "document body ",
754
+ BODY_CONTENTS,
755
+ "div",
756
+ BODY_ATTRS,
757
+ BODY_DEPR,
758
+ [],
759
+ ],
760
+ [
761
+ "br",
762
+ false,
763
+ true,
764
+ true,
765
+ true,
766
+ false,
767
+ :any,
768
+ true,
769
+ "forced line break ",
770
+ EMPTY,
771
+ nil,
772
+ CORE_ATTRS,
773
+ CLEAR_ATTRS,
774
+ [],
775
+ ],
776
+ [
777
+ "button",
778
+ false,
779
+ false,
780
+ false,
781
+ false,
782
+ false,
783
+ :any,
784
+ true,
785
+ "push button ",
786
+ [HTML_FLOW, MODIFIER],
787
+ nil,
788
+ BUTTON_ATTRS,
789
+ [],
790
+ [],
791
+ ],
792
+ [
793
+ "caption",
794
+ false,
795
+ false,
796
+ false,
797
+ false,
798
+ false,
799
+ :any,
800
+ false,
801
+ "table caption ",
802
+ HTML_INLINE,
803
+ nil,
804
+ HTML_ATTRS,
805
+ [],
806
+ [],
807
+ ],
808
+ [
809
+ "center",
810
+ false,
811
+ true,
812
+ false,
813
+ false,
814
+ true,
815
+ :loose,
816
+ false,
817
+ "shorthand for div align=center ",
818
+ HTML_FLOW,
819
+ nil,
820
+ [],
821
+ HTML_ATTRS,
822
+ [],
823
+ ],
824
+ [
825
+ "cite",
826
+ false,
827
+ false,
828
+ false,
829
+ false,
830
+ false,
831
+ :any,
832
+ true,
833
+ "citation",
834
+ HTML_INLINE,
835
+ nil,
836
+ HTML_ATTRS,
837
+ [],
838
+ [],
839
+ ],
840
+ [
841
+ "code",
842
+ false,
843
+ false,
844
+ false,
845
+ false,
846
+ false,
847
+ :any,
848
+ true,
849
+ "computer code fragment",
850
+ HTML_INLINE,
851
+ nil,
852
+ HTML_ATTRS,
853
+ [],
854
+ [],
855
+ ],
856
+ [
857
+ "col",
858
+ false,
859
+ true,
860
+ true,
861
+ true,
862
+ false,
863
+ :any,
864
+ false,
865
+ "table column ",
866
+ EMPTY,
867
+ nil,
868
+ COL_ATTRS,
869
+ [],
870
+ [],
871
+ ],
872
+ [
873
+ "colgroup",
874
+ false,
875
+ true,
876
+ false,
877
+ false,
878
+ false,
879
+ :any,
880
+ false,
881
+ "table column group ",
882
+ COL_ELT,
883
+ "col",
884
+ COL_ATTRS,
885
+ [],
886
+ [],
887
+ ],
888
+ [
889
+ "dd",
890
+ false,
891
+ true,
892
+ false,
893
+ false,
894
+ false,
895
+ :any,
896
+ false,
897
+ "definition description ",
898
+ HTML_FLOW,
899
+ nil,
900
+ HTML_ATTRS,
901
+ [],
902
+ [],
903
+ ],
904
+ [
905
+ "del",
906
+ false,
907
+ false,
908
+ false,
909
+ false,
910
+ false,
911
+ :any,
912
+ true,
913
+ "deleted text ",
914
+ HTML_FLOW,
915
+ nil,
916
+ EDIT_ATTRS,
917
+ [],
918
+ [],
919
+ ],
920
+ [
921
+ "dfn",
922
+ false,
923
+ false,
924
+ false,
925
+ false,
926
+ false,
927
+ :any,
928
+ true,
929
+ "instance definition",
930
+ HTML_INLINE,
931
+ nil,
932
+ HTML_ATTRS,
933
+ [],
934
+ [],
935
+ ],
936
+ [
937
+ "dir",
938
+ false,
939
+ false,
940
+ false,
941
+ false,
942
+ true,
943
+ :loose,
944
+ false,
945
+ "directory list",
946
+ BLOCKLI_ELT,
947
+ "li",
948
+ [],
949
+ COMPACT_ATTRS,
950
+ [],
951
+ ],
952
+ [
953
+ "div",
954
+ false,
955
+ false,
956
+ false,
957
+ false,
958
+ false,
959
+ :any,
960
+ false,
961
+ "generic language/style container",
962
+ HTML_FLOW,
963
+ nil,
964
+ HTML_ATTRS,
965
+ ALIGN_ATTR,
966
+ [],
967
+ ],
968
+ [
969
+ "dl",
970
+ false,
971
+ false,
972
+ false,
973
+ false,
974
+ false,
975
+ :any,
976
+ false,
977
+ "definition list ",
978
+ DL_CONTENTS,
979
+ "dd",
980
+ HTML_ATTRS,
981
+ COMPACT_ATTR,
982
+ [],
983
+ ],
984
+ [
985
+ "dt",
986
+ false,
987
+ true,
988
+ false,
989
+ false,
990
+ false,
991
+ :any,
992
+ false,
993
+ "definition term ",
994
+ HTML_INLINE,
995
+ nil,
996
+ HTML_ATTRS,
997
+ [],
998
+ [],
999
+ ],
1000
+ [
1001
+ "em",
1002
+ false,
1003
+ true,
1004
+ false,
1005
+ false,
1006
+ false,
1007
+ :any,
1008
+ true,
1009
+ "emphasis",
1010
+ HTML_INLINE,
1011
+ nil,
1012
+ HTML_ATTRS,
1013
+ [],
1014
+ [],
1015
+ ],
1016
+ [
1017
+ "embed",
1018
+ false,
1019
+ true,
1020
+ false,
1021
+ false,
1022
+ true,
1023
+ :loose,
1024
+ true,
1025
+ "generic embedded object ",
1026
+ EMPTY,
1027
+ nil,
1028
+ EMBED_ATTRS,
1029
+ [],
1030
+ [],
1031
+ ],
1032
+ [
1033
+ "fieldset",
1034
+ false,
1035
+ false,
1036
+ false,
1037
+ false,
1038
+ false,
1039
+ :any,
1040
+ false,
1041
+ "form control group ",
1042
+ FIELDSET_CONTENTS,
1043
+ nil,
1044
+ HTML_ATTRS,
1045
+ [],
1046
+ [],
1047
+ ],
1048
+ [
1049
+ "font",
1050
+ false,
1051
+ true,
1052
+ false,
1053
+ false,
1054
+ true,
1055
+ :loose,
1056
+ true,
1057
+ "local change to font ",
1058
+ HTML_INLINE,
1059
+ nil,
1060
+ [],
1061
+ FONT_ATTRS,
1062
+ [],
1063
+ ],
1064
+ [
1065
+ "form",
1066
+ false,
1067
+ false,
1068
+ false,
1069
+ false,
1070
+ false,
1071
+ :any,
1072
+ false,
1073
+ "interactive form ",
1074
+ FORM_CONTENTS,
1075
+ "fieldset",
1076
+ FORM_ATTRS,
1077
+ TARGET_ATTR,
1078
+ ACTION_ATTR,
1079
+ ],
1080
+ [
1081
+ "frame",
1082
+ false,
1083
+ true,
1084
+ true,
1085
+ true,
1086
+ false,
1087
+ :frameset,
1088
+ false,
1089
+ "subwindow ",
1090
+ EMPTY,
1091
+ nil,
1092
+ [],
1093
+ FRAME_ATTRS,
1094
+ [],
1095
+ ],
1096
+ [
1097
+ "frameset",
1098
+ false,
1099
+ false,
1100
+ false,
1101
+ false,
1102
+ false,
1103
+ :frameset,
1104
+ false,
1105
+ "window subdivision",
1106
+ FRAMESET_CONTENTS,
1107
+ "noframes",
1108
+ [],
1109
+ FRAMESET_ATTRS,
1110
+ [],
1111
+ ],
1112
+ [
1113
+ "htrue",
1114
+ false,
1115
+ false,
1116
+ false,
1117
+ false,
1118
+ false,
1119
+ :any,
1120
+ false,
1121
+ "heading ",
1122
+ HTML_INLINE,
1123
+ nil,
1124
+ HTML_ATTRS,
1125
+ ALIGN_ATTR,
1126
+ [],
1127
+ ],
1128
+ [
1129
+ "htrue",
1130
+ false,
1131
+ false,
1132
+ false,
1133
+ false,
1134
+ false,
1135
+ :any,
1136
+ false,
1137
+ "heading ",
1138
+ HTML_INLINE,
1139
+ nil,
1140
+ HTML_ATTRS,
1141
+ ALIGN_ATTR,
1142
+ [],
1143
+ ],
1144
+ [
1145
+ "htrue",
1146
+ false,
1147
+ false,
1148
+ false,
1149
+ false,
1150
+ false,
1151
+ :any,
1152
+ false,
1153
+ "heading ",
1154
+ HTML_INLINE,
1155
+ nil,
1156
+ HTML_ATTRS,
1157
+ ALIGN_ATTR,
1158
+ [],
1159
+ ],
1160
+ [
1161
+ "h4",
1162
+ false,
1163
+ false,
1164
+ false,
1165
+ false,
1166
+ false,
1167
+ :any,
1168
+ false,
1169
+ "heading ",
1170
+ HTML_INLINE,
1171
+ nil,
1172
+ HTML_ATTRS,
1173
+ ALIGN_ATTR,
1174
+ [],
1175
+ ],
1176
+ [
1177
+ "h5",
1178
+ false,
1179
+ false,
1180
+ false,
1181
+ false,
1182
+ false,
1183
+ :any,
1184
+ false,
1185
+ "heading ",
1186
+ HTML_INLINE,
1187
+ nil,
1188
+ HTML_ATTRS,
1189
+ ALIGN_ATTR,
1190
+ [],
1191
+ ],
1192
+ [
1193
+ "h6",
1194
+ false,
1195
+ false,
1196
+ false,
1197
+ false,
1198
+ false,
1199
+ :any,
1200
+ false,
1201
+ "heading ",
1202
+ HTML_INLINE,
1203
+ nil,
1204
+ HTML_ATTRS,
1205
+ ALIGN_ATTR,
1206
+ [],
1207
+ ],
1208
+ [
1209
+ "head",
1210
+ true,
1211
+ true,
1212
+ false,
1213
+ false,
1214
+ false,
1215
+ :any,
1216
+ false,
1217
+ "document head ",
1218
+ HEAD_CONTENTS,
1219
+ nil,
1220
+ HEAD_ATTRS,
1221
+ [],
1222
+ [],
1223
+ ],
1224
+ [
1225
+ "hr",
1226
+ false,
1227
+ true,
1228
+ true,
1229
+ true,
1230
+ false,
1231
+ :any,
1232
+ false,
1233
+ "horizontal rule ",
1234
+ EMPTY,
1235
+ nil,
1236
+ HTML_ATTRS,
1237
+ HR_DEPR,
1238
+ [],
1239
+ ],
1240
+ [
1241
+ "html",
1242
+ true,
1243
+ true,
1244
+ false,
1245
+ false,
1246
+ false,
1247
+ :any,
1248
+ false,
1249
+ "document root element ",
1250
+ HTML_CONTENT,
1251
+ nil,
1252
+ I18N_ATTRS,
1253
+ VERSION_ATTR,
1254
+ [],
1255
+ ],
1256
+ [
1257
+ "i",
1258
+ false,
1259
+ true,
1260
+ false,
1261
+ false,
1262
+ false,
1263
+ :any,
1264
+ true,
1265
+ "italic text style",
1266
+ HTML_INLINE,
1267
+ nil,
1268
+ HTML_ATTRS,
1269
+ [],
1270
+ [],
1271
+ ],
1272
+ [
1273
+ "iframe",
1274
+ false,
1275
+ false,
1276
+ false,
1277
+ false,
1278
+ false,
1279
+ :any,
1280
+ true,
1281
+ "inline subwindow ",
1282
+ HTML_FLOW,
1283
+ nil,
1284
+ [],
1285
+ IFRAME_ATTRS,
1286
+ [],
1287
+ ],
1288
+ [
1289
+ "img",
1290
+ false,
1291
+ true,
1292
+ true,
1293
+ true,
1294
+ false,
1295
+ :any,
1296
+ true,
1297
+ "embedded image ",
1298
+ EMPTY,
1299
+ nil,
1300
+ IMG_ATTRS,
1301
+ ALIGN_ATTR,
1302
+ SRC_ALT_ATTRS,
1303
+ ],
1304
+ [
1305
+ "input",
1306
+ false,
1307
+ true,
1308
+ true,
1309
+ true,
1310
+ false,
1311
+ :any,
1312
+ true,
1313
+ "form control ",
1314
+ EMPTY,
1315
+ nil,
1316
+ INPUT_ATTRS,
1317
+ ALIGN_ATTR,
1318
+ [],
1319
+ ],
1320
+ [
1321
+ "ins",
1322
+ false,
1323
+ false,
1324
+ false,
1325
+ false,
1326
+ false,
1327
+ :any,
1328
+ true,
1329
+ "inserted text",
1330
+ HTML_FLOW,
1331
+ nil,
1332
+ EDIT_ATTRS,
1333
+ [],
1334
+ [],
1335
+ ],
1336
+ [
1337
+ "isindex",
1338
+ false,
1339
+ true,
1340
+ true,
1341
+ true,
1342
+ true,
1343
+ :loose,
1344
+ false,
1345
+ "single line prompt ",
1346
+ EMPTY,
1347
+ nil,
1348
+ [],
1349
+ PROMPT_ATTRS,
1350
+ [],
1351
+ ],
1352
+ [
1353
+ "kbd",
1354
+ false,
1355
+ false,
1356
+ false,
1357
+ false,
1358
+ false,
1359
+ :any,
1360
+ true,
1361
+ "text to be entered by the user",
1362
+ HTML_INLINE,
1363
+ nil,
1364
+ HTML_ATTRS,
1365
+ [],
1366
+ [],
1367
+ ],
1368
+ [
1369
+ "label",
1370
+ false,
1371
+ false,
1372
+ false,
1373
+ false,
1374
+ false,
1375
+ :any,
1376
+ true,
1377
+ "form field label text ",
1378
+ [HTML_INLINE, MODIFIER],
1379
+ nil,
1380
+ LABEL_ATTRS,
1381
+ [],
1382
+ [],
1383
+ ],
1384
+ [
1385
+ "legend",
1386
+ false,
1387
+ false,
1388
+ false,
1389
+ false,
1390
+ false,
1391
+ :any,
1392
+ false,
1393
+ "fieldset legend ",
1394
+ HTML_INLINE,
1395
+ nil,
1396
+ LEGEND_ATTRS,
1397
+ ALIGN_ATTR,
1398
+ [],
1399
+ ],
1400
+ [
1401
+ "li",
1402
+ false,
1403
+ true,
1404
+ true,
1405
+ false,
1406
+ false,
1407
+ :any,
1408
+ false,
1409
+ "list item ",
1410
+ HTML_FLOW,
1411
+ nil,
1412
+ HTML_ATTRS,
1413
+ [],
1414
+ [],
1415
+ ],
1416
+ [
1417
+ "link",
1418
+ false,
1419
+ true,
1420
+ true,
1421
+ true,
1422
+ false,
1423
+ :any,
1424
+ false,
1425
+ "a media-independent link ",
1426
+ EMPTY,
1427
+ nil,
1428
+ LINK_ATTRS,
1429
+ TARGET_ATTR,
1430
+ [],
1431
+ ],
1432
+ [
1433
+ "map",
1434
+ false,
1435
+ false,
1436
+ false,
1437
+ false,
1438
+ false,
1439
+ :any,
1440
+ true,
1441
+ "client-side image map ",
1442
+ MAP_CONTENTS,
1443
+ nil,
1444
+ HTML_ATTRS,
1445
+ [],
1446
+ NAME_ATTR,
1447
+ ],
1448
+ [
1449
+ "menu",
1450
+ false,
1451
+ false,
1452
+ false,
1453
+ false,
1454
+ true,
1455
+ :loose,
1456
+ false,
1457
+ "menu list ",
1458
+ BLOCKLI_ELT,
1459
+ nil,
1460
+ [],
1461
+ COMPACT_ATTRS,
1462
+ [],
1463
+ ],
1464
+ [
1465
+ "meta",
1466
+ false,
1467
+ true,
1468
+ true,
1469
+ true,
1470
+ false,
1471
+ :any,
1472
+ false,
1473
+ "generic metainformation ",
1474
+ EMPTY,
1475
+ nil,
1476
+ META_ATTRS,
1477
+ [],
1478
+ CONTENT_ATTR,
1479
+ ],
1480
+ [
1481
+ "noframes",
1482
+ false,
1483
+ false,
1484
+ false,
1485
+ false,
1486
+ false,
1487
+ :frameset,
1488
+ false,
1489
+ "alternate content container for non frame-based rendering ",
1490
+ NOFRAMES_CONTENT,
1491
+ "body",
1492
+ HTML_ATTRS,
1493
+ [],
1494
+ [],
1495
+ ],
1496
+ [
1497
+ "noscript",
1498
+ false,
1499
+ false,
1500
+ false,
1501
+ false,
1502
+ false,
1503
+ :any,
1504
+ false,
1505
+ "alternate content container for non script-based rendering ",
1506
+ HTML_FLOW,
1507
+ "div",
1508
+ HTML_ATTRS,
1509
+ [],
1510
+ [],
1511
+ ],
1512
+ [
1513
+ "object",
1514
+ false,
1515
+ false,
1516
+ false,
1517
+ false,
1518
+ false,
1519
+ :any,
1520
+ true,
1521
+ "generic embedded object ",
1522
+ OBJECT_CONTENTS,
1523
+ "div",
1524
+ OBJECT_ATTRS,
1525
+ OBJECT_DEPR,
1526
+ [],
1527
+ ],
1528
+ [
1529
+ "ol",
1530
+ false,
1531
+ false,
1532
+ false,
1533
+ false,
1534
+ false,
1535
+ :any,
1536
+ false,
1537
+ "ordered list ",
1538
+ LI_ELT,
1539
+ "li",
1540
+ HTML_ATTRS,
1541
+ OL_ATTRS,
1542
+ [],
1543
+ ],
1544
+ [
1545
+ "optgroup",
1546
+ false,
1547
+ false,
1548
+ false,
1549
+ false,
1550
+ false,
1551
+ :any,
1552
+ false,
1553
+ "option group ",
1554
+ OPTION_ELT,
1555
+ "option",
1556
+ OPTGROUP_ATTRS,
1557
+ [],
1558
+ LABEL_ATTR,
1559
+ ],
1560
+ [
1561
+ "option",
1562
+ false,
1563
+ true,
1564
+ false,
1565
+ false,
1566
+ false,
1567
+ :any,
1568
+ false,
1569
+ "selectable choice ",
1570
+ HTML_PCDATA,
1571
+ nil,
1572
+ OPTION_ATTRS,
1573
+ [],
1574
+ [],
1575
+ ],
1576
+ [
1577
+ "p",
1578
+ false,
1579
+ true,
1580
+ false,
1581
+ false,
1582
+ false,
1583
+ :any,
1584
+ false,
1585
+ "paragraph ",
1586
+ HTML_INLINE,
1587
+ nil,
1588
+ HTML_ATTRS,
1589
+ ALIGN_ATTR,
1590
+ [],
1591
+ ],
1592
+ [
1593
+ "param",
1594
+ false,
1595
+ true,
1596
+ true,
1597
+ true,
1598
+ false,
1599
+ :any,
1600
+ false,
1601
+ "named property value ",
1602
+ EMPTY,
1603
+ nil,
1604
+ PARAM_ATTRS,
1605
+ [],
1606
+ NAME_ATTR,
1607
+ ],
1608
+ [
1609
+ "pre",
1610
+ false,
1611
+ false,
1612
+ false,
1613
+ false,
1614
+ false,
1615
+ :any,
1616
+ false,
1617
+ "preformatted text ",
1618
+ PRE_CONTENT,
1619
+ nil,
1620
+ HTML_ATTRS,
1621
+ WIDTH_ATTR,
1622
+ [],
1623
+ ],
1624
+ [
1625
+ "q",
1626
+ false,
1627
+ false,
1628
+ false,
1629
+ false,
1630
+ false,
1631
+ :any,
1632
+ true,
1633
+ "short inline quotation ",
1634
+ HTML_INLINE,
1635
+ nil,
1636
+ QUOTE_ATTRS,
1637
+ [],
1638
+ [],
1639
+ ],
1640
+ [
1641
+ "s",
1642
+ false,
1643
+ true,
1644
+ false,
1645
+ false,
1646
+ true,
1647
+ :loose,
1648
+ true,
1649
+ "strike-through text style",
1650
+ HTML_INLINE,
1651
+ nil,
1652
+ [],
1653
+ HTML_ATTRS,
1654
+ [],
1655
+ ],
1656
+ [
1657
+ "samp",
1658
+ false,
1659
+ false,
1660
+ false,
1661
+ false,
1662
+ false,
1663
+ :any,
1664
+ true,
1665
+ "sample program output, scripts, etc.",
1666
+ HTML_INLINE,
1667
+ nil,
1668
+ HTML_ATTRS,
1669
+ [],
1670
+ [],
1671
+ ],
1672
+ [
1673
+ "script",
1674
+ false,
1675
+ false,
1676
+ false,
1677
+ false,
1678
+ false,
1679
+ :any,
1680
+ true,
1681
+ "script statements ",
1682
+ HTML_CDATA,
1683
+ nil,
1684
+ SCRIPT_ATTRS,
1685
+ LANGUAGE_ATTR,
1686
+ TYPE_ATTR,
1687
+ ],
1688
+ [
1689
+ "select",
1690
+ false,
1691
+ false,
1692
+ false,
1693
+ false,
1694
+ false,
1695
+ :any,
1696
+ true,
1697
+ "option selector ",
1698
+ SELECT_CONTENT,
1699
+ nil,
1700
+ SELECT_ATTRS,
1701
+ [],
1702
+ [],
1703
+ ],
1704
+ [
1705
+ "small",
1706
+ false,
1707
+ true,
1708
+ false,
1709
+ false,
1710
+ false,
1711
+ :any,
1712
+ true,
1713
+ "small text style",
1714
+ HTML_INLINE,
1715
+ nil,
1716
+ HTML_ATTRS,
1717
+ [],
1718
+ [],
1719
+ ],
1720
+ [
1721
+ "span",
1722
+ false,
1723
+ false,
1724
+ false,
1725
+ false,
1726
+ false,
1727
+ :any,
1728
+ true,
1729
+ "generic language/style container ",
1730
+ HTML_INLINE,
1731
+ nil,
1732
+ HTML_ATTRS,
1733
+ [],
1734
+ [],
1735
+ ],
1736
+ [
1737
+ "strike",
1738
+ false,
1739
+ true,
1740
+ false,
1741
+ false,
1742
+ true,
1743
+ :loose,
1744
+ true,
1745
+ "strike-through text",
1746
+ HTML_INLINE,
1747
+ nil,
1748
+ [],
1749
+ HTML_ATTRS,
1750
+ [],
1751
+ ],
1752
+ [
1753
+ "strong",
1754
+ false,
1755
+ true,
1756
+ false,
1757
+ false,
1758
+ false,
1759
+ :any,
1760
+ true,
1761
+ "strong emphasis",
1762
+ HTML_INLINE,
1763
+ nil,
1764
+ HTML_ATTRS,
1765
+ [],
1766
+ [],
1767
+ ],
1768
+ [
1769
+ "style",
1770
+ false,
1771
+ false,
1772
+ false,
1773
+ false,
1774
+ false,
1775
+ :any,
1776
+ false,
1777
+ "style info ",
1778
+ HTML_CDATA,
1779
+ nil,
1780
+ STYLE_ATTRS,
1781
+ [],
1782
+ TYPE_ATTR,
1783
+ ],
1784
+ [
1785
+ "sub",
1786
+ false,
1787
+ true,
1788
+ false,
1789
+ false,
1790
+ false,
1791
+ :any,
1792
+ true,
1793
+ "subscript",
1794
+ HTML_INLINE,
1795
+ nil,
1796
+ HTML_ATTRS,
1797
+ [],
1798
+ [],
1799
+ ],
1800
+ [
1801
+ "sup",
1802
+ false,
1803
+ true,
1804
+ false,
1805
+ false,
1806
+ false,
1807
+ :any,
1808
+ true,
1809
+ "superscript ",
1810
+ HTML_INLINE,
1811
+ nil,
1812
+ HTML_ATTRS,
1813
+ [],
1814
+ [],
1815
+ ],
1816
+ [
1817
+ "table",
1818
+ false,
1819
+ false,
1820
+ false,
1821
+ false,
1822
+ false,
1823
+ :any,
1824
+ false,
1825
+ "",
1826
+ TABLE_CONTENTS,
1827
+ "tr",
1828
+ TABLE_ATTRS,
1829
+ TABLE_DEPR,
1830
+ [],
1831
+ ],
1832
+ [
1833
+ "tbody",
1834
+ true,
1835
+ false,
1836
+ false,
1837
+ false,
1838
+ false,
1839
+ :any,
1840
+ false,
1841
+ "table body ",
1842
+ TR_ELT,
1843
+ "tr",
1844
+ TALIGN_ATTRS,
1845
+ [],
1846
+ [],
1847
+ ],
1848
+ [
1849
+ "td",
1850
+ false,
1851
+ false,
1852
+ false,
1853
+ false,
1854
+ false,
1855
+ :any,
1856
+ false,
1857
+ "table data cell",
1858
+ HTML_FLOW,
1859
+ nil,
1860
+ TH_TD_ATTR,
1861
+ TH_TD_DEPR,
1862
+ [],
1863
+ ],
1864
+ [
1865
+ "textarea",
1866
+ false,
1867
+ false,
1868
+ false,
1869
+ false,
1870
+ false,
1871
+ :any,
1872
+ true,
1873
+ "multi-line text field ",
1874
+ HTML_PCDATA,
1875
+ nil,
1876
+ TEXTAREA_ATTRS,
1877
+ [],
1878
+ ROWS_COLS_ATTR,
1879
+ ],
1880
+ [
1881
+ "tfoot",
1882
+ false,
1883
+ true,
1884
+ false,
1885
+ false,
1886
+ false,
1887
+ :any,
1888
+ false,
1889
+ "table footer ",
1890
+ TR_ELT,
1891
+ "tr",
1892
+ TALIGN_ATTRS,
1893
+ [],
1894
+ [],
1895
+ ],
1896
+ [
1897
+ "th",
1898
+ false,
1899
+ true,
1900
+ false,
1901
+ false,
1902
+ false,
1903
+ :any,
1904
+ false,
1905
+ "table header cell",
1906
+ HTML_FLOW,
1907
+ nil,
1908
+ TH_TD_ATTR,
1909
+ TH_TD_DEPR,
1910
+ [],
1911
+ ],
1912
+ [
1913
+ "thead",
1914
+ false,
1915
+ true,
1916
+ false,
1917
+ false,
1918
+ false,
1919
+ :any,
1920
+ false,
1921
+ "table header ",
1922
+ TR_ELT,
1923
+ "tr",
1924
+ TALIGN_ATTRS,
1925
+ [],
1926
+ [],
1927
+ ],
1928
+ [
1929
+ "title",
1930
+ false,
1931
+ false,
1932
+ false,
1933
+ false,
1934
+ false,
1935
+ :any,
1936
+ false,
1937
+ "document title ",
1938
+ HTML_PCDATA,
1939
+ nil,
1940
+ I18N_ATTRS,
1941
+ [],
1942
+ [],
1943
+ ],
1944
+ [
1945
+ "tr",
1946
+ false,
1947
+ false,
1948
+ false,
1949
+ false,
1950
+ false,
1951
+ :any,
1952
+ false,
1953
+ "table row ",
1954
+ TR_CONTENTS,
1955
+ "td",
1956
+ TALIGN_ATTRS,
1957
+ BGCOLOR_ATTR,
1958
+ [],
1959
+ ],
1960
+ [
1961
+ "tt",
1962
+ false,
1963
+ true,
1964
+ false,
1965
+ false,
1966
+ false,
1967
+ :any,
1968
+ true,
1969
+ "teletype or monospaced text style",
1970
+ HTML_INLINE,
1971
+ nil,
1972
+ HTML_ATTRS,
1973
+ [],
1974
+ [],
1975
+ ],
1976
+ [
1977
+ "u",
1978
+ false,
1979
+ true,
1980
+ false,
1981
+ false,
1982
+ true,
1983
+ :loose,
1984
+ true,
1985
+ "underlined text style",
1986
+ HTML_INLINE,
1987
+ nil,
1988
+ [],
1989
+ HTML_ATTRS,
1990
+ [],
1991
+ ],
1992
+ [
1993
+ "ul",
1994
+ false,
1995
+ false,
1996
+ false,
1997
+ false,
1998
+ false,
1999
+ :any,
2000
+ false,
2001
+ "unordered list ",
2002
+ LI_ELT,
2003
+ "li",
2004
+ HTML_ATTRS,
2005
+ UL_DEPR,
2006
+ [],
2007
+ ],
2008
+ [
2009
+ "var",
2010
+ false,
2011
+ false,
2012
+ false,
2013
+ false,
2014
+ false,
2015
+ :any,
2016
+ true,
2017
+ "instance of a variable or program argument",
2018
+ HTML_INLINE,
2019
+ nil,
2020
+ HTML_ATTRS,
2021
+ [],
2022
+ [],
2023
+ ],
557
2024
  ].each do |descriptor|
558
2025
  name = descriptor[0]
559
2026
 
560
- begin
561
- d = Desc.new(*descriptor)
2027
+ d = Desc.new(*descriptor)
562
2028
 
563
- # flatten all the attribute lists (Ruby1.9, *[a,b,c] can be
564
- # used to flatten a literal list, but not in Ruby1.8).
565
- d[:subelts] = d[:subelts].flatten
566
- d[:attrs_opt] = d[:attrs_opt].flatten
567
- d[:attrs_depr] = d[:attrs_depr].flatten
568
- d[:attrs_req] = d[:attrs_req].flatten
569
- rescue => e
570
- p(name)
571
- raise e
572
- end
2029
+ # flatten all the attribute lists (Ruby1.9, *[a,b,c] can be
2030
+ # used to flatten a literal list, but not in Ruby1.8).
2031
+ d[:subelts] = d[:subelts].flatten
2032
+ d[:attrs_opt] = d[:attrs_opt].flatten
2033
+ d[:attrs_depr] = d[:attrs_depr].flatten
2034
+ d[:attrs_req] = d[:attrs_req].flatten
573
2035
 
574
2036
  DefaultDescriptions[name] = d
575
2037
  end