camelpunch-markup_validity 1.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.
Files changed (105) hide show
  1. data/.autotest +23 -0
  2. data/CHANGELOG.rdoc +22 -0
  3. data/Manifest.txt +105 -0
  4. data/README.rdoc +101 -0
  5. data/Rakefile +15 -0
  6. data/lib/markup_validity.rb +12 -0
  7. data/lib/markup_validity/MarkUp.html +1095 -0
  8. data/lib/markup_validity/SCHEMA.html +90 -0
  9. data/lib/markup_validity/assertions.rb +32 -0
  10. data/lib/markup_validity/examples.html +25 -0
  11. data/lib/markup_validity/rspec.rb +77 -0
  12. data/lib/markup_validity/templates.html +15 -0
  13. data/lib/markup_validity/validator.rb +65 -0
  14. data/lib/markup_validity/xframes-1.xsd +166 -0
  15. data/lib/markup_validity/xhtml-access-1.xsd +43 -0
  16. data/lib/markup_validity/xhtml-applet-1.xsd +66 -0
  17. data/lib/markup_validity/xhtml-attribs-1.xsd +67 -0
  18. data/lib/markup_validity/xhtml-base-1.xsd +31 -0
  19. data/lib/markup_validity/xhtml-basic-form-1.xsd +195 -0
  20. data/lib/markup_validity/xhtml-basic-table-1.xsd +169 -0
  21. data/lib/markup_validity/xhtml-basic10-model-1.xsd +385 -0
  22. data/lib/markup_validity/xhtml-basic10-module-redefines-1.xsd +61 -0
  23. data/lib/markup_validity/xhtml-basic10-modules-1.xsd +233 -0
  24. data/lib/markup_validity/xhtml-basic10.xsd +99 -0
  25. data/lib/markup_validity/xhtml-basic11-model-1.xsd +622 -0
  26. data/lib/markup_validity/xhtml-basic11-modules-1.xsd +508 -0
  27. data/lib/markup_validity/xhtml-basic11.xsd +105 -0
  28. data/lib/markup_validity/xhtml-bdo-1.xsd +72 -0
  29. data/lib/markup_validity/xhtml-blkphras-1.xsd +155 -0
  30. data/lib/markup_validity/xhtml-blkpres-1.xsd +32 -0
  31. data/lib/markup_validity/xhtml-blkstruct-1.xsd +44 -0
  32. data/lib/markup_validity/xhtml-charent-1.xsd +38 -0
  33. data/lib/markup_validity/xhtml-copyright-1.xsd +29 -0
  34. data/lib/markup_validity/xhtml-csismap-1.xsd +91 -0
  35. data/lib/markup_validity/xhtml-datatypes-1.xsd +177 -0
  36. data/lib/markup_validity/xhtml-edit-1.xsd +34 -0
  37. data/lib/markup_validity/xhtml-events-1.xsd +130 -0
  38. data/lib/markup_validity/xhtml-form-1.xsd +321 -0
  39. data/lib/markup_validity/xhtml-frames-1.xsd +113 -0
  40. data/lib/markup_validity/xhtml-framework-1.xsd +62 -0
  41. data/lib/markup_validity/xhtml-hypertext-1.xsd +47 -0
  42. data/lib/markup_validity/xhtml-iframe-1.xsd +68 -0
  43. data/lib/markup_validity/xhtml-image-1.xsd +40 -0
  44. data/lib/markup_validity/xhtml-inlphras-1.xsd +158 -0
  45. data/lib/markup_validity/xhtml-inlpres-1.xsd +34 -0
  46. data/lib/markup_validity/xhtml-inlstruct-1.xsd +45 -0
  47. data/lib/markup_validity/xhtml-inlstyle-1.xsd +22 -0
  48. data/lib/markup_validity/xhtml-inputmode-1.xsd +35 -0
  49. data/lib/markup_validity/xhtml-lat1.ent +196 -0
  50. data/lib/markup_validity/xhtml-legacy-1.xsd +97 -0
  51. data/lib/markup_validity/xhtml-link-1.xsd +45 -0
  52. data/lib/markup_validity/xhtml-list-1.xsd +94 -0
  53. data/lib/markup_validity/xhtml-meta-1.xsd +54 -0
  54. data/lib/markup_validity/xhtml-metaAttributes-1.xsd +39 -0
  55. data/lib/markup_validity/xhtml-misc-1.xsd +441 -0
  56. data/lib/markup_validity/xhtml-nameident-1.xsd +63 -0
  57. data/lib/markup_validity/xhtml-notations-1.xsd +69 -0
  58. data/lib/markup_validity/xhtml-object-1.xsd +71 -0
  59. data/lib/markup_validity/xhtml-param-1.xsd +46 -0
  60. data/lib/markup_validity/xhtml-pres-1.xsd +46 -0
  61. data/lib/markup_validity/xhtml-print-1.xsd +85 -0
  62. data/lib/markup_validity/xhtml-print-model-1.xsd +604 -0
  63. data/lib/markup_validity/xhtml-print-modules-1.xsd +422 -0
  64. data/lib/markup_validity/xhtml-rdfa-1.dtd +438 -0
  65. data/lib/markup_validity/xhtml-rdfa-1.xsd +116 -0
  66. data/lib/markup_validity/xhtml-rdfa-model-1.xsd +461 -0
  67. data/lib/markup_validity/xhtml-rdfa-modules-1.xsd +548 -0
  68. data/lib/markup_validity/xhtml-ruby-1.xsd +170 -0
  69. data/lib/markup_validity/xhtml-ruby-basic-1.xsd +84 -0
  70. data/lib/markup_validity/xhtml-script-1.xsd +65 -0
  71. data/lib/markup_validity/xhtml-special.ent +80 -0
  72. data/lib/markup_validity/xhtml-ssismap-1.xsd +38 -0
  73. data/lib/markup_validity/xhtml-struct-1.xsd +85 -0
  74. data/lib/markup_validity/xhtml-style-1.xsd +47 -0
  75. data/lib/markup_validity/xhtml-symbol.ent +237 -0
  76. data/lib/markup_validity/xhtml-table-1.xsd +267 -0
  77. data/lib/markup_validity/xhtml-target-1.xsd +49 -0
  78. data/lib/markup_validity/xhtml-text-1.xsd +62 -0
  79. data/lib/markup_validity/xhtml1-strict.dtd +978 -0
  80. data/lib/markup_validity/xhtml1-strict.xsd +2211 -0
  81. data/lib/markup_validity/xhtml1-transitional.dtd +1201 -0
  82. data/lib/markup_validity/xhtml1-transitional.xsd +2755 -0
  83. data/lib/markup_validity/xhtml11-model-1.xsd +715 -0
  84. data/lib/markup_validity/xhtml11-module-redefines-1.xsd +335 -0
  85. data/lib/markup_validity/xhtml11-modules-1.xsd +605 -0
  86. data/lib/markup_validity/xhtml11.xsd +107 -0
  87. data/lib/markup_validity/xhtml2.xsd +21 -0
  88. data/lib/markup_validity/xml-events-1.xsd +73 -0
  89. data/lib/markup_validity/xml-events-2.xsd +73 -0
  90. data/lib/markup_validity/xml-events-attribs-1.xsd +73 -0
  91. data/lib/markup_validity/xml-events-attribs-2.xsd +75 -0
  92. data/lib/markup_validity/xml-events-copyright-1.xsd +34 -0
  93. data/lib/markup_validity/xml-events-copyright-2.xsd +34 -0
  94. data/lib/markup_validity/xml-handlers-1.xsd +136 -0
  95. data/lib/markup_validity/xml-handlers-2.xsd +98 -0
  96. data/lib/markup_validity/xml-script-1.xsd +38 -0
  97. data/lib/markup_validity/xml.xsd +286 -0
  98. data/spec/matcher_spec.rb +55 -0
  99. data/test/assets/invalid_entity.xhtml +109 -0
  100. data/test/assets/invalid_entity_transitional.xhtml +109 -0
  101. data/test/assets/order.xml +24 -0
  102. data/test/assets/shipment.xsd +33 -0
  103. data/test/helper.rb +96 -0
  104. data/test/test_markup_validity.rb +105 -0
  105. metadata +198 -0
@@ -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>