metanorma-iho 0.9.6 → 0.9.8

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>
@@ -196,210 +182,207 @@
196
182
  <ref name="PureTextElement"/>
197
183
  </oneOrMore>
198
184
  </define>
199
- <define name="ul">
200
- <element name="ul">
201
- <attribute name="id">
202
- <data type="ID"/>
203
- </attribute>
204
- <ref name="BlockAttributes"/>
205
- <optional>
206
- <ref name="tname"/>
207
- </optional>
208
- <oneOrMore>
209
- <ref name="ul_li"/>
210
- </oneOrMore>
211
- <zeroOrMore>
212
- <ref name="note"/>
213
- </zeroOrMore>
214
- </element>
185
+ <define name="UlAttr">
186
+ <ref name="BlockAttributes"/>
215
187
  </define>
216
- <define name="ol">
217
- <element name="ol">
218
- <attribute name="id">
219
- <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>
220
221
  </attribute>
221
- <ref name="BlockAttributes"/>
222
- <optional>
223
- <attribute name="type">
224
- <choice>
225
- <value>roman</value>
226
- <value>alphabet</value>
227
- <value>arabic</value>
228
- <value>roman_upper</value>
229
- <value>alphabet_upper</value>
230
- </choice>
231
- </attribute>
232
- </optional>
233
- <optional>
234
- <ref name="tname"/>
235
- </optional>
236
- <oneOrMore>
237
- <ref name="li"/>
238
- </oneOrMore>
239
- <zeroOrMore>
240
- <ref name="note"/>
241
- </zeroOrMore>
242
- </element>
222
+ </optional>
243
223
  </define>
244
- <define name="dl">
245
- <element name="dl">
246
- <attribute name="id">
247
- <data type="ID"/>
224
+ <define name="DlAttr">
225
+ <ref name="BlockAttributes"/>
226
+ <optional>
227
+ <attribute name="key">
228
+ <data type="boolean"/>
248
229
  </attribute>
249
- <ref name="BlockAttributes"/>
250
- <optional>
251
- <attribute name="key">
252
- <data type="boolean"/>
253
- </attribute>
254
- </optional>
255
- <optional>
256
- <ref name="tname"/>
257
- </optional>
258
- <oneOrMore>
259
- <ref name="dt"/>
260
- <ref name="dd"/>
261
- </oneOrMore>
262
- <zeroOrMore>
263
- <ref name="note"/>
264
- </zeroOrMore>
265
- </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>
266
243
  </define>
267
244
  <define name="dt">
268
245
  <element name="dt">
269
- <optional>
270
- <attribute name="id">
271
- <data type="ID"/>
272
- </attribute>
273
- </optional>
246
+ <ref name="OptionalId"/>
274
247
  <zeroOrMore>
275
248
  <ref name="TextElement"/>
276
249
  </zeroOrMore>
277
250
  </element>
278
251
  </define>
279
- <define name="example">
280
- <element name="example">
281
- <attribute name="id">
282
- <data type="ID"/>
283
- </attribute>
284
- <optional>
285
- <attribute name="unnumbered">
286
- <data type="boolean"/>
287
- </attribute>
288
- </optional>
289
- <optional>
290
- <attribute name="subsequence"/>
291
- </optional>
292
- <optional>
293
- <attribute name="number"/>
294
- </optional>
295
- <ref name="BlockAttributes"/>
296
- <optional>
297
- <ref name="tname"/>
298
- </optional>
299
- <oneOrMore>
300
- <choice>
301
- <ref name="formula"/>
302
- <ref name="ul"/>
303
- <ref name="ol"/>
304
- <ref name="dl"/>
305
- <ref name="quote"/>
306
- <ref name="sourcecode"/>
307
- <ref name="paragraph-with-footnote"/>
308
- <ref name="figure"/>
309
- </choice>
310
- </oneOrMore>
311
- <zeroOrMore>
312
- <ref name="note"/>
313
- </zeroOrMore>
314
- </element>
315
- </define>
316
- <define name="table">
317
- <element name="table">
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="number"/>
328
- </optional>
329
- <optional>
330
- <attribute name="subsequence"/>
331
- </optional>
332
- <optional>
333
- <attribute name="alt"/>
334
- </optional>
335
- <optional>
336
- <attribute name="summary"/>
337
- </optional>
338
- <optional>
339
- <attribute name="uri">
340
- <data type="anyURI"/>
341
- </attribute>
342
- </optional>
343
- <optional>
344
- <attribute name="width"/>
345
- </optional>
346
- <ref name="BlockAttributes"/>
347
- <optional>
348
- <ref name="colgroup"/>
349
- </optional>
350
- <optional>
351
- <ref name="tname"/>
352
- </optional>
353
- <optional>
354
- <ref name="thead"/>
355
- </optional>
356
- <ref name="tbody"/>
357
- <optional>
358
- <ref name="tfoot"/>
359
- </optional>
360
- <zeroOrMore>
361
- <ref name="table-note"/>
362
- </zeroOrMore>
363
- <optional>
364
- <ref name="dl"/>
365
- </optional>
366
- <optional>
367
- <ref name="source"/>
368
- </optional>
369
- </element>
257
+ </optional>
258
+ <optional>
259
+ <attribute name="subsequence"/>
260
+ </optional>
261
+ <optional>
262
+ <attribute name="number"/>
263
+ </optional>
264
+ <ref name="BlockAttributes"/>
370
265
  </define>
371
- <define name="figure">
372
- <element name="figure">
373
- <ref name="FigureAttributes"/>
374
- <ref name="BlockAttributes"/>
375
- <optional>
376
- <ref name="tname"/>
377
- </optional>
266
+ <define name="ExampleBody">
267
+ <optional>
268
+ <ref name="tname"/>
269
+ </optional>
270
+ <oneOrMore>
378
271
  <choice>
379
- <ref name="image"/>
380
- <ref name="video"/>
381
- <ref name="audio"/>
382
- <ref name="pre"/>
383
- <oneOrMore>
384
- <ref name="paragraph-with-footnote"/>
385
- </oneOrMore>
386
- <zeroOrMore>
387
- <ref name="figure"/>
388
- </zeroOrMore>
389
- </choice>
390
- <zeroOrMore>
391
- <ref name="fn"/>
392
- </zeroOrMore>
393
- <optional>
272
+ <ref name="formula"/>
273
+ <ref name="ul"/>
274
+ <ref name="ol"/>
394
275
  <ref name="dl"/>
395
- </optional>
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>
285
+ </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
+ <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>
396
370
  <zeroOrMore>
397
- <ref name="note"/>
371
+ <ref name="figure"/>
398
372
  </zeroOrMore>
399
- <optional>
400
- <ref name="source"/>
401
- </optional>
402
- </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>
403
386
  </define>
404
387
  <define name="source">
405
388
  <element name="source">
@@ -412,147 +395,84 @@
412
395
  </optional>
413
396
  </element>
414
397
  </define>
415
- <define name="sourcecode">
416
- <element name="sourcecode">
417
- <attribute name="id">
418
- <data type="ID"/>
398
+ <define name="SourceAttr">
399
+ <optional>
400
+ <attribute name="unnumbered">
401
+ <data type="boolean"/>
419
402
  </attribute>
420
- <optional>
421
- <attribute name="unnumbered">
422
- <data type="boolean"/>
423
- </attribute>
424
- </optional>
425
- <optional>
426
- <attribute name="number"/>
427
- </optional>
428
- <optional>
429
- <attribute name="subsequence"/>
430
- </optional>
431
- <optional>
432
- <attribute name="lang"/>
433
- </optional>
434
- <ref name="BlockAttributes"/>
435
- <optional>
436
- <attribute name="linenums">
437
- <data type="boolean"/>
438
- </attribute>
439
- </optional>
440
- <optional>
441
- <ref name="tname"/>
442
- </optional>
443
- <oneOrMore>
444
- <choice>
445
- <text/>
446
- <ref name="callout"/>
447
- <ref name="xref"/>
448
- <ref name="eref"/>
449
- </choice>
450
- </oneOrMore>
451
- <zeroOrMore>
452
- <ref name="annotation"/>
453
- </zeroOrMore>
454
- <zeroOrMore>
455
- <ref name="note"/>
456
- </zeroOrMore>
457
- </element>
458
- </define>
459
- <define name="formula">
460
- <element name="formula">
461
- <attribute name="id">
462
- <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"/>
463
417
  </attribute>
464
- <optional>
465
- <attribute name="unnumbered">
466
- <data type="boolean"/>
467
- </attribute>
468
- </optional>
469
- <optional>
470
- <attribute name="number"/>
471
- </optional>
472
- <optional>
473
- <attribute name="subsequence"/>
474
- </optional>
475
- <optional>
476
- <attribute name="inequality">
477
- <data type="boolean"/>
478
- </attribute>
479
- </optional>
480
- <ref name="BlockAttributes"/>
481
- <ref name="stem"/>
482
- <optional>
483
- <ref name="dl"/>
484
- </optional>
485
- <zeroOrMore>
486
- <ref name="note"/>
487
- </zeroOrMore>
488
- </element>
418
+ </optional>
489
419
  </define>
490
- <define name="ParagraphType">
491
- <attribute name="id">
492
- <data type="ID"/>
493
- </attribute>
420
+ <define name="SourceBody">
494
421
  <optional>
495
- <attribute name="align">
496
- <ref name="Alignments"/>
497
- </attribute>
422
+ <ref name="tname"/>
498
423
  </optional>
499
- <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>
500
432
  <zeroOrMore>
501
- <ref name="TextElement"/>
433
+ <ref name="annotation"/>
502
434
  </zeroOrMore>
503
435
  <zeroOrMore>
504
436
  <ref name="note"/>
505
437
  </zeroOrMore>
506
438
  </define>
507
- <define name="paragraph-with-footnote">
508
- <element name="p">
509
- <attribute name="id">
510
- <data type="ID"/>
439
+ <define name="FormulaAttr">
440
+ <optional>
441
+ <attribute name="unnumbered">
442
+ <data type="boolean"/>
511
443
  </attribute>
512
- <optional>
513
- <attribute name="align">
514
- <ref name="Alignments"/>
515
- </attribute>
516
- </optional>
517
- <optional>
518
- <attribute name="type"/>
519
- </optional>
520
- <ref name="BlockAttributes"/>
521
- <zeroOrMore>
522
- <choice>
523
- <ref name="TextElement"/>
524
- <ref name="fn"/>
525
- </choice>
526
- </zeroOrMore>
527
- <zeroOrMore>
528
- <ref name="note"/>
529
- </zeroOrMore>
530
- </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"/>
531
457
  </define>
532
- <define name="quote">
533
- <element name="quote">
534
- <attribute name="id">
535
- <data type="ID"/>
458
+ <define name="ParagraphAttrs">
459
+ <optional>
460
+ <attribute name="align">
461
+ <ref name="Alignments"/>
536
462
  </attribute>
537
- <optional>
538
- <attribute name="alignment">
539
- <ref name="Alignments"/>
540
- </attribute>
541
- </optional>
542
- <ref name="BlockAttributes"/>
543
- <optional>
544
- <ref name="quote-source"/>
545
- </optional>
546
- <optional>
547
- <ref name="quote-author"/>
548
- </optional>
549
- <oneOrMore>
550
- <ref name="paragraph-with-footnote"/>
551
- </oneOrMore>
552
- <zeroOrMore>
553
- <ref name="note"/>
554
- </zeroOrMore>
555
- </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"/>
556
476
  </define>
557
477
  <!-- TitleType = text -->
558
478
  <define name="sections">
@@ -603,48 +523,45 @@
603
523
  </zeroOrMore>
604
524
  </element>
605
525
  </define>
606
- <define name="note">
607
- <element name="note">
608
- <attribute name="id">
609
- <data type="ID"/>
526
+ <define name="NoteAttr">
527
+ <optional>
528
+ <attribute name="unnumbered">
529
+ <data type="boolean"/>
610
530
  </attribute>
611
- <optional>
612
- <attribute name="unnumbered">
613
- <data type="boolean"/>
614
- </attribute>
615
- </optional>
616
- <optional>
617
- <attribute name="number"/>
618
- </optional>
619
- <optional>
620
- <attribute name="subsequence"/>
621
- </optional>
622
- <optional>
623
- <attribute name="type"/>
624
- </optional>
625
- <optional>
626
- <attribute name="coverpage">
627
- <data type="boolean"/>
628
- </attribute>
629
- </optional>
630
- <optional>
631
- <attribute name="notag">
632
- <data type="boolean"/>
633
- </attribute>
634
- </optional>
635
- <ref name="BlockAttributes"/>
636
- <oneOrMore>
637
- <choice>
638
- <ref name="paragraph"/>
639
- <ref name="ul"/>
640
- <ref name="ol"/>
641
- <ref name="dl"/>
642
- <ref name="formula"/>
643
- <ref name="quote"/>
644
- <ref name="sourcecode"/>
645
- </choice>
646
- </oneOrMore>
647
- </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>
648
565
  </define>
649
566
  <define name="Basic-Section">
650
567
  <optional>
@@ -673,21 +590,12 @@
673
590
  <ref name="BasicBlock"/>
674
591
  </oneOrMore>
675
592
  </define>
676
- <define name="li">
677
- <element name="li">
678
- <group>
679
- <optional>
680
- <attribute name="id">
681
- <data type="ID"/>
682
- </attribute>
683
- </optional>
684
- <oneOrMore>
685
- <ref name="BasicBlock"/>
686
- </oneOrMore>
687
- </group>
688
- <!-- exclude figures? -->
689
- </element>
593
+ <define name="LiBody">
594
+ <oneOrMore>
595
+ <ref name="BasicBlock"/>
596
+ </oneOrMore>
690
597
  </define>
598
+ <!-- exclude figures? -->
691
599
  <define name="dd">
692
600
  <element name="dd">
693
601
  <zeroOrMore>
@@ -703,91 +611,37 @@
703
611
  </oneOrMore>
704
612
  </element>
705
613
  </define>
706
- <define name="td">
707
- <element name="td">
708
- <optional>
709
- <attribute name="colspan"/>
710
- </optional>
711
- <optional>
712
- <attribute name="rowspan"/>
713
- </optional>
714
- <optional>
715
- <attribute name="align">
716
- <choice>
717
- <value>left</value>
718
- <value>right</value>
719
- <value>center</value>
720
- </choice>
721
- </attribute>
722
- </optional>
723
- <optional>
724
- <attribute name="valign">
725
- <choice>
726
- <value>top</value>
727
- <value>middle</value>
728
- <value>bottom</value>
729
- <value>baseline</value>
730
- </choice>
731
- </attribute>
732
- </optional>
733
- <choice>
734
- <zeroOrMore>
735
- <choice>
736
- <ref name="TextElement"/>
737
- <ref name="fn"/>
738
- </choice>
739
- </zeroOrMore>
740
- <oneOrMore>
741
- <choice>
742
- <ref name="paragraph-with-footnote"/>
743
- <ref name="dl"/>
744
- <ref name="ul"/>
745
- <ref name="ol"/>
746
- <ref name="figure"/>
747
- </choice>
748
- </oneOrMore>
749
- </choice>
750
- </element>
751
- </define>
752
- <define name="th">
753
- <element name="th">
754
- <optional>
755
- <attribute name="colspan"/>
756
- </optional>
757
- <optional>
758
- <attribute name="rowspan"/>
759
- </optional>
760
- <optional>
761
- <attribute name="align">
762
- <choice>
763
- <value>left</value>
764
- <value>right</value>
765
- <value>center</value>
766
- </choice>
767
- </attribute>
768
- </optional>
769
- <optional>
770
- <attribute name="valign">
771
- <choice>
772
- <value>top</value>
773
- <value>middle</value>
774
- <value>bottom</value>
775
- <value>baseline</value>
776
- </choice>
777
- </attribute>
778
- </optional>
779
- <choice>
780
- <zeroOrMore>
781
- <choice>
782
- <ref name="TextElement"/>
783
- <ref name="fn"/>
784
- </choice>
785
- </zeroOrMore>
786
- <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>
787
624
  <ref name="paragraph-with-footnote"/>
788
- </oneOrMore>
789
- </choice>
790
- </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>
791
645
  </define>
792
646
  <define name="table-note">
793
647
  <element name="note">
@@ -1346,38 +1200,41 @@
1346
1200
  </oneOrMore>
1347
1201
  </element>
1348
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>
1349
1235
  <define name="reference-clause">
1350
1236
  <element name="clause">
1351
- <optional>
1352
- <attribute name="id">
1353
- <data type="ID"/>
1354
- </attribute>
1355
- </optional>
1356
- <optional>
1357
- <attribute name="language"/>
1358
- </optional>
1359
- <optional>
1360
- <attribute name="script"/>
1361
- </optional>
1362
- <optional>
1363
- <attribute name="inline-header">
1364
- <data type="boolean"/>
1365
- </attribute>
1366
- </optional>
1367
- <optional>
1368
- <attribute name="number"/>
1369
- </optional>
1370
- <optional>
1371
- <attribute name="branch-number"/>
1372
- </optional>
1373
- <optional>
1374
- <attribute name="obligation">
1375
- <choice>
1376
- <value>normative</value>
1377
- <value>informative</value>
1378
- </choice>
1379
- </attribute>
1380
- </optional>
1237
+ <ref name="Section-Attributes"/>
1381
1238
  <optional>
1382
1239
  <ref name="section-title"/>
1383
1240
  </optional>
@@ -1566,36 +1423,7 @@
1566
1423
  </element>
1567
1424
  </define>
1568
1425
  <define name="Content-Section">
1569
- <optional>
1570
- <attribute name="id">
1571
- <data type="ID"/>
1572
- </attribute>
1573
- </optional>
1574
- <optional>
1575
- <attribute name="language"/>
1576
- </optional>
1577
- <optional>
1578
- <attribute name="script"/>
1579
- </optional>
1580
- <optional>
1581
- <attribute name="inline-header">
1582
- <data type="boolean"/>
1583
- </attribute>
1584
- </optional>
1585
- <optional>
1586
- <attribute name="obligation">
1587
- <choice>
1588
- <value>normative</value>
1589
- <value>informative</value>
1590
- </choice>
1591
- </attribute>
1592
- </optional>
1593
- <optional>
1594
- <attribute name="number"/>
1595
- </optional>
1596
- <optional>
1597
- <attribute name="branch-number"/>
1598
- </optional>
1426
+ <ref name="Section-Attributes"/>
1599
1427
  <optional>
1600
1428
  <attribute name="type"/>
1601
1429
  </optional>
@@ -1617,39 +1445,10 @@
1617
1445
  </element>
1618
1446
  </define>
1619
1447
  <define name="Clause-Section">
1620
- <optional>
1621
- <attribute name="id">
1622
- <data type="ID"/>
1623
- </attribute>
1624
- </optional>
1625
- <optional>
1626
- <attribute name="language"/>
1627
- </optional>
1628
- <optional>
1629
- <attribute name="script"/>
1630
- </optional>
1631
- <optional>
1632
- <attribute name="inline-header">
1633
- <data type="boolean"/>
1634
- </attribute>
1635
- </optional>
1636
- <optional>
1637
- <attribute name="obligation">
1638
- <choice>
1639
- <value>normative</value>
1640
- <value>informative</value>
1641
- </choice>
1642
- </attribute>
1643
- </optional>
1448
+ <ref name="Section-Attributes"/>
1644
1449
  <optional>
1645
1450
  <attribute name="type"/>
1646
1451
  </optional>
1647
- <optional>
1648
- <attribute name="number"/>
1649
- </optional>
1650
- <optional>
1651
- <attribute name="branch-number"/>
1652
- </optional>
1653
1452
  <optional>
1654
1453
  <ref name="section-title"/>
1655
1454
  </optional>
@@ -1671,6 +1470,10 @@
1671
1470
  </choice>
1672
1471
  </define>
1673
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">
1674
1477
  <optional>
1675
1478
  <attribute name="id">
1676
1479
  <data type="ID"/>
@@ -1695,6 +1498,11 @@
1695
1498
  </choice>
1696
1499
  </attribute>
1697
1500
  </optional>
1501
+ <optional>
1502
+ <attribute name="type"/>
1503
+ </optional>
1504
+ </define>
1505
+ <define name="Annex-Section-Body">
1698
1506
  <optional>
1699
1507
  <ref name="section-title"/>
1700
1508
  </optional>
@@ -1730,34 +1538,10 @@
1730
1538
  </define>
1731
1539
  <define name="terms">
1732
1540
  <element name="terms">
1733
- <optional>
1734
- <attribute name="id">
1735
- <data type="ID"/>
1736
- </attribute>
1737
- </optional>
1738
- <optional>
1739
- <attribute name="language"/>
1740
- </optional>
1741
- <optional>
1742
- <attribute name="script"/>
1743
- </optional>
1541
+ <ref name="Section-Attributes"/>
1744
1542
  <optional>
1745
1543
  <attribute name="type"/>
1746
1544
  </optional>
1747
- <optional>
1748
- <attribute name="number"/>
1749
- </optional>
1750
- <optional>
1751
- <attribute name="branch-number"/>
1752
- </optional>
1753
- <optional>
1754
- <attribute name="obligation">
1755
- <choice>
1756
- <value>normative</value>
1757
- <value>informative</value>
1758
- </choice>
1759
- </attribute>
1760
- </optional>
1761
1545
  <optional>
1762
1546
  <ref name="section-title"/>
1763
1547
  </optional>
@@ -2518,28 +2302,6 @@
2518
2302
  <attribute name="columns"/>
2519
2303
  </optional>
2520
2304
  </define>
2521
- <define name="FigureAttributes">
2522
- <attribute name="id">
2523
- <data type="ID"/>
2524
- </attribute>
2525
- <optional>
2526
- <attribute name="unnumbered">
2527
- <data type="boolean"/>
2528
- </attribute>
2529
- </optional>
2530
- <optional>
2531
- <attribute name="number"/>
2532
- </optional>
2533
- <optional>
2534
- <attribute name="subsequence"/>
2535
- </optional>
2536
- <optional>
2537
- <attribute name="class"/>
2538
- </optional>
2539
- <optional>
2540
- <attribute name="width"/>
2541
- </optional>
2542
- </define>
2543
2305
  <start>
2544
2306
  <ref name="standard-document"/>
2545
2307
  </start>