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,99 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema targetNamespace="http://www.w3.org/1999/xhtml"
3
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
4
+ xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
5
+ xmlns="http://www.w3.org/1999/xhtml"
6
+ blockDefault="#all">
7
+
8
+ <xs:annotation>
9
+ <xs:documentation>
10
+ This is the XML Schema driver for XHTML Basic 1.0.
11
+ Please use this namespace for XHTML elements:
12
+ "http://www.w3.org/1999/xhtml"
13
+
14
+ $Id: xhtml-basic10.xsd,v 1.7 2005/09/26 22:54:53 ahby Exp $
15
+ </xs:documentation>
16
+ </xs:annotation>
17
+
18
+ <xs:annotation>
19
+ <xs:documentation>
20
+ This is XHTML, a reformulation of HTML as a modular XML application
21
+ The Extensible HyperText Markup Language (XHTML)
22
+ Copyright &#169;1998-2005 World Wide Web Consortium
23
+ (Massachusetts Institute of Technology, European Research Consortium
24
+ for Informatics and Mathematics, Keio University).
25
+ All Rights Reserved.
26
+
27
+ Permission to use, copy, modify and distribute the XHTML Schema
28
+ modules and their accompanying xs:documentation for any purpose
29
+ and without fee is hereby granted in perpetuity, provided that the above
30
+ copyright notice and this paragraph appear in all copies.
31
+ The copyright holders make no representation about the suitability of
32
+ these XML Schema modules for any purpose.
33
+
34
+ They are provided "as is" without expressed or implied warranty.
35
+ </xs:documentation>
36
+ </xs:annotation>
37
+
38
+ <xs:annotation>
39
+ <xs:documentation>
40
+ This is the Schema Driver file for XHTML Basic 1.0
41
+ Document Type
42
+
43
+ This schema includes
44
+ + imports external schemas (xml.xsd)
45
+ + refedines (and include)s schema modules for XHTML
46
+ Basic 1.0 Document Type.
47
+ + includes Schema for Named content model for the
48
+ XHTML Basic 1.0 Document Type
49
+
50
+ XHTML Basic 1.0 Document Type includes the following Modules
51
+
52
+ XHTML Core modules (Required for XHTML Family Conformance)
53
+ + text
54
+ + hypertext
55
+ + lists
56
+ + structure (redefined)
57
+
58
+ Other XHTML modules
59
+ + Link
60
+ + Meta
61
+ + Base
62
+ + Image
63
+ + Object
64
+ + Param
65
+ + Basic forms
66
+ + Basic tables
67
+ </xs:documentation>
68
+ </xs:annotation>
69
+
70
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace"
71
+ schemaLocation="http://www.w3.org/2001/xml.xsd">
72
+ <xs:annotation>
73
+ <xs:documentation>
74
+ This import brings in the XML namespace attributes
75
+ The XML attributes are used by various modules
76
+ </xs:documentation>
77
+ </xs:annotation>
78
+ </xs:import>
79
+
80
+ <xs:include schemaLocation="xhtml-basic10-model-1.xsd">
81
+ <xs:annotation>
82
+ <xs:documentation>
83
+ Document Model module for the XHTML Basic 1.0 Document Type
84
+ This schema file defines all named models used by XHTML
85
+ Modularization Framework for XHTML Basic 1.0 Document Type
86
+ </xs:documentation>
87
+ </xs:annotation>
88
+ </xs:include>
89
+
90
+ <xs:include schemaLocation="xhtml-basic10-modules-1.xsd">
91
+ <xs:annotation>
92
+ <xs:documentation>
93
+ Schema that includes the modules (and redefinitions)
94
+ for XHTML Basic 1.0 Document Type.
95
+ </xs:documentation>
96
+ </xs:annotation>
97
+ </xs:include>
98
+
99
+ </xs:schema>
@@ -0,0 +1,622 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3
+ elementFormDefault="qualified"
4
+ xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/">
5
+
6
+ <xs:annotation>
7
+ <xs:documentation>
8
+ This is the XML Schema module of named XHTML content models for XHTML Basic 10
9
+ $Id: xhtml-basic11-model-1.xsd,v 1.1 2008/05/29 19:43:04 smccarro Exp $
10
+ </xs:documentation>
11
+ <xs:documentation source="xhtml-copyright-1.xsd"/>
12
+ </xs:annotation>
13
+
14
+ <xs:annotation>
15
+ <xs:documentation>
16
+ XHTML Basic 1.1 Document Model
17
+
18
+ This module describes the groupings of elements/attributes
19
+ that make up common content models for XHTML elements.
20
+ XHTML has following basic content models:
21
+ xhtml.Inline.mix; character-level elements
22
+ xhtml.Block.mix; block-like elements, e.g., paragraphs and lists
23
+ xhtml.Flow.mix; any block or inline elements
24
+ xhtml.HeadOpts.mix; Head Elements
25
+ xhtml.InlinePre.mix; Special class for pre content model
26
+ xhtml.InlineNoAnchor.mix; Content model for Anchor
27
+
28
+ Any groups declared in this module may be used to create
29
+ element content models, but the above are considered 'global'
30
+ (insofar as that term applies here). XHTML has the
31
+ following Attribute Groups
32
+ xhtml.Core.extra.attrib
33
+ xhtml.I18n.extra.attrib
34
+ xhtml.Common.extra
35
+
36
+ The above attribute Groups are considered Global
37
+ </xs:documentation>
38
+ </xs:annotation>
39
+ <xs:attributeGroup
40
+ name="xhtml.I18n.extra.attrib">
41
+ <xs:annotation>
42
+ <xs:documentation> Extended I18n attribute </xs:documentation>
43
+ </xs:annotation>
44
+ </xs:attributeGroup>
45
+ <xs:attributeGroup
46
+ name="xhtml.Common.extra">
47
+ <xs:annotation>
48
+ <xs:documentation> Extended Common Attributes </xs:documentation>
49
+ </xs:annotation>
50
+ <xs:attributeGroup
51
+ ref="xhtml.style.attrib">
52
+ <xs:annotation>
53
+ <xs:documentation>
54
+ "style" attribute from Inline Style Module
55
+ </xs:documentation>
56
+ </xs:annotation>
57
+ </xs:attributeGroup>
58
+ <xs:attributeGroup ref="xhtml.Events.attrib">
59
+ <xs:annotation>
60
+ <xs:documentation>
61
+ Attributes from Events Module
62
+ </xs:documentation>
63
+ </xs:annotation>
64
+ </xs:attributeGroup>
65
+ </xs:attributeGroup>
66
+ <xs:attributeGroup
67
+ name="xhtml.Core.extra.attrib">
68
+ <xs:annotation>
69
+ <xs:documentation> Extend Core Attributes </xs:documentation>
70
+ </xs:annotation>
71
+ </xs:attributeGroup>
72
+ <xs:attributeGroup
73
+ name="xhtml.Global.core.extra.attrib">
74
+ <xs:annotation>
75
+ <xs:documentation> Extended Global Core Attributes </xs:documentation>
76
+ </xs:annotation>
77
+ </xs:attributeGroup>
78
+ <xs:attributeGroup
79
+ name="xhtml.Global.I18n.extra.attrib">
80
+ <xs:annotation>
81
+ <xs:documentation> Extended Global I18n attributes </xs:documentation>
82
+ </xs:annotation>
83
+ </xs:attributeGroup>
84
+ <xs:attributeGroup
85
+ name="xhtml.Global.Common.extra">
86
+ <xs:annotation>
87
+ <xs:documentation> Extended Global Common Attributes </xs:documentation>
88
+ </xs:annotation>
89
+ </xs:attributeGroup>
90
+ <xs:group
91
+ name="xhtml.Head.extra">
92
+ <xs:sequence/>
93
+ </xs:group>
94
+ <xs:group
95
+ name="xhtml.HeadOpts.mix">
96
+ <xs:choice>
97
+ <xs:element
98
+ name="script"
99
+ type="xhtml.script.type"/>
100
+ <xs:element
101
+ name="style"
102
+ type="xhtml.style.type"/>
103
+ <xs:element
104
+ name="meta"
105
+ type="xhtml.meta.type"/>
106
+ <xs:element
107
+ name="link"
108
+ type="xhtml.link.type"/>
109
+ <xs:element
110
+ name="object"
111
+ type="xhtml.object.type"/>
112
+ <xs:group
113
+ ref="xhtml.Head.extra"/>
114
+ </xs:choice>
115
+ </xs:group>
116
+ <xs:group
117
+ name="xhtml.head.content">
118
+ <xs:sequence>
119
+ <xs:group
120
+ ref="xhtml.HeadOpts.mix"
121
+ minOccurs="0"
122
+ maxOccurs="unbounded"/>
123
+ <xs:choice>
124
+ <xs:sequence>
125
+ <xs:element
126
+ name="title"
127
+ minOccurs="1"
128
+ maxOccurs="1"
129
+ type="xhtml.title.type"/>
130
+ <xs:group
131
+ ref="xhtml.HeadOpts.mix"
132
+ minOccurs="0"
133
+ maxOccurs="unbounded"/>
134
+ <xs:sequence
135
+ minOccurs="0">
136
+ <xs:element
137
+ name="base"
138
+ type="xhtml.base.type"/>
139
+ <xs:group
140
+ ref="xhtml.HeadOpts.mix"
141
+ minOccurs="0"
142
+ maxOccurs="unbounded"/>
143
+ </xs:sequence>
144
+ </xs:sequence>
145
+ <xs:sequence>
146
+ <xs:element
147
+ name="base"
148
+ type="xhtml.base.type"
149
+ minOccurs="1"
150
+ maxOccurs="1"/>
151
+ <xs:group
152
+ ref="xhtml.HeadOpts.mix"
153
+ minOccurs="0"
154
+ maxOccurs="unbounded"/>
155
+ <xs:element
156
+ name="title"
157
+ minOccurs="1"
158
+ maxOccurs="1"
159
+ type="xhtml.title.type"/>
160
+ <xs:group
161
+ ref="xhtml.HeadOpts.mix"
162
+ minOccurs="0"
163
+ maxOccurs="unbounded"/>
164
+ </xs:sequence>
165
+ </xs:choice>
166
+ </xs:sequence>
167
+ </xs:group>
168
+ <!--
169
+ script and noscript are used to contain scripts
170
+ and alternative content
171
+ -->
172
+ <xs:group
173
+ name="xhtml.Script.class">
174
+ <xs:choice>
175
+ <xs:element
176
+ name="script"
177
+ type="xhtml.script.type"/>
178
+ <xs:element
179
+ name="noscript"
180
+ type="xhtml.noscript.type"/>
181
+ </xs:choice>
182
+ </xs:group>
183
+ <xs:group
184
+ name="xhtml.Misc.extra">
185
+ <xs:sequence/>
186
+ </xs:group>
187
+ <!--
188
+ These elements are neither block nor inline, and can
189
+ essentially be used anywhere in the document body.
190
+ -->
191
+ <xs:group
192
+ name="xhtml.Misc.class">
193
+ <xs:choice>
194
+ <xs:group
195
+ ref="xhtml.Script.class"/>
196
+ <xs:group
197
+ ref="xhtml.Misc.extra"/>
198
+ </xs:choice>
199
+ </xs:group>
200
+ <!-- Inline Elements -->
201
+ <xs:group
202
+ name="xhtml.InlStruct.class">
203
+ <xs:choice>
204
+ <xs:element
205
+ name="br"
206
+ type="xhtml.br.type"/>
207
+ <xs:element
208
+ name="span"
209
+ type="xhtml.span.type"/>
210
+ </xs:choice>
211
+ </xs:group>
212
+ <xs:group
213
+ name="xhtml.InlPhras.class">
214
+ <xs:choice>
215
+ <xs:element
216
+ name="em"
217
+ type="xhtml.em.type"/>
218
+ <xs:element
219
+ name="strong"
220
+ type="xhtml.strong.type"/>
221
+ <xs:element
222
+ name="dfn"
223
+ type="xhtml.dfn.type"/>
224
+ <xs:element
225
+ name="code"
226
+ type="xhtml.code.type"/>
227
+ <xs:element
228
+ name="samp"
229
+ type="xhtml.samp.type"/>
230
+ <xs:element
231
+ name="kbd"
232
+ type="xhtml.kbd.type"/>
233
+ <xs:element
234
+ name="var"
235
+ type="xhtml.var.type"/>
236
+ <xs:element
237
+ name="cite"
238
+ type="xhtml.cite.type"/>
239
+ <xs:element
240
+ name="abbr"
241
+ type="xhtml.abbr.type"/>
242
+ <xs:element
243
+ name="acronym"
244
+ type="xhtml.acronym.type"/>
245
+ <xs:element
246
+ name="q"
247
+ type="xhtml.q.type"/>
248
+ </xs:choice>
249
+ </xs:group>
250
+ <xs:group
251
+ name="xhtml.InlPres.class">
252
+ <xs:choice>
253
+ <xs:element
254
+ name="tt"
255
+ type="xhtml.InlPres.type"/>
256
+ <xs:element
257
+ name="i"
258
+ type="xhtml.InlPres.type"/>
259
+ <xs:element
260
+ name="b"
261
+ type="xhtml.InlPres.type"/>
262
+ <xs:element
263
+ name="big"
264
+ type="xhtml.InlPres.type"/>
265
+ <xs:element
266
+ name="small"
267
+ type="xhtml.InlPres.type"/>
268
+ <xs:element
269
+ name="sub"
270
+ type="xhtml.InlPres.type"/>
271
+ <xs:element
272
+ name="sup"
273
+ type="xhtml.InlPres.type"/>
274
+ </xs:choice>
275
+ </xs:group>
276
+ <xs:group
277
+ name="xhtml.Anchor.class">
278
+ <xs:sequence>
279
+ <xs:element
280
+ name="a"
281
+ type="xhtml.a.type"/>
282
+ </xs:sequence>
283
+ </xs:group>
284
+ <xs:group
285
+ name="xhtml.InlSpecial.class">
286
+ <xs:choice>
287
+ <xs:element
288
+ name="img"
289
+ type="xhtml.img.type"/>
290
+ <xs:element
291
+ name="object"
292
+ type="xhtml.object.type"/>
293
+ </xs:choice>
294
+ </xs:group>
295
+ <xs:group
296
+ name="xhtml.InlForm.class">
297
+ <xs:choice>
298
+ <xs:element
299
+ name="input"
300
+ type="xhtml.input.type"/>
301
+ <xs:element
302
+ name="select"
303
+ type="xhtml.select.type"/>
304
+ <xs:element
305
+ name="textarea"
306
+ type="xhtml.textarea.type"/>
307
+ <xs:element
308
+ name="label"
309
+ type="xhtml.label.type"/>
310
+ <xs:element
311
+ name="button"
312
+ type="xhtml.button.type"/>
313
+ </xs:choice>
314
+ </xs:group>
315
+ <xs:group
316
+ name="xhtml.Inline.extra">
317
+ <xs:sequence/>
318
+ </xs:group>
319
+ <!--
320
+ Inline.class includes all inline elements,
321
+ used as a component in mixes
322
+ -->
323
+ <xs:group
324
+ name="xhtml.Inline.class">
325
+ <xs:choice>
326
+ <xs:group
327
+ ref="xhtml.InlStruct.class"/>
328
+ <xs:group
329
+ ref="xhtml.InlPhras.class"/>
330
+ <xs:group
331
+ ref="xhtml.InlPres.class"/>
332
+ <xs:group
333
+ ref="xhtml.Anchor.class"/>
334
+ <xs:group
335
+ ref="xhtml.InlSpecial.class"/>
336
+ <xs:group
337
+ ref="xhtml.InlForm.class"/>
338
+ <xs:group
339
+ ref="xhtml.Inline.extra"/>
340
+ </xs:choice>
341
+ </xs:group>
342
+ <!--
343
+ InlinePre.mix
344
+ Used as a component in pre model
345
+ -->
346
+ <xs:group
347
+ name="xhtml.InlinePre.mix">
348
+ <xs:choice>
349
+ <xs:group
350
+ ref="xhtml.InlStruct.class"/>
351
+ <xs:group
352
+ ref="xhtml.InlPhras.class"/>
353
+ <xs:element
354
+ name="tt"
355
+ type="xhtml.InlPres.type"/>
356
+ <xs:element
357
+ name="i"
358
+ type="xhtml.InlPres.type"/>
359
+ <xs:element
360
+ name="b"
361
+ type="xhtml.InlPres.type"/>
362
+ <xs:group
363
+ ref="xhtml.Anchor.class"/>
364
+ <xs:group
365
+ ref="xhtml.Misc.class"/>
366
+ <xs:element
367
+ name="map"
368
+ type="xhtml.map.type"/>
369
+ <xs:group
370
+ ref="xhtml.Inline.extra"/>
371
+ </xs:choice>
372
+ </xs:group>
373
+ <!--
374
+ InlNoAnchor.class includes all non-anchor inlines,
375
+ used as a component in mixes
376
+ -->
377
+ <xs:group
378
+ name="xhtml.InlNoAnchor.class">
379
+ <xs:choice>
380
+ <xs:group
381
+ ref="xhtml.InlStruct.class"/>
382
+ <xs:group
383
+ ref="xhtml.InlPhras.class"/>
384
+ <xs:group
385
+ ref="xhtml.InlPres.class"/>
386
+ <xs:group
387
+ ref="xhtml.InlSpecial.class"/>
388
+ <xs:group
389
+ ref="xhtml.InlForm.class"/>
390
+ <xs:group
391
+ ref="xhtml.Inline.extra"/>
392
+ </xs:choice>
393
+ </xs:group>
394
+ <!--
395
+ InlNoAnchor.mix includes all non-anchor inlines
396
+ -->
397
+ <xs:group
398
+ name="xhtml.InlNoAnchor.mix">
399
+ <xs:choice>
400
+ <xs:group
401
+ ref="xhtml.InlNoAnchor.class"/>
402
+ <xs:group
403
+ ref="xhtml.Misc.class"/>
404
+ </xs:choice>
405
+ </xs:group>
406
+ <!--
407
+ Inline.mix includes all inline elements, including Misc.class
408
+ -->
409
+ <xs:group
410
+ name="xhtml.Inline.mix">
411
+ <xs:choice>
412
+ <xs:group
413
+ ref="xhtml.Inline.class"/>
414
+ <xs:group
415
+ ref="xhtml.Misc.class"/>
416
+ </xs:choice>
417
+ </xs:group>
418
+ <!--
419
+ In the HTML 4 DTD, heading and list elements were included
420
+ in the block group. The Heading.class and
421
+ List.class groups must now be included explicitly
422
+ on element declarations where desired.
423
+ -->
424
+ <xs:group
425
+ name="xhtml.Heading.class">
426
+ <xs:choice>
427
+ <xs:element
428
+ name="h1"
429
+ type="xhtml.h1.type"/>
430
+ <xs:element
431
+ name="h2"
432
+ type="xhtml.h2.type"/>
433
+ <xs:element
434
+ name="h3"
435
+ type="xhtml.h3.type"/>
436
+ <xs:element
437
+ name="h4"
438
+ type="xhtml.h4.type"/>
439
+ <xs:element
440
+ name="h5"
441
+ type="xhtml.h5.type"/>
442
+ <xs:element
443
+ name="h6"
444
+ type="xhtml.h6.type"/>
445
+ </xs:choice>
446
+ </xs:group>
447
+ <xs:group
448
+ name="xhtml.List.class">
449
+ <xs:choice>
450
+ <xs:element
451
+ name="ul"
452
+ type="xhtml.ul.type"/>
453
+ <xs:element
454
+ name="ol"
455
+ type="xhtml.ol.type"/>
456
+ <xs:element
457
+ name="dl"
458
+ type="xhtml.dl.type"/>
459
+ </xs:choice>
460
+ </xs:group>
461
+ <xs:group
462
+ name="xhtml.Table.class">
463
+ <xs:choice>
464
+ <xs:element
465
+ name="table"
466
+ type="xhtml.table.type"/>
467
+ </xs:choice>
468
+ </xs:group>
469
+ <xs:group
470
+ name="xhtml.Form.class">
471
+ <xs:choice>
472
+ <xs:element
473
+ name="form"
474
+ type="xhtml.form.type"/>
475
+ </xs:choice>
476
+ </xs:group>
477
+ <xs:group
478
+ name="xhtml.Fieldset.class">
479
+ <xs:choice>
480
+ <xs:element
481
+ name="fieldset"
482
+ type="xhtml.fieldset.type"/>
483
+ </xs:choice>
484
+ </xs:group>
485
+ <xs:group
486
+ name="xhtml.BlkStruct.class">
487
+ <xs:choice>
488
+ <xs:element
489
+ name="p"
490
+ type="xhtml.p.type"/>
491
+ <xs:element
492
+ name="div"
493
+ type="xhtml.div.type"/>
494
+ </xs:choice>
495
+ </xs:group>
496
+ <xs:group
497
+ name="xhtml.BlkPhras.class">
498
+ <xs:choice>
499
+ <xs:element
500
+ name="pre"
501
+ type="xhtml.pre.type"/>
502
+ <xs:element
503
+ name="blockquote"
504
+ type="xhtml.blockquote.type"/>
505
+ <xs:element
506
+ name="address"
507
+ type="xhtml.address.type"/>
508
+ </xs:choice>
509
+ </xs:group>
510
+ <xs:group
511
+ name="xhtml.BlkPres.class">
512
+ <xs:sequence>
513
+ <xs:element
514
+ name="hr"
515
+ type="xhtml.hr.type"/>
516
+ </xs:sequence>
517
+ </xs:group>
518
+ <xs:group
519
+ name="xhtml.BlkSpecial.class">
520
+ <xs:choice>
521
+ <xs:group
522
+ ref="xhtml.Table.class"/>
523
+ <xs:group
524
+ ref="xhtml.Form.class"/>
525
+ <xs:group
526
+ ref="xhtml.Fieldset.class"/>
527
+ </xs:choice>
528
+ </xs:group>
529
+ <xs:group
530
+ name="xhtml.Block.extra">
531
+ <xs:sequence/>
532
+ </xs:group>
533
+ <!--
534
+ Block.class includes all block elements,
535
+ used as an component in mixes
536
+ -->
537
+ <xs:group
538
+ name="xhtml.Block.class">
539
+ <xs:choice>
540
+ <xs:group
541
+ ref="xhtml.BlkStruct.class"/>
542
+ <xs:group
543
+ ref="xhtml.BlkPhras.class"/>
544
+ <xs:group
545
+ ref="xhtml.BlkPres.class"/>
546
+ <xs:group
547
+ ref="xhtml.BlkSpecial.class"/>
548
+ <xs:group
549
+ ref="xhtml.Block.extra"/>
550
+ </xs:choice>
551
+ </xs:group>
552
+ <!--
553
+ Block.mix includes all block elements plus %Misc.class;
554
+ -->
555
+ <xs:group
556
+ name="xhtml.Block.mix">
557
+ <xs:choice>
558
+ <xs:group
559
+ ref="xhtml.Heading.class"/>
560
+ <xs:group
561
+ ref="xhtml.List.class"/>
562
+ <xs:group
563
+ ref="xhtml.Block.class"/>
564
+ <xs:group
565
+ ref="xhtml.Misc.class"/>
566
+ </xs:choice>
567
+ </xs:group>
568
+ <!--
569
+ All Content Elements
570
+ Flow.mix includes all text content, block and inline
571
+ Note that the "any" element included here allows us
572
+ to add data from any other namespace, a necessity
573
+ for compound document creation.
574
+ Note however that it is not possible to add
575
+ to any head level element without further
576
+ modification. To add RDF metadata to the head
577
+ of a document, modify the structure module.
578
+ -->
579
+ <xs:group
580
+ name="xhtml.Flow.mix">
581
+ <xs:choice>
582
+ <xs:group
583
+ ref="xhtml.Heading.class"/>
584
+ <xs:group
585
+ ref="xhtml.List.class"/>
586
+ <xs:group
587
+ ref="xhtml.Block.class"/>
588
+ <xs:group
589
+ ref="xhtml.Inline.class"/>
590
+ <xs:group
591
+ ref="xhtml.Misc.class"/>
592
+ </xs:choice>
593
+ </xs:group>
594
+ <!--
595
+ BlkNoForm.mix includes all non-form block elements,
596
+ plus Misc.class
597
+ -->
598
+ <xs:group
599
+ name="xhtml.BlkNoForm.mix">
600
+ <xs:choice>
601
+ <xs:group
602
+ ref="xhtml.Heading.class"/>
603
+ <xs:group
604
+ ref="xhtml.List.class"/>
605
+ <xs:group
606
+ ref="xhtml.BlkStruct.class"/>
607
+ <xs:group
608
+ ref="xhtml.BlkPhras.class"/>
609
+ <xs:group
610
+ ref="xhtml.BlkPres.class"/>
611
+ <xs:group
612
+ ref="xhtml.Table.class"/>
613
+ <xs:group
614
+ ref="xhtml.Block.extra"/>
615
+ <xs:group
616
+ ref="xhtml.Misc.class"/>
617
+ </xs:choice>
618
+ </xs:group>
619
+ <xs:element
620
+ name="html"
621
+ type="xhtml.html.type"/>
622
+ </xs:schema>