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