1 |
use strict; |
2 |
our $LIST = [ |
3 |
{ |
4 |
name => q<HTML 2.0 (RFC 1868)>, |
5 |
class => { |
6 |
'%heading' => q"h1|h2|h3|h4|h5|h6", |
7 |
'%list' => q"ul | ol | dir | menu", |
8 |
'%font' => q"tt | b | i ", |
9 |
'%phrase' => q"em | strong | code | samp | kbd | var | cite", |
10 |
'%text' => q"#PCDATA | a | img | br | %phrase | %font", |
11 |
'%block.forms' => q"blockquote | form | isindex", |
12 |
'%preformatted' => q"pre | xmp | listing", |
13 |
'%block' => q"p | %list | dl | %preformatted | %block.forms", |
14 |
'%flow' => q"%text|%block", |
15 |
'%body.content' => q"%heading | %text | %block | hr | address", |
16 |
}, |
17 |
class_misc => { |
18 |
a => q<%A.content>, |
19 |
'%A.content' => q<%heading %text>, |
20 |
pre => q<%pre.content>, |
21 |
'%pre.content' => q<#PCDATA a hr br>, |
22 |
form => q<%body.content>, |
23 |
}, |
24 |
minus => { |
25 |
a => 'a', |
26 |
form => q<form>, |
27 |
}, |
28 |
plus => { |
29 |
form => q<input select textarea>, |
30 |
}, |
31 |
}, |
32 |
{ |
33 |
name => q<HTML 2.x (RFC 2070)>, |
34 |
class => { |
35 |
'%heading' => q"h1|h2|h3|h4|h5|h6", |
36 |
'%list' => q"ul | ol | dir | menu", |
37 |
'%font' => q"tt | b | i ", |
38 |
'%phrase' => q"em | strong | code | samp | kbd | var | cite", |
39 |
'%text' => q"#PCDATA|a|img|br|%phrase|%font|span|q|bdo|sup|sub", |
40 |
'%block.forms' => q"blockquote | form | isindex", |
41 |
'%preformatted' => q"pre | xmp | listing", |
42 |
'%block' => q"p | %list | dl | %preformatted | %block.forms", |
43 |
'%flow' => q"%text|%block", |
44 |
'%body.content' => q"%heading | %text | %block | hr | address", |
45 |
}, |
46 |
class_misc => { |
47 |
a => q<%A.content>, |
48 |
'%A.content' => q<%heading %text>, |
49 |
pre => q<%pre.content>, |
50 |
'%pre.content' => q<#PCDATA a hr br span bdo>, |
51 |
form => q<%body.content>, |
52 |
}, |
53 |
minus => { |
54 |
a => 'a', |
55 |
form => q<form>, |
56 |
}, |
57 |
plus => { |
58 |
form => q<input select textarea>, |
59 |
}, |
60 |
}, |
61 |
{ |
62 |
name => q<HTML 3.2>, |
63 |
class => { |
64 |
'%heading' => q"h1|h2|h3|h4|h5|h6", |
65 |
'%list' => q"ul | ol | dir | menu", |
66 |
'%preformatted' => q"pre | xmp | listing", |
67 |
'%font' => q"tt | i | b | u | strike | big | small | sub | sup", |
68 |
'%phrase' => q"em | strong | dfn | code | samp | kbd | var | cite", |
69 |
'%special' => q"a | img | applet | font | basefont | br | script | map", |
70 |
'%form' => q"input | select | textarea", |
71 |
'%text' => q"#PCDATA | %font | %phrase | %special | %form", |
72 |
'%block' => q"p | %list | %preformatted | dl | div | center | |
73 |
blockquote | form | isindex | hr | table", |
74 |
'%flow' => q"%text | %block", |
75 |
'%body.content' => q"%heading | %text | %block | address", |
76 |
}, |
77 |
class_misc => { |
78 |
a => q<%text>, |
79 |
pre => q<%text>, |
80 |
'%pre.exclusion' => q<img big small sub sup font>, |
81 |
form => q<%body.content>, |
82 |
td => q<%body.content>, |
83 |
}, |
84 |
minus => { |
85 |
a => q<a>, |
86 |
pre => '%pre.exclusion', |
87 |
form => q<form>, |
88 |
}, |
89 |
}, |
90 |
{ |
91 |
name => q<HTML 4.01 Transitional / Frameset>, |
92 |
class => { |
93 |
'%heading' => q<h1|h2|h3|h4|h5|h6>, |
94 |
'%list' => q/ul | ol | dir | menu/, |
95 |
'%preformatted' => q"pre", |
96 |
'%fontstyle' => q"tt | i | b | u | s | strike | big | small", |
97 |
'%phrase' => q"em | strong | dfn | code | samp | kbd | var | cite | abbr | acronym", |
98 |
'%special' => q"a | img | applet | object | font | basefont | br | script | |
99 |
map | q | sub | sup | span | bdo | iframe", |
100 |
'%formctrl' => q"input | select | textarea | label | button", |
101 |
'%inline' => q"#PCDATA | %fontstyle | %phrase | %special | %formctrl", |
102 |
'%block' => q "p | %heading | %list | %preformatted | dl | div | center | |
103 |
noscript | noframes | blockquote | form | isindex | hr | |
104 |
table | fieldset | address", |
105 |
'%flow' => q"%block | %inline", |
106 |
}, |
107 |
class_misc => { |
108 |
a => q<%inline>, |
109 |
pre => q<%inline>, |
110 |
'%pre.exclusion' => q<img object applet big small sub sup font basefont>, |
111 |
form => q<%flow>, |
112 |
label => q<%inline>, |
113 |
fieldset => q<#PCDATA legend %flow>, |
114 |
button => q<%flow>, |
115 |
td => q<%flow>, |
116 |
}, |
117 |
minus => { |
118 |
a => q<a>, |
119 |
pre => q<%pre.exclusion>, |
120 |
form => q<form>, |
121 |
label => q<label>, |
122 |
button => q<a %formctrl form isindex fieldset iframe>, |
123 |
}, |
124 |
plus => { |
125 |
a => q<ins del>, |
126 |
pre => q<ins del>, |
127 |
form => q<ins del>, |
128 |
label => q<ins del>, |
129 |
button => q<ins del>, |
130 |
}, |
131 |
}, |
132 |
{ |
133 |
name => q<HTML 4.01 Strict>, |
134 |
class => { |
135 |
'%heading' => q<h1|h2|h3|h4|h5|h6>, |
136 |
'%list' => q/ul|ol/, |
137 |
'%preformatted' => q"pre", |
138 |
'%fontstyle' => q"tt | i | b | big | small", |
139 |
'%phrase' => q"em | strong | dfn | code | samp | kbd | var | cite | abbr | acronym", |
140 |
'%special' => q"a | img | object | br | script | map | q | sub | sup | span | bdo", |
141 |
'%formctrl' => q"input | select | textarea | label | button", |
142 |
'%inline' => q"#PCDATA | %fontstyle | %phrase | %special | %formctrl", |
143 |
'%block' => q "p | %heading | %list | %preformatted | dl | div | noscript | |
144 |
blockquote | form | hr | table | fieldset | address", |
145 |
'%flow' => q"%block | %inline", |
146 |
}, |
147 |
class_misc => { |
148 |
a => q<%inline>, |
149 |
pre => q<%inline>, |
150 |
'%pre.exclusion' => q<img object big small sub sup>, |
151 |
form => q<%block script>, |
152 |
label => q<%inline>, |
153 |
fieldset => q<#PCDATA legend %flow>, |
154 |
button => q<%flow>, |
155 |
td => q<%flow>, |
156 |
}, |
157 |
minus => { |
158 |
a => q<a>, |
159 |
pre => q<%pre.exclusion>, |
160 |
form => q<form>, |
161 |
label => q<label>, |
162 |
button => q<a %formctrl form fieldset>, |
163 |
}, |
164 |
plus => { |
165 |
a => q<ins del>, |
166 |
form => q<ins del>, |
167 |
label => q<ins del>, |
168 |
button => q<ins del>, |
169 |
}, |
170 |
}, |
171 |
{ |
172 |
name => q<ISO-HTML>, |
173 |
class => { |
174 |
'%special' => q"a | bdo | br | img | object | |
175 |
map | q | span", |
176 |
'%logical.styles' => q"abbr | acronym | cite | code | dfn | em | |
177 |
kbd | samp | strong | var", |
178 |
'%physical.styles' => q"b | i | sub | sup | tt", |
179 |
'%block' => q"blockquote | div | dl | fieldset | form | |
180 |
hr | ol | p | pre | table | ul", |
181 |
'%form.fields' => q"button | input | label | select | textarea", |
182 |
'%text' => q"#PCDATA | %physical.styles | %logical.styles | %special |
183 |
| %form.fields ", |
184 |
'%section.content' => q"%block | %text | address", |
185 |
'%table.content' => q"%block | %text ", |
186 |
}, |
187 |
class_misc => { |
188 |
form => q<%block>, |
189 |
pre => q<%text>, |
190 |
button => q<%text>, |
191 |
label => q<%text>, |
192 |
fieldset => q<#PCDATA legend %block %text address>, |
193 |
a => q<%text>, |
194 |
td => q<%table.content>, |
195 |
}, |
196 |
minus => { |
197 |
form => q<form>, |
198 |
pre => q<img map object sub sup>, |
199 |
fieldset => q<fieldset>, |
200 |
button => q<a fieldset form %form.fields>, |
201 |
label => q<label>, |
202 |
a => q<a>, |
203 |
}, |
204 |
}, |
205 |
{ |
206 |
name => q<XHTML 1.0 FE Transitional>, |
207 |
class => { |
208 |
'%special' => q"br | span | bdo | object | applet | img | map | iframe", |
209 |
'%fontstyle' => q"tt | i | b | big | small | u |
210 |
| s | strike |font | basefont", |
211 |
'%phrase' => q"em | strong | dfn | code | q | sub | sup | |
212 |
samp | kbd | var | cite | abbr | acronym", |
213 |
'%inline.forms' => q"input | select | textarea | label | button", |
214 |
'%misc' => q"ins | del | script | noscript", |
215 |
'%inline' => q"a | %special | %fontstyle | %phrase | %inline.forms", |
216 |
'%Inline' => q"#PCDATA | %inline | %misc", |
217 |
'%heading' => q"h1|h2|h3|h4|h5|h6", |
218 |
'%lists' => q"ul | ol | dl | menu | dir", |
219 |
'%blocktext' => q"pre | hr | blockquote | address | center | noframes", |
220 |
'%block' => q"p | %heading | div | %lists | %blocktext | isindex |fieldset | table", |
221 |
'%Block' => q"%block | form | %misc", |
222 |
'%Flow' => q"#PCDATA | %block | form | %inline | %misc", |
223 |
}, |
224 |
class_misc => { |
225 |
a => q<%a.content>, |
226 |
'%a.content' => q<#PCDATA %special %fontstyle %phrase %inline.forms |
227 |
%misc>, |
228 |
pre => q<%pre.content>, |
229 |
'%pre.content' => q<#PCDATA a br span bdo map tt i b u s %phrase |
230 |
%inline.forms>, |
231 |
form => q<%form.content>, |
232 |
'%form.content' => q<%block %inline %misc>, |
233 |
button => q<%button.content>, |
234 |
'%button.content' => q<#PCDATA p %heading div %lists |
235 |
%blocktext table br span bdo object |
236 |
applet img map %fontstyle %phrase %misc>, |
237 |
label => q<%Inline>, |
238 |
fieldset => q<#PCDATA legend %block form %inline %misc>, |
239 |
td => q<%Flow>, |
240 |
}, |
241 |
minus => { |
242 |
a => q<a>, |
243 |
pre => q<img object big small sub sup>, |
244 |
button => q<input select textarea label form button fieldset |
245 |
iframe isindex>, |
246 |
label => q<label>, |
247 |
form => q<form>, |
248 |
}, |
249 |
}, |
250 |
{ |
251 |
name => q<XHTML 1.0 FE Frameset>, |
252 |
class => { |
253 |
'%special' => q"br | span | bdo | object | applet | img | map | iframe", |
254 |
'%fontstyle' => q"tt | i | b | big | small | u |
255 |
| s | strike |font | basefont", |
256 |
'%phrase' => q"em | strong | dfn | code | q | sub | sup | |
257 |
samp | kbd | var | cite | abbr | acronym", |
258 |
'%inline.forms' => q"input | select | textarea | label | button", |
259 |
'%misc' => q"ins | del | script | noscript", |
260 |
'%inline' => q"a | %special | %fontstyle | %phrase | %inline.forms", |
261 |
'%Inline' => q"#PCDATA | %inline | %misc", |
262 |
'%heading' => q"h1|h2|h3|h4|h5|h6", |
263 |
'%lists' => q"ul | ol | dl | menu | dir", |
264 |
'%blocktext' => q"pre | hr | blockquote | address | center ", |
265 |
'%block' => q"p | %heading | div | %lists | %blocktext | isindex |fieldset | table", |
266 |
'%Block' => q"%block | form | %misc", |
267 |
'%Flow' => q"#PCDATA | %block | form | %inline | %misc", |
268 |
}, |
269 |
class_misc => { |
270 |
a => q<%a.content>, |
271 |
'%a.content' => q<#PCDATA %special %fontstyle %phrase %inline.forms |
272 |
%misc>, |
273 |
pre => q<%pre.content>, |
274 |
'%pre.content' => q<#PCDATA a br span bdo map tt i b u s %phrase |
275 |
%inline.forms>, |
276 |
form => q<%form.content>, |
277 |
'%form.content' => q<%block %inline %misc>, |
278 |
button => q<%button.content>, |
279 |
'%button.content' => q<#PCDATA p %heading div %lists |
280 |
%blocktext table br span bdo object |
281 |
applet img map %fontstyle %phrase %misc>, |
282 |
label => q<%Inline>, |
283 |
fieldset => q<#PCDATA legend %block form %inline %misc>, |
284 |
td => q<%Flow>, |
285 |
}, |
286 |
minus => { |
287 |
a => q<a>, |
288 |
pre => q<img object big small sub sup>, |
289 |
button => q<input select textarea label form button fieldset |
290 |
iframe isindex>, |
291 |
label => q<label>, |
292 |
form => q<form>, |
293 |
}, |
294 |
}, |
295 |
{ |
296 |
name => q<XHTML 1.0 FE Strict>, |
297 |
class => { |
298 |
'%special' => q"br | span | bdo | object | img | map", |
299 |
'%fontstyle' => q"tt | i | b | big | small", |
300 |
'%phrase' => q"em | strong | dfn | code | q | sub | sup | |
301 |
samp | kbd | var | cite | abbr | acronym", |
302 |
'%inline.forms' => q"input | select | textarea | label | button", |
303 |
'%misc' => q"ins | del | script | noscript", |
304 |
'%inline' => q"a | %special | %fontstyle | %phrase | %inline.forms", |
305 |
'%Inline' => q"#PCDATA | %inline | %misc", |
306 |
'%heading' => q"h1|h2|h3|h4|h5|h6", |
307 |
'%lists' => q"ul | ol | dl", |
308 |
'%blocktext' => q"pre | hr | blockquote | address", |
309 |
'%block' => q"p | %heading | div | %lists | %blocktext | fieldset | table", |
310 |
'%Block' => q"%block | form | %misc", |
311 |
'%Flow' => q"#PCDATA | %block | form | %inline | %misc", |
312 |
}, |
313 |
class_misc => { |
314 |
a => q<%a.content>, |
315 |
'%a.content' => q<#PCDATA %special %fontstyle %phrase %inline.forms |
316 |
%misc>, |
317 |
pre => q<%pre.content>, |
318 |
'%pre.content' => q<#PCDATA a br span bdo map tt i b %phrase |
319 |
%inline.forms>, |
320 |
form => q<%form.content>, |
321 |
'%form.content' => q<%block %misc>, |
322 |
button => q<%button.content>, |
323 |
'%button.content' => q<#PCDATA p %heading div %lists |
324 |
%blocktext table |
325 |
%special %fontstyle %phrase %misc>, |
326 |
label => q<%Inline>, |
327 |
fieldset => q<#PCDATA legend %block form %inline %misc>, |
328 |
td => q<%Flow>, |
329 |
}, |
330 |
minus => { |
331 |
a => q<a>, |
332 |
pre => q<img object big small sub sup>, |
333 |
button => q<input select textarea label form button fieldset |
334 |
iframe isindex>, |
335 |
label => q<label>, |
336 |
form => q<form>, |
337 |
}, |
338 |
}, |
339 |
{ |
340 |
name => q<XHTML 1.0 SE Transitional>, |
341 |
class => { |
342 |
'%special.extra' => q"object | applet | img | map | iframe", |
343 |
'%special.basic' => q"br | span | bdo", |
344 |
'%special' => q"%special.basic | %special.extra", |
345 |
'%fontstyle.extra' => q"big | small | font | basefont", |
346 |
'%fontstyle.basic' => q"tt | i | b | u |
347 |
| s | strike ", |
348 |
'%fontstyle' => q"%fontstyle.basic | %fontstyle.extra", |
349 |
'%phrase.extra' => q"sub | sup", |
350 |
'%phrase.basic' => q"em | strong | dfn | code | q | |
351 |
samp | kbd | var | cite | abbr | acronym", |
352 |
'%phrase' => q"%phrase.basic | %phrase.extra", |
353 |
'%inline.forms' => q"input | select | textarea | label | button", |
354 |
'%misc' => q"noscript | %misc.inline", |
355 |
'%misc.inline' => q"ins | del | script", |
356 |
'%inline' => q"a | %special | %fontstyle | %phrase | %inline.forms", |
357 |
'%Inline' => q"#PCDATA | %inline | %misc.inline", |
358 |
'%heading' => q"h1|h2|h3|h4|h5|h6", |
359 |
'%lists' => q"ul | ol | dl | menu | dir", |
360 |
'%blocktext' => q"pre | hr | blockquote | address | center | noframes", |
361 |
'%block' => q"p | %heading | div | %lists | %blocktext | isindex |fieldset | table", |
362 |
'%Flow' => q"#PCDATA | %block | form | %inline | %misc", |
363 |
}, |
364 |
class_misc => { |
365 |
a => q<%a.content>, |
366 |
'%a.content' => q<#PCDATA %special %fontstyle %phrase %inline.forms |
367 |
%misc.inline>, |
368 |
pre => q<%pre.content>, |
369 |
'%pre.content' => q<#PCDATA a %fontstyle.basic %phrase.basic %special.basic |
370 |
%misc.inline %inline.forms>, |
371 |
form => q<%form.content>, |
372 |
'%form.content' => q<%block %inline %misc>, |
373 |
button => q<%button.content>, |
374 |
'%button.content' => q<#PCDATA p %heading div %lists |
375 |
%blocktext table br span bdo object |
376 |
applet img map %fontstyle %phrase %misc>, |
377 |
label => q<%Inline>, |
378 |
fieldset => q<#PCDATA legend %block form %inline %misc>, |
379 |
td => q<%Flow>, |
380 |
}, |
381 |
minus => { |
382 |
a => q<a>, |
383 |
pre => q<img object big small sub sup>, |
384 |
button => q<input select textarea label form button fieldset |
385 |
iframe isindex>, |
386 |
label => q<label>, |
387 |
form => q<form>, |
388 |
}, |
389 |
}, |
390 |
{ |
391 |
name => q<XHTML 1.0 SE Frameset>, |
392 |
class => { |
393 |
'%special.extra' => q"object | applet | img | map | iframe", |
394 |
'%special.basic' => q"br | span | bdo", |
395 |
'%special' => q"%special.basic | %special.extra", |
396 |
'%fontstyle.extra' => q"big | small | font | basefont", |
397 |
'%fontstyle.basic' => q"tt | i | b | u |
398 |
| s | strike ", |
399 |
'%fontstyle' => q"%fontstyle.basic | %fontstyle.extra", |
400 |
'%phrase.extra' => q"sub | sup", |
401 |
'%phrase.basic' => q"em | strong | dfn | code | q | |
402 |
samp | kbd | var | cite | abbr | acronym", |
403 |
'%phrase' => q"%phrase.basic | %phrase.extra", |
404 |
'%inline.forms' => q"input | select | textarea | label | button", |
405 |
'%misc' => q"noscript | %misc.inline", |
406 |
'%misc.inline' => q"ins | del | script", |
407 |
'%inline' => q"a | %special | %fontstyle | %phrase | %inline.forms", |
408 |
'%Inline' => q"#PCDATA | %inline | %misc.inline", |
409 |
'%heading' => q"h1|h2|h3|h4|h5|h6", |
410 |
'%lists' => q"ul | ol | dl | menu | dir", |
411 |
'%blocktext' => q"pre | hr | blockquote | address | center", |
412 |
'%block' => q"p | %heading | div | %lists | %blocktext | isindex |fieldset | table", |
413 |
'%Flow' => q"#PCDATA | %block | form | %inline | %misc", |
414 |
}, |
415 |
class_misc => { |
416 |
a => q<%a.content>, |
417 |
'%a.content' => q<#PCDATA %special %fontstyle %phrase %inline.forms |
418 |
%misc.inline>, |
419 |
pre => q<%pre.content>, |
420 |
'%pre.content' => q<#PCDATA a %fontstyle.basic %phrase.basic %special.basic |
421 |
%misc.inline %inline.forms>, |
422 |
form => q<%form.content>, |
423 |
'%form.content' => q<%block %inline %misc>, |
424 |
button => q<%button.content>, |
425 |
'%button.content' => q<#PCDATA p %heading div %lists |
426 |
%blocktext table br span bdo object |
427 |
applet img map %fontstyle %phrase %misc>, |
428 |
label => q<%Inline>, |
429 |
fieldset => q<#PCDATA legend %block form %inline %misc>, |
430 |
td => q<%Flow>, |
431 |
}, |
432 |
minus => { |
433 |
a => q<a>, |
434 |
pre => q<img object big small sub sup>, |
435 |
button => q<input select textarea label form button fieldset |
436 |
iframe isindex>, |
437 |
label => q<label>, |
438 |
form => q<form>, |
439 |
}, |
440 |
}, |
441 |
{ |
442 |
name => q<XHTML 1.0 SE Strict>, |
443 |
class => { |
444 |
'%special' => q"%special.pre | object | img ", |
445 |
'%special.pre' => q"br | span | bdo | map", |
446 |
'%fontstyle' => q"tt | i | b | big | small", |
447 |
'%phrase' => q"em | strong | dfn | code | q | |
448 |
samp | kbd | var | cite | abbr | acronym | sub | sup", |
449 |
'%inline.forms' => q"input | select | textarea | label | button", |
450 |
'%misc' => q"noscript | %misc.inline", |
451 |
'%misc.inline' => q"ins | del | script", |
452 |
'%inline' => q"a | %special | %fontstyle | %phrase | %inline.forms", |
453 |
'%Inline' => q"#PCDATA | %inline | %misc.inline", |
454 |
'%heading' => q"h1|h2|h3|h4|h5|h6", |
455 |
'%lists' => q"ul | ol | dl", |
456 |
'%blocktext' => q"pre | hr | blockquote | address", |
457 |
'%block' => q"p | %heading | div | %lists | %blocktext | fieldset | table", |
458 |
'%Block' => q"%block | form | %misc", |
459 |
'%Flow' => q"#PCDATA | %block | form | %inline | %misc", |
460 |
}, |
461 |
class_misc => { |
462 |
a => q<%a.content>, |
463 |
'%a.content' => q<#PCDATA %special %fontstyle %phrase %inline.forms |
464 |
%misc.inline>, |
465 |
pre => q<%pre.content>, |
466 |
'%pre.content' => q<#PCDATA a %fontstyle %phrase %special.pre |
467 |
%misc.inline %inline.forms>, |
468 |
form => q<%form.content>, |
469 |
'%form.content' => q<%block %misc>, |
470 |
button => q<%button.content>, |
471 |
'%button.content' => q<#PCDATA p %heading div %lists |
472 |
%blocktext table %special %fontstyle |
473 |
%phrase %misc>, |
474 |
label => q<%Inline>, |
475 |
fieldset => q<#PCDATA legend %block form %inline %misc>, |
476 |
td => q<%Flow>, |
477 |
}, |
478 |
minus => { |
479 |
a => q<a>, |
480 |
pre => q<img object big small sub sup>, |
481 |
button => q<input select textarea label form button fieldset |
482 |
iframe isindex>, |
483 |
label => q<label>, |
484 |
form => q<form>, |
485 |
}, |
486 |
}, |
487 |
{ |
488 |
name => q<XHTML 1.1 (m12n 1.0 FE/SE DTD)>, |
489 |
class => { |
490 |
'%Edit.class' => q"ins | del ", |
491 |
'%Script.class' => q"script noscript", |
492 |
'%Misc.extra' => q"", |
493 |
'%Misc.class' => q"%Edit.class %Script.class %Misc.extra ", |
494 |
'%InlStruct.class' => q"br span", |
495 |
'%InlPhras.class' => q"em strong dfn code samp kbd var cite abbr acronym q", |
496 |
'%InlPres.class' => q"tt i b big small sub sup", |
497 |
'%I18n.class' => q"bdo", |
498 |
'%Anchor.class' => q"a", |
499 |
'%InlSpecial.class' => q"img map object", |
500 |
'%InlForm.class' => q"input select textarea label button", |
501 |
'%Inline.extra' => q"", |
502 |
'%Ruby.class' => q"ruby", |
503 |
'%Inline.class' => q"%InlStruct.class %InlPhras.class %InlPres.class %I18n.class %Anchor.class %InlSpecial.class %InlForm.class %Ruby.class %Inline.extra ", |
504 |
'%InlNoRuby.class' => q"%InlStruct.class %InlPhras.class %InlPres.class %I18n.class %Anchor.class %InlSpecial.class %InlForm.class %Inline.extra ", |
505 |
'%NoRuby.content' => q"#PCDATA %InlNoRuby.class %Misc.class ", |
506 |
'%InlNoAnchor.class' => q"%InlStruct.class %InlPhras.class %InlPres.class %I18n.class %InlSpecial.class %InlForm.class %Ruby.class %Inline.extra ", |
507 |
'%InlNoAnchor.mix' => q"%InlNoAnchor.class %Misc.class ", |
508 |
'%Inline.mix' => q"%Inline.class %Misc.class ", |
509 |
'%Heading.class' => q"h1 h2 h3 h4 h5 h6", |
510 |
'%List.class' => q"ul ol dl", |
511 |
'%Table.class' => q"table", |
512 |
'%Form.class' => q"form", |
513 |
'%Fieldset.class' => q"fieldset", |
514 |
'%BlkStruct.class' => q"p div", |
515 |
'%BlkPhras.class' => q"pre blockquote address", |
516 |
'%BlkPres.class' => q"hr", |
517 |
'%BlkSpecial.class' => q"%Table.class %Form.class %Fieldset.class ", |
518 |
'%Block.extra' => q"", |
519 |
'%Block.class' => q"%BlkStruct.class %BlkPhras.class %BlkPres.class %BlkSpecial.class %Block.extra ", |
520 |
'%Block.mix' => q"%Heading.class %List.class %Block.class %Misc.class ", |
521 |
'%Flow.mix' => q"%Heading.class %List.class %Block.class %Inline.class %Misc.class ", |
522 |
'%BlkNoForm.mix' => q<%Heading.class %List.class %BlkStruct.class |
523 |
%BlkPhras.class %Table.class %Misc.class |
524 |
%Block.extra>, |
525 |
}, |
526 |
class_misc => { |
527 |
pre => q<%pre.content>, |
528 |
'%pre.content' => q<#PCDATA %InlStruct.class %InlPhras.class |
529 |
tt i b %I18n.class %Anchor.class script map |
530 |
%Inline.extra>, |
531 |
a => q<%a.content>, |
532 |
'%a.content' => q<#PCDATA %InlNoAnchor.mix>, |
533 |
form => q<%form.content>, |
534 |
'%form.content' => q<%BlkNoForm.mix fieldset>, |
535 |
label => q<%label.content>, |
536 |
'%label.content' => q<#PCDATA input select textarea button |
537 |
%InlStruct.class %InlPhras.class |
538 |
%I18n.class %InlPres.class %Anchor.class |
539 |
%InlSpecial.class %Inline.extra %Misc.class>, |
540 |
fieldset => q<%fieldset.content>, |
541 |
'%fieldset.content' => q<#PCDATA legend %Flow.mix>, |
542 |
button => q<%button.content>, |
543 |
'%button.content' => q<#PCDATA %BlkNoForm.mix %InlStruct.class |
544 |
%InlPhras.class %InlPres.class |
545 |
%I18n.class %InlSpecial.class %Inline.extra>, |
546 |
td => q<#PCDATA %Flow.mix>, |
547 |
}, |
548 |
}, |
549 |
{ |
550 |
name => q<XHTML 1.1 + Legacy (m12n 1.0 FE/SE DTD)>, |
551 |
class => { |
552 |
'%Edit.class' => q"ins | del ", |
553 |
'%Script.class' => q"script noscript", |
554 |
'%Misc.extra' => q"", |
555 |
'%Misc.class' => q"%Edit.class %Script.class %Misc.extra ", |
556 |
'%InlStruct.class' => q"br span", |
557 |
'%InlPhras.class' => q"em strong dfn code samp kbd var cite abbr acronym q", |
558 |
'%InlPres.class' => q"tt i b big small sub sup |
559 |
font basefont iframe s strike u", |
560 |
'%I18n.class' => q"bdo", |
561 |
'%Anchor.class' => q"a", |
562 |
'%InlSpecial.class' => q"img map object applet", |
563 |
'%InlForm.class' => q"input select textarea label button", |
564 |
'%Inline.extra' => q"", |
565 |
'%Ruby.class' => q"ruby", |
566 |
'%Inline.class' => q"%InlStruct.class %InlPhras.class %InlPres.class %I18n.class %Anchor.class %InlSpecial.class %InlForm.class %Ruby.class %Inline.extra ", |
567 |
'%InlNoRuby.class' => q"%InlStruct.class %InlPhras.class %InlPres.class %I18n.class %Anchor.class %InlSpecial.class %InlForm.class %Inline.extra ", |
568 |
'%NoRuby.content' => q"#PCDATA %InlNoRuby.class %Misc.class ", |
569 |
'%InlNoAnchor.class' => q"%InlStruct.class %InlPhras.class %InlPres.class %I18n.class %InlSpecial.class %InlForm.class %Ruby.class %Inline.extra ", |
570 |
'%InlNoAnchor.mix' => q"%InlNoAnchor.class %Misc.class ", |
571 |
'%Inline.mix' => q"%Inline.class %Misc.class ", |
572 |
'%Heading.class' => q"h1 h2 h3 h4 h5 h6", |
573 |
'%List.class' => q"ul ol dl dir menu", |
574 |
'%Table.class' => q"table", |
575 |
'%Form.class' => q"form", |
576 |
'%Fieldset.class' => q"fieldset", |
577 |
'%BlkStruct.class' => q"p div", |
578 |
'%BlkPhras.class' => q"pre blockquote address", |
579 |
'%BlkPres.class' => q"hr center", |
580 |
'%BlkSpecial.class' => q"table form fieldset noframes isindex", |
581 |
'%Block.extra' => q"", |
582 |
'%Block.class' => q"%BlkStruct.class %BlkPhras.class %BlkPres.class %BlkSpecial.class %Block.extra ", |
583 |
'%Block.mix' => q"%Heading.class %List.class %Block.class %Misc.class ", |
584 |
'%Flow.mix' => q"%Heading.class %List.class %Block.class %Inline.class %Misc.class ", |
585 |
'%BlkNoForm.mix' => q<%Heading.class %List.class %BlkStruct.class |
586 |
%BlkPhras.class %Table.class %Misc.class |
587 |
%Block.extra>, |
588 |
}, |
589 |
class_misc => { |
590 |
pre => q<%pre.content>, |
591 |
'%pre.content' => q<#PCDATA %InlStruct.class %InlPhras.class |
592 |
tt i b %I18n.class %Anchor.class script map |
593 |
%Inline.extra>, |
594 |
a => q<%a.content>, |
595 |
'%a.content' => q<#PCDATA %InlNoAnchor.mix>, |
596 |
form => q<%form.content>, |
597 |
'%form.content' => q<%BlkNoForm.mix fieldset>, |
598 |
label => q<%label.content>, |
599 |
'%label.content' => q<#PCDATA input select textarea button |
600 |
%InlStruct.class %InlPhras.class |
601 |
%I18n.class %InlPres.class %Anchor.class |
602 |
%InlSpecial.class %Inline.extra %Misc.class>, |
603 |
fieldset => q<%fieldset.content>, |
604 |
'%fieldset.content' => q<#PCDATA legend %Flow.mix>, |
605 |
button => q<%button.content>, |
606 |
'%button.content' => q<#PCDATA %BlkNoForm.mix %InlStruct.class |
607 |
%InlPhras.class %InlPres.class |
608 |
%I18n.class %InlSpecial.class %Inline.extra>, |
609 |
td => q<#PCDATA %Flow.mix>, |
610 |
}, |
611 |
}, |
612 |
{ |
613 |
name => q<XHTML m12n 1.0 FE/SE Abstract>, |
614 |
class => { |
615 |
'Heading' => q"h1 | h2 | h3 | h4 | h5 | h6", |
616 |
'Block' => q"address | blockquote | div | p | pre | hr Form table script noscript", |
617 |
'Inline' => q"abbr | acronym | br | cite | code | dfn | em | kbd | q | samp | span | strong | var a applet b big i small sub sup tt ins del bdo Formctrl img map object iframe script noscript", |
618 |
'Flow' => q"Heading | Block | Inline List", |
619 |
'List' => q"dl | ol | ul", |
620 |
'Form' => q"form fieldset", |
621 |
'Formctrl' => q"input | select | textarea | label | button", |
622 |
}, |
623 |
class_misc => { |
624 |
pre => q<PCDATA Inline>, |
625 |
a => q<PCDATA Inline>, |
626 |
form => q<Heading List Block fieldset>, |
627 |
label => q<PCDATA Inline>, |
628 |
button => q<PCDATA Heading List Block Inline>, |
629 |
fieldset => q<PCDATA legend Flow>, |
630 |
label => q<PCDATA Inline>, |
631 |
td => q<PCDATA Flow>, |
632 |
'td#' => q<PCDATA Flow>, |
633 |
}, |
634 |
minus => { |
635 |
a => q<a>, |
636 |
form => q<form>, |
637 |
label => q<label>, |
638 |
button => q<Form Formctrl>, |
639 |
label => q<label>, |
640 |
'td#' => q<table>, |
641 |
}, |
642 |
}, |
643 |
]; |
644 |
|
645 |
1; |