@likecoin/epubcheck-ts 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +339 -0
  3. package/dist/index.cjs +1904 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.cts +523 -0
  6. package/dist/index.d.ts +523 -0
  7. package/dist/index.js +1895 -0
  8. package/dist/index.js.map +1 -0
  9. package/package.json +69 -0
  10. package/schemas/applications.rng +429 -0
  11. package/schemas/aria.rng +3355 -0
  12. package/schemas/block.rng +488 -0
  13. package/schemas/common.rng +1076 -0
  14. package/schemas/container.rng +24 -0
  15. package/schemas/core-scripting.rng +950 -0
  16. package/schemas/data.rng +161 -0
  17. package/schemas/datatypes.rng +401 -0
  18. package/schemas/embed.rng +980 -0
  19. package/schemas/epub-mathml3-inc.rng +161 -0
  20. package/schemas/epub-nav-30.rnc +44 -0
  21. package/schemas/epub-nav-30.rng +19985 -0
  22. package/schemas/epub-nav-30.sch +87 -0
  23. package/schemas/epub-prefix-attr.rng +17 -0
  24. package/schemas/epub-shared-inc.rng +29 -0
  25. package/schemas/epub-ssml-attrs.rng +17 -0
  26. package/schemas/epub-svg-30.rnc +17 -0
  27. package/schemas/epub-svg-30.rng +19903 -0
  28. package/schemas/epub-svg-30.sch +7 -0
  29. package/schemas/epub-svg-forgiving-inc.rng +315 -0
  30. package/schemas/epub-switch.rng +121 -0
  31. package/schemas/epub-trigger.rng +90 -0
  32. package/schemas/epub-type-attr.rng +12 -0
  33. package/schemas/epub-xhtml-30.rnc +6 -0
  34. package/schemas/epub-xhtml-30.rng +19882 -0
  35. package/schemas/epub-xhtml-30.sch +409 -0
  36. package/schemas/epub-xhtml-inc.rng +151 -0
  37. package/schemas/epub-xhtml-integration.rng +565 -0
  38. package/schemas/epub-xhtml-svg-mathml.rng +17 -0
  39. package/schemas/form-datatypes.rng +54 -0
  40. package/schemas/mathml3-common.rng +336 -0
  41. package/schemas/mathml3-content.rng +1552 -0
  42. package/schemas/mathml3-inc.rng +30 -0
  43. package/schemas/mathml3-presentation.rng +2341 -0
  44. package/schemas/mathml3-strict-content.rng +205 -0
  45. package/schemas/media.rng +374 -0
  46. package/schemas/meta.rng +754 -0
  47. package/schemas/microdata.rng +192 -0
  48. package/schemas/ncx.rng +308 -0
  49. package/schemas/ocf-container-30.rnc +37 -0
  50. package/schemas/ocf-container-30.rng +568 -0
  51. package/schemas/opf.rng +15 -0
  52. package/schemas/opf20.rng +513 -0
  53. package/schemas/package-30.rnc +133 -0
  54. package/schemas/package-30.rng +1153 -0
  55. package/schemas/package-30.sch +444 -0
  56. package/schemas/phrase.rng +746 -0
  57. package/schemas/rdfa.rng +552 -0
  58. package/schemas/revision.rng +106 -0
  59. package/schemas/ruby.rng +141 -0
  60. package/schemas/sectional.rng +278 -0
  61. package/schemas/structural.rng +298 -0
  62. package/schemas/tables.rng +420 -0
  63. package/schemas/web-components.rng +184 -0
  64. package/schemas/web-forms.rng +975 -0
  65. package/schemas/web-forms2.rng +1236 -0
@@ -0,0 +1,161 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="">
3
+ <!-- ##################################################################### -->
4
+ <define name="time.elem">
5
+ <a:documentation> RELAX NG Schema for HTML 5: Static Data Markup #</a:documentation>
6
+ <!-- ##################################################################### -->
7
+ <a:documentation>Time: &lt;time&gt;</a:documentation>
8
+ <element name="time">
9
+ <interleave>
10
+ <ref name="time.inner"/>
11
+ <ref name="time.attrs"/>
12
+ </interleave>
13
+ </element>
14
+ </define>
15
+ <define name="time.attrs">
16
+ <interleave>
17
+ <ref name="common.attrs"/>
18
+ <optional>
19
+ <ref name="common.attrs.aria"/>
20
+ </optional>
21
+ </interleave>
22
+ </define>
23
+ <define name="time.inner">
24
+ <text/>
25
+ </define>
26
+ <!-- Cannot enforce textContent format here -->
27
+ <define name="common.elem.phrasing" combine="choice">
28
+ <ref name="time.elem"/>
29
+ </define>
30
+ <define name="time.datetime.elem">
31
+ <a:documentation>Time with datetime attribute: &lt;time datetime&gt;</a:documentation>
32
+ <element name="time">
33
+ <interleave>
34
+ <ref name="time.datetime.inner"/>
35
+ <ref name="time.datetime.attrs"/>
36
+ </interleave>
37
+ </element>
38
+ </define>
39
+ <define name="time.datetime.attrs">
40
+ <interleave>
41
+ <ref name="common.attrs"/>
42
+ <ref name="time.attrs.datetime"/>
43
+ <optional>
44
+ <ref name="common.attrs.aria"/>
45
+ </optional>
46
+ </interleave>
47
+ </define>
48
+ <define name="time.attrs.datetime">
49
+ <attribute name="datetime">
50
+ <ref name="common.data.time-datetime"/>
51
+ </attribute>
52
+ </define>
53
+ <define name="time.datetime.inner">
54
+ <ref name="common.inner.phrasing"/>
55
+ </define>
56
+ <define name="common.elem.phrasing" combine="choice">
57
+ <ref name="time.datetime.elem"/>
58
+ </define>
59
+ <define name="data.elem">
60
+ <a:documentation>Data: &lt;data&gt;</a:documentation>
61
+ <element name="data">
62
+ <interleave>
63
+ <ref name="data.inner"/>
64
+ <ref name="data.attrs"/>
65
+ </interleave>
66
+ </element>
67
+ </define>
68
+ <define name="data.attrs">
69
+ <interleave>
70
+ <ref name="common.attrs"/>
71
+ <ref name="data.attrs.value"/>
72
+ <optional>
73
+ <ref name="common.attrs.aria"/>
74
+ </optional>
75
+ </interleave>
76
+ </define>
77
+ <define name="data.attrs.value">
78
+ <attribute name="value">
79
+ <data type="string"/>
80
+ </attribute>
81
+ </define>
82
+ <define name="data.inner">
83
+ <ref name="common.inner.phrasing"/>
84
+ </define>
85
+ <define name="common.elem.phrasing" combine="choice">
86
+ <ref name="data.elem"/>
87
+ </define>
88
+ <define name="meter.elem">
89
+ <a:documentation>Scalar Gauge: &lt;meter&gt;</a:documentation>
90
+ <element name="meter">
91
+ <interleave>
92
+ <ref name="meter.inner"/>
93
+ <ref name="meter.attrs"/>
94
+ </interleave>
95
+ </element>
96
+ </define>
97
+ <define name="meter.attrs">
98
+ <interleave>
99
+ <ref name="common.attrs"/>
100
+ <ref name="meter.attrs.value"/>
101
+ <optional>
102
+ <ref name="meter.attrs.min"/>
103
+ </optional>
104
+ <optional>
105
+ <ref name="aria.prop.valuemin"/>
106
+ </optional>
107
+ <optional>
108
+ <ref name="meter.attrs.low"/>
109
+ </optional>
110
+ <optional>
111
+ <ref name="meter.attrs.high"/>
112
+ </optional>
113
+ <optional>
114
+ <ref name="meter.attrs.max"/>
115
+ </optional>
116
+ <optional>
117
+ <ref name="aria.prop.valuemax"/>
118
+ </optional>
119
+ <optional>
120
+ <ref name="meter.attrs.optimum"/>
121
+ </optional>
122
+ </interleave>
123
+ </define>
124
+ <define name="meter.attrs.value">
125
+ <attribute name="value">
126
+ <ref name="common.data.float"/>
127
+ </attribute>
128
+ </define>
129
+ <define name="meter.attrs.min">
130
+ <attribute name="min">
131
+ <ref name="common.data.float"/>
132
+ </attribute>
133
+ </define>
134
+ <define name="meter.attrs.low">
135
+ <attribute name="low">
136
+ <ref name="common.data.float"/>
137
+ </attribute>
138
+ </define>
139
+ <define name="meter.attrs.high">
140
+ <attribute name="high">
141
+ <ref name="common.data.float"/>
142
+ </attribute>
143
+ </define>
144
+ <define name="meter.attrs.max">
145
+ <attribute name="max">
146
+ <ref name="common.data.float"/>
147
+ </attribute>
148
+ </define>
149
+ <define name="meter.attrs.optimum">
150
+ <attribute name="optimum">
151
+ <ref name="common.data.float"/>
152
+ </attribute>
153
+ </define>
154
+ <define name="meter.inner">
155
+ <ref name="common.inner.phrasing"/>
156
+ </define>
157
+ <!-- Cannot enforce textContent format here -->
158
+ <define name="common.elem.phrasing" combine="choice">
159
+ <ref name="meter.elem"/>
160
+ </define>
161
+ </grammar>
@@ -0,0 +1,401 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3
+ <div xml:id="datatypes-common">
4
+ <define name="datatype.ID">
5
+ <ref name="datatype.ID.lexical"/>
6
+ </define>
7
+ <define name="datatype.IDREF">
8
+ <ref name="datatype.IDREF.lexical"/>
9
+ </define>
10
+ <define name="datatype.IDREFS">
11
+ <ref name="datatype.IDREFS.lexical"/>
12
+ </define>
13
+ <define name="datatype.languagecode">
14
+ <ref name="datatype.BCP47"/>
15
+ </define>
16
+ <!-- http://www.w3.org/TR/xmlschema11-2/#language -->
17
+ <define name="datatype.BCP47">
18
+ <data type="language"/>
19
+ </define>
20
+ <!-- http://www.w3.org/TR/xmlschema11-2/#ID -->
21
+ <define name="datatype.ID.xsd">
22
+ <data type="ID"/>
23
+ </define>
24
+ <!-- http://www.w3.org/TR/xmlschema11-2/#NCName -->
25
+ <define name="datatype.IDREF.lexical">
26
+ <data type="NCName"/>
27
+ </define>
28
+ <define name="datatype.IDREFS.lexical">
29
+ <list>
30
+ <oneOrMore>
31
+ <ref name="datatype.IDREF.lexical"/>
32
+ </oneOrMore>
33
+ </list>
34
+ </define>
35
+ <define name="datatype.ID.lexical">
36
+ <data type="NCName"/>
37
+ </define>
38
+ <!-- http://www.w3.org/TR/xmlschema11-2/#IDREF -->
39
+ <define name="datatype.IDREF.xsd">
40
+ <data type="IDREF"/>
41
+ </define>
42
+ <!-- http://www.w3.org/TR/xmlschema11-2/#IDREFS -->
43
+ <define name="datatype.IDREFS.xsd">
44
+ <data type="IDREFS"/>
45
+ </define>
46
+ <!-- http://www.w3.org/TR/xmlschema11-2/#NMTOKEN -->
47
+ <define name="datatype.NMTOKEN">
48
+ <data type="NMTOKEN"/>
49
+ </define>
50
+ <!-- http://www.w3.org/TR/xmlschema11-2/#NMTOKENS -->
51
+ <define name="datatype.NMTOKENS">
52
+ <data type="NMTOKENS"/>
53
+ </define>
54
+ <!-- http://www.w3.org/TR/xmlschema11-2/#string -->
55
+ <define name="datatype.string">
56
+ <data type="string"/>
57
+ </define>
58
+ <define name="datatype.string.nonempty">
59
+ <data type="token">
60
+ <param name="minLength">1</param>
61
+ </data>
62
+ </define>
63
+ <define name="datatype.text">
64
+ <text/>
65
+ </define>
66
+ <!-- http://www.w3.org/TR/xmlschema11-2/#nt-dateRep -->
67
+ <define name="datatype.date">
68
+ <data type="date"/>
69
+ </define>
70
+ <!-- http://www.w3.org/TR/xmlschema11-2/#nt-dateTimeRep -->
71
+ <define name="datatype.dateTime">
72
+ <data type="dateTime"/>
73
+ </define>
74
+ <!-- http://www.w3.org/TR/xmlschema11-2/#nt-timeRep -->
75
+ <define name="datatype.date.or.dateTime">
76
+ <choice>
77
+ <ref name="datatype.date"/>
78
+ <ref name="datatype.dateTime"/>
79
+ </choice>
80
+ </define>
81
+ <define name="datatype.LEIRI">
82
+ <data type="anyURI"/>
83
+ </define>
84
+ <!--
85
+ http://www.w3.org/TR/xmlschema11-2/#anyURI
86
+ http://tools.ietf.org/html/rfc3986#appendix-B
87
+ http://www.w3.org/TR/html5/urls.html#valid-url-potentially-surrounded-by-spaces
88
+ -->
89
+ <define name="datatype.URI">
90
+ <data type="anyURI"/>
91
+ </define>
92
+ <define name="datatype.URI.absolute">
93
+ <data type="anyURI"/>
94
+ </define>
95
+ <define name="datatype.IRI">
96
+ <ref name="datatype.URI"/>
97
+ </define>
98
+ <define name="datatype.character.encoding">
99
+ <ref name="datatype.iana.charset"/>
100
+ </define>
101
+ <define name="datatype.iana.charset">
102
+ <data type="NMTOKEN"/>
103
+ </define>
104
+ <!--
105
+ http://www.w3.org/TR/html5/infrastructure.html#valid-mime-type
106
+ http://tools.ietf.org/html/rfc4288#section-4.2
107
+ http://tools.ietf.org/html/rfc2616#section-3.7
108
+ -->
109
+ <define name="datatype.mimetype">
110
+ <data type="string">
111
+ <param name="pattern">[a-zA-Z0-9!#$&amp;+\-\^_]+/[a-zA-Z0-9!#$&amp;+\-\^_]+.*</param>
112
+ </data>
113
+ </define>
114
+ <define name="datatype.mimetype.nocharset">
115
+ <ref name="datatype.mimetype"/>
116
+ </define>
117
+ <!--
118
+ http://www.w3.org/TR/xmlschema11-2/#nonNegativeInteger
119
+ http://www.w3.org/TR/html5/common-microsyntaxes.html#non-negative-integers
120
+ -->
121
+ <define name="datatype.non-negative.integer">
122
+ <data type="nonNegativeInteger"/>
123
+ </define>
124
+ <!-- http://www.w3.org/TR/xmlschema11-2/#positiveInteger -->
125
+ <define name="datatype.positive.integer">
126
+ <data type="positiveInteger"/>
127
+ </define>
128
+ <!-- http://www.w3.org/TR/xmlschema11-2/#integer -->
129
+ <define name="datatype.integer">
130
+ <data type="integer"/>
131
+ </define>
132
+ <!--
133
+ http://www.w3.org/TR/xmlschema11-2/#nt-floatRep
134
+ http://www.w3.org/TR/html5/common-microsyntaxes.html#real-numbers
135
+ -->
136
+ <define name="datatype.float">
137
+ <data type="float"/>
138
+ </define>
139
+ <define name="datatype.float.positive">
140
+ <data type="float">
141
+ <param name="minExclusive">0</param>
142
+ </data>
143
+ </define>
144
+ <define name="datatype.float.non-negative">
145
+ <data type="float">
146
+ <param name="minInclusive">0</param>
147
+ </data>
148
+ </define>
149
+ <define name="datatype.token">
150
+ <data type="string">
151
+ <param name="pattern">[^\s]+</param>
152
+ </data>
153
+ </define>
154
+ <define name="datatype.space.separated.tokens">
155
+ <list>
156
+ <zeroOrMore>
157
+ <ref name="datatype.token"/>
158
+ </zeroOrMore>
159
+ </list>
160
+ </define>
161
+ </div>
162
+ <div xml:id="datatypes-smil">
163
+ <!--
164
+ http://www.w3.org/TR/smil/smil-timing.html#TimingSyntax-Full-clock-value
165
+ http://www.w3.org/TR/smil/smil-timing.html#TimingSyntax-Partial-clock-value
166
+ http://www.w3.org/TR/smil/smil-timing.html#TimingSyntax-Timecount-value
167
+ -->
168
+ <define name="datatype.smil.npt">
169
+ <choice>
170
+ <data type="string">
171
+ <param name="pattern">(\s*)[0-9]+:[0-5][0-9]:[0-5][0-9](\.[0-9]+)?(\s*)</param>
172
+ </data>
173
+ <data type="string">
174
+ <param name="pattern">(\s*)[0-5][0-9]:[0-5][0-9](\.[0-9]+)?(\s*)</param>
175
+ </data>
176
+ <data type="string">
177
+ <param name="pattern">(\s*)[0-9]+(\.[0-9]+)?(h|min|s|ms)?(\s*)</param>
178
+ </data>
179
+ </choice>
180
+ </define>
181
+ </div>
182
+ <div xml:id="datatypes-vocab">
183
+ <define name="datatype.property">
184
+ <data type="NMTOKEN"/>
185
+ </define>
186
+ <define name="datatype.properties">
187
+ <data type="NMTOKENS"/>
188
+ </define>
189
+ <define name="datatype.prefixdecl">
190
+ <text/>
191
+ </define>
192
+ <!-- \s*([\i-[:]][\c-[:]]*: +[^ ]+)(\s+[\i-[:]][\c-[:]]*: +[^ ]+)*\s* -->
193
+ </div>
194
+ <div xml:id="datatypes-ssml">
195
+ <!-- http://www.w3.org/TR/speech-synthesis11/#edef_phoneme -->
196
+ <define name="datatype.ssml.PhoneticExpression">
197
+ <data type="string"/>
198
+ </define>
199
+ <define name="datatype.ssml.PhoneticAlphabet">
200
+ <data type="string">
201
+ <param name="pattern">(ipa|x-.+)</param>
202
+ </data>
203
+ </define>
204
+ </div>
205
+ <div xml:id="datatypes-html5">
206
+ <define name="datatype.html5.browsing.context.name.or.keyword">
207
+ <data type="string">
208
+ <param name="pattern">()|([^_].*)|(_[bB][lL][aA][nN][kK])|(_[sS][eE][lL][fF])|(_[pP][aA][rR][eE][nN][tT])|(_[tT][oO][pP])</param>
209
+ </data>
210
+ </define>
211
+ <define name="datatype.html5.browsing.context.name">
212
+ <data type="string">
213
+ <param name="pattern">()|([^_].*)</param>
214
+ </data>
215
+ </define>
216
+ <define name="datatype.html5.token">
217
+ <data type="string">
218
+ <param name="pattern">[^\s]+</param>
219
+ </data>
220
+ </define>
221
+ <!-- http://www.w3.org/TR/html5/common-microsyntaxes.html#space-separated-tokens -->
222
+ <define name="datatype.html5.space.separated.tokens">
223
+ <list>
224
+ <zeroOrMore>
225
+ <ref name="datatype.html5.token"/>
226
+ </zeroOrMore>
227
+ </list>
228
+ </define>
229
+ <define name="datatype.html5.ordered.set.unique.tokens">
230
+ <ref name="datatype.html5.space.separated.tokens"/>
231
+ </define>
232
+ <define name="datatype.html5.URL.spaces">
233
+ <ref name="datatype.URI"/>
234
+ </define>
235
+ <!--
236
+ http://dev.w3.org/csswg/css3-mediaqueries/#syntax
237
+ http://www.w3.org/TR/html5/common-microsyntaxes.html#mq
238
+ -->
239
+ <define name="datatype.html5.media.query">
240
+ <data type="string"/>
241
+ </define>
242
+ <define name="datatype.html5.name">
243
+ <data type="string"/>
244
+ </define>
245
+ <define name="datatype.html5.name.reference">
246
+ <data type="string">
247
+ <param name="pattern">#.+</param>
248
+ </data>
249
+ </define>
250
+ <define name="datatype.html5.year">
251
+ <data type="token">
252
+ <param name="pattern">[0-9]{4}</param>
253
+ </data>
254
+ </define>
255
+ <define name="datatype.html5.yearless">
256
+ <data type="token">
257
+ <param name="pattern">(--)?(0[0-9]|1[0-2])-(0[0-9]|[1-2][0-9]|3[0-1])</param>
258
+ </data>
259
+ </define>
260
+ <define name="datatype.html5.duration">
261
+ <data type="token">
262
+ <param name="pattern">(((P[0-9]+D)|(P([0-9]+D)?T((([0-9]+H)([0-9]+M)?([0-9]+(\.[0-9]{1,3})?S)?)|(([0-9]+H)?([0-9]+M)([0-9]+(\.[0-9]{1,3})?S)?)|(([0-9]+H)?([0-9]+M)?([0-9]+(\.[0-9]{1,3})?S)))))|( *(([0-9]+ *[WDHM])|([0-9]+(\.[0-9]{1,3})? *S)) *)+)</param>
263
+ </data>
264
+ </define>
265
+ <!-- http://www.w3.org/TR/html5/common-microsyntaxes.html#months -->
266
+ <define name="datatype.html5.month">
267
+ <data type="token">
268
+ <param name="pattern">([0-9]{4,})-([0-9]{2})</param>
269
+ </data>
270
+ </define>
271
+ <!-- http://www.w3.org/TR/html5/common-microsyntaxes.html#dates -->
272
+ <define name="datatype.html5.date">
273
+ <data type="token">
274
+ <param name="pattern">([0-9]{4,})-([0-9]{2})-([0-9]{2})</param>
275
+ </data>
276
+ </define>
277
+ <!-- http://www.w3.org/TR/html5/common-microsyntaxes.html#times -->
278
+ <define name="datatype.html5.time">
279
+ <data type="token">
280
+ <param name="pattern">([0-9]{2}):([0-9]{2})(:[0-9]{2}(\.[0-9]{1,3})?)?</param>
281
+ </data>
282
+ </define>
283
+ <!-- http://www.w3.org/TR/html5/common-microsyntaxes.html#local-dates-and-times -->
284
+ <define name="datatype.html5.datetime.local">
285
+ <data type="token">
286
+ <param name="pattern">([0-9]{4,})-([0-9]{2})-([0-9]{2})([T ])([0-9]{2}):([0-9]{2})(:[0-9]{2}(\.[0-9]{1,3})?)?</param>
287
+ </data>
288
+ </define>
289
+ <!-- http://www.w3.org/TR/html5/common-microsyntaxes.html#global-dates-and-times -->
290
+ <define name="datatype.html5.datetime.global">
291
+ <data type="token">
292
+ <param name="pattern">([0-9]{4,})-([0-9]{2})-([0-9]{2})([T ])([0-9]{2}):([0-9]{2})(:[0-9]{2}(\.[0-9]{1,3})?)?(Z|((\+|-)([0-9]{2}):?([0-9]{2})))?</param>
293
+ </data>
294
+ </define>
295
+ <define name="datatype.html5.datetime">
296
+ <ref name="datatype.html5.datetime.global"/>
297
+ </define>
298
+ <!-- http://www.w3.org/TR/html5/common-microsyntaxes.html#vaguer-moments-in-time -->
299
+ <define name="datatype.html5.date.or.time">
300
+ <choice>
301
+ <ref name="datatype.html5.year"/>
302
+ <ref name="datatype.html5.yearless"/>
303
+ <ref name="datatype.html5.week"/>
304
+ <ref name="datatype.html5.date"/>
305
+ <ref name="datatype.html5.month"/>
306
+ <ref name="datatype.html5.time"/>
307
+ <ref name="datatype.html5.datetime.global"/>
308
+ <ref name="datatype.html5.duration"/>
309
+ </choice>
310
+ </define>
311
+ <!-- http://www.w3.org/TR/html5/common-microsyntaxes.html#vaguer-moments-in-time -->
312
+ <define name="datatype.html5.date.optional.time">
313
+ <choice>
314
+ <ref name="datatype.html5.date"/>
315
+ <ref name="datatype.html5.datetime.global"/>
316
+ </choice>
317
+ </define>
318
+ <define name="datatype.html5.week">
319
+ <data type="token">
320
+ <param name="pattern">([0-9]{4,})-W([0-9]{2})</param>
321
+ </data>
322
+ </define>
323
+ <define name="datatype.html5.accesskey">
324
+ <ref name="datatype.html5.ordered.set.unique.tokens"/>
325
+ </define>
326
+ <define name="datatype.html5.coords.rectangle">
327
+ <data type="token">
328
+ <param name="pattern">-?[0-9]+,-?[0-9]+,-?[0-9]+,-?[0-9]+</param>
329
+ </data>
330
+ </define>
331
+ <define name="datatype.html5.coords.circle">
332
+ <data type="token">
333
+ <param name="pattern">-?[0-9]+,-?[0-9]+,[0-9]+</param>
334
+ </data>
335
+ </define>
336
+ <define name="datatype.html5.coords.poly">
337
+ <data type="token">
338
+ <param name="pattern">-?[0-9]+,-?[0-9]+,-?[0-9]+,-?[0-9]+,-?[0-9]+,-?[0-9]+(,-?[0-9]+,-?[0-9]+)*</param>
339
+ </data>
340
+ </define>
341
+ <define name="datatype.html5.js">
342
+ <data type="string"/>
343
+ </define>
344
+ <define name="datatype.html5.script">
345
+ <data type="string"/>
346
+ </define>
347
+ <define name="datatype.html5.script.documentation">
348
+ <data type="string"/>
349
+ </define>
350
+ <define name="datatype.html5.iframe.srcdoc.xml">
351
+ <data type="string"/>
352
+ </define>
353
+ <define name="datatype.style">
354
+ <data type="string"/>
355
+ </define>
356
+ <define name="datatype.html5.sizes">
357
+ <list>
358
+ <oneOrMore>
359
+ <data type="string">
360
+ <param name="pattern">[1-9][0-9]*x[1-9][0-9]*</param>
361
+ </data>
362
+ </oneOrMore>
363
+ </list>
364
+ </define>
365
+ <define name="datatype.html5.emailaddress">
366
+ <data type="string">
367
+ <param name="pattern">[^@]+@[^@]+</param>
368
+ </data>
369
+ </define>
370
+ <define name="datatype.html5.emailaddresslist">
371
+ <data type="string">
372
+ <param name="pattern">([^@]+@[^@]+,)*([^@]+@[^@]+)</param>
373
+ </data>
374
+ </define>
375
+ <!-- http://www.w3.org/TR/html5/common-microsyntaxes.html#colors -->
376
+ <define name="datatype.html5.color">
377
+ <data type="string">
378
+ <param name="pattern">#([A-Fa-f0-9]{6})</param>
379
+ </data>
380
+ </define>
381
+ </div>
382
+ <div xml:id="datatypes-html5forms">
383
+ <define name="datatype.html5.forms.mimetypelist">
384
+ <data type="string"/>
385
+ </define>
386
+ <!-- http://www.w3.org/TR/html5/forms.html#attr-form-accept-charset -->
387
+ <define name="datatype.html5.forms.charsetlist">
388
+ <list>
389
+ <oneOrMore>
390
+ <ref name="datatype.character.encoding"/>
391
+ </oneOrMore>
392
+ </list>
393
+ </define>
394
+ <define name="datatype.html5.forms.pattern">
395
+ <data type="string"/>
396
+ </define>
397
+ <define name="datatype.html5.forms.string.nolinebreaks">
398
+ <data type="string"/>
399
+ </define>
400
+ </div>
401
+ </grammar>