metanorma-generic 2.6.2 → 2.6.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -17,7 +17,7 @@
17
17
  these elements; we just want one namespace for any child grammars
18
18
  of this.
19
19
  -->
20
- <!-- VERSION v1.3.0 -->
20
+ <!-- VERSION v1.3.2 -->
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">
@@ -30,42 +30,28 @@
30
30
  </zeroOrMore>
31
31
  </element>
32
32
  </define>
33
- <define name="admonition">
34
- <element name="admonition">
35
- <attribute name="type">
36
- <ref name="AdmonitionType"/>
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"/>
37
43
  </attribute>
38
- <optional>
39
- <attribute name="class"/>
40
- </optional>
41
- <attribute name="id">
42
- <data type="ID"/>
44
+ </optional>
45
+ <optional>
46
+ <attribute name="coverpage">
47
+ <data type="boolean"/>
43
48
  </attribute>
44
- <optional>
45
- <attribute name="uri">
46
- <data type="anyURI"/>
47
- </attribute>
48
- </optional>
49
- <optional>
50
- <attribute name="coverpage">
51
- <data type="boolean"/>
52
- </attribute>
53
- </optional>
54
- <optional>
55
- <attribute name="notag">
56
- <data type="boolean"/>
57
- </attribute>
58
- </optional>
59
- <optional>
60
- <ref name="tname"/>
61
- </optional>
62
- <zeroOrMore>
63
- <ref name="paragraph-with-footnote"/>
64
- </zeroOrMore>
65
- <zeroOrMore>
66
- <ref name="note"/>
67
- </zeroOrMore>
68
- </element>
49
+ </optional>
50
+ <optional>
51
+ <attribute name="notag">
52
+ <data type="boolean"/>
53
+ </attribute>
54
+ </optional>
69
55
  </define>
70
56
  <define name="AdmonitionType">
71
57
  <choice>
@@ -156,44 +142,7 @@
156
142
  </define>
157
143
  <define name="xref">
158
144
  <element name="xref">
159
- <attribute name="target">
160
- <data type="string">
161
- <param name="pattern">\i\c*|\c+#\c+</param>
162
- </data>
163
- </attribute>
164
- <optional>
165
- <attribute name="to">
166
- <data type="string">
167
- <param name="pattern">\i\c*|\c+#\c+</param>
168
- </data>
169
- </attribute>
170
- </optional>
171
- <optional>
172
- <attribute name="type">
173
- <ref name="ReferenceFormat"/>
174
- </attribute>
175
- </optional>
176
- <optional>
177
- <attribute name="alt"/>
178
- </optional>
179
- <optional>
180
- <attribute name="case">
181
- <choice>
182
- <value>capital</value>
183
- <value>lowercase</value>
184
- </choice>
185
- </attribute>
186
- </optional>
187
- <optional>
188
- <attribute name="droploc">
189
- <data type="boolean"/>
190
- </attribute>
191
- </optional>
192
- <optional>
193
- <attribute name="style">
194
- <ref name="XrefStyleType"/>
195
- </attribute>
196
- </optional>
145
+ <ref name="XrefAttributes"/>
197
146
  <ref name="XrefBody"/>
198
147
  </element>
199
148
  </define>
@@ -233,226 +182,207 @@
233
182
  <ref name="PureTextElement"/>
234
183
  </oneOrMore>
235
184
  </define>
236
- <define name="ul">
237
- <element name="ul">
238
- <attribute name="id">
239
- <data type="ID"/>
240
- </attribute>
241
- <ref name="BlockAttributes"/>
242
- <optional>
243
- <ref name="tname"/>
244
- </optional>
245
- <oneOrMore>
246
- <ref name="ul_li"/>
247
- </oneOrMore>
248
- <zeroOrMore>
249
- <ref name="note"/>
250
- </zeroOrMore>
251
- </element>
185
+ <define name="UlAttr">
186
+ <ref name="BlockAttributes"/>
252
187
  </define>
253
- <define name="ol">
254
- <element name="ol">
255
- <attribute name="id">
256
- <data type="ID"/>
188
+ <define name="UlBody">
189
+ <optional>
190
+ <ref name="tname"/>
191
+ </optional>
192
+ <oneOrMore>
193
+ <ref name="ul_li"/>
194
+ </oneOrMore>
195
+ <zeroOrMore>
196
+ <ref name="note"/>
197
+ </zeroOrMore>
198
+ </define>
199
+ <define name="OlBody">
200
+ <optional>
201
+ <ref name="tname"/>
202
+ </optional>
203
+ <oneOrMore>
204
+ <ref name="li"/>
205
+ </oneOrMore>
206
+ <zeroOrMore>
207
+ <ref name="note"/>
208
+ </zeroOrMore>
209
+ </define>
210
+ <define name="OlAttr">
211
+ <ref name="BlockAttributes"/>
212
+ <optional>
213
+ <attribute name="type">
214
+ <choice>
215
+ <value>roman</value>
216
+ <value>alphabet</value>
217
+ <value>arabic</value>
218
+ <value>roman_upper</value>
219
+ <value>alphabet_upper</value>
220
+ </choice>
257
221
  </attribute>
258
- <ref name="BlockAttributes"/>
259
- <optional>
260
- <attribute name="type">
261
- <choice>
262
- <value>roman</value>
263
- <value>alphabet</value>
264
- <value>arabic</value>
265
- <value>roman_upper</value>
266
- <value>alphabet_upper</value>
267
- </choice>
268
- </attribute>
269
- </optional>
270
- <optional>
271
- <ref name="tname"/>
272
- </optional>
273
- <oneOrMore>
274
- <ref name="li"/>
275
- </oneOrMore>
276
- <zeroOrMore>
277
- <ref name="note"/>
278
- </zeroOrMore>
279
- </element>
222
+ </optional>
280
223
  </define>
281
- <define name="dl">
282
- <element name="dl">
283
- <attribute name="id">
284
- <data type="ID"/>
224
+ <define name="DlAttr">
225
+ <ref name="BlockAttributes"/>
226
+ <optional>
227
+ <attribute name="key">
228
+ <data type="boolean"/>
285
229
  </attribute>
286
- <ref name="BlockAttributes"/>
287
- <optional>
288
- <attribute name="key">
289
- <data type="boolean"/>
290
- </attribute>
291
- </optional>
292
- <optional>
293
- <ref name="tname"/>
294
- </optional>
295
- <oneOrMore>
296
- <ref name="dt"/>
297
- <ref name="dd"/>
298
- </oneOrMore>
299
- <zeroOrMore>
300
- <ref name="note"/>
301
- </zeroOrMore>
302
- </element>
230
+ </optional>
231
+ </define>
232
+ <define name="DlBody">
233
+ <optional>
234
+ <ref name="tname"/>
235
+ </optional>
236
+ <oneOrMore>
237
+ <ref name="dt"/>
238
+ <ref name="dd"/>
239
+ </oneOrMore>
240
+ <zeroOrMore>
241
+ <ref name="note"/>
242
+ </zeroOrMore>
303
243
  </define>
304
244
  <define name="dt">
305
245
  <element name="dt">
306
- <optional>
307
- <attribute name="id">
308
- <data type="ID"/>
309
- </attribute>
310
- </optional>
246
+ <ref name="OptionalId"/>
311
247
  <zeroOrMore>
312
248
  <ref name="TextElement"/>
313
249
  </zeroOrMore>
314
250
  </element>
315
251
  </define>
316
- <define name="example">
317
- <element name="example">
318
- <attribute name="id">
319
- <data type="ID"/>
252
+ <define name="ExampleAttr">
253
+ <optional>
254
+ <attribute name="unnumbered">
255
+ <data type="boolean"/>
320
256
  </attribute>
321
- <optional>
322
- <attribute name="unnumbered">
323
- <data type="boolean"/>
324
- </attribute>
325
- </optional>
326
- <optional>
327
- <attribute name="subsequence"/>
328
- </optional>
329
- <optional>
330
- <attribute name="number"/>
331
- </optional>
332
- <ref name="BlockAttributes"/>
333
- <optional>
334
- <ref name="tname"/>
335
- </optional>
336
- <oneOrMore>
337
- <choice>
338
- <ref name="formula"/>
339
- <ref name="ul"/>
340
- <ref name="ol"/>
341
- <ref name="dl"/>
342
- <ref name="quote"/>
343
- <ref name="sourcecode"/>
344
- <ref name="paragraph-with-footnote"/>
345
- <ref name="figure"/>
346
- </choice>
347
- </oneOrMore>
348
- <zeroOrMore>
349
- <ref name="note"/>
350
- </zeroOrMore>
351
- </element>
257
+ </optional>
258
+ <optional>
259
+ <attribute name="subsequence"/>
260
+ </optional>
261
+ <optional>
262
+ <attribute name="number"/>
263
+ </optional>
264
+ <ref name="BlockAttributes"/>
352
265
  </define>
353
- <define name="table">
354
- <element name="table">
355
- <attribute name="id">
356
- <data type="ID"/>
357
- </attribute>
358
- <optional>
359
- <attribute name="unnumbered">
360
- <data type="boolean"/>
361
- </attribute>
362
- </optional>
363
- <optional>
364
- <attribute name="number"/>
365
- </optional>
366
- <optional>
367
- <attribute name="subsequence"/>
368
- </optional>
369
- <optional>
370
- <attribute name="alt"/>
371
- </optional>
372
- <optional>
373
- <attribute name="summary"/>
374
- </optional>
375
- <optional>
376
- <attribute name="uri">
377
- <data type="anyURI"/>
378
- </attribute>
379
- </optional>
380
- <optional>
381
- <attribute name="width"/>
382
- </optional>
383
- <ref name="BlockAttributes"/>
384
- <optional>
385
- <ref name="colgroup"/>
386
- </optional>
387
- <optional>
388
- <ref name="tname"/>
389
- </optional>
390
- <optional>
391
- <ref name="thead"/>
392
- </optional>
393
- <ref name="tbody"/>
394
- <optional>
395
- <ref name="tfoot"/>
396
- </optional>
397
- <zeroOrMore>
398
- <ref name="table-note"/>
399
- </zeroOrMore>
400
- <optional>
266
+ <define name="ExampleBody">
267
+ <optional>
268
+ <ref name="tname"/>
269
+ </optional>
270
+ <oneOrMore>
271
+ <choice>
272
+ <ref name="formula"/>
273
+ <ref name="ul"/>
274
+ <ref name="ol"/>
401
275
  <ref name="dl"/>
402
- </optional>
403
- <optional>
404
- <ref name="source"/>
405
- </optional>
406
- </element>
276
+ <ref name="quote"/>
277
+ <ref name="sourcecode"/>
278
+ <ref name="paragraph-with-footnote"/>
279
+ <ref name="figure"/>
280
+ </choice>
281
+ </oneOrMore>
282
+ <zeroOrMore>
283
+ <ref name="note"/>
284
+ </zeroOrMore>
407
285
  </define>
408
- <define name="figure">
409
- <element name="figure">
410
- <attribute name="id">
411
- <data type="ID"/>
286
+ <define name="TableAttr">
287
+ <optional>
288
+ <attribute name="unnumbered">
289
+ <data type="boolean"/>
412
290
  </attribute>
413
- <optional>
414
- <attribute name="unnumbered">
415
- <data type="boolean"/>
416
- </attribute>
417
- </optional>
418
- <optional>
419
- <attribute name="number"/>
420
- </optional>
421
- <optional>
422
- <attribute name="subsequence"/>
423
- </optional>
424
- <optional>
425
- <attribute name="class"/>
426
- </optional>
427
- <ref name="BlockAttributes"/>
428
- <optional>
429
- <ref name="tname"/>
430
- </optional>
431
- <choice>
432
- <ref name="image"/>
433
- <ref name="video"/>
434
- <ref name="audio"/>
435
- <ref name="pre"/>
436
- <oneOrMore>
437
- <ref name="paragraph-with-footnote"/>
438
- </oneOrMore>
439
- <zeroOrMore>
440
- <ref name="figure"/>
441
- </zeroOrMore>
442
- </choice>
443
- <zeroOrMore>
444
- <ref name="fn"/>
445
- </zeroOrMore>
446
- <optional>
447
- <ref name="dl"/>
448
- </optional>
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
+ <define name="TableBody">
315
+ <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"/>
330
+ </optional>
331
+ <zeroOrMore>
332
+ <ref name="table-note"/>
333
+ </zeroOrMore>
334
+ <optional>
335
+ <ref name="source"/>
336
+ </optional>
337
+ </define>
338
+ <define name="FigureAttr">
339
+ <optional>
340
+ <attribute name="unnumbered">
341
+ <data type="boolean"/>
342
+ </attribute>
343
+ </optional>
344
+ <optional>
345
+ <attribute name="number"/>
346
+ </optional>
347
+ <optional>
348
+ <attribute name="subsequence"/>
349
+ </optional>
350
+ <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>
449
370
  <zeroOrMore>
450
- <ref name="note"/>
371
+ <ref name="figure"/>
451
372
  </zeroOrMore>
452
- <optional>
453
- <ref name="source"/>
454
- </optional>
455
- </element>
373
+ </choice>
374
+ <zeroOrMore>
375
+ <ref name="fn"/>
376
+ </zeroOrMore>
377
+ <optional>
378
+ <ref name="dl"/>
379
+ </optional>
380
+ <zeroOrMore>
381
+ <ref name="note"/>
382
+ </zeroOrMore>
383
+ <optional>
384
+ <ref name="source"/>
385
+ </optional>
456
386
  </define>
457
387
  <define name="source">
458
388
  <element name="source">
@@ -465,147 +395,84 @@
465
395
  </optional>
466
396
  </element>
467
397
  </define>
468
- <define name="sourcecode">
469
- <element name="sourcecode">
470
- <attribute name="id">
471
- <data type="ID"/>
398
+ <define name="SourceAttr">
399
+ <optional>
400
+ <attribute name="unnumbered">
401
+ <data type="boolean"/>
472
402
  </attribute>
473
- <optional>
474
- <attribute name="unnumbered">
475
- <data type="boolean"/>
476
- </attribute>
477
- </optional>
478
- <optional>
479
- <attribute name="number"/>
480
- </optional>
481
- <optional>
482
- <attribute name="subsequence"/>
483
- </optional>
484
- <optional>
485
- <attribute name="lang"/>
486
- </optional>
487
- <ref name="BlockAttributes"/>
488
- <optional>
489
- <attribute name="linenums">
490
- <data type="boolean"/>
491
- </attribute>
492
- </optional>
493
- <optional>
494
- <ref name="tname"/>
495
- </optional>
496
- <oneOrMore>
497
- <choice>
498
- <text/>
499
- <ref name="callout"/>
500
- <ref name="xref"/>
501
- <ref name="eref"/>
502
- </choice>
503
- </oneOrMore>
504
- <zeroOrMore>
505
- <ref name="annotation"/>
506
- </zeroOrMore>
507
- <zeroOrMore>
508
- <ref name="note"/>
509
- </zeroOrMore>
510
- </element>
511
- </define>
512
- <define name="formula">
513
- <element name="formula">
514
- <attribute name="id">
515
- <data type="ID"/>
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"/>
516
417
  </attribute>
517
- <optional>
518
- <attribute name="unnumbered">
519
- <data type="boolean"/>
520
- </attribute>
521
- </optional>
522
- <optional>
523
- <attribute name="number"/>
524
- </optional>
525
- <optional>
526
- <attribute name="subsequence"/>
527
- </optional>
528
- <optional>
529
- <attribute name="inequality">
530
- <data type="boolean"/>
531
- </attribute>
532
- </optional>
533
- <ref name="BlockAttributes"/>
534
- <ref name="stem"/>
535
- <optional>
536
- <ref name="dl"/>
537
- </optional>
538
- <zeroOrMore>
539
- <ref name="note"/>
540
- </zeroOrMore>
541
- </element>
418
+ </optional>
542
419
  </define>
543
- <define name="ParagraphType">
544
- <attribute name="id">
545
- <data type="ID"/>
546
- </attribute>
420
+ <define name="SourceBody">
547
421
  <optional>
548
- <attribute name="align">
549
- <ref name="Alignments"/>
550
- </attribute>
422
+ <ref name="tname"/>
551
423
  </optional>
552
- <ref name="BlockAttributes"/>
424
+ <oneOrMore>
425
+ <choice>
426
+ <text/>
427
+ <ref name="callout"/>
428
+ <ref name="xref"/>
429
+ <ref name="eref"/>
430
+ </choice>
431
+ </oneOrMore>
553
432
  <zeroOrMore>
554
- <ref name="TextElement"/>
433
+ <ref name="annotation"/>
555
434
  </zeroOrMore>
556
435
  <zeroOrMore>
557
436
  <ref name="note"/>
558
437
  </zeroOrMore>
559
438
  </define>
560
- <define name="paragraph-with-footnote">
561
- <element name="p">
562
- <attribute name="id">
563
- <data type="ID"/>
439
+ <define name="FormulaAttr">
440
+ <optional>
441
+ <attribute name="unnumbered">
442
+ <data type="boolean"/>
564
443
  </attribute>
565
- <optional>
566
- <attribute name="align">
567
- <ref name="Alignments"/>
568
- </attribute>
569
- </optional>
570
- <optional>
571
- <attribute name="type"/>
572
- </optional>
573
- <ref name="BlockAttributes"/>
574
- <zeroOrMore>
575
- <choice>
576
- <ref name="TextElement"/>
577
- <ref name="fn"/>
578
- </choice>
579
- </zeroOrMore>
580
- <zeroOrMore>
581
- <ref name="note"/>
582
- </zeroOrMore>
583
- </element>
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"/>
584
457
  </define>
585
- <define name="quote">
586
- <element name="quote">
587
- <attribute name="id">
588
- <data type="ID"/>
458
+ <define name="ParagraphAttrs">
459
+ <optional>
460
+ <attribute name="align">
461
+ <ref name="Alignments"/>
589
462
  </attribute>
590
- <optional>
591
- <attribute name="alignment">
592
- <ref name="Alignments"/>
593
- </attribute>
594
- </optional>
595
- <ref name="BlockAttributes"/>
596
- <optional>
597
- <ref name="quote-source"/>
598
- </optional>
599
- <optional>
600
- <ref name="quote-author"/>
601
- </optional>
602
- <oneOrMore>
603
- <ref name="paragraph-with-footnote"/>
604
- </oneOrMore>
605
- <zeroOrMore>
606
- <ref name="note"/>
607
- </zeroOrMore>
608
- </element>
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"/>
609
476
  </define>
610
477
  <!-- TitleType = text -->
611
478
  <define name="sections">
@@ -656,48 +523,45 @@
656
523
  </zeroOrMore>
657
524
  </element>
658
525
  </define>
659
- <define name="note">
660
- <element name="note">
661
- <attribute name="id">
662
- <data type="ID"/>
526
+ <define name="NoteAttr">
527
+ <optional>
528
+ <attribute name="unnumbered">
529
+ <data type="boolean"/>
663
530
  </attribute>
664
- <optional>
665
- <attribute name="unnumbered">
666
- <data type="boolean"/>
667
- </attribute>
668
- </optional>
669
- <optional>
670
- <attribute name="number"/>
671
- </optional>
672
- <optional>
673
- <attribute name="subsequence"/>
674
- </optional>
675
- <optional>
676
- <attribute name="type"/>
677
- </optional>
678
- <optional>
679
- <attribute name="coverpage">
680
- <data type="boolean"/>
681
- </attribute>
682
- </optional>
683
- <optional>
684
- <attribute name="notag">
685
- <data type="boolean"/>
686
- </attribute>
687
- </optional>
688
- <ref name="BlockAttributes"/>
689
- <oneOrMore>
690
- <choice>
691
- <ref name="paragraph"/>
692
- <ref name="ul"/>
693
- <ref name="ol"/>
694
- <ref name="dl"/>
695
- <ref name="formula"/>
696
- <ref name="quote"/>
697
- <ref name="sourcecode"/>
698
- </choice>
699
- </oneOrMore>
700
- </element>
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
+ <define name="NoteBody">
554
+ <oneOrMore>
555
+ <choice>
556
+ <ref name="paragraph"/>
557
+ <ref name="ul"/>
558
+ <ref name="ol"/>
559
+ <ref name="dl"/>
560
+ <ref name="formula"/>
561
+ <ref name="quote"/>
562
+ <ref name="sourcecode"/>
563
+ </choice>
564
+ </oneOrMore>
701
565
  </define>
702
566
  <define name="Basic-Section">
703
567
  <optional>
@@ -726,21 +590,12 @@
726
590
  <ref name="BasicBlock"/>
727
591
  </oneOrMore>
728
592
  </define>
729
- <define name="li">
730
- <element name="li">
731
- <group>
732
- <optional>
733
- <attribute name="id">
734
- <data type="ID"/>
735
- </attribute>
736
- </optional>
737
- <oneOrMore>
738
- <ref name="BasicBlock"/>
739
- </oneOrMore>
740
- </group>
741
- <!-- exclude figures? -->
742
- </element>
593
+ <define name="LiBody">
594
+ <oneOrMore>
595
+ <ref name="BasicBlock"/>
596
+ </oneOrMore>
743
597
  </define>
598
+ <!-- exclude figures? -->
744
599
  <define name="dd">
745
600
  <element name="dd">
746
601
  <zeroOrMore>
@@ -756,91 +611,37 @@
756
611
  </oneOrMore>
757
612
  </element>
758
613
  </define>
759
- <define name="td">
760
- <element name="td">
761
- <optional>
762
- <attribute name="colspan"/>
763
- </optional>
764
- <optional>
765
- <attribute name="rowspan"/>
766
- </optional>
767
- <optional>
768
- <attribute name="align">
769
- <choice>
770
- <value>left</value>
771
- <value>right</value>
772
- <value>center</value>
773
- </choice>
774
- </attribute>
775
- </optional>
776
- <optional>
777
- <attribute name="valign">
778
- <choice>
779
- <value>top</value>
780
- <value>middle</value>
781
- <value>bottom</value>
782
- <value>baseline</value>
783
- </choice>
784
- </attribute>
785
- </optional>
786
- <choice>
787
- <zeroOrMore>
788
- <choice>
789
- <ref name="TextElement"/>
790
- <ref name="fn"/>
791
- </choice>
792
- </zeroOrMore>
793
- <oneOrMore>
794
- <choice>
795
- <ref name="paragraph-with-footnote"/>
796
- <ref name="dl"/>
797
- <ref name="ul"/>
798
- <ref name="ol"/>
799
- <ref name="figure"/>
800
- </choice>
801
- </oneOrMore>
802
- </choice>
803
- </element>
804
- </define>
805
- <define name="th">
806
- <element name="th">
807
- <optional>
808
- <attribute name="colspan"/>
809
- </optional>
810
- <optional>
811
- <attribute name="rowspan"/>
812
- </optional>
813
- <optional>
814
- <attribute name="align">
815
- <choice>
816
- <value>left</value>
817
- <value>right</value>
818
- <value>center</value>
819
- </choice>
820
- </attribute>
821
- </optional>
822
- <optional>
823
- <attribute name="valign">
824
- <choice>
825
- <value>top</value>
826
- <value>middle</value>
827
- <value>bottom</value>
828
- <value>baseline</value>
829
- </choice>
830
- </attribute>
831
- </optional>
832
- <choice>
833
- <zeroOrMore>
834
- <choice>
835
- <ref name="TextElement"/>
836
- <ref name="fn"/>
837
- </choice>
838
- </zeroOrMore>
839
- <oneOrMore>
614
+ <define name="TdBody">
615
+ <choice>
616
+ <zeroOrMore>
617
+ <choice>
618
+ <ref name="TextElement"/>
619
+ <ref name="fn"/>
620
+ </choice>
621
+ </zeroOrMore>
622
+ <oneOrMore>
623
+ <choice>
840
624
  <ref name="paragraph-with-footnote"/>
841
- </oneOrMore>
842
- </choice>
843
- </element>
625
+ <ref name="dl"/>
626
+ <ref name="ul"/>
627
+ <ref name="ol"/>
628
+ <ref name="figure"/>
629
+ </choice>
630
+ </oneOrMore>
631
+ </choice>
632
+ </define>
633
+ <define name="ThBody">
634
+ <choice>
635
+ <zeroOrMore>
636
+ <choice>
637
+ <ref name="TextElement"/>
638
+ <ref name="fn"/>
639
+ </choice>
640
+ </zeroOrMore>
641
+ <oneOrMore>
642
+ <ref name="paragraph-with-footnote"/>
643
+ </oneOrMore>
644
+ </choice>
844
645
  </define>
845
646
  <define name="table-note">
846
647
  <element name="note">
@@ -1399,38 +1200,41 @@
1399
1200
  </oneOrMore>
1400
1201
  </element>
1401
1202
  </define>
1203
+ <define name="Section-Attributes">
1204
+ <optional>
1205
+ <attribute name="id">
1206
+ <data type="ID"/>
1207
+ </attribute>
1208
+ </optional>
1209
+ <optional>
1210
+ <attribute name="language"/>
1211
+ </optional>
1212
+ <optional>
1213
+ <attribute name="script"/>
1214
+ </optional>
1215
+ <optional>
1216
+ <attribute name="inline-header">
1217
+ <data type="boolean"/>
1218
+ </attribute>
1219
+ </optional>
1220
+ <optional>
1221
+ <attribute name="number"/>
1222
+ </optional>
1223
+ <optional>
1224
+ <attribute name="branch-number"/>
1225
+ </optional>
1226
+ <optional>
1227
+ <attribute name="obligation">
1228
+ <choice>
1229
+ <value>normative</value>
1230
+ <value>informative</value>
1231
+ </choice>
1232
+ </attribute>
1233
+ </optional>
1234
+ </define>
1402
1235
  <define name="reference-clause">
1403
1236
  <element name="clause">
1404
- <optional>
1405
- <attribute name="id">
1406
- <data type="ID"/>
1407
- </attribute>
1408
- </optional>
1409
- <optional>
1410
- <attribute name="language"/>
1411
- </optional>
1412
- <optional>
1413
- <attribute name="script"/>
1414
- </optional>
1415
- <optional>
1416
- <attribute name="inline-header">
1417
- <data type="boolean"/>
1418
- </attribute>
1419
- </optional>
1420
- <optional>
1421
- <attribute name="number"/>
1422
- </optional>
1423
- <optional>
1424
- <attribute name="branch-number"/>
1425
- </optional>
1426
- <optional>
1427
- <attribute name="obligation">
1428
- <choice>
1429
- <value>normative</value>
1430
- <value>informative</value>
1431
- </choice>
1432
- </attribute>
1433
- </optional>
1237
+ <ref name="Section-Attributes"/>
1434
1238
  <optional>
1435
1239
  <ref name="section-title"/>
1436
1240
  </optional>
@@ -1619,36 +1423,7 @@
1619
1423
  </element>
1620
1424
  </define>
1621
1425
  <define name="Content-Section">
1622
- <optional>
1623
- <attribute name="id">
1624
- <data type="ID"/>
1625
- </attribute>
1626
- </optional>
1627
- <optional>
1628
- <attribute name="language"/>
1629
- </optional>
1630
- <optional>
1631
- <attribute name="script"/>
1632
- </optional>
1633
- <optional>
1634
- <attribute name="inline-header">
1635
- <data type="boolean"/>
1636
- </attribute>
1637
- </optional>
1638
- <optional>
1639
- <attribute name="obligation">
1640
- <choice>
1641
- <value>normative</value>
1642
- <value>informative</value>
1643
- </choice>
1644
- </attribute>
1645
- </optional>
1646
- <optional>
1647
- <attribute name="number"/>
1648
- </optional>
1649
- <optional>
1650
- <attribute name="branch-number"/>
1651
- </optional>
1426
+ <ref name="Section-Attributes"/>
1652
1427
  <optional>
1653
1428
  <attribute name="type"/>
1654
1429
  </optional>
@@ -1670,39 +1445,10 @@
1670
1445
  </element>
1671
1446
  </define>
1672
1447
  <define name="Clause-Section">
1673
- <optional>
1674
- <attribute name="id">
1675
- <data type="ID"/>
1676
- </attribute>
1677
- </optional>
1678
- <optional>
1679
- <attribute name="language"/>
1680
- </optional>
1681
- <optional>
1682
- <attribute name="script"/>
1683
- </optional>
1684
- <optional>
1685
- <attribute name="inline-header">
1686
- <data type="boolean"/>
1687
- </attribute>
1688
- </optional>
1689
- <optional>
1690
- <attribute name="obligation">
1691
- <choice>
1692
- <value>normative</value>
1693
- <value>informative</value>
1694
- </choice>
1695
- </attribute>
1696
- </optional>
1448
+ <ref name="Section-Attributes"/>
1697
1449
  <optional>
1698
1450
  <attribute name="type"/>
1699
1451
  </optional>
1700
- <optional>
1701
- <attribute name="number"/>
1702
- </optional>
1703
- <optional>
1704
- <attribute name="branch-number"/>
1705
- </optional>
1706
1452
  <optional>
1707
1453
  <ref name="section-title"/>
1708
1454
  </optional>
@@ -1724,6 +1470,10 @@
1724
1470
  </choice>
1725
1471
  </define>
1726
1472
  <define name="Annex-Section">
1473
+ <ref name="Annex-Section-Attr"/>
1474
+ <ref name="Annex-Section-Body"/>
1475
+ </define>
1476
+ <define name="Annex-Section-Attr">
1727
1477
  <optional>
1728
1478
  <attribute name="id">
1729
1479
  <data type="ID"/>
@@ -1748,6 +1498,11 @@
1748
1498
  </choice>
1749
1499
  </attribute>
1750
1500
  </optional>
1501
+ <optional>
1502
+ <attribute name="type"/>
1503
+ </optional>
1504
+ </define>
1505
+ <define name="Annex-Section-Body">
1751
1506
  <optional>
1752
1507
  <ref name="section-title"/>
1753
1508
  </optional>
@@ -1783,34 +1538,10 @@
1783
1538
  </define>
1784
1539
  <define name="terms">
1785
1540
  <element name="terms">
1786
- <optional>
1787
- <attribute name="id">
1788
- <data type="ID"/>
1789
- </attribute>
1790
- </optional>
1791
- <optional>
1792
- <attribute name="language"/>
1793
- </optional>
1794
- <optional>
1795
- <attribute name="script"/>
1796
- </optional>
1541
+ <ref name="Section-Attributes"/>
1797
1542
  <optional>
1798
1543
  <attribute name="type"/>
1799
1544
  </optional>
1800
- <optional>
1801
- <attribute name="number"/>
1802
- </optional>
1803
- <optional>
1804
- <attribute name="branch-number"/>
1805
- </optional>
1806
- <optional>
1807
- <attribute name="obligation">
1808
- <choice>
1809
- <value>normative</value>
1810
- <value>informative</value>
1811
- </choice>
1812
- </attribute>
1813
- </optional>
1814
1545
  <optional>
1815
1546
  <ref name="section-title"/>
1816
1547
  </optional>
@@ -2450,6 +2181,49 @@
2450
2181
  </zeroOrMore>
2451
2182
  </element>
2452
2183
  </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>
2453
2227
  <define name="XrefBody">
2454
2228
  <zeroOrMore>
2455
2229
  <ref name="XrefTarget"/>