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,47 @@
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 Stylesheets module for XHTML
8
+ $Id: xhtml-style-1.xsd,v 1.5 2006/09/11 10:14:57 ahby Exp $
9
+ </xs:documentation>
10
+ <xs:documentation source="xhtml-copyright-1.xsd"/>
11
+ </xs:annotation>
12
+ <xs:annotation>
13
+ <xs:documentation>
14
+ Stylesheets
15
+
16
+ * style
17
+
18
+ This module declares the style element type and its attributes,
19
+ used to embed stylesheet information in the document head element.
20
+ </xs:documentation>
21
+ <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_stylemodule"/>
22
+ </xs:annotation>
23
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd">
24
+ <xs:annotation>
25
+ <xs:documentation>
26
+ This import brings in the XML namespace attributes
27
+ The module itself does not provide the schemaLocation
28
+ and expects the driver schema to provide the
29
+ actual SchemaLocation.
30
+ </xs:documentation>
31
+ </xs:annotation>
32
+ </xs:import>
33
+ <xs:attributeGroup name="xhtml.style.attlist">
34
+ <xs:attributeGroup ref="xhtml.id"/>
35
+ <xs:attributeGroup ref="xhtml.title"/>
36
+ <xs:attributeGroup ref="xhtml.I18n.attrib"/>
37
+ <xs:attribute name="type" type="xh11d:ContentType" use="required"/>
38
+ <xs:attribute name="media" type="xh11d:MediaDesc"/>
39
+ </xs:attributeGroup>
40
+ <xs:group name="xhtml.style.content">
41
+ <xs:sequence/>
42
+ </xs:group>
43
+ <xs:complexType name="xhtml.style.type" mixed="true">
44
+ <xs:group ref="xhtml.style.content"/>
45
+ <xs:attributeGroup ref="xhtml.style.attlist"/>
46
+ </xs:complexType>
47
+ </xs:schema>
@@ -0,0 +1,237 @@
1
+ <!-- Mathematical, Greek and Symbolic characters for XHTML -->
2
+
3
+ <!-- Character entity set. Typical invocation:
4
+ <!ENTITY % HTMLsymbol PUBLIC
5
+ "-//W3C//ENTITIES Symbols for XHTML//EN"
6
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
7
+ %HTMLsymbol;
8
+ -->
9
+
10
+ <!-- Portions (C) International Organization for Standardization 1986:
11
+ Permission to copy in any form is granted for use with
12
+ conforming SGML systems and applications as defined in
13
+ ISO 8879, provided this notice is included in all copies.
14
+ -->
15
+
16
+ <!-- Relevant ISO entity set is given unless names are newly introduced.
17
+ New names (i.e., not in ISO 8879 list) do not clash with any
18
+ existing ISO 8879 entity names. ISO 10646 character numbers
19
+ are given for each character, in hex. values are decimal
20
+ conversions of the ISO 10646 values and refer to the document
21
+ character set. Names are Unicode names.
22
+ -->
23
+
24
+ <!-- Latin Extended-B -->
25
+ <!ENTITY fnof "&#402;"> <!-- latin small letter f with hook = function
26
+ = florin, U+0192 ISOtech -->
27
+
28
+ <!-- Greek -->
29
+ <!ENTITY Alpha "&#913;"> <!-- greek capital letter alpha, U+0391 -->
30
+ <!ENTITY Beta "&#914;"> <!-- greek capital letter beta, U+0392 -->
31
+ <!ENTITY Gamma "&#915;"> <!-- greek capital letter gamma,
32
+ U+0393 ISOgrk3 -->
33
+ <!ENTITY Delta "&#916;"> <!-- greek capital letter delta,
34
+ U+0394 ISOgrk3 -->
35
+ <!ENTITY Epsilon "&#917;"> <!-- greek capital letter epsilon, U+0395 -->
36
+ <!ENTITY Zeta "&#918;"> <!-- greek capital letter zeta, U+0396 -->
37
+ <!ENTITY Eta "&#919;"> <!-- greek capital letter eta, U+0397 -->
38
+ <!ENTITY Theta "&#920;"> <!-- greek capital letter theta,
39
+ U+0398 ISOgrk3 -->
40
+ <!ENTITY Iota "&#921;"> <!-- greek capital letter iota, U+0399 -->
41
+ <!ENTITY Kappa "&#922;"> <!-- greek capital letter kappa, U+039A -->
42
+ <!ENTITY Lambda "&#923;"> <!-- greek capital letter lamda,
43
+ U+039B ISOgrk3 -->
44
+ <!ENTITY Mu "&#924;"> <!-- greek capital letter mu, U+039C -->
45
+ <!ENTITY Nu "&#925;"> <!-- greek capital letter nu, U+039D -->
46
+ <!ENTITY Xi "&#926;"> <!-- greek capital letter xi, U+039E ISOgrk3 -->
47
+ <!ENTITY Omicron "&#927;"> <!-- greek capital letter omicron, U+039F -->
48
+ <!ENTITY Pi "&#928;"> <!-- greek capital letter pi, U+03A0 ISOgrk3 -->
49
+ <!ENTITY Rho "&#929;"> <!-- greek capital letter rho, U+03A1 -->
50
+ <!-- there is no Sigmaf, and no U+03A2 character either -->
51
+ <!ENTITY Sigma "&#931;"> <!-- greek capital letter sigma,
52
+ U+03A3 ISOgrk3 -->
53
+ <!ENTITY Tau "&#932;"> <!-- greek capital letter tau, U+03A4 -->
54
+ <!ENTITY Upsilon "&#933;"> <!-- greek capital letter upsilon,
55
+ U+03A5 ISOgrk3 -->
56
+ <!ENTITY Phi "&#934;"> <!-- greek capital letter phi,
57
+ U+03A6 ISOgrk3 -->
58
+ <!ENTITY Chi "&#935;"> <!-- greek capital letter chi, U+03A7 -->
59
+ <!ENTITY Psi "&#936;"> <!-- greek capital letter psi,
60
+ U+03A8 ISOgrk3 -->
61
+ <!ENTITY Omega "&#937;"> <!-- greek capital letter omega,
62
+ U+03A9 ISOgrk3 -->
63
+
64
+ <!ENTITY alpha "&#945;"> <!-- greek small letter alpha,
65
+ U+03B1 ISOgrk3 -->
66
+ <!ENTITY beta "&#946;"> <!-- greek small letter beta, U+03B2 ISOgrk3 -->
67
+ <!ENTITY gamma "&#947;"> <!-- greek small letter gamma,
68
+ U+03B3 ISOgrk3 -->
69
+ <!ENTITY delta "&#948;"> <!-- greek small letter delta,
70
+ U+03B4 ISOgrk3 -->
71
+ <!ENTITY epsilon "&#949;"> <!-- greek small letter epsilon,
72
+ U+03B5 ISOgrk3 -->
73
+ <!ENTITY zeta "&#950;"> <!-- greek small letter zeta, U+03B6 ISOgrk3 -->
74
+ <!ENTITY eta "&#951;"> <!-- greek small letter eta, U+03B7 ISOgrk3 -->
75
+ <!ENTITY theta "&#952;"> <!-- greek small letter theta,
76
+ U+03B8 ISOgrk3 -->
77
+ <!ENTITY iota "&#953;"> <!-- greek small letter iota, U+03B9 ISOgrk3 -->
78
+ <!ENTITY kappa "&#954;"> <!-- greek small letter kappa,
79
+ U+03BA ISOgrk3 -->
80
+ <!ENTITY lambda "&#955;"> <!-- greek small letter lamda,
81
+ U+03BB ISOgrk3 -->
82
+ <!ENTITY mu "&#956;"> <!-- greek small letter mu, U+03BC ISOgrk3 -->
83
+ <!ENTITY nu "&#957;"> <!-- greek small letter nu, U+03BD ISOgrk3 -->
84
+ <!ENTITY xi "&#958;"> <!-- greek small letter xi, U+03BE ISOgrk3 -->
85
+ <!ENTITY omicron "&#959;"> <!-- greek small letter omicron, U+03BF NEW -->
86
+ <!ENTITY pi "&#960;"> <!-- greek small letter pi, U+03C0 ISOgrk3 -->
87
+ <!ENTITY rho "&#961;"> <!-- greek small letter rho, U+03C1 ISOgrk3 -->
88
+ <!ENTITY sigmaf "&#962;"> <!-- greek small letter final sigma,
89
+ U+03C2 ISOgrk3 -->
90
+ <!ENTITY sigma "&#963;"> <!-- greek small letter sigma,
91
+ U+03C3 ISOgrk3 -->
92
+ <!ENTITY tau "&#964;"> <!-- greek small letter tau, U+03C4 ISOgrk3 -->
93
+ <!ENTITY upsilon "&#965;"> <!-- greek small letter upsilon,
94
+ U+03C5 ISOgrk3 -->
95
+ <!ENTITY phi "&#966;"> <!-- greek small letter phi, U+03C6 ISOgrk3 -->
96
+ <!ENTITY chi "&#967;"> <!-- greek small letter chi, U+03C7 ISOgrk3 -->
97
+ <!ENTITY psi "&#968;"> <!-- greek small letter psi, U+03C8 ISOgrk3 -->
98
+ <!ENTITY omega "&#969;"> <!-- greek small letter omega,
99
+ U+03C9 ISOgrk3 -->
100
+ <!ENTITY thetasym "&#977;"> <!-- greek theta symbol,
101
+ U+03D1 NEW -->
102
+ <!ENTITY upsih "&#978;"> <!-- greek upsilon with hook symbol,
103
+ U+03D2 NEW -->
104
+ <!ENTITY piv "&#982;"> <!-- greek pi symbol, U+03D6 ISOgrk3 -->
105
+
106
+ <!-- General Punctuation -->
107
+ <!ENTITY bull "&#8226;"> <!-- bullet = black small circle,
108
+ U+2022 ISOpub -->
109
+ <!-- bullet is NOT the same as bullet operator, U+2219 -->
110
+ <!ENTITY hellip "&#8230;"> <!-- horizontal ellipsis = three dot leader,
111
+ U+2026 ISOpub -->
112
+ <!ENTITY prime "&#8242;"> <!-- prime = minutes = feet, U+2032 ISOtech -->
113
+ <!ENTITY Prime "&#8243;"> <!-- double prime = seconds = inches,
114
+ U+2033 ISOtech -->
115
+ <!ENTITY oline "&#8254;"> <!-- overline = spacing overscore,
116
+ U+203E NEW -->
117
+ <!ENTITY frasl "&#8260;"> <!-- fraction slash, U+2044 NEW -->
118
+
119
+ <!-- Letterlike Symbols -->
120
+ <!ENTITY weierp "&#8472;"> <!-- script capital P = power set
121
+ = Weierstrass p, U+2118 ISOamso -->
122
+ <!ENTITY image "&#8465;"> <!-- black-letter capital I = imaginary part,
123
+ U+2111 ISOamso -->
124
+ <!ENTITY real "&#8476;"> <!-- black-letter capital R = real part symbol,
125
+ U+211C ISOamso -->
126
+ <!ENTITY trade "&#8482;"> <!-- trade mark sign, U+2122 ISOnum -->
127
+ <!ENTITY alefsym "&#8501;"> <!-- alef symbol = first transfinite cardinal,
128
+ U+2135 NEW -->
129
+ <!-- alef symbol is NOT the same as hebrew letter alef,
130
+ U+05D0 although the same glyph could be used to depict both characters -->
131
+
132
+ <!-- Arrows -->
133
+ <!ENTITY larr "&#8592;"> <!-- leftwards arrow, U+2190 ISOnum -->
134
+ <!ENTITY uarr "&#8593;"> <!-- upwards arrow, U+2191 ISOnum-->
135
+ <!ENTITY rarr "&#8594;"> <!-- rightwards arrow, U+2192 ISOnum -->
136
+ <!ENTITY darr "&#8595;"> <!-- downwards arrow, U+2193 ISOnum -->
137
+ <!ENTITY harr "&#8596;"> <!-- left right arrow, U+2194 ISOamsa -->
138
+ <!ENTITY crarr "&#8629;"> <!-- downwards arrow with corner leftwards
139
+ = carriage return, U+21B5 NEW -->
140
+ <!ENTITY lArr "&#8656;"> <!-- leftwards double arrow, U+21D0 ISOtech -->
141
+ <!-- Unicode does not say that lArr is the same as the 'is implied by' arrow
142
+ but also does not have any other character for that function. So lArr can
143
+ be used for 'is implied by' as ISOtech suggests -->
144
+ <!ENTITY uArr "&#8657;"> <!-- upwards double arrow, U+21D1 ISOamsa -->
145
+ <!ENTITY rArr "&#8658;"> <!-- rightwards double arrow,
146
+ U+21D2 ISOtech -->
147
+ <!-- Unicode does not say this is the 'implies' character but does not have
148
+ another character with this function so rArr can be used for 'implies'
149
+ as ISOtech suggests -->
150
+ <!ENTITY dArr "&#8659;"> <!-- downwards double arrow, U+21D3 ISOamsa -->
151
+ <!ENTITY hArr "&#8660;"> <!-- left right double arrow,
152
+ U+21D4 ISOamsa -->
153
+
154
+ <!-- Mathematical Operators -->
155
+ <!ENTITY forall "&#8704;"> <!-- for all, U+2200 ISOtech -->
156
+ <!ENTITY part "&#8706;"> <!-- partial differential, U+2202 ISOtech -->
157
+ <!ENTITY exist "&#8707;"> <!-- there exists, U+2203 ISOtech -->
158
+ <!ENTITY empty "&#8709;"> <!-- empty set = null set, U+2205 ISOamso -->
159
+ <!ENTITY nabla "&#8711;"> <!-- nabla = backward difference,
160
+ U+2207 ISOtech -->
161
+ <!ENTITY isin "&#8712;"> <!-- element of, U+2208 ISOtech -->
162
+ <!ENTITY notin "&#8713;"> <!-- not an element of, U+2209 ISOtech -->
163
+ <!ENTITY ni "&#8715;"> <!-- contains as member, U+220B ISOtech -->
164
+ <!ENTITY prod "&#8719;"> <!-- n-ary product = product sign,
165
+ U+220F ISOamsb -->
166
+ <!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
167
+ the same glyph might be used for both -->
168
+ <!ENTITY sum "&#8721;"> <!-- n-ary summation, U+2211 ISOamsb -->
169
+ <!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
170
+ though the same glyph might be used for both -->
171
+ <!ENTITY minus "&#8722;"> <!-- minus sign, U+2212 ISOtech -->
172
+ <!ENTITY lowast "&#8727;"> <!-- asterisk operator, U+2217 ISOtech -->
173
+ <!ENTITY radic "&#8730;"> <!-- square root = radical sign,
174
+ U+221A ISOtech -->
175
+ <!ENTITY prop "&#8733;"> <!-- proportional to, U+221D ISOtech -->
176
+ <!ENTITY infin "&#8734;"> <!-- infinity, U+221E ISOtech -->
177
+ <!ENTITY ang "&#8736;"> <!-- angle, U+2220 ISOamso -->
178
+ <!ENTITY and "&#8743;"> <!-- logical and = wedge, U+2227 ISOtech -->
179
+ <!ENTITY or "&#8744;"> <!-- logical or = vee, U+2228 ISOtech -->
180
+ <!ENTITY cap "&#8745;"> <!-- intersection = cap, U+2229 ISOtech -->
181
+ <!ENTITY cup "&#8746;"> <!-- union = cup, U+222A ISOtech -->
182
+ <!ENTITY int "&#8747;"> <!-- integral, U+222B ISOtech -->
183
+ <!ENTITY there4 "&#8756;"> <!-- therefore, U+2234 ISOtech -->
184
+ <!ENTITY sim "&#8764;"> <!-- tilde operator = varies with = similar to,
185
+ U+223C ISOtech -->
186
+ <!-- tilde operator is NOT the same character as the tilde, U+007E,
187
+ although the same glyph might be used to represent both -->
188
+ <!ENTITY cong "&#8773;"> <!-- approximately equal to, U+2245 ISOtech -->
189
+ <!ENTITY asymp "&#8776;"> <!-- almost equal to = asymptotic to,
190
+ U+2248 ISOamsr -->
191
+ <!ENTITY ne "&#8800;"> <!-- not equal to, U+2260 ISOtech -->
192
+ <!ENTITY equiv "&#8801;"> <!-- identical to, U+2261 ISOtech -->
193
+ <!ENTITY le "&#8804;"> <!-- less-than or equal to, U+2264 ISOtech -->
194
+ <!ENTITY ge "&#8805;"> <!-- greater-than or equal to,
195
+ U+2265 ISOtech -->
196
+ <!ENTITY sub "&#8834;"> <!-- subset of, U+2282 ISOtech -->
197
+ <!ENTITY sup "&#8835;"> <!-- superset of, U+2283 ISOtech -->
198
+ <!ENTITY nsub "&#8836;"> <!-- not a subset of, U+2284 ISOamsn -->
199
+ <!ENTITY sube "&#8838;"> <!-- subset of or equal to, U+2286 ISOtech -->
200
+ <!ENTITY supe "&#8839;"> <!-- superset of or equal to,
201
+ U+2287 ISOtech -->
202
+ <!ENTITY oplus "&#8853;"> <!-- circled plus = direct sum,
203
+ U+2295 ISOamsb -->
204
+ <!ENTITY otimes "&#8855;"> <!-- circled times = vector product,
205
+ U+2297 ISOamsb -->
206
+ <!ENTITY perp "&#8869;"> <!-- up tack = orthogonal to = perpendicular,
207
+ U+22A5 ISOtech -->
208
+ <!ENTITY sdot "&#8901;"> <!-- dot operator, U+22C5 ISOamsb -->
209
+ <!-- dot operator is NOT the same character as U+00B7 middle dot -->
210
+
211
+ <!-- Miscellaneous Technical -->
212
+ <!ENTITY lceil "&#8968;"> <!-- left ceiling = APL upstile,
213
+ U+2308 ISOamsc -->
214
+ <!ENTITY rceil "&#8969;"> <!-- right ceiling, U+2309 ISOamsc -->
215
+ <!ENTITY lfloor "&#8970;"> <!-- left floor = APL downstile,
216
+ U+230A ISOamsc -->
217
+ <!ENTITY rfloor "&#8971;"> <!-- right floor, U+230B ISOamsc -->
218
+ <!ENTITY lang "&#9001;"> <!-- left-pointing angle bracket = bra,
219
+ U+2329 ISOtech -->
220
+ <!-- lang is NOT the same character as U+003C 'less than sign'
221
+ or U+2039 'single left-pointing angle quotation mark' -->
222
+ <!ENTITY rang "&#9002;"> <!-- right-pointing angle bracket = ket,
223
+ U+232A ISOtech -->
224
+ <!-- rang is NOT the same character as U+003E 'greater than sign'
225
+ or U+203A 'single right-pointing angle quotation mark' -->
226
+
227
+ <!-- Geometric Shapes -->
228
+ <!ENTITY loz "&#9674;"> <!-- lozenge, U+25CA ISOpub -->
229
+
230
+ <!-- Miscellaneous Symbols -->
231
+ <!ENTITY spades "&#9824;"> <!-- black spade suit, U+2660 ISOpub -->
232
+ <!-- black here seems to mean filled as opposed to hollow -->
233
+ <!ENTITY clubs "&#9827;"> <!-- black club suit = shamrock,
234
+ U+2663 ISOpub -->
235
+ <!ENTITY hearts "&#9829;"> <!-- black heart suit = valentine,
236
+ U+2665 ISOpub -->
237
+ <!ENTITY diams "&#9830;"> <!-- black diamond suit, U+2666 ISOpub -->
@@ -0,0 +1,267 @@
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 Tables module for XHTML
8
+ $Id: xhtml-table-1.xsd,v 1.3 2005/09/26 22:54:53 ahby Exp $
9
+ </xs:documentation>
10
+ <xs:documentation source="xhtml-copyright-1.xsd"/>
11
+ </xs:annotation>
12
+ <xs:annotation>
13
+ <xs:documentation>
14
+ Tables
15
+
16
+ * table, caption, thead, tfoot, tbody, colgroup, col, tr, th, td
17
+
18
+ This module declares element types and attributes used to provide
19
+ table markup similar to HTML 4.0, including features that enable
20
+ better accessibility for non-visual user agents.
21
+ </xs:documentation>
22
+ <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_tablemodule"/>
23
+ </xs:annotation>
24
+ <xs:attributeGroup name="xhtml.frame.attrib">
25
+ <xs:attribute name="frame">
26
+ <xs:simpleType>
27
+ <xs:restriction base="xs:NMTOKEN">
28
+ <xs:enumeration value="void"/>
29
+ <xs:enumeration value="above"/>
30
+ <xs:enumeration value="below"/>
31
+ <xs:enumeration value="hsides"/>
32
+ <xs:enumeration value="lhs"/>
33
+ <xs:enumeration value="rhs"/>
34
+ <xs:enumeration value="vsides"/>
35
+ <xs:enumeration value="box"/>
36
+ <xs:enumeration value="border"/>
37
+ </xs:restriction>
38
+ </xs:simpleType>
39
+ </xs:attribute>
40
+ </xs:attributeGroup>
41
+ <xs:attributeGroup name="xhtml.rules.attrib">
42
+ <xs:attribute name="rules">
43
+ <xs:simpleType>
44
+ <xs:restriction base="xs:NMTOKEN">
45
+ <xs:enumeration value="none"/>
46
+ <xs:enumeration value="groups"/>
47
+ <xs:enumeration value="rows"/>
48
+ <xs:enumeration value="cols"/>
49
+ <xs:enumeration value="all"/>
50
+ </xs:restriction>
51
+ </xs:simpleType>
52
+ </xs:attribute>
53
+ </xs:attributeGroup>
54
+ <xs:attributeGroup name="xhtml.CellVAlign.attrib">
55
+ <xs:attribute name="valign">
56
+ <xs:simpleType>
57
+ <xs:restriction base="xs:NMTOKEN">
58
+ <xs:enumeration value="top"/>
59
+ <xs:enumeration value="middle"/>
60
+ <xs:enumeration value="bottom"/>
61
+ <xs:enumeration value="baseline"/>
62
+ </xs:restriction>
63
+ </xs:simpleType>
64
+ </xs:attribute>
65
+ </xs:attributeGroup>
66
+ <xs:attributeGroup name="xhtml.CellHAlign.attrib">
67
+ <xs:attribute name="align">
68
+ <xs:simpleType>
69
+ <xs:restriction base="xs:NMTOKEN">
70
+ <xs:enumeration value="left"/>
71
+ <xs:enumeration value="center"/>
72
+ <xs:enumeration value="right"/>
73
+ <xs:enumeration value="justify"/>
74
+ <xs:enumeration value="char"/>
75
+ </xs:restriction>
76
+ </xs:simpleType>
77
+ </xs:attribute>
78
+ <xs:attribute name="char" type="xh11d:Character"/>
79
+ <xs:attribute name="charoff" type="xh11d:Length"/>
80
+ </xs:attributeGroup>
81
+ <xs:attributeGroup name="xhtml.scope.attrib">
82
+ <xs:attribute name="scope">
83
+ <xs:simpleType>
84
+ <xs:restriction base="xs:NMTOKEN">
85
+ <xs:enumeration value="row"/>
86
+ <xs:enumeration value="col"/>
87
+ <xs:enumeration value="rowgroup"/>
88
+ <xs:enumeration value="colgroup"/>
89
+ </xs:restriction>
90
+ </xs:simpleType>
91
+ </xs:attribute>
92
+ </xs:attributeGroup>
93
+ <xs:attributeGroup name="xhtml.td.attlist">
94
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
95
+ <xs:attribute name="abbr" type="xh11d:Text"/>
96
+ <xs:attribute name="axis" type="xh11d:CDATA"/>
97
+ <xs:attribute name="headers" type="xs:IDREFS"/>
98
+ <xs:attributeGroup ref="xhtml.scope.attrib"/>
99
+ <xs:attribute name="rowspan" type="xh11d:Number" default="1"/>
100
+ <xs:attribute name="colspan" type="xh11d:Number" default="1"/>
101
+ <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
102
+ <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
103
+ </xs:attributeGroup>
104
+ <xs:group name="xhtml.td.content">
105
+ <xs:sequence>
106
+ <xs:group ref="xhtml.Flow.mix" minOccurs="0" maxOccurs="unbounded"/>
107
+ </xs:sequence>
108
+ </xs:group>
109
+ <xs:complexType name="xhtml.td.type" mixed="true">
110
+ <xs:group ref="xhtml.td.content"/>
111
+ <xs:attributeGroup ref="xhtml.td.attlist"/>
112
+ </xs:complexType>
113
+ <xs:attributeGroup name="xhtml.th.attlist">
114
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
115
+ <xs:attribute name="abbr" type="xh11d:Text"/>
116
+ <xs:attribute name="axis" type="xh11d:CDATA"/>
117
+ <xs:attribute name="headers" type="xs:IDREFS"/>
118
+ <xs:attributeGroup ref="xhtml.scope.attrib"/>
119
+ <xs:attribute name="rowspan" type="xh11d:Number" default="1"/>
120
+ <xs:attribute name="colspan" type="xh11d:Number" default="1"/>
121
+ <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
122
+ <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
123
+ </xs:attributeGroup>
124
+ <xs:group name="xhtml.th.content">
125
+ <xs:sequence>
126
+ <xs:group ref="xhtml.Flow.mix" minOccurs="0" maxOccurs="unbounded"/>
127
+ </xs:sequence>
128
+ </xs:group>
129
+ <xs:complexType name="xhtml.th.type" mixed="true">
130
+ <xs:group ref="xhtml.th.content"/>
131
+ <xs:attributeGroup ref="xhtml.th.attlist"/>
132
+ </xs:complexType>
133
+ <xs:attributeGroup name="xhtml.tr.attlist">
134
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
135
+ <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
136
+ <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
137
+ </xs:attributeGroup>
138
+ <xs:group name="xhtml.tr.content">
139
+ <xs:sequence>
140
+ <xs:choice maxOccurs="unbounded">
141
+ <xs:element name="th" type="xhtml.th.type"/>
142
+ <xs:element name="td" type="xhtml.td.type"/>
143
+ </xs:choice>
144
+ </xs:sequence>
145
+ </xs:group>
146
+ <xs:complexType name="xhtml.tr.type">
147
+ <xs:group ref="xhtml.tr.content"/>
148
+ <xs:attributeGroup ref="xhtml.tr.attlist"/>
149
+ </xs:complexType>
150
+ <xs:attributeGroup name="xhtml.col.attlist">
151
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
152
+ <xs:attribute name="span" type="xh11d:Number" default="1"/>
153
+ <xs:attribute name="width" type="xh11d:MultiLength"/>
154
+ <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
155
+ <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
156
+ </xs:attributeGroup>
157
+ <xs:group name="xhtml.col.content">
158
+ <xs:sequence/>
159
+ </xs:group>
160
+ <xs:complexType name="xhtml.col.type">
161
+ <xs:group ref="xhtml.col.content"/>
162
+ <xs:attributeGroup ref="xhtml.col.attlist"/>
163
+ </xs:complexType>
164
+ <xs:attributeGroup name="xhtml.colgroup.attlist">
165
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
166
+ <xs:attribute name="span" type="xh11d:Number" default="1"/>
167
+ <xs:attribute name="width" type="xh11d:MultiLength"/>
168
+ <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
169
+ <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
170
+ </xs:attributeGroup>
171
+ <xs:group name="xhtml.colgroup.content">
172
+ <xs:sequence>
173
+ <xs:element name="col" type="xhtml.col.type" minOccurs="0" maxOccurs="unbounded"/>
174
+ </xs:sequence>
175
+ </xs:group>
176
+ <xs:complexType name="xhtml.colgroup.type">
177
+ <xs:group ref="xhtml.colgroup.content"/>
178
+ <xs:attributeGroup ref="xhtml.colgroup.attlist"/>
179
+ </xs:complexType>
180
+ <xs:attributeGroup name="xhtml.tbody.attlist">
181
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
182
+ <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
183
+ <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
184
+ </xs:attributeGroup>
185
+ <xs:group name="xhtml.tbody.content">
186
+ <xs:sequence>
187
+ <xs:element name="tr" type="xhtml.tr.type" maxOccurs="unbounded"/>
188
+ </xs:sequence>
189
+ </xs:group>
190
+ <xs:complexType name="xhtml.tbody.type">
191
+ <xs:group ref="xhtml.tbody.content"/>
192
+ <xs:attributeGroup ref="xhtml.tbody.attlist"/>
193
+ </xs:complexType>
194
+ <xs:attributeGroup name="xhtml.tfoot.attlist">
195
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
196
+ <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
197
+ <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
198
+ </xs:attributeGroup>
199
+ <xs:group name="xhtml.tfoot.content">
200
+ <xs:sequence>
201
+ <xs:element name="tr" type="xhtml.tr.type" maxOccurs="unbounded"/>
202
+ </xs:sequence>
203
+ </xs:group>
204
+ <xs:complexType name="xhtml.tfoot.type">
205
+ <xs:group ref="xhtml.tfoot.content"/>
206
+ <xs:attributeGroup ref="xhtml.tfoot.attlist"/>
207
+ </xs:complexType>
208
+ <xs:attributeGroup name="xhtml.thead.attlist">
209
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
210
+ <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
211
+ <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
212
+ </xs:attributeGroup>
213
+ <xs:group name="xhtml.thead.content">
214
+ <xs:sequence>
215
+ <xs:element name="tr" type="xhtml.tr.type" maxOccurs="unbounded"/>
216
+ </xs:sequence>
217
+ </xs:group>
218
+ <xs:complexType name="xhtml.thead.type">
219
+ <xs:group ref="xhtml.thead.content"/>
220
+ <xs:attributeGroup ref="xhtml.thead.attlist"/>
221
+ </xs:complexType>
222
+ <xs:attributeGroup name="xhtml.caption.attlist">
223
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
224
+ </xs:attributeGroup>
225
+ <xs:group name="xhtml.caption.content">
226
+ <xs:sequence>
227
+ <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
228
+ </xs:sequence>
229
+ </xs:group>
230
+ <xs:complexType name="xhtml.caption.type" mixed="true">
231
+ <xs:group ref="xhtml.caption.content"/>
232
+ <xs:attributeGroup ref="xhtml.caption.attlist"/>
233
+ </xs:complexType>
234
+ <xs:attributeGroup name="xhtml.table.attlist">
235
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
236
+ <xs:attribute name="summary" type="xh11d:Text"/>
237
+ <xs:attribute name="width" type="xh11d:Length"/>
238
+ <xs:attribute name="border" type="xh11d:Pixels"/>
239
+ <xs:attributeGroup ref="xhtml.frame.attrib"/>
240
+ <xs:attributeGroup ref="xhtml.rules.attrib"/>
241
+ <xs:attribute name="cellspacing" type="xh11d:Length"/>
242
+ <xs:attribute name="cellpadding" type="xh11d:Length"/>
243
+ </xs:attributeGroup>
244
+ <xs:group name="xhtml.table.content">
245
+ <xs:sequence>
246
+ <xs:element name="caption" type="xhtml.caption.type" minOccurs="0"/>
247
+ <xs:choice>
248
+ <xs:element name="col" type="xhtml.col.type" minOccurs="0" maxOccurs="unbounded"/>
249
+ <xs:element name="colgroup" type="xhtml.colgroup.type" minOccurs="0" maxOccurs="unbounded"/>
250
+ </xs:choice>
251
+ <xs:choice>
252
+ <xs:sequence>
253
+ <xs:element name="thead" type="xhtml.thead.type" minOccurs="0"/>
254
+ <xs:element name="tfoot" type="xhtml.tfoot.type" minOccurs="0"/>
255
+ <xs:element name="tbody" type="xhtml.tbody.type" maxOccurs="unbounded"/>
256
+ </xs:sequence>
257
+ <xs:choice>
258
+ <xs:element name="tr" type="xhtml.tr.type" maxOccurs="unbounded"/>
259
+ </xs:choice>
260
+ </xs:choice>
261
+ </xs:sequence>
262
+ </xs:group>
263
+ <xs:complexType name="xhtml.table.type">
264
+ <xs:group ref="xhtml.table.content"/>
265
+ <xs:attributeGroup ref="xhtml.table.attlist"/>
266
+ </xs:complexType>
267
+ </xs:schema>