Project

Profile

Help

Bug #4445 » xhtml.xsd

Mathieu Bergonzini, 2020-01-29 10:02

 
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
    elementFormDefault="qualified">
7

    
8
  <xs:annotation>
9
    <xs:documentation>
10
    XHTML 1.0 (Second Edition) Strict in XML Schema
11

    
12
    This is the same as HTML 4 Strict except for
13
    changes due to the differences between XML and SGML.
14

    
15
    Namespace = http://www.w3.org/1999/xhtml
16

    
17
    For further information, see: http://www.w3.org/TR/xhtml1
18

    
19
    Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
20
    All Rights Reserved. 
21

    
22
    The DTD version is identified by the PUBLIC and SYSTEM identifiers:
23

    
24
    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
25
    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
26

    
27
    $Id: xhtml1-strict.xsd,v 1.2 2002/08/28 08:05:44 mimasa Exp $
28
    </xs:documentation>
29
  </xs:annotation>
30

    
31
  <xs:import namespace="http://www.w3.org/XML/1998/namespace"
32
      schemaLocation="http://www.w3.org/2001/xml.xsd"/>
33

    
34
  <xs:annotation>
35
    <xs:documentation>
36
    ================ Character mnemonic entities =========================
37

    
38
    XHTML entity sets are identified by the PUBLIC and SYSTEM identifiers:
39
  
40
    PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN"
41
    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent"
42

    
43
    PUBLIC "-//W3C//ENTITIES Special for XHTML//EN"
44
    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent"
45

    
46
    PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN"
47
    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent"
48
    </xs:documentation>
49
  </xs:annotation>
50

    
51
  <xs:annotation>
52
    <xs:documentation>
53
    ================== Imported Names ====================================
54
    </xs:documentation>
55
  </xs:annotation>
56

    
57
  <xs:simpleType name="ContentType">
58
    <xs:annotation>
59
      <xs:documentation>
60
      media type, as per [RFC2045]
61
      </xs:documentation>
62
    </xs:annotation>
63
    <xs:restriction base="xs:string"/>
64
  </xs:simpleType>
65

    
66
  <xs:simpleType name="ContentTypes">
67
    <xs:annotation>
68
      <xs:documentation>
69
      comma-separated list of media types, as per [RFC2045]
70
      </xs:documentation>
71
    </xs:annotation>
72
    <xs:restriction base="xs:string"/>
73
  </xs:simpleType>
74

    
75
  <xs:simpleType name="Charset">
76
    <xs:annotation>
77
      <xs:documentation>
78
      a character encoding, as per [RFC2045]
79
      </xs:documentation>
80
    </xs:annotation>
81
    <xs:restriction base="xs:string"/>
82
  </xs:simpleType>
83

    
84
  <xs:simpleType name="Charsets">
85
    <xs:annotation>
86
      <xs:documentation>
87
      a space separated list of character encodings, as per [RFC2045]
88
      </xs:documentation>
89
    </xs:annotation>
90
    <xs:restriction base="xs:string"/>
91
  </xs:simpleType>
92

    
93
  <xs:simpleType name="LanguageCode">
94
    <xs:annotation>
95
      <xs:documentation>
96
      a language code, as per [RFC3066]
97
      </xs:documentation>
98
    </xs:annotation>
99
    <xs:restriction base="xs:language"/>
100
  </xs:simpleType>
101

    
102
  <xs:simpleType name="Character">
103
    <xs:annotation>
104
      <xs:documentation>
105
      a single character, as per section 2.2 of [XML]
106
      </xs:documentation>
107
    </xs:annotation>
108
    <xs:restriction base="xs:string">
109
      <xs:length value="1" fixed="true"/>
110
    </xs:restriction>
111
  </xs:simpleType>
112

    
113
  <xs:simpleType name="Number">
114
    <xs:annotation>
115
      <xs:documentation>
116
      one or more digits
117
      </xs:documentation>
118
    </xs:annotation>
119
    <xs:restriction base="xs:nonNegativeInteger">
120
      <xs:pattern value="[0-9]+"/>
121
    </xs:restriction>
122
  </xs:simpleType>
123

    
124
  <xs:simpleType name="tabindexNumber">
125
    <xs:annotation>
126
      <xs:documentation>
127
      tabindex attribute specifies the position of the current element
128
      in the tabbing order for the current document. This value must be
129
      a number between 0 and 32767. User agents should ignore leading zeros. 
130
      </xs:documentation>
131
    </xs:annotation>
132
    <xs:restriction base="Number">
133
      <xs:minInclusive value="0"/>
134
      <xs:maxInclusive value="32767"/>
135
    </xs:restriction>
136
  </xs:simpleType>
137

    
138
  <xs:simpleType name="LinkTypes">
139
    <xs:annotation>
140
      <xs:documentation>
141
      space-separated list of link types
142
      </xs:documentation>
143
    </xs:annotation>
144
    <xs:restriction base="xs:NMTOKENS"/>
145
  </xs:simpleType>
146

    
147
  <xs:simpleType name="MediaDesc">
148
    <xs:annotation>
149
      <xs:documentation>
150
      single or comma-separated list of media descriptors
151
      </xs:documentation>
152
    </xs:annotation>
153
    <xs:restriction base="xs:string">
154
      <xs:pattern value="[^,]+(,\s*[^,]+)*"/>
155
    </xs:restriction>
156
  </xs:simpleType>
157

    
158
  <xs:simpleType name="URI">
159
    <xs:annotation>
160
      <xs:documentation>
161
      a Uniform Resource Identifier, see [RFC2396]
162
      </xs:documentation>
163
    </xs:annotation>
164
    <xs:restriction base="xs:anyURI"/>
165
  </xs:simpleType>
166

    
167
  <xs:simpleType name="UriList">
168
    <xs:annotation>
169
      <xs:documentation>
170
      a space separated list of Uniform Resource Identifiers
171
      </xs:documentation>
172
    </xs:annotation>
173
    <xs:restriction base="xs:string"/>
174
  </xs:simpleType>
175

    
176
  <xs:simpleType name="Datetime">
177
    <xs:annotation>
178
      <xs:documentation>
179
      date and time information. ISO date format
180
      </xs:documentation>
181
    </xs:annotation>
182
    <xs:restriction base="xs:dateTime"/>
183
  </xs:simpleType>
184

    
185
  <xs:simpleType name="Script">
186
    <xs:annotation>
187
      <xs:documentation>
188
      script expression
189
      </xs:documentation>
190
    </xs:annotation>
191
    <xs:restriction base="xs:string"/>
192
  </xs:simpleType>
193

    
194
  <xs:simpleType name="StyleSheet">
195
    <xs:annotation>
196
      <xs:documentation>
197
      style sheet data
198
      </xs:documentation>
199
    </xs:annotation>
200
    <xs:restriction base="xs:string"/>
201
  </xs:simpleType>
202

    
203
  <xs:simpleType name="Text">
204
    <xs:annotation>
205
      <xs:documentation>
206
      used for titles etc.
207
      </xs:documentation>
208
    </xs:annotation>
209
    <xs:restriction base="xs:string"/>
210
  </xs:simpleType>
211

    
212
  <xs:simpleType name="Length">
213
    <xs:annotation>
214
      <xs:documentation>
215
      nn for pixels or nn% for percentage length
216
      </xs:documentation>
217
    </xs:annotation>
218
    <xs:restriction base="xs:string">
219
      <xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)"/>
220
    </xs:restriction>
221
  </xs:simpleType>
222

    
223
  <xs:simpleType name="MultiLength">
224
    <xs:annotation>
225
      <xs:documentation>
226
      pixel, percentage, or relative
227
      </xs:documentation>
228
    </xs:annotation>
229
    <xs:restriction base="xs:string">
230
      <xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)|[1-9]?(\d+)?\*"/>
231
    </xs:restriction>
232
  </xs:simpleType>
233

    
234
  <xs:simpleType name="Pixels">
235
    <xs:annotation>
236
      <xs:documentation>
237
      integer representing length in pixels
238
      </xs:documentation>
239
    </xs:annotation>
240
    <xs:restriction base="xs:nonNegativeInteger"/>
241
  </xs:simpleType>
242

    
243
  <xs:annotation>
244
    <xs:documentation>
245
    these are used for image maps
246
    </xs:documentation>
247
  </xs:annotation>
248

    
249
  <xs:simpleType name="Shape">
250
    <xs:restriction base="xs:token">
251
      <xs:enumeration value="rect"/>
252
      <xs:enumeration value="circle"/>
253
      <xs:enumeration value="poly"/>
254
      <xs:enumeration value="default"/>
255
    </xs:restriction>
256
  </xs:simpleType>
257

    
258
  <xs:simpleType name="Coords">
259
    <xs:annotation>
260
      <xs:documentation>
261
      comma separated list of lengths
262
      </xs:documentation>
263
    </xs:annotation>
264
    <xs:restriction base="xs:string">
265
      <xs:pattern
266
          value="[-+]?(\d+|\d+(\.\d+)?%)(,\s*[-+]?(\d+|\d+(\.\d+)?%))*"/>
267
    </xs:restriction>
268
  </xs:simpleType>
269

    
270
  <xs:annotation>
271
    <xs:documentation>
272
    =================== Generic Attributes ===============================
273
    </xs:documentation>
274
  </xs:annotation>
275

    
276
  <xs:attributeGroup name="coreattrs">
277
    <xs:annotation>
278
      <xs:documentation>
279
      core attributes common to most elements
280
      id       document-wide unique id
281
      class    space separated list of classes
282
      style    associated style info
283
      title    advisory title/amplification
284
      </xs:documentation>
285
    </xs:annotation>
286
    <xs:attribute name="id" type="xs:ID"/>
287
    <xs:attribute name="class" type="xs:NMTOKENS"/>
288
    <xs:attribute name="style" type="StyleSheet"/>
289
    <xs:attribute name="title" type="Text"/>
290
  </xs:attributeGroup>
291

    
292
  <xs:attributeGroup name="i18n">
293
    <xs:annotation>
294
      <xs:documentation>
295
      internationalization attributes
296
      lang        language code (backwards compatible)
297
      xml:lang    language code (as per XML 1.0 spec)
298
      dir         direction for weak/neutral text
299
      </xs:documentation>
300
    </xs:annotation>
301
    <xs:attribute name="lang" type="LanguageCode"/>
302
    <xs:attribute ref="xml:lang"/>
303
    <xs:attribute name="dir">
304
      <xs:simpleType>
305
        <xs:restriction base="xs:token">
306
          <xs:enumeration value="ltr"/>
307
          <xs:enumeration value="rtl"/>
308
        </xs:restriction>
309
      </xs:simpleType>
310
    </xs:attribute>
311
  </xs:attributeGroup>
312

    
313
  <xs:attributeGroup name="events">
314
    <xs:annotation>
315
      <xs:documentation>
316
      attributes for common UI events
317
      onclick     a pointer button was clicked
318
      ondblclick  a pointer button was double clicked
319
      onmousedown a pointer button was pressed down
320
      onmouseup   a pointer button was released
321
      onmousemove a pointer was moved onto the element
322
      onmouseout  a pointer was moved away from the element
323
      onkeypress  a key was pressed and released
324
      onkeydown   a key was pressed down
325
      onkeyup     a key was released
326
      </xs:documentation>
327
    </xs:annotation>
328
    <xs:attribute name="onclick" type="Script"/>
329
    <xs:attribute name="ondblclick" type="Script"/>
330
    <xs:attribute name="onmousedown" type="Script"/>
331
    <xs:attribute name="onmouseup" type="Script"/>
332
    <xs:attribute name="onmouseover" type="Script"/>
333
    <xs:attribute name="onmousemove" type="Script"/>
334
    <xs:attribute name="onmouseout" type="Script"/>
335
    <xs:attribute name="onkeypress" type="Script"/>
336
    <xs:attribute name="onkeydown" type="Script"/>
337
    <xs:attribute name="onkeyup" type="Script"/>
338
  </xs:attributeGroup>
339

    
340
  <xs:attributeGroup name="focus">
341
    <xs:annotation>
342
      <xs:documentation>
343
      attributes for elements that can get the focus
344
      accesskey   accessibility key character
345
      tabindex    position in tabbing order
346
      onfocus     the element got the focus
347
      onblur      the element lost the focus
348
      </xs:documentation>
349
    </xs:annotation>
350
    <xs:attribute name="accesskey" type="Character"/>
351
    <xs:attribute name="tabindex" type="tabindexNumber"/>
352
    <xs:attribute name="onfocus" type="Script"/>
353
    <xs:attribute name="onblur" type="Script"/>
354
  </xs:attributeGroup>
355

    
356
  <xs:attributeGroup name="attrs">
357
    <xs:attributeGroup ref="coreattrs"/>
358
    <xs:attributeGroup ref="i18n"/>
359
    <xs:attributeGroup ref="events"/>
360
  </xs:attributeGroup>
361

    
362
  <xs:annotation>
363
    <xs:documentation>
364
    =================== Text Elements ====================================
365
    </xs:documentation>
366
  </xs:annotation>
367

    
368
  <xs:group name="special.pre">
369
    <xs:choice>
370
      <xs:element ref="br"/>
371
      <xs:element ref="span"/>
372
      <xs:element ref="bdo"/>
373
      <xs:element ref="map"/>
374
    </xs:choice>
375
  </xs:group>
376

    
377
  <xs:group name="special">
378
    <xs:choice>
379
      <xs:group ref="special.pre"/>
380
      <xs:element ref="object"/>
381
      <xs:element ref="img"/>
382
    </xs:choice>
383
  </xs:group>
384

    
385
  <xs:group name="fontstyle">
386
    <xs:choice>
387
      <xs:element ref="tt"/>
388
      <xs:element ref="i"/>
389
      <xs:element ref="b"/>
390
      <xs:element ref="big"/>
391
      <xs:element ref="small"/>
392
    </xs:choice>
393
  </xs:group>
394

    
395
  <xs:group name="phrase">
396
    <xs:choice>
397
      <xs:element ref="em"/>
398
      <xs:element ref="strong"/>
399
      <xs:element ref="dfn"/>
400
      <xs:element ref="code"/>
401
      <xs:element ref="q"/>
402
      <xs:element ref="samp"/>
403
      <xs:element ref="kbd"/>
404
      <xs:element ref="var"/>
405
      <xs:element ref="cite"/>
406
      <xs:element ref="abbr"/>
407
      <xs:element ref="acronym"/>
408
      <xs:element ref="sub"/>
409
      <xs:element ref="sup"/>
410
    </xs:choice>
411
  </xs:group>
412

    
413
  <xs:group name="inline.forms">
414
    <xs:choice>
415
      <xs:element ref="input"/>
416
      <xs:element ref="select"/>
417
      <xs:element ref="textarea"/>
418
      <xs:element ref="label"/>
419
      <xs:element ref="button"/>
420
    </xs:choice>
421
  </xs:group>
422

    
423
  <xs:group name="misc.inline">
424
    <xs:choice>
425
      <xs:element ref="ins"/>
426
      <xs:element ref="del"/>
427
      <xs:element ref="script"/>
428
    </xs:choice>
429
  </xs:group>
430

    
431
  <xs:group name="misc">
432
    <xs:annotation>
433
      <xs:documentation>
434
      these can only occur at block level
435
      </xs:documentation>
436
    </xs:annotation>
437
    <xs:choice>
438
      <xs:element ref="noscript"/>
439
      <xs:group ref="misc.inline"/>
440
    </xs:choice>
441
  </xs:group>
442

    
443
  <xs:group name="inline">
444
    <xs:choice>
445
      <xs:element ref="a"/>
446
      <xs:group ref="special"/>
447
      <xs:group ref="fontstyle"/>
448
      <xs:group ref="phrase"/>
449
      <xs:group ref="inline.forms"/>
450
    </xs:choice>
451
  </xs:group>
452

    
453
  <xs:complexType name="Inline" mixed="true">
454
    <xs:annotation>
455
      <xs:documentation>
456
      "Inline" covers inline or "text-level" elements
457
      </xs:documentation>
458
    </xs:annotation>
459
    <xs:choice minOccurs="0" maxOccurs="unbounded">
460
      <xs:group ref="inline"/>
461
      <xs:group ref="misc.inline"/>
462
    </xs:choice>
463
  </xs:complexType>
464

    
465
  <xs:annotation>
466
    <xs:documentation>
467
    ================== Block level elements ==============================
468
    </xs:documentation>
469
  </xs:annotation>
470

    
471
  <xs:group name="heading">
472
    <xs:choice>
473
      <xs:element ref="h1"/>
474
      <xs:element ref="h2"/>
475
      <xs:element ref="h3"/>
476
      <xs:element ref="h4"/>
477
      <xs:element ref="h5"/>
478
      <xs:element ref="h6"/>
479
    </xs:choice>
480
  </xs:group>
481

    
482
  <xs:group name="lists">
483
    <xs:choice>
484
      <xs:element ref="ul"/>
485
      <xs:element ref="ol"/>
486
      <xs:element ref="dl"/>
487
    </xs:choice>
488
  </xs:group>
489

    
490
  <xs:group name="blocktext">
491
    <xs:choice>
492
      <xs:element ref="pre"/>
493
      <xs:element ref="hr"/>
494
      <xs:element ref="blockquote"/>
495
      <xs:element ref="address"/>
496
    </xs:choice>
497
  </xs:group>
498

    
499
  <xs:group name="block">
500
    <xs:choice>
501
      <xs:element ref="p"/>
502
      <xs:group ref="heading"/>
503
      <xs:element ref="div"/>
504
      <xs:group ref="lists"/>
505
      <xs:group ref="blocktext"/>
506
      <xs:element ref="fieldset"/>
507
      <xs:element ref="table"/>
508
    </xs:choice>
509
  </xs:group>
510

    
511
  <xs:complexType name="Block">
512
    <xs:choice minOccurs="0" maxOccurs="unbounded">
513
      <xs:group ref="block"/>
514
      <xs:element ref="form"/>
515
      <xs:group ref="misc"/>
516
    </xs:choice>
517
  </xs:complexType>
518

    
519
  <xs:complexType name="Flow" mixed="true">
520
    <xs:annotation>
521
      <xs:documentation>
522
      "Flow" mixes block and inline and is used for list items etc.
523
      </xs:documentation>
524
    </xs:annotation>
525
    <xs:choice minOccurs="0" maxOccurs="unbounded">
526
      <xs:group ref="block"/>
527
      <xs:element ref="form"/>
528
      <xs:group ref="inline"/>
529
      <xs:group ref="misc"/>
530
    </xs:choice>
531
  </xs:complexType>
532

    
533
  <xs:annotation>
534
    <xs:documentation>
535
    ================== Content models for exclusions =====================
536
    </xs:documentation>
537
  </xs:annotation>
538

    
539
  <xs:complexType name="a.content" mixed="true">
540
    <xs:annotation>
541
      <xs:documentation>
542
      a elements use "Inline" excluding a
543
      </xs:documentation>
544
    </xs:annotation>
545
    <xs:choice minOccurs="0" maxOccurs="unbounded">
546
      <xs:group ref="special"/>
547
      <xs:group ref="fontstyle"/>
548
      <xs:group ref="phrase"/>
549
      <xs:group ref="inline.forms"/>
550
      <xs:group ref="misc.inline"/>
551
    </xs:choice>
552
  </xs:complexType>
553

    
554
  <xs:complexType name="pre.content" mixed="true">
555
    <xs:annotation>
556
      <xs:documentation>
557
      pre uses "Inline" excluding big, small, sup or sup
558
      </xs:documentation>
559
    </xs:annotation>
560
    <xs:choice minOccurs="0" maxOccurs="unbounded">
561
      <xs:element ref="a"/>
562
      <xs:group ref="fontstyle"/>
563
      <xs:group ref="phrase"/>
564
      <xs:group ref="special.pre"/>
565
      <xs:group ref="misc.inline"/>
566
      <xs:group ref="inline.forms"/>
567
    </xs:choice>
568
  </xs:complexType>
569

    
570
  <xs:complexType name="form.content">
571
    <xs:annotation>
572
      <xs:documentation>
573
      form uses "Block" excluding form
574
      </xs:documentation>
575
    </xs:annotation>
576
    <xs:choice minOccurs="0" maxOccurs="unbounded">
577
      <xs:group ref="block"/>
578
      <xs:group ref="misc"/>
579
    </xs:choice>
580
  </xs:complexType>
581

    
582
  <xs:complexType name="button.content" mixed="true">
583
    <xs:annotation>
584
      <xs:documentation>
585
      button uses "Flow" but excludes a, form and form controls
586
      </xs:documentation>
587
    </xs:annotation>
588
    <xs:choice minOccurs="0" maxOccurs="unbounded">
589
      <xs:element ref="p"/>
590
      <xs:group ref="heading"/>
591
      <xs:element ref="div"/>
592
      <xs:group ref="lists"/>
593
      <xs:group ref="blocktext"/>
594
      <xs:element ref="table"/>
595
      <xs:group ref="special"/>
596
      <xs:group ref="fontstyle"/>
597
      <xs:group ref="phrase"/>
598
      <xs:group ref="misc"/>
599
    </xs:choice>
600
  </xs:complexType>
601

    
602
  <xs:annotation>
603
    <xs:documentation>
604
    ================ Document Structure ==================================
605
    </xs:documentation>
606
  </xs:annotation>
607

    
608
  <xs:element name="html">
609
    <xs:complexType>
610
      <xs:sequence>
611
        <xs:element ref="head"/>
612
        <xs:element ref="body"/>
613
      </xs:sequence>
614
      <xs:attributeGroup ref="i18n"/>
615
      <xs:attribute name="id" type="xs:ID"/>
616
    </xs:complexType>
617
  </xs:element>
618

    
619
  <xs:annotation>
620
    <xs:documentation>
621
    ================ Document Head =======================================
622
    </xs:documentation>
623
  </xs:annotation>
624

    
625
  <xs:group name="head.misc">
626
    <xs:sequence>
627
      <xs:choice minOccurs="0" maxOccurs="unbounded">
628
        <xs:element ref="script"/>
629
        <xs:element ref="style"/>
630
        <xs:element ref="meta"/>
631
        <xs:element ref="link"/>
632
        <xs:element ref="object"/>
633
      </xs:choice>
634
    </xs:sequence>
635
  </xs:group>
636

    
637
  <xs:element name="head">
638
    <xs:annotation>
639
      <xs:documentation>
640
      content model is "head.misc" combined with a single
641
      title and an optional base element in any order
642
      </xs:documentation>
643
    </xs:annotation>
644
    <xs:complexType>
645
      <xs:sequence>
646
        <xs:group ref="head.misc"/>
647
        <xs:choice>
648
          <xs:sequence>
649
            <xs:element ref="title"/>
650
            <xs:group ref="head.misc"/>
651
            <xs:sequence minOccurs="0">
652
              <xs:element ref="base"/>
653
              <xs:group ref="head.misc"/>
654
            </xs:sequence>
655
          </xs:sequence>
656
          <xs:sequence>
657
            <xs:element ref="base"/>
658
            <xs:group ref="head.misc"/>
659
            <xs:element ref="title"/>
660
            <xs:group ref="head.misc"/>
661
          </xs:sequence>
662
        </xs:choice>
663
      </xs:sequence>
664
      <xs:attributeGroup ref="i18n"/>
665
      <xs:attribute name="id" type="xs:ID"/>
666
      <xs:attribute name="profile" type="URI"/>
667
    </xs:complexType>
668
  </xs:element>
669

    
670
  <xs:element name="title">
671
    <xs:annotation>
672
      <xs:documentation>
673
      The title element is not considered part of the flow of text.
674
      It should be displayed, for example as the page header or
675
      window title. Exactly one title is required per document.
676
      </xs:documentation>
677
    </xs:annotation>
678
    <xs:complexType mixed="true">
679
      <xs:attributeGroup ref="i18n"/>
680
      <xs:attribute name="id" type="xs:ID"/>
681
    </xs:complexType>
682
  </xs:element>
683

    
684
  <xs:element name="base">
685
    <xs:annotation>
686
      <xs:documentation>
687
      document base URI
688
      </xs:documentation>
689
    </xs:annotation>
690
    <xs:complexType>
691
      <xs:attribute name="href" use="required" type="URI"/>
692
      <xs:attribute name="id" type="xs:ID"/>
693
    </xs:complexType>
694
  </xs:element>
695

    
696
  <xs:element name="meta">
697
    <xs:annotation>
698
      <xs:documentation>
699
      generic metainformation
700
      </xs:documentation>
701
    </xs:annotation>
702
    <xs:complexType>
703
      <xs:attributeGroup ref="i18n"/>
704
      <xs:attribute name="id" type="xs:ID"/>
705
      <xs:attribute name="http-equiv"/>
706
      <xs:attribute name="name"/>
707
      <xs:attribute name="content" use="required"/>
708
      <xs:attribute name="scheme"/>
709
    </xs:complexType>
710
  </xs:element>
711

    
712
  <xs:element name="link">
713
    <xs:annotation>
714
      <xs:documentation>
715
      Relationship values can be used in principle:
716

    
717
      a) for document specific toolbars/menus when used
718
         with the link element in document head e.g.
719
           start, contents, previous, next, index, end, help
720
      b) to link to a separate style sheet (rel="stylesheet")
721
      c) to make a link to a script (rel="script")
722
      d) by stylesheets to control how collections of
723
         html nodes are rendered into printed documents
724
      e) to make a link to a printable version of this document
725
         e.g. a PostScript or PDF version (rel="alternate" media="print")
726
      </xs:documentation>
727
    </xs:annotation>
728
    <xs:complexType>
729
      <xs:attributeGroup ref="attrs"/>
730
      <xs:attribute name="charset" type="Charset"/>
731
      <xs:attribute name="href" type="URI"/>
732
      <xs:attribute name="hreflang" type="LanguageCode"/>
733
      <xs:attribute name="type" type="ContentType"/>
734
      <xs:attribute name="rel" type="LinkTypes"/>
735
      <xs:attribute name="rev" type="LinkTypes"/>
736
      <xs:attribute name="media" type="MediaDesc"/>
737
    </xs:complexType>
738
  </xs:element>
739

    
740
  <xs:element name="style">
741
    <xs:annotation>
742
      <xs:documentation>
743
      style info, which may include CDATA sections
744
      </xs:documentation>
745
    </xs:annotation>
746
    <xs:complexType mixed="true">
747
      <xs:attributeGroup ref="i18n"/>
748
      <xs:attribute name="id" type="xs:ID"/>
749
      <xs:attribute name="type" use="required" type="ContentType"/>
750
      <xs:attribute name="media" type="MediaDesc"/>
751
      <xs:attribute name="title" type="Text"/>
752
      <xs:attribute ref="xml:space" fixed="preserve"/>
753
    </xs:complexType>
754
  </xs:element>
755

    
756
  <xs:element name="script">
757
    <xs:annotation>
758
      <xs:documentation>
759
      script statements, which may include CDATA sections
760
      </xs:documentation>
761
    </xs:annotation>
762
    <xs:complexType mixed="true">
763
      <xs:attribute name="id" type="xs:ID"/>
764
      <xs:attribute name="charset" type="Charset"/>
765
      <xs:attribute name="type" use="required" type="ContentType"/>
766
      <xs:attribute name="src" type="URI"/>
767
      <xs:attribute name="defer">
768
        <xs:simpleType>
769
          <xs:restriction base="xs:token">
770
            <xs:enumeration value="defer"/>
771
          </xs:restriction>
772
        </xs:simpleType>
773
      </xs:attribute>
774
      <xs:attribute ref="xml:space" fixed="preserve"/>
775
    </xs:complexType>
776
  </xs:element>
777

    
778
  <xs:element name="noscript">
779
    <xs:annotation>
780
      <xs:documentation>
781
      alternate content container for non script-based rendering
782
      </xs:documentation>
783
    </xs:annotation>
784
    <xs:complexType>
785
      <xs:complexContent>
786
        <xs:extension base="Block">
787
          <xs:attributeGroup ref="attrs"/>
788
        </xs:extension>
789
      </xs:complexContent>
790
    </xs:complexType>
791
  </xs:element>
792

    
793
  <xs:annotation>
794
    <xs:documentation>
795
    =================== Document Body ====================================
796
    </xs:documentation>
797
  </xs:annotation>
798

    
799
  <xs:element name="body">
800
    <xs:complexType>
801
      <xs:complexContent>
802
        <xs:extension base="Block">
803
          <xs:attributeGroup ref="attrs"/>
804
          <xs:attribute name="onload" type="Script"/>
805
          <xs:attribute name="onunload" type="Script"/>
806
        </xs:extension>
807
      </xs:complexContent>
808
    </xs:complexType>
809
  </xs:element>
810

    
811
  <xs:element name="div">
812
    <xs:annotation>
813
      <xs:documentation>
814
      generic language/style container      
815
      </xs:documentation>
816
    </xs:annotation>
817
    <xs:complexType mixed="true">
818
      <xs:complexContent>
819
        <xs:extension base="Flow">
820
          <xs:attributeGroup ref="attrs"/>
821
        </xs:extension>
822
      </xs:complexContent>
823
    </xs:complexType>
824
  </xs:element>
825

    
826
  <xs:annotation>
827
    <xs:documentation>
828
    =================== Paragraphs =======================================
829
    </xs:documentation>
830
  </xs:annotation>
831

    
832
  <xs:element name="p">
833
    <xs:complexType mixed="true">
834
      <xs:complexContent>
835
        <xs:extension base="Inline">
836
          <xs:attributeGroup ref="attrs"/>
837
        </xs:extension>
838
      </xs:complexContent>
839
    </xs:complexType>
840
  </xs:element>
841

    
842
  <xs:annotation>
843
    <xs:documentation>
844
    =================== Headings =========================================
845

    
846
    There are six levels of headings from h1 (the most important)
847
    to h6 (the least important).
848
    </xs:documentation>
849
  </xs:annotation>
850

    
851
  <xs:element name="h1">
852
    <xs:complexType mixed="true">
853
      <xs:complexContent>
854
        <xs:extension base="Inline">
855
          <xs:attributeGroup ref="attrs"/>
856
        </xs:extension>
857
      </xs:complexContent>
858
    </xs:complexType>
859
  </xs:element>
860

    
861
  <xs:element name="h2">
862
    <xs:complexType mixed="true">
863
      <xs:complexContent>
864
        <xs:extension base="Inline">
865
          <xs:attributeGroup ref="attrs"/>
866
        </xs:extension>
867
      </xs:complexContent>
868
    </xs:complexType>
869
  </xs:element>
870

    
871
  <xs:element name="h3">
872
    <xs:complexType mixed="true">
873
      <xs:complexContent>
874
        <xs:extension base="Inline">
875
          <xs:attributeGroup ref="attrs"/>
876
        </xs:extension>
877
      </xs:complexContent>
878
    </xs:complexType>
879
  </xs:element>
880

    
881
  <xs:element name="h4">
882
    <xs:complexType mixed="true">
883
      <xs:complexContent>
884
        <xs:extension base="Inline">
885
          <xs:attributeGroup ref="attrs"/>
886
        </xs:extension>
887
      </xs:complexContent>
888
    </xs:complexType>
889
  </xs:element>
890

    
891
  <xs:element name="h5">
892
    <xs:complexType mixed="true">
893
      <xs:complexContent>
894
        <xs:extension base="Inline">
895
          <xs:attributeGroup ref="attrs"/>
896
        </xs:extension>
897
      </xs:complexContent>
898
    </xs:complexType>
899
  </xs:element>
900

    
901
  <xs:element name="h6">
902
    <xs:complexType mixed="true">
903
      <xs:complexContent>
904
        <xs:extension base="Inline">
905
          <xs:attributeGroup ref="attrs"/>
906
        </xs:extension>
907
      </xs:complexContent>
908
    </xs:complexType>
909
  </xs:element>
910

    
911
  <xs:annotation>
912
    <xs:documentation>
913
    =================== Lists ============================================
914
    </xs:documentation>
915
  </xs:annotation>
916

    
917
  <xs:element name="ul">
918
    <xs:annotation>
919
      <xs:documentation>
920
      Unordered list
921
      </xs:documentation>
922
    </xs:annotation>
923
    <xs:complexType>
924
      <xs:sequence>
925
        <xs:element maxOccurs="unbounded" ref="li"/>
926
      </xs:sequence>
927
      <xs:attributeGroup ref="attrs"/>
928
    </xs:complexType>
929
  </xs:element>
930

    
931
  <xs:element name="ol">
932
    <xs:annotation>
933
      <xs:documentation>
934
      Ordered (numbered) list
935
      </xs:documentation>
936
    </xs:annotation>
937
    <xs:complexType>
938
      <xs:sequence>
939
        <xs:element maxOccurs="unbounded" ref="li"/>
940
      </xs:sequence>
941
      <xs:attributeGroup ref="attrs"/>
942
    </xs:complexType>
943
  </xs:element>
944

    
945
  <xs:element name="li">
946
    <xs:annotation>
947
      <xs:documentation>
948
      list item
949
      </xs:documentation>
950
    </xs:annotation>
951
    <xs:complexType mixed="true">
952
      <xs:complexContent>
953
        <xs:extension base="Flow">
954
          <xs:attributeGroup ref="attrs"/>
955
        </xs:extension>
956
      </xs:complexContent>
957
    </xs:complexType>
958
  </xs:element>
959

    
960
  <xs:annotation>
961
    <xs:documentation>
962
    definition lists - dt for term, dd for its definition
963
    </xs:documentation>
964
  </xs:annotation>
965

    
966
  <xs:element name="dl">
967
    <xs:complexType>
968
      <xs:choice maxOccurs="unbounded">
969
        <xs:element ref="dt"/>
970
        <xs:element ref="dd"/>
971
      </xs:choice>
972
      <xs:attributeGroup ref="attrs"/>
973
    </xs:complexType>
974
  </xs:element>
975

    
976
  <xs:element name="dt">
977
    <xs:complexType mixed="true">
978
      <xs:complexContent>
979
        <xs:extension base="Inline">
980
          <xs:attributeGroup ref="attrs"/>
981
        </xs:extension>
982
      </xs:complexContent>
983
    </xs:complexType>
984
  </xs:element>
985

    
986
  <xs:element name="dd">
987
    <xs:complexType mixed="true">
988
      <xs:complexContent>
989
        <xs:extension base="Flow">
990
          <xs:attributeGroup ref="attrs"/>
991
        </xs:extension>
992
      </xs:complexContent>
993
    </xs:complexType>
994
  </xs:element>
995

    
996
  <xs:annotation>
997
    <xs:documentation>
998
    =================== Address ==========================================
999
    </xs:documentation>
1000
  </xs:annotation>
1001

    
1002
  <xs:element name="address">
1003
    <xs:annotation>
1004
      <xs:documentation>
1005
      information on author
1006
      </xs:documentation>
1007
    </xs:annotation>
1008
    <xs:complexType mixed="true">
1009
      <xs:complexContent>
1010
        <xs:extension base="Inline">
1011
          <xs:attributeGroup ref="attrs"/>
1012
        </xs:extension>
1013
      </xs:complexContent>
1014
    </xs:complexType>
1015
  </xs:element>
1016

    
1017
  <xs:annotation>
1018
    <xs:documentation>
1019
    =================== Horizontal Rule ==================================
1020
    </xs:documentation>
1021
  </xs:annotation>
1022

    
1023
  <xs:element name="hr">
1024
    <xs:complexType>
1025
      <xs:attributeGroup ref="attrs"/>
1026
    </xs:complexType>
1027
  </xs:element>
1028

    
1029
  <xs:annotation>
1030
    <xs:documentation>
1031
    =================== Preformatted Text ================================
1032
    </xs:documentation>
1033
  </xs:annotation>
1034

    
1035
  <xs:element name="pre">
1036
    <xs:annotation>
1037
      <xs:documentation>
1038
      content is "Inline" excluding "img|object|big|small|sub|sup"
1039
      </xs:documentation>
1040
    </xs:annotation>
1041
    <xs:complexType mixed="true">
1042
      <xs:complexContent>
1043
        <xs:extension base="pre.content">
1044
           <xs:attributeGroup ref="attrs"/>
1045
           <xs:attribute ref="xml:space" fixed="preserve"/>
1046
        </xs:extension>
1047
      </xs:complexContent>
1048
    </xs:complexType>
1049
  </xs:element>
1050

    
1051
  <xs:annotation>
1052
    <xs:documentation>
1053
    =================== Block-like Quotes ================================
1054
    </xs:documentation>
1055
  </xs:annotation>
1056

    
1057
  <xs:element name="blockquote">
1058
    <xs:complexType>
1059
      <xs:complexContent>
1060
        <xs:extension base="Block">
1061
          <xs:attributeGroup ref="attrs"/>
1062
          <xs:attribute name="cite" type="URI"/>
1063
        </xs:extension>
1064
      </xs:complexContent>
1065
    </xs:complexType>
1066
  </xs:element>
1067

    
1068
  <xs:annotation>
1069
    <xs:documentation>
1070
    =================== Inserted/Deleted Text ============================
1071

    
1072
    ins/del are allowed in block and inline content, but its
1073
    inappropriate to include block content within an ins element
1074
    occurring in inline content.
1075
    </xs:documentation>
1076
  </xs:annotation>
1077

    
1078
  <xs:element name="ins">
1079
    <xs:complexType mixed="true">
1080
      <xs:complexContent>
1081
        <xs:extension base="Flow">
1082
          <xs:attributeGroup ref="attrs"/>
1083
          <xs:attribute name="cite" type="URI"/>
1084
          <xs:attribute name="datetime" type="Datetime"/>
1085
        </xs:extension>
1086
      </xs:complexContent>
1087
    </xs:complexType>
1088
  </xs:element>
1089

    
1090
  <xs:element name="del">
1091
    <xs:complexType mixed="true">
1092
      <xs:complexContent>
1093
        <xs:extension base="Flow">
1094
          <xs:attributeGroup ref="attrs"/>
1095
          <xs:attribute name="cite" type="URI"/>
1096
          <xs:attribute name="datetime" type="Datetime"/>
1097
        </xs:extension>
1098
      </xs:complexContent>
1099
    </xs:complexType>
1100
  </xs:element>
1101

    
1102
  <xs:annotation>
1103
    <xs:documentation>
1104
    ================== The Anchor Element ================================
1105
    </xs:documentation>
1106
  </xs:annotation>
1107

    
1108
  <xs:element name="a">
1109
    <xs:annotation>
1110
      <xs:documentation>
1111
      content is "Inline" except that anchors shouldn't be nested
1112
      </xs:documentation>
1113
    </xs:annotation>
1114
    <xs:complexType mixed="true">
1115
      <xs:complexContent>
1116
        <xs:extension base="a.content">
1117
          <xs:attributeGroup ref="attrs"/>
1118
          <xs:attributeGroup ref="focus"/>
1119
          <xs:attribute name="charset" type="Charset"/>
1120
          <xs:attribute name="type" type="ContentType"/>
1121
          <xs:attribute name="name" type="xs:NMTOKEN"/>
1122
          <xs:attribute name="href" type="URI"/>
1123
          <xs:attribute name="hreflang" type="LanguageCode"/>
1124
          <xs:attribute name="rel" type="LinkTypes"/>
1125
          <xs:attribute name="rev" type="LinkTypes"/>
1126
          <xs:attribute name="shape" default="rect" type="Shape"/>
1127
          <xs:attribute name="coords" type="Coords"/>
1128
        </xs:extension>
1129
      </xs:complexContent>
1130
    </xs:complexType>
1131
  </xs:element>
1132

    
1133
  <xs:annotation>
1134
    <xs:documentation>
1135
    ===================== Inline Elements ================================
1136
    </xs:documentation>
1137
  </xs:annotation>
1138

    
1139
  <xs:element name="span">
1140
    <xs:annotation>
1141
      <xs:documentation>
1142
      generic language/style container
1143
      </xs:documentation>
1144
    </xs:annotation>
1145
    <xs:complexType mixed="true">
1146
      <xs:complexContent>
1147
        <xs:extension base="Inline">
1148
          <xs:attributeGroup ref="attrs"/>
1149
        </xs:extension>
1150
      </xs:complexContent>
1151
    </xs:complexType>
1152
  </xs:element>
1153

    
1154
  <xs:element name="bdo">
1155
    <xs:annotation>
1156
      <xs:documentation>
1157
      I18N BiDi over-ride
1158
      </xs:documentation>
1159
    </xs:annotation>
1160
    <xs:complexType mixed="true">
1161
      <xs:complexContent>
1162
        <xs:extension base="Inline">
1163
          <xs:attributeGroup ref="coreattrs"/>
1164
          <xs:attributeGroup ref="events"/>
1165
          <xs:attribute name="lang" type="LanguageCode"/>
1166
          <xs:attribute ref="xml:lang"/>
1167
          <xs:attribute name="dir" use="required">
1168
            <xs:simpleType>
1169
              <xs:restriction base="xs:token">
1170
                <xs:enumeration value="ltr"/>
1171
                <xs:enumeration value="rtl"/>
1172
              </xs:restriction>
1173
            </xs:simpleType>
1174
          </xs:attribute>
1175
        </xs:extension>
1176
      </xs:complexContent>
1177
    </xs:complexType>
1178
  </xs:element>
1179

    
1180
  <xs:element name="br">
1181
    <xs:annotation>
1182
      <xs:documentation>
1183
      forced line break
1184
      </xs:documentation>
1185
    </xs:annotation>
1186
    <xs:complexType>
1187
      <xs:attributeGroup ref="coreattrs"/>
1188
    </xs:complexType>
1189
  </xs:element>
1190

    
1191
  <xs:element name="em">
1192
    <xs:annotation>
1193
      <xs:documentation>
1194
      emphasis
1195
      </xs:documentation>
1196
    </xs:annotation>
1197
    <xs:complexType mixed="true">
1198
      <xs:complexContent>
1199
        <xs:extension base="Inline">
1200
          <xs:attributeGroup ref="attrs"/>
1201
        </xs:extension>
1202
      </xs:complexContent>
1203
    </xs:complexType>
1204
  </xs:element>
1205

    
1206
  <xs:element name="strong">
1207
    <xs:annotation>
1208
      <xs:documentation>
1209
      strong emphasis
1210
      </xs:documentation>
1211
    </xs:annotation>
1212
    <xs:complexType mixed="true">
1213
      <xs:complexContent>
1214
        <xs:extension base="Inline">
1215
          <xs:attributeGroup ref="attrs"/>
1216
        </xs:extension>
1217
      </xs:complexContent>
1218
    </xs:complexType>
1219
  </xs:element>
1220

    
1221
  <xs:element name="dfn">
1222
    <xs:annotation>
1223
      <xs:documentation>
1224
      definitional
1225
      </xs:documentation>
1226
    </xs:annotation>
1227
    <xs:complexType mixed="true">
1228
      <xs:complexContent>
1229
        <xs:extension base="Inline">
1230
          <xs:attributeGroup ref="attrs"/>
1231
        </xs:extension>
1232
      </xs:complexContent>
1233
    </xs:complexType>
1234
  </xs:element>
1235

    
1236
  <xs:element name="code">
1237
    <xs:annotation>
1238
      <xs:documentation>
1239
      program code
1240
      </xs:documentation>
1241
    </xs:annotation>
1242
    <xs:complexType mixed="true">
1243
      <xs:complexContent>
1244
        <xs:extension base="Inline">
1245
          <xs:attributeGroup ref="attrs"/>
1246
        </xs:extension>
1247
      </xs:complexContent>
1248
    </xs:complexType>
1249
  </xs:element>
1250

    
1251
  <xs:element name="samp">
1252
    <xs:annotation>
1253
      <xs:documentation>
1254
      sample
1255
      </xs:documentation>
1256
    </xs:annotation>
1257
    <xs:complexType mixed="true">
1258
      <xs:complexContent>
1259
        <xs:extension base="Inline">
1260
          <xs:attributeGroup ref="attrs"/>
1261
        </xs:extension>
1262
      </xs:complexContent>
1263
    </xs:complexType>
1264
  </xs:element>
1265

    
1266
  <xs:element name="kbd">
1267
    <xs:annotation>
1268
      <xs:documentation>
1269
      something user would type
1270
      </xs:documentation>
1271
    </xs:annotation>
1272
    <xs:complexType mixed="true">
1273
      <xs:complexContent>
1274
        <xs:extension base="Inline">
1275
          <xs:attributeGroup ref="attrs"/>
1276
        </xs:extension>
1277
      </xs:complexContent>
1278
    </xs:complexType>
1279
  </xs:element>
1280

    
1281
  <xs:element name="var">
1282
    <xs:annotation>
1283
      <xs:documentation>
1284
      variable
1285
      </xs:documentation>
1286
    </xs:annotation>
1287
    <xs:complexType mixed="true">
1288
      <xs:complexContent>
1289
        <xs:extension base="Inline">
1290
          <xs:attributeGroup ref="attrs"/>
1291
        </xs:extension>
1292
      </xs:complexContent>
1293
    </xs:complexType>
1294
  </xs:element>
1295

    
1296
  <xs:element name="cite">
1297
    <xs:annotation>
1298
      <xs:documentation>
1299
      citation
1300
      </xs:documentation>
1301
    </xs:annotation>
1302
    <xs:complexType mixed="true">
1303
      <xs:complexContent>
1304
        <xs:extension base="Inline">
1305
          <xs:attributeGroup ref="attrs"/>
1306
        </xs:extension>
1307
      </xs:complexContent>
1308
    </xs:complexType>
1309
  </xs:element>
1310

    
1311
  <xs:element name="abbr">
1312
    <xs:annotation>
1313
      <xs:documentation>
1314
      abbreviation
1315
      </xs:documentation>
1316
    </xs:annotation>
1317
    <xs:complexType mixed="true">
1318
      <xs:complexContent>
1319
        <xs:extension base="Inline">
1320
          <xs:attributeGroup ref="attrs"/>
1321
        </xs:extension>
1322
      </xs:complexContent>
1323
    </xs:complexType>
1324
  </xs:element>
1325

    
1326
  <xs:element name="acronym">
1327
    <xs:annotation>
1328
      <xs:documentation>
1329
      acronym
1330
      </xs:documentation>
1331
    </xs:annotation>
1332
    <xs:complexType mixed="true">
1333
      <xs:complexContent>
1334
        <xs:extension base="Inline">
1335
          <xs:attributeGroup ref="attrs"/>
1336
        </xs:extension>
1337
      </xs:complexContent>
1338
    </xs:complexType>
1339
  </xs:element>
1340

    
1341
  <xs:element name="q">
1342
    <xs:annotation>
1343
      <xs:documentation>
1344
      inlined quote
1345
      </xs:documentation>
1346
    </xs:annotation>
1347
    <xs:complexType mixed="true">
1348
      <xs:complexContent>
1349
        <xs:extension base="Inline">
1350
          <xs:attributeGroup ref="attrs"/>
1351
          <xs:attribute name="cite" type="URI"/>
1352
        </xs:extension>
1353
      </xs:complexContent>
1354
    </xs:complexType>
1355
  </xs:element>
1356

    
1357
  <xs:element name="sub">
1358
    <xs:annotation>
1359
      <xs:documentation>
1360
      subscript
1361
      </xs:documentation>
1362
    </xs:annotation>
1363
    <xs:complexType mixed="true">
1364
      <xs:complexContent>
1365
        <xs:extension base="Inline">
1366
          <xs:attributeGroup ref="attrs"/>
1367
        </xs:extension>
1368
      </xs:complexContent>
1369
    </xs:complexType>
1370
  </xs:element>
1371

    
1372
  <xs:element name="sup">
1373
    <xs:annotation>
1374
      <xs:documentation>
1375
      superscript
1376
      </xs:documentation>
1377
    </xs:annotation>
1378
    <xs:complexType mixed="true">
1379
      <xs:complexContent>
1380
        <xs:extension base="Inline">
1381
          <xs:attributeGroup ref="attrs"/>
1382
        </xs:extension>
1383
      </xs:complexContent>
1384
    </xs:complexType>
1385
  </xs:element>
1386

    
1387
  <xs:element name="tt">
1388
    <xs:annotation>
1389
      <xs:documentation>
1390
      fixed pitch font
1391
      </xs:documentation>
1392
    </xs:annotation>
1393
    <xs:complexType mixed="true">
1394
      <xs:complexContent>
1395
        <xs:extension base="Inline">
1396
          <xs:attributeGroup ref="attrs"/>
1397
        </xs:extension>
1398
      </xs:complexContent>
1399
    </xs:complexType>
1400
  </xs:element>
1401

    
1402
  <xs:element name="i">
1403
    <xs:annotation>
1404
      <xs:documentation>
1405
      italic font
1406
      </xs:documentation>
1407
    </xs:annotation>
1408
    <xs:complexType mixed="true">
1409
      <xs:complexContent>
1410
        <xs:extension base="Inline">
1411
          <xs:attributeGroup ref="attrs"/>
1412
        </xs:extension>
1413
      </xs:complexContent>
1414
    </xs:complexType>
1415
  </xs:element>
1416

    
1417
  <xs:element name="b">
1418
    <xs:annotation>
1419
      <xs:documentation>
1420
      bold font
1421
      </xs:documentation>
1422
    </xs:annotation>
1423
    <xs:complexType mixed="true">
1424
      <xs:complexContent>
1425
        <xs:extension base="Inline">
1426
          <xs:attributeGroup ref="attrs"/>
1427
        </xs:extension>
1428
      </xs:complexContent>
1429
    </xs:complexType>
1430
  </xs:element>
1431

    
1432
  <xs:element name="big">
1433
    <xs:annotation>
1434
      <xs:documentation>
1435
      bigger font
1436
      </xs:documentation>
1437
    </xs:annotation>
1438
    <xs:complexType mixed="true">
1439
      <xs:complexContent>
1440
        <xs:extension base="Inline">
1441
          <xs:attributeGroup ref="attrs"/>
1442
        </xs:extension>
1443
      </xs:complexContent>
1444
    </xs:complexType>
1445
  </xs:element>
1446

    
1447
  <xs:element name="small">
1448
    <xs:annotation>
1449
      <xs:documentation>
1450
      smaller font
1451
      </xs:documentation>
1452
    </xs:annotation>
1453
    <xs:complexType mixed="true">
1454
      <xs:complexContent>
1455
        <xs:extension base="Inline">
1456
          <xs:attributeGroup ref="attrs"/>
1457
        </xs:extension>
1458
      </xs:complexContent>
1459
    </xs:complexType>
1460
  </xs:element>
1461

    
1462
  <xs:annotation>
1463
    <xs:documentation>
1464
    ==================== Object ======================================
1465

    
1466
    object is used to embed objects as part of HTML pages.
1467
    param elements should precede other content. Parameters
1468
    can also be expressed as attribute/value pairs on the
1469
    object element itself when brevity is desired.
1470
    </xs:documentation>
1471
  </xs:annotation>
1472

    
1473
  <xs:element name="object">
1474
    <xs:complexType mixed="true">
1475
      <xs:choice minOccurs="0" maxOccurs="unbounded">
1476
        <xs:element ref="param"/>
1477
        <xs:group ref="block"/>
1478
        <xs:element ref="form"/>
1479
        <xs:group ref="inline"/>
1480
        <xs:group ref="misc"/>
1481
      </xs:choice>
1482
      <xs:attributeGroup ref="attrs"/>
1483
      <xs:attribute name="declare">
1484
        <xs:simpleType>
1485
          <xs:restriction base="xs:token">
1486
            <xs:enumeration value="declare"/>
1487
          </xs:restriction>
1488
        </xs:simpleType>
1489
      </xs:attribute>
1490
      <xs:attribute name="classid" type="URI"/>
1491
      <xs:attribute name="codebase" type="URI"/>
1492
      <xs:attribute name="data" type="URI"/>
1493
      <xs:attribute name="type" type="ContentType"/>
1494
      <xs:attribute name="codetype" type="ContentType"/>
1495
      <xs:attribute name="archive" type="UriList"/>
1496
      <xs:attribute name="standby" type="Text"/>
1497
      <xs:attribute name="height" type="Length"/>
1498
      <xs:attribute name="width" type="Length"/>
1499
      <xs:attribute name="usemap" type="URI"/>
1500
      <xs:attribute name="name" type="xs:NMTOKEN"/>
1501
      <xs:attribute name="tabindex" type="tabindexNumber"/>
1502
    </xs:complexType>
1503
  </xs:element>
1504

    
1505
  <xs:element name="param">
1506
    <xs:annotation>
1507
      <xs:documentation>
1508
      param is used to supply a named property value.
1509
      In XML it would seem natural to follow RDF and support an
1510
      abbreviated syntax where the param elements are replaced
1511
      by attribute value pairs on the object start tag.
1512
      </xs:documentation>
1513
    </xs:annotation>
1514
    <xs:complexType>
1515
      <xs:attribute name="id" type="xs:ID"/>
1516
      <xs:attribute name="name"/>
1517
      <xs:attribute name="value"/>
1518
      <xs:attribute name="valuetype" default="data">
1519
        <xs:simpleType>
1520
          <xs:restriction base="xs:token">
1521
            <xs:enumeration value="data"/>
1522
            <xs:enumeration value="ref"/>
1523
            <xs:enumeration value="object"/>
1524
          </xs:restriction>
1525
        </xs:simpleType>
1526
      </xs:attribute>
1527
      <xs:attribute name="type" type="ContentType"/>
1528
    </xs:complexType>
1529
  </xs:element>
1530

    
1531
  <xs:annotation>
1532
    <xs:documentation>
1533
    =================== Images ===========================================
1534

    
1535
    To avoid accessibility problems for people who aren't
1536
    able to see the image, you should provide a text
1537
    description using the alt and longdesc attributes.
1538
    In addition, avoid the use of server-side image maps.
1539
    Note that in this DTD there is no name attribute. That
1540
    is only available in the transitional and frameset DTD.
1541
    </xs:documentation>
1542
  </xs:annotation>
1543

    
1544
  <xs:element name="img">
1545
    <xs:complexType>
1546
      <xs:attributeGroup ref="attrs"/>
1547
      <xs:attribute name="src" use="required" type="URI"/>
1548
      <xs:attribute name="alt" use="required" type="Text"/>
1549
      <xs:attribute name="longdesc" type="URI"/>
1550
      <xs:attribute name="height" type="Length"/>
1551
      <xs:attribute name="width" type="Length"/>
1552
      <xs:attribute name="usemap" type="URI">
1553
	<xs:annotation>
1554
	  <xs:documentation>
1555
          usemap points to a map element which may be in this document
1556
          or an external document, although the latter is not widely supported
1557
          </xs:documentation>
1558
	</xs:annotation>
1559
      </xs:attribute>
1560
      <xs:attribute name="ismap">
1561
        <xs:simpleType>
1562
          <xs:restriction base="xs:token">
1563
            <xs:enumeration value="ismap"/>
1564
          </xs:restriction>
1565
        </xs:simpleType>
1566
      </xs:attribute>
1567
    </xs:complexType>
1568
  </xs:element>
1569

    
1570
  <xs:annotation>
1571
    <xs:documentation>
1572
    ================== Client-side image maps ============================
1573

    
1574
    These can be placed in the same document or grouped in a
1575
    separate document although this isn't yet widely supported
1576
    </xs:documentation>
1577
  </xs:annotation>
1578

    
1579
  <xs:element name="map">
1580
    <xs:complexType>
1581
      <xs:choice>
1582
        <xs:choice maxOccurs="unbounded">
1583
          <xs:group ref="block"/>
1584
          <xs:element ref="form"/>
1585
          <xs:group ref="misc"/>
1586
        </xs:choice>
1587
        <xs:element maxOccurs="unbounded" ref="area"/>
1588
      </xs:choice>
1589
      <xs:attributeGroup ref="i18n"/>
1590
      <xs:attributeGroup ref="events"/>
1591
      <xs:attribute name="id" use="required" type="xs:ID"/>
1592
      <xs:attribute name="class"/>
1593
      <xs:attribute name="style" type="StyleSheet"/>
1594
      <xs:attribute name="title" type="Text"/>
1595
      <xs:attribute name="name" type="xs:NMTOKEN"/>
1596
    </xs:complexType>
1597
  </xs:element>
1598

    
1599
  <xs:element name="area">
1600
    <xs:complexType>
1601
        <xs:attributeGroup ref="attrs"/>
1602
      <xs:attributeGroup ref="focus"/>
1603
      <xs:attribute name="shape" default="rect" type="Shape"/>
1604
      <xs:attribute name="coords" type="Coords"/>
1605
      <xs:attribute name="href" type="URI"/>
1606
      <xs:attribute name="nohref">
1607
        <xs:simpleType>
1608
          <xs:restriction base="xs:token">
1609
            <xs:enumeration value="nohref"/>
1610
          </xs:restriction>
1611
        </xs:simpleType>
1612
      </xs:attribute>
1613
      <xs:attribute name="alt" use="required" type="Text"/>
1614
    </xs:complexType>
1615
  </xs:element>
1616

    
1617
  <xs:annotation>
1618
    <xs:documentation>
1619
    ================ Forms ===============================================
1620
    </xs:documentation>
1621
  </xs:annotation>
1622

    
1623
  <xs:element name="form">
1624
    <xs:complexType>
1625
      <xs:complexContent>
1626
        <xs:extension base="form.content">
1627
          <xs:attributeGroup ref="attrs"/>
1628
          <xs:attribute name="action" use="required" type="URI"/>
1629
          <xs:attribute name="method" default="get">
1630
            <xs:simpleType>
1631
              <xs:restriction base="xs:token">
1632
                <xs:enumeration value="get"/>
1633
                <xs:enumeration value="post"/>
1634
              </xs:restriction>
1635
            </xs:simpleType>
1636
          </xs:attribute>
1637
          <xs:attribute name="enctype" type="ContentType"
1638
              default="application/x-www-form-urlencoded"/>
1639
          <xs:attribute name="onsubmit" type="Script"/>
1640
          <xs:attribute name="onreset" type="Script"/>
1641
          <xs:attribute name="accept" type="ContentTypes"/>
1642
          <xs:attribute name="accept-charset" type="Charsets"/>
1643
        </xs:extension>
1644
      </xs:complexContent>
1645
    </xs:complexType>
1646
  </xs:element>
1647

    
1648
  <xs:element name="label">
1649
    <xs:annotation>
1650
      <xs:documentation>
1651
      Each label must not contain more than ONE field
1652
      Label elements shouldn't be nested.
1653
      </xs:documentation>
1654
    </xs:annotation>
1655
    <xs:complexType mixed="true">
1656
      <xs:complexContent>
1657
        <xs:extension base="Inline">
1658
          <xs:attributeGroup ref="attrs"/>
1659
          <xs:attribute name="for" type="xs:IDREF"/>
1660
          <xs:attribute name="accesskey" type="Character"/>
1661
          <xs:attribute name="onfocus" type="Script"/>
1662
          <xs:attribute name="onblur" type="Script"/>
1663
        </xs:extension>
1664
      </xs:complexContent>
1665
    </xs:complexType>
1666
  </xs:element>
1667

    
1668
  <xs:simpleType name="InputType">
1669
    <xs:restriction base="xs:token">
1670
      <xs:enumeration value="text"/>
1671
      <xs:enumeration value="password"/>
1672
      <xs:enumeration value="checkbox"/>
1673
      <xs:enumeration value="radio"/>
1674
      <xs:enumeration value="submit"/>
1675
      <xs:enumeration value="reset"/>
1676
      <xs:enumeration value="file"/>
1677
      <xs:enumeration value="hidden"/>
1678
      <xs:enumeration value="image"/>
1679
      <xs:enumeration value="button"/>
1680
    </xs:restriction>
1681
  </xs:simpleType>
1682

    
1683
  <xs:element name="input">
1684
    <xs:annotation>
1685
      <xs:documentation>
1686
      form control
1687
      </xs:documentation>
1688
    </xs:annotation>
1689
    <xs:complexType>
1690
      <xs:attributeGroup ref="attrs"/>
1691
      <xs:attributeGroup ref="focus"/>
1692
      <xs:attribute name="type" default="text" type="InputType"/>
1693
      <xs:attribute name="name">
1694
	<xs:annotation>
1695
	  <xs:documentation>
1696
          the name attribute is required for all but submit &amp; reset
1697
          </xs:documentation>
1698
	</xs:annotation>
1699
      </xs:attribute>
1700
      <xs:attribute name="value"/>
1701
      <xs:attribute name="checked">
1702
        <xs:simpleType>
1703
          <xs:restriction base="xs:token">
1704
            <xs:enumeration value="checked"/>
1705
          </xs:restriction>
1706
        </xs:simpleType>
1707
      </xs:attribute>
1708
      <xs:attribute name="disabled">
1709
        <xs:simpleType>
1710
          <xs:restriction base="xs:token">
1711
            <xs:enumeration value="disabled"/>
1712
          </xs:restriction>
1713
        </xs:simpleType>
1714
      </xs:attribute>
1715
      <xs:attribute name="readonly">
1716
        <xs:simpleType>
1717
          <xs:restriction base="xs:token">
1718
            <xs:enumeration value="readonly"/>
1719
          </xs:restriction>
1720
        </xs:simpleType>
1721
      </xs:attribute>
1722
      <xs:attribute name="size"/>
1723
      <xs:attribute name="maxlength" type="Number"/>
1724
      <xs:attribute name="src" type="URI"/>
1725
      <xs:attribute name="alt"/>
1726
      <xs:attribute name="usemap" type="URI"/>
1727
      <xs:attribute name="onselect" type="Script"/>
1728
      <xs:attribute name="onchange" type="Script"/>
1729
      <xs:attribute name="accept" type="ContentTypes"/>
1730
    </xs:complexType>
1731
  </xs:element>
1732

    
1733
  <xs:element name="select">
1734
    <xs:annotation>
1735
      <xs:documentation>
1736
      option selector
1737
      </xs:documentation>
1738
    </xs:annotation>
1739
    <xs:complexType>
1740
      <xs:choice maxOccurs="unbounded">
1741
        <xs:element ref="optgroup"/>
1742
        <xs:element ref="option"/>
1743
      </xs:choice>
1744
      <xs:attributeGroup ref="attrs"/>
1745
      <xs:attribute name="name"/>
1746
      <xs:attribute name="size" type="Number"/>
1747
      <xs:attribute name="multiple">
1748
        <xs:simpleType>
1749
          <xs:restriction base="xs:token">
1750
            <xs:enumeration value="multiple"/>
1751
          </xs:restriction>
1752
        </xs:simpleType>
1753
      </xs:attribute>
1754
      <xs:attribute name="disabled">
1755
        <xs:simpleType>
1756
          <xs:restriction base="xs:token">
1757
            <xs:enumeration value="disabled"/>
1758
          </xs:restriction>
1759
        </xs:simpleType>
1760
      </xs:attribute>
1761
      <xs:attribute name="tabindex" type="tabindexNumber"/>
1762
      <xs:attribute name="onfocus" type="Script"/>
1763
      <xs:attribute name="onblur" type="Script"/>
1764
      <xs:attribute name="onchange" type="Script"/>
1765
    </xs:complexType>
1766
  </xs:element>
1767

    
1768
  <xs:element name="optgroup">
1769
    <xs:annotation>
1770
      <xs:documentation>
1771
      option group
1772
      </xs:documentation>
1773
    </xs:annotation>
1774
    <xs:complexType>
1775
      <xs:sequence>
1776
        <xs:element maxOccurs="unbounded" ref="option"/>
1777
      </xs:sequence>
1778
      <xs:attributeGroup ref="attrs"/>
1779
      <xs:attribute name="disabled">
1780
        <xs:simpleType>
1781
          <xs:restriction base="xs:token">
1782
            <xs:enumeration value="disabled"/>
1783
          </xs:restriction>
1784
        </xs:simpleType>
1785
      </xs:attribute>
1786
      <xs:attribute name="label" use="required" type="Text"/>
1787
    </xs:complexType>
1788
  </xs:element>
1789

    
1790
  <xs:element name="option">
1791
    <xs:annotation>
1792
      <xs:documentation>
1793
      selectable choice
1794
      </xs:documentation>
1795
    </xs:annotation>
1796
    <xs:complexType mixed="true">
1797
      <xs:attributeGroup ref="attrs"/>
1798
      <xs:attribute name="selected">
1799
        <xs:simpleType>
1800
          <xs:restriction base="xs:token">
1801
            <xs:enumeration value="selected"/>
1802
          </xs:restriction>
1803
        </xs:simpleType>
1804
      </xs:attribute>
1805
      <xs:attribute name="disabled">
1806
        <xs:simpleType>
1807
          <xs:restriction base="xs:token">
1808
            <xs:enumeration value="disabled"/>
1809
          </xs:restriction>
1810
        </xs:simpleType>
1811
      </xs:attribute>
1812
      <xs:attribute name="label" type="Text"/>
1813
      <xs:attribute name="value"/>
1814
    </xs:complexType>
1815
  </xs:element>
1816

    
1817
  <xs:element name="textarea">
1818
    <xs:annotation>
1819
      <xs:documentation>
1820
      multi-line text field
1821
      </xs:documentation>
1822
    </xs:annotation>
1823
    <xs:complexType mixed="true">
1824
      <xs:attributeGroup ref="attrs"/>
1825
      <xs:attributeGroup ref="focus"/>
1826
      <xs:attribute name="name"/>
1827
      <xs:attribute name="rows" use="required" type="Number"/>
1828
      <xs:attribute name="cols" use="required" type="Number"/>
1829
      <xs:attribute name="disabled">
1830
        <xs:simpleType>
1831
          <xs:restriction base="xs:token">
1832
            <xs:enumeration value="disabled"/>
1833
          </xs:restriction>
1834
        </xs:simpleType>
1835
      </xs:attribute>
1836
      <xs:attribute name="readonly">
1837
        <xs:simpleType>
1838
          <xs:restriction base="xs:token">
1839
            <xs:enumeration value="readonly"/>
1840
          </xs:restriction>
1841
        </xs:simpleType>
1842
      </xs:attribute>
1843
      <xs:attribute name="onselect" type="Script"/>
1844
      <xs:attribute name="onchange" type="Script"/>
1845
    </xs:complexType>
1846
  </xs:element>
1847

    
1848
  <xs:element name="fieldset">
1849
    <xs:annotation>
1850
      <xs:documentation>
1851
      The fieldset element is used to group form fields.
1852
      Only one legend element should occur in the content
1853
      and if present should only be preceded by whitespace.
1854

    
1855
      NOTE: this content model is different from the XHTML 1.0 DTD,
1856
      closer to the intended content model in HTML4 DTD
1857
      </xs:documentation>
1858
    </xs:annotation>
1859
    <xs:complexType mixed="true">
1860
      <xs:sequence>
1861
        <xs:element ref="legend"/>
1862
        <xs:choice minOccurs="0" maxOccurs="unbounded">
1863
          <xs:group ref="block"/>
1864
          <xs:element ref="form"/>
1865
          <xs:group ref="inline"/>
1866
          <xs:group ref="misc"/>
1867
        </xs:choice>
1868
      </xs:sequence>
1869
      <xs:attributeGroup ref="attrs"/>
1870
    </xs:complexType>
1871
  </xs:element>
1872

    
1873
  <xs:element name="legend">
1874
    <xs:annotation>
1875
      <xs:documentation>
1876
      fieldset label
1877
      </xs:documentation>
1878
    </xs:annotation>
1879
    <xs:complexType mixed="true">
1880
      <xs:complexContent>
1881
        <xs:extension base="Inline">
1882
          <xs:attributeGroup ref="attrs"/>
1883
          <xs:attribute name="accesskey" type="Character"/>
1884
        </xs:extension>
1885
      </xs:complexContent>
1886
    </xs:complexType>
1887
  </xs:element>
1888

    
1889
  <xs:element name="button">
1890
    <xs:annotation>
1891
      <xs:documentation>
1892
      Content is "Flow" excluding a, form and form controls
1893
      </xs:documentation>
1894
    </xs:annotation>
1895
    <xs:complexType mixed="true">
1896
      <xs:complexContent>
1897
        <xs:extension base="button.content">
1898
          <xs:attributeGroup ref="attrs"/>
1899
          <xs:attributeGroup ref="focus"/>
1900
          <xs:attribute name="name"/>
1901
          <xs:attribute name="value"/>
1902
          <xs:attribute name="type" default="submit">
1903
            <xs:simpleType>
1904
              <xs:restriction base="xs:token">
1905
                <xs:enumeration value="button"/>
1906
                <xs:enumeration value="submit"/>
1907
                <xs:enumeration value="reset"/>
1908
              </xs:restriction>
1909
            </xs:simpleType>
1910
          </xs:attribute>
1911
          <xs:attribute name="disabled">
1912
            <xs:simpleType>
1913
              <xs:restriction base="xs:token">
1914
                <xs:enumeration value="disabled"/>
1915
              </xs:restriction>
1916
            </xs:simpleType>
1917
          </xs:attribute>
1918
        </xs:extension>
1919
      </xs:complexContent>
1920
    </xs:complexType>
1921
  </xs:element>
1922

    
1923
  <xs:annotation>
1924
    <xs:documentation>
1925
    ======================= Tables =======================================
1926

    
1927
    Derived from IETF HTML table standard, see [RFC1942]
1928
    </xs:documentation>
1929
  </xs:annotation>
1930

    
1931
  <xs:simpleType name="TFrame">
1932
    <xs:annotation>
1933
      <xs:documentation>
1934
      The border attribute sets the thickness of the frame around the
1935
      table. The default units are screen pixels.
1936

    
1937
      The frame attribute specifies which parts of the frame around
1938
      the table should be rendered. The values are not the same as
1939
      CALS to avoid a name clash with the valign attribute.
1940
      </xs:documentation>
1941
    </xs:annotation>
1942
    <xs:restriction base="xs:token">
1943
      <xs:enumeration value="void"/>
1944
      <xs:enumeration value="above"/>
1945
      <xs:enumeration value="below"/>
1946
      <xs:enumeration value="hsides"/>
1947
      <xs:enumeration value="lhs"/>
1948
      <xs:enumeration value="rhs"/>
1949
      <xs:enumeration value="vsides"/>
1950
      <xs:enumeration value="box"/>
1951
      <xs:enumeration value="border"/>
1952
    </xs:restriction>
1953
  </xs:simpleType>
1954

    
1955
  <xs:simpleType name="TRules">
1956
    <xs:annotation>
1957
      <xs:documentation>
1958
      The rules attribute defines which rules to draw between cells:
1959

    
1960
      If rules is absent then assume:
1961
          "none" if border is absent or border="0" otherwise "all"
1962
      </xs:documentation>
1963
    </xs:annotation>
1964
    <xs:restriction base="xs:token">
1965
      <xs:enumeration value="none"/>
1966
      <xs:enumeration value="groups"/>
1967
      <xs:enumeration value="rows"/>
1968
      <xs:enumeration value="cols"/>
1969
      <xs:enumeration value="all"/>
1970
    </xs:restriction>
1971
  </xs:simpleType>
1972

    
1973
  <xs:attributeGroup name="cellhalign">
1974
    <xs:annotation>
1975
      <xs:documentation>
1976
      horizontal alignment attributes for cell contents
1977

    
1978
      char        alignment char, e.g. char=':'
1979
      charoff     offset for alignment char
1980
      </xs:documentation>
1981
    </xs:annotation>
1982
    <xs:attribute name="align">
1983
      <xs:simpleType>
1984
        <xs:restriction base="xs:token">
1985
          <xs:enumeration value="left"/>
1986
          <xs:enumeration value="center"/>
1987
          <xs:enumeration value="right"/>
1988
          <xs:enumeration value="justify"/>
1989
          <xs:enumeration value="char"/>
1990
        </xs:restriction>
1991
      </xs:simpleType>
1992
    </xs:attribute>
1993
    <xs:attribute name="char" type="Character"/>
1994
    <xs:attribute name="charoff" type="Length"/>
1995
  </xs:attributeGroup>
1996

    
1997
  <xs:attributeGroup name="cellvalign">
1998
    <xs:annotation>
1999
      <xs:documentation>
2000
      vertical alignment attributes for cell contents
2001
      </xs:documentation>
2002
    </xs:annotation>
2003
    <xs:attribute name="valign">
2004
      <xs:simpleType>
2005
        <xs:restriction base="xs:token">
2006
          <xs:enumeration value="top"/>
2007
          <xs:enumeration value="middle"/>
2008
          <xs:enumeration value="bottom"/>
2009
          <xs:enumeration value="baseline"/>
2010
        </xs:restriction>
2011
      </xs:simpleType>
2012
    </xs:attribute>
2013
  </xs:attributeGroup>
2014

    
2015
  <xs:element name="table">
2016
    <xs:complexType>
2017
      <xs:sequence>
2018
        <xs:element minOccurs="0" ref="caption"/>
2019
        <xs:choice>
2020
          <xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/>
2021
          <xs:element minOccurs="0" maxOccurs="unbounded" ref="colgroup"/>
2022
        </xs:choice>
2023
        <xs:element minOccurs="0" ref="thead"/>
2024
        <xs:element minOccurs="0" ref="tfoot"/>
2025
        <xs:choice>
2026
          <xs:element maxOccurs="unbounded" ref="tbody"/>
2027
          <xs:element maxOccurs="unbounded" ref="tr"/>
2028
        </xs:choice>
2029
      </xs:sequence>
2030
      <xs:attributeGroup ref="attrs"/>
2031
      <xs:attribute name="summary" type="Text"/>
2032
      <xs:attribute name="width" type="Length"/>
2033
      <xs:attribute name="border" type="Pixels"/>
2034
      <xs:attribute name="frame" type="TFrame"/>
2035
      <xs:attribute name="rules" type="TRules"/>
2036
      <xs:attribute name="cellspacing" type="Length"/>
2037
      <xs:attribute name="cellpadding" type="Length"/>
2038
    </xs:complexType>
2039
  </xs:element>
2040

    
2041
  <xs:element name="caption">
2042
    <xs:complexType mixed="true">
2043
      <xs:complexContent>
2044
        <xs:extension base="Inline">
2045
          <xs:attributeGroup ref="attrs"/>
2046
        </xs:extension>
2047
      </xs:complexContent>
2048
    </xs:complexType>
2049
  </xs:element>
2050

    
2051
  <xs:annotation>
2052
    <xs:documentation>
2053
    Use thead to duplicate headers when breaking table
2054
    across page boundaries, or for static headers when
2055
    tbody sections are rendered in scrolling panel.
2056

    
2057
    Use tfoot to duplicate footers when breaking table
2058
    across page boundaries, or for static footers when
2059
    tbody sections are rendered in scrolling panel.
2060

    
2061
    Use multiple tbody sections when rules are needed
2062
    between groups of table rows.
2063
    </xs:documentation>
2064
  </xs:annotation>
2065

    
2066
  <xs:element name="thead">
2067
    <xs:complexType>
2068
      <xs:sequence>
2069
        <xs:element maxOccurs="unbounded" ref="tr"/>
2070
      </xs:sequence>
2071
      <xs:attributeGroup ref="attrs"/>
2072
      <xs:attributeGroup ref="cellhalign"/>
2073
      <xs:attributeGroup ref="cellvalign"/>
2074
    </xs:complexType>
2075
  </xs:element>
2076

    
2077
  <xs:element name="tfoot">
2078
    <xs:complexType>
2079
      <xs:sequence>
2080
        <xs:element maxOccurs="unbounded" ref="tr"/>
2081
      </xs:sequence>
2082
      <xs:attributeGroup ref="attrs"/>
2083
      <xs:attributeGroup ref="cellhalign"/>
2084
      <xs:attributeGroup ref="cellvalign"/>
2085
    </xs:complexType>
2086
  </xs:element>
2087

    
2088
  <xs:element name="tbody">
2089
    <xs:complexType>
2090
      <xs:sequence>
2091
        <xs:element maxOccurs="unbounded" ref="tr"/>
2092
      </xs:sequence>
2093
      <xs:attributeGroup ref="attrs"/>
2094
      <xs:attributeGroup ref="cellhalign"/>
2095
      <xs:attributeGroup ref="cellvalign"/>
2096
    </xs:complexType>
2097
  </xs:element>
2098

    
2099
  <xs:element name="colgroup">
2100
    <xs:annotation>
2101
      <xs:documentation>
2102
      colgroup groups a set of col elements. It allows you to group
2103
      several semantically related columns together.
2104
      </xs:documentation>
2105
    </xs:annotation>
2106
    <xs:complexType>
2107
      <xs:sequence>
2108
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/>
2109
      </xs:sequence>
2110
      <xs:attributeGroup ref="attrs"/>
2111
      <xs:attribute name="span" default="1" type="Number"/>
2112
      <xs:attribute name="width" type="MultiLength"/>
2113
      <xs:attributeGroup ref="cellhalign"/>
2114
      <xs:attributeGroup ref="cellvalign"/>
2115
    </xs:complexType>
2116
  </xs:element>
2117

    
2118
  <xs:element name="col">
2119
    <xs:annotation>
2120
      <xs:documentation>
2121
      col elements define the alignment properties for cells in
2122
      one or more columns.
2123

    
2124
      The width attribute specifies the width of the columns, e.g.
2125

    
2126
          width=64        width in screen pixels
2127
          width=0.5*      relative width of 0.5
2128

    
2129
      The span attribute causes the attributes of one
2130
      col element to apply to more than one column.
2131
      </xs:documentation>
2132
    </xs:annotation>
2133
    <xs:complexType>
2134
      <xs:attributeGroup ref="attrs"/>
2135
      <xs:attribute name="span" default="1" type="Number"/>
2136
      <xs:attribute name="width" type="MultiLength"/>
2137
      <xs:attributeGroup ref="cellhalign"/>
2138
      <xs:attributeGroup ref="cellvalign"/>
2139
    </xs:complexType>
2140
  </xs:element>
2141

    
2142
  <xs:element name="tr">
2143
    <xs:complexType>
2144
      <xs:choice maxOccurs="unbounded">
2145
        <xs:element ref="th"/>
2146
        <xs:element ref="td"/>
2147
      </xs:choice>
2148
      <xs:attributeGroup ref="attrs"/>
2149
      <xs:attributeGroup ref="cellhalign"/>
2150
      <xs:attributeGroup ref="cellvalign"/>
2151
    </xs:complexType>
2152
  </xs:element>
2153

    
2154
  <xs:simpleType name="Scope">
2155
    <xs:annotation>
2156
      <xs:documentation>
2157
      Scope is simpler than headers attribute for common tables
2158
      </xs:documentation>
2159
    </xs:annotation>
2160
    <xs:restriction base="xs:token">
2161
      <xs:enumeration value="row"/>
2162
      <xs:enumeration value="col"/>
2163
      <xs:enumeration value="rowgroup"/>
2164
      <xs:enumeration value="colgroup"/>
2165
    </xs:restriction>
2166
  </xs:simpleType>
2167

    
2168
  <xs:annotation>
2169
    <xs:documentation>
2170
    th is for headers, td for data and for cells acting as both
2171
    </xs:documentation>
2172
  </xs:annotation>
2173

    
2174
  <xs:element name="th">
2175
    <xs:complexType mixed="true">
2176
      <xs:complexContent>
2177
        <xs:extension base="Flow">
2178
          <xs:attributeGroup ref="attrs"/>
2179
          <xs:attribute name="abbr" type="Text"/>
2180
          <xs:attribute name="axis"/>
2181
          <xs:attribute name="headers" type="xs:IDREFS"/>
2182
          <xs:attribute name="scope" type="Scope"/>
2183
          <xs:attribute name="rowspan" default="1" type="Number"/>
2184
          <xs:attribute name="colspan" default="1" type="Number"/>
2185
          <xs:attributeGroup ref="cellhalign"/>
2186
          <xs:attributeGroup ref="cellvalign"/>
2187
        </xs:extension>
2188
      </xs:complexContent>
2189
    </xs:complexType>
2190
  </xs:element>
2191

    
2192
  <xs:element name="td">
2193
    <xs:complexType mixed="true">
2194
      <xs:complexContent>
2195
        <xs:extension base="Flow">
2196
          <xs:attributeGroup ref="attrs"/>
2197
          <xs:attribute name="abbr" type="Text"/>
2198
          <xs:attribute name="axis"/>
2199
          <xs:attribute name="headers" type="xs:IDREFS"/>
2200
          <xs:attribute name="scope" type="Scope"/>
2201
          <xs:attribute name="rowspan" default="1" type="Number"/>
2202
          <xs:attribute name="colspan" default="1" type="Number"/>
2203
          <xs:attributeGroup ref="cellhalign"/>
2204
          <xs:attributeGroup ref="cellvalign"/>
2205
        </xs:extension>
2206
      </xs:complexContent>
2207
    </xs:complexType>
2208
  </xs:element>
2209

    
2210
</xs:schema>
(3-3/4)