Added XHTML validation support.
[jsvc.git] / etc / catalog / xhtml1-strict.xsd
CommitLineData
5203590b
FT
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) Strict in XML Schema
12
13 This is the same as HTML 4 Strict 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 Strict//EN"
26 SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
27
28 $Id: xhtml1-strict.xsd,v 1.2 2002/08/28 08:05:44 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="Length">
214 <xs:annotation>
215 <xs:documentation>
216 nn for pixels or nn% for percentage length
217 </xs:documentation>
218 </xs:annotation>
219 <xs:restriction base="xs:string">
220 <xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)"/>
221 </xs:restriction>
222 </xs:simpleType>
223
224 <xs:simpleType name="MultiLength">
225 <xs:annotation>
226 <xs:documentation>
227 pixel, percentage, or relative
228 </xs:documentation>
229 </xs:annotation>
230 <xs:restriction base="xs:string">
231 <xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)|[1-9]?(\d+)?\*"/>
232 </xs:restriction>
233 </xs:simpleType>
234
235 <xs:simpleType name="Pixels">
236 <xs:annotation>
237 <xs:documentation>
238 integer representing length in pixels
239 </xs:documentation>
240 </xs:annotation>
241 <xs:restriction base="xs:nonNegativeInteger"/>
242 </xs:simpleType>
243
244 <xs:annotation>
245 <xs:documentation>
246 these are used for image maps
247 </xs:documentation>
248 </xs:annotation>
249
250 <xs:simpleType name="Shape">
251 <xs:restriction base="xs:token">
252 <xs:enumeration value="rect"/>
253 <xs:enumeration value="circle"/>
254 <xs:enumeration value="poly"/>
255 <xs:enumeration value="default"/>
256 </xs:restriction>
257 </xs:simpleType>
258
259 <xs:simpleType name="Coords">
260 <xs:annotation>
261 <xs:documentation>
262 comma separated list of lengths
263 </xs:documentation>
264 </xs:annotation>
265 <xs:restriction base="xs:string">
266 <xs:pattern
267 value="[-+]?(\d+|\d+(\.\d+)?%)(,\s*[-+]?(\d+|\d+(\.\d+)?%))*"/>
268 </xs:restriction>
269 </xs:simpleType>
270
271 <xs:annotation>
272 <xs:documentation>
273 =================== Generic Attributes ===============================
274 </xs:documentation>
275 </xs:annotation>
276
277 <xs:attributeGroup name="coreattrs">
278 <xs:annotation>
279 <xs:documentation>
280 core attributes common to most elements
281 id document-wide unique id
282 class space separated list of classes
283 style associated style info
284 title advisory title/amplification
285 </xs:documentation>
286 </xs:annotation>
287 <xs:attribute name="id" type="xs:ID"/>
288 <xs:attribute name="class" type="xs:NMTOKENS"/>
289 <xs:attribute name="style" type="StyleSheet"/>
290 <xs:attribute name="title" type="Text"/>
291 </xs:attributeGroup>
292
293 <xs:attributeGroup name="i18n">
294 <xs:annotation>
295 <xs:documentation>
296 internationalization attributes
297 lang language code (backwards compatible)
298 xml:lang language code (as per XML 1.0 spec)
299 dir direction for weak/neutral text
300 </xs:documentation>
301 </xs:annotation>
302 <xs:attribute name="lang" type="LanguageCode"/>
303 <xs:attribute ref="xml:lang"/>
304 <xs:attribute name="dir">
305 <xs:simpleType>
306 <xs:restriction base="xs:token">
307 <xs:enumeration value="ltr"/>
308 <xs:enumeration value="rtl"/>
309 </xs:restriction>
310 </xs:simpleType>
311 </xs:attribute>
312 </xs:attributeGroup>
313
314 <xs:attributeGroup name="events">
315 <xs:annotation>
316 <xs:documentation>
317 attributes for common UI events
318 onclick a pointer button was clicked
319 ondblclick a pointer button was double clicked
320 onmousedown a pointer button was pressed down
321 onmouseup a pointer button was released
322 onmousemove a pointer was moved onto the element
323 onmouseout a pointer was moved away from the element
324 onkeypress a key was pressed and released
325 onkeydown a key was pressed down
326 onkeyup a key was released
327 </xs:documentation>
328 </xs:annotation>
329 <xs:attribute name="onclick" type="Script"/>
330 <xs:attribute name="ondblclick" type="Script"/>
331 <xs:attribute name="onmousedown" type="Script"/>
332 <xs:attribute name="onmouseup" type="Script"/>
333 <xs:attribute name="onmouseover" type="Script"/>
334 <xs:attribute name="onmousemove" type="Script"/>
335 <xs:attribute name="onmouseout" type="Script"/>
336 <xs:attribute name="onkeypress" type="Script"/>
337 <xs:attribute name="onkeydown" type="Script"/>
338 <xs:attribute name="onkeyup" type="Script"/>
339 </xs:attributeGroup>
340
341 <xs:attributeGroup name="focus">
342 <xs:annotation>
343 <xs:documentation>
344 attributes for elements that can get the focus
345 accesskey accessibility key character
346 tabindex position in tabbing order
347 onfocus the element got the focus
348 onblur the element lost the focus
349 </xs:documentation>
350 </xs:annotation>
351 <xs:attribute name="accesskey" type="Character"/>
352 <xs:attribute name="tabindex" type="tabindexNumber"/>
353 <xs:attribute name="onfocus" type="Script"/>
354 <xs:attribute name="onblur" type="Script"/>
355 </xs:attributeGroup>
356
357 <xs:attributeGroup name="attrs">
358 <xs:attributeGroup ref="coreattrs"/>
359 <xs:attributeGroup ref="i18n"/>
360 <xs:attributeGroup ref="events"/>
361 </xs:attributeGroup>
362
363 <xs:annotation>
364 <xs:documentation>
365 =================== Text Elements ====================================
366 </xs:documentation>
367 </xs:annotation>
368
369 <xs:group name="special.pre">
370 <xs:choice>
371 <xs:element ref="br"/>
372 <xs:element ref="span"/>
373 <xs:element ref="bdo"/>
374 <xs:element ref="map"/>
375 </xs:choice>
376 </xs:group>
377
378 <xs:group name="special">
379 <xs:choice>
380 <xs:group ref="special.pre"/>
381 <xs:element ref="object"/>
382 <xs:element ref="img"/>
383 </xs:choice>
384 </xs:group>
385
386 <xs:group name="fontstyle">
387 <xs:choice>
388 <xs:element ref="tt"/>
389 <xs:element ref="i"/>
390 <xs:element ref="b"/>
391 <xs:element ref="big"/>
392 <xs:element ref="small"/>
393 </xs:choice>
394 </xs:group>
395
396 <xs:group name="phrase">
397 <xs:choice>
398 <xs:element ref="em"/>
399 <xs:element ref="strong"/>
400 <xs:element ref="dfn"/>
401 <xs:element ref="code"/>
402 <xs:element ref="q"/>
403 <xs:element ref="samp"/>
404 <xs:element ref="kbd"/>
405 <xs:element ref="var"/>
406 <xs:element ref="cite"/>
407 <xs:element ref="abbr"/>
408 <xs:element ref="acronym"/>
409 <xs:element ref="sub"/>
410 <xs:element ref="sup"/>
411 </xs:choice>
412 </xs:group>
413
414 <xs:group name="inline.forms">
415 <xs:choice>
416 <xs:element ref="input"/>
417 <xs:element ref="select"/>
418 <xs:element ref="textarea"/>
419 <xs:element ref="label"/>
420 <xs:element ref="button"/>
421 </xs:choice>
422 </xs:group>
423
424 <xs:group name="misc.inline">
425 <xs:choice>
426 <xs:element ref="ins"/>
427 <xs:element ref="del"/>
428 <xs:element ref="script"/>
429 </xs:choice>
430 </xs:group>
431
432 <xs:group name="misc">
433 <xs:annotation>
434 <xs:documentation>
435 these can only occur at block level
436 </xs:documentation>
437 </xs:annotation>
438 <xs:choice>
439 <xs:element ref="noscript"/>
440 <xs:group ref="misc.inline"/>
441 </xs:choice>
442 </xs:group>
443
444 <xs:group name="inline">
445 <xs:choice>
446 <xs:element ref="a"/>
447 <xs:group ref="special"/>
448 <xs:group ref="fontstyle"/>
449 <xs:group ref="phrase"/>
450 <xs:group ref="inline.forms"/>
451 </xs:choice>
452 </xs:group>
453
454 <xs:complexType name="Inline" mixed="true">
455 <xs:annotation>
456 <xs:documentation>
457 "Inline" covers inline or "text-level" elements
458 </xs:documentation>
459 </xs:annotation>
460 <xs:choice minOccurs="0" maxOccurs="unbounded">
461 <xs:group ref="inline"/>
462 <xs:group ref="misc.inline"/>
463 </xs:choice>
464 </xs:complexType>
465
466 <xs:annotation>
467 <xs:documentation>
468 ================== Block level elements ==============================
469 </xs:documentation>
470 </xs:annotation>
471
472 <xs:group name="heading">
473 <xs:choice>
474 <xs:element ref="h1"/>
475 <xs:element ref="h2"/>
476 <xs:element ref="h3"/>
477 <xs:element ref="h4"/>
478 <xs:element ref="h5"/>
479 <xs:element ref="h6"/>
480 </xs:choice>
481 </xs:group>
482
483 <xs:group name="lists">
484 <xs:choice>
485 <xs:element ref="ul"/>
486 <xs:element ref="ol"/>
487 <xs:element ref="dl"/>
488 </xs:choice>
489 </xs:group>
490
491 <xs:group name="blocktext">
492 <xs:choice>
493 <xs:element ref="pre"/>
494 <xs:element ref="hr"/>
495 <xs:element ref="blockquote"/>
496 <xs:element ref="address"/>
497 </xs:choice>
498 </xs:group>
499
500 <xs:group name="block">
501 <xs:choice>
502 <xs:element ref="p"/>
503 <xs:group ref="heading"/>
504 <xs:element ref="div"/>
505 <xs:group ref="lists"/>
506 <xs:group ref="blocktext"/>
507 <xs:element ref="fieldset"/>
508 <xs:element ref="table"/>
509 </xs:choice>
510 </xs:group>
511
512 <xs:complexType name="Block">
513 <xs:choice minOccurs="0" maxOccurs="unbounded">
514 <xs:group ref="block"/>
515 <xs:element ref="form"/>
516 <xs:group ref="misc"/>
517 </xs:choice>
518 </xs:complexType>
519
520 <xs:complexType name="Flow" mixed="true">
521 <xs:annotation>
522 <xs:documentation>
523 "Flow" mixes block and inline and is used for list items etc.
524 </xs:documentation>
525 </xs:annotation>
526 <xs:choice minOccurs="0" maxOccurs="unbounded">
527 <xs:group ref="block"/>
528 <xs:element ref="form"/>
529 <xs:group ref="inline"/>
530 <xs:group ref="misc"/>
531 </xs:choice>
532 </xs:complexType>
533
534 <xs:annotation>
535 <xs:documentation>
536 ================== Content models for exclusions =====================
537 </xs:documentation>
538 </xs:annotation>
539
540 <xs:complexType name="a.content" mixed="true">
541 <xs:annotation>
542 <xs:documentation>
543 a elements use "Inline" excluding a
544 </xs:documentation>
545 </xs:annotation>
546 <xs:choice minOccurs="0" maxOccurs="unbounded">
547 <xs:group ref="special"/>
548 <xs:group ref="fontstyle"/>
549 <xs:group ref="phrase"/>
550 <xs:group ref="inline.forms"/>
551 <xs:group ref="misc.inline"/>
552 </xs:choice>
553 </xs:complexType>
554
555 <xs:complexType name="pre.content" mixed="true">
556 <xs:annotation>
557 <xs:documentation>
558 pre uses "Inline" excluding big, small, sup or sup
559 </xs:documentation>
560 </xs:annotation>
561 <xs:choice minOccurs="0" maxOccurs="unbounded">
562 <xs:element ref="a"/>
563 <xs:group ref="fontstyle"/>
564 <xs:group ref="phrase"/>
565 <xs:group ref="special.pre"/>
566 <xs:group ref="misc.inline"/>
567 <xs:group ref="inline.forms"/>
568 </xs:choice>
569 </xs:complexType>
570
571 <xs:complexType name="form.content">
572 <xs:annotation>
573 <xs:documentation>
574 form uses "Block" excluding form
575 </xs:documentation>
576 </xs:annotation>
577 <xs:choice minOccurs="0" maxOccurs="unbounded">
578 <xs:group ref="block"/>
579 <xs:group ref="misc"/>
580 </xs:choice>
581 </xs:complexType>
582
583 <xs:complexType name="button.content" mixed="true">
584 <xs:annotation>
585 <xs:documentation>
586 button uses "Flow" but excludes a, form and form controls
587 </xs:documentation>
588 </xs:annotation>
589 <xs:choice minOccurs="0" maxOccurs="unbounded">
590 <xs:element ref="p"/>
591 <xs:group ref="heading"/>
592 <xs:element ref="div"/>
593 <xs:group ref="lists"/>
594 <xs:group ref="blocktext"/>
595 <xs:element ref="table"/>
596 <xs:group ref="special"/>
597 <xs:group ref="fontstyle"/>
598 <xs:group ref="phrase"/>
599 <xs:group ref="misc"/>
600 </xs:choice>
601 </xs:complexType>
602
603 <xs:annotation>
604 <xs:documentation>
605 ================ Document Structure ==================================
606 </xs:documentation>
607 </xs:annotation>
608
609 <xs:element name="html">
610 <xs:complexType>
611 <xs:sequence>
612 <xs:element ref="head"/>
613 <xs:element ref="body"/>
614 </xs:sequence>
615 <xs:attributeGroup ref="i18n"/>
616 <xs:attribute name="id" type="xs:ID"/>
617 </xs:complexType>
618 </xs:element>
619
620 <xs:annotation>
621 <xs:documentation>
622 ================ Document Head =======================================
623 </xs:documentation>
624 </xs:annotation>
625
626 <xs:group name="head.misc">
627 <xs:sequence>
628 <xs:choice minOccurs="0" maxOccurs="unbounded">
629 <xs:element ref="script"/>
630 <xs:element ref="style"/>
631 <xs:element ref="meta"/>
632 <xs:element ref="link"/>
633 <xs:element ref="object"/>
634 </xs:choice>
635 </xs:sequence>
636 </xs:group>
637
638 <xs:element name="head">
639 <xs:annotation>
640 <xs:documentation>
641 content model is "head.misc" combined with a single
642 title and an optional base element in any order
643 </xs:documentation>
644 </xs:annotation>
645 <xs:complexType>
646 <xs:sequence>
647 <xs:group ref="head.misc"/>
648 <xs:choice>
649 <xs:sequence>
650 <xs:element ref="title"/>
651 <xs:group ref="head.misc"/>
652 <xs:sequence minOccurs="0">
653 <xs:element ref="base"/>
654 <xs:group ref="head.misc"/>
655 </xs:sequence>
656 </xs:sequence>
657 <xs:sequence>
658 <xs:element ref="base"/>
659 <xs:group ref="head.misc"/>
660 <xs:element ref="title"/>
661 <xs:group ref="head.misc"/>
662 </xs:sequence>
663 </xs:choice>
664 </xs:sequence>
665 <xs:attributeGroup ref="i18n"/>
666 <xs:attribute name="id" type="xs:ID"/>
667 <xs:attribute name="profile" type="URI"/>
668 </xs:complexType>
669 </xs:element>
670
671 <xs:element name="title">
672 <xs:annotation>
673 <xs:documentation>
674 The title element is not considered part of the flow of text.
675 It should be displayed, for example as the page header or
676 window title. Exactly one title is required per document.
677 </xs:documentation>
678 </xs:annotation>
679 <xs:complexType mixed="true">
680 <xs:attributeGroup ref="i18n"/>
681 <xs:attribute name="id" type="xs:ID"/>
682 </xs:complexType>
683 </xs:element>
684
685 <xs:element name="base">
686 <xs:annotation>
687 <xs:documentation>
688 document base URI
689 </xs:documentation>
690 </xs:annotation>
691 <xs:complexType>
692 <xs:attribute name="href" use="required" type="URI"/>
693 <xs:attribute name="id" type="xs:ID"/>
694 </xs:complexType>
695 </xs:element>
696
697 <xs:element name="meta">
698 <xs:annotation>
699 <xs:documentation>
700 generic metainformation
701 </xs:documentation>
702 </xs:annotation>
703 <xs:complexType>
704 <xs:attributeGroup ref="i18n"/>
705 <xs:attribute name="id" type="xs:ID"/>
706 <xs:attribute name="http-equiv"/>
707 <xs:attribute name="name"/>
708 <xs:attribute name="content" use="required"/>
709 <xs:attribute name="scheme"/>
710 </xs:complexType>
711 </xs:element>
712
713 <xs:element name="link">
714 <xs:annotation>
715 <xs:documentation>
716 Relationship values can be used in principle:
717
718 a) for document specific toolbars/menus when used
719 with the link element in document head e.g.
720 start, contents, previous, next, index, end, help
721 b) to link to a separate style sheet (rel="stylesheet")
722 c) to make a link to a script (rel="script")
723 d) by stylesheets to control how collections of
724 html nodes are rendered into printed documents
725 e) to make a link to a printable version of this document
726 e.g. a PostScript or PDF version (rel="alternate" media="print")
727 </xs:documentation>
728 </xs:annotation>
729 <xs:complexType>
730 <xs:attributeGroup ref="attrs"/>
731 <xs:attribute name="charset" type="Charset"/>
732 <xs:attribute name="href" type="URI"/>
733 <xs:attribute name="hreflang" type="LanguageCode"/>
734 <xs:attribute name="type" type="ContentType"/>
735 <xs:attribute name="rel" type="LinkTypes"/>
736 <xs:attribute name="rev" type="LinkTypes"/>
737 <xs:attribute name="media" type="MediaDesc"/>
738 </xs:complexType>
739 </xs:element>
740
741 <xs:element name="style">
742 <xs:annotation>
743 <xs:documentation>
744 style info, which may include CDATA sections
745 </xs:documentation>
746 </xs:annotation>
747 <xs:complexType mixed="true">
748 <xs:attributeGroup ref="i18n"/>
749 <xs:attribute name="id" type="xs:ID"/>
750 <xs:attribute name="type" use="required" type="ContentType"/>
751 <xs:attribute name="media" type="MediaDesc"/>
752 <xs:attribute name="title" type="Text"/>
753 <xs:attribute ref="xml:space" fixed="preserve"/>
754 </xs:complexType>
755 </xs:element>
756
757 <xs:element name="script">
758 <xs:annotation>
759 <xs:documentation>
760 script statements, which may include CDATA sections
761 </xs:documentation>
762 </xs:annotation>
763 <xs:complexType mixed="true">
764 <xs:attribute name="id" type="xs:ID"/>
765 <xs:attribute name="charset" type="Charset"/>
766 <xs:attribute name="type" use="required" type="ContentType"/>
767 <xs:attribute name="src" type="URI"/>
768 <xs:attribute name="defer">
769 <xs:simpleType>
770 <xs:restriction base="xs:token">
771 <xs:enumeration value="defer"/>
772 </xs:restriction>
773 </xs:simpleType>
774 </xs:attribute>
775 <xs:attribute ref="xml:space" fixed="preserve"/>
776 </xs:complexType>
777 </xs:element>
778
779 <xs:element name="noscript">
780 <xs:annotation>
781 <xs:documentation>
782 alternate content container for non script-based rendering
783 </xs:documentation>
784 </xs:annotation>
785 <xs:complexType>
786 <xs:complexContent>
787 <xs:extension base="Block">
788 <xs:attributeGroup ref="attrs"/>
789 </xs:extension>
790 </xs:complexContent>
791 </xs:complexType>
792 </xs:element>
793
794 <xs:annotation>
795 <xs:documentation>
796 =================== Document Body ====================================
797 </xs:documentation>
798 </xs:annotation>
799
800 <xs:element name="body">
801 <xs:complexType>
802 <xs:complexContent>
803 <xs:extension base="Block">
804 <xs:attributeGroup ref="attrs"/>
805 <xs:attribute name="onload" type="Script"/>
806 <xs:attribute name="onunload" type="Script"/>
807 </xs:extension>
808 </xs:complexContent>
809 </xs:complexType>
810 </xs:element>
811
812 <xs:element name="div">
813 <xs:annotation>
814 <xs:documentation>
815 generic language/style container
816 </xs:documentation>
817 </xs:annotation>
818 <xs:complexType mixed="true">
819 <xs:complexContent>
820 <xs:extension base="Flow">
821 <xs:attributeGroup ref="attrs"/>
822 </xs:extension>
823 </xs:complexContent>
824 </xs:complexType>
825 </xs:element>
826
827 <xs:annotation>
828 <xs:documentation>
829 =================== Paragraphs =======================================
830 </xs:documentation>
831 </xs:annotation>
832
833 <xs:element name="p">
834 <xs:complexType mixed="true">
835 <xs:complexContent>
836 <xs:extension base="Inline">
837 <xs:attributeGroup ref="attrs"/>
838 </xs:extension>
839 </xs:complexContent>
840 </xs:complexType>
841 </xs:element>
842
843 <xs:annotation>
844 <xs:documentation>
845 =================== Headings =========================================
846
847 There are six levels of headings from h1 (the most important)
848 to h6 (the least important).
849 </xs:documentation>
850 </xs:annotation>
851
852 <xs:element name="h1">
853 <xs:complexType mixed="true">
854 <xs:complexContent>
855 <xs:extension base="Inline">
856 <xs:attributeGroup ref="attrs"/>
857 </xs:extension>
858 </xs:complexContent>
859 </xs:complexType>
860 </xs:element>
861
862 <xs:element name="h2">
863 <xs:complexType mixed="true">
864 <xs:complexContent>
865 <xs:extension base="Inline">
866 <xs:attributeGroup ref="attrs"/>
867 </xs:extension>
868 </xs:complexContent>
869 </xs:complexType>
870 </xs:element>
871
872 <xs:element name="h3">
873 <xs:complexType mixed="true">
874 <xs:complexContent>
875 <xs:extension base="Inline">
876 <xs:attributeGroup ref="attrs"/>
877 </xs:extension>
878 </xs:complexContent>
879 </xs:complexType>
880 </xs:element>
881
882 <xs:element name="h4">
883 <xs:complexType mixed="true">
884 <xs:complexContent>
885 <xs:extension base="Inline">
886 <xs:attributeGroup ref="attrs"/>
887 </xs:extension>
888 </xs:complexContent>
889 </xs:complexType>
890 </xs:element>
891
892 <xs:element name="h5">
893 <xs:complexType mixed="true">
894 <xs:complexContent>
895 <xs:extension base="Inline">
896 <xs:attributeGroup ref="attrs"/>
897 </xs:extension>
898 </xs:complexContent>
899 </xs:complexType>
900 </xs:element>
901
902 <xs:element name="h6">
903 <xs:complexType mixed="true">
904 <xs:complexContent>
905 <xs:extension base="Inline">
906 <xs:attributeGroup ref="attrs"/>
907 </xs:extension>
908 </xs:complexContent>
909 </xs:complexType>
910 </xs:element>
911
912 <xs:annotation>
913 <xs:documentation>
914 =================== Lists ============================================
915 </xs:documentation>
916 </xs:annotation>
917
918 <xs:element name="ul">
919 <xs:annotation>
920 <xs:documentation>
921 Unordered list
922 </xs:documentation>
923 </xs:annotation>
924 <xs:complexType>
925 <xs:sequence>
926 <xs:element maxOccurs="unbounded" ref="li"/>
927 </xs:sequence>
928 <xs:attributeGroup ref="attrs"/>
929 </xs:complexType>
930 </xs:element>
931
932 <xs:element name="ol">
933 <xs:annotation>
934 <xs:documentation>
935 Ordered (numbered) list
936 </xs:documentation>
937 </xs:annotation>
938 <xs:complexType>
939 <xs:sequence>
940 <xs:element maxOccurs="unbounded" ref="li"/>
941 </xs:sequence>
942 <xs:attributeGroup ref="attrs"/>
943 </xs:complexType>
944 </xs:element>
945
946 <xs:element name="li">
947 <xs:annotation>
948 <xs:documentation>
949 list item
950 </xs:documentation>
951 </xs:annotation>
952 <xs:complexType mixed="true">
953 <xs:complexContent>
954 <xs:extension base="Flow">
955 <xs:attributeGroup ref="attrs"/>
956 </xs:extension>
957 </xs:complexContent>
958 </xs:complexType>
959 </xs:element>
960
961 <xs:annotation>
962 <xs:documentation>
963 definition lists - dt for term, dd for its definition
964 </xs:documentation>
965 </xs:annotation>
966
967 <xs:element name="dl">
968 <xs:complexType>
969 <xs:choice maxOccurs="unbounded">
970 <xs:element ref="dt"/>
971 <xs:element ref="dd"/>
972 </xs:choice>
973 <xs:attributeGroup ref="attrs"/>
974 </xs:complexType>
975 </xs:element>
976
977 <xs:element name="dt">
978 <xs:complexType mixed="true">
979 <xs:complexContent>
980 <xs:extension base="Inline">
981 <xs:attributeGroup ref="attrs"/>
982 </xs:extension>
983 </xs:complexContent>
984 </xs:complexType>
985 </xs:element>
986
987 <xs:element name="dd">
988 <xs:complexType mixed="true">
989 <xs:complexContent>
990 <xs:extension base="Flow">
991 <xs:attributeGroup ref="attrs"/>
992 </xs:extension>
993 </xs:complexContent>
994 </xs:complexType>
995 </xs:element>
996
997 <xs:annotation>
998 <xs:documentation>
999 =================== Address ==========================================
1000 </xs:documentation>
1001 </xs:annotation>
1002
1003 <xs:element name="address">
1004 <xs:annotation>
1005 <xs:documentation>
1006 information on author
1007 </xs:documentation>
1008 </xs:annotation>
1009 <xs:complexType mixed="true">
1010 <xs:complexContent>
1011 <xs:extension base="Inline">
1012 <xs:attributeGroup ref="attrs"/>
1013 </xs:extension>
1014 </xs:complexContent>
1015 </xs:complexType>
1016 </xs:element>
1017
1018 <xs:annotation>
1019 <xs:documentation>
1020 =================== Horizontal Rule ==================================
1021 </xs:documentation>
1022 </xs:annotation>
1023
1024 <xs:element name="hr">
1025 <xs:complexType>
1026 <xs:attributeGroup ref="attrs"/>
1027 </xs:complexType>
1028 </xs:element>
1029
1030 <xs:annotation>
1031 <xs:documentation>
1032 =================== Preformatted Text ================================
1033 </xs:documentation>
1034 </xs:annotation>
1035
1036 <xs:element name="pre">
1037 <xs:annotation>
1038 <xs:documentation>
1039 content is "Inline" excluding "img|object|big|small|sub|sup"
1040 </xs:documentation>
1041 </xs:annotation>
1042 <xs:complexType mixed="true">
1043 <xs:complexContent>
1044 <xs:extension base="pre.content">
1045 <xs:attributeGroup ref="attrs"/>
1046 <xs:attribute ref="xml:space" fixed="preserve"/>
1047 </xs:extension>
1048 </xs:complexContent>
1049 </xs:complexType>
1050 </xs:element>
1051
1052 <xs:annotation>
1053 <xs:documentation>
1054 =================== Block-like Quotes ================================
1055 </xs:documentation>
1056 </xs:annotation>
1057
1058 <xs:element name="blockquote">
1059 <xs:complexType>
1060 <xs:complexContent>
1061 <xs:extension base="Block">
1062 <xs:attributeGroup ref="attrs"/>
1063 <xs:attribute name="cite" type="URI"/>
1064 </xs:extension>
1065 </xs:complexContent>
1066 </xs:complexType>
1067 </xs:element>
1068
1069 <xs:annotation>
1070 <xs:documentation>
1071 =================== Inserted/Deleted Text ============================
1072
1073 ins/del are allowed in block and inline content, but its
1074 inappropriate to include block content within an ins element
1075 occurring in inline content.
1076 </xs:documentation>
1077 </xs:annotation>
1078
1079 <xs:element name="ins">
1080 <xs:complexType mixed="true">
1081 <xs:complexContent>
1082 <xs:extension base="Flow">
1083 <xs:attributeGroup ref="attrs"/>
1084 <xs:attribute name="cite" type="URI"/>
1085 <xs:attribute name="datetime" type="Datetime"/>
1086 </xs:extension>
1087 </xs:complexContent>
1088 </xs:complexType>
1089 </xs:element>
1090
1091 <xs:element name="del">
1092 <xs:complexType mixed="true">
1093 <xs:complexContent>
1094 <xs:extension base="Flow">
1095 <xs:attributeGroup ref="attrs"/>
1096 <xs:attribute name="cite" type="URI"/>
1097 <xs:attribute name="datetime" type="Datetime"/>
1098 </xs:extension>
1099 </xs:complexContent>
1100 </xs:complexType>
1101 </xs:element>
1102
1103 <xs:annotation>
1104 <xs:documentation>
1105 ================== The Anchor Element ================================
1106 </xs:documentation>
1107 </xs:annotation>
1108
1109 <xs:element name="a">
1110 <xs:annotation>
1111 <xs:documentation>
1112 content is "Inline" except that anchors shouldn't be nested
1113 </xs:documentation>
1114 </xs:annotation>
1115 <xs:complexType mixed="true">
1116 <xs:complexContent>
1117 <xs:extension base="a.content">
1118 <xs:attributeGroup ref="attrs"/>
1119 <xs:attributeGroup ref="focus"/>
1120 <xs:attribute name="charset" type="Charset"/>
1121 <xs:attribute name="type" type="ContentType"/>
1122 <xs:attribute name="name" type="xs:NMTOKEN"/>
1123 <xs:attribute name="href" type="URI"/>
1124 <xs:attribute name="hreflang" type="LanguageCode"/>
1125 <xs:attribute name="rel" type="LinkTypes"/>
1126 <xs:attribute name="rev" type="LinkTypes"/>
1127 <xs:attribute name="shape" default="rect" type="Shape"/>
1128 <xs:attribute name="coords" type="Coords"/>
1129 </xs:extension>
1130 </xs:complexContent>
1131 </xs:complexType>
1132 </xs:element>
1133
1134 <xs:annotation>
1135 <xs:documentation>
1136 ===================== Inline Elements ================================
1137 </xs:documentation>
1138 </xs:annotation>
1139
1140 <xs:element name="span">
1141 <xs:annotation>
1142 <xs:documentation>
1143 generic language/style container
1144 </xs:documentation>
1145 </xs:annotation>
1146 <xs:complexType mixed="true">
1147 <xs:complexContent>
1148 <xs:extension base="Inline">
1149 <xs:attributeGroup ref="attrs"/>
1150 </xs:extension>
1151 </xs:complexContent>
1152 </xs:complexType>
1153 </xs:element>
1154
1155 <xs:element name="bdo">
1156 <xs:annotation>
1157 <xs:documentation>
1158 I18N BiDi over-ride
1159 </xs:documentation>
1160 </xs:annotation>
1161 <xs:complexType mixed="true">
1162 <xs:complexContent>
1163 <xs:extension base="Inline">
1164 <xs:attributeGroup ref="coreattrs"/>
1165 <xs:attributeGroup ref="events"/>
1166 <xs:attribute name="lang" type="LanguageCode"/>
1167 <xs:attribute ref="xml:lang"/>
1168 <xs:attribute name="dir" use="required">
1169 <xs:simpleType>
1170 <xs:restriction base="xs:token">
1171 <xs:enumeration value="ltr"/>
1172 <xs:enumeration value="rtl"/>
1173 </xs:restriction>
1174 </xs:simpleType>
1175 </xs:attribute>
1176 </xs:extension>
1177 </xs:complexContent>
1178 </xs:complexType>
1179 </xs:element>
1180
1181 <xs:element name="br">
1182 <xs:annotation>
1183 <xs:documentation>
1184 forced line break
1185 </xs:documentation>
1186 </xs:annotation>
1187 <xs:complexType>
1188 <xs:attributeGroup ref="coreattrs"/>
1189 </xs:complexType>
1190 </xs:element>
1191
1192 <xs:element name="em">
1193 <xs:annotation>
1194 <xs:documentation>
1195 emphasis
1196 </xs:documentation>
1197 </xs:annotation>
1198 <xs:complexType mixed="true">
1199 <xs:complexContent>
1200 <xs:extension base="Inline">
1201 <xs:attributeGroup ref="attrs"/>
1202 </xs:extension>
1203 </xs:complexContent>
1204 </xs:complexType>
1205 </xs:element>
1206
1207 <xs:element name="strong">
1208 <xs:annotation>
1209 <xs:documentation>
1210 strong emphasis
1211 </xs:documentation>
1212 </xs:annotation>
1213 <xs:complexType mixed="true">
1214 <xs:complexContent>
1215 <xs:extension base="Inline">
1216 <xs:attributeGroup ref="attrs"/>
1217 </xs:extension>
1218 </xs:complexContent>
1219 </xs:complexType>
1220 </xs:element>
1221
1222 <xs:element name="dfn">
1223 <xs:annotation>
1224 <xs:documentation>
1225 definitional
1226 </xs:documentation>
1227 </xs:annotation>
1228 <xs:complexType mixed="true">
1229 <xs:complexContent>
1230 <xs:extension base="Inline">
1231 <xs:attributeGroup ref="attrs"/>
1232 </xs:extension>
1233 </xs:complexContent>
1234 </xs:complexType>
1235 </xs:element>
1236
1237 <xs:element name="code">
1238 <xs:annotation>
1239 <xs:documentation>
1240 program code
1241 </xs:documentation>
1242 </xs:annotation>
1243 <xs:complexType mixed="true">
1244 <xs:complexContent>
1245 <xs:extension base="Inline">
1246 <xs:attributeGroup ref="attrs"/>
1247 </xs:extension>
1248 </xs:complexContent>
1249 </xs:complexType>
1250 </xs:element>
1251
1252 <xs:element name="samp">
1253 <xs:annotation>
1254 <xs:documentation>
1255 sample
1256 </xs:documentation>
1257 </xs:annotation>
1258 <xs:complexType mixed="true">
1259 <xs:complexContent>
1260 <xs:extension base="Inline">
1261 <xs:attributeGroup ref="attrs"/>
1262 </xs:extension>
1263 </xs:complexContent>
1264 </xs:complexType>
1265 </xs:element>
1266
1267 <xs:element name="kbd">
1268 <xs:annotation>
1269 <xs:documentation>
1270 something user would type
1271 </xs:documentation>
1272 </xs:annotation>
1273 <xs:complexType mixed="true">
1274 <xs:complexContent>
1275 <xs:extension base="Inline">
1276 <xs:attributeGroup ref="attrs"/>
1277 </xs:extension>
1278 </xs:complexContent>
1279 </xs:complexType>
1280 </xs:element>
1281
1282 <xs:element name="var">
1283 <xs:annotation>
1284 <xs:documentation>
1285 variable
1286 </xs:documentation>
1287 </xs:annotation>
1288 <xs:complexType mixed="true">
1289 <xs:complexContent>
1290 <xs:extension base="Inline">
1291 <xs:attributeGroup ref="attrs"/>
1292 </xs:extension>
1293 </xs:complexContent>
1294 </xs:complexType>
1295 </xs:element>
1296
1297 <xs:element name="cite">
1298 <xs:annotation>
1299 <xs:documentation>
1300 citation
1301 </xs:documentation>
1302 </xs:annotation>
1303 <xs:complexType mixed="true">
1304 <xs:complexContent>
1305 <xs:extension base="Inline">
1306 <xs:attributeGroup ref="attrs"/>
1307 </xs:extension>
1308 </xs:complexContent>
1309 </xs:complexType>
1310 </xs:element>
1311
1312 <xs:element name="abbr">
1313 <xs:annotation>
1314 <xs:documentation>
1315 abbreviation
1316 </xs:documentation>
1317 </xs:annotation>
1318 <xs:complexType mixed="true">
1319 <xs:complexContent>
1320 <xs:extension base="Inline">
1321 <xs:attributeGroup ref="attrs"/>
1322 </xs:extension>
1323 </xs:complexContent>
1324 </xs:complexType>
1325 </xs:element>
1326
1327 <xs:element name="acronym">
1328 <xs:annotation>
1329 <xs:documentation>
1330 acronym
1331 </xs:documentation>
1332 </xs:annotation>
1333 <xs:complexType mixed="true">
1334 <xs:complexContent>
1335 <xs:extension base="Inline">
1336 <xs:attributeGroup ref="attrs"/>
1337 </xs:extension>
1338 </xs:complexContent>
1339 </xs:complexType>
1340 </xs:element>
1341
1342 <xs:element name="q">
1343 <xs:annotation>
1344 <xs:documentation>
1345 inlined quote
1346 </xs:documentation>
1347 </xs:annotation>
1348 <xs:complexType mixed="true">
1349 <xs:complexContent>
1350 <xs:extension base="Inline">
1351 <xs:attributeGroup ref="attrs"/>
1352 <xs:attribute name="cite" type="URI"/>
1353 </xs:extension>
1354 </xs:complexContent>
1355 </xs:complexType>
1356 </xs:element>
1357
1358 <xs:element name="sub">
1359 <xs:annotation>
1360 <xs:documentation>
1361 subscript
1362 </xs:documentation>
1363 </xs:annotation>
1364 <xs:complexType mixed="true">
1365 <xs:complexContent>
1366 <xs:extension base="Inline">
1367 <xs:attributeGroup ref="attrs"/>
1368 </xs:extension>
1369 </xs:complexContent>
1370 </xs:complexType>
1371 </xs:element>
1372
1373 <xs:element name="sup">
1374 <xs:annotation>
1375 <xs:documentation>
1376 superscript
1377 </xs:documentation>
1378 </xs:annotation>
1379 <xs:complexType mixed="true">
1380 <xs:complexContent>
1381 <xs:extension base="Inline">
1382 <xs:attributeGroup ref="attrs"/>
1383 </xs:extension>
1384 </xs:complexContent>
1385 </xs:complexType>
1386 </xs:element>
1387
1388 <xs:element name="tt">
1389 <xs:annotation>
1390 <xs:documentation>
1391 fixed pitch font
1392 </xs:documentation>
1393 </xs:annotation>
1394 <xs:complexType mixed="true">
1395 <xs:complexContent>
1396 <xs:extension base="Inline">
1397 <xs:attributeGroup ref="attrs"/>
1398 </xs:extension>
1399 </xs:complexContent>
1400 </xs:complexType>
1401 </xs:element>
1402
1403 <xs:element name="i">
1404 <xs:annotation>
1405 <xs:documentation>
1406 italic font
1407 </xs:documentation>
1408 </xs:annotation>
1409 <xs:complexType mixed="true">
1410 <xs:complexContent>
1411 <xs:extension base="Inline">
1412 <xs:attributeGroup ref="attrs"/>
1413 </xs:extension>
1414 </xs:complexContent>
1415 </xs:complexType>
1416 </xs:element>
1417
1418 <xs:element name="b">
1419 <xs:annotation>
1420 <xs:documentation>
1421 bold font
1422 </xs:documentation>
1423 </xs:annotation>
1424 <xs:complexType mixed="true">
1425 <xs:complexContent>
1426 <xs:extension base="Inline">
1427 <xs:attributeGroup ref="attrs"/>
1428 </xs:extension>
1429 </xs:complexContent>
1430 </xs:complexType>
1431 </xs:element>
1432
1433 <xs:element name="big">
1434 <xs:annotation>
1435 <xs:documentation>
1436 bigger font
1437 </xs:documentation>
1438 </xs:annotation>
1439 <xs:complexType mixed="true">
1440 <xs:complexContent>
1441 <xs:extension base="Inline">
1442 <xs:attributeGroup ref="attrs"/>
1443 </xs:extension>
1444 </xs:complexContent>
1445 </xs:complexType>
1446 </xs:element>
1447
1448 <xs:element name="small">
1449 <xs:annotation>
1450 <xs:documentation>
1451 smaller font
1452 </xs:documentation>
1453 </xs:annotation>
1454 <xs:complexType mixed="true">
1455 <xs:complexContent>
1456 <xs:extension base="Inline">
1457 <xs:attributeGroup ref="attrs"/>
1458 </xs:extension>
1459 </xs:complexContent>
1460 </xs:complexType>
1461 </xs:element>
1462
1463 <xs:annotation>
1464 <xs:documentation>
1465 ==================== Object ======================================
1466
1467 object is used to embed objects as part of HTML pages.
1468 param elements should precede other content. Parameters
1469 can also be expressed as attribute/value pairs on the
1470 object element itself when brevity is desired.
1471 </xs:documentation>
1472 </xs:annotation>
1473
1474 <xs:element name="object">
1475 <xs:complexType mixed="true">
1476 <xs:choice minOccurs="0" maxOccurs="unbounded">
1477 <xs:element ref="param"/>
1478 <xs:group ref="block"/>
1479 <xs:element ref="form"/>
1480 <xs:group ref="inline"/>
1481 <xs:group ref="misc"/>
1482 </xs:choice>
1483 <xs:attributeGroup ref="attrs"/>
1484 <xs:attribute name="declare">
1485 <xs:simpleType>
1486 <xs:restriction base="xs:token">
1487 <xs:enumeration value="declare"/>
1488 </xs:restriction>
1489 </xs:simpleType>
1490 </xs:attribute>
1491 <xs:attribute name="classid" type="URI"/>
1492 <xs:attribute name="codebase" type="URI"/>
1493 <xs:attribute name="data" type="URI"/>
1494 <xs:attribute name="type" type="ContentType"/>
1495 <xs:attribute name="codetype" type="ContentType"/>
1496 <xs:attribute name="archive" type="UriList"/>
1497 <xs:attribute name="standby" type="Text"/>
1498 <xs:attribute name="height" type="Length"/>
1499 <xs:attribute name="width" type="Length"/>
1500 <xs:attribute name="usemap" type="URI"/>
1501 <xs:attribute name="name" type="xs:NMTOKEN"/>
1502 <xs:attribute name="tabindex" type="tabindexNumber"/>
1503 </xs:complexType>
1504 </xs:element>
1505
1506 <xs:element name="param">
1507 <xs:annotation>
1508 <xs:documentation>
1509 param is used to supply a named property value.
1510 In XML it would seem natural to follow RDF and support an
1511 abbreviated syntax where the param elements are replaced
1512 by attribute value pairs on the object start tag.
1513 </xs:documentation>
1514 </xs:annotation>
1515 <xs:complexType>
1516 <xs:attribute name="id" type="xs:ID"/>
1517 <xs:attribute name="name"/>
1518 <xs:attribute name="value"/>
1519 <xs:attribute name="valuetype" default="data">
1520 <xs:simpleType>
1521 <xs:restriction base="xs:token">
1522 <xs:enumeration value="data"/>
1523 <xs:enumeration value="ref"/>
1524 <xs:enumeration value="object"/>
1525 </xs:restriction>
1526 </xs:simpleType>
1527 </xs:attribute>
1528 <xs:attribute name="type" type="ContentType"/>
1529 </xs:complexType>
1530 </xs:element>
1531
1532 <xs:annotation>
1533 <xs:documentation>
1534 =================== Images ===========================================
1535
1536 To avoid accessibility problems for people who aren't
1537 able to see the image, you should provide a text
1538 description using the alt and longdesc attributes.
1539 In addition, avoid the use of server-side image maps.
1540 Note that in this DTD there is no name attribute. That
1541 is only available in the transitional and frameset DTD.
1542 </xs:documentation>
1543 </xs:annotation>
1544
1545 <xs:element name="img">
1546 <xs:complexType>
1547 <xs:attributeGroup ref="attrs"/>
1548 <xs:attribute name="src" use="required" type="URI"/>
1549 <xs:attribute name="alt" use="required" type="Text"/>
1550 <xs:attribute name="longdesc" type="URI"/>
1551 <xs:attribute name="height" type="Length"/>
1552 <xs:attribute name="width" type="Length"/>
1553 <xs:attribute name="usemap" type="URI">
1554 <xs:annotation>
1555 <xs:documentation>
1556 usemap points to a map element which may be in this document
1557 or an external document, although the latter is not widely supported
1558 </xs:documentation>
1559 </xs:annotation>
1560 </xs:attribute>
1561 <xs:attribute name="ismap">
1562 <xs:simpleType>
1563 <xs:restriction base="xs:token">
1564 <xs:enumeration value="ismap"/>
1565 </xs:restriction>
1566 </xs:simpleType>
1567 </xs:attribute>
1568 </xs:complexType>
1569 </xs:element>
1570
1571 <xs:annotation>
1572 <xs:documentation>
1573 ================== Client-side image maps ============================
1574
1575 These can be placed in the same document or grouped in a
1576 separate document although this isn't yet widely supported
1577 </xs:documentation>
1578 </xs:annotation>
1579
1580 <xs:element name="map">
1581 <xs:complexType>
1582 <xs:choice>
1583 <xs:choice maxOccurs="unbounded">
1584 <xs:group ref="block"/>
1585 <xs:element ref="form"/>
1586 <xs:group ref="misc"/>
1587 </xs:choice>
1588 <xs:element maxOccurs="unbounded" ref="area"/>
1589 </xs:choice>
1590 <xs:attributeGroup ref="i18n"/>
1591 <xs:attributeGroup ref="events"/>
1592 <xs:attribute name="id" use="required" type="xs:ID"/>
1593 <xs:attribute name="class"/>
1594 <xs:attribute name="style" type="StyleSheet"/>
1595 <xs:attribute name="title" type="Text"/>
1596 <xs:attribute name="name" type="xs:NMTOKEN"/>
1597 </xs:complexType>
1598 </xs:element>
1599
1600 <xs:element name="area">
1601 <xs:complexType>
1602 <xs:attributeGroup ref="attrs"/>
1603 <xs:attributeGroup ref="focus"/>
1604 <xs:attribute name="shape" default="rect" type="Shape"/>
1605 <xs:attribute name="coords" type="Coords"/>
1606 <xs:attribute name="href" type="URI"/>
1607 <xs:attribute name="nohref">
1608 <xs:simpleType>
1609 <xs:restriction base="xs:token">
1610 <xs:enumeration value="nohref"/>
1611 </xs:restriction>
1612 </xs:simpleType>
1613 </xs:attribute>
1614 <xs:attribute name="alt" use="required" type="Text"/>
1615 </xs:complexType>
1616 </xs:element>
1617
1618 <xs:annotation>
1619 <xs:documentation>
1620 ================ Forms ===============================================
1621 </xs:documentation>
1622 </xs:annotation>
1623
1624 <xs:element name="form">
1625 <xs:complexType>
1626 <xs:complexContent>
1627 <xs:extension base="form.content">
1628 <xs:attributeGroup ref="attrs"/>
1629 <xs:attribute name="action" use="required" type="URI"/>
1630 <xs:attribute name="method" default="get">
1631 <xs:simpleType>
1632 <xs:restriction base="xs:token">
1633 <xs:enumeration value="get"/>
1634 <xs:enumeration value="post"/>
1635 </xs:restriction>
1636 </xs:simpleType>
1637 </xs:attribute>
1638 <xs:attribute name="enctype" type="ContentType"
1639 default="application/x-www-form-urlencoded"/>
1640 <xs:attribute name="onsubmit" type="Script"/>
1641 <xs:attribute name="onreset" type="Script"/>
1642 <xs:attribute name="accept" type="ContentTypes"/>
1643 <xs:attribute name="accept-charset" type="Charsets"/>
1644 </xs:extension>
1645 </xs:complexContent>
1646 </xs:complexType>
1647 </xs:element>
1648
1649 <xs:element name="label">
1650 <xs:annotation>
1651 <xs:documentation>
1652 Each label must not contain more than ONE field
1653 Label elements shouldn't be nested.
1654 </xs:documentation>
1655 </xs:annotation>
1656 <xs:complexType mixed="true">
1657 <xs:complexContent>
1658 <xs:extension base="Inline">
1659 <xs:attributeGroup ref="attrs"/>
1660 <xs:attribute name="for" type="xs:IDREF"/>
1661 <xs:attribute name="accesskey" type="Character"/>
1662 <xs:attribute name="onfocus" type="Script"/>
1663 <xs:attribute name="onblur" type="Script"/>
1664 </xs:extension>
1665 </xs:complexContent>
1666 </xs:complexType>
1667 </xs:element>
1668
1669 <xs:simpleType name="InputType">
1670 <xs:restriction base="xs:token">
1671 <xs:enumeration value="text"/>
1672 <xs:enumeration value="password"/>
1673 <xs:enumeration value="checkbox"/>
1674 <xs:enumeration value="radio"/>
1675 <xs:enumeration value="submit"/>
1676 <xs:enumeration value="reset"/>
1677 <xs:enumeration value="file"/>
1678 <xs:enumeration value="hidden"/>
1679 <xs:enumeration value="image"/>
1680 <xs:enumeration value="button"/>
1681 </xs:restriction>
1682 </xs:simpleType>
1683
1684 <xs:element name="input">
1685 <xs:annotation>
1686 <xs:documentation>
1687 form control
1688 </xs:documentation>
1689 </xs:annotation>
1690 <xs:complexType>
1691 <xs:attributeGroup ref="attrs"/>
1692 <xs:attributeGroup ref="focus"/>
1693 <xs:attribute name="type" default="text" type="InputType"/>
1694 <xs:attribute name="name">
1695 <xs:annotation>
1696 <xs:documentation>
1697 the name attribute is required for all but submit &amp; reset
1698 </xs:documentation>
1699 </xs:annotation>
1700 </xs:attribute>
1701 <xs:attribute name="value"/>
1702 <xs:attribute name="checked">
1703 <xs:simpleType>
1704 <xs:restriction base="xs:token">
1705 <xs:enumeration value="checked"/>
1706 </xs:restriction>
1707 </xs:simpleType>
1708 </xs:attribute>
1709 <xs:attribute name="disabled">
1710 <xs:simpleType>
1711 <xs:restriction base="xs:token">
1712 <xs:enumeration value="disabled"/>
1713 </xs:restriction>
1714 </xs:simpleType>
1715 </xs:attribute>
1716 <xs:attribute name="readonly">
1717 <xs:simpleType>
1718 <xs:restriction base="xs:token">
1719 <xs:enumeration value="readonly"/>
1720 </xs:restriction>
1721 </xs:simpleType>
1722 </xs:attribute>
1723 <xs:attribute name="size"/>
1724 <xs:attribute name="maxlength" type="Number"/>
1725 <xs:attribute name="src" type="URI"/>
1726 <xs:attribute name="alt"/>
1727 <xs:attribute name="usemap" type="URI"/>
1728 <xs:attribute name="onselect" type="Script"/>
1729 <xs:attribute name="onchange" type="Script"/>
1730 <xs:attribute name="accept" type="ContentTypes"/>
1731 </xs:complexType>
1732 </xs:element>
1733
1734 <xs:element name="select">
1735 <xs:annotation>
1736 <xs:documentation>
1737 option selector
1738 </xs:documentation>
1739 </xs:annotation>
1740 <xs:complexType>
1741 <xs:choice maxOccurs="unbounded">
1742 <xs:element ref="optgroup"/>
1743 <xs:element ref="option"/>
1744 </xs:choice>
1745 <xs:attributeGroup ref="attrs"/>
1746 <xs:attribute name="name"/>
1747 <xs:attribute name="size" type="Number"/>
1748 <xs:attribute name="multiple">
1749 <xs:simpleType>
1750 <xs:restriction base="xs:token">
1751 <xs:enumeration value="multiple"/>
1752 </xs:restriction>
1753 </xs:simpleType>
1754 </xs:attribute>
1755 <xs:attribute name="disabled">
1756 <xs:simpleType>
1757 <xs:restriction base="xs:token">
1758 <xs:enumeration value="disabled"/>
1759 </xs:restriction>
1760 </xs:simpleType>
1761 </xs:attribute>
1762 <xs:attribute name="tabindex" type="tabindexNumber"/>
1763 <xs:attribute name="onfocus" type="Script"/>
1764 <xs:attribute name="onblur" type="Script"/>
1765 <xs:attribute name="onchange" type="Script"/>
1766 </xs:complexType>
1767 </xs:element>
1768
1769 <xs:element name="optgroup">
1770 <xs:annotation>
1771 <xs:documentation>
1772 option group
1773 </xs:documentation>
1774 </xs:annotation>
1775 <xs:complexType>
1776 <xs:sequence>
1777 <xs:element maxOccurs="unbounded" ref="option"/>
1778 </xs:sequence>
1779 <xs:attributeGroup ref="attrs"/>
1780 <xs:attribute name="disabled">
1781 <xs:simpleType>
1782 <xs:restriction base="xs:token">
1783 <xs:enumeration value="disabled"/>
1784 </xs:restriction>
1785 </xs:simpleType>
1786 </xs:attribute>
1787 <xs:attribute name="label" use="required" type="Text"/>
1788 </xs:complexType>
1789 </xs:element>
1790
1791 <xs:element name="option">
1792 <xs:annotation>
1793 <xs:documentation>
1794 selectable choice
1795 </xs:documentation>
1796 </xs:annotation>
1797 <xs:complexType mixed="true">
1798 <xs:attributeGroup ref="attrs"/>
1799 <xs:attribute name="selected">
1800 <xs:simpleType>
1801 <xs:restriction base="xs:token">
1802 <xs:enumeration value="selected"/>
1803 </xs:restriction>
1804 </xs:simpleType>
1805 </xs:attribute>
1806 <xs:attribute name="disabled">
1807 <xs:simpleType>
1808 <xs:restriction base="xs:token">
1809 <xs:enumeration value="disabled"/>
1810 </xs:restriction>
1811 </xs:simpleType>
1812 </xs:attribute>
1813 <xs:attribute name="label" type="Text"/>
1814 <xs:attribute name="value"/>
1815 </xs:complexType>
1816 </xs:element>
1817
1818 <xs:element name="textarea">
1819 <xs:annotation>
1820 <xs:documentation>
1821 multi-line text field
1822 </xs:documentation>
1823 </xs:annotation>
1824 <xs:complexType mixed="true">
1825 <xs:attributeGroup ref="attrs"/>
1826 <xs:attributeGroup ref="focus"/>
1827 <xs:attribute name="name"/>
1828 <xs:attribute name="rows" use="required" type="Number"/>
1829 <xs:attribute name="cols" use="required" type="Number"/>
1830 <xs:attribute name="disabled">
1831 <xs:simpleType>
1832 <xs:restriction base="xs:token">
1833 <xs:enumeration value="disabled"/>
1834 </xs:restriction>
1835 </xs:simpleType>
1836 </xs:attribute>
1837 <xs:attribute name="readonly">
1838 <xs:simpleType>
1839 <xs:restriction base="xs:token">
1840 <xs:enumeration value="readonly"/>
1841 </xs:restriction>
1842 </xs:simpleType>
1843 </xs:attribute>
1844 <xs:attribute name="onselect" type="Script"/>
1845 <xs:attribute name="onchange" type="Script"/>
1846 </xs:complexType>
1847 </xs:element>
1848
1849 <xs:element name="fieldset">
1850 <xs:annotation>
1851 <xs:documentation>
1852 The fieldset element is used to group form fields.
1853 Only one legend element should occur in the content
1854 and if present should only be preceded by whitespace.
1855
1856 NOTE: this content model is different from the XHTML 1.0 DTD,
1857 closer to the intended content model in HTML4 DTD
1858 </xs:documentation>
1859 </xs:annotation>
1860 <xs:complexType mixed="true">
1861 <xs:sequence>
1862 <xs:element ref="legend"/>
1863 <xs:choice minOccurs="0" maxOccurs="unbounded">
1864 <xs:group ref="block"/>
1865 <xs:element ref="form"/>
1866 <xs:group ref="inline"/>
1867 <xs:group ref="misc"/>
1868 </xs:choice>
1869 </xs:sequence>
1870 <xs:attributeGroup ref="attrs"/>
1871 </xs:complexType>
1872 </xs:element>
1873
1874 <xs:element name="legend">
1875 <xs:annotation>
1876 <xs:documentation>
1877 fieldset label
1878 </xs:documentation>
1879 </xs:annotation>
1880 <xs:complexType mixed="true">
1881 <xs:complexContent>
1882 <xs:extension base="Inline">
1883 <xs:attributeGroup ref="attrs"/>
1884 <xs:attribute name="accesskey" type="Character"/>
1885 </xs:extension>
1886 </xs:complexContent>
1887 </xs:complexType>
1888 </xs:element>
1889
1890 <xs:element name="button">
1891 <xs:annotation>
1892 <xs:documentation>
1893 Content is "Flow" excluding a, form and form controls
1894 </xs:documentation>
1895 </xs:annotation>
1896 <xs:complexType mixed="true">
1897 <xs:complexContent>
1898 <xs:extension base="button.content">
1899 <xs:attributeGroup ref="attrs"/>
1900 <xs:attributeGroup ref="focus"/>
1901 <xs:attribute name="name"/>
1902 <xs:attribute name="value"/>
1903 <xs:attribute name="type" default="submit">
1904 <xs:simpleType>
1905 <xs:restriction base="xs:token">
1906 <xs:enumeration value="button"/>
1907 <xs:enumeration value="submit"/>
1908 <xs:enumeration value="reset"/>
1909 </xs:restriction>
1910 </xs:simpleType>
1911 </xs:attribute>
1912 <xs:attribute name="disabled">
1913 <xs:simpleType>
1914 <xs:restriction base="xs:token">
1915 <xs:enumeration value="disabled"/>
1916 </xs:restriction>
1917 </xs:simpleType>
1918 </xs:attribute>
1919 </xs:extension>
1920 </xs:complexContent>
1921 </xs:complexType>
1922 </xs:element>
1923
1924 <xs:annotation>
1925 <xs:documentation>
1926 ======================= Tables =======================================
1927
1928 Derived from IETF HTML table standard, see [RFC1942]
1929 </xs:documentation>
1930 </xs:annotation>
1931
1932 <xs:simpleType name="TFrame">
1933 <xs:annotation>
1934 <xs:documentation>
1935 The border attribute sets the thickness of the frame around the
1936 table. The default units are screen pixels.
1937
1938 The frame attribute specifies which parts of the frame around
1939 the table should be rendered. The values are not the same as
1940 CALS to avoid a name clash with the valign attribute.
1941 </xs:documentation>
1942 </xs:annotation>
1943 <xs:restriction base="xs:token">
1944 <xs:enumeration value="void"/>
1945 <xs:enumeration value="above"/>
1946 <xs:enumeration value="below"/>
1947 <xs:enumeration value="hsides"/>
1948 <xs:enumeration value="lhs"/>
1949 <xs:enumeration value="rhs"/>
1950 <xs:enumeration value="vsides"/>
1951 <xs:enumeration value="box"/>
1952 <xs:enumeration value="border"/>
1953 </xs:restriction>
1954 </xs:simpleType>
1955
1956 <xs:simpleType name="TRules">
1957 <xs:annotation>
1958 <xs:documentation>
1959 The rules attribute defines which rules to draw between cells:
1960
1961 If rules is absent then assume:
1962 "none" if border is absent or border="0" otherwise "all"
1963 </xs:documentation>
1964 </xs:annotation>
1965 <xs:restriction base="xs:token">
1966 <xs:enumeration value="none"/>
1967 <xs:enumeration value="groups"/>
1968 <xs:enumeration value="rows"/>
1969 <xs:enumeration value="cols"/>
1970 <xs:enumeration value="all"/>
1971 </xs:restriction>
1972 </xs:simpleType>
1973
1974 <xs:attributeGroup name="cellhalign">
1975 <xs:annotation>
1976 <xs:documentation>
1977 horizontal alignment attributes for cell contents
1978
1979 char alignment char, e.g. char=':'
1980 charoff offset for alignment char
1981 </xs:documentation>
1982 </xs:annotation>
1983 <xs:attribute name="align">
1984 <xs:simpleType>
1985 <xs:restriction base="xs:token">
1986 <xs:enumeration value="left"/>
1987 <xs:enumeration value="center"/>
1988 <xs:enumeration value="right"/>
1989 <xs:enumeration value="justify"/>
1990 <xs:enumeration value="char"/>
1991 </xs:restriction>
1992 </xs:simpleType>
1993 </xs:attribute>
1994 <xs:attribute name="char" type="Character"/>
1995 <xs:attribute name="charoff" type="Length"/>
1996 </xs:attributeGroup>
1997
1998 <xs:attributeGroup name="cellvalign">
1999 <xs:annotation>
2000 <xs:documentation>
2001 vertical alignment attributes for cell contents
2002 </xs:documentation>
2003 </xs:annotation>
2004 <xs:attribute name="valign">
2005 <xs:simpleType>
2006 <xs:restriction base="xs:token">
2007 <xs:enumeration value="top"/>
2008 <xs:enumeration value="middle"/>
2009 <xs:enumeration value="bottom"/>
2010 <xs:enumeration value="baseline"/>
2011 </xs:restriction>
2012 </xs:simpleType>
2013 </xs:attribute>
2014 </xs:attributeGroup>
2015
2016 <xs:element name="table">
2017 <xs:complexType>
2018 <xs:sequence>
2019 <xs:element minOccurs="0" ref="caption"/>
2020 <xs:choice>
2021 <xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/>
2022 <xs:element minOccurs="0" maxOccurs="unbounded" ref="colgroup"/>
2023 </xs:choice>
2024 <xs:element minOccurs="0" ref="thead"/>
2025 <xs:element minOccurs="0" ref="tfoot"/>
2026 <xs:choice>
2027 <xs:element maxOccurs="unbounded" ref="tbody"/>
2028 <xs:element maxOccurs="unbounded" ref="tr"/>
2029 </xs:choice>
2030 </xs:sequence>
2031 <xs:attributeGroup ref="attrs"/>
2032 <xs:attribute name="summary" type="Text"/>
2033 <xs:attribute name="width" type="Length"/>
2034 <xs:attribute name="border" type="Pixels"/>
2035 <xs:attribute name="frame" type="TFrame"/>
2036 <xs:attribute name="rules" type="TRules"/>
2037 <xs:attribute name="cellspacing" type="Length"/>
2038 <xs:attribute name="cellpadding" type="Length"/>
2039 </xs:complexType>
2040 </xs:element>
2041
2042 <xs:element name="caption">
2043 <xs:complexType mixed="true">
2044 <xs:complexContent>
2045 <xs:extension base="Inline">
2046 <xs:attributeGroup ref="attrs"/>
2047 </xs:extension>
2048 </xs:complexContent>
2049 </xs:complexType>
2050 </xs:element>
2051
2052 <xs:annotation>
2053 <xs:documentation>
2054 Use thead to duplicate headers when breaking table
2055 across page boundaries, or for static headers when
2056 tbody sections are rendered in scrolling panel.
2057
2058 Use tfoot to duplicate footers when breaking table
2059 across page boundaries, or for static footers when
2060 tbody sections are rendered in scrolling panel.
2061
2062 Use multiple tbody sections when rules are needed
2063 between groups of table rows.
2064 </xs:documentation>
2065 </xs:annotation>
2066
2067 <xs:element name="thead">
2068 <xs:complexType>
2069 <xs:sequence>
2070 <xs:element maxOccurs="unbounded" ref="tr"/>
2071 </xs:sequence>
2072 <xs:attributeGroup ref="attrs"/>
2073 <xs:attributeGroup ref="cellhalign"/>
2074 <xs:attributeGroup ref="cellvalign"/>
2075 </xs:complexType>
2076 </xs:element>
2077
2078 <xs:element name="tfoot">
2079 <xs:complexType>
2080 <xs:sequence>
2081 <xs:element maxOccurs="unbounded" ref="tr"/>
2082 </xs:sequence>
2083 <xs:attributeGroup ref="attrs"/>
2084 <xs:attributeGroup ref="cellhalign"/>
2085 <xs:attributeGroup ref="cellvalign"/>
2086 </xs:complexType>
2087 </xs:element>
2088
2089 <xs:element name="tbody">
2090 <xs:complexType>
2091 <xs:sequence>
2092 <xs:element maxOccurs="unbounded" ref="tr"/>
2093 </xs:sequence>
2094 <xs:attributeGroup ref="attrs"/>
2095 <xs:attributeGroup ref="cellhalign"/>
2096 <xs:attributeGroup ref="cellvalign"/>
2097 </xs:complexType>
2098 </xs:element>
2099
2100 <xs:element name="colgroup">
2101 <xs:annotation>
2102 <xs:documentation>
2103 colgroup groups a set of col elements. It allows you to group
2104 several semantically related columns together.
2105 </xs:documentation>
2106 </xs:annotation>
2107 <xs:complexType>
2108 <xs:sequence>
2109 <xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/>
2110 </xs:sequence>
2111 <xs:attributeGroup ref="attrs"/>
2112 <xs:attribute name="span" default="1" type="Number"/>
2113 <xs:attribute name="width" type="MultiLength"/>
2114 <xs:attributeGroup ref="cellhalign"/>
2115 <xs:attributeGroup ref="cellvalign"/>
2116 </xs:complexType>
2117 </xs:element>
2118
2119 <xs:element name="col">
2120 <xs:annotation>
2121 <xs:documentation>
2122 col elements define the alignment properties for cells in
2123 one or more columns.
2124
2125 The width attribute specifies the width of the columns, e.g.
2126
2127 width=64 width in screen pixels
2128 width=0.5* relative width of 0.5
2129
2130 The span attribute causes the attributes of one
2131 col element to apply to more than one column.
2132 </xs:documentation>
2133 </xs:annotation>
2134 <xs:complexType>
2135 <xs:attributeGroup ref="attrs"/>
2136 <xs:attribute name="span" default="1" type="Number"/>
2137 <xs:attribute name="width" type="MultiLength"/>
2138 <xs:attributeGroup ref="cellhalign"/>
2139 <xs:attributeGroup ref="cellvalign"/>
2140 </xs:complexType>
2141 </xs:element>
2142
2143 <xs:element name="tr">
2144 <xs:complexType>
2145 <xs:choice maxOccurs="unbounded">
2146 <xs:element ref="th"/>
2147 <xs:element ref="td"/>
2148 </xs:choice>
2149 <xs:attributeGroup ref="attrs"/>
2150 <xs:attributeGroup ref="cellhalign"/>
2151 <xs:attributeGroup ref="cellvalign"/>
2152 </xs:complexType>
2153 </xs:element>
2154
2155 <xs:simpleType name="Scope">
2156 <xs:annotation>
2157 <xs:documentation>
2158 Scope is simpler than headers attribute for common tables
2159 </xs:documentation>
2160 </xs:annotation>
2161 <xs:restriction base="xs:token">
2162 <xs:enumeration value="row"/>
2163 <xs:enumeration value="col"/>
2164 <xs:enumeration value="rowgroup"/>
2165 <xs:enumeration value="colgroup"/>
2166 </xs:restriction>
2167 </xs:simpleType>
2168
2169 <xs:annotation>
2170 <xs:documentation>
2171 th is for headers, td for data and for cells acting as both
2172 </xs:documentation>
2173 </xs:annotation>
2174
2175 <xs:element name="th">
2176 <xs:complexType mixed="true">
2177 <xs:complexContent>
2178 <xs:extension base="Flow">
2179 <xs:attributeGroup ref="attrs"/>
2180 <xs:attribute name="abbr" type="Text"/>
2181 <xs:attribute name="axis"/>
2182 <xs:attribute name="headers" type="xs:IDREFS"/>
2183 <xs:attribute name="scope" type="Scope"/>
2184 <xs:attribute name="rowspan" default="1" type="Number"/>
2185 <xs:attribute name="colspan" default="1" type="Number"/>
2186 <xs:attributeGroup ref="cellhalign"/>
2187 <xs:attributeGroup ref="cellvalign"/>
2188 </xs:extension>
2189 </xs:complexContent>
2190 </xs:complexType>
2191 </xs:element>
2192
2193 <xs:element name="td">
2194 <xs:complexType mixed="true">
2195 <xs:complexContent>
2196 <xs:extension base="Flow">
2197 <xs:attributeGroup ref="attrs"/>
2198 <xs:attribute name="abbr" type="Text"/>
2199 <xs:attribute name="axis"/>
2200 <xs:attribute name="headers" type="xs:IDREFS"/>
2201 <xs:attribute name="scope" type="Scope"/>
2202 <xs:attribute name="rowspan" default="1" type="Number"/>
2203 <xs:attribute name="colspan" default="1" type="Number"/>
2204 <xs:attributeGroup ref="cellhalign"/>
2205 <xs:attributeGroup ref="cellvalign"/>
2206 </xs:extension>
2207 </xs:complexContent>
2208 </xs:complexType>
2209 </xs:element>
2210
2211</xs:schema>