metanorma-standoc 2.9.5 → 2.9.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/lib/isodoc/html/htmlstyle.css +4 -1
  3. data/lib/metanorma/standoc/base.rb +8 -8
  4. data/lib/metanorma/standoc/basicdoc.rng +909 -464
  5. data/lib/metanorma/standoc/biblio-standoc.rng +87 -20
  6. data/lib/metanorma/standoc/biblio.rng +884 -325
  7. data/lib/metanorma/standoc/blocks.rb +1 -1
  8. data/lib/metanorma/standoc/cleanup.rb +4 -2
  9. data/lib/metanorma/standoc/cleanup_bibitem.rb +18 -6
  10. data/lib/metanorma/standoc/cleanup_boilerplate.rb +9 -93
  11. data/lib/metanorma/standoc/cleanup_inline.rb +1 -1
  12. data/lib/metanorma/standoc/cleanup_maths.rb +51 -101
  13. data/lib/metanorma/standoc/cleanup_mathvariant.rb +88 -0
  14. data/lib/metanorma/standoc/cleanup_terms.rb +4 -1
  15. data/lib/metanorma/standoc/cleanup_terms_boilerplate.rb +106 -0
  16. data/lib/metanorma/standoc/cleanup_terms_designations.rb +1 -2
  17. data/lib/metanorma/standoc/cleanup_text.rb +11 -4
  18. data/lib/metanorma/standoc/cleanup_xref.rb +1 -1
  19. data/lib/metanorma/standoc/converter.rb +2 -0
  20. data/lib/metanorma/standoc/datamodel/plantuml_renderer.rb +1 -1
  21. data/lib/metanorma/standoc/init.rb +23 -4
  22. data/lib/metanorma/standoc/inline.rb +27 -14
  23. data/lib/metanorma/standoc/isodoc.rng +1031 -912
  24. data/lib/metanorma/standoc/localbib.rb +1 -1
  25. data/lib/metanorma/standoc/macros.rb +1 -1
  26. data/lib/metanorma/standoc/macros_inline.rb +11 -9
  27. data/lib/metanorma/standoc/macros_plantuml.rb +1 -1
  28. data/lib/metanorma/standoc/ref.rb +1 -1
  29. data/lib/metanorma/standoc/ref_queue.rb +1 -1
  30. data/lib/metanorma/standoc/ref_utility.rb +7 -6
  31. data/lib/metanorma/standoc/reqt.rng +94 -72
  32. data/lib/metanorma/standoc/section.rb +2 -2
  33. data/lib/metanorma/standoc/term_lookup_cleanup.rb +2 -2
  34. data/lib/metanorma/standoc/utils.rb +4 -2
  35. data/lib/metanorma/standoc/version.rb +1 -1
  36. metadata +4 -2
@@ -1,18 +1,28 @@
1
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">
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
3
  <define name="document">
4
+ <a:documentation>Document</a:documentation>
4
5
  <element name="document">
5
6
  <optional>
6
- <attribute name="identifier"/>
7
+ <attribute name="identifier">
8
+ <a:documentation>A globally unique identifier for the document in an agreed identifier schema. The identifier is to be used for tracking interactions with the document without depending on formal document registries; it would be exemplified by a GUID, rather than a document registry identifier such as "`ISO 639`", which belongs to `bibdata`</a:documentation>
9
+ </attribute>
7
10
  </optional>
8
- <ref name="bibdata"/>
9
- <ref name="sections"/>
11
+ <ref name="bibdata">
12
+ <a:documentation>A bibliographic description, capturing bibliographic metadata about the document itself, including authors, title, and date of production</a:documentation>
13
+ </ref>
14
+ <ref name="sections">
15
+ <a:documentation>Hierarchically arranged units of textual content within the document</a:documentation>
16
+ </ref>
10
17
  <zeroOrMore>
11
- <ref name="references"/>
18
+ <ref name="references">
19
+ <a:documentation>Bibliographic content</a:documentation>
20
+ </ref>
12
21
  </zeroOrMore>
13
22
  </element>
14
23
  </define>
15
24
  <define name="bibdata">
25
+ <a:documentation>Bibliographic description of a document, used as metadata, expressed in the Relaton model</a:documentation>
16
26
  <element name="bibdata">
17
27
  <ref name="BibData"/>
18
28
  </element>
@@ -25,51 +35,71 @@
25
35
  </element>
26
36
  </define>
27
37
  <define name="section">
38
+ <a:documentation>Section: groups of blocks within text, which can also contain other sections</a:documentation>
28
39
  <element name="section">
29
40
  <ref name="Basic-Section"/>
30
41
  <zeroOrMore>
31
- <ref name="section"/>
42
+ <ref name="section">
43
+ <a:documentation>Sections contained within the current section. The relation is recursive,
44
+ so the hierarchical arrangement of sections can be arbitrarily deep</a:documentation>
45
+ </ref>
32
46
  </zeroOrMore>
33
47
  </element>
34
48
  </define>
49
+ <define name="LanguageType">
50
+ <a:documentation>Two-letter language code taken from ISO 639, indicating the language in which the content is written</a:documentation>
51
+ <text/>
52
+ </define>
53
+ <define name="ScriptType">
54
+ <a:documentation>Four-letter script code taken from ISO 15924, indicating the script in which the content is written</a:documentation>
55
+ <text/>
56
+ </define>
57
+ <define name="LocaleType">
58
+ <a:documentation>(Two-letter) Country and country subdivisions identifier taken from ISO 3166, indicating the locale in which the content is written</a:documentation>
59
+ <text/>
60
+ </define>
35
61
  <define name="Basic-Section">
62
+ <a:documentation>Group of blocks within text, which is a leaf node in the hierarchical organisation of text (does not contain any sections of its own)</a:documentation>
63
+ <ref name="Basic-Section-Attributes"/>
36
64
  <optional>
37
- <attribute name="id">
38
- <data type="ID"/>
39
- </attribute>
40
- </optional>
41
- <optional>
42
- <attribute name="language"/>
43
- </optional>
44
- <optional>
45
- <attribute name="script"/>
46
- </optional>
47
- <optional>
48
- <ref name="section-title"/>
65
+ <ref name="section-title">
66
+ <a:documentation>Title of the section</a:documentation>
67
+ </ref>
49
68
  </optional>
50
69
  <zeroOrMore>
51
- <ref name="BasicBlock"/>
70
+ <ref name="BasicBlock">
71
+ <a:documentation>Blocks, containing the textual content of the section
72
+ (but excluding subsections, which are only present in Hierarchical Sections)</a:documentation>
73
+ </ref>
52
74
  </zeroOrMore>
53
75
  </define>
76
+ <define name="Basic-Section-Attributes">
77
+ <ref name="OptionalId"/>
78
+ <ref name="LocalizedStringAttributes"/>
79
+ </define>
54
80
  <define name="references">
81
+ <a:documentation>Sections containing zero or more bibliographical items (as described in Relaton), along with any prefatory text</a:documentation>
55
82
  <element name="references">
83
+ <ref name="OptionalId"/>
56
84
  <optional>
57
- <attribute name="id">
58
- <data type="ID"/>
59
- </attribute>
60
- </optional>
61
- <optional>
62
- <ref name="section-title"/>
85
+ <ref name="section-title">
86
+ <a:documentation>Title of section</a:documentation>
87
+ </ref>
63
88
  </optional>
64
89
  <zeroOrMore>
65
- <ref name="BasicBlock"/>
90
+ <ref name="BasicBlock">
91
+ <a:documentation>Prefatory text</a:documentation>
92
+ </ref>
66
93
  </zeroOrMore>
67
94
  <zeroOrMore>
68
- <ref name="bibitem"/>
95
+ <ref name="bibitem">
96
+ <a:documentation>Bibliographical items included in the References section</a:documentation>
97
+ </ref>
69
98
  </zeroOrMore>
70
99
  </element>
71
100
  </define>
72
101
  <define name="section-title">
102
+ <a:documentation>Title of a section</a:documentation>
73
103
  <element name="title">
74
104
  <zeroOrMore>
75
105
  <ref name="TextElement"/>
@@ -77,6 +107,7 @@
77
107
  </element>
78
108
  </define>
79
109
  <define name="BasicBlock">
110
+ <a:documentation>Block of textual content</a:documentation>
80
111
  <choice>
81
112
  <ref name="paragraph-with-footnote"/>
82
113
  <ref name="table"/>
@@ -99,6 +130,7 @@
99
130
  </choice>
100
131
  </define>
101
132
  <define name="BasicBlockNoId">
133
+ <a:documentation>Block of textual content: optional ID attributes (for use in Relaton, metadata)</a:documentation>
102
134
  <choice>
103
135
  <ref name="paragraph-with-footnote-no-id"/>
104
136
  <ref name="table-no-id"/>
@@ -121,17 +153,15 @@
121
153
  </choice>
122
154
  </define>
123
155
  <define name="amend">
156
+ <a:documentation>Block describing a change in a document, intended for human readers</a:documentation>
124
157
  <element name="amend">
125
158
  <ref name="AmendType"/>
126
159
  </element>
127
160
  </define>
128
161
  <define name="AmendType">
129
- <optional>
130
- <attribute name="id">
131
- <data type="ID"/>
132
- </attribute>
133
- </optional>
162
+ <ref name="OptionalId"/>
134
163
  <attribute name="change">
164
+ <a:documentation>The type of change described in this block</a:documentation>
135
165
  <choice>
136
166
  <value>add</value>
137
167
  <value>modify</value>
@@ -140,16 +170,26 @@
140
170
  </choice>
141
171
  </attribute>
142
172
  <optional>
143
- <attribute name="path"/>
173
+ <attribute name="path">
174
+ <a:documentation>The span within location where the change applies to,
175
+ if location defines a container larger than the scope of the change</a:documentation>
176
+ </attribute>
144
177
  </optional>
145
178
  <optional>
146
- <attribute name="path_end"/>
179
+ <attribute name="path_end">
180
+ <a:documentation>The end of the span within location where the change applies to,
181
+ if location defines a container larger than the scope of the change.
182
+ Applicable to modify and delete</a:documentation>
183
+ </attribute>
147
184
  </optional>
148
185
  <optional>
149
- <attribute name="title"/>
186
+ <attribute name="title">
187
+ <a:documentation>Optional caption of this block</a:documentation>
188
+ </attribute>
150
189
  </optional>
151
190
  <optional>
152
191
  <element name="location">
192
+ <a:documentation>The location(s) in the original document which have undergone the change described in this block</a:documentation>
153
193
  <zeroOrMore>
154
194
  <choice>
155
195
  <ref name="locality"/>
@@ -160,6 +200,7 @@
160
200
  </optional>
161
201
  <optional>
162
202
  <element name="description">
203
+ <a:documentation>Description of the change described in this block</a:documentation>
163
204
  <zeroOrMore>
164
205
  <ref name="BasicBlock"/>
165
206
  </zeroOrMore>
@@ -167,27 +208,33 @@
167
208
  </optional>
168
209
  <optional>
169
210
  <element name="newcontent">
170
- <optional>
171
- <attribute name="id">
172
- <data type="ID"/>
173
- </attribute>
174
- </optional>
211
+ <a:documentation>New content to be added to the document; applicable to add and modify</a:documentation>
212
+ <ref name="OptionalId"/>
175
213
  <zeroOrMore>
176
214
  <ref name="BasicBlock"/>
177
215
  </zeroOrMore>
178
216
  </element>
179
217
  </optional>
180
218
  <zeroOrMore>
181
- <ref name="classification"/>
219
+ <ref name="classification">
220
+ <a:documentation>Classification of the change</a:documentation>
221
+ </ref>
182
222
  </zeroOrMore>
183
223
  <zeroOrMore>
184
- <ref name="contributor"/>
224
+ <ref name="contributor">
225
+ <a:documentation>Contributor responsible for the change</a:documentation>
226
+ </ref>
185
227
  </zeroOrMore>
186
228
  </define>
187
229
  <define name="classification">
230
+ <a:documentation>Key-value classification of an entity</a:documentation>
188
231
  <element name="classification">
189
- <ref name="classification_tag"/>
190
- <ref name="classification_value"/>
232
+ <ref name="classification_tag">
233
+ <a:documentation>Key for the classification</a:documentation>
234
+ </ref>
235
+ <ref name="classification_value">
236
+ <a:documentation>Value for the classification</a:documentation>
237
+ </ref>
191
238
  </element>
192
239
  </define>
193
240
  <define name="classification_tag">
@@ -201,11 +248,18 @@
201
248
  </element>
202
249
  </define>
203
250
  <define name="paragraph">
251
+ <a:documentation>Default block of textual content.
252
+ Unlike the case for other document models, paragraphs _cannot_
253
+ contain other blocks, such as lists, tables, or figures: they are modelled as a basic building block of text
254
+ Does not contain foonotes. While most paragraphs in a document can contain footnotes (paragraph-with-footnote),
255
+ the distinction is necessary, as footnotes are not appropriate for all instances of paragraph content
256
+ in a document (e.g. sourcecode annotations)</a:documentation>
204
257
  <element name="p">
205
258
  <ref name="ParagraphType"/>
206
259
  </element>
207
260
  </define>
208
261
  <define name="Alignments">
262
+ <a:documentation>The alignment of the paragraph against the margins of the document</a:documentation>
209
263
  <choice>
210
264
  <value>left</value>
211
265
  <value>right</value>
@@ -214,85 +268,105 @@
214
268
  </choice>
215
269
  </define>
216
270
  <define name="RequiredId">
271
+ <a:documentation>Mandatory anchor of element, to be used for cross-references within the document</a:documentation>
217
272
  <attribute name="id">
218
273
  <data type="ID"/>
219
274
  </attribute>
220
275
  </define>
221
276
  <define name="OptionalId">
277
+ <a:documentation>Optional anchor of element</a:documentation>
222
278
  <optional>
223
279
  <attribute name="id">
224
280
  <data type="ID"/>
225
281
  </attribute>
226
282
  </optional>
227
283
  </define>
228
- <define name="ParagraphAttrs">
284
+ <define name="ParagraphAttributes">
229
285
  <optional>
230
286
  <attribute name="align">
287
+ <a:documentation>The alignment of the paragraph against the margins of the document</a:documentation>
231
288
  <ref name="Alignments"/>
232
289
  </attribute>
233
290
  </optional>
234
291
  </define>
235
292
  <define name="ParagraphType">
236
293
  <ref name="RequiredId"/>
237
- <ref name="ParagraphAttrs"/>
294
+ <ref name="ParagraphAttributes"/>
238
295
  <ref name="ParagraphBody"/>
239
296
  </define>
240
297
  <define name="ParagraphBody">
298
+ <a:documentation>Inline elements constituting the content of the paragraph, excluding footnotes</a:documentation>
241
299
  <zeroOrMore>
242
- <ref name="TextElement"/>
300
+ <ref name="TextElement">
301
+ <a:documentation>Inline elements constituting the content of the paragraph</a:documentation>
302
+ </ref>
243
303
  </zeroOrMore>
244
304
  <zeroOrMore>
245
- <ref name="note"/>
305
+ <ref name="note">
306
+ <a:documentation>Notes whose scope is the current block</a:documentation>
307
+ </ref>
246
308
  </zeroOrMore>
247
309
  </define>
248
310
  <define name="ParagraphFnBody">
311
+ <a:documentation>Inline elements constituting the content of the paragraph, including footnotes</a:documentation>
249
312
  <zeroOrMore>
250
313
  <choice>
251
- <ref name="TextElement"/>
252
- <ref name="fn"/>
314
+ <ref name="TextElement">
315
+ <a:documentation>Inline elements constituting the content of the paragraph</a:documentation>
316
+ </ref>
317
+ <ref name="fn">
318
+ <a:documentation>Footnotes interspersed with paragraph content</a:documentation>
319
+ </ref>
253
320
  </choice>
254
321
  </zeroOrMore>
255
322
  <zeroOrMore>
256
- <ref name="note"/>
323
+ <ref name="note">
324
+ <a:documentation>Notes whose scope is the current block</a:documentation>
325
+ </ref>
257
326
  </zeroOrMore>
258
327
  </define>
259
328
  <define name="paragraph-no-id">
329
+ <a:documentation>Paragraph containing no footnotes: optional ID attributes (for use in Relaton, metadata) </a:documentation>
260
330
  <element name="p">
261
331
  <ref name="OptionalId"/>
262
- <ref name="ParagraphAttrs"/>
332
+ <ref name="ParagraphAttributes"/>
263
333
  <ref name="ParagraphBody"/>
264
334
  </element>
265
335
  </define>
266
336
  <define name="paragraph-with-footnote">
337
+ <a:documentation>A paragraph which may contain footnotes.</a:documentation>
267
338
  <element name="p">
268
339
  <ref name="RequiredId"/>
269
- <ref name="ParagraphAttrs"/>
340
+ <ref name="ParagraphAttributes"/>
270
341
  <ref name="ParagraphFnBody"/>
271
342
  </element>
272
343
  </define>
273
344
  <define name="paragraph-with-footnote-no-id">
345
+ <a:documentation>A paragraph which may contain footnotes: optional ID attributes (for use in Relaton, metadata)</a:documentation>
274
346
  <element name="p">
275
347
  <ref name="OptionalId"/>
276
- <ref name="ParagraphAttrs"/>
348
+ <ref name="ParagraphAttributes"/>
277
349
  <ref name="ParagraphFnBody"/>
278
350
  </element>
279
351
  </define>
280
352
  <define name="note">
353
+ <a:documentation>Note block</a:documentation>
281
354
  <element name="note">
282
355
  <ref name="RequiredId"/>
283
- <ref name="NoteAttr"/>
356
+ <ref name="NoteAttributes"/>
284
357
  <ref name="NoteBody"/>
285
358
  </element>
286
359
  </define>
287
360
  <define name="note-no-id">
361
+ <a:documentation>Note block: optional ID attributes (for use in Relaton, metadata)</a:documentation>
288
362
  <element name="note">
289
363
  <ref name="OptionalId"/>
290
- <ref name="NoteAttr"/>
364
+ <ref name="NoteAttributes"/>
291
365
  <ref name="NoteNoIdBody"/>
292
366
  </element>
293
367
  </define>
294
- <define name="NoteAttr">
295
- <empty/>
368
+ <define name="NoteAttributes">
369
+ <ref name="NumberingAttributes"/>
296
370
  </define>
297
371
  <define name="NoteBody">
298
372
  <oneOrMore>
@@ -305,126 +379,184 @@
305
379
  </oneOrMore>
306
380
  </define>
307
381
  <define name="review">
382
+ <a:documentation>Block intended to capture reviewer comments about some text in the document</a:documentation>
308
383
  <element name="review">
309
384
  <ref name="RequiredId"/>
310
- <attribute name="reviewer"/>
385
+ <attribute name="reviewer">
386
+ <a:documentation>The party who has offered the comment</a:documentation>
387
+ </attribute>
311
388
  <optional>
312
- <attribute name="type"/>
389
+ <attribute name="type">
390
+ <a:documentation>The type of reviewer comment</a:documentation>
391
+ </attribute>
313
392
  </optional>
314
393
  <optional>
315
394
  <attribute name="date">
395
+ <a:documentation>The date when the comment was made</a:documentation>
316
396
  <data type="dateTime"/>
317
397
  </attribute>
318
398
  </optional>
319
399
  <optional>
320
400
  <attribute name="from">
401
+ <a:documentation>Identifier for the start of the text or point in the text to which the comment applies.
402
+ If not provided, the comment applies in the vicinity of the place it has been inserted into the text</a:documentation>
321
403
  <data type="IDREF"/>
322
404
  </attribute>
323
405
  </optional>
324
406
  <optional>
325
407
  <attribute name="to">
408
+ <a:documentation>Identifier for the end of the text to which the comment applies</a:documentation>
326
409
  <data type="IDREF"/>
327
410
  </attribute>
328
411
  </optional>
329
412
  <oneOrMore>
330
- <ref name="paragraph"/>
413
+ <ref name="paragraph">
414
+ <a:documentation>Reviewer comments content</a:documentation>
415
+ </ref>
331
416
  </oneOrMore>
332
417
  </element>
333
418
  </define>
419
+ <define name="NumberingAttributes">
420
+ <optional>
421
+ <attribute name="unnumbered">
422
+ <a:documentation>Do not number this block in rendering</a:documentation>
423
+ <data type="boolean"/>
424
+ </attribute>
425
+ </optional>
426
+ <optional>
427
+ <attribute name="subsequence">
428
+ <a:documentation>Define a subsequence for numbering of this block; e.g. if this block would be numbered
429
+ as 7, but it has a subsequence value of XYZ, this block, and all consecutive blocks
430
+ of the same class and with the same subsequence value, will be numbered consecutively
431
+ with the same number and in a subsequence: 7a, 7b, 7c etc</a:documentation>
432
+ </attribute>
433
+ </optional>
434
+ </define>
334
435
  <define name="formula">
436
+ <a:documentation>Block containing a mathematical expression or other formulas</a:documentation>
335
437
  <element name="formula">
336
438
  <ref name="RequiredId"/>
337
- <ref name="FormulaAttr"/>
439
+ <ref name="FormulaAttributes"/>
338
440
  <ref name="FormulaBody"/>
339
441
  </element>
340
442
  </define>
341
443
  <define name="formula-no-id">
444
+ <a:documentation>Block containing a mathematical expression or other formulas: optional ID attributes (for use in Relaton, metadata)</a:documentation>
342
445
  <element name="formula">
343
446
  <ref name="OptionalId"/>
344
- <ref name="FormulaAttr"/>
447
+ <ref name="FormulaAttributes"/>
345
448
  <ref name="FormulaNoIdBody"/>
346
449
  </element>
347
450
  </define>
348
- <define name="FormulaAttr">
349
- <optional>
350
- <attribute name="unnumbered">
351
- <data type="boolean"/>
352
- </attribute>
353
- </optional>
354
- <optional>
355
- <attribute name="subsequence"/>
356
- </optional>
451
+ <define name="FormulaAttributes">
452
+ <ref name="NumberingAttributes"/>
357
453
  <optional>
358
454
  <attribute name="inequality">
455
+ <a:documentation>Indication that the formula is to be labelled as an Inequality, if inequalities are differentiated from equations</a:documentation>
359
456
  <data type="boolean"/>
360
457
  </attribute>
361
458
  </optional>
362
459
  </define>
363
460
  <define name="FormulaBody">
364
- <ref name="stem"/>
461
+ <ref name="stem">
462
+ <a:documentation>The content of the formula, as a mathematical expression</a:documentation>
463
+ </ref>
365
464
  <optional>
366
- <ref name="dl"/>
465
+ <ref name="dl">
466
+ <a:documentation>A definitions list defining any symbols used in the formula</a:documentation>
467
+ </ref>
367
468
  </optional>
368
469
  <zeroOrMore>
369
- <ref name="note"/>
470
+ <ref name="note">
471
+ <a:documentation>Notes whose scope is the current block</a:documentation>
472
+ </ref>
370
473
  </zeroOrMore>
371
474
  </define>
372
475
  <define name="FormulaNoIdBody">
373
- <ref name="stem"/>
476
+ <ref name="stem">
477
+ <a:documentation>The content of the formula, as a mathematical expression</a:documentation>
478
+ </ref>
374
479
  <optional>
375
- <ref name="dl-no-id"/>
480
+ <ref name="dl-no-id">
481
+ <a:documentation>A definitions list defining any symbols used in the formula</a:documentation>
482
+ </ref>
376
483
  </optional>
377
484
  <zeroOrMore>
378
- <ref name="note-no-id"/>
485
+ <ref name="note-no-id">
486
+ <a:documentation>Notes whose scope is the current block</a:documentation>
487
+ </ref>
379
488
  </zeroOrMore>
380
489
  </define>
381
490
  <define name="quote">
491
+ <a:documentation>Block quotation, containing extensive textual content originally authored outside of the current document</a:documentation>
382
492
  <element name="quote">
383
493
  <ref name="RequiredId"/>
384
- <ref name="QuoteAttr"/>
494
+ <ref name="QuoteAttributes"/>
385
495
  <ref name="QuoteBody"/>
386
496
  </element>
387
497
  </define>
388
498
  <define name="quote-no-id">
499
+ <a:documentation>Block quotation: optional ID attributes (for use in Relaton, metadata)</a:documentation>
389
500
  <element name="quote">
390
501
  <ref name="OptionalId"/>
391
- <ref name="QuoteAttr"/>
502
+ <ref name="QuoteAttributes"/>
392
503
  <ref name="QuoteNoIdBody"/>
393
504
  </element>
394
505
  </define>
395
- <define name="QuoteAttr">
506
+ <define name="QuoteAttributes">
396
507
  <optional>
397
508
  <attribute name="alignment">
509
+ <a:documentation>The alignment of the quote against the margins of the document</a:documentation>
398
510
  <ref name="Alignments"/>
399
511
  </attribute>
400
512
  </optional>
401
513
  </define>
402
514
  <define name="QuoteBody">
403
515
  <optional>
404
- <ref name="quote-source"/>
516
+ <ref name="quote-source">
517
+ <a:documentation>Bibliographic citation for the quotation</a:documentation>
518
+ </ref>
405
519
  </optional>
406
520
  <optional>
407
- <ref name="quote-author"/>
521
+ <ref name="quote-author">
522
+ <a:documentation>Author of the quotation. The `author` attribute of the quotation is redundant with `source`,
523
+ since it restates information about the author that should be recoverable from the `source` citation.
524
+ It is included for convenience, in case processing the citation to extract the author is prohibitive for rendering tools</a:documentation>
525
+ </ref>
408
526
  </optional>
409
527
  <oneOrMore>
410
- <ref name="paragraph-with-footnote"/>
528
+ <ref name="paragraph-with-footnote">
529
+ <a:documentation>Content of quote</a:documentation>
530
+ </ref>
411
531
  </oneOrMore>
412
532
  <zeroOrMore>
413
- <ref name="note"/>
533
+ <ref name="note">
534
+ <a:documentation>Notes whose scope is the current block</a:documentation>
535
+ </ref>
414
536
  </zeroOrMore>
415
537
  </define>
416
538
  <define name="QuoteNoIdBody">
417
539
  <optional>
418
- <ref name="quote-source"/>
540
+ <ref name="quote-source">
541
+ <a:documentation>Bibliographic citation for the quotation</a:documentation>
542
+ </ref>
419
543
  </optional>
420
544
  <optional>
421
- <ref name="quote-author"/>
545
+ <ref name="quote-author">
546
+ <a:documentation>Author of the quotation. The `author` attribute of the quotation is redundant with `source`,
547
+ since it restates information about the author that should be recoverable from the `source` citation.
548
+ It is included for convenience, in case processing the citation to extract the author is prohibitive for rendering tools</a:documentation>
549
+ </ref>
422
550
  </optional>
423
551
  <oneOrMore>
424
- <ref name="paragraph-with-footnote-no-id"/>
552
+ <ref name="paragraph-with-footnote-no-id">
553
+ <a:documentation>Content of quote</a:documentation>
554
+ </ref>
425
555
  </oneOrMore>
426
556
  <zeroOrMore>
427
- <ref name="note-no-id"/>
557
+ <ref name="note-no-id">
558
+ <a:documentation>Notes whose scope is the current block</a:documentation>
559
+ </ref>
428
560
  </zeroOrMore>
429
561
  </define>
430
562
  <define name="quote-source">
@@ -438,187 +570,245 @@
438
570
  </element>
439
571
  </define>
440
572
  <define name="sourcecode">
573
+ <a:documentation>Block containing computer code or comparable text</a:documentation>
441
574
  <element name="sourcecode">
442
575
  <ref name="RequiredId"/>
443
- <ref name="SourceAttr"/>
576
+ <ref name="SourceAttributes"/>
444
577
  <ref name="SourceBody"/>
445
578
  </element>
446
579
  </define>
447
580
  <define name="sourcecode-no-id">
581
+ <a:documentation>Block containing computer code or comparable text: optional ID attributes (for use in Relaton, metadata)</a:documentation>
448
582
  <element name="sourcecode">
449
583
  <ref name="OptionalId"/>
450
- <ref name="SourceAttr"/>
584
+ <ref name="SourceAttributes"/>
451
585
  <ref name="SourceNoIdBody"/>
452
586
  </element>
453
587
  </define>
454
- <define name="SourceAttr">
588
+ <define name="SourceAttributes">
589
+ <ref name="NumberingAttributes"/>
455
590
  <optional>
456
- <attribute name="unnumbered">
457
- <data type="boolean"/>
591
+ <attribute name="lang">
592
+ <a:documentation>The computer language or other notational convention that the source code is expressed in</a:documentation>
458
593
  </attribute>
459
594
  </optional>
460
- <optional>
461
- <attribute name="subsequence"/>
462
- </optional>
463
- <optional>
464
- <attribute name="lang"/>
465
- </optional>
466
595
  </define>
467
596
  <define name="SourceBody">
468
597
  <optional>
469
- <ref name="tname"/>
598
+ <ref name="tname">
599
+ <a:documentation>The caption of the block</a:documentation>
600
+ </ref>
470
601
  </optional>
471
602
  <oneOrMore>
472
603
  <choice>
473
- <text/>
474
- <ref name="callout"/>
604
+ <text>
605
+ <a:documentation>The computer code or other such text presented in the block, as a single unformatted string.
606
+ (The string should be treated as pre-formatted text, with whitespace treated as significant)</a:documentation>
607
+ </text>
608
+ <ref name="callout">
609
+ <a:documentation>Zero or more cross-references; these are intended to be embedded within the content string, and link to annotations</a:documentation>
610
+ </ref>
475
611
  </choice>
476
612
  </oneOrMore>
477
613
  <zeroOrMore>
478
- <ref name="annotation"/>
614
+ <ref name="annotation">
615
+ <a:documentation>Annotations to the source code; each annotation consists of zero or more paragraphs,
616
+ and is intended to be referenced by a callout within the source code</a:documentation>
617
+ </ref>
479
618
  </zeroOrMore>
480
619
  <zeroOrMore>
481
- <ref name="note"/>
620
+ <ref name="note">
621
+ <a:documentation>Notes whose scope is the current block</a:documentation>
622
+ </ref>
482
623
  </zeroOrMore>
483
624
  </define>
484
625
  <define name="SourceNoIdBody">
485
626
  <optional>
486
- <ref name="tname"/>
627
+ <ref name="tname">
628
+ <a:documentation>The caption of the block</a:documentation>
629
+ </ref>
487
630
  </optional>
488
631
  <oneOrMore>
489
632
  <choice>
490
- <text/>
491
- <ref name="callout"/>
633
+ <text>
634
+ <a:documentation>The computer code or other such text presented in the block, as a single unformatted string.
635
+ (The string should be treated as pre-formatted text, with whitespace treated as significant)</a:documentation>
636
+ </text>
637
+ <ref name="callout">
638
+ <a:documentation>Zero or more cross-references; these are intended to be embedded within the content string, and link to annotations</a:documentation>
639
+ </ref>
492
640
  </choice>
493
641
  </oneOrMore>
494
642
  <zeroOrMore>
495
- <ref name="annotation"/>
643
+ <ref name="annotation">
644
+ <a:documentation>Annotations to the source code; each annotation consists of zero or more paragraphs,
645
+ and is intended to be referenced by a callout within the source code</a:documentation>
646
+ </ref>
496
647
  </zeroOrMore>
497
648
  <zeroOrMore>
498
- <ref name="note-no-id"/>
649
+ <ref name="note-no-id">
650
+ <a:documentation>Notes whose scope is the current block</a:documentation>
651
+ </ref>
499
652
  </zeroOrMore>
500
653
  </define>
501
654
  <define name="pre">
655
+ <a:documentation>Pre-formatted block. Wrapper for text to be rendered with fixed-width typeface, and preserving spaces including line breaks.
656
+ They are intended for a restricted number of functions, most typically ASCII Art (which is still in prominent use in some
657
+ standards documents), and computer output. In most cases, sourcecode blocks are more appropriate in markup,
658
+ as it is more clearly motivated semantically</a:documentation>
502
659
  <element name="pre">
503
660
  <ref name="RequiredId"/>
504
- <ref name="PreAttr"/>
661
+ <ref name="PreAttributes"/>
505
662
  <ref name="PreBody"/>
506
663
  </element>
507
664
  </define>
508
665
  <define name="pre-no-id">
666
+ <a:documentation>Pre-formatted block: optional ID attributes (for use in Relaton, metadata)</a:documentation>
509
667
  <element name="pre">
510
668
  <ref name="OptionalId"/>
511
- <ref name="PreAttr"/>
669
+ <ref name="PreAttributes"/>
512
670
  <ref name="PreNoIdBody"/>
513
671
  </element>
514
672
  </define>
515
- <define name="PreAttr">
673
+ <define name="PreAttributes">
516
674
  <optional>
517
- <attribute name="alt"/>
675
+ <attribute name="alt">
676
+ <a:documentation>Accessible description of the preformatted text</a:documentation>
677
+ </attribute>
518
678
  </optional>
519
679
  </define>
520
680
  <define name="PreBody">
521
681
  <optional>
522
- <ref name="tname"/>
682
+ <ref name="tname">
683
+ <a:documentation>The caption of the block</a:documentation>
684
+ </ref>
523
685
  </optional>
524
- <text/>
686
+ <text>
687
+ <a:documentation>The pre-formatted text presented in the block, as a single unformatted string. (Whitespace is treated as significant)</a:documentation>
688
+ </text>
525
689
  <zeroOrMore>
526
- <ref name="note"/>
690
+ <ref name="note">
691
+ <a:documentation>Notes whose scope is the current block</a:documentation>
692
+ </ref>
527
693
  </zeroOrMore>
528
694
  </define>
529
695
  <define name="PreNoIdBody">
530
696
  <optional>
531
- <ref name="tname"/>
697
+ <ref name="tname">
698
+ <a:documentation>The caption of the block</a:documentation>
699
+ </ref>
532
700
  </optional>
533
- <text/>
701
+ <text>
702
+ <a:documentation>The pre-formatted text presented in the block, as a single unformatted string. (Whitespace is treated as significant)</a:documentation>
703
+ </text>
534
704
  <zeroOrMore>
535
- <ref name="note-no-id"/>
705
+ <ref name="note-no-id">
706
+ <a:documentation>Notes whose scope is the current block</a:documentation>
707
+ </ref>
536
708
  </zeroOrMore>
537
709
  </define>
538
710
  <define name="table">
711
+ <a:documentation>Tabular arrangement of text</a:documentation>
539
712
  <element name="table">
540
713
  <ref name="RequiredId"/>
541
- <ref name="TableAttr"/>
714
+ <ref name="TableAttributes"/>
542
715
  <ref name="TableBody"/>
543
716
  </element>
544
717
  </define>
545
718
  <define name="table-no-id">
719
+ <a:documentation>Tabular arrangement of text: optional ID attributes recursively (for use in Relaton, metadata)</a:documentation>
546
720
  <element name="table">
547
721
  <ref name="OptionalId"/>
548
- <ref name="TableAttr"/>
722
+ <ref name="TableAttributes"/>
549
723
  <ref name="TableNoIdBody"/>
550
724
  </element>
551
725
  </define>
552
- <define name="TableAttr">
726
+ <define name="TableAttributes">
727
+ <ref name="NumberingAttributes"/>
553
728
  <optional>
554
- <attribute name="unnumbered">
555
- <data type="boolean"/>
729
+ <attribute name="alt">
730
+ <a:documentation>Accessible description of the tabular text, in case the table cannot be rendered accessibly (HTML 5)</a:documentation>
556
731
  </attribute>
557
732
  </optional>
558
733
  <optional>
559
- <attribute name="subsequence"/>
560
- </optional>
561
- <optional>
562
- <attribute name="alt"/>
563
- </optional>
564
- <optional>
565
- <attribute name="summary"/>
734
+ <attribute name="summary">
735
+ <a:documentation>Alternative more extensive summary of table to be provided for accessibility purposes,
736
+ in case the table cannot be rendered accessibly (HTML 5)</a:documentation>
737
+ </attribute>
566
738
  </optional>
567
739
  <optional>
568
740
  <attribute name="uri">
741
+ <a:documentation>Online location of content of table (in case the table is available as a separate external document) (HTML 5)</a:documentation>
569
742
  <data type="anyURI"/>
570
743
  </attribute>
571
744
  </optional>
572
745
  </define>
573
746
  <define name="TableBody">
747
+ <a:documentation>Elements of table</a:documentation>
574
748
  <optional>
575
- <ref name="tname"/>
749
+ <ref name="tname">
750
+ <a:documentation>Caption for the table</a:documentation>
751
+ </ref>
576
752
  </optional>
577
753
  <optional>
578
- <ref name="thead"/>
754
+ <ref name="thead">
755
+ <a:documentation>Table rows constituting the table header</a:documentation>
756
+ </ref>
579
757
  </optional>
580
- <ref name="tbody"/>
758
+ <ref name="tbody">
759
+ <a:documentation>Table rows constituting the table body</a:documentation>
760
+ </ref>
581
761
  <optional>
582
- <ref name="tfoot"/>
762
+ <ref name="tfoot">
763
+ <a:documentation>Table rows constituting the table footer</a:documentation>
764
+ </ref>
583
765
  </optional>
584
766
  <optional>
585
- <ref name="dl"/>
767
+ <ref name="dl">
768
+ <a:documentation>Definitions list defining any symbols used in the table</a:documentation>
769
+ </ref>
586
770
  </optional>
587
771
  <zeroOrMore>
588
- <ref name="table-note"/>
772
+ <ref name="table-note">
773
+ <a:documentation>Notes specific to this block</a:documentation>
774
+ </ref>
589
775
  </zeroOrMore>
590
776
  </define>
591
777
  <define name="TableNoIdBody">
778
+ <a:documentation>Elements of table: optional ID attributes recursively (for use in Relaton, metadata)</a:documentation>
592
779
  <optional>
593
- <ref name="tname"/>
780
+ <ref name="tname">
781
+ <a:documentation>Caption for the table</a:documentation>
782
+ </ref>
594
783
  </optional>
595
784
  <optional>
596
- <ref name="thead-no-id"/>
785
+ <ref name="thead-no-id">
786
+ <a:documentation>Table rows constituting the table header</a:documentation>
787
+ </ref>
597
788
  </optional>
598
- <ref name="tbody-no-id"/>
789
+ <ref name="tbody-no-id">
790
+ <a:documentation>Table rows constituting the table body</a:documentation>
791
+ </ref>
599
792
  <optional>
600
- <ref name="tfoot-no-id"/>
793
+ <ref name="tfoot-no-id">
794
+ <a:documentation>Table rows constituting the table footer</a:documentation>
795
+ </ref>
601
796
  </optional>
602
797
  <optional>
603
- <ref name="dl-no-id"/>
798
+ <ref name="dl-no-id">
799
+ <a:documentation>Definitions list defining any symbols used in the table</a:documentation>
800
+ </ref>
604
801
  </optional>
605
802
  <zeroOrMore>
606
- <ref name="table-note-no-id"/>
803
+ <ref name="table-note-no-id">
804
+ <a:documentation>Notes specific to this block</a:documentation>
805
+ </ref>
607
806
  </zeroOrMore>
608
807
  </define>
609
808
  <define name="tname">
610
809
  <element name="name">
611
810
  <oneOrMore>
612
- <choice>
613
- <ref name="PureTextElement"/>
614
- <ref name="eref"/>
615
- <ref name="stem"/>
616
- <ref name="keyword"/>
617
- <ref name="xref"/>
618
- <ref name="hyperlink"/>
619
- <ref name="index"/>
620
- <ref name="index-xref"/>
621
- </choice>
811
+ <ref name="NestedTextElement"/>
622
812
  </oneOrMore>
623
813
  </element>
624
814
  </define>
@@ -667,16 +857,22 @@
667
857
  </element>
668
858
  </define>
669
859
  <define name="tr">
860
+ <a:documentation>Sequence of cells to be displayed as a row in a table</a:documentation>
670
861
  <element name="tr">
671
862
  <oneOrMore>
672
863
  <choice>
673
- <ref name="td"/>
674
- <ref name="th"/>
864
+ <ref name="td">
865
+ <a:documentation>Data cells in a table row</a:documentation>
866
+ </ref>
867
+ <ref name="th">
868
+ <a:documentation>Header cells in a table row</a:documentation>
869
+ </ref>
675
870
  </choice>
676
871
  </oneOrMore>
677
872
  </element>
678
873
  </define>
679
874
  <define name="tr-no-id">
875
+ <a:documentation>Sequence of cells to be displayed as a row in a table: optional ID attributes recursively (for use in Relaton, metadata)</a:documentation>
680
876
  <element name="tr">
681
877
  <oneOrMore>
682
878
  <choice>
@@ -687,26 +883,33 @@
687
883
  </element>
688
884
  </define>
689
885
  <define name="td">
886
+ <a:documentation>Textual content constituting a basic building block of a table: data cell</a:documentation>
690
887
  <element name="td">
691
- <ref name="TdAttr"/>
888
+ <ref name="TdAttributes"/>
692
889
  <ref name="TdBody"/>
693
890
  </element>
694
891
  </define>
695
892
  <define name="td-no-id">
893
+ <a:documentation>Data cell: optional ID attributes recursively (for use in Relaton, metadata)</a:documentation>
696
894
  <element name="td">
697
- <ref name="TdAttr"/>
895
+ <ref name="TdAttributes"/>
698
896
  <ref name="TdNoIdBody"/>
699
897
  </element>
700
898
  </define>
701
- <define name="TdAttr">
899
+ <define name="TdAttributes">
702
900
  <optional>
703
- <attribute name="colspan"/>
901
+ <attribute name="colspan">
902
+ <a:documentation>Number of columns in the underlying table grid which the cell spans</a:documentation>
903
+ </attribute>
704
904
  </optional>
705
905
  <optional>
706
- <attribute name="rowspan"/>
906
+ <attribute name="rowspan">
907
+ <a:documentation>Number of rows in the underlying table grid which the cell spans</a:documentation>
908
+ </attribute>
707
909
  </optional>
708
910
  <optional>
709
911
  <attribute name="align">
912
+ <a:documentation>Horizontal textual alignment of the cell against the underlying table grid</a:documentation>
710
913
  <choice>
711
914
  <value>left</value>
712
915
  <value>right</value>
@@ -716,6 +919,7 @@
716
919
  </optional>
717
920
  <optional>
718
921
  <attribute name="valign">
922
+ <a:documentation>Vertical alignment of the cell against the underlying table grid</a:documentation>
719
923
  <choice>
720
924
  <value>top</value>
721
925
  <value>middle</value>
@@ -728,37 +932,49 @@
728
932
  <define name="TdBody">
729
933
  <choice>
730
934
  <zeroOrMore>
731
- <ref name="TextElement"/>
935
+ <group>
936
+ <a:documentation>Table cell is a block</a:documentation>
937
+ <ref name="TextElement"/>
938
+ </group>
732
939
  </zeroOrMore>
733
940
  <oneOrMore>
734
- <ref name="paragraph-with-footnote"/>
941
+ <ref name="paragraph-with-footnote">
942
+ <a:documentation>Table cell contains a block</a:documentation>
943
+ </ref>
735
944
  </oneOrMore>
736
945
  </choice>
737
946
  </define>
738
947
  <define name="TdNoIdBody">
739
948
  <choice>
740
949
  <zeroOrMore>
741
- <ref name="TextElement"/>
950
+ <group>
951
+ <a:documentation>Table cell is a block</a:documentation>
952
+ <ref name="TextElement"/>
953
+ </group>
742
954
  </zeroOrMore>
743
955
  <oneOrMore>
744
- <ref name="paragraph-with-footnote-no-id"/>
956
+ <ref name="paragraph-with-footnote-no-id">
957
+ <a:documentation>Table cell contains a block</a:documentation>
958
+ </ref>
745
959
  </oneOrMore>
746
960
  </choice>
747
961
  </define>
748
962
  <define name="th">
963
+ <a:documentation>Textual content constituting a basic building block of a table, treated as a header: header cell</a:documentation>
749
964
  <element name="th">
750
- <ref name="ThAttr"/>
965
+ <ref name="ThAttributes"/>
751
966
  <ref name="ThBody"/>
752
967
  </element>
753
968
  </define>
754
969
  <define name="th-no-id">
970
+ <a:documentation>Header cell: optional ID attributes recursively (for use in Relaton, metadata)</a:documentation>
755
971
  <element name="th">
756
- <ref name="ThAttr"/>
972
+ <ref name="ThAttributes"/>
757
973
  <ref name="ThNoIdBody"/>
758
974
  </element>
759
975
  </define>
760
- <define name="ThAttr">
761
- <ref name="TdAttr"/>
976
+ <define name="ThAttributes">
977
+ <ref name="TdAttributes"/>
762
978
  </define>
763
979
  <define name="ThBody">
764
980
  <ref name="TdBody"/>
@@ -767,35 +983,33 @@
767
983
  <ref name="TdNoIdBody"/>
768
984
  </define>
769
985
  <define name="example">
986
+ <a:documentation>Block containing an example illustrating a claim made in the main flow of text</a:documentation>
770
987
  <element name="example">
771
988
  <ref name="RequiredId"/>
772
- <ref name="ExampleAttr"/>
989
+ <ref name="ExampleAttributes"/>
773
990
  <ref name="ExampleBody"/>
774
991
  </element>
775
992
  </define>
776
993
  <define name="example-no-id">
994
+ <a:documentation>Example block: optional ID attributes recursively (for use in Relaton, metadata)</a:documentation>
777
995
  <element name="example">
778
996
  <ref name="OptionalId"/>
779
- <ref name="ExampleAttr"/>
997
+ <ref name="ExampleAttributes"/>
780
998
  <ref name="ExampleNoIdBody"/>
781
999
  </element>
782
1000
  </define>
783
- <define name="ExampleAttr">
784
- <optional>
785
- <attribute name="unnumbered">
786
- <data type="boolean"/>
787
- </attribute>
788
- </optional>
789
- <optional>
790
- <attribute name="subsequence"/>
791
- </optional>
1001
+ <define name="ExampleAttributes">
1002
+ <ref name="NumberingAttributes"/>
792
1003
  </define>
793
1004
  <define name="ExampleBody">
794
1005
  <optional>
795
- <ref name="tname"/>
1006
+ <ref name="tname">
1007
+ <a:documentation>The caption of the example</a:documentation>
1008
+ </ref>
796
1009
  </optional>
797
1010
  <oneOrMore>
798
1011
  <choice>
1012
+ <a:documentation>Content of the example</a:documentation>
799
1013
  <ref name="formula"/>
800
1014
  <ref name="ul"/>
801
1015
  <ref name="ol"/>
@@ -806,15 +1020,20 @@
806
1020
  </choice>
807
1021
  </oneOrMore>
808
1022
  <zeroOrMore>
809
- <ref name="note"/>
1023
+ <ref name="note">
1024
+ <a:documentation>Notes whose scope is the current block</a:documentation>
1025
+ </ref>
810
1026
  </zeroOrMore>
811
1027
  </define>
812
1028
  <define name="ExampleNoIdBody">
813
1029
  <optional>
814
- <ref name="tname"/>
1030
+ <ref name="tname">
1031
+ <a:documentation>The caption of the example</a:documentation>
1032
+ </ref>
815
1033
  </optional>
816
1034
  <oneOrMore>
817
1035
  <choice>
1036
+ <a:documentation>Content of the example</a:documentation>
818
1037
  <ref name="formula-no-id"/>
819
1038
  <ref name="ul-no-id"/>
820
1039
  <ref name="ol-no-id"/>
@@ -825,102 +1044,129 @@
825
1044
  </choice>
826
1045
  </oneOrMore>
827
1046
  <zeroOrMore>
828
- <ref name="note-no-id"/>
1047
+ <ref name="note-no-id">
1048
+ <a:documentation>Notes whose scope is the current block</a:documentation>
1049
+ </ref>
829
1050
  </zeroOrMore>
830
1051
  </define>
831
1052
  <define name="admonition">
1053
+ <a:documentation>A sidebar block outside of the main flow of text, conveying particular warnings or supplementary text to the reader</a:documentation>
832
1054
  <element name="admonition">
833
1055
  <ref name="RequiredId"/>
834
- <ref name="AdmonitionAttr"/>
1056
+ <ref name="AdmonitionAttributes"/>
835
1057
  <ref name="AdmonitionBody"/>
836
1058
  </element>
837
1059
  </define>
838
1060
  <define name="admonition-no-id">
1061
+ <a:documentation>A sidebar block outside of the main flow of text: optional ID attributes recursively (for use in Relaton, metadata)</a:documentation>
839
1062
  <element name="admonition">
840
1063
  <ref name="OptionalId"/>
841
- <ref name="AdmonitionAttr"/>
1064
+ <ref name="AdmonitionAttributes"/>
842
1065
  <ref name="AdmonitionNoIdBody"/>
843
1066
  </element>
844
1067
  </define>
845
- <define name="AdmonitionAttr">
1068
+ <define name="AdmonitionAttributes">
846
1069
  <attribute name="type">
1070
+ <a:documentation>Subclass of admonition determining how it is to be rendered.
1071
+ Distinct admonition types are often associated with distinct icons or rendering</a:documentation>
847
1072
  <ref name="AdmonitionType"/>
848
1073
  </attribute>
849
1074
  <optional>
850
- <attribute name="class"/>
1075
+ <attribute name="class">
1076
+ <a:documentation>Subclass of admonition, allowing different runs of admonitions to be labelled
1077
+ and auto-numbered differently, even if they are of the same type.
1078
+ Typically is a subclass of an admonition type</a:documentation>
1079
+ </attribute>
851
1080
  </optional>
852
1081
  <optional>
853
1082
  <attribute name="uri">
1083
+ <a:documentation>Location where the content of the admonition is accessible as an external document</a:documentation>
854
1084
  <data type="anyURI"/>
855
1085
  </attribute>
856
1086
  </optional>
857
1087
  </define>
858
1088
  <define name="AdmonitionBody">
859
1089
  <optional>
860
- <ref name="tname"/>
1090
+ <ref name="tname">
1091
+ <a:documentation>Caption of admonition</a:documentation>
1092
+ </ref>
861
1093
  </optional>
862
1094
  <zeroOrMore>
863
- <ref name="paragraph-with-footnote"/>
1095
+ <ref name="paragraph-with-footnote">
1096
+ <a:documentation>Admonition content</a:documentation>
1097
+ </ref>
864
1098
  </zeroOrMore>
865
1099
  <zeroOrMore>
866
- <ref name="note"/>
1100
+ <ref name="note">
1101
+ <a:documentation>Notes whose scope is the current block</a:documentation>
1102
+ </ref>
867
1103
  </zeroOrMore>
868
1104
  </define>
869
1105
  <define name="AdmonitionNoIdBody">
870
1106
  <optional>
871
- <ref name="tname"/>
1107
+ <ref name="tname">
1108
+ <a:documentation>Caption of admonition</a:documentation>
1109
+ </ref>
872
1110
  </optional>
873
1111
  <zeroOrMore>
874
- <ref name="paragraph-with-footnote-no-id"/>
1112
+ <ref name="paragraph-with-footnote-no-id">
1113
+ <a:documentation>Admonition content</a:documentation>
1114
+ </ref>
875
1115
  </zeroOrMore>
876
1116
  <zeroOrMore>
877
- <ref name="note-no-id"/>
1117
+ <ref name="note-no-id">
1118
+ <a:documentation>Notes whose scope is the current block</a:documentation>
1119
+ </ref>
878
1120
  </zeroOrMore>
879
1121
  </define>
880
1122
  <define name="AdmonitionType">
1123
+ <a:documentation>Subclass of admonition determining how it is to be rendered</a:documentation>
881
1124
  <choice>
882
1125
  <value>warning</value>
1126
+ <a:documentation>Warning to reader, note of risk to be avoided</a:documentation>
883
1127
  <value>note</value>
1128
+ <a:documentation>Supplementary, explanatory information</a:documentation>
884
1129
  <value>tip</value>
1130
+ <a:documentation>Instructive information to assist in the fulfilment of tasks related to content</a:documentation>
885
1131
  <value>important</value>
1132
+ <a:documentation>Note to reader of something crucial to be borne in mind</a:documentation>
886
1133
  <value>caution</value>
1134
+ <a:documentation>Caution to reader, note of potential surprise or difficulty</a:documentation>
887
1135
  </choice>
888
1136
  </define>
889
1137
  <define name="figure">
1138
+ <a:documentation>Block containing a figure: a visual rather than textual asset, possibly with accompanying text</a:documentation>
890
1139
  <element name="figure">
891
1140
  <ref name="RequiredId"/>
892
- <ref name="FigureAttr"/>
1141
+ <ref name="FigureAttributes"/>
893
1142
  <ref name="FigureBody"/>
894
1143
  </element>
895
1144
  </define>
896
1145
  <define name="figure-no-id">
1146
+ <a:documentation>Block containing a figure: optional ID attributes recursively (for use in Relaton, metadata)</a:documentation>
897
1147
  <element name="figure">
898
1148
  <ref name="OptionalId"/>
899
- <ref name="FigureAttr"/>
1149
+ <ref name="FigureAttributes"/>
900
1150
  <ref name="FigureNoIdBody"/>
901
1151
  </element>
902
1152
  </define>
903
- <define name="FigureAttr">
1153
+ <define name="FigureAttributes">
1154
+ <ref name="NumberingAttributes"/>
904
1155
  <optional>
905
- <attribute name="unnumbered">
906
- <data type="boolean"/>
1156
+ <attribute name="class">
1157
+ <a:documentation>The semantic category of the figure. This is to allow different classes of figure (e.g. _Plate_, _Chart_, _Diagram_)
1158
+ to be auto-numbered and captioned differently</a:documentation>
907
1159
  </attribute>
908
1160
  </optional>
909
- <optional>
910
- <attribute name="subsequence"/>
911
- </optional>
912
- <optional>
913
- <attribute name="class"/>
914
- </optional>
915
1161
  </define>
916
1162
  <define name="FigureBody">
917
1163
  <optional>
918
- <ref name="source"/>
919
- </optional>
920
- <optional>
921
- <ref name="tname"/>
1164
+ <ref name="tname">
1165
+ <a:documentation>The caption of the block</a:documentation>
1166
+ </ref>
922
1167
  </optional>
923
1168
  <choice>
1169
+ <a:documentation>Content of the figure</a:documentation>
924
1170
  <ref name="image"/>
925
1171
  <ref name="video"/>
926
1172
  <ref name="audio"/>
@@ -933,23 +1179,39 @@
933
1179
  </zeroOrMore>
934
1180
  </choice>
935
1181
  <zeroOrMore>
936
- <ref name="fn"/>
1182
+ <ref name="fn">
1183
+ <a:documentation>Footnotes specific to the figure</a:documentation>
1184
+ </ref>
937
1185
  </zeroOrMore>
938
1186
  <optional>
939
- <ref name="dl"/>
1187
+ <ref name="dl">
1188
+ <a:documentation>An optional definitions list defining any symbols used in the figure</a:documentation>
1189
+ </ref>
940
1190
  </optional>
941
1191
  <zeroOrMore>
942
- <ref name="note"/>
1192
+ <ref name="note">
1193
+ <a:documentation>Notes whose scope is the current block</a:documentation>
1194
+ </ref>
943
1195
  </zeroOrMore>
1196
+ <optional>
1197
+ <ref name="source">
1198
+ <a:documentation>A URI or other reference intended to link to an externally hosted image (or equivalent)</a:documentation>
1199
+ </ref>
1200
+ </optional>
944
1201
  </define>
945
1202
  <define name="FigureNoIdBody">
946
1203
  <optional>
947
- <ref name="source"/>
1204
+ <ref name="source">
1205
+ <a:documentation>A URI or other reference intended to link to an externally hosted image (or equivalent)</a:documentation>
1206
+ </ref>
948
1207
  </optional>
949
1208
  <optional>
950
- <ref name="tname"/>
1209
+ <ref name="tname">
1210
+ <a:documentation>The caption of the block</a:documentation>
1211
+ </ref>
951
1212
  </optional>
952
1213
  <choice>
1214
+ <a:documentation>Content of the figure</a:documentation>
953
1215
  <ref name="image-no-id"/>
954
1216
  <ref name="video-no-id"/>
955
1217
  <ref name="audio-no-id"/>
@@ -962,16 +1224,24 @@
962
1224
  </zeroOrMore>
963
1225
  </choice>
964
1226
  <zeroOrMore>
965
- <ref name="fn"/>
1227
+ <ref name="fn">
1228
+ <a:documentation>Footnotes specific to the figure</a:documentation>
1229
+ </ref>
966
1230
  </zeroOrMore>
967
1231
  <optional>
968
- <ref name="dl-no-id"/>
1232
+ <ref name="dl-no-id">
1233
+ <a:documentation>An optional definitions list defining any symbols used in the figure</a:documentation>
1234
+ </ref>
969
1235
  </optional>
970
1236
  <zeroOrMore>
971
- <ref name="note-no-id"/>
1237
+ <ref name="note-no-id">
1238
+ <a:documentation>Notes whose scope is the current block</a:documentation>
1239
+ </ref>
972
1240
  </zeroOrMore>
973
1241
  </define>
974
1242
  <define name="TextElement">
1243
+ <a:documentation>Any inline element containing text and associated formatting information.
1244
+ Includes inline elements that are identifiers or references to identifiers</a:documentation>
975
1245
  <choice>
976
1246
  <text/>
977
1247
  <ref name="em"/>
@@ -998,69 +1268,91 @@
998
1268
  </choice>
999
1269
  </define>
1000
1270
  <define name="PureTextElement">
1271
+ <a:documentation>Inline element containing text and associated formatting information,
1272
+ but which does not contain any associated identifiers or references to identifiers.
1273
+ Restricted recursively to contain only other such inline elements with no identifiers or references to identifiers</a:documentation>
1001
1274
  <choice>
1002
1275
  <text/>
1003
- <ref name="em"/>
1004
- <ref name="strong"/>
1276
+ <ref name="pure_em"/>
1277
+ <ref name="pure_strong"/>
1005
1278
  <ref name="sub"/>
1006
1279
  <ref name="sup"/>
1007
- <ref name="tt"/>
1008
- <ref name="underline"/>
1009
- <ref name="strike"/>
1010
- <ref name="smallcap"/>
1280
+ <ref name="pure_tt"/>
1281
+ <ref name="pure_underline"/>
1282
+ <ref name="pure_strike"/>
1283
+ <ref name="pure_smallcap"/>
1011
1284
  <ref name="br"/>
1012
1285
  </choice>
1013
1286
  </define>
1287
+ <define name="NestedTextElement">
1288
+ <a:documentation>Contents of TextElement tags: leaves out tags that should occur only at top level of block: bookmark image hr pagebreak</a:documentation>
1289
+ <choice>
1290
+ <ref name="PureTextElement"/>
1291
+ <ref name="stem"/>
1292
+ <ref name="eref"/>
1293
+ <ref name="xref"/>
1294
+ <ref name="hyperlink"/>
1295
+ <ref name="index"/>
1296
+ <ref name="index-xref"/>
1297
+ <ref name="ruby"/>
1298
+ <ref name="keyword"/>
1299
+ </choice>
1300
+ </define>
1014
1301
  <define name="source">
1015
1302
  <element name="source">
1016
1303
  <ref name="TypedUri"/>
1017
1304
  </element>
1018
1305
  </define>
1019
1306
  <define name="em">
1307
+ <a:documentation>Emphasised text. Corresponds to HTML `em`, `i`</a:documentation>
1020
1308
  <element name="em">
1021
1309
  <zeroOrMore>
1022
- <choice>
1023
- <ref name="PureTextElement"/>
1024
- <ref name="stem"/>
1025
- <ref name="eref"/>
1026
- <ref name="xref"/>
1027
- <ref name="hyperlink"/>
1028
- <ref name="index"/>
1029
- <ref name="index-xref"/>
1030
- </choice>
1310
+ <ref name="NestedTextElement"/>
1311
+ </zeroOrMore>
1312
+ </element>
1313
+ </define>
1314
+ <define name="pure_em">
1315
+ <a:documentation>Emphasised text for PureTextElement</a:documentation>
1316
+ <element name="em">
1317
+ <zeroOrMore>
1318
+ <ref name="PureTextElement"/>
1031
1319
  </zeroOrMore>
1032
1320
  </element>
1033
1321
  </define>
1034
1322
  <define name="strong">
1323
+ <a:documentation>Strong text. Corresponds to HTML `strong`, `b`</a:documentation>
1035
1324
  <element name="strong">
1036
1325
  <zeroOrMore>
1037
- <choice>
1038
- <ref name="PureTextElement"/>
1039
- <ref name="stem"/>
1040
- <ref name="eref"/>
1041
- <ref name="xref"/>
1042
- <ref name="hyperlink"/>
1043
- <ref name="index"/>
1044
- <ref name="index-xref"/>
1045
- </choice>
1326
+ <ref name="NestedTextElement"/>
1327
+ </zeroOrMore>
1328
+ </element>
1329
+ </define>
1330
+ <define name="pure_strong">
1331
+ <a:documentation>Strong text for PureTextElement</a:documentation>
1332
+ <element name="strong">
1333
+ <zeroOrMore>
1334
+ <ref name="PureTextElement"/>
1046
1335
  </zeroOrMore>
1047
1336
  </element>
1048
1337
  </define>
1049
1338
  <define name="tt">
1339
+ <a:documentation>Monospace text. Corresponds to HTML `tt`, `code`</a:documentation>
1050
1340
  <element name="tt">
1051
1341
  <zeroOrMore>
1052
- <choice>
1053
- <ref name="PureTextElement"/>
1054
- <ref name="eref"/>
1055
- <ref name="xref"/>
1056
- <ref name="hyperlink"/>
1057
- <ref name="index"/>
1058
- <ref name="index-xref"/>
1059
- </choice>
1342
+ <ref name="NestedTextElement"/>
1343
+ </zeroOrMore>
1344
+ </element>
1345
+ </define>
1346
+ <define name="pure_tt">
1347
+ <a:documentation>Monospace text for PureTextElement</a:documentation>
1348
+ <element name="tt">
1349
+ <zeroOrMore>
1350
+ <ref name="PureTextElement"/>
1060
1351
  </zeroOrMore>
1061
1352
  </element>
1062
1353
  </define>
1063
1354
  <define name="keyword">
1355
+ <a:documentation>Keyword text</a:documentation>
1064
1356
  <element name="keyword">
1065
1357
  <zeroOrMore>
1066
1358
  <choice>
@@ -1072,6 +1364,7 @@
1072
1364
  </element>
1073
1365
  </define>
1074
1366
  <define name="sub">
1367
+ <a:documentation>Subscript text. Corresponds to HTML `sub`</a:documentation>
1075
1368
  <element name="sub">
1076
1369
  <zeroOrMore>
1077
1370
  <ref name="PureTextElement"/>
@@ -1079,6 +1372,7 @@
1079
1372
  </element>
1080
1373
  </define>
1081
1374
  <define name="sup">
1375
+ <a:documentation>Superscript text. Corresponds to HTML `sup`</a:documentation>
1082
1376
  <element name="sup">
1083
1377
  <zeroOrMore>
1084
1378
  <ref name="PureTextElement"/>
@@ -1086,17 +1380,36 @@
1086
1380
  </element>
1087
1381
  </define>
1088
1382
  <define name="strike">
1383
+ <a:documentation>Strikethrough text. Corresponds to HTML 4 `s`</a:documentation>
1089
1384
  <element name="strike">
1090
1385
  <zeroOrMore>
1091
- <choice>
1092
- <ref name="PureTextElement"/>
1093
- <ref name="index"/>
1094
- <ref name="index-xref"/>
1095
- </choice>
1386
+ <ref name="NestedTextElement"/>
1387
+ </zeroOrMore>
1388
+ </element>
1389
+ </define>
1390
+ <define name="pure_strike">
1391
+ <a:documentation>Strikethrough for PureTextElement</a:documentation>
1392
+ <element name="strike">
1393
+ <zeroOrMore>
1394
+ <ref name="PureTextElement"/>
1096
1395
  </zeroOrMore>
1097
1396
  </element>
1098
1397
  </define>
1099
1398
  <define name="underline">
1399
+ <a:documentation>Underlined text. Corresponds to HTML 4 `u`</a:documentation>
1400
+ <element name="underline">
1401
+ <optional>
1402
+ <attribute name="style">
1403
+ <a:documentation>CSS style to apply to underline (intended for text-decoration-style attribute keyword values: solid double dotted dashed wavy)</a:documentation>
1404
+ </attribute>
1405
+ </optional>
1406
+ <zeroOrMore>
1407
+ <ref name="NestedTextElement"/>
1408
+ </zeroOrMore>
1409
+ </element>
1410
+ </define>
1411
+ <define name="pure_underline">
1412
+ <a:documentation>Underlined text for PureTextElement</a:documentation>
1100
1413
  <element name="underline">
1101
1414
  <optional>
1102
1415
  <attribute name="style"/>
@@ -1107,6 +1420,15 @@
1107
1420
  </element>
1108
1421
  </define>
1109
1422
  <define name="smallcap">
1423
+ <a:documentation>Small caps text</a:documentation>
1424
+ <element name="smallcap">
1425
+ <zeroOrMore>
1426
+ <ref name="NestedTextElement"/>
1427
+ </zeroOrMore>
1428
+ </element>
1429
+ </define>
1430
+ <define name="pure_smallcap">
1431
+ <a:documentation>Small caps text for PureTextElement</a:documentation>
1110
1432
  <element name="smallcap">
1111
1433
  <zeroOrMore>
1112
1434
  <ref name="PureTextElement"/>
@@ -1114,256 +1436,320 @@
1114
1436
  </element>
1115
1437
  </define>
1116
1438
  <define name="ruby">
1439
+ <a:documentation>Text with Ruby annotations in East Asian languages. Corresponds to HTML `ruby`</a:documentation>
1117
1440
  <element name="ruby">
1118
1441
  <choice>
1119
- <ref name="ruby_pronunciation"/>
1120
- <ref name="ruby_annotation"/>
1442
+ <ref name="ruby_pronunciation">
1443
+ <a:documentation>Ruby annotation giving pronunciation</a:documentation>
1444
+ </ref>
1445
+ <ref name="ruby_annotation">
1446
+ <a:documentation>Ruby annotation giving other (semantic) information</a:documentation>
1447
+ </ref>
1121
1448
  </choice>
1122
1449
  <choice>
1123
- <text/>
1124
- <ref name="ruby"/>
1450
+ <text>
1451
+ <a:documentation>Ruby annotated text which contains no further annotations</a:documentation>
1452
+ </text>
1453
+ <ref name="ruby">
1454
+ <a:documentation>Ruby annotated text which itself contains other Ruby annotations</a:documentation>
1455
+ </ref>
1125
1456
  </choice>
1126
1457
  </element>
1127
1458
  </define>
1128
1459
  <define name="ruby_pronunciation">
1460
+ <a:documentation>Ruby annotation giving pronunciation of text</a:documentation>
1129
1461
  <element name="pronunciation">
1130
- <attribute name="value"/>
1131
- <optional>
1132
- <attribute name="script"/>
1133
- </optional>
1134
- <optional>
1135
- <attribute name="lang"/>
1136
- </optional>
1462
+ <attribute name="value">
1463
+ <a:documentation>Ruby annotation value</a:documentation>
1464
+ </attribute>
1465
+ <ref name="LocalizedStringAttributes"/>
1137
1466
  </element>
1138
1467
  </define>
1139
1468
  <define name="ruby_annotation">
1469
+ <a:documentation>Ruby annotation giving information other than pronunciation of text</a:documentation>
1140
1470
  <element name="annotation">
1141
- <attribute name="value"/>
1142
- <optional>
1143
- <attribute name="script"/>
1144
- </optional>
1145
- <optional>
1146
- <attribute name="lang"/>
1147
- </optional>
1471
+ <attribute name="value">
1472
+ <a:documentation>Ruby annotation value</a:documentation>
1473
+ </attribute>
1474
+ <ref name="LocalizedStringAttributes"/>
1148
1475
  </element>
1149
1476
  </define>
1150
1477
  <define name="br">
1478
+ <a:documentation>Line break</a:documentation>
1151
1479
  <element name="br">
1152
1480
  <empty/>
1153
1481
  </element>
1154
1482
  </define>
1155
1483
  <define name="hr">
1484
+ <a:documentation>Horizontal rule</a:documentation>
1156
1485
  <element name="hr">
1157
1486
  <empty/>
1158
1487
  </element>
1159
1488
  </define>
1160
1489
  <define name="pagebreak">
1490
+ <a:documentation>Page break. Only applicable in paged layouts (e.g. PDF, Word), and not flow layouts (e.g. HTML)</a:documentation>
1161
1491
  <element name="pagebreak">
1162
1492
  <empty/>
1163
1493
  </element>
1164
1494
  </define>
1165
1495
  <define name="index">
1496
+ <a:documentation>Index term, defined as applying to the location in the text where the index element appears, as a milestone</a:documentation>
1166
1497
  <element name="index">
1167
1498
  <optional>
1168
1499
  <attribute name="to">
1500
+ <a:documentation>A reference to an anchor element (typically a bookmark),
1501
+ to indicate that the index range covers a range of locations between the current index element and the `to` anchor</a:documentation>
1169
1502
  <data type="IDREF"/>
1170
1503
  </attribute>
1171
1504
  </optional>
1172
- <element name="primary">
1173
- <oneOrMore>
1174
- <ref name="PureTextElement"/>
1175
- </oneOrMore>
1176
- </element>
1177
- <optional>
1178
- <element name="secondary">
1179
- <oneOrMore>
1180
- <ref name="PureTextElement"/>
1181
- </oneOrMore>
1182
- </element>
1183
- </optional>
1184
- <optional>
1185
- <element name="tertiary">
1186
- <oneOrMore>
1187
- <ref name="PureTextElement"/>
1188
- </oneOrMore>
1189
- </element>
1190
- </optional>
1505
+ <ref name="index-primary">
1506
+ <a:documentation>Primary index term to be recorded at the current location</a:documentation>
1507
+ </ref>
1508
+ <ref name="index-secondary">
1509
+ <a:documentation>Secondary index term to be recorded at the current location</a:documentation>
1510
+ </ref>
1511
+ <ref name="index-tertiary">
1512
+ <a:documentation>Tertiary index term to be recorded at the current </a:documentation>
1513
+ </ref>
1191
1514
  </element>
1192
1515
  </define>
1193
1516
  <define name="index-xref">
1517
+ <a:documentation>A reference to an index term, cross-referenced within an index as an
1518
+ alternative index entry, either as a "see" or a "see also" cross-reference.
1519
+ The text in the inline element is the primary index term to be be cross-referenced</a:documentation>
1194
1520
  <element name="index-xref">
1195
1521
  <attribute name="also">
1522
+ <a:documentation>The cross-reference is to be treated as "see also" rather than as "see"</a:documentation>
1196
1523
  <data type="boolean"/>
1197
1524
  </attribute>
1198
- <element name="primary">
1199
- <oneOrMore>
1200
- <ref name="PureTextElement"/>
1201
- </oneOrMore>
1202
- </element>
1203
- <optional>
1204
- <element name="secondary">
1205
- <oneOrMore>
1206
- <ref name="PureTextElement"/>
1207
- </oneOrMore>
1208
- </element>
1209
- </optional>
1210
- <optional>
1211
- <element name="tertiary">
1212
- <oneOrMore>
1213
- <ref name="PureTextElement"/>
1214
- </oneOrMore>
1215
- </element>
1216
- </optional>
1525
+ <ref name="index-primary">
1526
+ <a:documentation>The primary index term to be cross-referenced</a:documentation>
1527
+ </ref>
1528
+ <ref name="index-secondary">
1529
+ <a:documentation>The secondary index term to be cross-referenced</a:documentation>
1530
+ </ref>
1531
+ <ref name="index-tertiary">
1532
+ <a:documentation>The tertiary index term to be cross-referenced</a:documentation>
1533
+ </ref>
1217
1534
  <element name="target">
1535
+ <a:documentation>The index term to be cross-referenced to</a:documentation>
1218
1536
  <oneOrMore>
1219
1537
  <ref name="PureTextElement"/>
1220
1538
  </oneOrMore>
1221
1539
  </element>
1222
1540
  </element>
1223
1541
  </define>
1224
- <!-- bare ID element, used for referencing arbitrary spans of text -->
1542
+ <define name="index-primary">
1543
+ <element name="primary">
1544
+ <oneOrMore>
1545
+ <ref name="PureTextElement"/>
1546
+ </oneOrMore>
1547
+ </element>
1548
+ </define>
1549
+ <define name="index-secondary">
1550
+ <element name="secondary">
1551
+ <oneOrMore>
1552
+ <ref name="PureTextElement"/>
1553
+ </oneOrMore>
1554
+ </element>
1555
+ </define>
1556
+ <define name="index-tertiary">
1557
+ <element name="tertiary">
1558
+ <oneOrMore>
1559
+ <ref name="PureTextElement"/>
1560
+ </oneOrMore>
1561
+ </element>
1562
+ </define>
1225
1563
  <define name="bookmark">
1564
+ <a:documentation>Anchors within a block under the BasicDocument model cannot span across a number of inline elements;
1565
+ bookmarks are intended as point anchors. For that reason, the Review block has a starting reference and an optional ending reference,
1566
+ which can be bookmarks as well as block or section references</a:documentation>
1226
1567
  <element name="bookmark">
1227
- <attribute name="id">
1228
- <data type="ID"/>
1229
- </attribute>
1568
+ <ref name="RequiredId"/>
1230
1569
  <empty/>
1231
1570
  </element>
1232
1571
  </define>
1233
1572
  <define name="ReferenceFormat">
1573
+ <a:documentation>The type of Reference Element, prescribing how it is to be rendered</a:documentation>
1234
1574
  <choice>
1235
1575
  <value>external</value>
1576
+ <a:documentation>Reference to an external document</a:documentation>
1236
1577
  <value>inline</value>
1578
+ <a:documentation>Reference to another element in the same document</a:documentation>
1237
1579
  <value>footnote</value>
1580
+ <a:documentation>Inline reference to a block to be rendered as a footnote</a:documentation>
1238
1581
  <value>callout</value>
1582
+ <a:documentation>Inline reference to a block to be referenced as a sourcecode callout</a:documentation>
1239
1583
  </choice>
1240
1584
  </define>
1241
1585
  <define name="eref">
1586
+ <a:documentation>An external reference to a bibliographic entity</a:documentation>
1242
1587
  <element name="eref">
1243
1588
  <ref name="erefType"/>
1244
1589
  </element>
1245
1590
  </define>
1246
1591
  <define name="erefType">
1592
+ <ref name="erefAttributes"/>
1593
+ <ref name="CitationType">
1594
+ <a:documentation>Reference cross-reference: modelled as cross-reference to the corresponding bibliographical item in a References section</a:documentation>
1595
+ </ref>
1596
+ <ref name="ErefBody">
1597
+ <a:documentation>The textual content of the element. The `text` is what we wish to show the link as (e.g., the "content" of `&lt;xx&gt;my link text&lt;/xx&gt;`)</a:documentation>
1598
+ </ref>
1599
+ </define>
1600
+ <define name="erefAttributes">
1247
1601
  <optional>
1248
1602
  <attribute name="normative">
1603
+ <a:documentation>Whether the reference is to be treated as normative or informative, particularly in the context of normative documents such as standards</a:documentation>
1249
1604
  <data type="boolean"/>
1250
1605
  </attribute>
1251
1606
  </optional>
1252
- <attribute name="citeas"/>
1253
- <attribute name="type">
1254
- <ref name="ReferenceFormat"/>
1607
+ <attribute name="citeas">
1608
+ <a:documentation>Form that the bibliographic citation should take when it is rendered</a:documentation>
1255
1609
  </attribute>
1256
1610
  <optional>
1257
- <attribute name="alt"/>
1611
+ <attribute name="type">
1612
+ <a:documentation>The type of Reference Element, prescribing how it is to be rendered</a:documentation>
1613
+ <ref name="ReferenceFormat"/>
1614
+ </attribute>
1615
+ </optional>
1616
+ <optional>
1617
+ <attribute name="alt">
1618
+ <a:documentation>Alternate text, used for accessibility</a:documentation>
1619
+ </attribute>
1258
1620
  </optional>
1259
- <ref name="CitationType"/>
1260
- <oneOrMore>
1261
- <ref name="PureTextElement"/>
1262
- </oneOrMore>
1263
1621
  </define>
1264
1622
  <define name="hyperlink">
1623
+ <a:documentation>A reference to an external document or resource</a:documentation>
1265
1624
  <element name="link">
1266
- <attribute name="target">
1267
- <data type="anyURI"/>
1268
- </attribute>
1269
- <attribute name="type">
1270
- <ref name="ReferenceFormat"/>
1271
- </attribute>
1272
- <optional>
1273
- <attribute name="alt"/>
1274
- </optional>
1625
+ <ref name="HyperlinkAttributes"/>
1275
1626
  <oneOrMore>
1276
- <ref name="PureTextElement"/>
1627
+ <ref name="PureTextElement">
1628
+ <a:documentation>The textual content of the element. The `text` is what we wish to show the link as (e.g., the "content" of `&lt;xx&gt;my link text&lt;/xx&gt;`)</a:documentation>
1629
+ </ref>
1277
1630
  </oneOrMore>
1278
1631
  </element>
1279
1632
  </define>
1633
+ <define name="HyperlinkAttributes">
1634
+ <attribute name="target">
1635
+ <a:documentation>The location or online identifier of the external document or resource</a:documentation>
1636
+ <data type="anyURI"/>
1637
+ </attribute>
1638
+ <optional>
1639
+ <attribute name="type">
1640
+ <a:documentation>The type of Reference Element, prescribing how it is to be rendered</a:documentation>
1641
+ <ref name="ReferenceFormat"/>
1642
+ </attribute>
1643
+ </optional>
1644
+ <optional>
1645
+ <attribute name="alt">
1646
+ <a:documentation>Alternate text, used for accessibility</a:documentation>
1647
+ </attribute>
1648
+ </optional>
1649
+ </define>
1280
1650
  <define name="xref">
1651
+ <a:documentation>Inline element, which references an identifier of a document, a block in a document, or an element in a document</a:documentation>
1281
1652
  <element name="xref">
1282
- <attribute name="target">
1283
- <data type="IDREF"/>
1284
- </attribute>
1653
+ <ref name="XrefAttributes"/>
1654
+ <ref name="XrefBody"/>
1655
+ </element>
1656
+ </define>
1657
+ <define name="XrefAttributes">
1658
+ <attribute name="target">
1659
+ <a:documentation>The identifier of a section, block or inlined element being referenced</a:documentation>
1660
+ <data type="IDREF"/>
1661
+ </attribute>
1662
+ <optional>
1285
1663
  <attribute name="type">
1664
+ <a:documentation>The type of Reference Element, prescribing how it is to be rendered</a:documentation>
1286
1665
  <ref name="ReferenceFormat"/>
1287
1666
  </attribute>
1288
- <optional>
1289
- <attribute name="alt"/>
1290
- </optional>
1291
- <oneOrMore>
1292
- <ref name="PureTextElement"/>
1293
- </oneOrMore>
1294
- </element>
1667
+ </optional>
1668
+ <optional>
1669
+ <attribute name="alt">
1670
+ <a:documentation>Alternate text, used for accessibility</a:documentation>
1671
+ </attribute>
1672
+ </optional>
1673
+ </define>
1674
+ <define name="XrefBody">
1675
+ <oneOrMore>
1676
+ <ref name="PureTextElement">
1677
+ <a:documentation>The textual content of the element. The `text` is what we wish to show the link as (e.g., the "content" of `&lt;xx&gt;my link text&lt;/xx&gt;`)</a:documentation>
1678
+ </ref>
1679
+ </oneOrMore>
1680
+ </define>
1681
+ <define name="ErefBody">
1682
+ <oneOrMore>
1683
+ <ref name="PureTextElement">
1684
+ <a:documentation>The textual content of the element. The `text` is what we wish to show the link as (e.g., the "content" of `&lt;xx&gt;my link text&lt;/xx&gt;`)</a:documentation>
1685
+ </ref>
1686
+ </oneOrMore>
1295
1687
  </define>
1296
1688
  <define name="fn">
1689
+ <a:documentation>Inline reference to a paragraph or paragraphs, appearing as a footnote.
1690
+ The target of a footnote is the location it is embedded in within the text</a:documentation>
1297
1691
  <element name="fn">
1298
- <attribute name="reference"/>
1692
+ <attribute name="reference">
1693
+ <a:documentation>The number of the footnote, used to identify it visually</a:documentation>
1694
+ </attribute>
1299
1695
  <oneOrMore>
1300
- <ref name="paragraph"/>
1696
+ <ref name="paragraph">
1697
+ <a:documentation>The content of the footnote</a:documentation>
1698
+ </ref>
1301
1699
  </oneOrMore>
1302
1700
  </element>
1303
1701
  </define>
1304
- <!--
1305
- This is xref with fixed @type="footnote", and @target built in as paragraph+
1306
- @reference replaces ReferenceElement/text
1307
- so <fn reference="2"><p>This is a footnote</p></fn>
1308
- corresponds to
1309
- <eref type="footnote" target="fn2">2</xref> <p id="fn2">This is a footnote</p>
1310
- -->
1311
1702
  <define name="callout">
1703
+ <a:documentation>Inline reference to a paragraph or paragraphs, appearing as annotation of source code</a:documentation>
1312
1704
  <element name="callout">
1313
1705
  <attribute name="target">
1706
+ <a:documentation>The target of the callout is understood to be the location of the callout within the source code;
1707
+ the extent of the target is not expressed overtly</a:documentation>
1314
1708
  <data type="IDREF"/>
1315
1709
  </attribute>
1316
- <text/>
1710
+ <text>
1711
+ <a:documentation>The label of the callout, used to identify its target within the source code</a:documentation>
1712
+ </text>
1317
1713
  </element>
1318
1714
  </define>
1319
- <!--
1320
- This is xref with fixed @type="callout"; the target by convention is in an annotation in the same source code snippet
1321
- so <callout target="xyz">1</callout>
1322
- corresponds to <xref type="callout" target="xyz">1</xref>
1323
- -->
1324
1715
  <define name="image">
1716
+ <a:documentation>Container for image content</a:documentation>
1325
1717
  <element name="image">
1326
1718
  <ref name="RequiredId"/>
1327
- <ref name="ImageAttr"/>
1719
+ <ref name="ImageAttributes"/>
1328
1720
  </element>
1329
1721
  </define>
1330
1722
  <define name="image-no-id">
1723
+ <a:documentation>Container for image content: optional ID attributes recursively (for use in Relaton, metadata)</a:documentation>
1331
1724
  <element name="image">
1332
1725
  <ref name="OptionalId"/>
1333
- <ref name="ImageAttr"/>
1726
+ <ref name="ImageAttributes"/>
1334
1727
  </element>
1335
1728
  </define>
1336
- <define name="ImageAttr">
1337
- <attribute name="src">
1338
- <data type="anyURI"/>
1339
- </attribute>
1340
- <attribute name="mimetype"/>
1341
- <optional>
1342
- <attribute name="filename"/>
1343
- </optional>
1729
+ <define name="ImageAttributes">
1730
+ <ref name="MediaAttributes"/>
1731
+ <ref name="MediaAccessibilityAttributes"/>
1344
1732
  <optional>
1345
1733
  <attribute name="width">
1734
+ <a:documentation>Height of image</a:documentation>
1346
1735
  <ref name="ImageSize"/>
1347
1736
  </attribute>
1348
1737
  </optional>
1349
1738
  <optional>
1350
1739
  <attribute name="height">
1740
+ <a:documentation>Width of image</a:documentation>
1351
1741
  <ref name="ImageSize"/>
1352
1742
  </attribute>
1353
1743
  </optional>
1354
- <optional>
1355
- <attribute name="alt"/>
1356
- </optional>
1357
- <optional>
1358
- <attribute name="title"/>
1359
- </optional>
1360
- <optional>
1361
- <attribute name="longdesc">
1362
- <data type="anyURI"/>
1363
- </attribute>
1364
- </optional>
1744
+ </define>
1745
+ <define name="MIMEType">
1746
+ <a:documentation>MIME encoding of media type</a:documentation>
1747
+ <text/>
1365
1748
  </define>
1366
1749
  <define name="ImageSize">
1750
+ <a:documentation>Legal values for image height and width.
1751
+ Attributes are realised as a real number, with optional percent sign,
1752
+ or as the string "auto"</a:documentation>
1367
1753
  <choice>
1368
1754
  <data type="string">
1369
1755
  <param name="pattern">\d+([.]\d+)?(%?)</param>
@@ -1372,180 +1758,202 @@
1372
1758
  </choice>
1373
1759
  </define>
1374
1760
  <define name="video">
1761
+ <a:documentation>Container for video content</a:documentation>
1375
1762
  <element name="video">
1376
1763
  <ref name="RequiredId"/>
1377
- <ref name="VideoAttr"/>
1764
+ <ref name="VideoAttributes"/>
1378
1765
  <ref name="VideoBody"/>
1379
1766
  </element>
1380
1767
  </define>
1381
1768
  <define name="video-no-id">
1769
+ <a:documentation>Container for video content: optional ID attributes recursively (for use in Relaton, metadata)</a:documentation>
1382
1770
  <element name="video">
1383
1771
  <ref name="OptionalId"/>
1384
- <ref name="VideoAttr"/>
1772
+ <ref name="VideoAttributes"/>
1385
1773
  <ref name="VideoBody"/>
1386
1774
  </element>
1387
1775
  </define>
1388
- <define name="VideoAttr">
1389
- <attribute name="src">
1390
- <data type="anyURI"/>
1391
- </attribute>
1392
- <attribute name="mimetype"/>
1393
- <optional>
1394
- <attribute name="filename"/>
1395
- </optional>
1776
+ <define name="VideoAttributes">
1777
+ <ref name="MediaAttributes"/>
1778
+ <ref name="MediaAccessibilityAttributes"/>
1396
1779
  <optional>
1397
1780
  <attribute name="width">
1398
- <choice>
1399
- <data type="int"/>
1400
- <value>auto</value>
1401
- </choice>
1781
+ <a:documentation>Width of video</a:documentation>
1782
+ <ref name="ImageSize"/>
1402
1783
  </attribute>
1403
1784
  </optional>
1404
1785
  <optional>
1405
1786
  <attribute name="height">
1406
- <choice>
1407
- <data type="int"/>
1408
- <value>auto</value>
1409
- </choice>
1410
- </attribute>
1411
- </optional>
1412
- <optional>
1413
- <attribute name="alt"/>
1414
- </optional>
1415
- <optional>
1416
- <attribute name="title"/>
1417
- </optional>
1418
- <optional>
1419
- <attribute name="longdesc">
1420
- <data type="anyURI"/>
1787
+ <a:documentation>Height of video</a:documentation>
1788
+ <ref name="ImageSize"/>
1421
1789
  </attribute>
1422
1790
  </optional>
1423
1791
  </define>
1424
1792
  <define name="VideoBody">
1425
1793
  <zeroOrMore>
1426
- <ref name="altsource"/>
1794
+ <ref name="altsource">
1795
+ <a:documentation>Alternative files to use as media</a:documentation>
1796
+ </ref>
1427
1797
  </zeroOrMore>
1428
1798
  </define>
1429
1799
  <define name="audio">
1800
+ <a:documentation>Container for audio content</a:documentation>
1430
1801
  <element name="audio">
1431
1802
  <ref name="RequiredId"/>
1432
- <ref name="AudioAttr"/>
1803
+ <ref name="AudioAttributes"/>
1433
1804
  <ref name="AudioBody"/>
1434
1805
  </element>
1435
1806
  </define>
1436
1807
  <define name="audio-no-id">
1808
+ <a:documentation>Container for audio content: optional ID attributes recursively (for use in Relaton, metadata)</a:documentation>
1437
1809
  <element name="audio">
1438
1810
  <ref name="OptionalId"/>
1439
- <ref name="AudioAttr"/>
1811
+ <ref name="AudioAttributes"/>
1440
1812
  <ref name="AudioBody"/>
1441
1813
  </element>
1442
1814
  </define>
1443
- <define name="AudioAttr">
1815
+ <define name="AudioAttributes">
1816
+ <ref name="MediaAttributes"/>
1817
+ <ref name="MediaAccessibilityAttributes"/>
1818
+ </define>
1819
+ <define name="AudioBody">
1820
+ <zeroOrMore>
1821
+ <ref name="altsource">
1822
+ <a:documentation>Alternative files to use as media</a:documentation>
1823
+ </ref>
1824
+ </zeroOrMore>
1825
+ </define>
1826
+ <define name="altsource">
1827
+ <a:documentation>Alternative file to use as media</a:documentation>
1828
+ <element name="altsource">
1829
+ <ref name="MediaAttributes"/>
1830
+ </element>
1831
+ </define>
1832
+ <define name="MediaAttributes">
1444
1833
  <attribute name="src">
1834
+ <a:documentation>URI of the media file</a:documentation>
1445
1835
  <data type="anyURI"/>
1446
1836
  </attribute>
1447
- <attribute name="mimetype"/>
1837
+ <attribute name="mimetype">
1838
+ <a:documentation>Type of the media file, in MIME</a:documentation>
1839
+ <ref name="MIMEType"/>
1840
+ </attribute>
1448
1841
  <optional>
1449
- <attribute name="filename"/>
1842
+ <attribute name="filename">
1843
+ <a:documentation>File name corresponding to the media, to which the media can be extracted if it is represented inline
1844
+ (e.g. in Base64 encoding in the URI)</a:documentation>
1845
+ </attribute>
1450
1846
  </optional>
1847
+ </define>
1848
+ <define name="MediaAccessibilityAttributes">
1451
1849
  <optional>
1452
- <attribute name="alt"/>
1850
+ <attribute name="alt">
1851
+ <a:documentation>Alternate text, supplied for accessibility</a:documentation>
1852
+ </attribute>
1453
1853
  </optional>
1454
1854
  <optional>
1455
- <attribute name="title"/>
1855
+ <attribute name="title">
1856
+ <a:documentation>Title, supplied for accessibility</a:documentation>
1857
+ </attribute>
1456
1858
  </optional>
1457
1859
  <optional>
1458
1860
  <attribute name="longdesc">
1861
+ <a:documentation>URI pointing to more extensive alternate text description, supplied for accessibility</a:documentation>
1459
1862
  <data type="anyURI"/>
1460
1863
  </attribute>
1461
1864
  </optional>
1462
1865
  </define>
1463
- <define name="AudioBody">
1464
- <zeroOrMore>
1465
- <ref name="altsource"/>
1466
- </zeroOrMore>
1467
- </define>
1468
- <define name="altsource">
1469
- <element name="altsource">
1470
- <attribute name="src">
1471
- <data type="anyURI"/>
1472
- </attribute>
1473
- <attribute name="mimetype"/>
1474
- <optional>
1475
- <attribute name="filename"/>
1476
- </optional>
1477
- </element>
1478
- </define>
1479
1866
  <define name="stem">
1867
+ <a:documentation>Mathematically formatted text</a:documentation>
1480
1868
  <element name="stem">
1481
- <attribute name="type">
1482
- <choice>
1483
- <value>MathML</value>
1484
- <value>AsciiMath</value>
1485
- </choice>
1486
- </attribute>
1869
+ <ref name="StemAttributes"/>
1487
1870
  <oneOrMore>
1488
1871
  <choice>
1872
+ <a:documentation>The content of the mathematically formatted text</a:documentation>
1489
1873
  <text/>
1490
1874
  <ref name="AnyElement"/>
1491
1875
  </choice>
1492
1876
  </oneOrMore>
1493
1877
  </element>
1494
1878
  </define>
1879
+ <define name="StemAttributes">
1880
+ <attribute name="type">
1881
+ <a:documentation>The notation used to mathematically format the text</a:documentation>
1882
+ <choice>
1883
+ <value>MathML</value>
1884
+ <value>AsciiMath</value>
1885
+ <value>LaTeX</value>
1886
+ </choice>
1887
+ </attribute>
1888
+ </define>
1495
1889
  <define name="annotation">
1496
1890
  <element name="annotation">
1497
1891
  <ref name="RequiredId"/>
1498
- <ref name="paragraph"/>
1892
+ <oneOrMore>
1893
+ <ref name="paragraph"/>
1894
+ </oneOrMore>
1499
1895
  </element>
1500
1896
  </define>
1501
1897
  <define name="ul">
1898
+ <a:documentation>Unordered list block</a:documentation>
1502
1899
  <element name="ul">
1503
1900
  <ref name="RequiredId"/>
1504
- <ref name="UlAttr"/>
1901
+ <ref name="UlAttributes"/>
1505
1902
  <ref name="UlBody"/>
1506
1903
  </element>
1507
1904
  </define>
1508
1905
  <define name="ul-no-id">
1906
+ <a:documentation>Unordered list block: optional ID attributes recursively (for use in Relaton, metadata)</a:documentation>
1509
1907
  <element name="ul">
1510
1908
  <ref name="OptionalId"/>
1511
- <ref name="UlAttr"/>
1909
+ <ref name="UlAttributes"/>
1512
1910
  <ref name="UlNoIdBody"/>
1513
1911
  </element>
1514
1912
  </define>
1515
- <define name="UlAttr">
1913
+ <define name="UlAttributes">
1516
1914
  <empty/>
1517
1915
  </define>
1518
1916
  <define name="UlBody">
1519
1917
  <oneOrMore>
1520
- <ref name="li"/>
1918
+ <ref name="li">
1919
+ <a:documentation>List items</a:documentation>
1920
+ </ref>
1521
1921
  </oneOrMore>
1522
1922
  <zeroOrMore>
1523
- <ref name="note"/>
1923
+ <ref name="note">
1924
+ <a:documentation>Notes whose scope is the current block</a:documentation>
1925
+ </ref>
1524
1926
  </zeroOrMore>
1525
1927
  </define>
1526
1928
  <define name="UlNoIdBody">
1527
1929
  <oneOrMore>
1528
- <ref name="li-no-id"/>
1930
+ <ref name="li-no-id">
1931
+ <a:documentation>List items</a:documentation>
1932
+ </ref>
1529
1933
  </oneOrMore>
1530
1934
  <zeroOrMore>
1531
- <ref name="note-no-id"/>
1935
+ <ref name="note-no-id">
1936
+ <a:documentation>Notes whose scope is the current block</a:documentation>
1937
+ </ref>
1532
1938
  </zeroOrMore>
1533
1939
  </define>
1534
1940
  <define name="li">
1941
+ <a:documentation>Item in a list block</a:documentation>
1535
1942
  <element name="li">
1536
1943
  <ref name="OptionalId"/>
1537
- <ref name="LiAttr"/>
1944
+ <ref name="LiAttributes"/>
1538
1945
  <ref name="LiBody"/>
1539
1946
  </element>
1540
1947
  </define>
1541
1948
  <define name="li-no-id">
1949
+ <a:documentation>Item in a list block: optional ID attributes recursively (for use in Relaton, metadata)</a:documentation>
1542
1950
  <element name="li">
1543
1951
  <ref name="OptionalId"/>
1544
- <ref name="LiAttr"/>
1952
+ <ref name="LiAttributes"/>
1545
1953
  <ref name="LiNoIdBody"/>
1546
1954
  </element>
1547
1955
  </define>
1548
- <define name="LiAttr">
1956
+ <define name="LiAttributes">
1549
1957
  <empty/>
1550
1958
  </define>
1551
1959
  <define name="LiBody">
@@ -1559,21 +1967,24 @@
1559
1967
  </oneOrMore>
1560
1968
  </define>
1561
1969
  <define name="ol">
1970
+ <a:documentation>Ordered list, with numbering applied to the list items</a:documentation>
1562
1971
  <element name="ol">
1563
1972
  <ref name="RequiredId"/>
1564
- <ref name="OlAttr"/>
1973
+ <ref name="OlAttributes"/>
1565
1974
  <ref name="OlBody"/>
1566
1975
  </element>
1567
1976
  </define>
1568
1977
  <define name="ol-no-id">
1978
+ <a:documentation>Ordered list: optional ID attributes recursively (for use in Relaton, metadata)</a:documentation>
1569
1979
  <element name="ol">
1570
1980
  <ref name="OptionalId"/>
1571
- <ref name="OlAttr"/>
1981
+ <ref name="OlAttributes"/>
1572
1982
  <ref name="OlNoIdBody"/>
1573
1983
  </element>
1574
1984
  </define>
1575
- <define name="OlAttr">
1985
+ <define name="OlAttributes">
1576
1986
  <attribute name="type">
1987
+ <a:documentation>Type of numbering to be applied to the list items</a:documentation>
1577
1988
  <choice>
1578
1989
  <value>roman</value>
1579
1990
  <value>alphabet</value>
@@ -1583,60 +1994,92 @@
1583
1994
  </choice>
1584
1995
  </attribute>
1585
1996
  <optional>
1586
- <attribute name="start"/>
1997
+ <attribute name="start">
1998
+ <a:documentation>Starting value for numbering of the list items; is a number, regardless of the type,
1999
+ and is mapped to the ordinal represented in the type</a:documentation>
2000
+ </attribute>
1587
2001
  </optional>
1588
2002
  </define>
1589
2003
  <define name="OlBody">
1590
2004
  <oneOrMore>
1591
- <ref name="li"/>
2005
+ <ref name="li">
2006
+ <a:documentation>List item</a:documentation>
2007
+ </ref>
1592
2008
  </oneOrMore>
1593
2009
  <zeroOrMore>
1594
- <ref name="note"/>
2010
+ <ref name="note">
2011
+ <a:documentation>Notes whose scope is the current block</a:documentation>
2012
+ </ref>
1595
2013
  </zeroOrMore>
1596
2014
  </define>
1597
2015
  <define name="OlNoIdBody">
1598
2016
  <oneOrMore>
1599
- <ref name="li-no-id"/>
2017
+ <ref name="li-no-id">
2018
+ <a:documentation>List item</a:documentation>
2019
+ </ref>
1600
2020
  </oneOrMore>
1601
2021
  <zeroOrMore>
1602
- <ref name="note-no-id"/>
2022
+ <ref name="note-no-id">
2023
+ <a:documentation>Notes whose scope is the current block</a:documentation>
2024
+ </ref>
1603
2025
  </zeroOrMore>
1604
2026
  </define>
1605
2027
  <define name="dl">
2028
+ <a:documentation>Definition list, composed of definitions rather than list items</a:documentation>
1606
2029
  <element name="dl">
1607
2030
  <ref name="RequiredId"/>
1608
- <ref name="DlAttr"/>
2031
+ <ref name="DlAttributes"/>
1609
2032
  <ref name="DlBody"/>
1610
2033
  </element>
1611
2034
  </define>
1612
2035
  <define name="dl-no-id">
2036
+ <a:documentation>Definition list: optional ID attributes recursively (for use in Relaton, metadata)</a:documentation>
1613
2037
  <element name="dl">
1614
2038
  <ref name="OptionalId"/>
1615
2039
  <ref name="DlNoIdBody"/>
1616
2040
  </element>
1617
2041
  </define>
1618
- <define name="DlAttr">
2042
+ <define name="DlAttributes">
1619
2043
  <empty/>
1620
2044
  </define>
1621
2045
  <define name="DlBody">
1622
2046
  <oneOrMore>
1623
- <ref name="dt"/>
1624
- <ref name="dd"/>
2047
+ <group>
2048
+ <a:documentation>Entry-Definition pair used to constitute a definition list</a:documentation>
2049
+ <ref name="dt">
2050
+ <a:documentation>Entry being defined in the definition</a:documentation>
2051
+ </ref>
2052
+ <ref name="dd">
2053
+ <a:documentation>Definition of the entry</a:documentation>
2054
+ </ref>
2055
+ </group>
1625
2056
  </oneOrMore>
1626
2057
  <zeroOrMore>
1627
- <ref name="note"/>
2058
+ <ref name="note">
2059
+ <a:documentation>Notes whose scope is the current block</a:documentation>
2060
+ </ref>
1628
2061
  </zeroOrMore>
1629
2062
  </define>
1630
2063
  <define name="DlNoIdBody">
1631
2064
  <oneOrMore>
1632
- <ref name="dt"/>
1633
- <ref name="dd-no-id"/>
2065
+ <group>
2066
+ <a:documentation>Entry-Definition pair used to constitute a definition list</a:documentation>
2067
+ <ref name="dt">
2068
+ <a:documentation>Entry being defined in the definition</a:documentation>
2069
+ </ref>
2070
+ <ref name="dd-no-id">
2071
+ <a:documentation>Definition of the entry</a:documentation>
2072
+ </ref>
2073
+ </group>
1634
2074
  </oneOrMore>
1635
2075
  <zeroOrMore>
1636
- <ref name="note-no-id"/>
2076
+ <ref name="note-no-id">
2077
+ <a:documentation>Notes whose scope is the current block</a:documentation>
2078
+ </ref>
1637
2079
  </zeroOrMore>
1638
2080
  </define>
1639
2081
  <define name="dt">
2082
+ <a:documentation>Entry in a definition list</a:documentation>
1640
2083
  <element name="dt">
1641
2084
  <zeroOrMore>
1642
2085
  <ref name="TextElement"/>
@@ -1644,6 +2087,7 @@
1644
2087
  </element>
1645
2088
  </define>
1646
2089
  <define name="dd">
2090
+ <a:documentation>Definition in a definition list</a:documentation>
1647
2091
  <element name="dd">
1648
2092
  <zeroOrMore>
1649
2093
  <ref name="paragraph-with-footnote"/>
@@ -1651,6 +2095,7 @@
1651
2095
  </element>
1652
2096
  </define>
1653
2097
  <define name="dd-no-id">
2098
+ <a:documentation>Definition in a definition list: optional ID attributes recursively (for use in Relaton, metadata)</a:documentation>
1654
2099
  <element name="dd">
1655
2100
  <zeroOrMore>
1656
2101
  <ref name="paragraph-with-footnote-no-id"/>