html-validator 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,628 @@
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="a.elem.phrasing">
5
+ <a:documentation> RELAX NG Schema for HTML 5: Phrase Markup #</a:documentation>
6
+ <!-- ##################################################################### -->
7
+ <a:documentation>Contextual Hyperlink: &lt;a&gt;</a:documentation>
8
+ <element name="a">
9
+ <interleave>
10
+ <ref name="a.inner.phrasing"/>
11
+ <ref name="a.attrs"/>
12
+ </interleave>
13
+ </element>
14
+ </define>
15
+ <define name="a.elem.flow">
16
+ <element name="a">
17
+ <interleave>
18
+ <ref name="a.inner.flow"/>
19
+ <ref name="a.attrs"/>
20
+ </interleave>
21
+ </element>
22
+ </define>
23
+ <define name="a.attrs">
24
+ <interleave>
25
+ <ref name="common.attrs.basic"/>
26
+ <ref name="common.attrs.i18n"/>
27
+ <ref name="common.attrs.present"/>
28
+ <ref name="common.attrs.other"/>
29
+ <optional>
30
+ <ref name="a.attrs.name"/>
31
+ </optional>
32
+ <optional>
33
+ <ref name="shared-hyperlink.attrs.href"/>
34
+ </optional>
35
+ <optional>
36
+ <ref name="shared-hyperlink.attrs.target"/>
37
+ </optional>
38
+ <optional>
39
+ <ref name="shared-hyperlink.attrs.rel"/>
40
+ </optional>
41
+ <optional>
42
+ <ref name="shared-hyperlink.attrs.hreflang"/>
43
+ </optional>
44
+ <optional>
45
+ <ref name="shared-hyperlink.attrs.media"/>
46
+ </optional>
47
+ <optional>
48
+ <ref name="shared-hyperlink.attrs.type"/>
49
+ </optional>
50
+ <optional>
51
+ <ref name="shared-hyperlink.attrs.ping"/>
52
+ </optional>
53
+ <optional>
54
+ <choice>
55
+ <ref name="common.attrs.aria"/>
56
+ <ref name="common.attrs.aria.implicit.link"/>
57
+ </choice>
58
+ </optional>
59
+ </interleave>
60
+ </define>
61
+ <define name="a.attrs.name">
62
+ <attribute name="name">
63
+ <ref name="common.data.id"/>
64
+ <!-- XXX not what the spec says -->
65
+ </attribute>
66
+ </define>
67
+ <define name="a.inner.phrasing">
68
+ <ref name="common.inner.phrasing"/>
69
+ </define>
70
+ <define name="a.inner.flow">
71
+ <ref name="common.inner.flow"/>
72
+ </define>
73
+ <define name="common.elem.phrasing" combine="choice">
74
+ <ref name="a.elem.phrasing"/>
75
+ </define>
76
+ <define name="common.elem.flow" combine="choice">
77
+ <ref name="a.elem.flow"/>
78
+ </define>
79
+ <define name="shared-hyperlink.attrs.href">
80
+ <a:documentation>Shared hyperlink attributes</a:documentation>
81
+ <attribute name="href">
82
+ <ref name="common.data.uri"/>
83
+ </attribute>
84
+ </define>
85
+ <define name="shared-hyperlink.attrs.target">
86
+ <attribute name="target">
87
+ <ref name="common.data.browsing-context-or-keyword"/>
88
+ </attribute>
89
+ </define>
90
+ <define name="shared-hyperlink.attrs.rel">
91
+ <attribute name="rel">
92
+ <data type="string" />
93
+ </attribute>
94
+ </define>
95
+ <define name="shared-hyperlink.attrs.hreflang">
96
+ <attribute name="hreflang">
97
+ <ref name="common.data.langcode"/>
98
+ </attribute>
99
+ </define>
100
+ <define name="shared-hyperlink.attrs.media">
101
+ <attribute name="media">
102
+ <ref name="common.data.mediaquery"/>
103
+ </attribute>
104
+ </define>
105
+ <define name="shared-hyperlink.attrs.type">
106
+ <attribute name="type">
107
+ <ref name="common.data.mimetype"/>
108
+ </attribute>
109
+ </define>
110
+ <define name="shared-hyperlink.attrs.ping">
111
+ <interleave>
112
+ <attribute name="ping">
113
+ <ref name="common.data.uris"/>
114
+ </attribute>
115
+ <ref name="v5only"/>
116
+ <ref name="nonW3C"/>
117
+ </interleave>
118
+ </define>
119
+ <define name="em.elem">
120
+ <a:documentation>Emphatic Stress: &lt;em&gt;</a:documentation>
121
+ <element name="em">
122
+ <interleave>
123
+ <ref name="em.inner"/>
124
+ <ref name="em.attrs"/>
125
+ </interleave>
126
+ </element>
127
+ </define>
128
+ <define name="em.attrs">
129
+ <interleave>
130
+ <ref name="common.attrs"/>
131
+ <optional>
132
+ <ref name="common.attrs.aria"/>
133
+ </optional>
134
+ </interleave>
135
+ </define>
136
+ <define name="em.inner">
137
+ <ref name="common.inner.phrasing"/>
138
+ </define>
139
+ <define name="common.elem.phrasing" combine="choice">
140
+ <ref name="em.elem"/>
141
+ </define>
142
+ <define name="strong.elem">
143
+ <a:documentation>Strong Importance: &lt;strong&gt;</a:documentation>
144
+ <element name="strong">
145
+ <interleave>
146
+ <ref name="strong.inner"/>
147
+ <ref name="strong.attrs"/>
148
+ </interleave>
149
+ </element>
150
+ </define>
151
+ <define name="strong.attrs">
152
+ <interleave>
153
+ <ref name="common.attrs"/>
154
+ <optional>
155
+ <ref name="common.attrs.aria"/>
156
+ </optional>
157
+ </interleave>
158
+ </define>
159
+ <define name="strong.inner">
160
+ <ref name="common.inner.phrasing"/>
161
+ </define>
162
+ <define name="common.elem.phrasing" combine="choice">
163
+ <ref name="strong.elem"/>
164
+ </define>
165
+ <define name="small.elem">
166
+ <a:documentation>Small Print and Side Comments: &lt;small&gt;</a:documentation>
167
+ <element name="small">
168
+ <interleave>
169
+ <ref name="small.inner"/>
170
+ <ref name="small.attrs"/>
171
+ </interleave>
172
+ </element>
173
+ </define>
174
+ <define name="small.attrs">
175
+ <interleave>
176
+ <ref name="common.attrs"/>
177
+ <optional>
178
+ <ref name="common.attrs.aria"/>
179
+ </optional>
180
+ </interleave>
181
+ </define>
182
+ <define name="small.inner">
183
+ <ref name="common.inner.phrasing"/>
184
+ </define>
185
+ <define name="common.elem.phrasing" combine="choice">
186
+ <ref name="small.elem"/>
187
+ </define>
188
+ <define name="mark.elem">
189
+ <a:documentation>Marked (Highlighted) Text: &lt;mark&gt;</a:documentation>
190
+ <interleave>
191
+ <element name="mark">
192
+ <interleave>
193
+ <ref name="mark.inner"/>
194
+ <ref name="mark.attrs"/>
195
+ </interleave>
196
+ </element>
197
+ <ref name="v5only"/>
198
+ </interleave>
199
+ </define>
200
+ <define name="mark.attrs">
201
+ <ref name="common.attrs"/>
202
+ </define>
203
+ <define name="mark.inner">
204
+ <ref name="common.inner.phrasing"/>
205
+ </define>
206
+ <define name="common.elem.phrasing" combine="choice">
207
+ <ref name="mark.elem"/>
208
+ </define>
209
+ <define name="abbr.elem">
210
+ <a:documentation>Abbreviation: &lt;abbr&gt;</a:documentation>
211
+ <element name="abbr">
212
+ <interleave>
213
+ <ref name="abbr.inner"/>
214
+ <ref name="abbr.attrs"/>
215
+ </interleave>
216
+ </element>
217
+ </define>
218
+ <define name="abbr.attrs">
219
+ <interleave>
220
+ <ref name="common.attrs"/>
221
+ <optional>
222
+ <!-- abbr.attrs.title included in common.attrs -->
223
+ <ref name="common.attrs.aria"/>
224
+ </optional>
225
+ </interleave>
226
+ </define>
227
+ <define name="abbr.inner">
228
+ <ref name="common.inner.phrasing"/>
229
+ </define>
230
+ <define name="common.elem.phrasing" combine="choice">
231
+ <ref name="abbr.elem"/>
232
+ </define>
233
+ <define name="dfn.elem">
234
+ <a:documentation>Defining Instance: &lt;dfn&gt;</a:documentation>
235
+ <element name="dfn">
236
+ <interleave>
237
+ <ref name="dfn.inner"/>
238
+ <ref name="dfn.attrs"/>
239
+ </interleave>
240
+ </element>
241
+ </define>
242
+ <define name="dfn.attrs">
243
+ <interleave>
244
+ <ref name="common.attrs"/>
245
+ <optional>
246
+ <!-- dfn.attrs.title included in common.attrs -->
247
+ <ref name="common.attrs.aria"/>
248
+ </optional>
249
+ </interleave>
250
+ </define>
251
+ <define name="dfn.inner">
252
+ <ref name="common.inner.phrasing"/>
253
+ </define>
254
+ <define name="common.elem.phrasing" combine="choice">
255
+ <ref name="dfn.elem"/>
256
+ </define>
257
+ <define name="i.elem">
258
+ <a:documentation>Italic: &lt;i&gt;</a:documentation>
259
+ <element name="i">
260
+ <interleave>
261
+ <ref name="i.inner"/>
262
+ <ref name="i.attrs"/>
263
+ </interleave>
264
+ </element>
265
+ </define>
266
+ <define name="i.attrs">
267
+ <interleave>
268
+ <ref name="common.attrs"/>
269
+ <optional>
270
+ <ref name="common.attrs.aria"/>
271
+ </optional>
272
+ </interleave>
273
+ </define>
274
+ <define name="i.inner">
275
+ <ref name="common.inner.phrasing"/>
276
+ </define>
277
+ <define name="common.elem.phrasing" combine="choice">
278
+ <ref name="i.elem"/>
279
+ </define>
280
+ <define name="b.elem">
281
+ <a:documentation>Bold: &lt;b&gt;</a:documentation>
282
+ <element name="b">
283
+ <interleave>
284
+ <ref name="b.inner"/>
285
+ <ref name="b.attrs"/>
286
+ </interleave>
287
+ </element>
288
+ </define>
289
+ <define name="b.attrs">
290
+ <interleave>
291
+ <ref name="common.attrs"/>
292
+ <optional>
293
+ <ref name="common.attrs.aria"/>
294
+ </optional>
295
+ </interleave>
296
+ </define>
297
+ <define name="b.inner">
298
+ <ref name="common.inner.phrasing"/>
299
+ </define>
300
+ <define name="common.elem.phrasing" combine="choice">
301
+ <ref name="b.elem"/>
302
+ </define>
303
+ <define name="s.elem">
304
+ <a:documentation>Struck Text: &lt;s&gt;</a:documentation>
305
+ <element name="s">
306
+ <interleave>
307
+ <ref name="s.inner"/>
308
+ <ref name="s.attrs"/>
309
+ </interleave>
310
+ </element>
311
+ </define>
312
+ <define name="s.attrs">
313
+ <interleave>
314
+ <ref name="common.attrs"/>
315
+ <optional>
316
+ <ref name="common.attrs.aria"/>
317
+ </optional>
318
+ </interleave>
319
+ </define>
320
+ <define name="s.inner">
321
+ <ref name="common.inner.phrasing"/>
322
+ </define>
323
+ <define name="common.elem.phrasing" combine="choice">
324
+ <ref name="s.elem"/>
325
+ </define>
326
+ <define name="u.elem">
327
+ <a:documentation>Underline: &lt;u&gt;</a:documentation>
328
+ <element name="u">
329
+ <interleave>
330
+ <ref name="u.inner"/>
331
+ <ref name="u.attrs"/>
332
+ </interleave>
333
+ </element>
334
+ </define>
335
+ <define name="u.attrs">
336
+ <interleave>
337
+ <ref name="common.attrs"/>
338
+ <optional>
339
+ <ref name="common.attrs.aria"/>
340
+ </optional>
341
+ </interleave>
342
+ </define>
343
+ <define name="u.inner">
344
+ <ref name="common.inner.phrasing"/>
345
+ </define>
346
+ <define name="common.elem.phrasing" combine="choice">
347
+ <ref name="u.elem"/>
348
+ </define>
349
+ <define name="code.elem">
350
+ <a:documentation>Code Fragment: &lt;code&gt;</a:documentation>
351
+ <element name="code">
352
+ <interleave>
353
+ <ref name="code.inner"/>
354
+ <ref name="code.attrs"/>
355
+ </interleave>
356
+ </element>
357
+ </define>
358
+ <define name="code.attrs">
359
+ <interleave>
360
+ <ref name="common.attrs"/>
361
+ <optional>
362
+ <ref name="common.attrs.aria"/>
363
+ </optional>
364
+ </interleave>
365
+ </define>
366
+ <define name="code.inner">
367
+ <ref name="common.inner.phrasing"/>
368
+ </define>
369
+ <define name="common.elem.phrasing" combine="choice">
370
+ <ref name="code.elem"/>
371
+ </define>
372
+ <define name="var.elem">
373
+ <a:documentation>Variable or Placeholder: &lt;var&gt;</a:documentation>
374
+ <element name="var">
375
+ <interleave>
376
+ <ref name="var.inner"/>
377
+ <ref name="var.attrs"/>
378
+ </interleave>
379
+ </element>
380
+ </define>
381
+ <define name="var.attrs">
382
+ <interleave>
383
+ <ref name="common.attrs"/>
384
+ <optional>
385
+ <ref name="common.attrs.aria"/>
386
+ </optional>
387
+ </interleave>
388
+ </define>
389
+ <define name="var.inner">
390
+ <ref name="common.inner.phrasing"/>
391
+ </define>
392
+ <define name="common.elem.phrasing" combine="choice">
393
+ <ref name="var.elem"/>
394
+ </define>
395
+ <define name="samp.elem">
396
+ <a:documentation>(Sample) Output: &lt;samp&gt;</a:documentation>
397
+ <element name="samp">
398
+ <interleave>
399
+ <ref name="samp.inner"/>
400
+ <ref name="samp.attrs"/>
401
+ </interleave>
402
+ </element>
403
+ </define>
404
+ <define name="samp.attrs">
405
+ <interleave>
406
+ <ref name="common.attrs"/>
407
+ <optional>
408
+ <ref name="common.attrs.aria"/>
409
+ </optional>
410
+ </interleave>
411
+ </define>
412
+ <define name="samp.inner">
413
+ <ref name="common.inner.phrasing"/>
414
+ </define>
415
+ <define name="common.elem.phrasing" combine="choice">
416
+ <ref name="samp.elem"/>
417
+ </define>
418
+ <define name="kbd.elem">
419
+ <a:documentation>User Input: &lt;kbd&gt;</a:documentation>
420
+ <element name="kbd">
421
+ <interleave>
422
+ <ref name="kbd.inner"/>
423
+ <ref name="kbd.attrs"/>
424
+ </interleave>
425
+ </element>
426
+ </define>
427
+ <define name="kbd.attrs">
428
+ <interleave>
429
+ <ref name="common.attrs"/>
430
+ <optional>
431
+ <ref name="common.attrs.aria"/>
432
+ </optional>
433
+ </interleave>
434
+ </define>
435
+ <define name="kbd.inner">
436
+ <ref name="common.inner.phrasing"/>
437
+ </define>
438
+ <define name="common.elem.phrasing" combine="choice">
439
+ <ref name="kbd.elem"/>
440
+ </define>
441
+ <define name="sup.elem">
442
+ <a:documentation>Superscript: &lt;sup&gt;</a:documentation>
443
+ <element name="sup">
444
+ <interleave>
445
+ <ref name="sup.inner"/>
446
+ <ref name="sup.attrs"/>
447
+ </interleave>
448
+ </element>
449
+ </define>
450
+ <define name="sup.attrs">
451
+ <ref name="common.attrs"/>
452
+ </define>
453
+ <define name="sup.inner">
454
+ <ref name="common.inner.phrasing"/>
455
+ </define>
456
+ <define name="common.elem.phrasing" combine="choice">
457
+ <ref name="sup.elem"/>
458
+ </define>
459
+ <define name="sub.elem">
460
+ <a:documentation>Subscript: &lt;sub&gt;</a:documentation>
461
+ <element name="sub">
462
+ <interleave>
463
+ <ref name="sub.inner"/>
464
+ <ref name="sub.attrs"/>
465
+ </interleave>
466
+ </element>
467
+ </define>
468
+ <define name="sub.attrs">
469
+ <ref name="common.attrs"/>
470
+ </define>
471
+ <define name="sub.inner">
472
+ <ref name="common.inner.phrasing"/>
473
+ </define>
474
+ <define name="common.elem.phrasing" combine="choice">
475
+ <ref name="sub.elem"/>
476
+ </define>
477
+ <define name="q.elem">
478
+ <a:documentation>Quotation: &lt;q&gt;</a:documentation>
479
+ <element name="q">
480
+ <interleave>
481
+ <ref name="q.inner"/>
482
+ <ref name="q.attrs"/>
483
+ </interleave>
484
+ </element>
485
+ </define>
486
+ <define name="q.attrs">
487
+ <interleave>
488
+ <ref name="common.attrs"/>
489
+ <optional>
490
+ <ref name="q.attrs.cite"/>
491
+ </optional>
492
+ <optional>
493
+ <ref name="common.attrs.aria"/>
494
+ </optional>
495
+ </interleave>
496
+ </define>
497
+ <define name="q.attrs.cite">
498
+ <attribute name="cite">
499
+ <ref name="common.data.uri"/>
500
+ </attribute>
501
+ </define>
502
+ <define name="q.inner">
503
+ <ref name="common.inner.phrasing"/>
504
+ </define>
505
+ <define name="common.elem.phrasing" combine="choice">
506
+ <ref name="q.elem"/>
507
+ </define>
508
+ <define name="cite.elem">
509
+ <a:documentation>Title of Work: &lt;cite&gt;</a:documentation>
510
+ <element name="cite">
511
+ <interleave>
512
+ <ref name="cite.inner"/>
513
+ <ref name="cite.attrs"/>
514
+ </interleave>
515
+ </element>
516
+ </define>
517
+ <define name="cite.attrs">
518
+ <interleave>
519
+ <ref name="common.attrs"/>
520
+ <optional>
521
+ <ref name="common.attrs.aria"/>
522
+ </optional>
523
+ </interleave>
524
+ </define>
525
+ <define name="cite.inner">
526
+ <ref name="common.inner.phrasing"/>
527
+ </define>
528
+ <define name="common.elem.phrasing" combine="choice">
529
+ <ref name="cite.elem"/>
530
+ </define>
531
+ <define name="span.elem">
532
+ <a:documentation>Generic Span: &lt;span&gt;</a:documentation>
533
+ <element name="span">
534
+ <interleave>
535
+ <ref name="span.inner"/>
536
+ <ref name="span.attrs"/>
537
+ </interleave>
538
+ </element>
539
+ </define>
540
+ <define name="span.attrs">
541
+ <interleave>
542
+ <ref name="common.attrs"/>
543
+ <optional>
544
+ <ref name="common.attrs.aria"/>
545
+ </optional>
546
+ </interleave>
547
+ </define>
548
+ <define name="span.inner">
549
+ <ref name="common.inner.phrasing"/>
550
+ </define>
551
+ <!-- REVISIT allow ol and ul? -->
552
+ <define name="common.elem.phrasing" combine="choice">
553
+ <ref name="span.elem"/>
554
+ </define>
555
+ <define name="bdo.elem">
556
+ <a:documentation>Bidirectional Override: &lt;bdo&gt;</a:documentation>
557
+ <element name="bdo">
558
+ <interleave>
559
+ <ref name="bdo.inner"/>
560
+ <ref name="bdo.attrs"/>
561
+ </interleave>
562
+ </element>
563
+ </define>
564
+ <define name="bdo.attrs">
565
+ <ref name="common.attrs"/>
566
+ </define>
567
+ <!-- dir required in Schematron -->
568
+ <define name="bdo.inner">
569
+ <ref name="common.inner.phrasing"/>
570
+ </define>
571
+ <define name="common.elem.phrasing" combine="choice">
572
+ <ref name="bdo.elem"/>
573
+ </define>
574
+ <define name="bdi.elem">
575
+ <a:documentation>Bidirectional Isolate: &lt;bdi&gt;</a:documentation>
576
+ <element name="bdi">
577
+ <interleave>
578
+ <ref name="bdi.inner"/>
579
+ <ref name="bdi.attrs"/>
580
+ </interleave>
581
+ </element>
582
+ </define>
583
+ <define name="bdi.attrs">
584
+ <ref name="common.attrs"/>
585
+ </define>
586
+ <define name="bdi.inner">
587
+ <ref name="common.inner.phrasing"/>
588
+ </define>
589
+ <define name="common.elem.phrasing" combine="choice">
590
+ <ref name="bdi.elem"/>
591
+ </define>
592
+ <define name="br.elem">
593
+ <a:documentation>Line Break: &lt;br&gt;</a:documentation>
594
+ <element name="br">
595
+ <interleave>
596
+ <ref name="br.inner"/>
597
+ <ref name="br.attrs"/>
598
+ </interleave>
599
+ </element>
600
+ </define>
601
+ <define name="br.attrs">
602
+ <ref name="common.attrs"/>
603
+ </define>
604
+ <define name="br.inner">
605
+ <empty/>
606
+ </define>
607
+ <define name="common.elem.phrasing" combine="choice">
608
+ <ref name="br.elem"/>
609
+ </define>
610
+ <define name="wbr.elem">
611
+ <a:documentation>Line-break opportunity: &lt;wbr&gt;</a:documentation>
612
+ <element name="wbr">
613
+ <interleave>
614
+ <ref name="wbr.inner"/>
615
+ <ref name="wbr.attrs"/>
616
+ </interleave>
617
+ </element>
618
+ </define>
619
+ <define name="wbr.attrs">
620
+ <ref name="common.attrs"/>
621
+ </define>
622
+ <define name="wbr.inner">
623
+ <empty/>
624
+ </define>
625
+ <define name="common.elem.phrasing" combine="choice">
626
+ <ref name="wbr.elem"/>
627
+ </define>
628
+ </grammar>