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
@@ -17,200 +17,107 @@
17
17
  these elements; we just want one namespace for any child grammars
18
18
  of this.
19
19
  -->
20
- <!-- VERSION v1.3.3 -->
20
+ <!-- VERSION v1.3.4 -->
21
21
  <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">
22
22
  <include href="reqt.rng"/>
23
23
  <include href="basicdoc.rng">
24
24
  <define name="amend">
25
+ <a:documentation>Block expressing a machine-readable change in a document</a:documentation>
25
26
  <element name="amend">
26
27
  <ref name="BlockAttributes"/>
27
28
  <ref name="AmendType"/>
28
29
  <zeroOrMore>
29
- <ref name="autonumber"/>
30
+ <ref name="autonumber">
31
+ <a:documentation>Specification of how blocks of a given class should be autonumbered within an AmendBlock newContent element</a:documentation>
32
+ </ref>
30
33
  </zeroOrMore>
31
34
  </element>
32
35
  </define>
33
- <define name="AdmonitionAttr">
34
- <attribute name="type">
35
- <ref name="AdmonitionType"/>
36
- </attribute>
37
- <optional>
38
- <attribute name="class"/>
39
- </optional>
40
- <optional>
41
- <attribute name="uri">
42
- <data type="anyURI"/>
43
- </attribute>
44
- </optional>
45
- <optional>
46
- <attribute name="coverpage">
47
- <data type="boolean"/>
48
- </attribute>
49
- </optional>
50
- <optional>
51
- <attribute name="notag">
52
- <data type="boolean"/>
53
- </attribute>
54
- </optional>
36
+ <define name="index-primary">
37
+ <element name="primary">
38
+ <oneOrMore>
39
+ <choice>
40
+ <ref name="PureTextElement"/>
41
+ <ref name="stem"/>
42
+ </choice>
43
+ </oneOrMore>
44
+ </element>
55
45
  </define>
56
- <define name="AdmonitionType">
57
- <choice>
58
- <value>warning</value>
59
- <value>note</value>
60
- <value>tip</value>
61
- <value>important</value>
62
- <value>caution</value>
63
- <value>statement</value>
64
- <value>editorial</value>
65
- <value>box</value>
66
- </choice>
46
+ <define name="index-secondary">
47
+ <element name="secondary">
48
+ <oneOrMore>
49
+ <choice>
50
+ <ref name="PureTextElement"/>
51
+ <ref name="stem"/>
52
+ </choice>
53
+ </oneOrMore>
54
+ </element>
67
55
  </define>
68
- <define name="index">
69
- <element name="index">
70
- <optional>
71
- <attribute name="to">
72
- <data type="IDREF"/>
73
- </attribute>
74
- </optional>
75
- <element name="primary">
76
- <oneOrMore>
77
- <choice>
78
- <ref name="PureTextElement"/>
79
- <ref name="stem"/>
80
- </choice>
81
- </oneOrMore>
82
- </element>
83
- <optional>
84
- <element name="secondary">
85
- <oneOrMore>
86
- <choice>
87
- <ref name="PureTextElement"/>
88
- <ref name="stem"/>
89
- </choice>
90
- </oneOrMore>
91
- </element>
92
- </optional>
93
- <optional>
94
- <element name="tertiary">
95
- <oneOrMore>
96
- <choice>
97
- <ref name="PureTextElement"/>
98
- <ref name="stem"/>
99
- </choice>
100
- </oneOrMore>
101
- </element>
102
- </optional>
56
+ <define name="index-tertiary">
57
+ <element name="tertiary">
58
+ <oneOrMore>
59
+ <choice>
60
+ <ref name="PureTextElement"/>
61
+ <ref name="stem"/>
62
+ </choice>
63
+ </oneOrMore>
103
64
  </element>
104
65
  </define>
105
66
  <define name="section-title">
67
+ <a:documentation>Title(s) of a clause</a:documentation>
106
68
  <element name="title">
69
+ <a:documentation>Title proper for a clause</a:documentation>
107
70
  <zeroOrMore>
108
71
  <ref name="TextElement"/>
109
72
  </zeroOrMore>
110
73
  </element>
111
74
  <zeroOrMore>
112
75
  <element name="variant-title">
76
+ <a:documentation>Alternate title for a clause</a:documentation>
113
77
  <ref name="TypedTitleString"/>
114
78
  </element>
115
79
  </zeroOrMore>
116
80
  </define>
117
- <define name="hyperlink">
118
- <element name="link">
119
- <attribute name="target">
120
- <data type="anyURI"/>
121
- </attribute>
122
- <optional>
123
- <attribute name="type">
124
- <ref name="ReferenceFormat"/>
125
- </attribute>
126
- </optional>
127
- <optional>
128
- <attribute name="alt"/>
129
- </optional>
130
- <optional>
131
- <attribute name="update-type">
132
- <data type="boolean"/>
133
- </attribute>
134
- </optional>
135
- <optional>
136
- <attribute name="style"/>
137
- </optional>
138
- <oneOrMore>
139
- <ref name="PureTextElement"/>
140
- </oneOrMore>
141
- </element>
142
- </define>
143
- <define name="xref">
144
- <element name="xref">
145
- <ref name="XrefAttributes"/>
146
- <ref name="XrefBody"/>
147
- </element>
148
- </define>
149
- <define name="erefType">
150
- <optional>
151
- <attribute name="normative">
152
- <data type="boolean"/>
153
- </attribute>
154
- </optional>
155
- <attribute name="citeas"/>
156
- <optional>
157
- <attribute name="type">
158
- <ref name="ReferenceFormat"/>
159
- </attribute>
160
- </optional>
161
- <optional>
162
- <attribute name="alt"/>
163
- </optional>
164
- <optional>
165
- <attribute name="case">
166
- <choice>
167
- <value>capital</value>
168
- <value>lowercase</value>
169
- </choice>
170
- </attribute>
171
- </optional>
172
- <optional>
173
- <attribute name="droploc">
174
- <data type="boolean"/>
175
- </attribute>
176
- </optional>
177
- <optional>
178
- <attribute name="style"/>
179
- </optional>
180
- <ref name="CitationType"/>
181
- <oneOrMore>
182
- <ref name="PureTextElement"/>
183
- </oneOrMore>
184
- </define>
185
- <define name="UlAttr">
186
- <ref name="BlockAttributes"/>
187
- </define>
188
81
  <define name="UlBody">
189
82
  <optional>
190
- <ref name="tname"/>
83
+ <ref name="tname">
84
+ <a:documentation>Caption of list</a:documentation>
85
+ </ref>
191
86
  </optional>
192
87
  <oneOrMore>
193
- <ref name="ul_li"/>
88
+ <ref name="ul_li">
89
+ <a:documentation>List items</a:documentation>
90
+ </ref>
194
91
  </oneOrMore>
195
92
  <zeroOrMore>
196
- <ref name="note"/>
93
+ <ref name="note">
94
+ <a:documentation>Notes whose scope is the current block</a:documentation>
95
+ </ref>
197
96
  </zeroOrMore>
198
97
  </define>
199
98
  <define name="OlBody">
200
99
  <optional>
201
- <ref name="tname"/>
100
+ <ref name="tname">
101
+ <a:documentation>Caption of list</a:documentation>
102
+ </ref>
202
103
  </optional>
203
104
  <oneOrMore>
204
- <ref name="li"/>
105
+ <ref name="li">
106
+ <a:documentation>List items</a:documentation>
107
+ </ref>
205
108
  </oneOrMore>
206
109
  <zeroOrMore>
207
- <ref name="note"/>
110
+ <ref name="note">
111
+ <a:documentation>Notes whose scope is the current block</a:documentation>
112
+ </ref>
208
113
  </zeroOrMore>
209
114
  </define>
210
- <define name="OlAttr">
115
+ <define name="OlAttributes">
116
+ <a:documentation>NOTE: `start` attribute is not included by default, because of problems it raises with DOC output</a:documentation>
211
117
  <ref name="BlockAttributes"/>
212
118
  <optional>
213
119
  <attribute name="type">
120
+ <a:documentation>Type of numbering to be applied to the list items</a:documentation>
214
121
  <choice>
215
122
  <value>roman</value>
216
123
  <value>alphabet</value>
@@ -221,54 +128,63 @@
221
128
  </attribute>
222
129
  </optional>
223
130
  </define>
224
- <define name="DlAttr">
131
+ <define name="DlAttributes">
225
132
  <ref name="BlockAttributes"/>
226
133
  <optional>
227
134
  <attribute name="key">
135
+ <a:documentation>This definition list is the key of a figure or formula</a:documentation>
228
136
  <data type="boolean"/>
229
137
  </attribute>
230
138
  </optional>
231
139
  </define>
232
140
  <define name="DlBody">
233
141
  <optional>
234
- <ref name="tname"/>
142
+ <ref name="tname">
143
+ <a:documentation>Caption of the list</a:documentation>
144
+ </ref>
235
145
  </optional>
236
146
  <oneOrMore>
237
- <ref name="dt"/>
238
- <ref name="dd"/>
147
+ <group>
148
+ <a:documentation>Entry-Definition pair used to constitute a definition list</a:documentation>
149
+ <ref name="dt">
150
+ <a:documentation>Entry being defined in the definition</a:documentation>
151
+ </ref>
152
+ <ref name="dd">
153
+ <a:documentation>Definition of the entry</a:documentation>
154
+ </ref>
155
+ </group>
239
156
  </oneOrMore>
240
157
  <zeroOrMore>
241
- <ref name="note"/>
158
+ <ref name="note">
159
+ <a:documentation>Notes whose scope is the current block</a:documentation>
160
+ </ref>
242
161
  </zeroOrMore>
243
162
  </define>
244
163
  <define name="dt">
245
164
  <element name="dt">
246
- <ref name="OptionalId"/>
165
+ <ref name="OptionalId">
166
+ <a:documentation>Optional identifier for definition term (enabling crossreferencing of definitions)</a:documentation>
167
+ </ref>
247
168
  <zeroOrMore>
248
- <ref name="TextElement"/>
169
+ <ref name="TextElement">
170
+ <a:documentation>Entry being defined in the definition</a:documentation>
171
+ </ref>
249
172
  </zeroOrMore>
250
173
  </element>
251
174
  </define>
252
- <define name="ExampleAttr">
253
- <optional>
254
- <attribute name="unnumbered">
255
- <data type="boolean"/>
256
- </attribute>
257
- </optional>
258
- <optional>
259
- <attribute name="subsequence"/>
260
- </optional>
261
- <optional>
262
- <attribute name="number"/>
263
- </optional>
175
+ <define name="ExampleAttributes">
176
+ <ref name="NumberingAttributes"/>
264
177
  <ref name="BlockAttributes"/>
265
178
  </define>
266
179
  <define name="ExampleBody">
267
180
  <optional>
268
- <ref name="tname"/>
181
+ <ref name="tname">
182
+ <a:documentation>The caption of the example</a:documentation>
183
+ </ref>
269
184
  </optional>
270
185
  <oneOrMore>
271
186
  <choice>
187
+ <a:documentation>Content of the example</a:documentation>
272
188
  <ref name="formula"/>
273
189
  <ref name="ul"/>
274
190
  <ref name="ol"/>
@@ -280,201 +196,87 @@
280
196
  </choice>
281
197
  </oneOrMore>
282
198
  <zeroOrMore>
283
- <ref name="note"/>
199
+ <ref name="note">
200
+ <a:documentation>Notes whose scope is the current block</a:documentation>
201
+ </ref>
284
202
  </zeroOrMore>
285
203
  </define>
286
- <define name="TableAttr">
287
- <optional>
288
- <attribute name="unnumbered">
289
- <data type="boolean"/>
290
- </attribute>
291
- </optional>
292
- <optional>
293
- <attribute name="number"/>
294
- </optional>
295
- <optional>
296
- <attribute name="subsequence"/>
297
- </optional>
298
- <optional>
299
- <attribute name="alt"/>
300
- </optional>
301
- <optional>
302
- <attribute name="summary"/>
303
- </optional>
304
- <optional>
305
- <attribute name="uri">
306
- <data type="anyURI"/>
307
- </attribute>
308
- </optional>
309
- <optional>
310
- <attribute name="width"/>
311
- </optional>
312
- <ref name="BlockAttributes"/>
313
- </define>
314
204
  <define name="TableBody">
315
205
  <optional>
316
- <ref name="colgroup"/>
317
- </optional>
318
- <optional>
319
- <ref name="tname"/>
320
- </optional>
321
- <optional>
322
- <ref name="thead"/>
323
- </optional>
324
- <ref name="tbody"/>
325
- <optional>
326
- <ref name="tfoot"/>
327
- </optional>
328
- <optional>
329
- <ref name="dl"/>
206
+ <ref name="colgroup">
207
+ <a:documentation>The widths of the columns in the table</a:documentation>
208
+ </ref>
330
209
  </optional>
331
- <zeroOrMore>
332
- <ref name="table-note"/>
333
- </zeroOrMore>
334
- <zeroOrMore>
335
- <ref name="source"/>
336
- </zeroOrMore>
337
- </define>
338
- <define name="FigureAttr">
339
210
  <optional>
340
- <attribute name="unnumbered">
341
- <data type="boolean"/>
342
- </attribute>
211
+ <ref name="tname">
212
+ <a:documentation>Caption for the table</a:documentation>
213
+ </ref>
343
214
  </optional>
344
215
  <optional>
345
- <attribute name="number"/>
216
+ <ref name="thead">
217
+ <a:documentation>Table rows constituting the table header</a:documentation>
218
+ </ref>
346
219
  </optional>
220
+ <ref name="tbody">
221
+ <a:documentation>Table rows constituting the table body</a:documentation>
222
+ </ref>
347
223
  <optional>
348
- <attribute name="subsequence"/>
224
+ <ref name="tfoot">
225
+ <a:documentation>Table rows constituting the table footer</a:documentation>
226
+ </ref>
349
227
  </optional>
350
228
  <optional>
351
- <attribute name="class"/>
352
- </optional>
353
- <optional>
354
- <attribute name="width"/>
355
- </optional>
356
- <ref name="BlockAttributes"/>
357
- </define>
358
- <define name="FigureBody">
359
- <optional>
360
- <ref name="tname"/>
361
- </optional>
362
- <choice>
363
- <ref name="image"/>
364
- <ref name="video"/>
365
- <ref name="audio"/>
366
- <ref name="pre"/>
367
- <oneOrMore>
368
- <ref name="paragraph-with-footnote"/>
369
- </oneOrMore>
370
- <zeroOrMore>
371
- <ref name="figure"/>
372
- </zeroOrMore>
373
- </choice>
374
- <zeroOrMore>
375
- <ref name="fn"/>
376
- </zeroOrMore>
377
- <optional>
378
- <ref name="dl"/>
229
+ <ref name="dl">
230
+ <a:documentation>Definitions list defining any symbols used in the table</a:documentation>
231
+ </ref>
379
232
  </optional>
380
233
  <zeroOrMore>
381
- <ref name="note"/>
382
- </zeroOrMore>
383
- <zeroOrMore>
384
- <ref name="source"/>
234
+ <ref name="table-note">
235
+ <a:documentation>Notes specific to this block</a:documentation>
236
+ </ref>
385
237
  </zeroOrMore>
386
- </define>
387
- <define name="source">
388
- <element name="source">
389
- <attribute name="status">
390
- <ref name="SourceStatusType"/>
391
- </attribute>
392
- <ref name="origin"/>
393
- <optional>
394
- <ref name="modification"/>
395
- </optional>
396
- </element>
397
- </define>
398
- <define name="SourceAttr">
399
- <optional>
400
- <attribute name="unnumbered">
401
- <data type="boolean"/>
402
- </attribute>
403
- </optional>
404
- <optional>
405
- <attribute name="number"/>
406
- </optional>
407
- <optional>
408
- <attribute name="subsequence"/>
409
- </optional>
410
- <optional>
411
- <attribute name="lang"/>
412
- </optional>
413
- <ref name="BlockAttributes"/>
414
- <optional>
415
- <attribute name="linenums">
416
- <data type="boolean"/>
417
- </attribute>
418
- </optional>
238
+ <ref name="TermSource">
239
+ <a:documentation>A source for the table</a:documentation>
240
+ </ref>
419
241
  </define>
420
242
  <define name="SourceBody">
421
243
  <optional>
422
- <ref name="tname"/>
244
+ <ref name="tname">
245
+ <a:documentation>The caption of the block</a:documentation>
246
+ </ref>
423
247
  </optional>
424
248
  <oneOrMore>
425
249
  <choice>
426
- <text/>
427
- <ref name="callout"/>
428
- <ref name="xref"/>
429
- <ref name="eref"/>
250
+ <text>
251
+ <a:documentation>The computer code or other such text presented in the block, as a single unformatted string.
252
+ (The string should be treated as pre-formatted text, with whitespace treated as significant)</a:documentation>
253
+ </text>
254
+ <ref name="callout">
255
+ <a:documentation>Zero or more cross-references; these are intended to be embedded within the content string, and link to annotations</a:documentation>
256
+ </ref>
257
+ <ref name="xref">
258
+ <a:documentation>Hyperlink of code segment to another part of the document</a:documentation>
259
+ </ref>
260
+ <ref name="eref">
261
+ <a:documentation>Hyperlink of code segment to external bibliographic resource</a:documentation>
262
+ </ref>
430
263
  </choice>
431
264
  </oneOrMore>
432
265
  <zeroOrMore>
433
- <ref name="annotation"/>
266
+ <ref name="annotation">
267
+ <a:documentation>Annotations to the source code; each annotation consists of zero or more paragraphs,
268
+ and is intended to be referenced by a callout within the source code</a:documentation>
269
+ </ref>
434
270
  </zeroOrMore>
435
271
  <zeroOrMore>
436
- <ref name="note"/>
272
+ <ref name="note">
273
+ <a:documentation>Notes whose scope is the current block</a:documentation>
274
+ </ref>
437
275
  </zeroOrMore>
276
+ <ref name="TermSource">
277
+ <a:documentation>A source for the block</a:documentation>
278
+ </ref>
438
279
  </define>
439
- <define name="FormulaAttr">
440
- <optional>
441
- <attribute name="unnumbered">
442
- <data type="boolean"/>
443
- </attribute>
444
- </optional>
445
- <optional>
446
- <attribute name="number"/>
447
- </optional>
448
- <optional>
449
- <attribute name="subsequence"/>
450
- </optional>
451
- <optional>
452
- <attribute name="inequality">
453
- <data type="boolean"/>
454
- </attribute>
455
- </optional>
456
- <ref name="BlockAttributes"/>
457
- </define>
458
- <define name="ParagraphAttrs">
459
- <optional>
460
- <attribute name="align">
461
- <ref name="Alignments"/>
462
- </attribute>
463
- </optional>
464
- <optional>
465
- <attribute name="type"/>
466
- </optional>
467
- <ref name="BlockAttributes"/>
468
- </define>
469
- <define name="QuoteAttr">
470
- <optional>
471
- <attribute name="alignment">
472
- <ref name="Alignments"/>
473
- </attribute>
474
- </optional>
475
- <ref name="BlockAttributes"/>
476
- </define>
477
- <!-- TitleType = text -->
478
280
  <define name="sections">
479
281
  <element name="sections">
480
282
  <oneOrMore>
@@ -489,68 +291,39 @@
489
291
  </element>
490
292
  </define>
491
293
  <define name="references">
294
+ <a:documentation>Bibliography clause. It is used to collate references within the document, where
295
+ there could be one or more of such sections within a document. For example, some standardization documents differentiate
296
+ normative or informative references, some split references into sections organized by concept relevance.</a:documentation>
492
297
  <element name="references">
493
- <optional>
494
- <attribute name="id">
495
- <data type="ID"/>
496
- </attribute>
497
- </optional>
498
- <optional>
499
- <attribute name="obligation">
500
- <choice>
501
- <value>normative</value>
502
- <value>informative</value>
503
- </choice>
504
- </attribute>
505
- </optional>
506
- <attribute name="normative">
507
- <data type="boolean"/>
508
- </attribute>
298
+ <ref name="OptionalId"/>
299
+ <ref name="ReferencesAttributes"/>
509
300
  <optional>
510
301
  <ref name="section-title"/>
511
302
  </optional>
512
303
  <zeroOrMore>
513
- <ref name="BasicBlock"/>
304
+ <ref name="BasicBlock">
305
+ <a:documentation>Prefatory text</a:documentation>
306
+ </ref>
514
307
  </zeroOrMore>
515
308
  <zeroOrMore>
516
- <ref name="doc_bibitem"/>
309
+ <ref name="doc_bibitem">
310
+ <a:documentation>Bibliographic item cited in the document</a:documentation>
311
+ </ref>
517
312
  <zeroOrMore>
518
- <ref name="note"/>
313
+ <ref name="note">
314
+ <a:documentation>Annotation of the bibliographic item</a:documentation>
315
+ </ref>
519
316
  </zeroOrMore>
520
317
  </zeroOrMore>
521
318
  <zeroOrMore>
522
- <ref name="references"/>
319
+ <ref name="references">
320
+ <a:documentation>Recursive references section</a:documentation>
321
+ </ref>
523
322
  </zeroOrMore>
524
323
  </element>
525
324
  </define>
526
- <define name="NoteAttr">
527
- <optional>
528
- <attribute name="unnumbered">
529
- <data type="boolean"/>
530
- </attribute>
531
- </optional>
532
- <optional>
533
- <attribute name="number"/>
534
- </optional>
535
- <optional>
536
- <attribute name="subsequence"/>
537
- </optional>
538
- <optional>
539
- <attribute name="type"/>
540
- </optional>
541
- <optional>
542
- <attribute name="coverpage">
543
- <data type="boolean"/>
544
- </attribute>
545
- </optional>
546
- <optional>
547
- <attribute name="notag">
548
- <data type="boolean"/>
549
- </attribute>
550
- </optional>
551
- <ref name="BlockAttributes"/>
552
- </define>
553
325
  <define name="NoteBody">
326
+ <a:documentation>Content of note</a:documentation>
554
327
  <oneOrMore>
555
328
  <choice>
556
329
  <ref name="paragraph"/>
@@ -564,29 +337,16 @@
564
337
  </oneOrMore>
565
338
  </define>
566
339
  <define name="Basic-Section">
340
+ <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>
341
+ <ref name="Basic-Section-Attributes"/>
567
342
  <optional>
568
- <attribute name="id">
569
- <data type="ID"/>
570
- </attribute>
571
- </optional>
572
- <optional>
573
- <attribute name="language"/>
574
- </optional>
575
- <optional>
576
- <attribute name="script"/>
577
- </optional>
578
- <optional>
579
- <attribute name="obligation">
580
- <choice>
581
- <value>normative</value>
582
- <value>informative</value>
583
- </choice>
584
- </attribute>
585
- </optional>
586
- <optional>
587
- <ref name="section-title"/>
343
+ <ref name="section-title">
344
+ <a:documentation>Title of the section</a:documentation>
345
+ </ref>
588
346
  </optional>
589
347
  <oneOrMore>
348
+ <a:documentation>Blocks, containing the textual content of the section
349
+ (but excluding subsections, which are only present in Hierarchical Sections)</a:documentation>
590
350
  <ref name="BasicBlock"/>
591
351
  </oneOrMore>
592
352
  </define>
@@ -615,12 +375,14 @@
615
375
  <choice>
616
376
  <zeroOrMore>
617
377
  <choice>
378
+ <a:documentation>Table cell is a block</a:documentation>
618
379
  <ref name="TextElement"/>
619
380
  <ref name="fn"/>
620
381
  </choice>
621
382
  </zeroOrMore>
622
383
  <oneOrMore>
623
384
  <choice>
385
+ <a:documentation>Table cell contains a block</a:documentation>
624
386
  <ref name="paragraph-with-footnote"/>
625
387
  <ref name="dl"/>
626
388
  <ref name="ul"/>
@@ -634,137 +396,28 @@
634
396
  <choice>
635
397
  <zeroOrMore>
636
398
  <choice>
399
+ <a:documentation>Table cell is a block</a:documentation>
637
400
  <ref name="TextElement"/>
638
401
  <ref name="fn"/>
639
402
  </choice>
640
403
  </zeroOrMore>
641
404
  <oneOrMore>
642
- <ref name="paragraph-with-footnote"/>
405
+ <ref name="paragraph-with-footnote">
406
+ <a:documentation>Table cell contains a block</a:documentation>
407
+ </ref>
643
408
  </oneOrMore>
644
409
  </choice>
645
410
  </define>
646
411
  <define name="table-note">
647
412
  <element name="note">
648
- <optional>
649
- <attribute name="id">
650
- <data type="ID"/>
651
- </attribute>
652
- </optional>
653
- <ref name="paragraph"/>
654
- </element>
655
- </define>
656
- <define name="stem">
657
- <element name="stem">
658
- <attribute name="type">
659
- <choice>
660
- <value>MathML</value>
661
- <value>AsciiMath</value>
662
- <value>LatexMath</value>
663
- </choice>
664
- </attribute>
665
- <attribute name="block">
666
- <data type="boolean"/>
667
- </attribute>
413
+ <ref name="OptionalId"/>
668
414
  <oneOrMore>
669
- <choice>
670
- <text/>
671
- <ref name="AnyElement"/>
672
- </choice>
415
+ <ref name="paragraph"/>
673
416
  </oneOrMore>
674
417
  </element>
675
418
  </define>
676
- <define name="em">
677
- <element name="em">
678
- <zeroOrMore>
679
- <choice>
680
- <ref name="PureTextElement"/>
681
- <ref name="stem"/>
682
- <ref name="index"/>
683
- <ref name="index-xref"/>
684
- <ref name="eref"/>
685
- <ref name="erefstack"/>
686
- <ref name="xref"/>
687
- <ref name="hyperlink"/>
688
- </choice>
689
- </zeroOrMore>
690
- </element>
691
- </define>
692
- <define name="strong">
693
- <element name="strong">
694
- <zeroOrMore>
695
- <choice>
696
- <ref name="PureTextElement"/>
697
- <ref name="stem"/>
698
- <ref name="index"/>
699
- <ref name="index-xref"/>
700
- <ref name="eref"/>
701
- <ref name="erefstack"/>
702
- <ref name="xref"/>
703
- <ref name="hyperlink"/>
704
- </choice>
705
- </zeroOrMore>
706
- </element>
707
- </define>
708
- <define name="tt">
709
- <element name="tt">
710
- <zeroOrMore>
711
- <choice>
712
- <ref name="PureTextElement"/>
713
- <ref name="index"/>
714
- <ref name="index-xref"/>
715
- <ref name="eref"/>
716
- <ref name="erefstack"/>
717
- <ref name="xref"/>
718
- <ref name="hyperlink"/>
719
- </choice>
720
- </zeroOrMore>
721
- </element>
722
- </define>
723
- <define name="keyword">
724
- <element name="keyword">
725
- <zeroOrMore>
726
- <choice>
727
- <ref name="PureTextElement"/>
728
- <ref name="index"/>
729
- <ref name="index-xref"/>
730
- </choice>
731
- </zeroOrMore>
732
- </element>
733
- </define>
734
- <define name="strike">
735
- <element name="strike">
736
- <zeroOrMore>
737
- <choice>
738
- <ref name="PureTextElement"/>
739
- <ref name="index"/>
740
- <ref name="index-xref"/>
741
- </choice>
742
- </zeroOrMore>
743
- </element>
744
- </define>
745
- <define name="underline">
746
- <element name="underline">
747
- <zeroOrMore>
748
- <choice>
749
- <ref name="PureTextElement"/>
750
- <ref name="index"/>
751
- <ref name="index-xref"/>
752
- </choice>
753
- </zeroOrMore>
754
- </element>
755
- </define>
756
- <define name="smallcap">
757
- <element name="smallcap">
758
- <zeroOrMore>
759
- <choice>
760
- <ref name="PureTextElement"/>
761
- <ref name="index"/>
762
- <ref name="index-xref"/>
763
- </choice>
764
- </zeroOrMore>
765
- </element>
766
- </define>
767
419
  <define name="sub">
420
+ <a:documentation>Subscript text. Corresponds to HTML `sub</a:documentation>
768
421
  <element name="sub">
769
422
  <zeroOrMore>
770
423
  <choice>
@@ -775,6 +428,7 @@
775
428
  </element>
776
429
  </define>
777
430
  <define name="sup">
431
+ <a:documentation>Superscript text. Corresponds to HTML `sup`</a:documentation>
778
432
  <element name="sup">
779
433
  <zeroOrMore>
780
434
  <choice>
@@ -785,9 +439,12 @@
785
439
  </element>
786
440
  </define>
787
441
  <define name="pagebreak">
442
+ <a:documentation>Page break. Only applicable in paged layouts (e.g. PDF, Word), and not flow layouts (e.g. HTML)</a:documentation>
788
443
  <element name="pagebreak">
789
444
  <optional>
790
445
  <attribute name="orientation">
446
+ <a:documentation>Orientation of pages in a section of text in paged media following this page break, applicable until the next page break that
447
+ gives an explicit page orientation</a:documentation>
791
448
  <choice>
792
449
  <value>landscape</value>
793
450
  <value>portrait</value>
@@ -796,20 +453,218 @@
796
453
  </optional>
797
454
  </element>
798
455
  </define>
456
+ <define name="XrefBody">
457
+ <zeroOrMore>
458
+ <ref name="XrefTarget">
459
+ <a:documentation>Description of location in a reference, which can be combined with other locations in a single citation</a:documentation>
460
+ </ref>
461
+ </zeroOrMore>
462
+ <zeroOrMore>
463
+ <ref name="PureTextElement">
464
+ <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>
465
+ </ref>
466
+ </zeroOrMore>
467
+ </define>
799
468
  </include>
800
469
  <!-- end overrides -->
470
+ <define name="NumberingAttributes" combine="interleave">
471
+ <optional>
472
+ <attribute name="number">
473
+ <a:documentation>Override the numbering of this block in numbering</a:documentation>
474
+ </attribute>
475
+ </optional>
476
+ </define>
477
+ <define name="AdmonitionAttributes" combine="interleave">
478
+ <optional>
479
+ <attribute name="coverpage">
480
+ <a:documentation>Display the admonition on the document cover page</a:documentation>
481
+ <data type="boolean"/>
482
+ </attribute>
483
+ </optional>
484
+ <optional>
485
+ <attribute name="notag">
486
+ <a:documentation>Do not insert text labelling the type of admonition in rendering</a:documentation>
487
+ <data type="boolean"/>
488
+ </attribute>
489
+ </optional>
490
+ </define>
491
+ <define name="AdmonitionType" combine="choice">
492
+ <choice>
493
+ <value>statement</value>
494
+ <a:documentation>Intended for typographically separate statements in mathematics, such as propositions, proofs, or theorems. Statement conflates all of these for rendering, while Proposition, Proof, Theorem etc. can be treated as distinct classes</a:documentation>
495
+ <value>editorial</value>
496
+ <a:documentation>Annotation by document editors, intended for all readers of the document and not just its authors</a:documentation>
497
+ <value>box</value>
498
+ <a:documentation>Box annotation, intended as standalone sidebar element which can be referenced from within the document</a:documentation>
499
+ </choice>
500
+ </define>
501
+ <define name="HyperlinkAttributes" combine="interleave">
502
+ <optional>
503
+ <attribute name="update-type">
504
+ <a:documentation>Update link file suffix to match rendered file output (HTML &gt; HTML, PDF &gt; PDF)</a:documentation>
505
+ <data type="boolean"/>
506
+ </attribute>
507
+ </optional>
508
+ <optional>
509
+ <attribute name="style">
510
+ <a:documentation>Style of hyperlink rendering</a:documentation>
511
+ </attribute>
512
+ </optional>
513
+ </define>
514
+ <define name="erefAttributes" combine="interleave">
515
+ <optional>
516
+ <attribute name="case">
517
+ <a:documentation>Casing of the autogenerated label of the cross-reference (typically the name of the class of element referenced):
518
+ titlecase, or lowercase</a:documentation>
519
+ <choice>
520
+ <value>capital</value>
521
+ <value>lowercase</value>
522
+ </choice>
523
+ </attribute>
524
+ </optional>
525
+ <optional>
526
+ <attribute name="droploc">
527
+ <a:documentation>Do not include the autogenerated label of the cross-reference in rendering</a:documentation>
528
+ <data type="boolean"/>
529
+ </attribute>
530
+ </optional>
531
+ <optional>
532
+ <attribute name="style">
533
+ <a:documentation>Style of how a citation is to be rendered</a:documentation>
534
+ </attribute>
535
+ </optional>
536
+ </define>
537
+ <define name="UlAttributes" combine="interleave">
538
+ <ref name="BlockAttributes"/>
539
+ </define>
540
+ <define name="TableAttributes" combine="interleave">
541
+ <optional>
542
+ <attribute name="width">
543
+ <a:documentation>Width of the table block in rendering</a:documentation>
544
+ </attribute>
545
+ </optional>
546
+ <ref name="BlockAttributes"/>
547
+ </define>
548
+ <define name="FigureAttributes" combine="interleave">
549
+ <optional>
550
+ <attribute name="width">
551
+ <a:documentation>Width of the figure block in rendering</a:documentation>
552
+ </attribute>
553
+ </optional>
554
+ <ref name="BlockAttributes"/>
555
+ </define>
556
+ <define name="SourceAttributes" combine="interleave">
557
+ <ref name="BlockAttributes"/>
558
+ <optional>
559
+ <attribute name="linenums">
560
+ <a:documentation>Render the sourcecode block with line numbering. Default value is false</a:documentation>
561
+ <data type="boolean"/>
562
+ </attribute>
563
+ </optional>
564
+ </define>
565
+ <define name="FormulaAttributes" combine="interleave">
566
+ <ref name="BlockAttributes"/>
567
+ </define>
568
+ <define name="ParagraphAttributes" combine="interleave">
569
+ <optional>
570
+ <attribute name="type">
571
+ <a:documentation>Semantic classification of paragraph</a:documentation>
572
+ </attribute>
573
+ </optional>
574
+ <ref name="BlockAttributes"/>
575
+ </define>
576
+ <define name="QuoteAttributes" combine="interleave">
577
+ <ref name="BlockAttributes"/>
578
+ </define>
579
+ <define name="NoteAttributes" combine="interleave">
580
+ <optional>
581
+ <attribute name="type">
582
+ <a:documentation>Semantic classification of note</a:documentation>
583
+ </attribute>
584
+ </optional>
585
+ <optional>
586
+ <attribute name="coverpage">
587
+ <a:documentation>Display the note on the document cover page</a:documentation>
588
+ <data type="boolean"/>
589
+ </attribute>
590
+ </optional>
591
+ <optional>
592
+ <attribute name="notag">
593
+ <a:documentation>Do not insert text labelling the note as a note in rendering</a:documentation>
594
+ <data type="boolean"/>
595
+ </attribute>
596
+ </optional>
597
+ <ref name="BlockAttributes"/>
598
+ </define>
599
+ <define name="StemAttributes" combine="interleave">
600
+ <optional>
601
+ <attribute name="number-format">
602
+ <a:documentation>Numeric formatting directives to apply to mathematically formatted text</a:documentation>
603
+ </attribute>
604
+ </optional>
605
+ <attribute name="block">
606
+ <a:documentation>Whether to treat the expression as a block or as an inline element, for display purposes</a:documentation>
607
+ <data type="boolean"/>
608
+ </attribute>
609
+ </define>
610
+ <define name="XrefAttributes" combine="interleave">
611
+ <optional>
612
+ <attribute name="to">
613
+ <a:documentation>If the cross-reference is to a range of text defined as a span between two identified elements,
614
+ provide the identifier of the end element of the span</a:documentation>
615
+ <data type="string">
616
+ <param name="pattern">\i\c*|\c+#\c+</param>
617
+ </data>
618
+ </attribute>
619
+ </optional>
620
+ <optional>
621
+ <attribute name="case">
622
+ <a:documentation>Casing of the autogenerated label of the cross-reference (typically the name of the class of element referenced):
623
+ titlecase, or lowercase</a:documentation>
624
+ <choice>
625
+ <value>capital</value>
626
+ <value>lowercase</value>
627
+ </choice>
628
+ </attribute>
629
+ </optional>
630
+ <optional>
631
+ <attribute name="droploc">
632
+ <a:documentation>Do not include the autogenerated label of the cross-reference in rendering</a:documentation>
633
+ <data type="boolean"/>
634
+ </attribute>
635
+ </optional>
636
+ <optional>
637
+ <attribute name="style">
638
+ <a:documentation>Style of cross-reference rendering (title vs numbering)</a:documentation>
639
+ <ref name="XrefStyleType"/>
640
+ </attribute>
641
+ </optional>
642
+ <optional>
643
+ <attribute name="label">
644
+ <a:documentation>Substitute the expected label of the item being cross-referenced with a custom label (e.g. "subclause" instead of "clause")</a:documentation>
645
+ </attribute>
646
+ </optional>
647
+ </define>
648
+ <define name="ObligationType">
649
+ <a:documentation>The force of a clause in a standard document: whether it has normative or informative effect</a:documentation>
650
+ <choice>
651
+ <value>normative</value>
652
+ <value>informative</value>
653
+ </choice>
654
+ </define>
801
655
  <define name="doc_bibitem">
656
+ <a:documentation>Standardisation document representation of bibliographic entry</a:documentation>
802
657
  <element name="bibitem">
803
- <attribute name="id">
804
- <data type="ID"/>
805
- </attribute>
658
+ <ref name="RequiredId"/>
806
659
  <optional>
807
660
  <attribute name="hidden">
661
+ <a:documentation>Suppress from dislay in rendered document</a:documentation>
808
662
  <data type="boolean"/>
809
663
  </attribute>
810
664
  </optional>
811
665
  <optional>
812
666
  <attribute name="suppress_identifier">
667
+ <a:documentation>Suppress document identifier from item rendering</a:documentation>
813
668
  <data type="boolean"/>
814
669
  </attribute>
815
670
  </optional>
@@ -818,6 +673,7 @@
818
673
  </define>
819
674
  <define name="image" combine="choice">
820
675
  <element name="svg">
676
+ <a:documentation>Add svg mark up to image</a:documentation>
821
677
  <oneOrMore>
822
678
  <choice>
823
679
  <text/>
@@ -830,16 +686,22 @@
830
686
  <ref name="columnbreak"/>
831
687
  </define>
832
688
  <define name="columnbreak">
689
+ <a:documentation>Indication of a break in text rendered as columns</a:documentation>
833
690
  <element name="columnbreak">
834
691
  <empty/>
835
692
  </element>
836
693
  </define>
837
694
  <define name="MultilingualRenderingType">
695
+ <a:documentation>How a block element may be rendered in a multilingual document, with a column for each language</a:documentation>
838
696
  <choice>
839
697
  <value>common</value>
698
+ <a:documentation>Block is shared across all languages</a:documentation>
840
699
  <value>all-columns</value>
700
+ <a:documentation>Block spans all columns of text, and versions in different languages are displayed consecutively</a:documentation>
841
701
  <value>parallel</value>
702
+ <a:documentation>Block is to be aligned to the block occupying the same position in the document hierarchy</a:documentation>
842
703
  <value>tag</value>
704
+ <a:documentation>Block is to be aligned to all blocks sharing the same `tag` attribute as this block</a:documentation>
843
705
  </choice>
844
706
  </define>
845
707
  <define name="colgroup">
@@ -851,11 +713,14 @@
851
713
  </define>
852
714
  <define name="col">
853
715
  <element name="col">
854
- <attribute name="width"/>
716
+ <attribute name="width">
717
+ <a:documentation>The width of an individual table column</a:documentation>
718
+ </attribute>
855
719
  </element>
856
720
  </define>
857
721
  <define name="BibItemType" combine="choice">
858
722
  <value>internal</value>
723
+ <a:documentation>Internal reference (for Metanorma document collections)</a:documentation>
859
724
  </define>
860
725
  <define name="TextElement" combine="choice">
861
726
  <choice>
@@ -870,106 +735,120 @@
870
735
  <define name="PureTextElement" combine="choice">
871
736
  <ref name="passthrough_inline"/>
872
737
  </define>
738
+ <define name="NestedTextElement" combine="choice">
739
+ <ref name="erefstack"/>
740
+ </define>
873
741
  <define name="passthrough_inline">
742
+ <a:documentation>Inline text not to be processed semantically, and left in the markup of a target rendering language (e.g. raw HTML)</a:documentation>
874
743
  <element name="passthrough">
875
744
  <optional>
876
- <attribute name="formats"/>
745
+ <attribute name="formats">
746
+ <a:documentation>List of the target formats for which the markup is intended, comma-delimited</a:documentation>
747
+ </attribute>
877
748
  </optional>
878
- <text/>
749
+ <oneOrMore>
750
+ <choice>
751
+ <a:documentation>Markup specific to a target rendering language</a:documentation>
752
+ <text/>
753
+ <ref name="AnyElement"/>
754
+ </choice>
755
+ </oneOrMore>
879
756
  </element>
880
757
  </define>
881
758
  <define name="add">
759
+ <a:documentation>Indication of text added through editorial intervention</a:documentation>
882
760
  <element name="add">
883
- <choice>
884
- <ref name="PureTextElement"/>
885
- <ref name="eref"/>
886
- <ref name="erefstack"/>
887
- <ref name="stem"/>
888
- <ref name="keyword"/>
889
- <ref name="xref"/>
890
- <ref name="hyperlink"/>
891
- <ref name="index"/>
892
- <ref name="index-xref"/>
893
- </choice>
761
+ <zeroOrMore>
762
+ <ref name="NestedTextElement"/>
763
+ </zeroOrMore>
894
764
  </element>
895
765
  </define>
896
766
  <define name="del">
767
+ <a:documentation>Indication of text deleted through editorial intervention</a:documentation>
897
768
  <element name="del">
898
- <choice>
899
- <ref name="PureTextElement"/>
900
- <ref name="eref"/>
901
- <ref name="erefstack"/>
902
- <ref name="stem"/>
903
- <ref name="keyword"/>
904
- <ref name="xref"/>
905
- <ref name="hyperlink"/>
906
- <ref name="index"/>
907
- <ref name="index-xref"/>
908
- </choice>
769
+ <zeroOrMore>
770
+ <ref name="NestedTextElement"/>
771
+ </zeroOrMore>
909
772
  </element>
910
773
  </define>
911
774
  <define name="span">
775
+ <a:documentation>Semantic or formatting markup for inline elements</a:documentation>
912
776
  <element name="span">
913
777
  <optional>
914
- <attribute name="class"/>
778
+ <attribute name="class">
779
+ <a:documentation>Class of the inline span, as semantic markup</a:documentation>
780
+ </attribute>
915
781
  </optional>
916
782
  <optional>
917
- <attribute name="style"/>
783
+ <attribute name="style">
784
+ <a:documentation>CSS style directive for the inline span. Is intended to be the same as HTML style attribute</a:documentation>
785
+ </attribute>
918
786
  </optional>
919
787
  <optional>
920
- <attribute name="custom-charset"/>
788
+ <attribute name="custom-charset">
789
+ <a:documentation>Character set that the contained text belongs to;
790
+ is used in particular to capture mutually agreed definitions of codepoints in Unicode Private Use Area</a:documentation>
791
+ </attribute>
921
792
  </optional>
922
793
  <oneOrMore>
923
- <ref name="TextElement"/>
794
+ <ref name="TextElement">
795
+ <a:documentation>Textual content of span</a:documentation>
796
+ </ref>
924
797
  </oneOrMore>
925
798
  </element>
926
799
  </define>
927
800
  <define name="date_inline">
801
+ <a:documentation>Localisable rendering of a date</a:documentation>
928
802
  <element name="date">
929
- <attribute name="value"/>
930
- <optional>
931
- <attribute name="format"/>
932
- </optional>
933
- <optional>
934
- <attribute name="language"/>
935
- </optional>
936
- <optional>
937
- <attribute name="script"/>
938
- </optional>
803
+ <ref name="LocalizedStringAttributes"/>
804
+ <attribute name="value">
805
+ <a:documentation>Date to be rendered, in ISO 8601 format</a:documentation>
806
+ <data type="dateTime"/>
807
+ </attribute>
939
808
  <optional>
940
- <attribute name="locale"/>
809
+ <attribute name="format">
810
+ <a:documentation>Format to be used to render date, as a strftime formatting string</a:documentation>
811
+ </attribute>
941
812
  </optional>
942
813
  </element>
943
814
  </define>
944
815
  <define name="concept">
816
+ <a:documentation>Formally defined concept used in a standardisation document, aligned to a definition.
817
+ That concept may be defined as a term within the current document, or it may be defined externally</a:documentation>
945
818
  <element name="concept">
946
819
  <optional>
947
820
  <attribute name="bold">
821
+ <a:documentation>Render the term in the concept in boldface</a:documentation>
948
822
  <data type="boolean"/>
949
823
  </attribute>
950
824
  </optional>
951
825
  <optional>
952
826
  <attribute name="ital">
827
+ <a:documentation>Render the term in the concept in italics</a:documentation>
953
828
  <data type="boolean"/>
954
829
  </attribute>
955
830
  </optional>
956
831
  <optional>
957
832
  <attribute name="ref">
833
+ <a:documentation>Render a reference to a definition for the concept, e.g. "widgets (3.1)"</a:documentation>
958
834
  <data type="boolean"/>
959
835
  </attribute>
960
836
  </optional>
961
837
  <optional>
962
838
  <attribute name="linkmention">
839
+ <a:documentation>Hyperlink the mention of the term to the definition for the concept</a:documentation>
963
840
  <data type="boolean"/>
964
841
  </attribute>
965
842
  </optional>
966
843
  <optional>
967
844
  <attribute name="linkref">
845
+ <a:documentation>Hyperlink the reference for the term to the definition for the concept</a:documentation>
968
846
  <data type="boolean"/>
969
847
  </attribute>
970
848
  </optional>
971
849
  <optional>
972
850
  <element name="refterm">
851
+ <a:documentation>The canonical name of the concept being defined</a:documentation>
973
852
  <zeroOrMore>
974
853
  <choice>
975
854
  <ref name="PureTextElement"/>
@@ -982,6 +861,7 @@
982
861
  </optional>
983
862
  <optional>
984
863
  <element name="renderterm">
864
+ <a:documentation>The rendering to be used for the concept</a:documentation>
985
865
  <zeroOrMore>
986
866
  <choice>
987
867
  <ref name="PureTextElement"/>
@@ -993,10 +873,18 @@
993
873
  </element>
994
874
  </optional>
995
875
  <choice>
996
- <ref name="eref"/>
997
- <ref name="erefstack"/>
998
- <ref name="xref"/>
999
- <ref name="termref"/>
876
+ <ref name="eref">
877
+ <a:documentation>Link to a definition of the term in a bibliographic entry</a:documentation>
878
+ </ref>
879
+ <ref name="erefstack">
880
+ <a:documentation>Stack of links to a definition of the term in a bibliographic entry</a:documentation>
881
+ </ref>
882
+ <ref name="xref">
883
+ <a:documentation>Link to a definition of the term in an element of the current document</a:documentation>
884
+ </ref>
885
+ <ref name="termref">
886
+ <a:documentation>Link to a definition of the term in a termbase</a:documentation>
887
+ </ref>
1000
888
  </choice>
1001
889
  </element>
1002
890
  </define>
@@ -1013,102 +901,143 @@
1013
901
  </choice>
1014
902
  </define>
1015
903
  <define name="toc">
904
+ <a:documentation>Table of contents, represented as a list of crossreferences, each with textual content</a:documentation>
1016
905
  <element name="toc">
1017
- <ref name="ul"/>
906
+ <group>
907
+ <a:documentation>List of crossreferences</a:documentation>
908
+ <ref name="ul"/>
909
+ </group>
1018
910
  </element>
1019
911
  </define>
1020
912
  <define name="passthrough">
913
+ <a:documentation>Wrapper around raw markup to be transferred into one or more nominated output formats during processing</a:documentation>
1021
914
  <element name="passthrough">
1022
915
  <optional>
1023
- <attribute name="formats"/>
916
+ <attribute name="formats">
917
+ <a:documentation>Format of markup to be transferred, comma-delimited</a:documentation>
918
+ </attribute>
1024
919
  </optional>
1025
- <text/>
920
+ <oneOrMore>
921
+ <choice>
922
+ <a:documentation>Markup to be transferred</a:documentation>
923
+ <text/>
924
+ <ref name="AnyElement"/>
925
+ </choice>
926
+ </oneOrMore>
1026
927
  </element>
1027
928
  </define>
1028
929
  <define name="inputform">
930
+ <a:documentation>Input form, for use under HTML</a:documentation>
1029
931
  <element name="form">
1030
- <attribute name="id">
1031
- <data type="ID"/>
932
+ <ref name="RequiredId"/>
933
+ <attribute name="name">
934
+ <a:documentation>Name of the input form block</a:documentation>
935
+ </attribute>
936
+ <attribute name="action">
937
+ <a:documentation>Action to be taken on submission of the input form</a:documentation>
1032
938
  </attribute>
1033
- <attribute name="name"/>
1034
- <attribute name="action"/>
1035
939
  <optional>
1036
- <attribute name="class"/>
940
+ <attribute name="class">
941
+ <a:documentation>Class of input form</a:documentation>
942
+ </attribute>
1037
943
  </optional>
1038
944
  <ref name="BlockAttributes"/>
1039
945
  <zeroOrMore>
946
+ <!-- Input form contents -->
1040
947
  <choice>
1041
948
  <ref name="TextElement"/>
1042
949
  <ref name="FormInput"/>
950
+ <ref name="formlabel"/>
1043
951
  </choice>
1044
952
  </zeroOrMore>
1045
953
  </element>
1046
954
  </define>
1047
955
  <define name="FormInput">
956
+ <a:documentation>Input element for forms, associated with name/value pair to be submitted</a:documentation>
1048
957
  <choice>
1049
958
  <ref name="input"/>
1050
- <ref name="formlabel"/>
1051
959
  <ref name="select"/>
1052
960
  <ref name="textarea"/>
1053
961
  </choice>
1054
962
  </define>
963
+ <define name="FormInputAttributes">
964
+ <optional>
965
+ <attribute name="name">
966
+ <a:documentation>Name of value of input element to be submitted</a:documentation>
967
+ </attribute>
968
+ </optional>
969
+ <optional>
970
+ <attribute name="value">
971
+ <a:documentation>Preset or default of value of input element to be submitted</a:documentation>
972
+ </attribute>
973
+ </optional>
974
+ </define>
1055
975
  <define name="InputType">
976
+ <a:documentation>Type of simple Input element</a:documentation>
1056
977
  <choice>
1057
978
  <value>button</value>
979
+ <a:documentation>Input element is a button</a:documentation>
1058
980
  <value>checkbox</value>
981
+ <a:documentation>Input element is a checkbox</a:documentation>
1059
982
  <value>date</value>
983
+ <a:documentation>Input element contains date</a:documentation>
1060
984
  <value>file</value>
985
+ <a:documentation>Input element selects file for upload</a:documentation>
1061
986
  <value>password</value>
987
+ <a:documentation>Input element is a password field</a:documentation>
1062
988
  <value>radio</value>
989
+ <a:documentation>Input element is a radio button</a:documentation>
1063
990
  <value>submit</value>
991
+ <a:documentation>Input element is a submit button</a:documentation>
1064
992
  <value>text</value>
993
+ <a:documentation>Input element contains text</a:documentation>
1065
994
  </choice>
1066
995
  </define>
1067
996
  <define name="input">
997
+ <a:documentation>Input involving simple text</a:documentation>
1068
998
  <element name="input">
1069
999
  <attribute name="type">
1000
+ <a:documentation>Type of input element</a:documentation>
1070
1001
  <ref name="InputType"/>
1071
1002
  </attribute>
1072
1003
  <optional>
1073
1004
  <attribute name="checked">
1005
+ <a:documentation>Input element is checkbox, and has checked value</a:documentation>
1074
1006
  <data type="boolean"/>
1075
1007
  </attribute>
1076
1008
  </optional>
1077
1009
  <optional>
1078
1010
  <attribute name="disabled">
1011
+ <a:documentation>Input element is disabled</a:documentation>
1079
1012
  <data type="boolean"/>
1080
1013
  </attribute>
1081
1014
  </optional>
1082
1015
  <optional>
1083
1016
  <attribute name="readonly">
1017
+ <a:documentation>Input element is read-only</a:documentation>
1084
1018
  <data type="boolean"/>
1085
1019
  </attribute>
1086
1020
  </optional>
1087
1021
  <optional>
1088
1022
  <attribute name="maxlength">
1023
+ <a:documentation>Maximum length of input in characters, for character input</a:documentation>
1089
1024
  <data type="int"/>
1090
1025
  </attribute>
1091
1026
  </optional>
1092
1027
  <optional>
1093
1028
  <attribute name="minlength">
1029
+ <a:documentation>Minimum length of input in characters, for character input</a:documentation>
1094
1030
  <data type="int"/>
1095
1031
  </attribute>
1096
1032
  </optional>
1097
- <optional>
1098
- <attribute name="name"/>
1099
- </optional>
1100
- <optional>
1101
- <attribute name="value"/>
1102
- </optional>
1103
- <optional>
1104
- <attribute name="id">
1105
- <data type="ID"/>
1106
- </attribute>
1107
- </optional>
1033
+ <ref name="FormInputAttributes"/>
1034
+ <ref name="OptionalId"/>
1108
1035
  </element>
1109
1036
  </define>
1110
1037
  <define name="formlabel">
1038
+ <a:documentation>Label associated with form input element</a:documentation>
1111
1039
  <element name="label">
1040
+ <!-- Identifier of form input element that this element is a label of -->
1112
1041
  <attribute name="for">
1113
1042
  <data type="IDREF"/>
1114
1043
  </attribute>
@@ -1118,79 +1047,78 @@
1118
1047
  </element>
1119
1048
  </define>
1120
1049
  <define name="select">
1050
+ <a:documentation>Input allowing the selection of a value from a list of values. The value attribute is used instead of a selected
1051
+ attribute on a component option</a:documentation>
1121
1052
  <element name="select">
1122
- <optional>
1123
- <attribute name="name"/>
1124
- </optional>
1125
- <optional>
1126
- <attribute name="value"/>
1127
- </optional>
1128
- <optional>
1129
- <attribute name="id">
1130
- <data type="ID"/>
1131
- </attribute>
1132
- </optional>
1053
+ <ref name="FormInputAttributes"/>
1054
+ <ref name="OptionalId"/>
1133
1055
  <optional>
1134
1056
  <attribute name="disabled">
1057
+ <a:documentation>Input is disabled</a:documentation>
1135
1058
  <data type="boolean"/>
1136
1059
  </attribute>
1137
1060
  </optional>
1138
1061
  <optional>
1139
1062
  <attribute name="multiple">
1063
+ <a:documentation>Input can return multiple option values</a:documentation>
1140
1064
  <data type="boolean"/>
1141
1065
  </attribute>
1142
1066
  </optional>
1143
1067
  <optional>
1144
1068
  <attribute name="size">
1069
+ <a:documentation>Suggested number of options to display</a:documentation>
1145
1070
  <data type="int"/>
1146
1071
  </attribute>
1147
1072
  </optional>
1148
1073
  <oneOrMore>
1149
- <ref name="option"/>
1074
+ <ref name="option">
1075
+ <a:documentation>Options to select from as value of the input</a:documentation>
1076
+ </ref>
1150
1077
  </oneOrMore>
1151
1078
  </element>
1152
1079
  </define>
1153
1080
  <define name="option">
1081
+ <a:documentation>Option of a Select input</a:documentation>
1154
1082
  <element name="option">
1155
1083
  <optional>
1156
1084
  <attribute name="disabled">
1085
+ <a:documentation>Option is disabled</a:documentation>
1157
1086
  <data type="boolean"/>
1158
1087
  </attribute>
1159
1088
  </optional>
1160
1089
  <optional>
1161
- <attribute name="value"/>
1090
+ <attribute name="value">
1091
+ <a:documentation>Value associated with this option</a:documentation>
1092
+ </attribute>
1162
1093
  </optional>
1163
1094
  <zeroOrMore>
1164
- <ref name="PureTextElement"/>
1095
+ <ref name="PureTextElement">
1096
+ <a:documentation>Display text associated with this option</a:documentation>
1097
+ </ref>
1165
1098
  </zeroOrMore>
1166
1099
  </element>
1167
1100
  </define>
1168
1101
  <define name="textarea">
1102
+ <a:documentation>Input involving extended text. The value attribute is used instead of text area content</a:documentation>
1169
1103
  <element name="textarea">
1170
- <optional>
1171
- <attribute name="name"/>
1172
- </optional>
1173
- <optional>
1174
- <attribute name="value"/>
1175
- </optional>
1176
- <optional>
1177
- <attribute name="id">
1178
- <data type="ID"/>
1179
- </attribute>
1180
- </optional>
1104
+ <ref name="FormInputAttributes"/>
1105
+ <ref name="OptionalId"/>
1181
1106
  <optional>
1182
1107
  <attribute name="rows">
1108
+ <a:documentation>Suggested number of rows for the input area</a:documentation>
1183
1109
  <data type="int"/>
1184
1110
  </attribute>
1185
1111
  </optional>
1186
1112
  <optional>
1187
1113
  <attribute name="cols">
1114
+ <a:documentation>Suggested number of columns for the input area</a:documentation>
1188
1115
  <data type="int"/>
1189
1116
  </attribute>
1190
1117
  </optional>
1191
1118
  </element>
1192
1119
  </define>
1193
1120
  <define name="bibliography">
1121
+ <a:documentation>Bibliographic references</a:documentation>
1194
1122
  <element name="bibliography">
1195
1123
  <oneOrMore>
1196
1124
  <choice>
@@ -1201,47 +1129,57 @@
1201
1129
  </element>
1202
1130
  </define>
1203
1131
  <define name="Section-Attributes">
1132
+ <ref name="Basic-Section-Attributes"/>
1204
1133
  <optional>
1205
- <attribute name="id">
1206
- <data type="ID"/>
1134
+ <attribute name="inline-header">
1135
+ <a:documentation>Render the section number and title (if present) inline with the first paragraph of the section</a:documentation>
1136
+ <data type="boolean"/>
1207
1137
  </attribute>
1208
1138
  </optional>
1209
1139
  <optional>
1210
- <attribute name="language"/>
1140
+ <attribute name="number">
1141
+ <a:documentation>Value of number to be used for numbering of section, overriding any autonumbering in rendering.
1142
+ The section number is still formed by appending this number to the hierarchical set of parent section numbers,
1143
+ e.g. a number "3a" under Clause 1 subclause 2 will be numbered as 1.2.3a</a:documentation>
1144
+ </attribute>
1211
1145
  </optional>
1212
1146
  <optional>
1213
- <attribute name="script"/>
1147
+ <attribute name="branch-number">
1148
+ <a:documentation>Value of number to be used for numbering of section, overriding any autonumbering in rendering,
1149
+ and the hierarchy of parent section numbers. This attribute is mutually exclusive with `number`.
1150
+ So under Clause 1 subclause 2, sub-subclause 3 is numbered as 1.2.3. If the following sub-subclause
1151
+ is given a branch-number "7.2.1.5", that will be the overall section number given, ignoring the parent section
1152
+ numbers</a:documentation>
1153
+ </attribute>
1214
1154
  </optional>
1215
1155
  <optional>
1216
- <attribute name="inline-header">
1156
+ <attribute name="unnumbered">
1157
+ <a:documentation>Do not apply numbering to this clause</a:documentation>
1217
1158
  <data type="boolean"/>
1218
1159
  </attribute>
1219
1160
  </optional>
1220
- <optional>
1221
- <attribute name="number"/>
1222
- </optional>
1223
- <optional>
1224
- <attribute name="branch-number"/>
1225
- </optional>
1161
+ </define>
1162
+ <define name="Basic-Section-Attributes" combine="interleave">
1226
1163
  <optional>
1227
1164
  <attribute name="obligation">
1228
- <choice>
1229
- <value>normative</value>
1230
- <value>informative</value>
1231
- </choice>
1165
+ <ref name="ObligationType"/>
1232
1166
  </attribute>
1233
1167
  </optional>
1234
1168
  </define>
1235
1169
  <define name="reference-clause">
1170
+ <a:documentation>References clause with recursive nesting</a:documentation>
1236
1171
  <element name="clause">
1237
1172
  <ref name="Section-Attributes"/>
1238
1173
  <optional>
1239
1174
  <ref name="section-title"/>
1240
1175
  </optional>
1241
1176
  <zeroOrMore>
1242
- <ref name="BasicBlock"/>
1177
+ <ref name="BasicBlock">
1178
+ <a:documentation>Prefatory text</a:documentation>
1179
+ </ref>
1243
1180
  </zeroOrMore>
1244
1181
  <choice>
1182
+ <a:documentation>Recursion of reference clauses</a:documentation>
1245
1183
  <oneOrMore>
1246
1184
  <ref name="reference-clause"/>
1247
1185
  </oneOrMore>
@@ -1252,9 +1190,16 @@
1252
1190
  </element>
1253
1191
  </define>
1254
1192
  <define name="Root-Attributes">
1255
- <attribute name="version"/>
1256
- <attribute name="schema-version"/>
1193
+ <a:documentation>Attributes on document root</a:documentation>
1194
+ <attribute name="version">
1195
+ <a:documentation>Version number of the gem used to generate this document</a:documentation>
1196
+ </attribute>
1197
+ <attribute name="schema-version">
1198
+ <a:documentation>Version number of the schema that this document is aligned to</a:documentation>
1199
+ </attribute>
1257
1200
  <attribute name="type">
1201
+ <a:documentation>Type of standards document representation. "Semantic" is the core representation of content.
1202
+ "Presentation" manipulates and enhances the representation for rendering needs.</a:documentation>
1258
1203
  <choice>
1259
1204
  <value>semantic</value>
1260
1205
  <value>presentation</value>
@@ -1262,34 +1207,54 @@
1262
1207
  </attribute>
1263
1208
  </define>
1264
1209
  <define name="standard-document">
1210
+ <a:documentation>Representation of a standardisation document</a:documentation>
1265
1211
  <element name="standard-document">
1266
1212
  <ref name="Root-Attributes"/>
1267
- <ref name="bibdata"/>
1213
+ <ref name="bibdata">
1214
+ <a:documentation>Bibliographic description of the document itself, expressed in the Relaton model</a:documentation>
1215
+ </ref>
1268
1216
  <optional>
1269
- <ref name="misccontainer"/>
1217
+ <ref name="misccontainer">
1218
+ <a:documentation>Extension point for extraneous elements that need to be added to standards document as data</a:documentation>
1219
+ </ref>
1270
1220
  </optional>
1271
1221
  <optional>
1272
- <ref name="boilerplate"/>
1222
+ <ref name="boilerplate">
1223
+ <a:documentation>Front matter that is repeated at the start of documents issued from an SDO, with content not specific to the document</a:documentation>
1224
+ </ref>
1273
1225
  </optional>
1274
1226
  <optional>
1275
- <ref name="preface"/>
1227
+ <ref name="preface">
1228
+ <a:documentation>Prefatory sections</a:documentation>
1229
+ </ref>
1276
1230
  </optional>
1277
- <ref name="sections"/>
1231
+ <ref name="sections">
1232
+ <a:documentation>Main body of document</a:documentation>
1233
+ </ref>
1278
1234
  <zeroOrMore>
1279
- <ref name="annex"/>
1235
+ <ref name="annex">
1236
+ <a:documentation>Annex sections</a:documentation>
1237
+ </ref>
1280
1238
  </zeroOrMore>
1281
1239
  <optional>
1282
- <ref name="bibliography"/>
1240
+ <ref name="bibliography">
1241
+ <a:documentation>Bibliographic sections</a:documentation>
1242
+ </ref>
1283
1243
  </optional>
1284
1244
  <zeroOrMore>
1285
- <ref name="indexsect"/>
1245
+ <ref name="indexsect">
1246
+ <a:documentation>Index of the document</a:documentation>
1247
+ </ref>
1286
1248
  </zeroOrMore>
1287
1249
  <optional>
1288
- <ref name="colophon"/>
1250
+ <ref name="colophon">
1251
+ <a:documentation>Colophon or postface material</a:documentation>
1252
+ </ref>
1289
1253
  </optional>
1290
1254
  </element>
1291
1255
  </define>
1292
1256
  <define name="misccontainer">
1257
+ <a:documentation>Elements added to metanorma-extension are open-ended, and constitute source data</a:documentation>
1293
1258
  <element name="metanorma-extension">
1294
1259
  <oneOrMore>
1295
1260
  <ref name="AnyElement"/>
@@ -1317,11 +1282,13 @@
1317
1282
  </element>
1318
1283
  </define>
1319
1284
  <define name="foreword">
1285
+ <a:documentation>Foreword of document</a:documentation>
1320
1286
  <element name="foreword">
1321
1287
  <ref name="Content-Section"/>
1322
1288
  </element>
1323
1289
  </define>
1324
1290
  <define name="introduction">
1291
+ <a:documentation>Introduction of document</a:documentation>
1325
1292
  <element name="introduction">
1326
1293
  <ref name="Content-Section"/>
1327
1294
  </element>
@@ -1332,18 +1299,27 @@
1332
1299
  </element>
1333
1300
  </define>
1334
1301
  <define name="boilerplate">
1302
+ <a:documentation>Content addressing legal and licensing concerns around the document, outside of the main flow of document content</a:documentation>
1335
1303
  <element name="boilerplate">
1336
1304
  <optional>
1337
- <ref name="copyright-statement"/>
1305
+ <ref name="copyright-statement">
1306
+ <a:documentation>Preset templated text provided by the standardization body, describing the copyright status of the document</a:documentation>
1307
+ </ref>
1338
1308
  </optional>
1339
1309
  <optional>
1340
- <ref name="license-statement"/>
1310
+ <ref name="license-statement">
1311
+ <a:documentation>Preset templated text provided by the standardization body, providing the licensing terms for the document content</a:documentation>
1312
+ </ref>
1341
1313
  </optional>
1342
1314
  <optional>
1343
- <ref name="legal-statement"/>
1315
+ <ref name="legal-statement">
1316
+ <a:documentation>Preset templated text provided by the standardization body, providing the legal constraints and considerations around use of the document</a:documentation>
1317
+ </ref>
1344
1318
  </optional>
1345
1319
  <optional>
1346
- <ref name="feedback-statement"/>
1320
+ <ref name="feedback-statement">
1321
+ <a:documentation>Preset templated text provided by the standardization body, providing information on where feedback on the document may be addressed to</a:documentation>
1322
+ </ref>
1347
1323
  </optional>
1348
1324
  </element>
1349
1325
  </define>
@@ -1368,37 +1344,36 @@
1368
1344
  </element>
1369
1345
  </define>
1370
1346
  <define name="definitions">
1347
+ <a:documentation>One or more definition lists, used to define symbols and abbreviations used in the remainder of the document.
1348
+ These can also be used as glossaries, with simple definitions, in contrast to the more elaborate definitions given in
1349
+ terms sections </a:documentation>
1371
1350
  <element name="definitions">
1351
+ <ref name="OptionalId"/>
1352
+ <ref name="LocalizedStringAttributes"/>
1372
1353
  <optional>
1373
- <attribute name="id">
1374
- <data type="ID"/>
1354
+ <attribute name="type">
1355
+ <a:documentation>Semantic class of clause</a:documentation>
1375
1356
  </attribute>
1376
1357
  </optional>
1377
- <optional>
1378
- <attribute name="language"/>
1379
- </optional>
1380
- <optional>
1381
- <attribute name="script"/>
1382
- </optional>
1383
- <optional>
1384
- <attribute name="type"/>
1385
- </optional>
1386
1358
  <optional>
1387
1359
  <attribute name="obligation">
1388
- <choice>
1389
- <value>normative</value>
1390
- <value>informative</value>
1391
- </choice>
1360
+ <ref name="ObligationType"/>
1392
1361
  </attribute>
1393
1362
  </optional>
1394
1363
  <optional>
1395
- <ref name="section-title"/>
1364
+ <ref name="section-title">
1365
+ <a:documentation>Title of section</a:documentation>
1366
+ </ref>
1396
1367
  </optional>
1397
1368
  <oneOrMore>
1398
1369
  <zeroOrMore>
1399
- <ref name="BasicBlock"/>
1370
+ <ref name="BasicBlock">
1371
+ <a:documentation>Prefatory material, may be specific to each definition list</a:documentation>
1372
+ </ref>
1400
1373
  </zeroOrMore>
1401
- <ref name="dl"/>
1374
+ <ref name="dl">
1375
+ <a:documentation>Definition list containing symbols and abbreviations</a:documentation>
1376
+ </ref>
1402
1377
  </oneOrMore>
1403
1378
  </element>
1404
1379
  </define>
@@ -1408,11 +1383,13 @@
1408
1383
  </element>
1409
1384
  </define>
1410
1385
  <define name="abstract">
1386
+ <a:documentation>Abstract of a document, presented as a clause</a:documentation>
1411
1387
  <element name="abstract">
1412
1388
  <ref name="Content-Section"/>
1413
1389
  </element>
1414
1390
  </define>
1415
1391
  <define name="acknowledgements">
1392
+ <a:documentation>Acknowledgements of a document, presented as a clause</a:documentation>
1416
1393
  <element name="acknowledgements">
1417
1394
  <ref name="Content-Section"/>
1418
1395
  </element>
@@ -1423,12 +1400,17 @@
1423
1400
  </element>
1424
1401
  </define>
1425
1402
  <define name="Content-Section">
1403
+ <a:documentation>Unnumbered clause with no semantic specialisation, used in preface of document</a:documentation>
1426
1404
  <ref name="Section-Attributes"/>
1427
1405
  <optional>
1428
- <attribute name="type"/>
1406
+ <attribute name="type">
1407
+ <a:documentation>Semantic class of clause</a:documentation>
1408
+ </attribute>
1429
1409
  </optional>
1430
1410
  <optional>
1431
- <ref name="section-title"/>
1411
+ <ref name="section-title">
1412
+ <a:documentation>Title of section</a:documentation>
1413
+ </ref>
1432
1414
  </optional>
1433
1415
  <group>
1434
1416
  <zeroOrMore>
@@ -1445,22 +1427,34 @@
1445
1427
  </element>
1446
1428
  </define>
1447
1429
  <define name="Clause-Section">
1430
+ <a:documentation>Strictly hierarchical clause: all textual content belongs in a strict clause hierarchy. such that no blocks of text
1431
+ are siblings to subclauses (hanging paragraphs)</a:documentation>
1448
1432
  <ref name="Section-Attributes"/>
1449
1433
  <optional>
1450
- <attribute name="type"/>
1434
+ <attribute name="type">
1435
+ <a:documentation>Semantic class of the clause, e.g. "scope"</a:documentation>
1436
+ </attribute>
1451
1437
  </optional>
1452
1438
  <optional>
1453
- <ref name="section-title"/>
1439
+ <ref name="section-title">
1440
+ <a:documentation>Title of section</a:documentation>
1441
+ </ref>
1454
1442
  </optional>
1455
1443
  <choice>
1456
1444
  <choice>
1457
1445
  <oneOrMore>
1458
- <ref name="BasicBlock"/>
1446
+ <ref name="BasicBlock">
1447
+ <a:documentation>Block content, mutually exclusive with subclauses</a:documentation>
1448
+ </ref>
1459
1449
  </oneOrMore>
1460
- <ref name="amend"/>
1450
+ <ref name="amend">
1451
+ <a:documentation>Specification of machine-readable change outlined in this section,
1452
+ used in document amendments</a:documentation>
1453
+ </ref>
1461
1454
  </choice>
1462
1455
  <oneOrMore>
1463
1456
  <choice>
1457
+ <a:documentation>Subclauses, can include terms and definitions</a:documentation>
1464
1458
  <ref name="clause-subsection"/>
1465
1459
  <ref name="terms"/>
1466
1460
  <ref name="definitions"/>
@@ -1470,48 +1464,38 @@
1470
1464
  </choice>
1471
1465
  </define>
1472
1466
  <define name="Annex-Section">
1473
- <ref name="Annex-Section-Attr"/>
1467
+ <a:documentation>Clause constituting an annex or appendix</a:documentation>
1468
+ <ref name="Annex-Section-Attributes"/>
1474
1469
  <ref name="Annex-Section-Body"/>
1475
1470
  </define>
1476
- <define name="Annex-Section-Attr">
1477
- <optional>
1478
- <attribute name="id">
1479
- <data type="ID"/>
1480
- </attribute>
1481
- </optional>
1482
- <optional>
1483
- <attribute name="language"/>
1484
- </optional>
1485
- <optional>
1486
- <attribute name="script"/>
1487
- </optional>
1471
+ <define name="Annex-Section-Attributes">
1472
+ <ref name="Basic-Section-Attributes"/>
1488
1473
  <optional>
1489
1474
  <attribute name="inline-header">
1475
+ <a:documentation>Render the section number and title (if present) inline with the first paragraph of the section</a:documentation>
1490
1476
  <data type="boolean"/>
1491
1477
  </attribute>
1492
1478
  </optional>
1493
1479
  <optional>
1494
- <attribute name="obligation">
1495
- <choice>
1496
- <value>normative</value>
1497
- <value>informative</value>
1498
- </choice>
1480
+ <attribute name="type">
1481
+ <a:documentation>Semantic class of clause</a:documentation>
1499
1482
  </attribute>
1500
1483
  </optional>
1501
- <optional>
1502
- <attribute name="type"/>
1503
- </optional>
1504
1484
  </define>
1505
1485
  <define name="Annex-Section-Body">
1506
1486
  <optional>
1507
- <ref name="section-title"/>
1487
+ <ref name="section-title">
1488
+ <a:documentation>Title of clause</a:documentation>
1489
+ </ref>
1508
1490
  </optional>
1509
1491
  <group>
1510
1492
  <zeroOrMore>
1493
+ <a:documentation>Hanging paragraphs: Annexes permit top-level blocks that are not part of a subsection</a:documentation>
1511
1494
  <ref name="BasicBlock"/>
1512
1495
  </zeroOrMore>
1513
1496
  <zeroOrMore>
1514
1497
  <choice>
1498
+ <a:documentation>Subclauses of the annex: these can include terms, definitions, and references</a:documentation>
1515
1499
  <ref name="annex-subsection"/>
1516
1500
  <ref name="terms"/>
1517
1501
  <ref name="definitions"/>
@@ -1537,16 +1521,23 @@
1537
1521
  </element>
1538
1522
  </define>
1539
1523
  <define name="terms">
1524
+ <a:documentation>Terms sections give elaborated definitions of terms used in a standardization document</a:documentation>
1540
1525
  <element name="terms">
1541
1526
  <ref name="Section-Attributes"/>
1542
1527
  <optional>
1543
- <attribute name="type"/>
1528
+ <attribute name="type">
1529
+ <a:documentation>Semantic class of clause</a:documentation>
1530
+ </attribute>
1544
1531
  </optional>
1545
1532
  <optional>
1546
- <ref name="section-title"/>
1533
+ <ref name="section-title">
1534
+ <a:documentation>Title of clause</a:documentation>
1535
+ </ref>
1547
1536
  </optional>
1548
1537
  <zeroOrMore>
1549
- <ref name="BasicBlock"/>
1538
+ <ref name="BasicBlock">
1539
+ <a:documentation>Prefatory material</a:documentation>
1540
+ </ref>
1550
1541
  </zeroOrMore>
1551
1542
  <choice>
1552
1543
  <oneOrMore>
@@ -1567,49 +1558,60 @@
1567
1558
  </element>
1568
1559
  </define>
1569
1560
  <define name="term">
1561
+ <a:documentation>Terminology entry with its definition</a:documentation>
1570
1562
  <element name="term">
1571
- <optional>
1572
- <attribute name="id">
1573
- <data type="ID"/>
1574
- </attribute>
1575
- </optional>
1576
- <optional>
1577
- <attribute name="language"/>
1578
- </optional>
1579
- <optional>
1580
- <attribute name="script"/>
1581
- </optional>
1563
+ <ref name="OptionalId"/>
1564
+ <ref name="LocalizedStringAttributes"/>
1582
1565
  <ref name="BlockAttributes"/>
1583
1566
  <oneOrMore>
1584
- <ref name="preferred"/>
1567
+ <ref name="preferred">
1568
+ <a:documentation>One or more names under which the term being defined is canonically known</a:documentation>
1569
+ </ref>
1585
1570
  </oneOrMore>
1586
1571
  <zeroOrMore>
1587
- <ref name="admitted"/>
1572
+ <ref name="admitted">
1573
+ <a:documentation>Zero or more names which are acceptable synonyms for the term being defined</a:documentation>
1574
+ </ref>
1588
1575
  </zeroOrMore>
1589
1576
  <zeroOrMore>
1590
- <ref name="deprecates"/>
1577
+ <ref name="deprecates">
1578
+ <a:documentation>Zero or more names which are deprecated synonyms for the term being defined</a:documentation>
1579
+ </ref>
1591
1580
  </zeroOrMore>
1592
1581
  <zeroOrMore>
1593
- <ref name="related"/>
1582
+ <ref name="related">
1583
+ <a:documentation>Zero or more names which are related to the term being defined. </a:documentation>
1584
+ </ref>
1594
1585
  </zeroOrMore>
1595
1586
  <optional>
1596
- <ref name="termdomain"/>
1587
+ <ref name="termdomain">
1588
+ <a:documentation>An optional semantic domain for the term being defined,
1589
+ in case the term is ambiguous between several semantic domains</a:documentation>
1590
+ </ref>
1597
1591
  </optional>
1598
1592
  <optional>
1599
- <ref name="termsubject"/>
1593
+ <ref name="termsubject">
1594
+ <a:documentation>Subject of the term</a:documentation>
1595
+ </ref>
1600
1596
  </optional>
1601
1597
  <oneOrMore>
1602
- <ref name="termdefinition"/>
1598
+ <ref name="termdefinition">
1599
+ <a:documentation>The definition of the term applied in the current document</a:documentation>
1600
+ </ref>
1603
1601
  </oneOrMore>
1604
1602
  <zeroOrMore>
1605
- <ref name="termnote"/>
1606
- </zeroOrMore>
1607
- <zeroOrMore>
1608
- <ref name="termexample"/>
1603
+ <ref name="termnote">
1604
+ <a:documentation>Zero or more notes about the term</a:documentation>
1605
+ </ref>
1609
1606
  </zeroOrMore>
1610
1607
  <zeroOrMore>
1611
- <ref name="termsource"/>
1608
+ <ref name="termexample">
1609
+ <a:documentation>Zero or more examples of how the term is to be used</a:documentation>
1610
+ </ref>
1612
1611
  </zeroOrMore>
1612
+ <ref name="TermSource">
1613
+ <a:documentation>Bibliographic references for the managed term</a:documentation>
1614
+ </ref>
1613
1615
  </element>
1614
1616
  </define>
1615
1617
  <define name="preferred">
@@ -1623,32 +1625,53 @@
1623
1625
  </element>
1624
1626
  </define>
1625
1627
  <define name="related">
1628
+ <a:documentation>Term related to the current term</a:documentation>
1626
1629
  <element name="related">
1627
1630
  <attribute name="type">
1631
+ <a:documentation>Type of relation of term applicable</a:documentation>
1628
1632
  <ref name="RelatedTermType"/>
1629
1633
  </attribute>
1630
1634
  <element name="preferred">
1635
+ <a:documentation>Preferred designation of the term related to the current term</a:documentation>
1631
1636
  <ref name="Designation"/>
1632
1637
  </element>
1633
1638
  <choice>
1634
- <ref name="eref"/>
1635
- <ref name="erefstack"/>
1636
- <ref name="xref"/>
1637
- <ref name="termref"/>
1639
+ <ref name="eref">
1640
+ <a:documentation>Link to a definition of the term in a bibliographic entry</a:documentation>
1641
+ </ref>
1642
+ <ref name="erefstack">
1643
+ <a:documentation>Stack of links to a definition of the term in a bibliographic entry</a:documentation>
1644
+ </ref>
1645
+ <ref name="xref">
1646
+ <a:documentation>Link to a definition of the term in an element of the current document</a:documentation>
1647
+ </ref>
1648
+ <ref name="termref">
1649
+ <a:documentation>Link to a definition of the term in a termbase</a:documentation>
1650
+ </ref>
1638
1651
  </choice>
1639
1652
  </element>
1640
1653
  </define>
1641
1654
  <define name="RelatedTermType">
1655
+ <a:documentation>The relation of a term to the current term</a:documentation>
1642
1656
  <choice>
1643
1657
  <value>deprecates</value>
1658
+ <a:documentation>The current term deprecates the related term</a:documentation>
1644
1659
  <value>supersedes</value>
1660
+ <a:documentation>The current term supersedes the related term</a:documentation>
1645
1661
  <value>narrower</value>
1662
+ <a:documentation>The current term is narrower in denotation than the related term</a:documentation>
1646
1663
  <value>broader</value>
1664
+ <a:documentation>The current term is broader in denotation than the related term</a:documentation>
1647
1665
  <value>equivalent</value>
1666
+ <a:documentation>The current term is equivalent in denotation to the related term</a:documentation>
1648
1667
  <value>compare</value>
1668
+ <a:documentation>The current term may be compared to the related term</a:documentation>
1649
1669
  <value>contrast</value>
1670
+ <a:documentation>The current term is understood in contrast to the related term</a:documentation>
1650
1671
  <value>see</value>
1672
+ <a:documentation>For a better understanding of the current term, one should see the related term</a:documentation>
1651
1673
  <value>seealso</value>
1674
+ <a:documentation>For a better understanding of the current term, one should also see the related term</a:documentation>
1652
1675
  </choice>
1653
1676
  </define>
1654
1677
  <define name="deprecates">
@@ -1657,28 +1680,42 @@
1657
1680
  </element>
1658
1681
  </define>
1659
1682
  <define name="Designation">
1683
+ <a:documentation>A name under which a managed term is known</a:documentation>
1660
1684
  <optional>
1661
1685
  <attribute name="absent">
1686
+ <a:documentation>Indication that the term designation is missing</a:documentation>
1662
1687
  <data type="boolean"/>
1663
1688
  </attribute>
1664
1689
  </optional>
1665
1690
  <optional>
1666
- <attribute name="geographic-area"/>
1691
+ <attribute name="geographic-area">
1692
+ <a:documentation>The geographic area in which the managed term is known under this designation</a:documentation>
1693
+ </attribute>
1667
1694
  </optional>
1668
1695
  <choice>
1669
- <ref name="expression_designation"/>
1670
- <ref name="letter_symbol_designation"/>
1671
- <ref name="graphical_symbol_designation"/>
1696
+ <ref name="expression_designation">
1697
+ <a:documentation>Realisation of a designation as a linguistic form</a:documentation>
1698
+ </ref>
1699
+ <ref name="letter_symbol_designation">
1700
+ <a:documentation>Realisation of a designation as a letter or symbol</a:documentation>
1701
+ </ref>
1702
+ <ref name="graphical_symbol_designation">
1703
+ <a:documentation>Realisation of a designation as a graphical rendering</a:documentation>
1704
+ </ref>
1672
1705
  </choice>
1673
1706
  <optional>
1674
- <ref name="fieldofapplication"/>
1707
+ <ref name="fieldofapplication">
1708
+ <a:documentation>Information about what field/domain the designation is specifically applied to</a:documentation>
1709
+ </ref>
1675
1710
  </optional>
1676
1711
  <optional>
1677
- <ref name="usageinfo"/>
1712
+ <ref name="usageinfo">
1713
+ <a:documentation>Information about how the designation is to be used</a:documentation>
1714
+ </ref>
1678
1715
  </optional>
1679
- <zeroOrMore>
1680
- <ref name="termsource"/>
1681
- </zeroOrMore>
1716
+ <ref name="TermSource">
1717
+ <a:documentation>Bibliographic references for this designation of the managed term</a:documentation>
1718
+ </ref>
1682
1719
  </define>
1683
1720
  <define name="fieldofapplication">
1684
1721
  <element name="field-of-application">
@@ -1695,23 +1732,22 @@
1695
1732
  </element>
1696
1733
  </define>
1697
1734
  <define name="letter_symbol_designation">
1735
+ <a:documentation>Designation realised as a letter, symbol, formula, equation</a:documentation>
1698
1736
  <element name="letter-symbol">
1699
1737
  <optional>
1700
1738
  <attribute name="isInternational">
1739
+ <a:documentation>Whether the designation is the same across languages, or language-specific </a:documentation>
1701
1740
  <data type="boolean"/>
1702
1741
  </attribute>
1703
1742
  </optional>
1704
1743
  <optional>
1705
1744
  <attribute name="type">
1706
- <choice>
1707
- <value>letter</value>
1708
- <value>symbol</value>
1709
- <value>formula</value>
1710
- <value>equation</value>
1711
- </choice>
1745
+ <a:documentation>Type of symbolic designation</a:documentation>
1746
+ <ref name="LetterSymbolType"/>
1712
1747
  </attribute>
1713
1748
  </optional>
1714
1749
  <element name="name">
1750
+ <a:documentation>The symbolic form of the designation</a:documentation>
1715
1751
  <oneOrMore>
1716
1752
  <choice>
1717
1753
  <ref name="PureTextElement"/>
@@ -1721,139 +1757,183 @@
1721
1757
  </element>
1722
1758
  </element>
1723
1759
  </define>
1760
+ <define name="LetterSymbolType">
1761
+ <a:documentation>The type of a symbol-like designation</a:documentation>
1762
+ <choice>
1763
+ <value>letter</value>
1764
+ <a:documentation>A letter, possibly subscripted or superscripted, intended to denote some property that it abbreviates</a:documentation>
1765
+ <value>symbol</value>
1766
+ <a:documentation>A non-letter, intended to represent some property</a:documentation>
1767
+ <value>formula</value>
1768
+ <a:documentation>A mathematical formula</a:documentation>
1769
+ <value>equation</value>
1770
+ <a:documentation>A mathematical equation (or inequation)</a:documentation>
1771
+ </choice>
1772
+ </define>
1724
1773
  <define name="graphical_symbol_designation">
1774
+ <a:documentation>Designation realised as a graphical symbol</a:documentation>
1725
1775
  <element name="graphical-symbol">
1726
1776
  <optional>
1727
1777
  <attribute name="isInternational">
1778
+ <a:documentation>Whether the designation is the same across languages, or language-specific</a:documentation>
1728
1779
  <data type="boolean"/>
1729
1780
  </attribute>
1730
1781
  </optional>
1731
- <ref name="figure"/>
1782
+ <ref name="figure">
1783
+ <a:documentation>The graphical form of the designation</a:documentation>
1784
+ </ref>
1732
1785
  </element>
1733
1786
  </define>
1734
1787
  <define name="expression_designation">
1788
+ <a:documentation>A designation realised as a linguistic form</a:documentation>
1735
1789
  <element name="expression">
1736
- <optional>
1737
- <attribute name="language">
1738
- <a:documentation>ISO-639</a:documentation>
1739
- </attribute>
1740
- </optional>
1741
- <optional>
1742
- <attribute name="script">
1743
- <a:documentation>ISO-15924</a:documentation>
1744
- </attribute>
1745
- </optional>
1790
+ <ref name="LocalizedStringAttributes"/>
1746
1791
  <optional>
1747
1792
  <attribute name="type">
1793
+ <a:documentation>The type of linguistic form used as designation</a:documentation>
1748
1794
  <ref name="ExpressionDesignationType"/>
1749
1795
  </attribute>
1750
1796
  </optional>
1751
1797
  <optional>
1752
1798
  <attribute name="isInternational">
1799
+ <a:documentation>Whether the designation (typically an abbreviation) is the same across languages, or language-specific</a:documentation>
1753
1800
  <data type="boolean"/>
1754
1801
  </attribute>
1755
1802
  </optional>
1756
1803
  <element name="name">
1804
+ <a:documentation>The textual form of the designation</a:documentation>
1757
1805
  <zeroOrMore>
1758
1806
  <choice>
1759
1807
  <ref name="PureTextElement"/>
1760
1808
  <ref name="stem"/>
1761
1809
  <ref name="index"/>
1810
+ <ref name="index-xref"/>
1762
1811
  </choice>
1763
1812
  </zeroOrMore>
1764
1813
  </element>
1765
1814
  <optional>
1766
1815
  <element name="abbreviation-type">
1816
+ <a:documentation>Type of abbreviation that constitutes the designation, according to how it is formed</a:documentation>
1767
1817
  <ref name="AbbreviationType"/>
1768
1818
  </element>
1769
1819
  </optional>
1770
1820
  <optional>
1771
1821
  <element name="pronunciation">
1822
+ <a:documentation>A pronunciation guide to the designation</a:documentation>
1772
1823
  <ref name="LocalizedString"/>
1773
1824
  </element>
1774
1825
  </optional>
1775
1826
  <optional>
1776
1827
  <element name="grammar">
1828
+ <a:documentation>Grammatical information about the designation</a:documentation>
1777
1829
  <ref name="Grammar"/>
1778
1830
  </element>
1779
1831
  </optional>
1780
1832
  </element>
1781
1833
  </define>
1782
1834
  <define name="ExpressionDesignationType">
1835
+ <a:documentation>Type of linguistic form used as designation</a:documentation>
1783
1836
  <choice>
1784
1837
  <value>prefix</value>
1838
+ <a:documentation>The form is a prefix</a:documentation>
1785
1839
  <value>suffix</value>
1840
+ <a:documentation>The form is a suffix</a:documentation>
1786
1841
  <value>abbreviation</value>
1842
+ <a:documentation>The form is an abbreviation</a:documentation>
1787
1843
  <value>full</value>
1844
+ <a:documentation>The form is a self-standing linguistic expression</a:documentation>
1788
1845
  </choice>
1789
1846
  </define>
1790
1847
  <define name="AbbreviationType">
1848
+ <a:documentation>Type of abbreviation, according to how it is formed</a:documentation>
1791
1849
  <choice>
1792
1850
  <value>truncation</value>
1851
+ <a:documentation>Abbrevation formed by truncating constituent words</a:documentation>
1793
1852
  <value>acronym</value>
1853
+ <a:documentation>Abbrevation formed from the initials of its constituent words, and pronounced as a new word</a:documentation>
1794
1854
  <value>initialism</value>
1855
+ <a:documentation>Abbrevation formed from the initials of its constituent words, and pronounced as a sequence of letters</a:documentation>
1795
1856
  </choice>
1796
1857
  </define>
1797
1858
  <define name="Grammar">
1859
+ <a:documentation>Grammatical information about a designation</a:documentation>
1798
1860
  <zeroOrMore>
1799
1861
  <element name="gender">
1862
+ <a:documentation>The grammatical gender of the designation</a:documentation>
1800
1863
  <ref name="GrammarGender"/>
1801
1864
  </element>
1802
1865
  </zeroOrMore>
1803
1866
  <zeroOrMore>
1804
1867
  <element name="number">
1868
+ <a:documentation>The grammatical number of the designation</a:documentation>
1805
1869
  <ref name="GrammarNumber"/>
1806
1870
  </element>
1807
1871
  </zeroOrMore>
1808
1872
  <optional>
1809
1873
  <element name="isPreposition">
1874
+ <a:documentation>The designation is a preposition</a:documentation>
1810
1875
  <data type="boolean"/>
1811
1876
  </element>
1812
1877
  </optional>
1813
1878
  <optional>
1814
1879
  <element name="isParticiple">
1880
+ <a:documentation>The designation is a participle</a:documentation>
1815
1881
  <data type="boolean"/>
1816
1882
  </element>
1817
1883
  </optional>
1818
1884
  <optional>
1819
1885
  <element name="isAdjective">
1886
+ <a:documentation>The designation is an adjective</a:documentation>
1820
1887
  <data type="boolean"/>
1821
1888
  </element>
1822
1889
  </optional>
1823
1890
  <optional>
1824
1891
  <element name="isVerb">
1892
+ <a:documentation>The designation is a verb</a:documentation>
1825
1893
  <data type="boolean"/>
1826
1894
  </element>
1827
1895
  </optional>
1828
1896
  <optional>
1829
1897
  <element name="isAdverb">
1898
+ <a:documentation>The designation is an adverb</a:documentation>
1830
1899
  <data type="boolean"/>
1831
1900
  </element>
1832
1901
  </optional>
1833
1902
  <optional>
1834
1903
  <element name="isNoun">
1904
+ <a:documentation>The designation is a noun</a:documentation>
1835
1905
  <data type="boolean"/>
1836
1906
  </element>
1837
1907
  </optional>
1838
1908
  <zeroOrMore>
1839
1909
  <element name="grammar-value">
1910
+ <a:documentation>Miscellaneous grammatical information</a:documentation>
1840
1911
  <text/>
1841
1912
  </element>
1842
1913
  </zeroOrMore>
1843
1914
  </define>
1844
1915
  <define name="GrammarGender">
1916
+ <a:documentation>The grammatical gender of the designation</a:documentation>
1845
1917
  <choice>
1846
1918
  <value>masculine</value>
1919
+ <a:documentation>Masculine gender</a:documentation>
1847
1920
  <value>feminine</value>
1921
+ <a:documentation>Feminine gender</a:documentation>
1848
1922
  <value>neuter</value>
1923
+ <a:documentation>Neuter gender</a:documentation>
1849
1924
  <value>common</value>
1925
+ <a:documentation>Masculine + Feminine gender</a:documentation>
1850
1926
  </choice>
1851
1927
  </define>
1852
1928
  <define name="GrammarNumber">
1929
+ <a:documentation>The grammatical number of the designation</a:documentation>
1853
1930
  <choice>
1854
1931
  <value>singular</value>
1932
+ <a:documentation>Singular number</a:documentation>
1855
1933
  <value>dual</value>
1934
+ <a:documentation>Dual number</a:documentation>
1856
1935
  <value>plural</value>
1936
+ <a:documentation>Plural number</a:documentation>
1857
1937
  </choice>
1858
1938
  </define>
1859
1939
  <define name="termdomain">
@@ -1871,13 +1951,20 @@
1871
1951
  </element>
1872
1952
  </define>
1873
1953
  <define name="termdefinition">
1954
+ <a:documentation>The definition of a term applied in the current document</a:documentation>
1874
1955
  <element name="definition">
1875
1956
  <optional>
1876
- <attribute name="type"/>
1957
+ <attribute name="type">
1958
+ <a:documentation>Type of definition, used to differentiate it from other definitions of the same term if present</a:documentation>
1959
+ </attribute>
1877
1960
  </optional>
1878
1961
  <choice>
1879
- <ref name="verbaldefinition"/>
1880
- <ref name="nonverbalrep"/>
1962
+ <ref name="verbaldefinition">
1963
+ <a:documentation>The content of the definition of the term applied in the current document</a:documentation>
1964
+ </ref>
1965
+ <ref name="nonverbalrep">
1966
+ <a:documentation>Non-verbal representation of the term applied in the current document</a:documentation>
1967
+ </ref>
1881
1968
  <group>
1882
1969
  <ref name="verbaldefinition"/>
1883
1970
  <ref name="nonverbalrep"/>
@@ -1889,6 +1976,7 @@
1889
1976
  <element name="verbal-definition">
1890
1977
  <oneOrMore>
1891
1978
  <choice>
1979
+ <a:documentation>Content of the verbal representation of the term</a:documentation>
1892
1980
  <ref name="paragraph"/>
1893
1981
  <ref name="dl"/>
1894
1982
  <ref name="ol"/>
@@ -1898,44 +1986,35 @@
1898
1986
  <ref name="formula"/>
1899
1987
  </choice>
1900
1988
  </oneOrMore>
1901
- <zeroOrMore>
1902
- <ref name="termsource"/>
1903
- </zeroOrMore>
1989
+ <ref name="TermSource">
1990
+ <a:documentation>Bibliographic references for this designation of the managed term</a:documentation>
1991
+ </ref>
1904
1992
  </element>
1905
1993
  </define>
1906
1994
  <define name="nonverbalrep">
1995
+ <a:documentation>Non-verbal representation of the term</a:documentation>
1907
1996
  <element name="non-verbal-representation">
1908
1997
  <oneOrMore>
1909
1998
  <choice>
1999
+ <a:documentation>Content of the non-verbal representation of the term</a:documentation>
1910
2000
  <ref name="table"/>
1911
2001
  <ref name="figure"/>
1912
2002
  <ref name="formula"/>
1913
2003
  </choice>
1914
2004
  </oneOrMore>
1915
- <zeroOrMore>
1916
- <ref name="termsource"/>
1917
- </zeroOrMore>
2005
+ <ref name="TermSource">
2006
+ <a:documentation>Bibliographic references for this designation of the managed term</a:documentation>
2007
+ </ref>
1918
2008
  </element>
1919
2009
  </define>
1920
2010
  <define name="termnote">
1921
2011
  <element name="termnote">
1922
- <attribute name="id">
1923
- <data type="ID"/>
1924
- </attribute>
1925
- <optional>
1926
- <attribute name="unnumbered">
1927
- <data type="boolean"/>
1928
- </attribute>
1929
- </optional>
1930
- <optional>
1931
- <attribute name="number"/>
1932
- </optional>
1933
- <optional>
1934
- <attribute name="subsequence"/>
1935
- </optional>
2012
+ <ref name="RequiredId"/>
2013
+ <ref name="NumberingAttributes"/>
1936
2014
  <ref name="BlockAttributes"/>
1937
2015
  <oneOrMore>
1938
2016
  <choice>
2017
+ <a:documentation>Content of the term note</a:documentation>
1939
2018
  <ref name="paragraph"/>
1940
2019
  <ref name="ul"/>
1941
2020
  <ref name="ol"/>
@@ -1947,12 +2026,11 @@
1947
2026
  </define>
1948
2027
  <define name="termexample">
1949
2028
  <element name="termexample">
1950
- <attribute name="id">
1951
- <data type="ID"/>
1952
- </attribute>
2029
+ <ref name="RequiredId"/>
1953
2030
  <ref name="BlockAttributes"/>
1954
2031
  <oneOrMore>
1955
2032
  <choice>
2033
+ <a:documentation>Content of the term example</a:documentation>
1956
2034
  <ref name="formula"/>
1957
2035
  <ref name="ul"/>
1958
2036
  <ref name="ol"/>
@@ -1966,32 +2044,56 @@
1966
2044
  </element>
1967
2045
  </define>
1968
2046
  <define name="termsource">
2047
+ <a:documentation>The bibliographic source where a term is defined in the sense applicable in this standardisation document</a:documentation>
1969
2048
  <element name="termsource">
1970
2049
  <attribute name="status">
2050
+ <a:documentation>The status of the term as it is used in this document, relative to its definition in the original document</a:documentation>
1971
2051
  <ref name="SourceStatusType"/>
1972
2052
  </attribute>
1973
2053
  <attribute name="type">
1974
- <choice>
1975
- <value>authoritative</value>
1976
- <value>lineage</value>
1977
- </choice>
2054
+ <a:documentation>The type of the managed term in the present context</a:documentation>
2055
+ <ref name="SourceTypeType"/>
1978
2056
  </attribute>
1979
- <ref name="origin"/>
2057
+ <ref name="origin">
2058
+ <a:documentation>The original document and location where the term definition has been obtained from</a:documentation>
2059
+ </ref>
1980
2060
  <optional>
1981
- <ref name="modification"/>
2061
+ <ref name="modification">
2062
+ <a:documentation>Any changes that the definition of the term has undergone relative to the original document,
2063
+ in order to be applicable in this standardisation document</a:documentation>
2064
+ </ref>
1982
2065
  </optional>
1983
2066
  </element>
1984
2067
  </define>
1985
2068
  <define name="SourceStatusType">
2069
+ <a:documentation>The status of a term as it is used in this document, relative to its definition in the original document</a:documentation>
1986
2070
  <choice>
1987
2071
  <value>identical</value>
2072
+ <a:documentation>The managed term in the present context is identical to the term as found in the bibliographic source</a:documentation>
1988
2073
  <value>modified</value>
2074
+ <a:documentation>The managed term in the present context has been modified from the term as found in the bibliographic source</a:documentation>
1989
2075
  <value>adapted</value>
2076
+ <a:documentation>The managed term in the present context has been modified from the term as found in the bibliographic source, in order
2077
+ to better fit some local requirement, though still with the intent of retaining the original meaning as much as possible</a:documentation>
1990
2078
  <value>restyled</value>
2079
+ <a:documentation>The managed term in the present context has been restyled from the term as found in the bibliographic source</a:documentation>
1991
2080
  <value>context-added</value>
2081
+ <a:documentation>The managed term in the present context has had context added to it, relative to the term as found in the bibliographic source</a:documentation>
1992
2082
  <value>generalisation</value>
2083
+ <a:documentation>The managed term in the present context is a generalisation of the term as found in the bibliographic source</a:documentation>
1993
2084
  <value>specialisation</value>
2085
+ <a:documentation>The managed term in the present context is a specialisation of the term as found in the bibliographic source</a:documentation>
1994
2086
  <value>unspecified</value>
2087
+ <a:documentation>The managed term in the present context is in an unspecified relation to the term as found in the bibliographic source</a:documentation>
2088
+ </choice>
2089
+ </define>
2090
+ <define name="SourceTypeType">
2091
+ <a:documentation>The type of the managed term in the present context</a:documentation>
2092
+ <choice>
2093
+ <value>authoritative</value>
2094
+ <a:documentation>The managed term is authoritative in the present context</a:documentation>
2095
+ <value>lineage</value>
2096
+ <a:documentation>The managed term constitutes lineage in the present context</a:documentation>
1995
2097
  </choice>
1996
2098
  </define>
1997
2099
  <define name="origin">
@@ -2008,45 +2110,37 @@
2008
2110
  </element>
2009
2111
  </define>
2010
2112
  <define name="termref">
2113
+ <a:documentation>Cross-reference to a term defined within a termbase</a:documentation>
2011
2114
  <element name="termref">
2012
- <attribute name="base"/>
2013
- <attribute name="target"/>
2014
- <optional>
2015
- <text/>
2016
- </optional>
2115
+ <attribute name="base">
2116
+ <a:documentation>Identifier of the termbase</a:documentation>
2117
+ </attribute>
2118
+ <attribute name="target">
2119
+ <a:documentation>Identifier of the term within the termbase</a:documentation>
2120
+ </attribute>
2121
+ <zeroOrMore>
2122
+ <ref name="PureTextElement">
2123
+ <a:documentation>Text to display for the cross-reference to the term</a:documentation>
2124
+ </ref>
2125
+ </zeroOrMore>
2017
2126
  </element>
2018
2127
  </define>
2019
2128
  <define name="term-clause">
2020
2129
  <element name="clause">
2021
- <optional>
2022
- <attribute name="id">
2023
- <data type="ID"/>
2024
- </attribute>
2025
- </optional>
2026
- <optional>
2027
- <attribute name="language"/>
2028
- </optional>
2029
- <optional>
2030
- <attribute name="script"/>
2031
- </optional>
2130
+ <ref name="Basic-Section-Attributes"/>
2032
2131
  <optional>
2033
2132
  <attribute name="inline-header">
2133
+ <a:documentation>Render the section number and title (if present) inline with the first paragraph of the section</a:documentation>
2034
2134
  <data type="boolean"/>
2035
2135
  </attribute>
2036
2136
  </optional>
2037
- <optional>
2038
- <attribute name="obligation">
2039
- <choice>
2040
- <value>normative</value>
2041
- <value>informative</value>
2042
- </choice>
2043
- </attribute>
2044
- </optional>
2045
2137
  <optional>
2046
2138
  <ref name="section-title"/>
2047
2139
  </optional>
2048
2140
  <zeroOrMore>
2049
- <ref name="BasicBlock"/>
2141
+ <ref name="BasicBlock">
2142
+ <a:documentation>Prefatory text</a:documentation>
2143
+ </ref>
2050
2144
  </zeroOrMore>
2051
2145
  <zeroOrMore>
2052
2146
  <choice>
@@ -2063,8 +2157,10 @@
2063
2157
  </element>
2064
2158
  </define>
2065
2159
  <define name="autonumber">
2160
+ <a:documentation>Specification of how blocks of a given class should be autonumbered within an AmendBlock newContent element</a:documentation>
2066
2161
  <element name="autonumber">
2067
2162
  <attribute name="type">
2163
+ <a:documentation>The class of block to apply autonumbering to, within an AmendBlock newContent element</a:documentation>
2068
2164
  <choice>
2069
2165
  <value>requirement</value>
2070
2166
  <value>recommendation</value>
@@ -2078,88 +2174,119 @@
2078
2174
  <value>note</value>
2079
2175
  </choice>
2080
2176
  </attribute>
2081
- <text/>
2177
+ <text>
2178
+ <a:documentation>The starting value of numbering for the blocks with that class</a:documentation>
2179
+ </text>
2082
2180
  </element>
2083
2181
  </define>
2084
2182
  <define name="imagemap">
2183
+ <a:documentation>Wrapper around an image file, to specify an image map, with areas of an image being hyperlinked</a:documentation>
2085
2184
  <element name="imagemap">
2086
2185
  <ref name="BlockAttributes"/>
2087
- <ref name="figure"/>
2186
+ <ref name="figure">
2187
+ <a:documentation>the image to be hyperlinked</a:documentation>
2188
+ </ref>
2088
2189
  <zeroOrMore>
2089
- <element name="area">
2090
- <attribute name="type">
2091
- <choice>
2092
- <value>rect</value>
2093
- <value>circle</value>
2094
- <value>ellipse</value>
2095
- <value>poly</value>
2096
- </choice>
2190
+ <ref name="imagemaparea">
2191
+ <a:documentation>Specification of an area of an image to be hyperlinked, as part of an image map</a:documentation>
2192
+ </ref>
2193
+ </zeroOrMore>
2194
+ </element>
2195
+ </define>
2196
+ <define name="imagemaparea">
2197
+ <a:documentation>Specification of an area of an image to be hyperlinked, as part of an image map</a:documentation>
2198
+ <element name="area">
2199
+ <attribute name="type">
2200
+ <a:documentation>Type of an image map area of an image that is hyperlinked</a:documentation>
2201
+ <choice>
2202
+ <value>rect</value>
2203
+ <value>circle</value>
2204
+ <value>ellipse</value>
2205
+ <value>poly</value>
2206
+ </choice>
2207
+ </attribute>
2208
+ <choice>
2209
+ <a:documentation>Element that this image map area links to</a:documentation>
2210
+ <ref name="xref"/>
2211
+ <ref name="hyperlink"/>
2212
+ <ref name="eref"/>
2213
+ <ref name="erefstack"/>
2214
+ </choice>
2215
+ <oneOrMore>
2216
+ <element name="coords">
2217
+ <a:documentation>Polygon defined shape of the image map area</a:documentation>
2218
+ <attribute name="x">
2219
+ <a:documentation>X-coordinate of a coordinate point</a:documentation>
2220
+ <data type="float"/>
2221
+ </attribute>
2222
+ <attribute name="y">
2223
+ <a:documentation>Y-coordinate of a coordinate point</a:documentation>
2224
+ <data type="float"/>
2225
+ </attribute>
2226
+ </element>
2227
+ </oneOrMore>
2228
+ <optional>
2229
+ <element name="radius">
2230
+ <a:documentation>Radius-defined shape of the image map area</a:documentation>
2231
+ <attribute name="x">
2232
+ <a:documentation>X-coordinate of the center of a circle area within the image map</a:documentation>
2233
+ <data type="float"/>
2097
2234
  </attribute>
2098
- <choice>
2099
- <ref name="xref"/>
2100
- <ref name="hyperlink"/>
2101
- <ref name="eref"/>
2102
- <ref name="erefstack"/>
2103
- </choice>
2104
- <oneOrMore>
2105
- <element name="coords">
2106
- <attribute name="x">
2107
- <data type="float"/>
2108
- </attribute>
2109
- <attribute name="y">
2110
- <data type="float"/>
2111
- </attribute>
2112
- </element>
2113
- </oneOrMore>
2114
2235
  <optional>
2115
- <element name="radius">
2116
- <attribute name="x">
2117
- <data type="float"/>
2118
- </attribute>
2119
- <optional>
2120
- <attribute name="y">
2121
- <data type="float"/>
2122
- </attribute>
2123
- </optional>
2124
- </element>
2236
+ <attribute name="y">
2237
+ <a:documentation>Y-coordinate of the center of a circle area within the image map</a:documentation>
2238
+ <data type="float"/>
2239
+ </attribute>
2125
2240
  </optional>
2126
2241
  </element>
2127
- </zeroOrMore>
2242
+ </optional>
2128
2243
  </element>
2129
2244
  </define>
2130
2245
  <define name="svgmap">
2246
+ <a:documentation>Wrapper around an SVG file, to update its hyperlinks with potentially document-specific
2247
+ links, so that the SVG file can hyperlink to anchors within the document</a:documentation>
2131
2248
  <element name="svgmap">
2132
2249
  <ref name="BlockAttributes"/>
2133
- <ref name="figure"/>
2250
+ <ref name="figure">
2251
+ <a:documentation>The SVG file to be updated</a:documentation>
2252
+ </ref>
2134
2253
  <zeroOrMore>
2135
- <element name="target">
2136
- <attribute name="href">
2137
- <data type="anyURI"/>
2138
- </attribute>
2139
- <choice>
2140
- <ref name="xref"/>
2141
- <ref name="hyperlink"/>
2142
- <ref name="eref"/>
2143
- <ref name="erefstack"/>
2144
- </choice>
2145
- </element>
2254
+ <ref name="svg_target">
2255
+ <a:documentation>Specification of the cross-references to update the SVG file with</a:documentation>
2256
+ </ref>
2146
2257
  </zeroOrMore>
2147
2258
  </element>
2148
2259
  </define>
2260
+ <define name="svg_target">
2261
+ <a:documentation>Specification of (potentially document-specific) cross-references, to overwrite the
2262
+ links within an SVG file, so that the SVG file can hyperlink to anchors within the document</a:documentation>
2263
+ <element name="target">
2264
+ <attribute name="href">
2265
+ <a:documentation>The value of the `href` attribute in the SVG file to be overwritten</a:documentation>
2266
+ <data type="anyURI"/>
2267
+ </attribute>
2268
+ <choice>
2269
+ <a:documentation>The cross-reference or hyperlink, whose value is to overwrite the value of the `href` attribute in the SVG file</a:documentation>
2270
+ <ref name="xref"/>
2271
+ <ref name="hyperlink"/>
2272
+ <ref name="eref"/>
2273
+ <ref name="erefstack"/>
2274
+ </choice>
2275
+ </element>
2276
+ </define>
2149
2277
  <define name="ul_li">
2278
+ <a:documentation>Unorderd list item for standards documents</a:documentation>
2150
2279
  <element name="li">
2151
- <optional>
2152
- <attribute name="id">
2153
- <data type="ID"/>
2154
- </attribute>
2155
- </optional>
2280
+ <ref name="OptionalId"/>
2156
2281
  <optional>
2157
2282
  <attribute name="uncheckedcheckbox">
2283
+ <a:documentation>Include a checkbox for the list item</a:documentation>
2158
2284
  <data type="boolean"/>
2159
2285
  </attribute>
2160
2286
  </optional>
2161
2287
  <optional>
2162
2288
  <attribute name="checkedcheckbox">
2289
+ <a:documentation>Check the checkbox for the list item</a:documentation>
2163
2290
  <data type="boolean"/>
2164
2291
  </attribute>
2165
2292
  </optional>
@@ -2169,70 +2296,22 @@
2169
2296
  </element>
2170
2297
  </define>
2171
2298
  <define name="floating-title">
2299
+ <a:documentation>A floating title, outside of the clause hierarchy of the document</a:documentation>
2172
2300
  <element name="floating-title">
2173
- <attribute name="id">
2174
- <data type="ID"/>
2175
- </attribute>
2301
+ <ref name="RequiredId"/>
2176
2302
  <attribute name="depth">
2303
+ <a:documentation>The ostensive depth of the floating title in the clause hierarchy: which level heading it should be presented as</a:documentation>
2177
2304
  <data type="int"/>
2178
2305
  </attribute>
2179
2306
  <zeroOrMore>
2180
- <ref name="TextElement"/>
2307
+ <ref name="TextElement">
2308
+ <a:documentation>Textual content of the floating title</a:documentation>
2309
+ </ref>
2181
2310
  </zeroOrMore>
2182
2311
  </element>
2183
2312
  </define>
2184
- <define name="XrefAttributes">
2185
- <attribute name="target">
2186
- <data type="string">
2187
- <param name="pattern">\i\c*|\c+#\c+</param>
2188
- </data>
2189
- </attribute>
2190
- <optional>
2191
- <attribute name="to">
2192
- <data type="string">
2193
- <param name="pattern">\i\c*|\c+#\c+</param>
2194
- </data>
2195
- </attribute>
2196
- </optional>
2197
- <optional>
2198
- <attribute name="type">
2199
- <ref name="ReferenceFormat"/>
2200
- </attribute>
2201
- </optional>
2202
- <optional>
2203
- <attribute name="alt"/>
2204
- </optional>
2205
- <optional>
2206
- <attribute name="case">
2207
- <choice>
2208
- <value>capital</value>
2209
- <value>lowercase</value>
2210
- </choice>
2211
- </attribute>
2212
- </optional>
2213
- <optional>
2214
- <attribute name="droploc">
2215
- <data type="boolean"/>
2216
- </attribute>
2217
- </optional>
2218
- <optional>
2219
- <attribute name="style">
2220
- <ref name="XrefStyleType"/>
2221
- </attribute>
2222
- </optional>
2223
- <optional>
2224
- <attribute name="label"/>
2225
- </optional>
2226
- </define>
2227
- <define name="XrefBody">
2228
- <zeroOrMore>
2229
- <ref name="XrefTarget"/>
2230
- </zeroOrMore>
2231
- <oneOrMore>
2232
- <ref name="PureTextElement"/>
2233
- </oneOrMore>
2234
- </define>
2235
2313
  <define name="XrefConnectiveType">
2314
+ <a:documentation>Connective linking the current cross-reference target to its predecessor</a:documentation>
2236
2315
  <choice>
2237
2316
  <value>and</value>
2238
2317
  <value>or</value>
@@ -2242,38 +2321,52 @@
2242
2321
  </choice>
2243
2322
  </define>
2244
2323
  <define name="XrefTarget">
2324
+ <a:documentation>Description of location in a reference, which can be combined with other locations in a single citation</a:documentation>
2245
2325
  <element name="location">
2246
2326
  <attribute name="target">
2327
+ <a:documentation>Anchor within the document to point to</a:documentation>
2247
2328
  <data type="string">
2248
2329
  <param name="pattern">\i\c*|\c+#\c+</param>
2249
2330
  </data>
2250
2331
  </attribute>
2251
2332
  <attribute name="connective">
2333
+ <a:documentation>Connective linking this location to its predecessor. _from/to_ are presumed to nest more closely than _and_ or _or_</a:documentation>
2252
2334
  <ref name="XrefConnectiveType"/>
2253
2335
  </attribute>
2254
2336
  </element>
2255
2337
  </define>
2256
2338
  <define name="XrefStyleType">
2339
+ <a:documentation>Style of how a cross-reference is to be rendered</a:documentation>
2257
2340
  <choice>
2258
2341
  <value>basic</value>
2342
+ <a:documentation>Render cross-reference only through the title of the element (e.g. "The hunting of the snark"</a:documentation>
2259
2343
  <value>full</value>
2344
+ <a:documentation>Render cross-reference as a combination of title and the numbering and type of the element (e.g. Chapter 3, "The hunting of the snark")</a:documentation>
2260
2345
  <value>short</value>
2346
+ <a:documentation>Default style: render cross-reference only through the numbering and type of the element (e.g. Chapter 3)</a:documentation>
2261
2347
  <value>id</value>
2262
- <text/>
2348
+ <a:documentation>Render cross-reference as the anchor or identifier used to identify the target</a:documentation>
2349
+ <text>
2350
+ <a:documentation>Extension point: User-defined rendering style (e.g. "modspec" for cross-references compliant to the OGC Modspec model of cross-referencing requirements from other requirements, independent of how those requirements are cross-referenced within a standards document.)</a:documentation>
2351
+ </text>
2263
2352
  </choice>
2264
2353
  </define>
2265
2354
  <define name="erefTypeWithConnective">
2355
+ <a:documentation>Cross-reference to an bibliographic reference within a standardisatin document, with a connective</a:documentation>
2266
2356
  <optional>
2267
2357
  <attribute name="connective">
2358
+ <a:documentation>Connective linking this location to its predecessor. _from/to_ are presumed to nest more closely than _and_ or _or_</a:documentation>
2268
2359
  <ref name="XrefConnectiveType"/>
2269
2360
  </attribute>
2270
2361
  </optional>
2271
2362
  <ref name="erefType"/>
2272
2363
  </define>
2273
2364
  <define name="erefstack">
2365
+ <a:documentation>Set of cross-references to bibliographic references within a standardisation document, joined with connectives</a:documentation>
2274
2366
  <element name="erefstack">
2275
2367
  <oneOrMore>
2276
2368
  <element name="eref">
2369
+ <a:documentation>Cross-reference to a bibliographic reference</a:documentation>
2277
2370
  <ref name="erefTypeWithConnective"/>
2278
2371
  </element>
2279
2372
  </oneOrMore>
@@ -2282,25 +2375,51 @@
2282
2375
  <define name="BlockAttributes">
2283
2376
  <optional>
2284
2377
  <attribute name="keep-with-next">
2378
+ <a:documentation>Keep this block on the same page as the following block in paged media</a:documentation>
2285
2379
  <data type="boolean"/>
2286
2380
  </attribute>
2287
2381
  </optional>
2288
2382
  <optional>
2289
2383
  <attribute name="keep-lines-together">
2384
+ <a:documentation>Do not permit a page break between the lines of the block in paged media</a:documentation>
2290
2385
  <data type="boolean"/>
2291
2386
  </attribute>
2292
2387
  </optional>
2293
2388
  <optional>
2294
- <attribute name="tag"/>
2389
+ <attribute name="tag">
2390
+ <a:documentation>Non-unique identifier within document. Used to align two blocks in different languages in a multilingual document</a:documentation>
2391
+ </attribute>
2295
2392
  </optional>
2296
2393
  <optional>
2297
2394
  <attribute name="multilingual-rendering">
2395
+ <a:documentation>Specification of how a block element may be rendered in a multilingual document</a:documentation>
2298
2396
  <ref name="MultilingualRenderingType"/>
2299
2397
  </attribute>
2300
2398
  </optional>
2301
2399
  <optional>
2302
- <attribute name="columns"/>
2400
+ <attribute name="columns">
2401
+ <a:documentation>Set the columns display of the current block, overriding the display inherited from the document.
2402
+ For example, if the document is set to two-column, this attribute would be used to set the block
2403
+ to span across both columns</a:documentation>
2404
+ </attribute>
2405
+ </optional>
2406
+ </define>
2407
+ <define name="ReferencesAttributes">
2408
+ <optional>
2409
+ <attribute name="obligation">
2410
+ <ref name="ObligationType"/>
2411
+ </attribute>
2303
2412
  </optional>
2413
+ <attribute name="normative">
2414
+ <a:documentation>Whether this is a normative references section or informative (bibliography). Not the same as obligation:
2415
+ Normative References contents contain normative references, but as a clause in the document, they are informative.</a:documentation>
2416
+ <data type="boolean"/>
2417
+ </attribute>
2418
+ </define>
2419
+ <define name="TermSource">
2420
+ <zeroOrMore>
2421
+ <ref name="termsource"/>
2422
+ </zeroOrMore>
2304
2423
  </define>
2305
2424
  <start>
2306
2425
  <ref name="standard-document"/>