markup_validity 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. data/CHANGELOG.rdoc +10 -0
  2. data/Manifest.txt +88 -0
  3. data/Rakefile +7 -11
  4. data/lib/markup_validity.rb +1 -1
  5. data/lib/markup_validity/MarkUp.html +1095 -0
  6. data/lib/markup_validity/SCHEMA.html +90 -0
  7. data/lib/markup_validity/assertions.rb +8 -1
  8. data/lib/markup_validity/examples.html +25 -0
  9. data/lib/markup_validity/rspec.rb +19 -0
  10. data/lib/markup_validity/templates.html +15 -0
  11. data/lib/markup_validity/validator.rb +27 -1
  12. data/lib/markup_validity/xframes-1.xsd +166 -0
  13. data/lib/markup_validity/xhtml-access-1.xsd +43 -0
  14. data/lib/markup_validity/xhtml-applet-1.xsd +66 -0
  15. data/lib/markup_validity/xhtml-attribs-1.xsd +67 -0
  16. data/lib/markup_validity/xhtml-base-1.xsd +31 -0
  17. data/lib/markup_validity/xhtml-basic-form-1.xsd +195 -0
  18. data/lib/markup_validity/xhtml-basic-table-1.xsd +169 -0
  19. data/lib/markup_validity/xhtml-basic10-model-1.xsd +385 -0
  20. data/lib/markup_validity/xhtml-basic10-module-redefines-1.xsd +61 -0
  21. data/lib/markup_validity/xhtml-basic10-modules-1.xsd +233 -0
  22. data/lib/markup_validity/xhtml-basic10.xsd +99 -0
  23. data/lib/markup_validity/xhtml-basic11-model-1.xsd +622 -0
  24. data/lib/markup_validity/xhtml-basic11-modules-1.xsd +508 -0
  25. data/lib/markup_validity/xhtml-basic11.xsd +105 -0
  26. data/lib/markup_validity/xhtml-bdo-1.xsd +72 -0
  27. data/lib/markup_validity/xhtml-blkphras-1.xsd +155 -0
  28. data/lib/markup_validity/xhtml-blkpres-1.xsd +32 -0
  29. data/lib/markup_validity/xhtml-blkstruct-1.xsd +44 -0
  30. data/lib/markup_validity/xhtml-charent-1.xsd +38 -0
  31. data/lib/markup_validity/xhtml-copyright-1.xsd +29 -0
  32. data/lib/markup_validity/xhtml-csismap-1.xsd +91 -0
  33. data/lib/markup_validity/xhtml-datatypes-1.xsd +177 -0
  34. data/lib/markup_validity/xhtml-edit-1.xsd +34 -0
  35. data/lib/markup_validity/xhtml-events-1.xsd +130 -0
  36. data/lib/markup_validity/xhtml-form-1.xsd +321 -0
  37. data/lib/markup_validity/xhtml-frames-1.xsd +113 -0
  38. data/lib/markup_validity/xhtml-framework-1.xsd +62 -0
  39. data/lib/markup_validity/xhtml-hypertext-1.xsd +47 -0
  40. data/lib/markup_validity/xhtml-iframe-1.xsd +68 -0
  41. data/lib/markup_validity/xhtml-image-1.xsd +40 -0
  42. data/lib/markup_validity/xhtml-inlphras-1.xsd +158 -0
  43. data/lib/markup_validity/xhtml-inlpres-1.xsd +34 -0
  44. data/lib/markup_validity/xhtml-inlstruct-1.xsd +45 -0
  45. data/lib/markup_validity/xhtml-inlstyle-1.xsd +22 -0
  46. data/lib/markup_validity/xhtml-inputmode-1.xsd +35 -0
  47. data/lib/markup_validity/xhtml-lat1.ent +196 -0
  48. data/lib/markup_validity/xhtml-legacy-1.xsd +97 -0
  49. data/lib/markup_validity/xhtml-link-1.xsd +45 -0
  50. data/lib/markup_validity/xhtml-list-1.xsd +94 -0
  51. data/lib/markup_validity/xhtml-meta-1.xsd +54 -0
  52. data/lib/markup_validity/xhtml-metaAttributes-1.xsd +39 -0
  53. data/lib/markup_validity/xhtml-misc-1.xsd +441 -0
  54. data/lib/markup_validity/xhtml-nameident-1.xsd +63 -0
  55. data/lib/markup_validity/xhtml-notations-1.xsd +69 -0
  56. data/lib/markup_validity/xhtml-object-1.xsd +71 -0
  57. data/lib/markup_validity/xhtml-param-1.xsd +46 -0
  58. data/lib/markup_validity/xhtml-pres-1.xsd +46 -0
  59. data/lib/markup_validity/xhtml-print-1.xsd +85 -0
  60. data/lib/markup_validity/xhtml-print-model-1.xsd +604 -0
  61. data/lib/markup_validity/xhtml-print-modules-1.xsd +422 -0
  62. data/lib/markup_validity/xhtml-rdfa-1.dtd +438 -0
  63. data/lib/markup_validity/xhtml-rdfa-1.xsd +116 -0
  64. data/lib/markup_validity/xhtml-rdfa-model-1.xsd +461 -0
  65. data/lib/markup_validity/xhtml-rdfa-modules-1.xsd +548 -0
  66. data/lib/markup_validity/xhtml-ruby-1.xsd +170 -0
  67. data/lib/markup_validity/xhtml-ruby-basic-1.xsd +84 -0
  68. data/lib/markup_validity/xhtml-script-1.xsd +65 -0
  69. data/lib/markup_validity/xhtml-special.ent +80 -0
  70. data/lib/markup_validity/xhtml-ssismap-1.xsd +38 -0
  71. data/lib/markup_validity/xhtml-struct-1.xsd +85 -0
  72. data/lib/markup_validity/xhtml-style-1.xsd +47 -0
  73. data/lib/markup_validity/xhtml-symbol.ent +237 -0
  74. data/lib/markup_validity/xhtml-table-1.xsd +267 -0
  75. data/lib/markup_validity/xhtml-target-1.xsd +49 -0
  76. data/lib/markup_validity/xhtml-text-1.xsd +62 -0
  77. data/lib/markup_validity/xhtml1-strict.dtd +978 -0
  78. data/lib/markup_validity/xhtml1-transitional.dtd +1201 -0
  79. data/lib/markup_validity/xhtml11-model-1.xsd +715 -0
  80. data/lib/markup_validity/xhtml11-module-redefines-1.xsd +335 -0
  81. data/lib/markup_validity/xhtml11-modules-1.xsd +605 -0
  82. data/lib/markup_validity/xhtml11.xsd +107 -0
  83. data/lib/markup_validity/xhtml2.xsd +21 -0
  84. data/lib/markup_validity/xml-events-1.xsd +73 -0
  85. data/lib/markup_validity/xml-events-2.xsd +73 -0
  86. data/lib/markup_validity/xml-events-attribs-1.xsd +73 -0
  87. data/lib/markup_validity/xml-events-attribs-2.xsd +75 -0
  88. data/lib/markup_validity/xml-events-copyright-1.xsd +34 -0
  89. data/lib/markup_validity/xml-events-copyright-2.xsd +34 -0
  90. data/lib/markup_validity/xml-handlers-1.xsd +136 -0
  91. data/lib/markup_validity/xml-handlers-2.xsd +98 -0
  92. data/lib/markup_validity/xml-script-1.xsd +38 -0
  93. data/spec/matcher_spec.rb +8 -0
  94. data/test/assets/invalid_entity.xhtml +109 -0
  95. data/test/assets/invalid_entity_transitional.xhtml +109 -0
  96. data/test/helper.rb +48 -0
  97. data/test/test_markup_validity.rb +19 -0
  98. metadata +90 -3
@@ -0,0 +1,67 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/">
3
+ <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" schemaLocation="xhtml-datatypes-1.xsd"/>
4
+
5
+ <xs:annotation>
6
+ <xs:documentation>
7
+ This is the XML Schema common attributes module for XHTML
8
+ $Id: xhtml-attribs-1.xsd,v 1.7 2008/07/05 04:11:00 ahby Exp $
9
+ </xs:documentation>
10
+ <xs:documentation source="xhtml-copyright-1.xsd"/>
11
+ <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_commonatts"/>
12
+ </xs:annotation>
13
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd">
14
+ <xs:annotation>
15
+ <xs:documentation>
16
+ This import brings in the XML namespace attributes
17
+ The module itself does not provide the schemaLocation
18
+ and expects the driver schema to provide the
19
+ actual SchemaLocation.
20
+ </xs:documentation>
21
+ </xs:annotation>
22
+ </xs:import>
23
+ <xs:attributeGroup name="xhtml.id">
24
+ <xs:attribute name="id" type="xs:ID"/>
25
+ </xs:attributeGroup>
26
+ <xs:attributeGroup name="xhtml.class">
27
+ <xs:attribute name="class" type="xs:NMTOKENS"/>
28
+ </xs:attributeGroup>
29
+ <xs:attributeGroup name="xhtml.title">
30
+ <xs:attribute name="title" type="xs:string"/>
31
+ </xs:attributeGroup>
32
+ <xs:attributeGroup name="xhtml.Core.attrib">
33
+ <xs:attribute ref="xml:space"/>
34
+ <xs:attributeGroup ref="xhtml.id"/>
35
+ <xs:attributeGroup ref="xhtml.class"/>
36
+ <xs:attributeGroup ref="xhtml.title"/>
37
+ <xs:attributeGroup ref="xhtml.Core.extra.attrib"/>
38
+ </xs:attributeGroup>
39
+ <xs:attributeGroup name="xhtml.I18n.attrib">
40
+ <xs:attribute ref="xml:lang"/>
41
+ <xs:attributeGroup ref="xhtml.I18n.extra.attrib"/>
42
+ </xs:attributeGroup>
43
+ <xs:attributeGroup name="xhtml.Common.attrib">
44
+ <xs:attributeGroup ref="xhtml.Core.attrib"/>
45
+ <xs:attributeGroup ref="xhtml.I18n.attrib"/>
46
+ <xs:attributeGroup ref="xhtml.Common.extra"/>
47
+ </xs:attributeGroup>
48
+ <!-- Global attributes -->
49
+ <xs:attribute name="id" type="xs:ID"/>
50
+ <xs:attribute name="class" type="xs:NMTOKENS"/>
51
+ <xs:attribute name="title" type="xs:string"/>
52
+ <xs:attributeGroup name="xhtml.Global.core.attrib">
53
+ <xs:attribute ref="id"/>
54
+ <xs:attribute ref="class"/>
55
+ <xs:attribute ref="title"/>
56
+ <xs:attributeGroup ref="xhtml.Global.core.extra.attrib"/>
57
+ </xs:attributeGroup>
58
+ <xs:attributeGroup name="xhtml.Global.i18n.attrib">
59
+ <xs:attribute ref="xml:lang"/>
60
+ <xs:attributeGroup ref="xhtml.Global.I18n.extra.attrib"/>
61
+ </xs:attributeGroup>
62
+ <xs:attributeGroup name="xhtml.Global.common.attrib">
63
+ <xs:attributeGroup ref="xhtml.Global.core.attrib"/>
64
+ <xs:attributeGroup ref="xhtml.Global.i18n.attrib"/>
65
+ <xs:attributeGroup ref="xhtml.Global.Common.extra"/>
66
+ </xs:attributeGroup>
67
+ </xs:schema>
@@ -0,0 +1,31 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/">
3
+ <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" schemaLocation="xhtml-datatypes-1.xsd"/>
4
+
5
+ <xs:annotation>
6
+ <xs:documentation>
7
+ Base element
8
+ This is the XML Schema Base Element module for XHTML
9
+
10
+ * base
11
+
12
+ This module declares the base element type and its attributes,
13
+ used to define a base URI against which relative URIs in the
14
+ document will be resolved.
15
+
16
+ $Id: xhtml-base-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $
17
+ </xs:documentation>
18
+ <xs:documentation source="xhtml-copyright-1.xsd"/>
19
+ <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_basemodule"/>
20
+ </xs:annotation>
21
+ <xs:attributeGroup name="xhtml.base.attlist">
22
+ <xs:attribute name="href" type="xh11d:URI" use="required"/>
23
+ </xs:attributeGroup>
24
+ <xs:group name="xhtml.base.content">
25
+ <xs:sequence/>
26
+ </xs:group>
27
+ <xs:complexType name="xhtml.base.type">
28
+ <xs:group ref="xhtml.base.content"/>
29
+ <xs:attributeGroup ref="xhtml.base.attlist"/>
30
+ </xs:complexType>
31
+ </xs:schema>
@@ -0,0 +1,195 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema
3
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
4
+ elementFormDefault="qualified"
5
+ xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
6
+ >
7
+ <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/"
8
+ schemaLocation="xhtml-datatypes-1.xsd" />
9
+ <xs:annotation>
10
+ <xs:documentation>
11
+ This is the XML Schema Basic Forms module for XHTML
12
+ $Id: xhtml-basic-form-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $
13
+ </xs:documentation>
14
+ <xs:documentation source="xhtml-copyright-1.xsd"/>
15
+ </xs:annotation>
16
+
17
+ <xs:annotation>
18
+ <xs:documentation>
19
+ Basic Forms
20
+
21
+ This forms module is based on the HTML 3.2 forms model, with
22
+ the WAI-requested addition of the label element. While this
23
+ module essentially mimics the content model and attributes of
24
+ HTML 3.2 forms, the element types declared herein also include
25
+ all HTML 4 common attributes.
26
+
27
+ Elements defined here:
28
+
29
+ * form, label, input, select, option, textarea
30
+ </xs:documentation>
31
+ <xs:documentation source="xhtml-copyright-1.xsd"/>
32
+ <xs:documentation
33
+ source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_sformsmodule"/>
34
+ </xs:annotation>
35
+
36
+ <xs:attributeGroup name="xhtml.form.attlist">
37
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
38
+ <xs:attribute name="action" type="xh11d:URI" use="required"/>
39
+ <xs:attribute name="method" use="optional" default="get">
40
+ <xs:simpleType>
41
+ <xs:restriction base="xs:NMTOKEN">
42
+ <xs:enumeration value="get"/>
43
+ <xs:enumeration value="post"/>
44
+ </xs:restriction>
45
+ </xs:simpleType>
46
+ </xs:attribute>
47
+ <xs:attribute name="enctype" type="xh11d:ContentType" default="application/x-www-form-urlencoded"/>
48
+ </xs:attributeGroup>
49
+
50
+ <xs:group name="xhtml.form.content">
51
+ <xs:sequence>
52
+ <xs:group ref="xhtml.BlkNoForm.mix" minOccurs="1" maxOccurs="unbounded"/>
53
+ </xs:sequence>
54
+ </xs:group>
55
+
56
+ <xs:complexType name="xhtml.form.type">
57
+ <xs:group ref="xhtml.form.content"/>
58
+ <xs:attributeGroup ref="xhtml.form.attlist"/>
59
+ </xs:complexType>
60
+
61
+ <xs:group name="xhtml.label.content">
62
+ <xs:sequence>
63
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
64
+ <xs:element type="xhtml.input.type" name="input"/>
65
+ <xs:element type="xhtml.select.type" name="select"/>
66
+ <xs:element type="xhtml.textarea.type" name="textarea"/>
67
+ <xs:group ref="xhtml.InlStruct.class"/>
68
+ <xs:group ref="xhtml.InlPhras.class"/>
69
+ <xs:group ref="xhtml.I18n.class"/>
70
+ <xs:group ref="xhtml.InlPres.class"/>
71
+ <xs:group ref="xhtml.InlSpecial.class"/>
72
+ <xs:group ref="xhtml.Misc.class"/>
73
+ </xs:choice>
74
+ </xs:sequence>
75
+ </xs:group>
76
+
77
+ <xs:attributeGroup name="xhtml.label.attlist">
78
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
79
+ <xs:attribute name="for" type="xs:IDREF"/>
80
+ <xs:attribute name="accesskey" type="xh11d:Character"/>
81
+ </xs:attributeGroup>
82
+
83
+ <xs:complexType name="xhtml.label.type" mixed="true">
84
+ <xs:group ref="xhtml.label.content"/>
85
+ <xs:attributeGroup ref="xhtml.label.attlist"/>
86
+ </xs:complexType>
87
+
88
+ <!--
89
+ Basic Forms removes button, 'image' and 'file' input types.
90
+ -->
91
+ <xs:simpleType name="xhtml.InputType.class">
92
+ <xs:restriction base="xs:NMTOKEN">
93
+ <xs:enumeration value="text"/>
94
+ <xs:enumeration value="password"/>
95
+ <xs:enumeration value="checkbox"/>
96
+ <xs:enumeration value="radio"/>
97
+ <xs:enumeration value="submit"/>
98
+ <xs:enumeration value="reset"/>
99
+ <xs:enumeration value="hidden"/>
100
+ </xs:restriction>
101
+ </xs:simpleType>
102
+
103
+ <xs:attributeGroup name="xhtml.input.attlist">
104
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
105
+ <xs:attribute name="type" type="xhtml.InputType.class" default="text"/>
106
+ <xs:attribute name="name" type="xh11d:CDATA"/>
107
+ <xs:attribute name="value" type="xh11d:CDATA"/>
108
+ <xs:attribute name="checked">
109
+ <xs:simpleType>
110
+ <xs:restriction base="xs:NMTOKEN">
111
+ <xs:enumeration value="checked"/>
112
+ </xs:restriction>
113
+ </xs:simpleType>
114
+ </xs:attribute>
115
+ <xs:attribute name="size" type="xh11d:Number"/>
116
+ <xs:attribute name="maxlength" type="xh11d:Number"/>
117
+ <xs:attribute name="src" type="xh11d:URI"/>
118
+ <xs:attribute name="tabindex" type="xh11d:Number"/>
119
+ <xs:attribute name="accesskey" type="xh11d:Character"/>
120
+ </xs:attributeGroup>
121
+
122
+ <xs:group name="xhtml.input.content">
123
+ <xs:sequence/>
124
+ </xs:group>
125
+
126
+ <xs:complexType name="xhtml.input.type">
127
+ <xs:group ref="xhtml.input.content"/>
128
+ <xs:attributeGroup ref="xhtml.input.attlist"/>
129
+ </xs:complexType>
130
+
131
+ <xs:attributeGroup name="xhtml.select.attlist">
132
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
133
+ <xs:attribute name="name" type="xh11d:CDATA"/>
134
+ <xs:attribute name="size" type="xh11d:Number"/>
135
+ <xs:attribute name="multiple">
136
+ <xs:simpleType>
137
+ <xs:restriction base="xs:NMTOKEN">
138
+ <xs:enumeration value="multiple"/>
139
+ </xs:restriction>
140
+ </xs:simpleType>
141
+ </xs:attribute>
142
+ <xs:attribute name="tabindex" type="xh11d:Number"/>
143
+ </xs:attributeGroup>
144
+
145
+ <xs:group name="xhtml.select.content">
146
+ <xs:sequence>
147
+ <xs:element name="option" type="xhtml.option.type" maxOccurs="unbounded"/>
148
+ </xs:sequence>
149
+ </xs:group>
150
+
151
+ <xs:complexType name="xhtml.select.type">
152
+ <xs:group ref="xhtml.select.content"/>
153
+ <xs:attributeGroup ref="xhtml.select.attlist"/>
154
+ </xs:complexType>
155
+
156
+ <xs:attributeGroup name="xhtml.option.attlist">
157
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
158
+ <xs:attribute name="selected">
159
+ <xs:simpleType>
160
+ <xs:restriction base="xs:NMTOKEN">
161
+ <xs:enumeration value="selected"/>
162
+ </xs:restriction>
163
+ </xs:simpleType>
164
+ </xs:attribute>
165
+ <xs:attribute name="value" type="xh11d:CDATA"/>
166
+ <xs:attribute name="tabindex" type="xh11d:Number"/>
167
+ </xs:attributeGroup>
168
+
169
+ <xs:group name="xhtml.option.content">
170
+ <xs:sequence/>
171
+ </xs:group>
172
+
173
+ <xs:complexType name="xhtml.option.type" mixed="true">
174
+ <xs:group ref="xhtml.option.content"/>
175
+ <xs:attributeGroup ref="xhtml.option.attlist"/>
176
+ </xs:complexType>
177
+
178
+ <xs:attributeGroup name="xhtml.textarea.attlist">
179
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
180
+ <xs:attribute name="name" type="xh11d:CDATA"/>
181
+ <xs:attribute name="rows" type="xh11d:Number" use="required"/>
182
+ <xs:attribute name="cols" type="xh11d:Number" use="required"/>
183
+ <xs:attribute name="accesskey" type="xh11d:Character"/>
184
+ </xs:attributeGroup>
185
+
186
+ <xs:group name="xhtml.textarea.content">
187
+ <xs:sequence/>
188
+ </xs:group>
189
+
190
+ <xs:complexType name="xhtml.textarea.type" mixed="true">
191
+ <xs:group ref="xhtml.textarea.content"/>
192
+ <xs:attributeGroup ref="xhtml.textarea.attlist"/>
193
+ </xs:complexType>
194
+
195
+ </xs:schema>
@@ -0,0 +1,169 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema
3
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
4
+ elementFormDefault="qualified"
5
+ xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
6
+ >
7
+ <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/"
8
+ schemaLocation="xhtml-datatypes-1.xsd" />
9
+ <xs:annotation>
10
+ <xs:documentation>
11
+ This is the XML Schema Basic Tables module for XHTML
12
+ $Id: xhtml-basic-table-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $
13
+ </xs:documentation>
14
+ <xs:documentation source="xhtml-copyright-1.xsd"/>
15
+ </xs:annotation>
16
+
17
+ <xs:annotation>
18
+ <xs:documentation>
19
+ Basic Tables
20
+
21
+ * table, caption, tr, th, td
22
+
23
+ This table module declares elements and attributes defining
24
+ a table model based fundamentally on features found in the
25
+ widely-deployed HTML 3.2 table model. While this module
26
+ mimics the content model and table attributes of HTML 3.2
27
+ tables, the element types declared herein also includes all
28
+ HTML 4 common and most of the HTML 4 table attributes.
29
+ </xs:documentation>
30
+ <xs:documentation
31
+ source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_simpletablemodule"/>
32
+ </xs:annotation>
33
+
34
+ <xs:attributeGroup name="xhtml.CellHAlign.attrib">
35
+ <xs:attribute name="align">
36
+ <xs:simpleType>
37
+ <xs:restriction base="xs:NMTOKEN">
38
+ <xs:enumeration value="left"/>
39
+ <xs:enumeration value="center"/>
40
+ <xs:enumeration value="right"/>
41
+ </xs:restriction>
42
+ </xs:simpleType>
43
+ </xs:attribute>
44
+ </xs:attributeGroup>
45
+
46
+ <xs:attributeGroup name="xhtml.CellVAlign.attrib">
47
+ <xs:attribute name="valign">
48
+ <xs:simpleType>
49
+ <xs:restriction base="xs:NMTOKEN">
50
+ <xs:enumeration value="top"/>
51
+ <xs:enumeration value="middle"/>
52
+ <xs:enumeration value="bottom"/>
53
+ </xs:restriction>
54
+ </xs:simpleType>
55
+ </xs:attribute>
56
+ </xs:attributeGroup>
57
+
58
+ <xs:attributeGroup name="xhtml.scope.attrib">
59
+ <xs:attribute name="scope">
60
+ <xs:simpleType>
61
+ <xs:restriction base="xs:NMTOKEN">
62
+ <xs:enumeration value="row"/>
63
+ <xs:enumeration value="col"/>
64
+ </xs:restriction>
65
+ </xs:simpleType>
66
+ </xs:attribute>
67
+ </xs:attributeGroup>
68
+
69
+ <xs:attributeGroup name="xhtml.table.attlist">
70
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
71
+ <xs:attribute name="summary" type="xh11d:Text"/>
72
+ </xs:attributeGroup>
73
+
74
+ <xs:group name="xhtml.table.content">
75
+ <xs:sequence>
76
+ <xs:element name="caption" type="xhtml.caption.type"
77
+ minOccurs="0" maxOccurs="1"/>
78
+ <xs:element name="tr" type="xhtml.tr.type" maxOccurs="unbounded" />
79
+ </xs:sequence>
80
+ </xs:group>
81
+
82
+ <xs:complexType name="xhtml.table.type" >
83
+ <xs:group ref="xhtml.table.content"/>
84
+ <xs:attributeGroup ref="xhtml.table.attlist"/>
85
+ </xs:complexType>
86
+
87
+ <xs:attributeGroup name="xhtml.caption.attlist">
88
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
89
+ </xs:attributeGroup>
90
+
91
+ <xs:group name="xhtml.caption.content">
92
+ <xs:sequence>
93
+ <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
94
+ </xs:sequence>
95
+ </xs:group>
96
+
97
+
98
+ <xs:complexType name="xhtml.caption.type" mixed="true" >
99
+ <xs:group ref="xhtml.caption.content"/>
100
+ <xs:attributeGroup ref="xhtml.caption.attlist"/>
101
+ </xs:complexType>
102
+
103
+ <xs:attributeGroup name="xhtml.tr.attlist">
104
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
105
+ <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
106
+ <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
107
+ </xs:attributeGroup>
108
+
109
+ <xs:group name="xhtml.tr.content">
110
+ <xs:sequence>
111
+ <xs:choice maxOccurs="unbounded">
112
+ <xs:element name="th" type="xhtml.th.type"/>
113
+ <xs:element name="td" type="xhtml.td.type"/>
114
+ </xs:choice>
115
+ </xs:sequence>
116
+ </xs:group>
117
+
118
+ <xs:complexType name="xhtml.tr.type">
119
+ <xs:group ref="xhtml.tr.content"/>
120
+ <xs:attributeGroup ref="xhtml.tr.attlist"/>
121
+ </xs:complexType>
122
+
123
+ <xs:attributeGroup name="xhtml.th.attlist">
124
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
125
+ <xs:attribute name="abbr" type="xh11d:Text"/>
126
+ <xs:attribute name="axis" type="xh11d:CDATA"/>
127
+ <xs:attribute name="headers" type="xs:IDREFS"/>
128
+ <xs:attributeGroup ref="xhtml.scope.attrib"/>
129
+ <xs:attribute name="rowspan" type="xh11d:Number" default="1"/>
130
+ <xs:attribute name="colspan" type="xh11d:Number" default="1"/>
131
+ <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
132
+ <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
133
+ </xs:attributeGroup>
134
+
135
+ <xs:group name="xhtml.th.content">
136
+ <xs:sequence>
137
+ <xs:group ref="xhtml.FlowNoTable.mix" minOccurs="0" maxOccurs="unbounded"/>
138
+ </xs:sequence>
139
+ </xs:group>
140
+
141
+ <xs:complexType name="xhtml.th.type" mixed="true">
142
+ <xs:group ref="xhtml.th.content"/>
143
+ <xs:attributeGroup ref="xhtml.th.attlist"/>
144
+ </xs:complexType>
145
+
146
+ <xs:attributeGroup name="xhtml.td.attlist">
147
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
148
+ <xs:attribute name="abbr" type="xh11d:Text"/>
149
+ <xs:attribute name="axis" type="xh11d:CDATA"/>
150
+ <xs:attribute name="headers" type="xs:IDREFS"/>
151
+ <xs:attributeGroup ref="xhtml.scope.attrib"/>
152
+ <xs:attribute name="rowspan" type="xh11d:Number" default="1"/>
153
+ <xs:attribute name="colspan" type="xh11d:Number" default="1"/>
154
+ <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
155
+ <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
156
+ </xs:attributeGroup>
157
+
158
+ <xs:group name="xhtml.td.content">
159
+ <xs:sequence>
160
+ <xs:group ref="xhtml.FlowNoTable.mix" minOccurs="0" maxOccurs="unbounded"/>
161
+ </xs:sequence>
162
+ </xs:group>
163
+
164
+ <xs:complexType name="xhtml.td.type" mixed="true">
165
+ <xs:group ref="xhtml.td.content"/>
166
+ <xs:attributeGroup ref="xhtml.td.attlist"/>
167
+ </xs:complexType>
168
+
169
+ </xs:schema>