validate-website 0.1 → 0.2

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