html-validator 0.1.0 → 0.1.1

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.
@@ -0,0 +1,112 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
3
+ <!-- ##################################################################### -->
4
+ <define name="time.elem">
5
+ <a:documentation> RELAX NG Schema for HTML 5: Static Data Markup #</a:documentation>
6
+ <!-- ##################################################################### -->
7
+ <a:documentation>Time: &lt;time&gt;</a:documentation>
8
+ <element name="time">
9
+ <interleave>
10
+ <ref name="time.inner"/>
11
+ <ref name="time.attrs"/>
12
+ </interleave>
13
+ </element>
14
+ </define>
15
+ <define name="time.attrs">
16
+ <interleave>
17
+ <ref name="common.attrs"/>
18
+ <optional>
19
+ <ref name="time.attrs.datetime"/>
20
+ </optional>
21
+ </interleave>
22
+ </define>
23
+ <define name="time.attrs.datetime">
24
+ <attribute name="datetime">
25
+ <ref name="common.data.time-datetime"/>
26
+ </attribute>
27
+ </define>
28
+ <define name="time.attrs.datetime.dateonly">
29
+ <attribute name="datetime">
30
+ <ref name="common.data.date"/>
31
+ </attribute>
32
+ </define>
33
+ <define name="time.attrs.datetime.tz">
34
+ <attribute name="datetime">
35
+ <ref name="common.data.datetime"/>
36
+ </attribute>
37
+ </define>
38
+ <define name="time.inner">
39
+ <ref name="common.inner.phrasing"/>
40
+ </define>
41
+ <!-- Cannot enforce textContent format here -->
42
+ <define name="common.elem.phrasing" combine="choice">
43
+ <ref name="time.elem"/>
44
+ </define>
45
+ <define name="meter.elem">
46
+ <a:documentation>Scalar Gauge: &lt;meter&gt;</a:documentation>
47
+ <element name="meter">
48
+ <interleave>
49
+ <ref name="meter.inner"/>
50
+ <ref name="meter.attrs"/>
51
+ </interleave>
52
+ </element>
53
+ </define>
54
+ <define name="meter.attrs">
55
+ <interleave>
56
+ <ref name="common.attrs"/>
57
+ <ref name="meter.attrs.value"/>
58
+ <optional>
59
+ <ref name="meter.attrs.min"/>
60
+ </optional>
61
+ <optional>
62
+ <ref name="meter.attrs.low"/>
63
+ </optional>
64
+ <optional>
65
+ <ref name="meter.attrs.high"/>
66
+ </optional>
67
+ <optional>
68
+ <ref name="meter.attrs.max"/>
69
+ </optional>
70
+ <optional>
71
+ <ref name="meter.attrs.optimum"/>
72
+ </optional>
73
+ </interleave>
74
+ </define>
75
+ <define name="meter.attrs.value">
76
+ <attribute name="value">
77
+ <ref name="common.data.float"/>
78
+ </attribute>
79
+ </define>
80
+ <define name="meter.attrs.min">
81
+ <attribute name="min">
82
+ <ref name="common.data.float"/>
83
+ </attribute>
84
+ </define>
85
+ <define name="meter.attrs.low">
86
+ <attribute name="low">
87
+ <ref name="common.data.float"/>
88
+ </attribute>
89
+ </define>
90
+ <define name="meter.attrs.high">
91
+ <attribute name="high">
92
+ <ref name="common.data.float"/>
93
+ </attribute>
94
+ </define>
95
+ <define name="meter.attrs.max">
96
+ <attribute name="max">
97
+ <ref name="common.data.float"/>
98
+ </attribute>
99
+ </define>
100
+ <define name="meter.attrs.optimum">
101
+ <attribute name="optimum">
102
+ <ref name="common.data.float"/>
103
+ </attribute>
104
+ </define>
105
+ <define name="meter.inner">
106
+ <ref name="common.inner.phrasing"/>
107
+ </define>
108
+ <!-- Cannot enforce textContent format here -->
109
+ <define name="common.elem.phrasing" combine="choice">
110
+ <ref name="meter.elem"/>
111
+ </define>
112
+ </grammar>
@@ -0,0 +1,1044 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" >
3
+ <!-- ##################################################################### -->
4
+ <define name="img.elem">
5
+ <a:documentation> RELAX NG Schema for HTML 5: Embedded Content #</a:documentation>
6
+ <!-- ##################################################################### -->
7
+ <a:documentation>
8
+ Replaced Content</a:documentation>
9
+ <a:documentation>Images: &lt;img&gt;</a:documentation>
10
+ <element name="img">
11
+ <interleave>
12
+ <ref name="img.inner"/>
13
+ <ref name="img.attrs"/>
14
+ </interleave>
15
+ </element>
16
+ </define>
17
+ <define name="img.attrs">
18
+ <interleave>
19
+ <ref name="common.attrs"/>
20
+ <ref name="img.attrs.src"/>
21
+ <optional>
22
+ <ref name="img.attrs.alt"/>
23
+ </optional>
24
+ <optional>
25
+ <ref name="img.attrs.height"/>
26
+ </optional>
27
+ <optional>
28
+ <ref name="img.attrs.width"/>
29
+ </optional>
30
+ <optional>
31
+ <ref name="img.attrs.usemap"/>
32
+ </optional>
33
+ <optional>
34
+ <ref name="img.attrs.ismap"/>
35
+ </optional>
36
+ <optional>
37
+ <ref name="img.attrs.border"/>
38
+ </optional>
39
+ <optional>
40
+ <!-- obsolete -->
41
+ <ref name="common.attrs.aria"/>
42
+ </optional>
43
+ </interleave>
44
+ </define>
45
+ <define name="img.attrs.src">
46
+ <attribute name="src">
47
+ <ref name="common.data.uri.non-empty"/>
48
+ </attribute>
49
+ </define>
50
+ <define name="img.attrs.alt">
51
+ <attribute name="alt"/>
52
+ </define>
53
+ <define name="img.attrs.height">
54
+ <attribute name="height">
55
+ <ref name="common.data.integer.non-negative"/>
56
+ </attribute>
57
+ </define>
58
+ <define name="img.attrs.width">
59
+ <attribute name="width">
60
+ <ref name="common.data.integer.non-negative"/>
61
+ </attribute>
62
+ </define>
63
+ <define name="img.attrs.usemap">
64
+ <attribute name="usemap">
65
+ <ref name="common.data.hash-name"/>
66
+ </attribute>
67
+ </define>
68
+ <define name="img.attrs.ismap">
69
+ <attribute name="ismap">
70
+ <choice>
71
+ <value type="string">ismap</value>
72
+ <value type="string"/>
73
+ </choice>
74
+ </attribute>
75
+ </define>
76
+ <define name="img.attrs.border">
77
+ <attribute name="border">
78
+ <ref name="common.data.zero"/>
79
+ </attribute>
80
+ </define>
81
+ <define name="img.inner">
82
+ <empty/>
83
+ </define>
84
+ <define name="common.elem.phrasing" combine="choice">
85
+ <ref name="img.elem"/>
86
+ </define>
87
+ <define name="embed.elem">
88
+ <a:documentation>Plug-ins: &lt;embed&gt;</a:documentation>
89
+ <element name="embed">
90
+ <interleave>
91
+ <ref name="embed.inner"/>
92
+ <ref name="embed.attrs"/>
93
+ </interleave>
94
+ </element>
95
+ </define>
96
+ <define name="embed.attrs">
97
+ <interleave>
98
+ <ref name="common.attrs"/>
99
+ <optional>
100
+ <ref name="embed.attrs.src"/>
101
+ </optional>
102
+ <optional>
103
+ <ref name="embed.attrs.type"/>
104
+ </optional>
105
+ <optional>
106
+ <ref name="embed.attrs.height"/>
107
+ </optional>
108
+ <optional>
109
+ <ref name="embed.attrs.width"/>
110
+ </optional>
111
+ <zeroOrMore>
112
+ <ref name="embed.attrs.other"/>
113
+ </zeroOrMore>
114
+ </interleave>
115
+ </define>
116
+ <define name="embed.attrs.src">
117
+ <attribute name="src">
118
+ <ref name="common.data.uri.non-empty"/>
119
+ </attribute>
120
+ </define>
121
+ <define name="embed.attrs.type">
122
+ <attribute name="type">
123
+ <ref name="common.data.mimetype"/>
124
+ </attribute>
125
+ </define>
126
+ <define name="embed.attrs.height">
127
+ <attribute name="height">
128
+ <ref name="common.data.integer.non-negative"/>
129
+ </attribute>
130
+ </define>
131
+ <define name="embed.attrs.width">
132
+ <attribute name="width">
133
+ <ref name="common.data.integer.non-negative"/>
134
+ </attribute>
135
+ </define>
136
+ <define name="embed.attrs.other">
137
+ <!-- REVISIT common.attrs -->
138
+ <attribute>
139
+ <nsName ns="">
140
+ <except>
141
+ <name ns="">src</name>
142
+ <name ns="">type</name>
143
+ <name ns="">height</name>
144
+ <name ns="">width</name>
145
+ <name ns="">id</name>
146
+ <name ns="">class</name>
147
+ <name ns="">title</name>
148
+ <name ns="">dir</name>
149
+ <name ns="">lang</name>
150
+ <name ns="">translate</name>
151
+ <name ns="">style</name>
152
+ <name ns="">tabindex</name>
153
+ <name ns="">contextmenu</name>
154
+ <name ns="">contenteditable</name>
155
+ <name ns="">draggable</name>
156
+ <name ns="">dropzone</name>
157
+ <name ns="">hidden</name>
158
+ <name ns="">onabort</name>
159
+ <name ns="">onblur</name>
160
+ <name ns="">oncanplay</name>
161
+ <name ns="">oncanplaythrough</name>
162
+ <name ns="">onchange</name>
163
+ <name ns="">onclick</name>
164
+ <name ns="">oncontextmenu</name>
165
+ <name ns="">ondblclick</name>
166
+ <name ns="">ondrag</name>
167
+ <name ns="">ondragend</name>
168
+ <name ns="">ondragenter</name>
169
+ <name ns="">ondragleave</name>
170
+ <name ns="">ondragover</name>
171
+ <name ns="">ondragstart</name>
172
+ <name ns="">ondrop</name>
173
+ <name ns="">ondurationchange</name>
174
+ <name ns="">onemptied</name>
175
+ <name ns="">onended</name>
176
+ <name ns="">onerror</name>
177
+ <name ns="">onfocus</name>
178
+ <name ns="">oninput</name>
179
+ <name ns="">oninvalid</name>
180
+ <name ns="">onkeydown</name>
181
+ <name ns="">onkeypress</name>
182
+ <name ns="">onkeyup</name>
183
+ <name ns="">onload</name>
184
+ <name ns="">onloadeddata</name>
185
+ <name ns="">onloadedmetadata</name>
186
+ <name ns="">onloadstart</name>
187
+ <name ns="">onmousedown</name>
188
+ <name ns="">onmousemove</name>
189
+ <name ns="">onmouseout</name>
190
+ <name ns="">onmouseover</name>
191
+ <name ns="">onmouseup</name>
192
+ <name ns="">onmousewheel</name>
193
+ <name ns="">onpause</name>
194
+ <name ns="">onplay</name>
195
+ <name ns="">onplaying</name>
196
+ <name ns="">onprogress</name>
197
+ <name ns="">onratechange</name>
198
+ <name ns="">onreset</name>
199
+ <name ns="">onscroll</name>
200
+ <name ns="">onseeked</name>
201
+ <name ns="">onseeking</name>
202
+ <name ns="">onselect</name>
203
+ <name ns="">onshow</name>
204
+ <name ns="">onstalled</name>
205
+ <name ns="">onsubmit</name>
206
+ <name ns="">onsuspend</name>
207
+ <name ns="">ontimeupdate</name>
208
+ <name ns="">onvolumechange</name>
209
+ <name ns="">onwaiting</name>
210
+ <name ns="">onafterprint</name>
211
+ <name ns="">onbeforeprint</name>
212
+ <name ns="">onbeforeunload</name>
213
+ <name ns="">onhashchange</name>
214
+ <name ns="">onmessage</name>
215
+ <name ns="">onoffline</name>
216
+ <name ns="">ononline</name>
217
+ <name ns="">onpopstate</name>
218
+ <name ns="">onredo</name>
219
+ <name ns="">onresize</name>
220
+ <name ns="">onstorage</name>
221
+ <name ns="">onundo</name>
222
+ <name ns="">onunload</name>
223
+ <name ns="">role</name>
224
+ <name ns="">aria-atomic</name>
225
+ <name ns="">aria-busy</name>
226
+ <name ns="">aria-controls</name>
227
+ <name ns="">aria-describedby</name>
228
+ <name ns="">aria-disabled</name>
229
+ <name ns="">aria-dropeffect</name>
230
+ <name ns="">aria-flowto</name>
231
+ <name ns="">aria-grabbed</name>
232
+ <name ns="">aria-haspopup</name>
233
+ <name ns="">aria-hidden</name>
234
+ <name ns="">aria-invalid</name>
235
+ <name ns="">aria-label</name>
236
+ <name ns="">aria-labelledby</name>
237
+ <name ns="">aria-live</name>
238
+ <name ns="">aria-owns</name>
239
+ <name ns="">aria-relevant</name>
240
+ <name ns="">aria-required</name>
241
+ <name ns="">spellcheck</name>
242
+ <name ns="">accesskey</name>
243
+ <name ns="">itemref</name>
244
+ <name ns="">itemprop</name>
245
+ <name ns="">itemscope</name>
246
+ <name ns="">itemtype</name>
247
+ <name ns="">itemid</name>
248
+ <name ns="">name</name>
249
+ <name ns="">align</name>
250
+ <name ns="">about</name>
251
+ <name ns="">prefix</name>
252
+ <name ns="">property</name>
253
+ <name ns="">typeof</name>
254
+ <name ns="">vocab</name>
255
+ <name ns="">content</name>
256
+ <name ns="">datatype</name>
257
+ <name ns="">href</name>
258
+ <name ns="">rel</name>
259
+ <name ns="">resource</name>
260
+ <name ns="">rev</name>
261
+ <name ns="">inlist</name>
262
+ <name ns="">its-loc-note</name>
263
+ <name ns="">its-loc-note-type</name>
264
+ <name ns="">its-loc-note-ref</name>
265
+ <name ns="">its-term-info-ref</name>
266
+ <name ns="">its-term</name>
267
+ <name ns="">its-term-confidence</name>
268
+ <name ns="">its-within-text</name>
269
+ <name ns="">its-domain-mapping</name>
270
+ <name ns="">its-disambig-granularity</name>
271
+ <name ns="">its-disambig-confidence</name>
272
+ <name ns="">its-disambig-class-ref</name>
273
+ <name ns="">its-disambig-ident</name>
274
+ <name ns="">its-disambig-ident-ref</name>
275
+ <name ns="">its-disambig-source</name>
276
+ <name ns="">its-locale-filter-list</name>
277
+ <name ns="">its-person</name>
278
+ <name ns="">its-person-ref</name>
279
+ <name ns="">its-org</name>
280
+ <name ns="">its-org-ref</name>
281
+ <name ns="">its-tool</name>
282
+ <name ns="">its-tool-ref</name>
283
+ <name ns="">its-rev-person</name>
284
+ <name ns="">its-rev-person-ref</name>
285
+ <name ns="">its-rev-org</name>
286
+ <name ns="">its-rev-org-ref</name>
287
+ <name ns="">its-rev-tool</name>
288
+ <name ns="">its-rev-tool-ref</name>
289
+ <name ns="">its-prov-ref</name>
290
+ <name ns="">its-provenance-records-ref</name>
291
+ <name ns="">its-loc-quality-issues-ref</name>
292
+ <name ns="">its-loc-quality-issue-type</name>
293
+ <name ns="">its-loc-quality-issue-comment</name>
294
+ <name ns="">its-loc-quality-issue-severity</name>
295
+ <name ns="">its-loc-quality-issue-profile-ref</name>
296
+ <name ns="">its-loc-quality-issue-enabled</name>
297
+ <name ns="">its-loc-quality-rating-score</name>
298
+ <name ns="">its-loc-quality-rating-vote</name>
299
+ <name ns="">its-loc-quality-rating-score-threshold</name>
300
+ <name ns="">its-loc-quality-rating-vote-threshold</name>
301
+ <name ns="">its-loc-quality-rating-profile-ref</name>
302
+ <name ns="">its-mt-confidence</name>
303
+ <name ns="">its-allowed-characters</name>
304
+ <name ns="">its-storage-size</name>
305
+ <name ns="">its-storage-encoding</name>
306
+ <name ns="">its-line-break-type</name>
307
+ <name ns="">its-annotators-ref</name>
308
+ </except>
309
+ </nsName>
310
+ <data type="string" datatypeLibrary=""/>
311
+ </attribute>
312
+ </define>
313
+ <define name="embed.inner">
314
+ <empty/>
315
+ </define>
316
+ <define name="common.elem.phrasing" combine="choice">
317
+ <ref name="embed.elem"/>
318
+ </define>
319
+ <define name="object.elem.flow">
320
+ <a:documentation>Generic Objects: &lt;object&gt;</a:documentation>
321
+ <element name="object">
322
+ <interleave>
323
+ <ref name="object.inner.flow"/>
324
+ <ref name="object.attrs"/>
325
+ </interleave>
326
+ </element>
327
+ </define>
328
+ <define name="object.elem.phrasing">
329
+ <element name="object">
330
+ <interleave>
331
+ <ref name="object.inner.phrasing"/>
332
+ <ref name="object.attrs"/>
333
+ </interleave>
334
+ </element>
335
+ </define>
336
+ <define name="object.attrs">
337
+ <interleave>
338
+ <ref name="common.attrs"/>
339
+ <choice>
340
+ <interleave>
341
+ <ref name="object.attrs.data"/>
342
+ <optional>
343
+ <ref name="object.attrs.type"/>
344
+ </optional>
345
+ </interleave>
346
+ <ref name="object.attrs.type"/>
347
+ </choice>
348
+ <optional>
349
+ <!--
350
+ & object.attrs.classid?
351
+ & object.attrs.codebase?
352
+ & object.attrs.codetype?
353
+ -->
354
+ <ref name="object.attrs.height"/>
355
+ </optional>
356
+ <optional>
357
+ <ref name="object.attrs.width"/>
358
+ </optional>
359
+ <optional>
360
+ <ref name="object.attrs.usemap"/>
361
+ </optional>
362
+ <optional>
363
+ <ref name="object.attrs.name"/>
364
+ </optional>
365
+ <optional>
366
+ <ref name="common-form.attrs.form"/>
367
+ </optional>
368
+ <optional>
369
+ <ref name="common.attrs.aria"/>
370
+ </optional>
371
+ </interleave>
372
+ </define>
373
+ <define name="object.attrs.data">
374
+ <attribute name="data">
375
+ <ref name="common.data.uri.non-empty"/>
376
+ </attribute>
377
+ </define>
378
+ <define name="object.attrs.type">
379
+ <attribute name="type">
380
+ <ref name="common.data.mimetype"/>
381
+ </attribute>
382
+ </define>
383
+ <define name="object.attrs.height">
384
+ <attribute name="height">
385
+ <ref name="common.data.integer.non-negative"/>
386
+ </attribute>
387
+ </define>
388
+ <define name="object.attrs.width">
389
+ <attribute name="width">
390
+ <ref name="common.data.integer.non-negative"/>
391
+ </attribute>
392
+ </define>
393
+ <define name="object.attrs.usemap">
394
+ <attribute name="usemap">
395
+ <ref name="common.data.hash-name"/>
396
+ </attribute>
397
+ </define>
398
+ <define name="object.attrs.name">
399
+ <attribute name="name">
400
+ <ref name="common.data.browsing-context"/>
401
+ </attribute>
402
+ </define>
403
+ <define name="object.inner.flow">
404
+ <zeroOrMore>
405
+ <ref name="param.elem"/>
406
+ </zeroOrMore>
407
+ <ref name="common.inner.flow"/>
408
+ </define>
409
+ <define name="object.inner.phrasing">
410
+ <zeroOrMore>
411
+ <ref name="param.elem"/>
412
+ </zeroOrMore>
413
+ <ref name="common.inner.phrasing"/>
414
+ </define>
415
+ <define name="common.elem.flow" combine="choice">
416
+ <ref name="object.elem.flow"/>
417
+ </define>
418
+ <define name="common.elem.phrasing" combine="choice">
419
+ <ref name="object.elem.phrasing"/>
420
+ </define>
421
+ <define name="param.elem">
422
+ <a:documentation>Initialization Parameters: &lt;param&gt;</a:documentation>
423
+ <element name="param">
424
+ <interleave>
425
+ <ref name="param.inner"/>
426
+ <ref name="param.attrs"/>
427
+ </interleave>
428
+ </element>
429
+ </define>
430
+ <define name="param.attrs">
431
+ <interleave>
432
+ <ref name="common.attrs"/>
433
+ <ref name="param.attrs.name"/>
434
+ <ref name="param.attrs.value"/>
435
+ </interleave>
436
+ </define>
437
+ <define name="param.attrs.name">
438
+ <attribute name="name">
439
+ <data type="string" datatypeLibrary=""/>
440
+ </attribute>
441
+ </define>
442
+ <define name="param.attrs.value">
443
+ <attribute name="value">
444
+ <data type="string" datatypeLibrary=""/>
445
+ </attribute>
446
+ </define>
447
+ <define name="param.inner">
448
+ <empty/>
449
+ </define>
450
+ <define name="iframe.elem">
451
+ <a:documentation>Inline Frame: &lt;iframe&gt;</a:documentation>
452
+ <element name="iframe">
453
+ <interleave>
454
+ <ref name="iframe.inner"/>
455
+ <ref name="iframe.attrs"/>
456
+ </interleave>
457
+ </element>
458
+ </define>
459
+ <define name="iframe.attrs">
460
+ <interleave>
461
+ <ref name="common.attrs"/>
462
+ <optional>
463
+ <ref name="iframe.attrs.src"/>
464
+ </optional>
465
+ <optional>
466
+ <ref name="iframe.attrs.srcdoc"/>
467
+ </optional>
468
+ <optional>
469
+ <ref name="iframe.attrs.name"/>
470
+ </optional>
471
+ <optional>
472
+ <ref name="iframe.attrs.width"/>
473
+ </optional>
474
+ <optional>
475
+ <ref name="iframe.attrs.height"/>
476
+ </optional>
477
+ <optional>
478
+ <ref name="iframe.attrs.sandbox"/>
479
+ </optional>
480
+ <optional>
481
+ <ref name="iframe.attrs.seamless"/>
482
+ </optional>
483
+ <optional>
484
+ <choice>
485
+ <ref name="common.attrs.aria"/>
486
+ <ref name="common.attrs.aria.implicit.region"/>
487
+ </choice>
488
+ </optional>
489
+ </interleave>
490
+ </define>
491
+ <define name="iframe.attrs.src">
492
+ <attribute name="src">
493
+ <ref name="common.data.uri.non-empty"/>
494
+ </attribute>
495
+ </define>
496
+ <define name="iframe.attrs.srcdoc">
497
+ <attribute name="srcdoc">
498
+ <data type="string" datatypeLibrary=""/>
499
+ <!-- FIXME -->
500
+ </attribute>
501
+ </define>
502
+ <define name="iframe.attrs.name">
503
+ <attribute name="name">
504
+ <ref name="common.data.browsing-context"/>
505
+ </attribute>
506
+ </define>
507
+ <define name="iframe.attrs.height">
508
+ <attribute name="height">
509
+ <ref name="common.data.integer.non-negative"/>
510
+ </attribute>
511
+ </define>
512
+ <define name="iframe.attrs.width">
513
+ <attribute name="width">
514
+ <ref name="common.data.integer.non-negative"/>
515
+ </attribute>
516
+ </define>
517
+ <define name="iframe.attrs.seamless">
518
+ <interleave>
519
+ <attribute name="seamless">
520
+ <choice>
521
+ <value type="string">seamless</value>
522
+ <value type="string"/>
523
+ </choice>
524
+ </attribute>
525
+ <ref name="v5only"/>
526
+ </interleave>
527
+ </define>
528
+ <define name="iframe.attrs.sandbox">
529
+ <interleave>
530
+ <attribute name="sandbox">
531
+ <choice>
532
+ <list>
533
+ <optional>
534
+ <value type="string">allow-top-navigation</value>
535
+ </optional>
536
+ <optional>
537
+ <value type="string">allow-same-origin</value>
538
+ </optional>
539
+ <optional>
540
+ <value type="string">allow-forms</value>
541
+ </optional>
542
+ <optional>
543
+ <value type="string">allow-scripts</value>
544
+ </optional>
545
+ </list>
546
+ <list>
547
+ <optional>
548
+ <value type="string">allow-top-navigation</value>
549
+ </optional>
550
+ <optional>
551
+ <value type="string">allow-same-origin</value>
552
+ </optional>
553
+ <optional>
554
+ <value type="string">allow-scripts</value>
555
+ </optional>
556
+ <optional>
557
+ <value type="string">allow-forms</value>
558
+ </optional>
559
+ </list>
560
+ <list>
561
+ <optional>
562
+ <value type="string">allow-top-navigation</value>
563
+ </optional>
564
+ <optional>
565
+ <value type="string">allow-forms</value>
566
+ </optional>
567
+ <optional>
568
+ <value type="string">allow-same-origin</value>
569
+ </optional>
570
+ <optional>
571
+ <value type="string">allow-scripts</value>
572
+ </optional>
573
+ </list>
574
+ <list>
575
+ <optional>
576
+ <value type="string">allow-top-navigation</value>
577
+ </optional>
578
+ <optional>
579
+ <value type="string">allow-forms</value>
580
+ </optional>
581
+ <optional>
582
+ <value type="string">allow-scripts</value>
583
+ </optional>
584
+ <optional>
585
+ <value type="string">allow-same-origin</value>
586
+ </optional>
587
+ </list>
588
+ <list>
589
+ <optional>
590
+ <value type="string">allow-top-navigation</value>
591
+ </optional>
592
+ <optional>
593
+ <value type="string">allow-scripts</value>
594
+ </optional>
595
+ <optional>
596
+ <value type="string">allow-same-origin</value>
597
+ </optional>
598
+ <optional>
599
+ <value type="string">allow-forms</value>
600
+ </optional>
601
+ </list>
602
+ <list>
603
+ <optional>
604
+ <value type="string">allow-top-navigation</value>
605
+ </optional>
606
+ <optional>
607
+ <value type="string">allow-scripts</value>
608
+ </optional>
609
+ <optional>
610
+ <value type="string">allow-forms</value>
611
+ </optional>
612
+ <optional>
613
+ <value type="string">allow-same-origin</value>
614
+ </optional>
615
+ </list>
616
+ <list>
617
+ <optional>
618
+ <value type="string">allow-same-origin</value>
619
+ </optional>
620
+ <optional>
621
+ <value type="string">allow-top-navigation</value>
622
+ </optional>
623
+ <optional>
624
+ <value type="string">allow-forms</value>
625
+ </optional>
626
+ <optional>
627
+ <value type="string">allow-scripts</value>
628
+ </optional>
629
+ </list>
630
+ <list>
631
+ <optional>
632
+ <value type="string">allow-same-origin</value>
633
+ </optional>
634
+ <optional>
635
+ <value type="string">allow-top-navigation</value>
636
+ </optional>
637
+ <optional>
638
+ <value type="string">allow-scripts</value>
639
+ </optional>
640
+ <optional>
641
+ <value type="string">allow-forms</value>
642
+ </optional>
643
+ </list>
644
+ <list>
645
+ <optional>
646
+ <value type="string">allow-forms</value>
647
+ </optional>
648
+ <optional>
649
+ <value type="string">allow-top-navigation</value>
650
+ </optional>
651
+ <optional>
652
+ <value type="string">allow-same-origin</value>
653
+ </optional>
654
+ <optional>
655
+ <value type="string">allow-scripts</value>
656
+ </optional>
657
+ </list>
658
+ <list>
659
+ <optional>
660
+ <value type="string">allow-forms</value>
661
+ </optional>
662
+ <optional>
663
+ <value type="string">allow-top-navigation</value>
664
+ </optional>
665
+ <optional>
666
+ <value type="string">allow-scripts</value>
667
+ </optional>
668
+ <optional>
669
+ <value type="string">allow-same-origin</value>
670
+ </optional>
671
+ </list>
672
+ <list>
673
+ <optional>
674
+ <value type="string">allow-scripts</value>
675
+ </optional>
676
+ <optional>
677
+ <value type="string">allow-top-navigation</value>
678
+ </optional>
679
+ <optional>
680
+ <value type="string">allow-same-origin</value>
681
+ </optional>
682
+ <optional>
683
+ <value type="string">allow-forms</value>
684
+ </optional>
685
+ </list>
686
+ <list>
687
+ <optional>
688
+ <value type="string">allow-scripts</value>
689
+ </optional>
690
+ <optional>
691
+ <value type="string">allow-top-navigation</value>
692
+ </optional>
693
+ <optional>
694
+ <value type="string">allow-forms</value>
695
+ </optional>
696
+ <optional>
697
+ <value type="string">allow-same-origin</value>
698
+ </optional>
699
+ </list>
700
+ <list>
701
+ <optional>
702
+ <value type="string">allow-same-origin</value>
703
+ </optional>
704
+ <optional>
705
+ <value type="string">allow-forms</value>
706
+ </optional>
707
+ <optional>
708
+ <value type="string">allow-top-navigation</value>
709
+ </optional>
710
+ <optional>
711
+ <value type="string">allow-scripts</value>
712
+ </optional>
713
+ </list>
714
+ <list>
715
+ <optional>
716
+ <value type="string">allow-same-origin</value>
717
+ </optional>
718
+ <optional>
719
+ <value type="string">allow-scripts</value>
720
+ </optional>
721
+ <optional>
722
+ <value type="string">allow-top-navigation</value>
723
+ </optional>
724
+ <optional>
725
+ <value type="string">allow-forms</value>
726
+ </optional>
727
+ </list>
728
+ <list>
729
+ <optional>
730
+ <value type="string">allow-forms</value>
731
+ </optional>
732
+ <optional>
733
+ <value type="string">allow-same-origin</value>
734
+ </optional>
735
+ <optional>
736
+ <value type="string">allow-top-navigation</value>
737
+ </optional>
738
+ <optional>
739
+ <value type="string">allow-scripts</value>
740
+ </optional>
741
+ </list>
742
+ <list>
743
+ <optional>
744
+ <value type="string">allow-forms</value>
745
+ </optional>
746
+ <optional>
747
+ <value type="string">allow-scripts</value>
748
+ </optional>
749
+ <optional>
750
+ <value type="string">allow-top-navigation</value>
751
+ </optional>
752
+ <optional>
753
+ <value type="string">allow-same-origin</value>
754
+ </optional>
755
+ </list>
756
+ <list>
757
+ <optional>
758
+ <value type="string">allow-scripts</value>
759
+ </optional>
760
+ <optional>
761
+ <value type="string">allow-same-origin</value>
762
+ </optional>
763
+ <optional>
764
+ <value type="string">allow-top-navigation</value>
765
+ </optional>
766
+ <optional>
767
+ <value type="string">allow-forms</value>
768
+ </optional>
769
+ </list>
770
+ <list>
771
+ <optional>
772
+ <value type="string">allow-scripts</value>
773
+ </optional>
774
+ <optional>
775
+ <value type="string">allow-forms</value>
776
+ </optional>
777
+ <optional>
778
+ <value type="string">allow-top-navigation</value>
779
+ </optional>
780
+ <optional>
781
+ <value type="string">allow-same-origin</value>
782
+ </optional>
783
+ </list>
784
+ <list>
785
+ <optional>
786
+ <value type="string">allow-same-origin</value>
787
+ </optional>
788
+ <optional>
789
+ <value type="string">allow-forms</value>
790
+ </optional>
791
+ <optional>
792
+ <value type="string">allow-scripts</value>
793
+ </optional>
794
+ <optional>
795
+ <value type="string">allow-top-navigation</value>
796
+ </optional>
797
+ </list>
798
+ <list>
799
+ <optional>
800
+ <value type="string">allow-same-origin</value>
801
+ </optional>
802
+ <optional>
803
+ <value type="string">allow-scripts</value>
804
+ </optional>
805
+ <optional>
806
+ <value type="string">allow-forms</value>
807
+ </optional>
808
+ <optional>
809
+ <value type="string">allow-top-navigation</value>
810
+ </optional>
811
+ </list>
812
+ <list>
813
+ <optional>
814
+ <value type="string">allow-forms</value>
815
+ </optional>
816
+ <optional>
817
+ <value type="string">allow-same-origin</value>
818
+ </optional>
819
+ <optional>
820
+ <value type="string">allow-scripts</value>
821
+ </optional>
822
+ <optional>
823
+ <value type="string">allow-top-navigation</value>
824
+ </optional>
825
+ </list>
826
+ <list>
827
+ <optional>
828
+ <value type="string">allow-forms</value>
829
+ </optional>
830
+ <optional>
831
+ <value type="string">allow-scripts</value>
832
+ </optional>
833
+ <optional>
834
+ <value type="string">allow-same-origin</value>
835
+ </optional>
836
+ <optional>
837
+ <value type="string">allow-top-navigation</value>
838
+ </optional>
839
+ </list>
840
+ <list>
841
+ <optional>
842
+ <value type="string">allow-scripts</value>
843
+ </optional>
844
+ <optional>
845
+ <value type="string">allow-same-origin</value>
846
+ </optional>
847
+ <optional>
848
+ <value type="string">allow-forms</value>
849
+ </optional>
850
+ <optional>
851
+ <value type="string">allow-top-navigation</value>
852
+ </optional>
853
+ </list>
854
+ <list>
855
+ <optional>
856
+ <value type="string">allow-scripts</value>
857
+ </optional>
858
+ <optional>
859
+ <value type="string">allow-forms</value>
860
+ </optional>
861
+ <optional>
862
+ <value type="string">allow-same-origin</value>
863
+ </optional>
864
+ <optional>
865
+ <value type="string">allow-top-navigation</value>
866
+ </optional>
867
+ </list>
868
+ </choice>
869
+ </attribute>
870
+ <ref name="v5only"/>
871
+ </interleave>
872
+ </define>
873
+ <define name="iframe.inner">
874
+ <text/>
875
+ </define>
876
+ <define name="common.elem.phrasing" combine="choice">
877
+ <ref name="iframe.elem"/>
878
+ </define>
879
+ <define name="map.elem.flow">
880
+ <a:documentation>
881
+ Image Maps</a:documentation>
882
+ <a:documentation>Map Definition: &lt;map&gt;</a:documentation>
883
+ <element name="map">
884
+ <interleave>
885
+ <ref name="map.inner.flow"/>
886
+ <ref name="map.attrs"/>
887
+ </interleave>
888
+ </element>
889
+ </define>
890
+ <define name="map.elem.phrasing">
891
+ <element name="map">
892
+ <interleave>
893
+ <ref name="map.inner.phrasing"/>
894
+ <ref name="map.attrs"/>
895
+ </interleave>
896
+ </element>
897
+ </define>
898
+ <define name="map.attrs">
899
+ <interleave>
900
+ <ref name="common.attrs"/>
901
+ <ref name="map.attrs.name"/>
902
+ </interleave>
903
+ </define>
904
+ <!-- REVISIT make id required in Schematron -->
905
+ <define name="map.attrs.name">
906
+ <attribute name="name">
907
+ <ref name="common.data.name"/>
908
+ </attribute>
909
+ </define>
910
+ <define name="map.inner.flow">
911
+ <ref name="common.inner.flow"/>
912
+ </define>
913
+ <define name="map.inner.phrasing">
914
+ <ref name="common.inner.phrasing"/>
915
+ </define>
916
+ <define name="common.elem.flow" combine="choice">
917
+ <ref name="map.elem.flow"/>
918
+ </define>
919
+ <define name="common.elem.phrasing" combine="choice">
920
+ <ref name="map.elem.phrasing"/>
921
+ </define>
922
+ <define name="area.elem">
923
+ <a:documentation>Map Area Definition: &lt;area&gt;</a:documentation>
924
+ <element name="area">
925
+ <interleave>
926
+ <ref name="area.inner"/>
927
+ <ref name="area.attrs"/>
928
+ </interleave>
929
+ </element>
930
+ </define>
931
+ <define name="area.attrs">
932
+ <interleave>
933
+ <ref name="common.attrs.basic"/>
934
+ <ref name="common.attrs.i18n"/>
935
+ <ref name="common.attrs.present"/>
936
+ <ref name="common.attrs.other"/>
937
+ <optional>
938
+ <interleave>
939
+ <ref name="area.attrs.alt"/>
940
+ <ref name="shared-hyperlink.attrs.href"/>
941
+ </interleave>
942
+ </optional>
943
+ <optional>
944
+ <ref name="shared-hyperlink.attrs.target"/>
945
+ </optional>
946
+ <optional>
947
+ <ref name="shared-hyperlink.attrs.ping"/>
948
+ </optional>
949
+ <optional>
950
+ <ref name="shared-hyperlink.attrs.rel"/>
951
+ </optional>
952
+ <optional>
953
+ <ref name="shared-hyperlink.attrs.media"/>
954
+ </optional>
955
+ <optional>
956
+ <ref name="shared-hyperlink.attrs.hreflang"/>
957
+ </optional>
958
+ <optional>
959
+ <ref name="shared-hyperlink.attrs.type"/>
960
+ </optional>
961
+ <optional>
962
+ <ref name="area.attrs.shape"/>
963
+ </optional>
964
+ </interleave>
965
+ </define>
966
+ <define name="area.attrs.alt">
967
+ <attribute name="alt"/>
968
+ </define>
969
+ <define name="area.attrs.shape">
970
+ <choice>
971
+ <interleave>
972
+ <optional>
973
+ <ref name="area.attrs.shape.rect"/>
974
+ </optional>
975
+ <ref name="area.attrs.coords.rect"/>
976
+ </interleave>
977
+ <interleave>
978
+ <ref name="area.attrs.shape.circle"/>
979
+ <ref name="area.attrs.coords.circle"/>
980
+ </interleave>
981
+ <interleave>
982
+ <ref name="area.attrs.shape.poly"/>
983
+ <ref name="area.attrs.coords.poly"/>
984
+ </interleave>
985
+ <ref name="area.attrs.shape.default"/>
986
+ </choice>
987
+ </define>
988
+ <define name="area.attrs.shape.rect">
989
+ <attribute name="shape">
990
+ <value type="string">rect</value>
991
+ </attribute>
992
+ </define>
993
+ <define name="area.attrs.coords.rect">
994
+ <attribute name="coords">
995
+ <data type="string" />
996
+ <!--
997
+ xsd:token {
998
+ pattern = "-?[0-9]+,-?[0-9]+,-?[0-9]+,-?[0-9]+"
999
+ }
1000
+ -->
1001
+ </attribute>
1002
+ </define>
1003
+ <define name="area.attrs.shape.circle">
1004
+ <attribute name="shape">
1005
+ <value type="string">circle</value>
1006
+ </attribute>
1007
+ </define>
1008
+ <define name="area.attrs.coords.circle">
1009
+ <attribute name="coords">
1010
+ <data type="string" />
1011
+ <!--
1012
+ xsd:token {
1013
+ pattern = "-?[0-9]+,-?[0-9]+,[0-9]+"
1014
+ }
1015
+ -->
1016
+ </attribute>
1017
+ </define>
1018
+ <define name="area.attrs.shape.poly">
1019
+ <attribute name="shape">
1020
+ <value type="string">poly</value>
1021
+ </attribute>
1022
+ </define>
1023
+ <define name="area.attrs.coords.poly">
1024
+ <attribute name="coords">
1025
+ <data type="string" />
1026
+ <!--
1027
+ xsd:token {
1028
+ pattern = "-?[0-9]+,-?[0-9]+,-?[0-9]+,-?[0-9]+,-?[0-9]+,-?[0-9]+(,-?[0-9]+,-?[0-9]+)*"
1029
+ }
1030
+ -->
1031
+ </attribute>
1032
+ </define>
1033
+ <define name="area.attrs.shape.default">
1034
+ <attribute name="shape">
1035
+ <value type="string">default</value>
1036
+ </attribute>
1037
+ </define>
1038
+ <define name="area.inner">
1039
+ <empty/>
1040
+ </define>
1041
+ <define name="common.elem.phrasing" combine="choice">
1042
+ <ref name="area.elem"/>
1043
+ </define>
1044
+ </grammar>