@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,420 @@
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="http://www.w3.org/2001/XMLSchema-datatypes">
3
+ <!-- ##################################################################### -->
4
+ <define name="tables.attrs.alignment">
5
+ <a:documentation> RELAX NG Schema for HTML 5: Tables #</a:documentation>
6
+ <!-- ##################################################################### -->
7
+ <!-- ##################################################################### -->
8
+ <a:documentation>Table Envelope</a:documentation>
9
+ <a:documentation>Table Datatypes</a:documentation>
10
+ <!--
11
+ tables.data.multilen =
12
+ ( common.data.integer.positive
13
+ | common.data.percent
14
+ | xsd:token { pattern = "[0-9]+\*" } #REVISIT should this one be string?
15
+ )
16
+ -->
17
+ <a:documentation>Table Alignment Attributes</a:documentation>
18
+ <interleave>
19
+ <optional>
20
+ <ref name="tables.attrs.align"/>
21
+ </optional>
22
+ <optional>
23
+ <ref name="tables.attrs.char"/>
24
+ </optional>
25
+ <optional>
26
+ <ref name="tables.attrs.valign"/>
27
+ </optional>
28
+ </interleave>
29
+ </define>
30
+ <define name="tables.attrs.align">
31
+ <attribute name="align">
32
+ <choice>
33
+ <value>left</value>
34
+ <value>center</value>
35
+ <value>right</value>
36
+ <value>justify</value>
37
+ <value>char</value>
38
+ </choice>
39
+ </attribute>
40
+ </define>
41
+ <define name="tables.attrs.char">
42
+ <attribute name="char">
43
+ <data type="string">
44
+ <param name="pattern">.</param>
45
+ </data>
46
+ </attribute>
47
+ </define>
48
+ <define name="tables.attrs.valign">
49
+ <attribute name="valign">
50
+ <choice>
51
+ <value>top</value>
52
+ <value>middle</value>
53
+ <value>bottom</value>
54
+ <value>baseline</value>
55
+ </choice>
56
+ </attribute>
57
+ </define>
58
+ <define name="table.elem">
59
+ <a:documentation>Data Table: &lt;table&gt;</a:documentation>
60
+ <element name="table">
61
+ <interleave>
62
+ <ref name="table.inner"/>
63
+ <ref name="table.attrs"/>
64
+ </interleave>
65
+ </element>
66
+ </define>
67
+ <define name="table.attrs">
68
+ <interleave>
69
+ <ref name="common.attrs"/>
70
+ <optional>
71
+ <choice>
72
+ <ref name="common.attrs.aria.implicit.table"/>
73
+ <ref name="common.attrs.aria"/>
74
+ </choice>
75
+ </optional>
76
+ </interleave>
77
+ </define>
78
+ <define name="table.inner">
79
+ <optional>
80
+ <ref name="caption.elem"/>
81
+ </optional>
82
+ <zeroOrMore>
83
+ <ref name="common.elem.script-supporting"/>
84
+ </zeroOrMore>
85
+ <zeroOrMore>
86
+ <ref name="colgroup.elem"/>
87
+ </zeroOrMore>
88
+ <zeroOrMore>
89
+ <ref name="common.elem.script-supporting"/>
90
+ </zeroOrMore>
91
+ <optional>
92
+ <ref name="thead.elem"/>
93
+ </optional>
94
+ <zeroOrMore>
95
+ <ref name="common.elem.script-supporting"/>
96
+ </zeroOrMore>
97
+ <group>
98
+ <choice>
99
+ <zeroOrMore>
100
+ <ref name="tbody.elem"/>
101
+ </zeroOrMore>
102
+ <oneOrMore>
103
+ <ref name="tr.elem"/>
104
+ </oneOrMore>
105
+ </choice>
106
+ <zeroOrMore>
107
+ <ref name="common.elem.script-supporting"/>
108
+ </zeroOrMore>
109
+ <optional>
110
+ <ref name="tfoot.elem"/>
111
+ </optional>
112
+ </group>
113
+ </define>
114
+ <define name="common.elem.flow" combine="choice">
115
+ <ref name="table.elem"/>
116
+ </define>
117
+ <define name="caption.elem">
118
+ <a:documentation>Table Caption: &lt;caption&gt;</a:documentation>
119
+ <element name="caption">
120
+ <interleave>
121
+ <ref name="caption.inner"/>
122
+ <ref name="caption.attrs"/>
123
+ </interleave>
124
+ </element>
125
+ </define>
126
+ <define name="caption.attrs">
127
+ <ref name="common.attrs"/>
128
+ </define>
129
+ <define name="caption.inner">
130
+ <ref name="common.inner.flow"/>
131
+ </define>
132
+ <!-- ##################################################################### -->
133
+ <define name="colgroup.elem">
134
+ <a:documentation>Table Super Structure</a:documentation>
135
+ <a:documentation>Table Column Group: &lt;colgroup&gt;</a:documentation>
136
+ <element name="colgroup">
137
+ <interleave>
138
+ <ref name="colgroup.inner"/>
139
+ <ref name="colgroup.attrs"/>
140
+ </interleave>
141
+ </element>
142
+ </define>
143
+ <define name="colgroup.attrs">
144
+ <ref name="common.attrs"/>
145
+ </define>
146
+ <define name="colgroup.attrs.span">
147
+ <attribute name="span">
148
+ <ref name="common.data.integer.positive"/>
149
+ </attribute>
150
+ </define>
151
+ <define name="colgroup.inner">
152
+ <choice>
153
+ <interleave>
154
+ <zeroOrMore>
155
+ <ref name="col.elem"/>
156
+ </zeroOrMore>
157
+ <zeroOrMore>
158
+ <ref name="common.elem.script-supporting"/>
159
+ </zeroOrMore>
160
+ </interleave>
161
+ <optional>
162
+ <ref name="colgroup.attrs.span"/>
163
+ </optional>
164
+ </choice>
165
+ </define>
166
+ <define name="col.elem">
167
+ <a:documentation>Table Column: &lt;col&gt;</a:documentation>
168
+ <element name="col">
169
+ <interleave>
170
+ <ref name="col.inner"/>
171
+ <ref name="col.attrs"/>
172
+ </interleave>
173
+ </element>
174
+ </define>
175
+ <define name="col.attrs">
176
+ <interleave>
177
+ <ref name="common.attrs"/>
178
+ <optional>
179
+ <ref name="col.attrs.span"/>
180
+ </optional>
181
+ </interleave>
182
+ </define>
183
+ <define name="col.attrs.span">
184
+ <attribute name="span">
185
+ <ref name="common.data.integer.positive"/>
186
+ </attribute>
187
+ </define>
188
+ <define name="col.inner">
189
+ <empty/>
190
+ </define>
191
+ <define name="thead.elem">
192
+ <a:documentation>Table Header Row Group</a:documentation>
193
+ <element name="thead">
194
+ <interleave>
195
+ <ref name="thead.inner"/>
196
+ <ref name="thead.attrs"/>
197
+ </interleave>
198
+ </element>
199
+ </define>
200
+ <define name="thead.attrs">
201
+ <interleave>
202
+ <ref name="common.attrs"/>
203
+ <optional>
204
+ <choice>
205
+ <ref name="common.attrs.aria.implicit.rowgroup"/>
206
+ <ref name="common.attrs.aria"/>
207
+ </choice>
208
+ </optional>
209
+ </interleave>
210
+ </define>
211
+ <define name="thead.inner">
212
+ <interleave>
213
+ <zeroOrMore>
214
+ <ref name="tr.elem"/>
215
+ </zeroOrMore>
216
+ <zeroOrMore>
217
+ <ref name="common.elem.script-supporting"/>
218
+ </zeroOrMore>
219
+ </interleave>
220
+ </define>
221
+ <define name="tfoot.elem">
222
+ <a:documentation>Table Footer Row Group</a:documentation>
223
+ <element name="tfoot">
224
+ <interleave>
225
+ <ref name="tfoot.inner"/>
226
+ <ref name="tfoot.attrs"/>
227
+ </interleave>
228
+ </element>
229
+ </define>
230
+ <define name="tfoot.attrs">
231
+ <interleave>
232
+ <ref name="common.attrs"/>
233
+ <optional>
234
+ <choice>
235
+ <ref name="common.attrs.aria.implicit.rowgroup"/>
236
+ <ref name="common.attrs.aria"/>
237
+ </choice>
238
+ </optional>
239
+ </interleave>
240
+ </define>
241
+ <define name="tfoot.inner">
242
+ <interleave>
243
+ <zeroOrMore>
244
+ <ref name="tr.elem"/>
245
+ </zeroOrMore>
246
+ <zeroOrMore>
247
+ <ref name="common.elem.script-supporting"/>
248
+ </zeroOrMore>
249
+ </interleave>
250
+ </define>
251
+ <define name="tbody.elem">
252
+ <a:documentation>Table Row Group</a:documentation>
253
+ <element name="tbody">
254
+ <interleave>
255
+ <ref name="tbody.inner"/>
256
+ <ref name="tbody.attrs"/>
257
+ </interleave>
258
+ </element>
259
+ </define>
260
+ <define name="tbody.attrs">
261
+ <interleave>
262
+ <ref name="common.attrs"/>
263
+ <optional>
264
+ <choice>
265
+ <ref name="common.attrs.aria.implicit.rowgroup"/>
266
+ <ref name="common.attrs.aria"/>
267
+ </choice>
268
+ </optional>
269
+ </interleave>
270
+ </define>
271
+ <define name="tbody.inner">
272
+ <interleave>
273
+ <zeroOrMore>
274
+ <ref name="tr.elem"/>
275
+ </zeroOrMore>
276
+ <zeroOrMore>
277
+ <ref name="common.elem.script-supporting"/>
278
+ </zeroOrMore>
279
+ </interleave>
280
+ </define>
281
+ <!-- ##################################################################### -->
282
+ <define name="tr.elem">
283
+ <a:documentation>Cell Structure</a:documentation>
284
+ <a:documentation>Table Row</a:documentation>
285
+ <element name="tr">
286
+ <interleave>
287
+ <ref name="tr.inner"/>
288
+ <ref name="tr.attrs"/>
289
+ </interleave>
290
+ </element>
291
+ </define>
292
+ <define name="tr.attrs">
293
+ <interleave>
294
+ <ref name="common.attrs"/>
295
+ <optional>
296
+ <choice>
297
+ <ref name="common.attrs.aria.implicit.row"/>
298
+ <ref name="common.attrs.aria"/>
299
+ </choice>
300
+ </optional>
301
+ </interleave>
302
+ </define>
303
+ <define name="tr.inner">
304
+ <zeroOrMore>
305
+ <choice>
306
+ <ref name="td.elem"/>
307
+ <ref name="th.elem"/>
308
+ <ref name="common.elem.script-supporting"/>
309
+ </choice>
310
+ </zeroOrMore>
311
+ </define>
312
+ <define name="tables.attrs.cell-structure">
313
+ <a:documentation>Common Table Cell Attributes</a:documentation>
314
+ <interleave>
315
+ <optional>
316
+ <ref name="tables.attrs.colspan"/>
317
+ </optional>
318
+ <optional>
319
+ <ref name="tables.attrs.rowspan"/>
320
+ </optional>
321
+ </interleave>
322
+ </define>
323
+ <define name="tables.attrs.colspan">
324
+ <attribute name="colspan">
325
+ <ref name="common.data.integer.positive"/>
326
+ </attribute>
327
+ </define>
328
+ <define name="tables.attrs.rowspan">
329
+ <attribute name="rowspan">
330
+ <ref name="common.data.integer.non-negative"/>
331
+ </attribute>
332
+ </define>
333
+ <define name="tables.attrs.access-headers">
334
+ <optional>
335
+ <ref name="tables.attrs.headers"/>
336
+ </optional>
337
+ </define>
338
+ <define name="tables.attrs.headers">
339
+ <attribute name="headers">
340
+ <ref name="common.data.idrefs"/>
341
+ </attribute>
342
+ </define>
343
+ <define name="tables.attrs.define-headers">
344
+ <optional>
345
+ <ref name="tables.attrs.scope"/>
346
+ </optional>
347
+ </define>
348
+ <define name="tables.attrs.scope">
349
+ <attribute name="scope">
350
+ <choice>
351
+ <value>row</value>
352
+ <value>col</value>
353
+ <value>rowgroup</value>
354
+ <value>colgroup</value>
355
+ </choice>
356
+ </attribute>
357
+ </define>
358
+ <define name="tables.attrs.abbr">
359
+ <attribute name="abbr"/>
360
+ </define>
361
+ <define name="td.elem">
362
+ <a:documentation>Table Data Cell: &lt;td&gt;</a:documentation>
363
+ <element name="td">
364
+ <interleave>
365
+ <ref name="td.inner"/>
366
+ <ref name="td.attrs"/>
367
+ </interleave>
368
+ </element>
369
+ </define>
370
+ <define name="td.attrs">
371
+ <interleave>
372
+ <ref name="common.attrs"/>
373
+ <ref name="tables.attrs.cell-structure"/>
374
+ <optional>
375
+ <ref name="tables.attrs.headers"/>
376
+ </optional>
377
+ <optional>
378
+ <!-- & tables.attrs.alignment -->
379
+ <choice>
380
+ <ref name="common.attrs.aria.implicit.cell"/>
381
+ <ref name="common.attrs.aria"/>
382
+ </choice>
383
+ </optional>
384
+ </interleave>
385
+ </define>
386
+ <define name="td.inner">
387
+ <ref name="common.inner.flow"/>
388
+ </define>
389
+ <define name="th.elem">
390
+ <a:documentation>Table Header Cells: &lt;th&gt;</a:documentation>
391
+ <element name="th">
392
+ <interleave>
393
+ <ref name="th.inner"/>
394
+ <ref name="th.attrs"/>
395
+ </interleave>
396
+ </element>
397
+ </define>
398
+ <define name="th.attrs">
399
+ <interleave>
400
+ <ref name="common.attrs"/>
401
+ <ref name="tables.attrs.cell-structure"/>
402
+ <optional>
403
+ <ref name="tables.attrs.scope"/>
404
+ </optional>
405
+ <optional>
406
+ <ref name="tables.attrs.headers"/>
407
+ </optional>
408
+ <!-- & tables.attrs.alignment -->
409
+ <choice>
410
+ <optional>
411
+ <ref name="common.attrs.aria"/>
412
+ </optional>
413
+ <ref name="common.attrs.aria.implicit.column-or-row-header"/>
414
+ </choice>
415
+ </interleave>
416
+ </define>
417
+ <define name="th.inner">
418
+ <ref name="common.inner.flow"/>
419
+ </define>
420
+ </grammar>
@@ -0,0 +1,184 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:c="http://n.validator.nu/custom-elements/" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="">
3
+ <!-- ##################################################################### -->
4
+ <define name="template.elem">
5
+ <a:documentation> RELAX NG Schema for HTML 5: Web Components</a:documentation>
6
+ <!-- ##################################################################### -->
7
+ <a:documentation>Templates: &lt;template&gt;</a:documentation>
8
+ <element name="template">
9
+ <interleave>
10
+ <ref name="template.inner"/>
11
+ <ref name="template.attrs"/>
12
+ </interleave>
13
+ </element>
14
+ </define>
15
+ <define name="template.attrs">
16
+ <ref name="common.attrs"/>
17
+ </define>
18
+ <define name="template.attrs.shadowrootmode">
19
+ <attribute name="shadowrootmode">
20
+ <choice>
21
+ <value>open</value>
22
+ <value>closed</value>
23
+ </choice>
24
+ </attribute>
25
+ </define>
26
+ <define name="template.attrs.shadowrootdelegatesfocus">
27
+ <attribute name="shadowrootdelegatesfocus">
28
+ <choice>
29
+ <value>true</value>
30
+ <value>false</value>
31
+ </choice>
32
+ </attribute>
33
+ </define>
34
+ <define name="template.attrs.shadowrootclonable">
35
+ <attribute name="shadowrootclonable">
36
+ <choice>
37
+ <value>true</value>
38
+ <value>false</value>
39
+ </choice>
40
+ </attribute>
41
+ </define>
42
+ <define name="template.attrs.shadowrootserializable">
43
+ <attribute name="shadowrootserializable">
44
+ <choice>
45
+ <value>true</value>
46
+ <value>false</value>
47
+ </choice>
48
+ </attribute>
49
+ </define>
50
+ <define name="template.attrs.shadowrootcustomelementregistry">
51
+ <attribute name="shadowrootcustomelementregistry">
52
+ <choice>
53
+ <value>true</value>
54
+ <value>false</value>
55
+ </choice>
56
+ </attribute>
57
+ </define>
58
+ <define name="template.inner">
59
+ <choice>
60
+ <ref name="common.inner.metadata"/>
61
+ <ref name="common.inner.flow"/>
62
+ <ref name="ol.inner"/>
63
+ <ref name="ul.inner"/>
64
+ <ref name="dl.inner"/>
65
+ <ref name="figure.inner"/>
66
+ <ref name="ruby.inner"/>
67
+ <ref name="object.inner.flow"/>
68
+ <ref name="object.inner.phrasing"/>
69
+ <ref name="video.inner.flow"/>
70
+ <ref name="video.inner.phrasing"/>
71
+ <ref name="audio.inner.flow"/>
72
+ <ref name="audio.inner.phrasing"/>
73
+ <ref name="table.inner"/>
74
+ <ref name="colgroup.inner"/>
75
+ <ref name="thead.inner"/>
76
+ <ref name="tbody.inner"/>
77
+ <ref name="tfoot.inner"/>
78
+ <ref name="tr.inner"/>
79
+ <ref name="fieldset.inner"/>
80
+ <ref name="select.inner"/>
81
+ <ref name="details.inner"/>
82
+ </choice>
83
+ </define>
84
+ <define name="common.elem.metadata" combine="choice">
85
+ <ref name="template.elem"/>
86
+ </define>
87
+ <define name="common.elem.phrasing" combine="choice">
88
+ <ref name="template.elem"/>
89
+ </define>
90
+ <define name="common.elem.script-supporting" combine="choice">
91
+ <ref name="template.elem"/>
92
+ </define>
93
+ <!-- also allow <script> wherever <template> is allowed -->
94
+ <define name="common.elem.script-supporting" combine="choice">
95
+ <ref name="script.elem"/>
96
+ </define>
97
+ <define name="common.elem.flow" combine="choice">
98
+ <a:documentation>Custom elements: &lt;foo-bar&gt;</a:documentation>
99
+ <element>
100
+ <nsName ns="http://n.validator.nu/custom-elements/"/>
101
+ <interleave>
102
+ <ref name="common.inner.transparent.flow"/>
103
+ <zeroOrMore>
104
+ <ref name="attr.any"/>
105
+ </zeroOrMore>
106
+ </interleave>
107
+ </element>
108
+ </define>
109
+ <define name="common.elem.phrasing" combine="choice">
110
+ <element>
111
+ <nsName ns="http://n.validator.nu/custom-elements/"/>
112
+ <interleave>
113
+ <ref name="common.inner.phrasing"/>
114
+ <zeroOrMore>
115
+ <ref name="attr.any"/>
116
+ </zeroOrMore>
117
+ </interleave>
118
+ </element>
119
+ </define>
120
+ <define name="attr.any">
121
+ <attribute>
122
+ <anyName/>
123
+ </attribute>
124
+ </define>
125
+ <define name="common.attrs.other" combine="interleave">
126
+ <a:documentation>The "is" attribute</a:documentation>
127
+ <optional>
128
+ <attribute name="is">
129
+ <ref name="common.data.custom.element.name"/>
130
+ </attribute>
131
+ </optional>
132
+ </define>
133
+ <define name="slot.elem.flow">
134
+ <a:documentation>Slot: &lt;slot&gt;</a:documentation>
135
+ <element name="slot">
136
+ <interleave>
137
+ <ref name="slot.inner.flow"/>
138
+ <ref name="slot.attrs"/>
139
+ </interleave>
140
+ </element>
141
+ </define>
142
+ <define name="slot.elem.phrasing">
143
+ <element name="slot">
144
+ <interleave>
145
+ <ref name="slot.inner.phrasing"/>
146
+ <ref name="slot.attrs"/>
147
+ </interleave>
148
+ </element>
149
+ </define>
150
+ <define name="slot.attrs">
151
+ <interleave>
152
+ <ref name="common.attrs"/>
153
+ <optional>
154
+ <ref name="slot.attrs.name"/>
155
+ </optional>
156
+ <optional>
157
+ <ref name="common.attrs.aria"/>
158
+ </optional>
159
+ </interleave>
160
+ </define>
161
+ <define name="slot.attrs.name">
162
+ <attribute name="name">
163
+ <data type="string"/>
164
+ </attribute>
165
+ </define>
166
+ <define name="slot.inner.flow">
167
+ <ref name="common.inner.transparent.flow"/>
168
+ </define>
169
+ <define name="slot.inner.phrasing">
170
+ <ref name="common.inner.phrasing"/>
171
+ </define>
172
+ <define name="common.elem.flow" combine="choice">
173
+ <ref name="slot.elem.flow"/>
174
+ </define>
175
+ <define name="common.elem.phrasing" combine="choice">
176
+ <ref name="slot.elem.phrasing"/>
177
+ </define>
178
+ <define name="common.attrs.other" combine="interleave">
179
+ <a:documentation>The "slot" attribute</a:documentation>
180
+ <optional>
181
+ <attribute name="slot"/>
182
+ </optional>
183
+ </define>
184
+ </grammar>