markup_validity 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. data/CHANGELOG.rdoc +10 -0
  2. data/Manifest.txt +88 -0
  3. data/Rakefile +7 -11
  4. data/lib/markup_validity.rb +1 -1
  5. data/lib/markup_validity/MarkUp.html +1095 -0
  6. data/lib/markup_validity/SCHEMA.html +90 -0
  7. data/lib/markup_validity/assertions.rb +8 -1
  8. data/lib/markup_validity/examples.html +25 -0
  9. data/lib/markup_validity/rspec.rb +19 -0
  10. data/lib/markup_validity/templates.html +15 -0
  11. data/lib/markup_validity/validator.rb +27 -1
  12. data/lib/markup_validity/xframes-1.xsd +166 -0
  13. data/lib/markup_validity/xhtml-access-1.xsd +43 -0
  14. data/lib/markup_validity/xhtml-applet-1.xsd +66 -0
  15. data/lib/markup_validity/xhtml-attribs-1.xsd +67 -0
  16. data/lib/markup_validity/xhtml-base-1.xsd +31 -0
  17. data/lib/markup_validity/xhtml-basic-form-1.xsd +195 -0
  18. data/lib/markup_validity/xhtml-basic-table-1.xsd +169 -0
  19. data/lib/markup_validity/xhtml-basic10-model-1.xsd +385 -0
  20. data/lib/markup_validity/xhtml-basic10-module-redefines-1.xsd +61 -0
  21. data/lib/markup_validity/xhtml-basic10-modules-1.xsd +233 -0
  22. data/lib/markup_validity/xhtml-basic10.xsd +99 -0
  23. data/lib/markup_validity/xhtml-basic11-model-1.xsd +622 -0
  24. data/lib/markup_validity/xhtml-basic11-modules-1.xsd +508 -0
  25. data/lib/markup_validity/xhtml-basic11.xsd +105 -0
  26. data/lib/markup_validity/xhtml-bdo-1.xsd +72 -0
  27. data/lib/markup_validity/xhtml-blkphras-1.xsd +155 -0
  28. data/lib/markup_validity/xhtml-blkpres-1.xsd +32 -0
  29. data/lib/markup_validity/xhtml-blkstruct-1.xsd +44 -0
  30. data/lib/markup_validity/xhtml-charent-1.xsd +38 -0
  31. data/lib/markup_validity/xhtml-copyright-1.xsd +29 -0
  32. data/lib/markup_validity/xhtml-csismap-1.xsd +91 -0
  33. data/lib/markup_validity/xhtml-datatypes-1.xsd +177 -0
  34. data/lib/markup_validity/xhtml-edit-1.xsd +34 -0
  35. data/lib/markup_validity/xhtml-events-1.xsd +130 -0
  36. data/lib/markup_validity/xhtml-form-1.xsd +321 -0
  37. data/lib/markup_validity/xhtml-frames-1.xsd +113 -0
  38. data/lib/markup_validity/xhtml-framework-1.xsd +62 -0
  39. data/lib/markup_validity/xhtml-hypertext-1.xsd +47 -0
  40. data/lib/markup_validity/xhtml-iframe-1.xsd +68 -0
  41. data/lib/markup_validity/xhtml-image-1.xsd +40 -0
  42. data/lib/markup_validity/xhtml-inlphras-1.xsd +158 -0
  43. data/lib/markup_validity/xhtml-inlpres-1.xsd +34 -0
  44. data/lib/markup_validity/xhtml-inlstruct-1.xsd +45 -0
  45. data/lib/markup_validity/xhtml-inlstyle-1.xsd +22 -0
  46. data/lib/markup_validity/xhtml-inputmode-1.xsd +35 -0
  47. data/lib/markup_validity/xhtml-lat1.ent +196 -0
  48. data/lib/markup_validity/xhtml-legacy-1.xsd +97 -0
  49. data/lib/markup_validity/xhtml-link-1.xsd +45 -0
  50. data/lib/markup_validity/xhtml-list-1.xsd +94 -0
  51. data/lib/markup_validity/xhtml-meta-1.xsd +54 -0
  52. data/lib/markup_validity/xhtml-metaAttributes-1.xsd +39 -0
  53. data/lib/markup_validity/xhtml-misc-1.xsd +441 -0
  54. data/lib/markup_validity/xhtml-nameident-1.xsd +63 -0
  55. data/lib/markup_validity/xhtml-notations-1.xsd +69 -0
  56. data/lib/markup_validity/xhtml-object-1.xsd +71 -0
  57. data/lib/markup_validity/xhtml-param-1.xsd +46 -0
  58. data/lib/markup_validity/xhtml-pres-1.xsd +46 -0
  59. data/lib/markup_validity/xhtml-print-1.xsd +85 -0
  60. data/lib/markup_validity/xhtml-print-model-1.xsd +604 -0
  61. data/lib/markup_validity/xhtml-print-modules-1.xsd +422 -0
  62. data/lib/markup_validity/xhtml-rdfa-1.dtd +438 -0
  63. data/lib/markup_validity/xhtml-rdfa-1.xsd +116 -0
  64. data/lib/markup_validity/xhtml-rdfa-model-1.xsd +461 -0
  65. data/lib/markup_validity/xhtml-rdfa-modules-1.xsd +548 -0
  66. data/lib/markup_validity/xhtml-ruby-1.xsd +170 -0
  67. data/lib/markup_validity/xhtml-ruby-basic-1.xsd +84 -0
  68. data/lib/markup_validity/xhtml-script-1.xsd +65 -0
  69. data/lib/markup_validity/xhtml-special.ent +80 -0
  70. data/lib/markup_validity/xhtml-ssismap-1.xsd +38 -0
  71. data/lib/markup_validity/xhtml-struct-1.xsd +85 -0
  72. data/lib/markup_validity/xhtml-style-1.xsd +47 -0
  73. data/lib/markup_validity/xhtml-symbol.ent +237 -0
  74. data/lib/markup_validity/xhtml-table-1.xsd +267 -0
  75. data/lib/markup_validity/xhtml-target-1.xsd +49 -0
  76. data/lib/markup_validity/xhtml-text-1.xsd +62 -0
  77. data/lib/markup_validity/xhtml1-strict.dtd +978 -0
  78. data/lib/markup_validity/xhtml1-transitional.dtd +1201 -0
  79. data/lib/markup_validity/xhtml11-model-1.xsd +715 -0
  80. data/lib/markup_validity/xhtml11-module-redefines-1.xsd +335 -0
  81. data/lib/markup_validity/xhtml11-modules-1.xsd +605 -0
  82. data/lib/markup_validity/xhtml11.xsd +107 -0
  83. data/lib/markup_validity/xhtml2.xsd +21 -0
  84. data/lib/markup_validity/xml-events-1.xsd +73 -0
  85. data/lib/markup_validity/xml-events-2.xsd +73 -0
  86. data/lib/markup_validity/xml-events-attribs-1.xsd +73 -0
  87. data/lib/markup_validity/xml-events-attribs-2.xsd +75 -0
  88. data/lib/markup_validity/xml-events-copyright-1.xsd +34 -0
  89. data/lib/markup_validity/xml-events-copyright-2.xsd +34 -0
  90. data/lib/markup_validity/xml-handlers-1.xsd +136 -0
  91. data/lib/markup_validity/xml-handlers-2.xsd +98 -0
  92. data/lib/markup_validity/xml-script-1.xsd +38 -0
  93. data/spec/matcher_spec.rb +8 -0
  94. data/test/assets/invalid_entity.xhtml +109 -0
  95. data/test/assets/invalid_entity_transitional.xhtml +109 -0
  96. data/test/helper.rb +48 -0
  97. data/test/test_markup_validity.rb +19 -0
  98. metadata +90 -3
@@ -0,0 +1,715 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema
3
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
4
+ xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
5
+ elementFormDefault="qualified" >
6
+ <xs:import
7
+ namespace="http://www.w3.org/1999/xhtml/datatypes/"
8
+ schemaLocation="xhtml-datatypes-1.xsd"/>
9
+ <xs:annotation>
10
+ <xs:documentation>
11
+ This is the XML Schema module of common content models for XHTML11
12
+
13
+ $Id: xhtml11-model-1.xsd,v 1.7 2007/02/22 13:02:52 ahby Exp $
14
+ </xs:documentation>
15
+ <xs:documentation source="xhtml-copyright-1.xsd"/>
16
+ </xs:annotation>
17
+ <xs:annotation>
18
+ <xs:documentation>
19
+ XHTML Document Model
20
+ This module describes the groupings of elements/attributes
21
+ that make up common content models for XHTML elements.
22
+ XHTML has following basic content models:
23
+ xhtml.Inline.mix; character-level elements
24
+ xhtml.Block.mix; block-like elements, e.g., paragraphs and lists
25
+ xhtml.Flow.mix; any block or inline elements
26
+ xhtml.HeadOpts.mix; Head Elements
27
+ xhtml.InlinePre.mix; Special class for pre content model
28
+ xhtml.InlineNoAnchor.mix; Content model for Anchor
29
+
30
+ Any groups declared in this module may be used to create
31
+ element content models, but the above are considered 'global'
32
+ (insofar as that term applies here). XHTML has the
33
+ following Attribute Groups
34
+ xhtml.Core.extra.attrib
35
+ xhtml.I18n.extra.attrib
36
+ xhtml.Common.extra
37
+
38
+ The above attribute Groups are considered Global
39
+ </xs:documentation>
40
+ </xs:annotation>
41
+ <xs:attributeGroup
42
+ name="xhtml.I18n.extra.attrib">
43
+ <xs:annotation>
44
+ <xs:documentation> Extended I18n attribute </xs:documentation>
45
+ </xs:annotation>
46
+ <xs:attributeGroup
47
+ ref="xhtml.dir.attrib">
48
+ <xs:annotation>
49
+ <xs:documentation>
50
+ "dir" Attribute from Bi Directional Text (bdo) Module
51
+ </xs:documentation>
52
+ </xs:annotation>
53
+ </xs:attributeGroup>
54
+ </xs:attributeGroup>
55
+ <xs:attributeGroup
56
+ name="xhtml.Common.extra">
57
+ <xs:annotation>
58
+ <xs:documentation> Extended Common Attributes </xs:documentation>
59
+ </xs:annotation>
60
+ <xs:attributeGroup
61
+ ref="xhtml.style.attrib">
62
+ <xs:annotation>
63
+ <xs:documentation>
64
+ "style" attribute from Inline Style Module
65
+ </xs:documentation>
66
+ </xs:annotation>
67
+ </xs:attributeGroup>
68
+ <xs:attributeGroup ref="xhtml.Events.attrib">
69
+ <xs:annotation>
70
+ <xs:documentation>
71
+ Attributes from Events Module
72
+ </xs:documentation>
73
+ </xs:annotation>
74
+ </xs:attributeGroup>
75
+ </xs:attributeGroup>
76
+ <xs:attributeGroup
77
+ name="xhtml.Core.extra.attrib">
78
+ <xs:annotation>
79
+ <xs:documentation> Extend Core Attributes </xs:documentation>
80
+ </xs:annotation>
81
+ </xs:attributeGroup>
82
+ <xs:attributeGroup
83
+ name="xhtml.Global.core.extra.attrib">
84
+ <xs:annotation>
85
+ <xs:documentation> Extended Global Core Attributes </xs:documentation>
86
+ </xs:annotation>
87
+ </xs:attributeGroup>
88
+ <xs:attributeGroup
89
+ name="xhtml.Global.I18n.extra.attrib">
90
+ <xs:annotation>
91
+ <xs:documentation> Extended Global I18n attributes </xs:documentation>
92
+ </xs:annotation>
93
+ </xs:attributeGroup>
94
+ <xs:attributeGroup
95
+ name="xhtml.Global.Common.extra">
96
+ <xs:annotation>
97
+ <xs:documentation> Extended Global Common Attributes </xs:documentation>
98
+ </xs:annotation>
99
+ </xs:attributeGroup>
100
+ <xs:group
101
+ name="xhtml.Head.extra">
102
+ <xs:sequence/>
103
+ </xs:group>
104
+ <xs:group
105
+ name="xhtml.HeadOpts.mix">
106
+ <xs:choice>
107
+ <xs:element
108
+ name="script"
109
+ type="xhtml.script.type"/>
110
+ <xs:element
111
+ name="style"
112
+ type="xhtml.style.type"/>
113
+ <xs:element
114
+ name="meta"
115
+ type="xhtml.meta.type"/>
116
+ <xs:element
117
+ name="link"
118
+ type="xhtml.link.type"/>
119
+ <xs:element
120
+ name="object"
121
+ type="xhtml.object.type"/>
122
+ <xs:group
123
+ ref="xhtml.Head.extra"/>
124
+ </xs:choice>
125
+ </xs:group>
126
+ <xs:group
127
+ name="xhtml.head.content">
128
+ <xs:sequence>
129
+ <xs:group
130
+ ref="xhtml.HeadOpts.mix"
131
+ minOccurs="0"
132
+ maxOccurs="unbounded"/>
133
+ <xs:choice>
134
+ <xs:sequence>
135
+ <xs:element
136
+ name="title"
137
+ minOccurs="1"
138
+ maxOccurs="1"
139
+ type="xhtml.title.type"/>
140
+ <xs:group
141
+ ref="xhtml.HeadOpts.mix"
142
+ minOccurs="0"
143
+ maxOccurs="unbounded"/>
144
+ <xs:sequence
145
+ minOccurs="0">
146
+ <xs:element
147
+ name="base"
148
+ type="xhtml.base.type"/>
149
+ <xs:group
150
+ ref="xhtml.HeadOpts.mix"
151
+ minOccurs="0"
152
+ maxOccurs="unbounded"/>
153
+ </xs:sequence>
154
+ </xs:sequence>
155
+ <xs:sequence>
156
+ <xs:element
157
+ name="base"
158
+ type="xhtml.base.type"
159
+ minOccurs="1"
160
+ maxOccurs="1"/>
161
+ <xs:group
162
+ ref="xhtml.HeadOpts.mix"
163
+ minOccurs="0"
164
+ maxOccurs="unbounded"/>
165
+ <xs:element
166
+ name="title"
167
+ minOccurs="1"
168
+ maxOccurs="1"
169
+ type="xhtml.title.type"/>
170
+ <xs:group
171
+ ref="xhtml.HeadOpts.mix"
172
+ minOccurs="0"
173
+ maxOccurs="unbounded"/>
174
+ </xs:sequence>
175
+ </xs:choice>
176
+ </xs:sequence>
177
+ </xs:group>
178
+ <!--
179
+ ins and del are used to denote editing changes
180
+ -->
181
+ <xs:group
182
+ name="xhtml.Edit.class">
183
+ <xs:choice>
184
+ <xs:element
185
+ name="ins"
186
+ type="xhtml.edit.type"/>
187
+ <xs:element
188
+ name="del"
189
+ type="xhtml.edit.type"/>
190
+ </xs:choice>
191
+ </xs:group>
192
+ <!--
193
+ script and noscript are used to contain scripts
194
+ and alternative content
195
+ -->
196
+ <xs:group
197
+ name="xhtml.Script.class">
198
+ <xs:choice>
199
+ <xs:element
200
+ name="script"
201
+ type="xhtml.script.type"/>
202
+ <xs:element
203
+ name="noscript"
204
+ type="xhtml.noscript.type"/>
205
+ </xs:choice>
206
+ </xs:group>
207
+ <xs:group
208
+ name="xhtml.Misc.extra">
209
+ <xs:sequence/>
210
+ </xs:group>
211
+ <!--
212
+ These elements are neither block nor inline, and can
213
+ essentially be used anywhere in the document body.
214
+ -->
215
+ <xs:group
216
+ name="xhtml.Misc.class">
217
+ <xs:choice>
218
+ <xs:group
219
+ ref="xhtml.Edit.class"/>
220
+ <xs:group
221
+ ref="xhtml.Script.class"/>
222
+ <xs:group
223
+ ref="xhtml.Misc.extra"/>
224
+ </xs:choice>
225
+ </xs:group>
226
+ <!-- Inline Elements -->
227
+ <xs:group
228
+ name="xhtml.InlStruct.class">
229
+ <xs:choice>
230
+ <xs:element
231
+ name="br"
232
+ type="xhtml.br.type"/>
233
+ <xs:element
234
+ name="span"
235
+ type="xhtml.span.type"/>
236
+ </xs:choice>
237
+ </xs:group>
238
+ <xs:group
239
+ name="xhtml.InlPhras.class">
240
+ <xs:choice>
241
+ <xs:element
242
+ name="em"
243
+ type="xhtml.em.type"/>
244
+ <xs:element
245
+ name="strong"
246
+ type="xhtml.strong.type"/>
247
+ <xs:element
248
+ name="dfn"
249
+ type="xhtml.dfn.type"/>
250
+ <xs:element
251
+ name="code"
252
+ type="xhtml.code.type"/>
253
+ <xs:element
254
+ name="samp"
255
+ type="xhtml.samp.type"/>
256
+ <xs:element
257
+ name="kbd"
258
+ type="xhtml.kbd.type"/>
259
+ <xs:element
260
+ name="var"
261
+ type="xhtml.var.type"/>
262
+ <xs:element
263
+ name="cite"
264
+ type="xhtml.cite.type"/>
265
+ <xs:element
266
+ name="abbr"
267
+ type="xhtml.abbr.type"/>
268
+ <xs:element
269
+ name="acronym"
270
+ type="xhtml.acronym.type"/>
271
+ <xs:element
272
+ name="q"
273
+ type="xhtml.q.type"/>
274
+ </xs:choice>
275
+ </xs:group>
276
+ <xs:group
277
+ name="xhtml.InlPres.class">
278
+ <xs:choice>
279
+ <xs:element
280
+ name="tt"
281
+ type="xhtml.InlPres.type"/>
282
+ <xs:element
283
+ name="i"
284
+ type="xhtml.InlPres.type"/>
285
+ <xs:element
286
+ name="b"
287
+ type="xhtml.InlPres.type"/>
288
+ <xs:element
289
+ name="big"
290
+ type="xhtml.InlPres.type"/>
291
+ <xs:element
292
+ name="small"
293
+ type="xhtml.InlPres.type"/>
294
+ <xs:element
295
+ name="sub"
296
+ type="xhtml.InlPres.type"/>
297
+ <xs:element
298
+ name="sup"
299
+ type="xhtml.InlPres.type"/>
300
+ </xs:choice>
301
+ </xs:group>
302
+ <xs:group
303
+ name="xhtml.I18n.class">
304
+ <xs:sequence>
305
+ <xs:element
306
+ name="bdo"
307
+ type="xhtml.bdo.type"/>
308
+ </xs:sequence>
309
+ </xs:group>
310
+ <xs:group
311
+ name="xhtml.Anchor.class">
312
+ <xs:sequence>
313
+ <xs:element
314
+ name="a"
315
+ type="xhtml.a.type"/>
316
+ </xs:sequence>
317
+ </xs:group>
318
+ <xs:group
319
+ name="xhtml.InlSpecial.class">
320
+ <xs:choice>
321
+ <xs:element
322
+ name="img"
323
+ type="xhtml.img.type"/>
324
+ <xs:element
325
+ name="map"
326
+ type="xhtml.map.type"/>
327
+ <xs:element
328
+ name="object"
329
+ type="xhtml.object.type"/>
330
+ </xs:choice>
331
+ </xs:group>
332
+ <xs:group
333
+ name="xhtml.InlForm.class">
334
+ <xs:choice>
335
+ <xs:element
336
+ name="input"
337
+ type="xhtml.input.type"/>
338
+ <xs:element
339
+ name="select"
340
+ type="xhtml.select.type"/>
341
+ <xs:element
342
+ name="textarea"
343
+ type="xhtml.textarea.type"/>
344
+ <xs:element
345
+ name="label"
346
+ type="xhtml.label.type"/>
347
+ <xs:element
348
+ name="button"
349
+ type="xhtml.button.type"/>
350
+ </xs:choice>
351
+ </xs:group>
352
+ <xs:group
353
+ name="xhtml.Inline.extra">
354
+ <xs:sequence/>
355
+ </xs:group>
356
+ <xs:group
357
+ name="xhtml.Ruby.class">
358
+ <xs:sequence>
359
+ <xs:element
360
+ name="ruby"
361
+ type="xhtml.ruby.type"/>
362
+ </xs:sequence>
363
+ </xs:group>
364
+ <!--
365
+ Inline.class includes all inline elements,
366
+ used as a component in mixes
367
+ -->
368
+ <xs:group
369
+ name="xhtml.Inline.class">
370
+ <xs:choice>
371
+ <xs:group
372
+ ref="xhtml.InlStruct.class"/>
373
+ <xs:group
374
+ ref="xhtml.InlPhras.class"/>
375
+ <xs:group
376
+ ref="xhtml.InlPres.class"/>
377
+ <xs:group
378
+ ref="xhtml.I18n.class"/>
379
+ <xs:group
380
+ ref="xhtml.Anchor.class"/>
381
+ <xs:group
382
+ ref="xhtml.InlSpecial.class"/>
383
+ <xs:group
384
+ ref="xhtml.InlForm.class"/>
385
+ <xs:group
386
+ ref="xhtml.Ruby.class"/>
387
+ <xs:group
388
+ ref="xhtml.Inline.extra"/>
389
+ </xs:choice>
390
+ </xs:group>
391
+ <!--
392
+ InlNoRuby.class includes all inline elements
393
+ except ruby
394
+ -->
395
+ <xs:group
396
+ name="xhtml.InlNoRuby.class">
397
+ <xs:choice>
398
+ <xs:group
399
+ ref="xhtml.InlStruct.class"/>
400
+ <xs:group
401
+ ref="xhtml.InlPhras.class"/>
402
+ <xs:group
403
+ ref="xhtml.InlPres.class"/>
404
+ <xs:group
405
+ ref="xhtml.I18n.class"/>
406
+ <xs:group
407
+ ref="xhtml.Anchor.class"/>
408
+ <xs:group
409
+ ref="xhtml.InlSpecial.class"/>
410
+ <xs:group
411
+ ref="xhtml.InlForm.class"/>
412
+ <xs:group
413
+ ref="xhtml.Inline.extra"/>
414
+ </xs:choice>
415
+ </xs:group>
416
+ <!--
417
+ InlinePre.mix
418
+ Used as a component in pre model
419
+ -->
420
+ <xs:group
421
+ name="xhtml.InlinePre.mix">
422
+ <xs:choice>
423
+ <xs:group
424
+ ref="xhtml.InlStruct.class"/>
425
+ <xs:group
426
+ ref="xhtml.InlPhras.class"/>
427
+ <xs:element
428
+ name="tt"
429
+ type="xhtml.InlPres.type"/>
430
+ <xs:element
431
+ name="i"
432
+ type="xhtml.InlPres.type"/>
433
+ <xs:element
434
+ name="b"
435
+ type="xhtml.InlPres.type"/>
436
+ <xs:group
437
+ ref="xhtml.I18n.class"/>
438
+ <xs:group
439
+ ref="xhtml.Anchor.class"/>
440
+ <xs:group
441
+ ref="xhtml.Misc.class"/>
442
+ <xs:element
443
+ name="map"
444
+ type="xhtml.map.type"/>
445
+ <xs:group
446
+ ref="xhtml.Inline.extra"/>
447
+ </xs:choice>
448
+ </xs:group>
449
+ <!--
450
+ InlNoAnchor.class includes all non-anchor inlines,
451
+ used as a component in mixes
452
+ -->
453
+ <xs:group
454
+ name="xhtml.InlNoAnchor.class">
455
+ <xs:choice>
456
+ <xs:group
457
+ ref="xhtml.InlStruct.class"/>
458
+ <xs:group
459
+ ref="xhtml.InlPhras.class"/>
460
+ <xs:group
461
+ ref="xhtml.InlPres.class"/>
462
+ <xs:group
463
+ ref="xhtml.I18n.class"/>
464
+ <xs:group
465
+ ref="xhtml.InlSpecial.class"/>
466
+ <xs:group
467
+ ref="xhtml.InlForm.class"/>
468
+ <xs:group
469
+ ref="xhtml.Ruby.class"/>
470
+ <xs:group
471
+ ref="xhtml.Inline.extra"/>
472
+ </xs:choice>
473
+ </xs:group>
474
+ <!--
475
+ InlNoAnchor.mix includes all non-anchor inlines
476
+ -->
477
+ <xs:group
478
+ name="xhtml.InlNoAnchor.mix">
479
+ <xs:choice>
480
+ <xs:group
481
+ ref="xhtml.InlNoAnchor.class"/>
482
+ <xs:group
483
+ ref="xhtml.Misc.class"/>
484
+ </xs:choice>
485
+ </xs:group>
486
+ <!--
487
+ Inline.mix includes all inline elements, including Misc.class
488
+ -->
489
+ <xs:group
490
+ name="xhtml.Inline.mix">
491
+ <xs:choice>
492
+ <xs:group
493
+ ref="xhtml.Inline.class"/>
494
+ <xs:group
495
+ ref="xhtml.Misc.class"/>
496
+ </xs:choice>
497
+ </xs:group>
498
+ <!--
499
+ InlNoRuby.mix includes all of inline.mix elements
500
+ except ruby
501
+ -->
502
+ <xs:group
503
+ name="xhtml.InlNoRuby.mix">
504
+ <xs:choice>
505
+ <xs:group
506
+ ref="xhtml.InlNoRuby.class"/>
507
+ <xs:group
508
+ ref="xhtml.Misc.class"/>
509
+ </xs:choice>
510
+ </xs:group>
511
+ <!--
512
+ In the HTML 4 DTD, heading and list elements were included
513
+ in the block group. The Heading.class and
514
+ List.class groups must now be included explicitly
515
+ on element declarations where desired.
516
+ -->
517
+ <xs:group
518
+ name="xhtml.Heading.class">
519
+ <xs:choice>
520
+ <xs:element
521
+ name="h1"
522
+ type="xhtml.h1.type"/>
523
+ <xs:element
524
+ name="h2"
525
+ type="xhtml.h2.type"/>
526
+ <xs:element
527
+ name="h3"
528
+ type="xhtml.h3.type"/>
529
+ <xs:element
530
+ name="h4"
531
+ type="xhtml.h4.type"/>
532
+ <xs:element
533
+ name="h5"
534
+ type="xhtml.h5.type"/>
535
+ <xs:element
536
+ name="h6"
537
+ type="xhtml.h6.type"/>
538
+ </xs:choice>
539
+ </xs:group>
540
+ <xs:group
541
+ name="xhtml.List.class">
542
+ <xs:choice>
543
+ <xs:element
544
+ name="ul"
545
+ type="xhtml.ul.type"/>
546
+ <xs:element
547
+ name="ol"
548
+ type="xhtml.ol.type"/>
549
+ <xs:element
550
+ name="dl"
551
+ type="xhtml.dl.type"/>
552
+ </xs:choice>
553
+ </xs:group>
554
+ <xs:group
555
+ name="xhtml.Table.class">
556
+ <xs:choice>
557
+ <xs:element
558
+ name="table"
559
+ type="xhtml.table.type"/>
560
+ </xs:choice>
561
+ </xs:group>
562
+ <xs:group
563
+ name="xhtml.Form.class">
564
+ <xs:choice>
565
+ <xs:element
566
+ name="form"
567
+ type="xhtml.form.type"/>
568
+ </xs:choice>
569
+ </xs:group>
570
+ <xs:group
571
+ name="xhtml.Fieldset.class">
572
+ <xs:choice>
573
+ <xs:element
574
+ name="fieldset"
575
+ type="xhtml.fieldset.type"/>
576
+ </xs:choice>
577
+ </xs:group>
578
+ <xs:group
579
+ name="xhtml.BlkStruct.class">
580
+ <xs:choice>
581
+ <xs:element
582
+ name="p"
583
+ type="xhtml.p.type"/>
584
+ <xs:element
585
+ name="div"
586
+ type="xhtml.div.type"/>
587
+ </xs:choice>
588
+ </xs:group>
589
+ <xs:group
590
+ name="xhtml.BlkPhras.class">
591
+ <xs:choice>
592
+ <xs:element
593
+ name="pre"
594
+ type="xhtml.pre.type"/>
595
+ <xs:element
596
+ name="blockquote"
597
+ type="xhtml.blockquote.type"/>
598
+ <xs:element
599
+ name="address"
600
+ type="xhtml.address.type"/>
601
+ </xs:choice>
602
+ </xs:group>
603
+ <xs:group
604
+ name="xhtml.BlkPres.class">
605
+ <xs:sequence>
606
+ <xs:element
607
+ name="hr"
608
+ type="xhtml.hr.type"/>
609
+ </xs:sequence>
610
+ </xs:group>
611
+ <xs:group
612
+ name="xhtml.BlkSpecial.class">
613
+ <xs:choice>
614
+ <xs:group
615
+ ref="xhtml.Table.class"/>
616
+ <xs:group
617
+ ref="xhtml.Form.class"/>
618
+ <xs:group
619
+ ref="xhtml.Fieldset.class"/>
620
+ </xs:choice>
621
+ </xs:group>
622
+ <xs:group
623
+ name="xhtml.Block.extra">
624
+ <xs:sequence/>
625
+ </xs:group>
626
+ <!--
627
+ Block.class includes all block elements,
628
+ used as an component in mixes
629
+ -->
630
+ <xs:group
631
+ name="xhtml.Block.class">
632
+ <xs:choice>
633
+ <xs:group
634
+ ref="xhtml.BlkStruct.class"/>
635
+ <xs:group
636
+ ref="xhtml.BlkPhras.class"/>
637
+ <xs:group
638
+ ref="xhtml.BlkPres.class"/>
639
+ <xs:group
640
+ ref="xhtml.BlkSpecial.class"/>
641
+ <xs:group
642
+ ref="xhtml.Block.extra"/>
643
+ </xs:choice>
644
+ </xs:group>
645
+ <!--
646
+ Block.mix includes all block elements plus %Misc.class;
647
+ -->
648
+ <xs:group
649
+ name="xhtml.Block.mix">
650
+ <xs:choice>
651
+ <xs:group
652
+ ref="xhtml.Heading.class"/>
653
+ <xs:group
654
+ ref="xhtml.List.class"/>
655
+ <xs:group
656
+ ref="xhtml.Block.class"/>
657
+ <xs:group
658
+ ref="xhtml.Misc.class"/>
659
+ </xs:choice>
660
+ </xs:group>
661
+ <!--
662
+ All Content Elements
663
+ Flow.mix includes all text content, block and inline
664
+ Note that the "any" element included here allows us
665
+ to add data from any other namespace, a necessity
666
+ for compound document creation.
667
+ Note however that it is not possible to add
668
+ to any head level element without further
669
+ modification. To add RDF metadata to the head
670
+ of a document, modify the structure module.
671
+ -->
672
+ <xs:group
673
+ name="xhtml.Flow.mix">
674
+ <xs:choice>
675
+ <xs:group
676
+ ref="xhtml.Heading.class"/>
677
+ <xs:group
678
+ ref="xhtml.List.class"/>
679
+ <xs:group
680
+ ref="xhtml.Block.class"/>
681
+ <xs:group
682
+ ref="xhtml.Inline.class"/>
683
+ <xs:group
684
+ ref="xhtml.Misc.class"/>
685
+ </xs:choice>
686
+ </xs:group>
687
+ <!--
688
+ BlkNoForm.mix includes all non-form block elements,
689
+ plus Misc.class
690
+ -->
691
+ <xs:group
692
+ name="xhtml.BlkNoForm.mix">
693
+ <xs:choice>
694
+ <xs:group
695
+ ref="xhtml.Heading.class"/>
696
+ <xs:group
697
+ ref="xhtml.List.class"/>
698
+ <xs:group
699
+ ref="xhtml.BlkStruct.class"/>
700
+ <xs:group
701
+ ref="xhtml.BlkPhras.class"/>
702
+ <xs:group
703
+ ref="xhtml.BlkPres.class"/>
704
+ <xs:group
705
+ ref="xhtml.Table.class"/>
706
+ <xs:group
707
+ ref="xhtml.Block.extra"/>
708
+ <xs:group
709
+ ref="xhtml.Misc.class"/>
710
+ </xs:choice>
711
+ </xs:group>
712
+ <xs:element
713
+ name="html"
714
+ type="xhtml.html.type"/>
715
+ </xs:schema>