camelpunch-markup_validity 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
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>