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,2755 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema version="1.0" xml:lang="en"
3
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
4
+ targetNamespace="http://www.w3.org/1999/xhtml"
5
+ xmlns="http://www.w3.org/1999/xhtml"
6
+ xmlns:xml="http://www.w3.org/XML/1998/namespace"
7
+ elementFormDefault="qualified">
8
+
9
+ <xs:annotation>
10
+ <xs:documentation>
11
+ XHTML 1.0 (Second Edition) Transitional in XML Schema
12
+
13
+ This is the same as HTML 4 Transitional except for
14
+ changes due to the differences between XML and SGML.
15
+
16
+ Namespace = http://www.w3.org/1999/xhtml
17
+
18
+ For further information, see: http://www.w3.org/TR/xhtml1
19
+
20
+ Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
21
+ All Rights Reserved.
22
+
23
+ The DTD version is identified by the PUBLIC and SYSTEM identifiers:
24
+
25
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
26
+ SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
27
+
28
+ $Id: xhtml1-transitional.xsd,v 1.5 2002/08/28 09:53:29 mimasa Exp $
29
+ </xs:documentation>
30
+ </xs:annotation>
31
+
32
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace"
33
+ schemaLocation="xml.xsd"/>
34
+
35
+ <xs:annotation>
36
+ <xs:documentation>
37
+ ================ Character mnemonic entities =========================
38
+
39
+ XHTML entity sets are identified by the PUBLIC and SYSTEM identifiers:
40
+
41
+ PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN"
42
+ SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent"
43
+
44
+ PUBLIC "-//W3C//ENTITIES Special for XHTML//EN"
45
+ SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent"
46
+
47
+ PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN"
48
+ SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent"
49
+ </xs:documentation>
50
+ </xs:annotation>
51
+
52
+ <xs:annotation>
53
+ <xs:documentation>
54
+ ================== Imported Names ====================================
55
+ </xs:documentation>
56
+ </xs:annotation>
57
+
58
+ <xs:simpleType name="ContentType">
59
+ <xs:annotation>
60
+ <xs:documentation>
61
+ media type, as per [RFC2045]
62
+ </xs:documentation>
63
+ </xs:annotation>
64
+ <xs:restriction base="xs:string"/>
65
+ </xs:simpleType>
66
+
67
+ <xs:simpleType name="ContentTypes">
68
+ <xs:annotation>
69
+ <xs:documentation>
70
+ comma-separated list of media types, as per [RFC2045]
71
+ </xs:documentation>
72
+ </xs:annotation>
73
+ <xs:restriction base="xs:string"/>
74
+ </xs:simpleType>
75
+
76
+ <xs:simpleType name="Charset">
77
+ <xs:annotation>
78
+ <xs:documentation>
79
+ a character encoding, as per [RFC2045]
80
+ </xs:documentation>
81
+ </xs:annotation>
82
+ <xs:restriction base="xs:string"/>
83
+ </xs:simpleType>
84
+
85
+ <xs:simpleType name="Charsets">
86
+ <xs:annotation>
87
+ <xs:documentation>
88
+ a space separated list of character encodings, as per [RFC2045]
89
+ </xs:documentation>
90
+ </xs:annotation>
91
+ <xs:restriction base="xs:string"/>
92
+ </xs:simpleType>
93
+
94
+ <xs:simpleType name="LanguageCode">
95
+ <xs:annotation>
96
+ <xs:documentation>
97
+ a language code, as per [RFC3066]
98
+ </xs:documentation>
99
+ </xs:annotation>
100
+ <xs:restriction base="xs:language"/>
101
+ </xs:simpleType>
102
+
103
+ <xs:simpleType name="Character">
104
+ <xs:annotation>
105
+ <xs:documentation>
106
+ a single character, as per section 2.2 of [XML]
107
+ </xs:documentation>
108
+ </xs:annotation>
109
+ <xs:restriction base="xs:string">
110
+ <xs:length value="1" fixed="true"/>
111
+ </xs:restriction>
112
+ </xs:simpleType>
113
+
114
+ <xs:simpleType name="Number">
115
+ <xs:annotation>
116
+ <xs:documentation>
117
+ one or more digits
118
+ </xs:documentation>
119
+ </xs:annotation>
120
+ <xs:restriction base="xs:nonNegativeInteger">
121
+ <xs:pattern value="[0-9]+"/>
122
+ </xs:restriction>
123
+ </xs:simpleType>
124
+
125
+ <xs:simpleType name="tabindexNumber">
126
+ <xs:annotation>
127
+ <xs:documentation>
128
+ tabindex attribute specifies the position of the current element
129
+ in the tabbing order for the current document. This value must be
130
+ a number between 0 and 32767. User agents should ignore leading zeros.
131
+ </xs:documentation>
132
+ </xs:annotation>
133
+ <xs:restriction base="Number">
134
+ <xs:minInclusive value="0"/>
135
+ <xs:maxInclusive value="32767"/>
136
+ </xs:restriction>
137
+ </xs:simpleType>
138
+
139
+ <xs:simpleType name="LinkTypes">
140
+ <xs:annotation>
141
+ <xs:documentation>
142
+ space-separated list of link types
143
+ </xs:documentation>
144
+ </xs:annotation>
145
+ <xs:restriction base="xs:NMTOKENS"/>
146
+ </xs:simpleType>
147
+
148
+ <xs:simpleType name="MediaDesc">
149
+ <xs:annotation>
150
+ <xs:documentation>
151
+ single or comma-separated list of media descriptors
152
+ </xs:documentation>
153
+ </xs:annotation>
154
+ <xs:restriction base="xs:string">
155
+ <xs:pattern value="[^,]+(,\s*[^,]+)*"/>
156
+ </xs:restriction>
157
+ </xs:simpleType>
158
+
159
+ <xs:simpleType name="URI">
160
+ <xs:annotation>
161
+ <xs:documentation>
162
+ a Uniform Resource Identifier, see [RFC2396]
163
+ </xs:documentation>
164
+ </xs:annotation>
165
+ <xs:restriction base="xs:anyURI"/>
166
+ </xs:simpleType>
167
+
168
+ <xs:simpleType name="UriList">
169
+ <xs:annotation>
170
+ <xs:documentation>
171
+ a space separated list of Uniform Resource Identifiers
172
+ </xs:documentation>
173
+ </xs:annotation>
174
+ <xs:restriction base="xs:string"/>
175
+ </xs:simpleType>
176
+
177
+ <xs:simpleType name="Datetime">
178
+ <xs:annotation>
179
+ <xs:documentation>
180
+ date and time information. ISO date format
181
+ </xs:documentation>
182
+ </xs:annotation>
183
+ <xs:restriction base="xs:dateTime"/>
184
+ </xs:simpleType>
185
+
186
+ <xs:simpleType name="Script">
187
+ <xs:annotation>
188
+ <xs:documentation>
189
+ script expression
190
+ </xs:documentation>
191
+ </xs:annotation>
192
+ <xs:restriction base="xs:string"/>
193
+ </xs:simpleType>
194
+
195
+ <xs:simpleType name="StyleSheet">
196
+ <xs:annotation>
197
+ <xs:documentation>
198
+ style sheet data
199
+ </xs:documentation>
200
+ </xs:annotation>
201
+ <xs:restriction base="xs:string"/>
202
+ </xs:simpleType>
203
+
204
+ <xs:simpleType name="Text">
205
+ <xs:annotation>
206
+ <xs:documentation>
207
+ used for titles etc.
208
+ </xs:documentation>
209
+ </xs:annotation>
210
+ <xs:restriction base="xs:string"/>
211
+ </xs:simpleType>
212
+
213
+ <xs:simpleType name="FrameTarget">
214
+ <xs:annotation>
215
+ <xs:documentation>
216
+ render in this frame
217
+ </xs:documentation>
218
+ </xs:annotation>
219
+ <xs:restriction base="xs:NMTOKEN">
220
+ <xs:pattern value="_(blank|self|parent|top)|[A-Za-z]\c*"/>
221
+ </xs:restriction>
222
+ </xs:simpleType>
223
+
224
+ <xs:simpleType name="Length">
225
+ <xs:annotation>
226
+ <xs:documentation>
227
+ nn for pixels or nn% for percentage length
228
+ </xs:documentation>
229
+ </xs:annotation>
230
+ <xs:restriction base="xs:string">
231
+ <xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)"/>
232
+ </xs:restriction>
233
+ </xs:simpleType>
234
+
235
+ <xs:simpleType name="MultiLength">
236
+ <xs:annotation>
237
+ <xs:documentation>
238
+ pixel, percentage, or relative
239
+ </xs:documentation>
240
+ </xs:annotation>
241
+ <xs:restriction base="xs:string">
242
+ <xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)|[1-9]?(\d+)?\*"/>
243
+ </xs:restriction>
244
+ </xs:simpleType>
245
+
246
+ <xs:simpleType name="Pixels">
247
+ <xs:annotation>
248
+ <xs:documentation>
249
+ integer representing length in pixels
250
+ </xs:documentation>
251
+ </xs:annotation>
252
+ <xs:restriction base="xs:nonNegativeInteger"/>
253
+ </xs:simpleType>
254
+
255
+ <xs:annotation>
256
+ <xs:documentation>
257
+ these are used for image maps
258
+ </xs:documentation>
259
+ </xs:annotation>
260
+
261
+ <xs:simpleType name="Shape">
262
+ <xs:restriction base="xs:token">
263
+ <xs:enumeration value="rect"/>
264
+ <xs:enumeration value="circle"/>
265
+ <xs:enumeration value="poly"/>
266
+ <xs:enumeration value="default"/>
267
+ </xs:restriction>
268
+ </xs:simpleType>
269
+
270
+ <xs:simpleType name="Coords">
271
+ <xs:annotation>
272
+ <xs:documentation>
273
+ comma separated list of lengths
274
+ </xs:documentation>
275
+ </xs:annotation>
276
+ <xs:restriction base="xs:string">
277
+ <xs:pattern
278
+ value="[-+]?(\d+|\d+(\.\d+)?%)(,\s*[-+]?(\d+|\d+(\.\d+)?%))*"/>
279
+ </xs:restriction>
280
+ </xs:simpleType>
281
+
282
+ <xs:simpleType name="ImgAlign">
283
+ <xs:annotation>
284
+ <xs:documentation>
285
+ used for object, applet, img, input and iframe
286
+ </xs:documentation>
287
+ </xs:annotation>
288
+ <xs:restriction base="xs:token">
289
+ <xs:enumeration value="top"/>
290
+ <xs:enumeration value="middle"/>
291
+ <xs:enumeration value="bottom"/>
292
+ <xs:enumeration value="left"/>
293
+ <xs:enumeration value="right"/>
294
+ </xs:restriction>
295
+ </xs:simpleType>
296
+
297
+ <xs:simpleType name="Color">
298
+ <xs:annotation>
299
+ <xs:documentation>
300
+ a color using sRGB: #RRGGBB as Hex values
301
+
302
+ There are also 16 widely known color names with their sRGB values:
303
+
304
+ Black = #000000 Green = #008000
305
+ Silver = #C0C0C0 Lime = #00FF00
306
+ Gray = #808080 Olive = #808000
307
+ White = #FFFFFF Yellow = #FFFF00
308
+ Maroon = #800000 Navy = #000080
309
+ Red = #FF0000 Blue = #0000FF
310
+ Purple = #800080 Teal = #008080
311
+ Fuchsia= #FF00FF Aqua = #00FFFF
312
+ </xs:documentation>
313
+ </xs:annotation>
314
+ <xs:restriction base="xs:string">
315
+ <xs:pattern value="[A-Za-z]+|#[0-9A-Fa-f]{3}|#[0-9A-Fa-f]{6}"/>
316
+ </xs:restriction>
317
+ </xs:simpleType>
318
+
319
+ <xs:annotation>
320
+ <xs:documentation>
321
+ =================== Generic Attributes ===============================
322
+ </xs:documentation>
323
+ </xs:annotation>
324
+
325
+ <xs:attributeGroup name="coreattrs">
326
+ <xs:annotation>
327
+ <xs:documentation>
328
+ core attributes common to most elements
329
+ id document-wide unique id
330
+ class space separated list of classes
331
+ style associated style info
332
+ title advisory title/amplification
333
+ </xs:documentation>
334
+ </xs:annotation>
335
+ <xs:attribute name="id" type="xs:ID"/>
336
+ <xs:attribute name="class" type="xs:NMTOKENS"/>
337
+ <xs:attribute name="style" type="StyleSheet"/>
338
+ <xs:attribute name="title" type="Text"/>
339
+ </xs:attributeGroup>
340
+
341
+ <xs:attributeGroup name="i18n">
342
+ <xs:annotation>
343
+ <xs:documentation>
344
+ internationalization attributes
345
+ lang language code (backwards compatible)
346
+ xml:lang language code (as per XML 1.0 spec)
347
+ dir direction for weak/neutral text
348
+ </xs:documentation>
349
+ </xs:annotation>
350
+ <xs:attribute name="lang" type="LanguageCode"/>
351
+ <xs:attribute ref="xml:lang"/>
352
+ <xs:attribute name="dir">
353
+ <xs:simpleType>
354
+ <xs:restriction base="xs:token">
355
+ <xs:enumeration value="ltr"/>
356
+ <xs:enumeration value="rtl"/>
357
+ </xs:restriction>
358
+ </xs:simpleType>
359
+ </xs:attribute>
360
+ </xs:attributeGroup>
361
+
362
+ <xs:attributeGroup name="events">
363
+ <xs:annotation>
364
+ <xs:documentation>
365
+ attributes for common UI events
366
+ onclick a pointer button was clicked
367
+ ondblclick a pointer button was double clicked
368
+ onmousedown a pointer button was pressed down
369
+ onmouseup a pointer button was released
370
+ onmousemove a pointer was moved onto the element
371
+ onmouseout a pointer was moved away from the element
372
+ onkeypress a key was pressed and released
373
+ onkeydown a key was pressed down
374
+ onkeyup a key was released
375
+ </xs:documentation>
376
+ </xs:annotation>
377
+ <xs:attribute name="onclick" type="Script"/>
378
+ <xs:attribute name="ondblclick" type="Script"/>
379
+ <xs:attribute name="onmousedown" type="Script"/>
380
+ <xs:attribute name="onmouseup" type="Script"/>
381
+ <xs:attribute name="onmouseover" type="Script"/>
382
+ <xs:attribute name="onmousemove" type="Script"/>
383
+ <xs:attribute name="onmouseout" type="Script"/>
384
+ <xs:attribute name="onkeypress" type="Script"/>
385
+ <xs:attribute name="onkeydown" type="Script"/>
386
+ <xs:attribute name="onkeyup" type="Script"/>
387
+ </xs:attributeGroup>
388
+
389
+ <xs:attributeGroup name="focus">
390
+ <xs:annotation>
391
+ <xs:documentation>
392
+ attributes for elements that can get the focus
393
+ accesskey accessibility key character
394
+ tabindex position in tabbing order
395
+ onfocus the element got the focus
396
+ onblur the element lost the focus
397
+ </xs:documentation>
398
+ </xs:annotation>
399
+ <xs:attribute name="accesskey" type="Character"/>
400
+ <xs:attribute name="tabindex" type="tabindexNumber"/>
401
+ <xs:attribute name="onfocus" type="Script"/>
402
+ <xs:attribute name="onblur" type="Script"/>
403
+ </xs:attributeGroup>
404
+
405
+ <xs:attributeGroup name="attrs">
406
+ <xs:attributeGroup ref="coreattrs"/>
407
+ <xs:attributeGroup ref="i18n"/>
408
+ <xs:attributeGroup ref="events"/>
409
+ </xs:attributeGroup>
410
+
411
+ <xs:attributeGroup name="TextAlign">
412
+ <xs:annotation>
413
+ <xs:documentation>
414
+ text alignment for p, div, h1-h6. The default is
415
+ align="left" for ltr headings, "right" for rtl
416
+ </xs:documentation>
417
+ </xs:annotation>
418
+ <xs:attribute name="align">
419
+ <xs:simpleType>
420
+ <xs:restriction base="xs:token">
421
+ <xs:enumeration value="left"/>
422
+ <xs:enumeration value="center"/>
423
+ <xs:enumeration value="right"/>
424
+ <xs:enumeration value="justify"/>
425
+ </xs:restriction>
426
+ </xs:simpleType>
427
+ </xs:attribute>
428
+ </xs:attributeGroup>
429
+
430
+ <xs:annotation>
431
+ <xs:documentation>
432
+ =================== Text Elements ====================================
433
+ </xs:documentation>
434
+ </xs:annotation>
435
+
436
+ <xs:group name="special.extra">
437
+ <xs:choice>
438
+ <xs:element ref="object"/>
439
+ <xs:element ref="applet"/>
440
+ <xs:element ref="img"/>
441
+ <xs:element ref="map"/>
442
+ <xs:element ref="iframe"/>
443
+ </xs:choice>
444
+ </xs:group>
445
+
446
+ <xs:group name="special.basic">
447
+ <xs:choice>
448
+ <xs:element ref="br"/>
449
+ <xs:element ref="span"/>
450
+ <xs:element ref="bdo"/>
451
+ </xs:choice>
452
+ </xs:group>
453
+
454
+ <xs:group name="special">
455
+ <xs:choice>
456
+ <xs:group ref="special.basic"/>
457
+ <xs:group ref="special.extra"/>
458
+ </xs:choice>
459
+ </xs:group>
460
+
461
+ <xs:group name="fontstyle.extra">
462
+ <xs:choice>
463
+ <xs:element ref="big"/>
464
+ <xs:element ref="small"/>
465
+ <xs:element ref="font"/>
466
+ <xs:element ref="basefont"/>
467
+ </xs:choice>
468
+ </xs:group>
469
+
470
+ <xs:group name="fontstyle.basic">
471
+ <xs:choice>
472
+ <xs:element ref="tt"/>
473
+ <xs:element ref="i"/>
474
+ <xs:element ref="b"/>
475
+ <xs:element ref="u"/>
476
+ <xs:element ref="s"/>
477
+ <xs:element ref="strike"/>
478
+ </xs:choice>
479
+ </xs:group>
480
+
481
+ <xs:group name="fontstyle">
482
+ <xs:choice>
483
+ <xs:group ref="fontstyle.basic"/>
484
+ <xs:group ref="fontstyle.extra"/>
485
+ </xs:choice>
486
+ </xs:group>
487
+
488
+ <xs:group name="phrase.extra">
489
+ <xs:choice>
490
+ <xs:element ref="sub"/>
491
+ <xs:element ref="sup"/>
492
+ </xs:choice>
493
+ </xs:group>
494
+
495
+ <xs:group name="phrase.basic">
496
+ <xs:choice>
497
+ <xs:element ref="em"/>
498
+ <xs:element ref="strong"/>
499
+ <xs:element ref="dfn"/>
500
+ <xs:element ref="code"/>
501
+ <xs:element ref="q"/>
502
+ <xs:element ref="samp"/>
503
+ <xs:element ref="kbd"/>
504
+ <xs:element ref="var"/>
505
+ <xs:element ref="cite"/>
506
+ <xs:element ref="abbr"/>
507
+ <xs:element ref="acronym"/>
508
+ </xs:choice>
509
+ </xs:group>
510
+
511
+ <xs:group name="phrase">
512
+ <xs:choice>
513
+ <xs:group ref="phrase.basic"/>
514
+ <xs:group ref="phrase.extra"/>
515
+ </xs:choice>
516
+ </xs:group>
517
+
518
+ <xs:group name="inline.forms">
519
+ <xs:choice>
520
+ <xs:element ref="input"/>
521
+ <xs:element ref="select"/>
522
+ <xs:element ref="textarea"/>
523
+ <xs:element ref="label"/>
524
+ <xs:element ref="button"/>
525
+ </xs:choice>
526
+ </xs:group>
527
+
528
+ <xs:group name="misc.inline">
529
+ <xs:annotation>
530
+ <xs:documentation>
531
+ these can only occur at block level
532
+ </xs:documentation>
533
+ </xs:annotation>
534
+ <xs:choice>
535
+ <xs:element ref="ins"/>
536
+ <xs:element ref="del"/>
537
+ <xs:element ref="script"/>
538
+ </xs:choice>
539
+ </xs:group>
540
+
541
+ <xs:group name="misc">
542
+ <xs:annotation>
543
+ <xs:documentation>
544
+ these can only occur at block level
545
+ </xs:documentation>
546
+ </xs:annotation>
547
+ <xs:choice>
548
+ <xs:element ref="noscript"/>
549
+ <xs:group ref="misc.inline"/>
550
+ </xs:choice>
551
+ </xs:group>
552
+
553
+ <xs:group name="inline">
554
+ <xs:choice>
555
+ <xs:element ref="a"/>
556
+ <xs:group ref="special"/>
557
+ <xs:group ref="fontstyle"/>
558
+ <xs:group ref="phrase"/>
559
+ <xs:group ref="inline.forms"/>
560
+ </xs:choice>
561
+ </xs:group>
562
+
563
+ <xs:complexType name="Inline" mixed="true">
564
+ <xs:annotation>
565
+ <xs:documentation>
566
+ "Inline" covers inline or "text-level" element
567
+ </xs:documentation>
568
+ </xs:annotation>
569
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
570
+ <xs:group ref="inline"/>
571
+ <xs:group ref="misc.inline"/>
572
+ </xs:choice>
573
+ </xs:complexType>
574
+
575
+ <xs:annotation>
576
+ <xs:documentation>
577
+ ================== Block level elements ==============================
578
+ </xs:documentation>
579
+ </xs:annotation>
580
+
581
+ <xs:group name="heading">
582
+ <xs:choice>
583
+ <xs:element ref="h1"/>
584
+ <xs:element ref="h2"/>
585
+ <xs:element ref="h3"/>
586
+ <xs:element ref="h4"/>
587
+ <xs:element ref="h5"/>
588
+ <xs:element ref="h6"/>
589
+ </xs:choice>
590
+ </xs:group>
591
+
592
+ <xs:group name="lists">
593
+ <xs:choice>
594
+ <xs:element ref="ul"/>
595
+ <xs:element ref="ol"/>
596
+ <xs:element ref="dl"/>
597
+ <xs:element ref="menu"/>
598
+ <xs:element ref="dir"/>
599
+ </xs:choice>
600
+ </xs:group>
601
+
602
+ <xs:group name="blocktext">
603
+ <xs:choice>
604
+ <xs:element ref="pre"/>
605
+ <xs:element ref="hr"/>
606
+ <xs:element ref="blockquote"/>
607
+ <xs:element ref="address"/>
608
+ <xs:element ref="center"/>
609
+ <xs:element ref="noframes"/>
610
+ </xs:choice>
611
+ </xs:group>
612
+
613
+ <xs:group name="block">
614
+ <xs:choice>
615
+ <xs:element ref="p"/>
616
+ <xs:group ref="heading"/>
617
+ <xs:element ref="div"/>
618
+ <xs:group ref="lists"/>
619
+ <xs:group ref="blocktext"/>
620
+ <xs:element ref="isindex"/>
621
+ <xs:element ref="fieldset"/>
622
+ <xs:element ref="table"/>
623
+ </xs:choice>
624
+ </xs:group>
625
+
626
+ <xs:complexType name="Flow" mixed="true">
627
+ <xs:annotation>
628
+ <xs:documentation>
629
+ "Flow" mixes block and inline and is used for list items etc.
630
+ </xs:documentation>
631
+ </xs:annotation>
632
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
633
+ <xs:group ref="block"/>
634
+ <xs:element ref="form"/>
635
+ <xs:group ref="inline"/>
636
+ <xs:group ref="misc"/>
637
+ </xs:choice>
638
+ </xs:complexType>
639
+
640
+ <xs:annotation>
641
+ <xs:documentation>
642
+ ================== Content models for exclusions =====================
643
+ </xs:documentation>
644
+ </xs:annotation>
645
+
646
+ <xs:complexType name="a.content" mixed="true">
647
+ <xs:annotation>
648
+ <xs:documentation>
649
+ a elements use "Inline" excluding a
650
+ </xs:documentation>
651
+ </xs:annotation>
652
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
653
+ <xs:group ref="special"/>
654
+ <xs:group ref="fontstyle"/>
655
+ <xs:group ref="phrase"/>
656
+ <xs:group ref="inline.forms"/>
657
+ <xs:group ref="misc.inline"/>
658
+ </xs:choice>
659
+ </xs:complexType>
660
+
661
+ <xs:complexType name="pre.content" mixed="true">
662
+ <xs:annotation>
663
+ <xs:documentation>
664
+ pre uses "Inline" excluding img, object, applet, big, small,
665
+ font, or basefont
666
+ </xs:documentation>
667
+ </xs:annotation>
668
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
669
+ <xs:element ref="a"/>
670
+ <xs:group ref="special.basic"/>
671
+ <xs:group ref="fontstyle.basic"/>
672
+ <xs:group ref="phrase.basic"/>
673
+ <xs:group ref="inline.forms"/>
674
+ <xs:group ref="misc.inline"/>
675
+ </xs:choice>
676
+ </xs:complexType>
677
+
678
+ <xs:complexType name="form.content" mixed="true">
679
+ <xs:annotation>
680
+ <xs:documentation>
681
+ form uses "Flow" excluding form
682
+ </xs:documentation>
683
+ </xs:annotation>
684
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
685
+ <xs:group ref="block"/>
686
+ <xs:group ref="inline"/>
687
+ <xs:group ref="misc"/>
688
+ </xs:choice>
689
+ </xs:complexType>
690
+
691
+ <xs:complexType name="button.content" mixed="true">
692
+ <xs:annotation>
693
+ <xs:documentation>
694
+ button uses "Flow" but excludes a, form, form controls, iframe
695
+ </xs:documentation>
696
+ </xs:annotation>
697
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
698
+ <xs:element ref="p"/>
699
+ <xs:group ref="heading"/>
700
+ <xs:element ref="div"/>
701
+ <xs:group ref="lists"/>
702
+ <xs:group ref="blocktext"/>
703
+ <xs:element ref="table"/>
704
+ <xs:element ref="br"/>
705
+ <xs:element ref="span"/>
706
+ <xs:element ref="bdo"/>
707
+ <xs:element ref="object"/>
708
+ <xs:element ref="applet"/>
709
+ <xs:element ref="img"/>
710
+ <xs:element ref="map"/>
711
+ <xs:group ref="fontstyle"/>
712
+ <xs:group ref="phrase"/>
713
+ <xs:group ref="misc"/>
714
+ </xs:choice>
715
+ </xs:complexType>
716
+
717
+ <xs:annotation>
718
+ <xs:documentation>
719
+ ================ Document Structure ==================================
720
+ </xs:documentation>
721
+ </xs:annotation>
722
+
723
+ <xs:element name="html">
724
+ <xs:complexType>
725
+ <xs:sequence>
726
+ <xs:element ref="head"/>
727
+ <xs:element ref="body"/>
728
+ </xs:sequence>
729
+ <xs:attributeGroup ref="i18n"/>
730
+ <xs:attribute name="id" type="xs:ID"/>
731
+ </xs:complexType>
732
+ </xs:element>
733
+
734
+ <xs:annotation>
735
+ <xs:documentation>
736
+ ================ Document Head =======================================
737
+ </xs:documentation>
738
+ </xs:annotation>
739
+
740
+ <xs:group name="head.misc">
741
+ <xs:sequence>
742
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
743
+ <xs:element ref="script"/>
744
+ <xs:element ref="style"/>
745
+ <xs:element ref="meta"/>
746
+ <xs:element ref="link"/>
747
+ <xs:element ref="object"/>
748
+ <xs:element ref="isindex"/>
749
+ </xs:choice>
750
+ </xs:sequence>
751
+ </xs:group>
752
+
753
+ <xs:element name="head">
754
+ <xs:annotation>
755
+ <xs:documentation>
756
+ content model is "head.misc" combined with a single
757
+ title and an optional base element in any order
758
+ </xs:documentation>
759
+ </xs:annotation>
760
+ <xs:complexType>
761
+ <xs:sequence>
762
+ <xs:group ref="head.misc"/>
763
+ <xs:choice>
764
+ <xs:sequence>
765
+ <xs:element ref="title"/>
766
+ <xs:group ref="head.misc"/>
767
+ <xs:sequence minOccurs="0">
768
+ <xs:element ref="base"/>
769
+ <xs:group ref="head.misc"/>
770
+ </xs:sequence>
771
+ </xs:sequence>
772
+ <xs:sequence>
773
+ <xs:element ref="base"/>
774
+ <xs:group ref="head.misc"/>
775
+ <xs:element ref="title"/>
776
+ <xs:group ref="head.misc"/>
777
+ </xs:sequence>
778
+ </xs:choice>
779
+ </xs:sequence>
780
+ <xs:attributeGroup ref="i18n"/>
781
+ <xs:attribute name="id" type="xs:ID"/>
782
+ <xs:attribute name="profile" type="URI"/>
783
+ </xs:complexType>
784
+ </xs:element>
785
+
786
+ <xs:element name="title">
787
+ <xs:annotation>
788
+ <xs:documentation>
789
+ The title element is not considered part of the flow of text.
790
+ It should be displayed, for example as the page header or
791
+ window title. Exactly one title is required per document.
792
+ </xs:documentation>
793
+ </xs:annotation>
794
+ <xs:complexType mixed="true">
795
+ <xs:attributeGroup ref="i18n"/>
796
+ <xs:attribute name="id" type="xs:ID"/>
797
+ </xs:complexType>
798
+ </xs:element>
799
+
800
+ <xs:element name="base">
801
+ <xs:annotation>
802
+ <xs:documentation>
803
+ document base URI
804
+ </xs:documentation>
805
+ </xs:annotation>
806
+ <xs:complexType>
807
+ <xs:attribute name="id" type="xs:ID"/>
808
+ <xs:attribute name="href" type="URI"/>
809
+ <xs:attribute name="target" type="FrameTarget"/>
810
+ </xs:complexType>
811
+ </xs:element>
812
+
813
+ <xs:element name="meta">
814
+ <xs:annotation>
815
+ <xs:documentation>
816
+ generic metainformation
817
+ </xs:documentation>
818
+ </xs:annotation>
819
+ <xs:complexType>
820
+ <xs:attributeGroup ref="i18n"/>
821
+ <xs:attribute name="id" type="xs:ID"/>
822
+ <xs:attribute name="http-equiv"/>
823
+ <xs:attribute name="name"/>
824
+ <xs:attribute name="content" use="required"/>
825
+ <xs:attribute name="scheme"/>
826
+ </xs:complexType>
827
+ </xs:element>
828
+
829
+ <xs:element name="link">
830
+ <xs:annotation>
831
+ <xs:documentation>
832
+ Relationship values can be used in principle:
833
+
834
+ a) for document specific toolbars/menus when used
835
+ with the link element in document head e.g.
836
+ start, contents, previous, next, index, end, help
837
+ b) to link to a separate style sheet (rel="stylesheet")
838
+ c) to make a link to a script (rel="script")
839
+ d) by stylesheets to control how collections of
840
+ html nodes are rendered into printed documents
841
+ e) to make a link to a printable version of this document
842
+ e.g. a PostScript or PDF version (rel="alternate" media="print")
843
+ </xs:documentation>
844
+ </xs:annotation>
845
+ <xs:complexType>
846
+ <xs:attributeGroup ref="attrs"/>
847
+ <xs:attribute name="charset" type="Charset"/>
848
+ <xs:attribute name="href" type="URI"/>
849
+ <xs:attribute name="hreflang" type="LanguageCode"/>
850
+ <xs:attribute name="type" type="ContentType"/>
851
+ <xs:attribute name="rel" type="LinkTypes"/>
852
+ <xs:attribute name="rev" type="LinkTypes"/>
853
+ <xs:attribute name="media" type="MediaDesc"/>
854
+ <xs:attribute name="target" type="FrameTarget"/>
855
+ </xs:complexType>
856
+ </xs:element>
857
+
858
+ <xs:element name="style">
859
+ <xs:annotation>
860
+ <xs:documentation>
861
+ style info, which may include CDATA sections
862
+ </xs:documentation>
863
+ </xs:annotation>
864
+ <xs:complexType mixed="true">
865
+ <xs:attributeGroup ref="i18n"/>
866
+ <xs:attribute name="id" type="xs:ID"/>
867
+ <xs:attribute name="type" use="required" type="ContentType"/>
868
+ <xs:attribute name="media" type="MediaDesc"/>
869
+ <xs:attribute name="title" type="Text"/>
870
+ <xs:attribute ref="xml:space" fixed="preserve"/>
871
+ </xs:complexType>
872
+ </xs:element>
873
+
874
+ <xs:element name="script">
875
+ <xs:annotation>
876
+ <xs:documentation>
877
+ script statements, which may include CDATA sections
878
+ </xs:documentation>
879
+ </xs:annotation>
880
+ <xs:complexType mixed="true">
881
+ <xs:attribute name="id" type="xs:ID"/>
882
+ <xs:attribute name="charset" type="Charset"/>
883
+ <xs:attribute name="type" use="required" type="ContentType"/>
884
+ <xs:attribute name="language"/>
885
+ <xs:attribute name="src" type="URI"/>
886
+ <xs:attribute name="defer">
887
+ <xs:simpleType>
888
+ <xs:restriction base="xs:token">
889
+ <xs:enumeration value="defer"/>
890
+ </xs:restriction>
891
+ </xs:simpleType>
892
+ </xs:attribute>
893
+ <xs:attribute ref="xml:space" fixed="preserve"/>
894
+ </xs:complexType>
895
+ </xs:element>
896
+
897
+ <xs:element name="noscript">
898
+ <xs:annotation>
899
+ <xs:documentation>
900
+ alternate content container for non script-based rendering
901
+ </xs:documentation>
902
+ </xs:annotation>
903
+ <xs:complexType mixed="true">
904
+ <xs:complexContent>
905
+ <xs:extension base="Flow">
906
+ <xs:attributeGroup ref="attrs"/>
907
+ </xs:extension>
908
+ </xs:complexContent>
909
+ </xs:complexType>
910
+ </xs:element>
911
+
912
+ <xs:annotation>
913
+ <xs:documentation>
914
+ ======================= Frames =======================================
915
+ </xs:documentation>
916
+ </xs:annotation>
917
+
918
+ <xs:element name="iframe">
919
+ <xs:annotation>
920
+ <xs:documentation>
921
+ inline subwindow
922
+ </xs:documentation>
923
+ </xs:annotation>
924
+ <xs:complexType mixed="true">
925
+ <xs:complexContent>
926
+ <xs:extension base="Flow">
927
+ <xs:attributeGroup ref="coreattrs"/>
928
+ <xs:attribute name="longdesc" type="URI"/>
929
+ <xs:attribute name="name" type="xs:NMTOKEN"/>
930
+ <xs:attribute name="src" type="URI"/>
931
+ <xs:attribute name="frameborder" default="1">
932
+ <xs:simpleType>
933
+ <xs:restriction base="xs:token">
934
+ <xs:enumeration value="1"/>
935
+ <xs:enumeration value="0"/>
936
+ </xs:restriction>
937
+ </xs:simpleType>
938
+ </xs:attribute>
939
+ <xs:attribute name="marginwidth" type="Pixels"/>
940
+ <xs:attribute name="marginheight" type="Pixels"/>
941
+ <xs:attribute name="scrolling" default="auto">
942
+ <xs:simpleType>
943
+ <xs:restriction base="xs:token">
944
+ <xs:enumeration value="yes"/>
945
+ <xs:enumeration value="no"/>
946
+ <xs:enumeration value="auto"/>
947
+ </xs:restriction>
948
+ </xs:simpleType>
949
+ </xs:attribute>
950
+ <xs:attribute name="align" type="ImgAlign"/>
951
+ <xs:attribute name="height" type="Length"/>
952
+ <xs:attribute name="width" type="Length"/>
953
+ </xs:extension>
954
+ </xs:complexContent>
955
+ </xs:complexType>
956
+ </xs:element>
957
+
958
+ <xs:element name="noframes">
959
+ <xs:annotation>
960
+ <xs:documentation>
961
+ alternate content container for non frame-based rendering
962
+ </xs:documentation>
963
+ </xs:annotation>
964
+ <xs:complexType mixed="true">
965
+ <xs:complexContent>
966
+ <xs:extension base="Flow">
967
+ <xs:attributeGroup ref="attrs"/>
968
+ </xs:extension>
969
+ </xs:complexContent>
970
+ </xs:complexType>
971
+ </xs:element>
972
+
973
+ <xs:annotation>
974
+ <xs:documentation>
975
+ =================== Document Body ====================================
976
+ </xs:documentation>
977
+ </xs:annotation>
978
+
979
+ <xs:element name="body">
980
+ <xs:complexType mixed="true">
981
+ <xs:complexContent>
982
+ <xs:extension base="Flow">
983
+ <xs:attributeGroup ref="attrs"/>
984
+ <xs:attribute name="onload" type="Script"/>
985
+ <xs:attribute name="onunload" type="Script"/>
986
+ <xs:attribute name="background" type="URI"/>
987
+ <xs:attribute name="bgcolor" type="Color"/>
988
+ <xs:attribute name="text" type="Color"/>
989
+ <xs:attribute name="link" type="Color"/>
990
+ <xs:attribute name="vlink" type="Color"/>
991
+ <xs:attribute name="alink" type="Color"/>
992
+ </xs:extension>
993
+ </xs:complexContent>
994
+ </xs:complexType>
995
+ </xs:element>
996
+
997
+ <xs:element name="div">
998
+ <xs:annotation>
999
+ <xs:documentation>
1000
+ generic language/style container
1001
+ </xs:documentation>
1002
+ </xs:annotation>
1003
+ <xs:complexType mixed="true">
1004
+ <xs:complexContent>
1005
+ <xs:extension base="Flow">
1006
+ <xs:attributeGroup ref="attrs"/>
1007
+ <xs:attributeGroup ref="TextAlign"/>
1008
+ </xs:extension>
1009
+ </xs:complexContent>
1010
+ </xs:complexType>
1011
+ </xs:element>
1012
+
1013
+ <xs:annotation>
1014
+ <xs:documentation>
1015
+ =================== Paragraphs =======================================
1016
+ </xs:documentation>
1017
+ </xs:annotation>
1018
+
1019
+ <xs:element name="p">
1020
+ <xs:complexType mixed="true">
1021
+ <xs:complexContent>
1022
+ <xs:extension base="Inline">
1023
+ <xs:attributeGroup ref="attrs"/>
1024
+ <xs:attributeGroup ref="TextAlign"/>
1025
+ </xs:extension>
1026
+ </xs:complexContent>
1027
+ </xs:complexType>
1028
+ </xs:element>
1029
+
1030
+ <xs:annotation>
1031
+ <xs:documentation>
1032
+ =================== Headings =========================================
1033
+
1034
+ There are six levels of headings from h1 (the most important)
1035
+ to h6 (the least important).
1036
+ </xs:documentation>
1037
+ </xs:annotation>
1038
+
1039
+ <xs:element name="h1">
1040
+ <xs:complexType mixed="true">
1041
+ <xs:complexContent>
1042
+ <xs:extension base="Inline">
1043
+ <xs:attributeGroup ref="attrs"/>
1044
+ <xs:attributeGroup ref="TextAlign"/>
1045
+ </xs:extension>
1046
+ </xs:complexContent>
1047
+ </xs:complexType>
1048
+ </xs:element>
1049
+
1050
+ <xs:element name="h2">
1051
+ <xs:complexType mixed="true">
1052
+ <xs:complexContent>
1053
+ <xs:extension base="Inline">
1054
+ <xs:attributeGroup ref="attrs"/>
1055
+ <xs:attributeGroup ref="TextAlign"/>
1056
+ </xs:extension>
1057
+ </xs:complexContent>
1058
+ </xs:complexType>
1059
+ </xs:element>
1060
+
1061
+ <xs:element name="h3">
1062
+ <xs:complexType mixed="true">
1063
+ <xs:complexContent>
1064
+ <xs:extension base="Inline">
1065
+ <xs:attributeGroup ref="attrs"/>
1066
+ <xs:attributeGroup ref="TextAlign"/>
1067
+ </xs:extension>
1068
+ </xs:complexContent>
1069
+ </xs:complexType>
1070
+ </xs:element>
1071
+
1072
+ <xs:element name="h4">
1073
+ <xs:complexType mixed="true">
1074
+ <xs:complexContent>
1075
+ <xs:extension base="Inline">
1076
+ <xs:attributeGroup ref="attrs"/>
1077
+ <xs:attributeGroup ref="TextAlign"/>
1078
+ </xs:extension>
1079
+ </xs:complexContent>
1080
+ </xs:complexType>
1081
+ </xs:element>
1082
+
1083
+ <xs:element name="h5">
1084
+ <xs:complexType mixed="true">
1085
+ <xs:complexContent>
1086
+ <xs:extension base="Inline">
1087
+ <xs:attributeGroup ref="attrs"/>
1088
+ <xs:attributeGroup ref="TextAlign"/>
1089
+ </xs:extension>
1090
+ </xs:complexContent>
1091
+ </xs:complexType>
1092
+ </xs:element>
1093
+
1094
+ <xs:element name="h6">
1095
+ <xs:complexType mixed="true">
1096
+ <xs:complexContent>
1097
+ <xs:extension base="Inline">
1098
+ <xs:attributeGroup ref="attrs"/>
1099
+ <xs:attributeGroup ref="TextAlign"/>
1100
+ </xs:extension>
1101
+ </xs:complexContent>
1102
+ </xs:complexType>
1103
+ </xs:element>
1104
+
1105
+ <xs:annotation>
1106
+ <xs:documentation>
1107
+ =================== Lists ============================================
1108
+ </xs:documentation>
1109
+ </xs:annotation>
1110
+
1111
+ <xs:simpleType name="ULStyle">
1112
+ <xs:annotation>
1113
+ <xs:documentation>
1114
+ Unordered list bullet styles
1115
+ </xs:documentation>
1116
+ </xs:annotation>
1117
+ <xs:restriction base="xs:token">
1118
+ <xs:enumeration value="disc"/>
1119
+ <xs:enumeration value="square"/>
1120
+ <xs:enumeration value="circle"/>
1121
+ </xs:restriction>
1122
+ </xs:simpleType>
1123
+
1124
+ <xs:element name="ul">
1125
+ <xs:annotation>
1126
+ <xs:documentation>
1127
+ Unordered list
1128
+ </xs:documentation>
1129
+ </xs:annotation>
1130
+ <xs:complexType>
1131
+ <xs:sequence>
1132
+ <xs:element maxOccurs="unbounded" ref="li"/>
1133
+ </xs:sequence>
1134
+ <xs:attributeGroup ref="attrs"/>
1135
+ <xs:attribute name="type" type="ULStyle"/>
1136
+ <xs:attribute name="compact">
1137
+ <xs:simpleType>
1138
+ <xs:restriction base="xs:token">
1139
+ <xs:enumeration value="compact"/>
1140
+ </xs:restriction>
1141
+ </xs:simpleType>
1142
+ </xs:attribute>
1143
+ </xs:complexType>
1144
+ </xs:element>
1145
+
1146
+ <xs:simpleType name="OLStyle">
1147
+ <xs:annotation>
1148
+ <xs:documentation>
1149
+ Ordered list numbering style
1150
+
1151
+ 1 arabic numbers 1, 2, 3, ...
1152
+ a lower alpha a, b, c, ...
1153
+ A upper alpha A, B, C, ...
1154
+ i lower roman i, ii, iii, ...
1155
+ I upper roman I, II, III, ...
1156
+
1157
+ The style is applied to the sequence number which by default
1158
+ is reset to 1 for the first list item in an ordered list.
1159
+ </xs:documentation>
1160
+ </xs:annotation>
1161
+ <xs:restriction base="xs:string"/>
1162
+ </xs:simpleType>
1163
+
1164
+ <xs:element name="ol">
1165
+ <xs:annotation>
1166
+ <xs:documentation>
1167
+ Ordered (numbered) list
1168
+ </xs:documentation>
1169
+ </xs:annotation>
1170
+ <xs:complexType>
1171
+ <xs:sequence>
1172
+ <xs:element maxOccurs="unbounded" ref="li"/>
1173
+ </xs:sequence>
1174
+ <xs:attributeGroup ref="attrs"/>
1175
+ <xs:attribute name="type" type="OLStyle"/>
1176
+ <xs:attribute name="compact">
1177
+ <xs:simpleType>
1178
+ <xs:restriction base="xs:token">
1179
+ <xs:enumeration value="compact"/>
1180
+ </xs:restriction>
1181
+ </xs:simpleType>
1182
+ </xs:attribute>
1183
+ <xs:attribute name="start" type="Number"/>
1184
+ </xs:complexType>
1185
+ </xs:element>
1186
+
1187
+ <xs:element name="menu">
1188
+ <xs:annotation>
1189
+ <xs:documentation>
1190
+ single column list (DEPRECATED)
1191
+ </xs:documentation>
1192
+ </xs:annotation>
1193
+ <xs:complexType>
1194
+ <xs:sequence>
1195
+ <xs:element maxOccurs="unbounded" ref="li"/>
1196
+ </xs:sequence>
1197
+ <xs:attributeGroup ref="attrs"/>
1198
+ <xs:attribute name="compact">
1199
+ <xs:simpleType>
1200
+ <xs:restriction base="xs:token">
1201
+ <xs:enumeration value="compact"/>
1202
+ </xs:restriction>
1203
+ </xs:simpleType>
1204
+ </xs:attribute>
1205
+ </xs:complexType>
1206
+ </xs:element>
1207
+
1208
+ <xs:element name="dir">
1209
+ <xs:annotation>
1210
+ <xs:documentation>
1211
+ multiple column list (DEPRECATED)
1212
+ </xs:documentation>
1213
+ </xs:annotation>
1214
+ <xs:complexType>
1215
+ <xs:sequence>
1216
+ <xs:element maxOccurs="unbounded" ref="li"/>
1217
+ </xs:sequence>
1218
+ <xs:attributeGroup ref="attrs"/>
1219
+ <xs:attribute name="compact">
1220
+ <xs:simpleType>
1221
+ <xs:restriction base="xs:token">
1222
+ <xs:enumeration value="compact"/>
1223
+ </xs:restriction>
1224
+ </xs:simpleType>
1225
+ </xs:attribute>
1226
+ </xs:complexType>
1227
+ </xs:element>
1228
+
1229
+ <xs:simpleType name="LIStyle">
1230
+ <xs:annotation>
1231
+ <xs:documentation>
1232
+ LIStyle is constrained to: "(ULStyle|OLStyle)"
1233
+ </xs:documentation>
1234
+ </xs:annotation>
1235
+ <xs:restriction base="xs:string"/>
1236
+ </xs:simpleType>
1237
+
1238
+ <xs:element name="li">
1239
+ <xs:annotation>
1240
+ <xs:documentation>
1241
+ list item
1242
+ </xs:documentation>
1243
+ </xs:annotation>
1244
+ <xs:complexType mixed="true">
1245
+ <xs:complexContent>
1246
+ <xs:extension base="Flow">
1247
+ <xs:attributeGroup ref="attrs"/>
1248
+ <xs:attribute name="type" type="LIStyle"/>
1249
+ <xs:attribute name="value" type="Number"/>
1250
+ </xs:extension>
1251
+ </xs:complexContent>
1252
+ </xs:complexType>
1253
+ </xs:element>
1254
+
1255
+ <xs:annotation>
1256
+ <xs:documentation>
1257
+ definition lists - dt for term, dd for its definition
1258
+ </xs:documentation>
1259
+ </xs:annotation>
1260
+
1261
+ <xs:element name="dl">
1262
+ <xs:complexType>
1263
+ <xs:choice maxOccurs="unbounded">
1264
+ <xs:element ref="dt"/>
1265
+ <xs:element ref="dd"/>
1266
+ </xs:choice>
1267
+ <xs:attributeGroup ref="attrs"/>
1268
+ <xs:attribute name="compact">
1269
+ <xs:simpleType>
1270
+ <xs:restriction base="xs:token">
1271
+ <xs:enumeration value="compact"/>
1272
+ </xs:restriction>
1273
+ </xs:simpleType>
1274
+ </xs:attribute>
1275
+ </xs:complexType>
1276
+ </xs:element>
1277
+
1278
+ <xs:element name="dt">
1279
+ <xs:complexType mixed="true">
1280
+ <xs:complexContent>
1281
+ <xs:extension base="Inline">
1282
+ <xs:attributeGroup ref="attrs"/>
1283
+ </xs:extension>
1284
+ </xs:complexContent>
1285
+ </xs:complexType>
1286
+ </xs:element>
1287
+
1288
+ <xs:element name="dd">
1289
+ <xs:complexType mixed="true">
1290
+ <xs:complexContent>
1291
+ <xs:extension base="Flow">
1292
+ <xs:attributeGroup ref="attrs"/>
1293
+ </xs:extension>
1294
+ </xs:complexContent>
1295
+ </xs:complexType>
1296
+ </xs:element>
1297
+
1298
+ <xs:annotation>
1299
+ <xs:documentation>
1300
+ =================== Address ==========================================
1301
+ </xs:documentation>
1302
+ </xs:annotation>
1303
+
1304
+ <xs:element name="address">
1305
+ <xs:annotation>
1306
+ <xs:documentation>
1307
+ information on author
1308
+ </xs:documentation>
1309
+ </xs:annotation>
1310
+ <xs:complexType mixed="true">
1311
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
1312
+ <xs:group ref="inline"/>
1313
+ <xs:group ref="misc.inline"/>
1314
+ <xs:element ref="p"/>
1315
+ </xs:choice>
1316
+ <xs:attributeGroup ref="attrs"/>
1317
+ </xs:complexType>
1318
+ </xs:element>
1319
+
1320
+ <xs:annotation>
1321
+ <xs:documentation>
1322
+ =================== Horizontal Rule ==================================
1323
+ </xs:documentation>
1324
+ </xs:annotation>
1325
+
1326
+ <xs:element name="hr">
1327
+ <xs:complexType>
1328
+ <xs:attributeGroup ref="attrs"/>
1329
+ <xs:attribute name="align">
1330
+ <xs:simpleType>
1331
+ <xs:restriction base="xs:token">
1332
+ <xs:enumeration value="left"/>
1333
+ <xs:enumeration value="center"/>
1334
+ <xs:enumeration value="right"/>
1335
+ </xs:restriction>
1336
+ </xs:simpleType>
1337
+ </xs:attribute>
1338
+ <xs:attribute name="noshade">
1339
+ <xs:simpleType>
1340
+ <xs:restriction base="xs:token">
1341
+ <xs:enumeration value="noshade"/>
1342
+ </xs:restriction>
1343
+ </xs:simpleType>
1344
+ </xs:attribute>
1345
+ <xs:attribute name="size" type="Pixels"/>
1346
+ <xs:attribute name="width" type="Length"/>
1347
+ </xs:complexType>
1348
+ </xs:element>
1349
+
1350
+ <xs:annotation>
1351
+ <xs:documentation>
1352
+ =================== Preformatted Text ================================
1353
+ </xs:documentation>
1354
+ </xs:annotation>
1355
+
1356
+ <xs:element name="pre">
1357
+ <xs:annotation>
1358
+ <xs:documentation>
1359
+ content is "Inline" excluding
1360
+ "img|object|applet|big|small|sub|sup|font|basefont"
1361
+ </xs:documentation>
1362
+ </xs:annotation>
1363
+ <xs:complexType mixed="true">
1364
+ <xs:complexContent>
1365
+ <xs:extension base="pre.content">
1366
+ <xs:attributeGroup ref="attrs"/>
1367
+ <xs:attribute name="width" type="Number"/>
1368
+ <xs:attribute ref="xml:space" fixed="preserve"/>
1369
+ </xs:extension>
1370
+ </xs:complexContent>
1371
+ </xs:complexType>
1372
+ </xs:element>
1373
+
1374
+ <xs:annotation>
1375
+ <xs:documentation>
1376
+ =================== Block-like Quotes ================================
1377
+ </xs:documentation>
1378
+ </xs:annotation>
1379
+
1380
+ <xs:element name="blockquote">
1381
+ <xs:complexType mixed="true">
1382
+ <xs:complexContent>
1383
+ <xs:extension base="Flow">
1384
+ <xs:attributeGroup ref="attrs"/>
1385
+ <xs:attribute name="cite" type="URI"/>
1386
+ </xs:extension>
1387
+ </xs:complexContent>
1388
+ </xs:complexType>
1389
+ </xs:element>
1390
+
1391
+ <xs:annotation>
1392
+ <xs:documentation>
1393
+ =================== Text alignment ===================================
1394
+ </xs:documentation>
1395
+ </xs:annotation>
1396
+
1397
+ <xs:element name="center">
1398
+ <xs:annotation>
1399
+ <xs:documentation>
1400
+ center content
1401
+ </xs:documentation>
1402
+ </xs:annotation>
1403
+ <xs:complexType mixed="true">
1404
+ <xs:complexContent>
1405
+ <xs:extension base="Flow">
1406
+ <xs:attributeGroup ref="attrs"/>
1407
+ </xs:extension>
1408
+ </xs:complexContent>
1409
+ </xs:complexType>
1410
+ </xs:element>
1411
+
1412
+ <xs:annotation>
1413
+ <xs:documentation>
1414
+ =================== Inserted/Deleted Text ============================
1415
+
1416
+ ins/del are allowed in block and inline content, but its
1417
+ inappropriate to include block content within an ins element
1418
+ occurring in inline content.
1419
+ </xs:documentation>
1420
+ </xs:annotation>
1421
+
1422
+ <xs:element name="ins">
1423
+ <xs:complexType mixed="true">
1424
+ <xs:complexContent>
1425
+ <xs:extension base="Flow">
1426
+ <xs:attributeGroup ref="attrs"/>
1427
+ <xs:attribute name="cite" type="URI"/>
1428
+ <xs:attribute name="datetime" type="Datetime"/>
1429
+ </xs:extension>
1430
+ </xs:complexContent>
1431
+ </xs:complexType>
1432
+ </xs:element>
1433
+
1434
+ <xs:element name="del">
1435
+ <xs:complexType mixed="true">
1436
+ <xs:complexContent>
1437
+ <xs:extension base="Flow">
1438
+ <xs:attributeGroup ref="attrs"/>
1439
+ <xs:attribute name="cite" type="URI"/>
1440
+ <xs:attribute name="datetime" type="Datetime"/>
1441
+ </xs:extension>
1442
+ </xs:complexContent>
1443
+ </xs:complexType>
1444
+ </xs:element>
1445
+
1446
+ <xs:annotation>
1447
+ <xs:documentation>
1448
+ ================== The Anchor Element ================================
1449
+ </xs:documentation>
1450
+ </xs:annotation>
1451
+
1452
+ <xs:element name="a">
1453
+ <xs:annotation>
1454
+ <xs:documentation>
1455
+ content is "Inline" except that anchors shouldn't be nested
1456
+ </xs:documentation>
1457
+ </xs:annotation>
1458
+ <xs:complexType mixed="true">
1459
+ <xs:complexContent>
1460
+ <xs:extension base="a.content">
1461
+ <xs:attributeGroup ref="attrs"/>
1462
+ <xs:attributeGroup ref="focus"/>
1463
+ <xs:attribute name="charset" type="Charset"/>
1464
+ <xs:attribute name="type" type="ContentType"/>
1465
+ <xs:attribute name="name" type="xs:NMTOKEN"/>
1466
+ <xs:attribute name="href" type="URI"/>
1467
+ <xs:attribute name="hreflang" type="LanguageCode"/>
1468
+ <xs:attribute name="rel" type="LinkTypes"/>
1469
+ <xs:attribute name="rev" type="LinkTypes"/>
1470
+ <xs:attribute name="shape" default="rect" type="Shape"/>
1471
+ <xs:attribute name="coords" type="Coords"/>
1472
+ <xs:attribute name="target" type="FrameTarget"/>
1473
+ </xs:extension>
1474
+ </xs:complexContent>
1475
+ </xs:complexType>
1476
+ </xs:element>
1477
+
1478
+ <xs:annotation>
1479
+ <xs:documentation>
1480
+ ===================== Inline Elements ================================
1481
+ </xs:documentation>
1482
+ </xs:annotation>
1483
+
1484
+ <xs:element name="span">
1485
+ <xs:annotation>
1486
+ <xs:documentation>
1487
+ generic language/style container
1488
+ </xs:documentation>
1489
+ </xs:annotation>
1490
+ <xs:complexType mixed="true">
1491
+ <xs:complexContent>
1492
+ <xs:extension base="Inline">
1493
+ <xs:attributeGroup ref="attrs"/>
1494
+ </xs:extension>
1495
+ </xs:complexContent>
1496
+ </xs:complexType>
1497
+ </xs:element>
1498
+
1499
+ <xs:element name="bdo">
1500
+ <xs:annotation>
1501
+ <xs:documentation>
1502
+ I18N BiDi over-ride
1503
+ </xs:documentation>
1504
+ </xs:annotation>
1505
+ <xs:complexType mixed="true">
1506
+ <xs:complexContent>
1507
+ <xs:extension base="Inline">
1508
+ <xs:attributeGroup ref="coreattrs"/>
1509
+ <xs:attributeGroup ref="events"/>
1510
+ <xs:attribute name="lang" type="LanguageCode"/>
1511
+ <xs:attribute ref="xml:lang"/>
1512
+ <xs:attribute name="dir" use="required">
1513
+ <xs:simpleType>
1514
+ <xs:restriction base="xs:token">
1515
+ <xs:enumeration value="ltr"/>
1516
+ <xs:enumeration value="rtl"/>
1517
+ </xs:restriction>
1518
+ </xs:simpleType>
1519
+ </xs:attribute>
1520
+ </xs:extension>
1521
+ </xs:complexContent>
1522
+ </xs:complexType>
1523
+ </xs:element>
1524
+
1525
+ <xs:element name="br">
1526
+ <xs:annotation>
1527
+ <xs:documentation>
1528
+ forced line break
1529
+ </xs:documentation>
1530
+ </xs:annotation>
1531
+ <xs:complexType>
1532
+ <xs:attributeGroup ref="coreattrs"/>
1533
+ <xs:attribute name="clear" default="none">
1534
+ <xs:simpleType>
1535
+ <xs:restriction base="xs:token">
1536
+ <xs:enumeration value="left"/>
1537
+ <xs:enumeration value="all"/>
1538
+ <xs:enumeration value="right"/>
1539
+ <xs:enumeration value="none"/>
1540
+ </xs:restriction>
1541
+ </xs:simpleType>
1542
+ </xs:attribute>
1543
+ </xs:complexType>
1544
+ </xs:element>
1545
+
1546
+ <xs:element name="em">
1547
+ <xs:annotation>
1548
+ <xs:documentation>
1549
+ emphasis
1550
+ </xs:documentation>
1551
+ </xs:annotation>
1552
+ <xs:complexType mixed="true">
1553
+ <xs:complexContent>
1554
+ <xs:extension base="Inline">
1555
+ <xs:attributeGroup ref="attrs"/>
1556
+ </xs:extension>
1557
+ </xs:complexContent>
1558
+ </xs:complexType>
1559
+ </xs:element>
1560
+
1561
+ <xs:element name="strong">
1562
+ <xs:annotation>
1563
+ <xs:documentation>
1564
+ strong emphasis
1565
+ </xs:documentation>
1566
+ </xs:annotation>
1567
+ <xs:complexType mixed="true">
1568
+ <xs:complexContent>
1569
+ <xs:extension base="Inline">
1570
+ <xs:attributeGroup ref="attrs"/>
1571
+ </xs:extension>
1572
+ </xs:complexContent>
1573
+ </xs:complexType>
1574
+ </xs:element>
1575
+
1576
+ <xs:element name="dfn">
1577
+ <xs:annotation>
1578
+ <xs:documentation>
1579
+ definitional
1580
+ </xs:documentation>
1581
+ </xs:annotation>
1582
+ <xs:complexType mixed="true">
1583
+ <xs:complexContent>
1584
+ <xs:extension base="Inline">
1585
+ <xs:attributeGroup ref="attrs"/>
1586
+ </xs:extension>
1587
+ </xs:complexContent>
1588
+ </xs:complexType>
1589
+ </xs:element>
1590
+
1591
+ <xs:element name="code">
1592
+ <xs:annotation>
1593
+ <xs:documentation>
1594
+ program code
1595
+ </xs:documentation>
1596
+ </xs:annotation>
1597
+ <xs:complexType mixed="true">
1598
+ <xs:complexContent>
1599
+ <xs:extension base="Inline">
1600
+ <xs:attributeGroup ref="attrs"/>
1601
+ </xs:extension>
1602
+ </xs:complexContent>
1603
+ </xs:complexType>
1604
+ </xs:element>
1605
+
1606
+ <xs:element name="samp">
1607
+ <xs:annotation>
1608
+ <xs:documentation>
1609
+ sample
1610
+ </xs:documentation>
1611
+ </xs:annotation>
1612
+ <xs:complexType mixed="true">
1613
+ <xs:complexContent>
1614
+ <xs:extension base="Inline">
1615
+ <xs:attributeGroup ref="attrs"/>
1616
+ </xs:extension>
1617
+ </xs:complexContent>
1618
+ </xs:complexType>
1619
+ </xs:element>
1620
+
1621
+ <xs:element name="kbd">
1622
+ <xs:annotation>
1623
+ <xs:documentation>
1624
+ something user would type
1625
+ </xs:documentation>
1626
+ </xs:annotation>
1627
+ <xs:complexType mixed="true">
1628
+ <xs:complexContent>
1629
+ <xs:extension base="Inline">
1630
+ <xs:attributeGroup ref="attrs"/>
1631
+ </xs:extension>
1632
+ </xs:complexContent>
1633
+ </xs:complexType>
1634
+ </xs:element>
1635
+
1636
+ <xs:element name="var">
1637
+ <xs:annotation>
1638
+ <xs:documentation>
1639
+ variable
1640
+ </xs:documentation>
1641
+ </xs:annotation>
1642
+ <xs:complexType mixed="true">
1643
+ <xs:complexContent>
1644
+ <xs:extension base="Inline">
1645
+ <xs:attributeGroup ref="attrs"/>
1646
+ </xs:extension>
1647
+ </xs:complexContent>
1648
+ </xs:complexType>
1649
+ </xs:element>
1650
+
1651
+ <xs:element name="cite">
1652
+ <xs:annotation>
1653
+ <xs:documentation>
1654
+ citation
1655
+ </xs:documentation>
1656
+ </xs:annotation>
1657
+ <xs:complexType mixed="true">
1658
+ <xs:complexContent>
1659
+ <xs:extension base="Inline">
1660
+ <xs:attributeGroup ref="attrs"/>
1661
+ </xs:extension>
1662
+ </xs:complexContent>
1663
+ </xs:complexType>
1664
+ </xs:element>
1665
+
1666
+ <xs:element name="abbr">
1667
+ <xs:annotation>
1668
+ <xs:documentation>
1669
+ abbreviation
1670
+ </xs:documentation>
1671
+ </xs:annotation>
1672
+ <xs:complexType mixed="true">
1673
+ <xs:complexContent>
1674
+ <xs:extension base="Inline">
1675
+ <xs:attributeGroup ref="attrs"/>
1676
+ </xs:extension>
1677
+ </xs:complexContent>
1678
+ </xs:complexType>
1679
+ </xs:element>
1680
+
1681
+ <xs:element name="acronym">
1682
+ <xs:annotation>
1683
+ <xs:documentation>
1684
+ acronym
1685
+ </xs:documentation>
1686
+ </xs:annotation>
1687
+ <xs:complexType mixed="true">
1688
+ <xs:complexContent>
1689
+ <xs:extension base="Inline">
1690
+ <xs:attributeGroup ref="attrs"/>
1691
+ </xs:extension>
1692
+ </xs:complexContent>
1693
+ </xs:complexType>
1694
+ </xs:element>
1695
+
1696
+ <xs:element name="q">
1697
+ <xs:annotation>
1698
+ <xs:documentation>
1699
+ inlined quote
1700
+ </xs:documentation>
1701
+ </xs:annotation>
1702
+ <xs:complexType mixed="true">
1703
+ <xs:complexContent>
1704
+ <xs:extension base="Inline">
1705
+ <xs:attributeGroup ref="attrs"/>
1706
+ <xs:attribute name="cite" type="URI"/>
1707
+ </xs:extension>
1708
+ </xs:complexContent>
1709
+ </xs:complexType>
1710
+ </xs:element>
1711
+
1712
+ <xs:element name="sub">
1713
+ <xs:annotation>
1714
+ <xs:documentation>
1715
+ subscript
1716
+ </xs:documentation>
1717
+ </xs:annotation>
1718
+ <xs:complexType mixed="true">
1719
+ <xs:complexContent>
1720
+ <xs:extension base="Inline">
1721
+ <xs:attributeGroup ref="attrs"/>
1722
+ </xs:extension>
1723
+ </xs:complexContent>
1724
+ </xs:complexType>
1725
+ </xs:element>
1726
+
1727
+ <xs:element name="sup">
1728
+ <xs:annotation>
1729
+ <xs:documentation>
1730
+ superscript
1731
+ </xs:documentation>
1732
+ </xs:annotation>
1733
+ <xs:complexType mixed="true">
1734
+ <xs:complexContent>
1735
+ <xs:extension base="Inline">
1736
+ <xs:attributeGroup ref="attrs"/>
1737
+ </xs:extension>
1738
+ </xs:complexContent>
1739
+ </xs:complexType>
1740
+ </xs:element>
1741
+
1742
+ <xs:element name="tt">
1743
+ <xs:annotation>
1744
+ <xs:documentation>
1745
+ fixed pitch font
1746
+ </xs:documentation>
1747
+ </xs:annotation>
1748
+ <xs:complexType mixed="true">
1749
+ <xs:complexContent>
1750
+ <xs:extension base="Inline">
1751
+ <xs:attributeGroup ref="attrs"/>
1752
+ </xs:extension>
1753
+ </xs:complexContent>
1754
+ </xs:complexType>
1755
+ </xs:element>
1756
+
1757
+ <xs:element name="i">
1758
+ <xs:annotation>
1759
+ <xs:documentation>
1760
+ italic font
1761
+ </xs:documentation>
1762
+ </xs:annotation>
1763
+ <xs:complexType mixed="true">
1764
+ <xs:complexContent>
1765
+ <xs:extension base="Inline">
1766
+ <xs:attributeGroup ref="attrs"/>
1767
+ </xs:extension>
1768
+ </xs:complexContent>
1769
+ </xs:complexType>
1770
+ </xs:element>
1771
+
1772
+ <xs:element name="b">
1773
+ <xs:annotation>
1774
+ <xs:documentation>
1775
+ bold font
1776
+ </xs:documentation>
1777
+ </xs:annotation>
1778
+ <xs:complexType mixed="true">
1779
+ <xs:complexContent>
1780
+ <xs:extension base="Inline">
1781
+ <xs:attributeGroup ref="attrs"/>
1782
+ </xs:extension>
1783
+ </xs:complexContent>
1784
+ </xs:complexType>
1785
+ </xs:element>
1786
+
1787
+ <xs:element name="big">
1788
+ <xs:annotation>
1789
+ <xs:documentation>
1790
+ bigger font
1791
+ </xs:documentation>
1792
+ </xs:annotation>
1793
+ <xs:complexType mixed="true">
1794
+ <xs:complexContent>
1795
+ <xs:extension base="Inline">
1796
+ <xs:attributeGroup ref="attrs"/>
1797
+ </xs:extension>
1798
+ </xs:complexContent>
1799
+ </xs:complexType>
1800
+ </xs:element>
1801
+
1802
+ <xs:element name="small">
1803
+ <xs:annotation>
1804
+ <xs:documentation>
1805
+ smaller font
1806
+ </xs:documentation>
1807
+ </xs:annotation>
1808
+ <xs:complexType mixed="true">
1809
+ <xs:complexContent>
1810
+ <xs:extension base="Inline">
1811
+ <xs:attributeGroup ref="attrs"/>
1812
+ </xs:extension>
1813
+ </xs:complexContent>
1814
+ </xs:complexType>
1815
+ </xs:element>
1816
+
1817
+ <xs:element name="u">
1818
+ <xs:annotation>
1819
+ <xs:documentation>
1820
+ underline
1821
+ </xs:documentation>
1822
+ </xs:annotation>
1823
+ <xs:complexType mixed="true">
1824
+ <xs:complexContent>
1825
+ <xs:extension base="Inline">
1826
+ <xs:attributeGroup ref="attrs"/>
1827
+ </xs:extension>
1828
+ </xs:complexContent>
1829
+ </xs:complexType>
1830
+ </xs:element>
1831
+
1832
+ <xs:element name="s">
1833
+ <xs:annotation>
1834
+ <xs:documentation>
1835
+ strike-through
1836
+ </xs:documentation>
1837
+ </xs:annotation>
1838
+ <xs:complexType mixed="true">
1839
+ <xs:complexContent>
1840
+ <xs:extension base="Inline">
1841
+ <xs:attributeGroup ref="attrs"/>
1842
+ </xs:extension>
1843
+ </xs:complexContent>
1844
+ </xs:complexType>
1845
+ </xs:element>
1846
+
1847
+ <xs:element name="strike">
1848
+ <xs:annotation>
1849
+ <xs:documentation>
1850
+ strike-through
1851
+ </xs:documentation>
1852
+ </xs:annotation>
1853
+ <xs:complexType mixed="true">
1854
+ <xs:complexContent>
1855
+ <xs:extension base="Inline">
1856
+ <xs:attributeGroup ref="attrs"/>
1857
+ </xs:extension>
1858
+ </xs:complexContent>
1859
+ </xs:complexType>
1860
+ </xs:element>
1861
+
1862
+ <xs:element name="basefont">
1863
+ <xs:annotation>
1864
+ <xs:documentation>
1865
+ base font size
1866
+ </xs:documentation>
1867
+ </xs:annotation>
1868
+ <xs:complexType>
1869
+ <xs:attribute name="id" type="xs:ID"/>
1870
+ <xs:attribute name="size" use="required"/>
1871
+ <xs:attribute name="color" type="Color"/>
1872
+ <xs:attribute name="face"/>
1873
+ </xs:complexType>
1874
+ </xs:element>
1875
+
1876
+ <xs:element name="font">
1877
+ <xs:annotation>
1878
+ <xs:documentation>
1879
+ local change to font
1880
+ </xs:documentation>
1881
+ </xs:annotation>
1882
+ <xs:complexType mixed="true">
1883
+ <xs:complexContent>
1884
+ <xs:extension base="Inline">
1885
+ <xs:attributeGroup ref="coreattrs"/>
1886
+ <xs:attributeGroup ref="i18n"/>
1887
+ <xs:attribute name="size"/>
1888
+ <xs:attribute name="color" type="Color"/>
1889
+ <xs:attribute name="face"/>
1890
+ </xs:extension>
1891
+ </xs:complexContent>
1892
+ </xs:complexType>
1893
+ </xs:element>
1894
+
1895
+ <xs:annotation>
1896
+ <xs:documentation>
1897
+ ==================== Object ======================================
1898
+
1899
+ object is used to embed objects as part of HTML pages.
1900
+ param elements should precede other content. Parameters
1901
+ can also be expressed as attribute/value pairs on the
1902
+ object element itself when brevity is desired.
1903
+ </xs:documentation>
1904
+ </xs:annotation>
1905
+
1906
+ <xs:element name="object">
1907
+ <xs:complexType mixed="true">
1908
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
1909
+ <xs:element ref="param"/>
1910
+ <xs:group ref="block"/>
1911
+ <xs:element ref="form"/>
1912
+ <xs:group ref="inline"/>
1913
+ <xs:group ref="misc"/>
1914
+ </xs:choice>
1915
+ <xs:attributeGroup ref="attrs"/>
1916
+ <xs:attribute name="declare">
1917
+ <xs:simpleType>
1918
+ <xs:restriction base="xs:token">
1919
+ <xs:enumeration value="declare"/>
1920
+ </xs:restriction>
1921
+ </xs:simpleType>
1922
+ </xs:attribute>
1923
+ <xs:attribute name="classid" type="URI"/>
1924
+ <xs:attribute name="codebase" type="URI"/>
1925
+ <xs:attribute name="data" type="URI"/>
1926
+ <xs:attribute name="type" type="ContentType"/>
1927
+ <xs:attribute name="codetype" type="ContentType"/>
1928
+ <xs:attribute name="archive" type="UriList"/>
1929
+ <xs:attribute name="standby" type="Text"/>
1930
+ <xs:attribute name="height" type="Length"/>
1931
+ <xs:attribute name="width" type="Length"/>
1932
+ <xs:attribute name="usemap" type="URI"/>
1933
+ <xs:attribute name="name" type="xs:NMTOKEN"/>
1934
+ <xs:attribute name="tabindex" type="Number"/>
1935
+ <xs:attribute name="align" type="ImgAlign"/>
1936
+ <xs:attribute name="border" type="Pixels"/>
1937
+ <xs:attribute name="hspace" type="Pixels"/>
1938
+ <xs:attribute name="vspace" type="Pixels"/>
1939
+ </xs:complexType>
1940
+ </xs:element>
1941
+
1942
+ <xs:element name="param">
1943
+ <xs:annotation>
1944
+ <xs:documentation>
1945
+ param is used to supply a named property value.
1946
+ In XML it would seem natural to follow RDF and support an
1947
+ abbreviated syntax where the param elements are replaced
1948
+ by attribute value pairs on the object start tag.
1949
+ </xs:documentation>
1950
+ </xs:annotation>
1951
+ <xs:complexType>
1952
+ <xs:attribute name="id" type="xs:ID"/>
1953
+ <xs:attribute name="name" use="required"/>
1954
+ <xs:attribute name="value"/>
1955
+ <xs:attribute name="valuetype" default="data">
1956
+ <xs:simpleType>
1957
+ <xs:restriction base="xs:token">
1958
+ <xs:enumeration value="data"/>
1959
+ <xs:enumeration value="ref"/>
1960
+ <xs:enumeration value="object"/>
1961
+ </xs:restriction>
1962
+ </xs:simpleType>
1963
+ </xs:attribute>
1964
+ <xs:attribute name="type" type="ContentType"/>
1965
+ </xs:complexType>
1966
+ </xs:element>
1967
+
1968
+ <xs:annotation>
1969
+ <xs:documentation>
1970
+ =================== Java applet ==================================
1971
+
1972
+ One of code or object attributes must be present.
1973
+ Place param elements before other content.
1974
+ </xs:documentation>
1975
+ </xs:annotation>
1976
+
1977
+ <xs:element name="applet">
1978
+ <xs:complexType mixed="true">
1979
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
1980
+ <xs:element ref="param"/>
1981
+ <xs:group ref="block"/>
1982
+ <xs:element ref="form"/>
1983
+ <xs:group ref="inline"/>
1984
+ <xs:group ref="misc"/>
1985
+ </xs:choice>
1986
+ <xs:attributeGroup ref="coreattrs"/>
1987
+ <xs:attribute name="codebase" type="URI"/>
1988
+ <xs:attribute name="archive"/>
1989
+ <xs:attribute name="code"/>
1990
+ <xs:attribute name="object"/>
1991
+ <xs:attribute name="alt" type="Text"/>
1992
+ <xs:attribute name="name" type="xs:NMTOKEN"/>
1993
+ <xs:attribute name="width" use="required" type="Length"/>
1994
+ <xs:attribute name="height" use="required" type="Length"/>
1995
+ <xs:attribute name="align" type="ImgAlign"/>
1996
+ <xs:attribute name="hspace" type="Pixels"/>
1997
+ <xs:attribute name="vspace" type="Pixels"/>
1998
+ </xs:complexType>
1999
+ </xs:element>
2000
+
2001
+ <xs:annotation>
2002
+ <xs:documentation>
2003
+ =================== Images ===========================================
2004
+
2005
+ To avoid accessibility problems for people who aren't
2006
+ able to see the image, you should provide a text
2007
+ description using the alt and longdesc attributes.
2008
+ In addition, avoid the use of server-side image maps.
2009
+ </xs:documentation>
2010
+ </xs:annotation>
2011
+
2012
+ <xs:element name="img">
2013
+ <xs:complexType>
2014
+ <xs:attributeGroup ref="attrs"/>
2015
+ <xs:attribute name="src" use="required" type="URI"/>
2016
+ <xs:attribute name="alt" use="required" type="Text"/>
2017
+ <xs:attribute name="name" type="xs:NMTOKEN"/>
2018
+ <xs:attribute name="longdesc" type="URI"/>
2019
+ <xs:attribute name="height" type="Length"/>
2020
+ <xs:attribute name="width" type="Length"/>
2021
+ <xs:attribute name="usemap" type="URI">
2022
+ <xs:annotation>
2023
+ <xs:documentation>
2024
+ usemap points to a map element which may be in this document
2025
+ or an external document, although the latter is not widely supported
2026
+ </xs:documentation>
2027
+ </xs:annotation>
2028
+ </xs:attribute>
2029
+ <xs:attribute name="ismap">
2030
+ <xs:simpleType>
2031
+ <xs:restriction base="xs:token">
2032
+ <xs:enumeration value="ismap"/>
2033
+ </xs:restriction>
2034
+ </xs:simpleType>
2035
+ </xs:attribute>
2036
+ <xs:attribute name="align" type="ImgAlign"/>
2037
+ <xs:attribute name="border" type="Length"/>
2038
+ <xs:attribute name="hspace" type="Pixels"/>
2039
+ <xs:attribute name="vspace" type="Pixels"/>
2040
+ </xs:complexType>
2041
+ </xs:element>
2042
+
2043
+ <xs:annotation>
2044
+ <xs:documentation>
2045
+ ================== Client-side image maps ============================
2046
+
2047
+ These can be placed in the same document or grouped in a
2048
+ separate document although this isn't yet widely supported
2049
+ </xs:documentation>
2050
+ </xs:annotation>
2051
+
2052
+ <xs:element name="map">
2053
+ <xs:complexType>
2054
+ <xs:choice>
2055
+ <xs:choice maxOccurs="unbounded">
2056
+ <xs:group ref="block"/>
2057
+ <xs:element ref="form"/>
2058
+ <xs:group ref="misc"/>
2059
+ </xs:choice>
2060
+ <xs:element maxOccurs="unbounded" ref="area"/>
2061
+ </xs:choice>
2062
+ <xs:attributeGroup ref="i18n"/>
2063
+ <xs:attributeGroup ref="events"/>
2064
+ <xs:attribute name="id" use="required" type="xs:ID"/>
2065
+ <xs:attribute name="class"/>
2066
+ <xs:attribute name="style" type="StyleSheet"/>
2067
+ <xs:attribute name="title" type="Text"/>
2068
+ <xs:attribute name="name"/>
2069
+ </xs:complexType>
2070
+ </xs:element>
2071
+
2072
+ <xs:element name="area">
2073
+ <xs:complexType>
2074
+ <xs:attributeGroup ref="attrs"/>
2075
+ <xs:attributeGroup ref="focus"/>
2076
+ <xs:attribute name="shape" default="rect" type="Shape"/>
2077
+ <xs:attribute name="coords" type="Coords"/>
2078
+ <xs:attribute name="href" type="URI"/>
2079
+ <xs:attribute name="nohref">
2080
+ <xs:simpleType>
2081
+ <xs:restriction base="xs:token">
2082
+ <xs:enumeration value="nohref"/>
2083
+ </xs:restriction>
2084
+ </xs:simpleType>
2085
+ </xs:attribute>
2086
+ <xs:attribute name="alt" use="required" type="Text"/>
2087
+ <xs:attribute name="target" type="FrameTarget"/>
2088
+ </xs:complexType>
2089
+ </xs:element>
2090
+
2091
+ <xs:annotation>
2092
+ <xs:documentation>
2093
+ ================ Forms ===============================================
2094
+ </xs:documentation>
2095
+ </xs:annotation>
2096
+
2097
+ <xs:element name="form">
2098
+ <xs:complexType mixed="true">
2099
+ <xs:complexContent>
2100
+ <xs:extension base="form.content">
2101
+ <xs:attributeGroup ref="attrs"/>
2102
+ <xs:attribute name="action" use="required" type="URI"/>
2103
+ <xs:attribute name="method" default="get">
2104
+ <xs:simpleType>
2105
+ <xs:restriction base="xs:token">
2106
+ <xs:enumeration value="get"/>
2107
+ <xs:enumeration value="post"/>
2108
+ </xs:restriction>
2109
+ </xs:simpleType>
2110
+ </xs:attribute>
2111
+ <xs:attribute name="enctype" type="ContentType"
2112
+ default="application/x-www-form-urlencoded"/>
2113
+ <xs:attribute name="onsubmit" type="Script"/>
2114
+ <xs:attribute name="onreset" type="Script"/>
2115
+ <xs:attribute name="accept" type="ContentTypes"/>
2116
+ <xs:attribute name="accept-charset" type="Charsets"/>
2117
+ <xs:attribute name="target" type="FrameTarget"/>
2118
+ </xs:extension>
2119
+ </xs:complexContent>
2120
+ </xs:complexType>
2121
+ </xs:element>
2122
+
2123
+ <xs:element name="label">
2124
+ <xs:annotation>
2125
+ <xs:documentation>
2126
+ Each label must not contain more than ONE field
2127
+ Label elements shouldn't be nested.
2128
+ </xs:documentation>
2129
+ </xs:annotation>
2130
+ <xs:complexType mixed="true">
2131
+ <xs:complexContent>
2132
+ <xs:extension base="Inline">
2133
+ <xs:attributeGroup ref="attrs"/>
2134
+ <xs:attribute name="for" type="xs:IDREF"/>
2135
+ <xs:attribute name="accesskey" type="Character"/>
2136
+ <xs:attribute name="onfocus" type="Script"/>
2137
+ <xs:attribute name="onblur" type="Script"/>
2138
+ </xs:extension>
2139
+ </xs:complexContent>
2140
+ </xs:complexType>
2141
+ </xs:element>
2142
+
2143
+ <xs:simpleType name="InputType">
2144
+ <xs:restriction base="xs:token">
2145
+ <xs:enumeration value="text"/>
2146
+ <xs:enumeration value="password"/>
2147
+ <xs:enumeration value="checkbox"/>
2148
+ <xs:enumeration value="radio"/>
2149
+ <xs:enumeration value="submit"/>
2150
+ <xs:enumeration value="reset"/>
2151
+ <xs:enumeration value="file"/>
2152
+ <xs:enumeration value="hidden"/>
2153
+ <xs:enumeration value="image"/>
2154
+ <xs:enumeration value="button"/>
2155
+ </xs:restriction>
2156
+ </xs:simpleType>
2157
+
2158
+ <xs:element name="input">
2159
+ <xs:annotation>
2160
+ <xs:documentation>
2161
+ form control
2162
+ </xs:documentation>
2163
+ </xs:annotation>
2164
+ <xs:complexType>
2165
+ <xs:attributeGroup ref="attrs"/>
2166
+ <xs:attributeGroup ref="focus"/>
2167
+ <xs:attribute name="type" default="text" type="InputType"/>
2168
+ <xs:attribute name="name">
2169
+ <xs:annotation>
2170
+ <xs:documentation>
2171
+ the name attribute is required for all but submit &amp; reset
2172
+ </xs:documentation>
2173
+ </xs:annotation>
2174
+ </xs:attribute>
2175
+ <xs:attribute name="value"/>
2176
+ <xs:attribute name="checked">
2177
+ <xs:simpleType>
2178
+ <xs:restriction base="xs:token">
2179
+ <xs:enumeration value="checked"/>
2180
+ </xs:restriction>
2181
+ </xs:simpleType>
2182
+ </xs:attribute>
2183
+ <xs:attribute name="disabled">
2184
+ <xs:simpleType>
2185
+ <xs:restriction base="xs:token">
2186
+ <xs:enumeration value="disabled"/>
2187
+ </xs:restriction>
2188
+ </xs:simpleType>
2189
+ </xs:attribute>
2190
+ <xs:attribute name="readonly">
2191
+ <xs:simpleType>
2192
+ <xs:restriction base="xs:token">
2193
+ <xs:enumeration value="readonly"/>
2194
+ </xs:restriction>
2195
+ </xs:simpleType>
2196
+ </xs:attribute>
2197
+ <xs:attribute name="size"/>
2198
+ <xs:attribute name="maxlength" type="Number"/>
2199
+ <xs:attribute name="src" type="URI"/>
2200
+ <xs:attribute name="alt"/>
2201
+ <xs:attribute name="usemap" type="URI"/>
2202
+ <xs:attribute name="onselect" type="Script"/>
2203
+ <xs:attribute name="onchange" type="Script"/>
2204
+ <xs:attribute name="accept" type="ContentTypes"/>
2205
+ <xs:attribute name="align" type="ImgAlign"/>
2206
+ </xs:complexType>
2207
+ </xs:element>
2208
+
2209
+ <xs:element name="select">
2210
+ <xs:annotation>
2211
+ <xs:documentation>
2212
+ option selector
2213
+ </xs:documentation>
2214
+ </xs:annotation>
2215
+ <xs:complexType>
2216
+ <xs:choice maxOccurs="unbounded">
2217
+ <xs:element ref="optgroup"/>
2218
+ <xs:element ref="option"/>
2219
+ </xs:choice>
2220
+ <xs:attributeGroup ref="attrs"/>
2221
+ <xs:attribute name="name"/>
2222
+ <xs:attribute name="size" type="Number"/>
2223
+ <xs:attribute name="multiple">
2224
+ <xs:simpleType>
2225
+ <xs:restriction base="xs:token">
2226
+ <xs:enumeration value="multiple"/>
2227
+ </xs:restriction>
2228
+ </xs:simpleType>
2229
+ </xs:attribute>
2230
+ <xs:attribute name="disabled">
2231
+ <xs:simpleType>
2232
+ <xs:restriction base="xs:token">
2233
+ <xs:enumeration value="disabled"/>
2234
+ </xs:restriction>
2235
+ </xs:simpleType>
2236
+ </xs:attribute>
2237
+ <xs:attribute name="tabindex" type="tabindexNumber"/>
2238
+ <xs:attribute name="onfocus" type="Script"/>
2239
+ <xs:attribute name="onblur" type="Script"/>
2240
+ <xs:attribute name="onchange" type="Script"/>
2241
+ </xs:complexType>
2242
+ </xs:element>
2243
+
2244
+ <xs:element name="optgroup">
2245
+ <xs:annotation>
2246
+ <xs:documentation>
2247
+ option group
2248
+ </xs:documentation>
2249
+ </xs:annotation>
2250
+ <xs:complexType>
2251
+ <xs:sequence>
2252
+ <xs:element maxOccurs="unbounded" ref="option"/>
2253
+ </xs:sequence>
2254
+ <xs:attributeGroup ref="attrs"/>
2255
+ <xs:attribute name="disabled">
2256
+ <xs:simpleType>
2257
+ <xs:restriction base="xs:token">
2258
+ <xs:enumeration value="disabled"/>
2259
+ </xs:restriction>
2260
+ </xs:simpleType>
2261
+ </xs:attribute>
2262
+ <xs:attribute name="label" use="required" type="Text"/>
2263
+ </xs:complexType>
2264
+ </xs:element>
2265
+
2266
+ <xs:element name="option">
2267
+ <xs:annotation>
2268
+ <xs:documentation>
2269
+ selectable choice
2270
+ </xs:documentation>
2271
+ </xs:annotation>
2272
+ <xs:complexType mixed="true">
2273
+ <xs:attributeGroup ref="attrs"/>
2274
+ <xs:attribute name="selected">
2275
+ <xs:simpleType>
2276
+ <xs:restriction base="xs:token">
2277
+ <xs:enumeration value="selected"/>
2278
+ </xs:restriction>
2279
+ </xs:simpleType>
2280
+ </xs:attribute>
2281
+ <xs:attribute name="disabled">
2282
+ <xs:simpleType>
2283
+ <xs:restriction base="xs:token">
2284
+ <xs:enumeration value="disabled"/>
2285
+ </xs:restriction>
2286
+ </xs:simpleType>
2287
+ </xs:attribute>
2288
+ <xs:attribute name="label" type="Text"/>
2289
+ <xs:attribute name="value"/>
2290
+ </xs:complexType>
2291
+ </xs:element>
2292
+
2293
+ <xs:element name="textarea">
2294
+ <xs:annotation>
2295
+ <xs:documentation>
2296
+ multi-line text field
2297
+ </xs:documentation>
2298
+ </xs:annotation>
2299
+ <xs:complexType mixed="true">
2300
+ <xs:attributeGroup ref="attrs"/>
2301
+ <xs:attributeGroup ref="focus"/>
2302
+ <xs:attribute name="name"/>
2303
+ <xs:attribute name="rows" use="required" type="Number"/>
2304
+ <xs:attribute name="cols" use="required" type="Number"/>
2305
+ <xs:attribute name="disabled">
2306
+ <xs:simpleType>
2307
+ <xs:restriction base="xs:token">
2308
+ <xs:enumeration value="disabled"/>
2309
+ </xs:restriction>
2310
+ </xs:simpleType>
2311
+ </xs:attribute>
2312
+ <xs:attribute name="readonly">
2313
+ <xs:simpleType>
2314
+ <xs:restriction base="xs:token">
2315
+ <xs:enumeration value="readonly"/>
2316
+ </xs:restriction>
2317
+ </xs:simpleType>
2318
+ </xs:attribute>
2319
+ <xs:attribute name="onselect" type="Script"/>
2320
+ <xs:attribute name="onchange" type="Script"/>
2321
+ </xs:complexType>
2322
+ </xs:element>
2323
+
2324
+ <xs:element name="fieldset">
2325
+ <xs:annotation>
2326
+ <xs:documentation>
2327
+ The fieldset element is used to group form fields.
2328
+ Only one legend element should occur in the content
2329
+ and if present should only be preceded by whitespace.
2330
+
2331
+ NOTE: this content model is different from the XHTML 1.0 DTD,
2332
+ closer to the intended content model in HTML4 DTD
2333
+ </xs:documentation>
2334
+ </xs:annotation>
2335
+ <xs:complexType mixed="true">
2336
+ <xs:sequence>
2337
+ <xs:element ref="legend"/>
2338
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
2339
+ <xs:group ref="block"/>
2340
+ <xs:element ref="form"/>
2341
+ <xs:group ref="inline"/>
2342
+ <xs:group ref="misc"/>
2343
+ </xs:choice>
2344
+ </xs:sequence>
2345
+ <xs:attributeGroup ref="attrs"/>
2346
+ </xs:complexType>
2347
+ </xs:element>
2348
+
2349
+ <xs:simpleType name="LAlign">
2350
+ <xs:restriction base="xs:token">
2351
+ <xs:enumeration value="top"/>
2352
+ <xs:enumeration value="bottom"/>
2353
+ <xs:enumeration value="left"/>
2354
+ <xs:enumeration value="right"/>
2355
+ </xs:restriction>
2356
+ </xs:simpleType>
2357
+
2358
+ <xs:element name="legend">
2359
+ <xs:annotation>
2360
+ <xs:documentation>
2361
+ fieldset label
2362
+ </xs:documentation>
2363
+ </xs:annotation>
2364
+ <xs:complexType mixed="true">
2365
+ <xs:complexContent>
2366
+ <xs:extension base="Inline">
2367
+ <xs:attributeGroup ref="attrs"/>
2368
+ <xs:attribute name="accesskey" type="Character"/>
2369
+ <xs:attribute name="align" type="LAlign"/>
2370
+ </xs:extension>
2371
+ </xs:complexContent>
2372
+ </xs:complexType>
2373
+ </xs:element>
2374
+
2375
+ <xs:element name="button">
2376
+ <xs:annotation>
2377
+ <xs:documentation>
2378
+ Content is "Flow" excluding a, form and form controls
2379
+ </xs:documentation>
2380
+ </xs:annotation>
2381
+ <xs:complexType mixed="true">
2382
+ <xs:complexContent>
2383
+ <xs:extension base="button.content">
2384
+ <xs:attributeGroup ref="attrs"/>
2385
+ <xs:attributeGroup ref="focus"/>
2386
+ <xs:attribute name="name"/>
2387
+ <xs:attribute name="value"/>
2388
+ <xs:attribute name="type" default="submit">
2389
+ <xs:simpleType>
2390
+ <xs:restriction base="xs:token">
2391
+ <xs:enumeration value="button"/>
2392
+ <xs:enumeration value="submit"/>
2393
+ <xs:enumeration value="reset"/>
2394
+ </xs:restriction>
2395
+ </xs:simpleType>
2396
+ </xs:attribute>
2397
+ <xs:attribute name="disabled">
2398
+ <xs:simpleType>
2399
+ <xs:restriction base="xs:token">
2400
+ <xs:enumeration value="disabled"/>
2401
+ </xs:restriction>
2402
+ </xs:simpleType>
2403
+ </xs:attribute>
2404
+ </xs:extension>
2405
+ </xs:complexContent>
2406
+ </xs:complexType>
2407
+ </xs:element>
2408
+
2409
+ <xs:element name="isindex">
2410
+ <xs:annotation>
2411
+ <xs:documentation>
2412
+ single-line text input control (DEPRECATED)
2413
+ </xs:documentation>
2414
+ </xs:annotation>
2415
+ <xs:complexType>
2416
+ <xs:attributeGroup ref="coreattrs"/>
2417
+ <xs:attributeGroup ref="i18n"/>
2418
+ <xs:attribute name="prompt" type="Text"/>
2419
+ </xs:complexType>
2420
+ </xs:element>
2421
+
2422
+ <xs:annotation>
2423
+ <xs:documentation>
2424
+ ======================= Tables =======================================
2425
+
2426
+ Derived from IETF HTML table standard, see [RFC1942]
2427
+ </xs:documentation>
2428
+ </xs:annotation>
2429
+
2430
+ <xs:simpleType name="TFrame">
2431
+ <xs:annotation>
2432
+ <xs:documentation>
2433
+ The border attribute sets the thickness of the frame around the
2434
+ table. The default units are screen pixels.
2435
+
2436
+ The frame attribute specifies which parts of the frame around
2437
+ the table should be rendered. The values are not the same as
2438
+ CALS to avoid a name clash with the valign attribute.
2439
+ </xs:documentation>
2440
+ </xs:annotation>
2441
+ <xs:restriction base="xs:token">
2442
+ <xs:enumeration value="void"/>
2443
+ <xs:enumeration value="above"/>
2444
+ <xs:enumeration value="below"/>
2445
+ <xs:enumeration value="hsides"/>
2446
+ <xs:enumeration value="lhs"/>
2447
+ <xs:enumeration value="rhs"/>
2448
+ <xs:enumeration value="vsides"/>
2449
+ <xs:enumeration value="box"/>
2450
+ <xs:enumeration value="border"/>
2451
+ </xs:restriction>
2452
+ </xs:simpleType>
2453
+
2454
+ <xs:simpleType name="TRules">
2455
+ <xs:annotation>
2456
+ <xs:documentation>
2457
+ The rules attribute defines which rules to draw between cells:
2458
+
2459
+ If rules is absent then assume:
2460
+ "none" if border is absent or border="0" otherwise "all"
2461
+ </xs:documentation>
2462
+ </xs:annotation>
2463
+ <xs:restriction base="xs:token">
2464
+ <xs:enumeration value="none"/>
2465
+ <xs:enumeration value="groups"/>
2466
+ <xs:enumeration value="rows"/>
2467
+ <xs:enumeration value="cols"/>
2468
+ <xs:enumeration value="all"/>
2469
+ </xs:restriction>
2470
+ </xs:simpleType>
2471
+
2472
+ <xs:simpleType name="TAlign">
2473
+ <xs:annotation>
2474
+ <xs:documentation>
2475
+ horizontal placement of table relative to document
2476
+ </xs:documentation>
2477
+ </xs:annotation>
2478
+ <xs:restriction base="xs:token">
2479
+ <xs:enumeration value="left"/>
2480
+ <xs:enumeration value="center"/>
2481
+ <xs:enumeration value="right"/>
2482
+ </xs:restriction>
2483
+ </xs:simpleType>
2484
+
2485
+ <xs:attributeGroup name="cellhalign">
2486
+ <xs:annotation>
2487
+ <xs:documentation>
2488
+ horizontal alignment attributes for cell contents
2489
+
2490
+ char alignment char, e.g. char=':'
2491
+ charoff offset for alignment char
2492
+ </xs:documentation>
2493
+ </xs:annotation>
2494
+ <xs:attribute name="align">
2495
+ <xs:simpleType>
2496
+ <xs:restriction base="xs:token">
2497
+ <xs:enumeration value="left"/>
2498
+ <xs:enumeration value="center"/>
2499
+ <xs:enumeration value="right"/>
2500
+ <xs:enumeration value="justify"/>
2501
+ <xs:enumeration value="char"/>
2502
+ </xs:restriction>
2503
+ </xs:simpleType>
2504
+ </xs:attribute>
2505
+ <xs:attribute name="char" type="Character"/>
2506
+ <xs:attribute name="charoff" type="Length"/>
2507
+ </xs:attributeGroup>
2508
+
2509
+ <xs:attributeGroup name="cellvalign">
2510
+ <xs:annotation>
2511
+ <xs:documentation>
2512
+ vertical alignment attributes for cell contents
2513
+ </xs:documentation>
2514
+ </xs:annotation>
2515
+ <xs:attribute name="valign">
2516
+ <xs:simpleType>
2517
+ <xs:restriction base="xs:token">
2518
+ <xs:enumeration value="top"/>
2519
+ <xs:enumeration value="middle"/>
2520
+ <xs:enumeration value="bottom"/>
2521
+ <xs:enumeration value="baseline"/>
2522
+ </xs:restriction>
2523
+ </xs:simpleType>
2524
+ </xs:attribute>
2525
+ </xs:attributeGroup>
2526
+
2527
+ <xs:element name="table">
2528
+ <xs:complexType>
2529
+ <xs:sequence>
2530
+ <xs:element minOccurs="0" ref="caption"/>
2531
+ <xs:choice>
2532
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/>
2533
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="colgroup"/>
2534
+ </xs:choice>
2535
+ <xs:element minOccurs="0" ref="thead"/>
2536
+ <xs:element minOccurs="0" ref="tfoot"/>
2537
+ <xs:choice>
2538
+ <xs:element maxOccurs="unbounded" ref="tbody"/>
2539
+ <xs:element maxOccurs="unbounded" ref="tr"/>
2540
+ </xs:choice>
2541
+ </xs:sequence>
2542
+ <xs:attributeGroup ref="attrs"/>
2543
+ <xs:attribute name="summary" type="Text"/>
2544
+ <xs:attribute name="width" type="Length"/>
2545
+ <xs:attribute name="border" type="Pixels"/>
2546
+ <xs:attribute name="frame" type="TFrame"/>
2547
+ <xs:attribute name="rules" type="TRules"/>
2548
+ <xs:attribute name="cellspacing" type="Length"/>
2549
+ <xs:attribute name="cellpadding" type="Length"/>
2550
+ <xs:attribute name="align" type="TAlign"/>
2551
+ <xs:attribute name="bgcolor" type="Color"/>
2552
+ </xs:complexType>
2553
+ </xs:element>
2554
+
2555
+ <xs:simpleType name="CAlign">
2556
+ <xs:restriction base="xs:token">
2557
+ <xs:enumeration value="top"/>
2558
+ <xs:enumeration value="bottom"/>
2559
+ <xs:enumeration value="left"/>
2560
+ <xs:enumeration value="right"/>
2561
+ </xs:restriction>
2562
+ </xs:simpleType>
2563
+
2564
+ <xs:element name="caption">
2565
+ <xs:complexType mixed="true">
2566
+ <xs:complexContent>
2567
+ <xs:extension base="Inline">
2568
+ <xs:attributeGroup ref="attrs"/>
2569
+ <xs:attribute name="align" type="CAlign"/>
2570
+ </xs:extension>
2571
+ </xs:complexContent>
2572
+ </xs:complexType>
2573
+ </xs:element>
2574
+
2575
+ <xs:annotation>
2576
+ <xs:documentation>
2577
+ Use thead to duplicate headers when breaking table
2578
+ across page boundaries, or for static headers when
2579
+ tbody sections are rendered in scrolling panel.
2580
+
2581
+ Use tfoot to duplicate footers when breaking table
2582
+ across page boundaries, or for static footers when
2583
+ tbody sections are rendered in scrolling panel.
2584
+
2585
+ Use multiple tbody sections when rules are needed
2586
+ between groups of table rows.
2587
+ </xs:documentation>
2588
+ </xs:annotation>
2589
+
2590
+ <xs:element name="thead">
2591
+ <xs:complexType>
2592
+ <xs:sequence>
2593
+ <xs:element maxOccurs="unbounded" ref="tr"/>
2594
+ </xs:sequence>
2595
+ <xs:attributeGroup ref="attrs"/>
2596
+ <xs:attributeGroup ref="cellhalign"/>
2597
+ <xs:attributeGroup ref="cellvalign"/>
2598
+ </xs:complexType>
2599
+ </xs:element>
2600
+
2601
+ <xs:element name="tfoot">
2602
+ <xs:complexType>
2603
+ <xs:sequence>
2604
+ <xs:element maxOccurs="unbounded" ref="tr"/>
2605
+ </xs:sequence>
2606
+ <xs:attributeGroup ref="attrs"/>
2607
+ <xs:attributeGroup ref="cellhalign"/>
2608
+ <xs:attributeGroup ref="cellvalign"/>
2609
+ </xs:complexType>
2610
+ </xs:element>
2611
+
2612
+ <xs:element name="tbody">
2613
+ <xs:complexType>
2614
+ <xs:sequence>
2615
+ <xs:element maxOccurs="unbounded" ref="tr"/>
2616
+ </xs:sequence>
2617
+ <xs:attributeGroup ref="attrs"/>
2618
+ <xs:attributeGroup ref="cellhalign"/>
2619
+ <xs:attributeGroup ref="cellvalign"/>
2620
+ </xs:complexType>
2621
+ </xs:element>
2622
+
2623
+ <xs:element name="colgroup">
2624
+ <xs:annotation>
2625
+ <xs:documentation>
2626
+ colgroup groups a set of col elements. It allows you to group
2627
+ several semantically related columns together.
2628
+ </xs:documentation>
2629
+ </xs:annotation>
2630
+ <xs:complexType>
2631
+ <xs:sequence>
2632
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/>
2633
+ </xs:sequence>
2634
+ <xs:attributeGroup ref="attrs"/>
2635
+ <xs:attribute name="span" default="1" type="Number"/>
2636
+ <xs:attribute name="width" type="MultiLength"/>
2637
+ <xs:attributeGroup ref="cellhalign"/>
2638
+ <xs:attributeGroup ref="cellvalign"/>
2639
+ </xs:complexType>
2640
+ </xs:element>
2641
+
2642
+ <xs:element name="col">
2643
+ <xs:annotation>
2644
+ <xs:documentation>
2645
+ col elements define the alignment properties for cells in
2646
+ one or more columns.
2647
+
2648
+ The width attribute specifies the width of the columns, e.g.
2649
+
2650
+ width=64 width in screen pixels
2651
+ width=0.5* relative width of 0.5
2652
+
2653
+ The span attribute causes the attributes of one
2654
+ col element to apply to more than one column.
2655
+ </xs:documentation>
2656
+ </xs:annotation>
2657
+ <xs:complexType>
2658
+ <xs:attributeGroup ref="attrs"/>
2659
+ <xs:attribute name="span" default="1" type="Number"/>
2660
+ <xs:attribute name="width" type="MultiLength"/>
2661
+ <xs:attributeGroup ref="cellhalign"/>
2662
+ <xs:attributeGroup ref="cellvalign"/>
2663
+ </xs:complexType>
2664
+ </xs:element>
2665
+
2666
+ <xs:element name="tr">
2667
+ <xs:complexType>
2668
+ <xs:choice maxOccurs="unbounded">
2669
+ <xs:element ref="th"/>
2670
+ <xs:element ref="td"/>
2671
+ </xs:choice>
2672
+ <xs:attributeGroup ref="attrs"/>
2673
+ <xs:attributeGroup ref="cellhalign"/>
2674
+ <xs:attributeGroup ref="cellvalign"/>
2675
+ <xs:attribute name="bgcolor" type="Color"/>
2676
+ </xs:complexType>
2677
+ </xs:element>
2678
+
2679
+ <xs:simpleType name="Scope">
2680
+ <xs:annotation>
2681
+ <xs:documentation>
2682
+ Scope is simpler than headers attribute for common tables
2683
+ </xs:documentation>
2684
+ </xs:annotation>
2685
+ <xs:restriction base="xs:token">
2686
+ <xs:enumeration value="row"/>
2687
+ <xs:enumeration value="col"/>
2688
+ <xs:enumeration value="rowgroup"/>
2689
+ <xs:enumeration value="colgroup"/>
2690
+ </xs:restriction>
2691
+ </xs:simpleType>
2692
+
2693
+ <xs:annotation>
2694
+ <xs:documentation>
2695
+ th is for headers, td for data and for cells acting as both
2696
+ </xs:documentation>
2697
+ </xs:annotation>
2698
+
2699
+ <xs:element name="th">
2700
+ <xs:complexType mixed="true">
2701
+ <xs:complexContent>
2702
+ <xs:extension base="Flow">
2703
+ <xs:attributeGroup ref="attrs"/>
2704
+ <xs:attribute name="abbr" type="Text"/>
2705
+ <xs:attribute name="axis"/>
2706
+ <xs:attribute name="headers" type="xs:IDREFS"/>
2707
+ <xs:attribute name="scope" type="Scope"/>
2708
+ <xs:attribute name="rowspan" default="1" type="Number"/>
2709
+ <xs:attribute name="colspan" default="1" type="Number"/>
2710
+ <xs:attributeGroup ref="cellhalign"/>
2711
+ <xs:attributeGroup ref="cellvalign"/>
2712
+ <xs:attribute name="nowrap">
2713
+ <xs:simpleType>
2714
+ <xs:restriction base="xs:token">
2715
+ <xs:enumeration value="nowrap"/>
2716
+ </xs:restriction>
2717
+ </xs:simpleType>
2718
+ </xs:attribute>
2719
+ <xs:attribute name="bgcolor" type="Color"/>
2720
+ <xs:attribute name="width" type="Length"/>
2721
+ <xs:attribute name="height" type="Length"/>
2722
+ </xs:extension>
2723
+ </xs:complexContent>
2724
+ </xs:complexType>
2725
+ </xs:element>
2726
+
2727
+ <xs:element name="td">
2728
+ <xs:complexType mixed="true">
2729
+ <xs:complexContent>
2730
+ <xs:extension base="Flow">
2731
+ <xs:attributeGroup ref="attrs"/>
2732
+ <xs:attribute name="abbr" type="Text"/>
2733
+ <xs:attribute name="axis"/>
2734
+ <xs:attribute name="headers" type="xs:IDREFS"/>
2735
+ <xs:attribute name="scope" type="Scope"/>
2736
+ <xs:attribute name="rowspan" default="1" type="Number"/>
2737
+ <xs:attribute name="colspan" default="1" type="Number"/>
2738
+ <xs:attributeGroup ref="cellhalign"/>
2739
+ <xs:attributeGroup ref="cellvalign"/>
2740
+ <xs:attribute name="nowrap">
2741
+ <xs:simpleType>
2742
+ <xs:restriction base="xs:token">
2743
+ <xs:enumeration value="nowrap"/>
2744
+ </xs:restriction>
2745
+ </xs:simpleType>
2746
+ </xs:attribute>
2747
+ <xs:attribute name="bgcolor" type="Color"/>
2748
+ <xs:attribute name="width" type="Length"/>
2749
+ <xs:attribute name="height" type="Length"/>
2750
+ </xs:extension>
2751
+ </xs:complexContent>
2752
+ </xs:complexType>
2753
+ </xs:element>
2754
+
2755
+ </xs:schema>