asciidoctor-rsd 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,952 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3
+ <include href="isodoc.rng">
4
+ <start>
5
+ <ref name="iso-standard"/>
6
+ </start>
7
+ <define name="language">
8
+ <element name="language">
9
+ <choice>
10
+ <value>en</value>
11
+ <value>fr</value>
12
+ </choice>
13
+ </element>
14
+ </define>
15
+ <define name="script">
16
+ <element name="script">
17
+ <value>Latn</value>
18
+ </element>
19
+ </define>
20
+ <!-- add type to docidentifier in isodoc? -->
21
+ <define name="docidentifier">
22
+ <element name="docidentifier">
23
+ <choice>
24
+ <text/>
25
+ <group>
26
+ <ref name="documentnumber"/>
27
+ <optional>
28
+ <ref name="tc-documentnumber"/>
29
+ </optional>
30
+ </group>
31
+ </choice>
32
+ </element>
33
+ </define>
34
+ <define name="organization">
35
+ <element name="organization">
36
+ <ref name="orgname"/>
37
+ <optional>
38
+ <ref name="abbreviation"/>
39
+ </optional>
40
+ <optional>
41
+ <ref name="uri"/>
42
+ </optional>
43
+ <zeroOrMore>
44
+ <ref name="org-identifier"/>
45
+ </zeroOrMore>
46
+ <zeroOrMore>
47
+ <ref name="contact"/>
48
+ </zeroOrMore>
49
+ <optional>
50
+ <ref name="technical-committee"/>
51
+ </optional>
52
+ <optional>
53
+ <ref name="subcommittee"/>
54
+ </optional>
55
+ <optional>
56
+ <ref name="workgroup"/>
57
+ </optional>
58
+ <optional>
59
+ <ref name="secretariat"/>
60
+ </optional>
61
+ </element>
62
+ </define>
63
+ <define name="BibliographicItem">
64
+ <optional>
65
+ <attribute name="type">
66
+ <ref name="BibItemType"/>
67
+ </attribute>
68
+ </optional>
69
+ <choice>
70
+ <oneOrMore>
71
+ <ref name="btitle"/>
72
+ </oneOrMore>
73
+ <ref name="formattedref"/>
74
+ </choice>
75
+ <optional>
76
+ <ref name="bsource"/>
77
+ </optional>
78
+ <zeroOrMore>
79
+ <ref name="docidentifier"/>
80
+ </zeroOrMore>
81
+ <zeroOrMore>
82
+ <ref name="bdate"/>
83
+ </zeroOrMore>
84
+ <zeroOrMore>
85
+ <ref name="contributor"/>
86
+ </zeroOrMore>
87
+ <optional>
88
+ <ref name="edition"/>
89
+ </optional>
90
+ <zeroOrMore>
91
+ <ref name="biblionote"/>
92
+ </zeroOrMore>
93
+ <zeroOrMore>
94
+ <ref name="language"/>
95
+ </zeroOrMore>
96
+ <zeroOrMore>
97
+ <ref name="script"/>
98
+ </zeroOrMore>
99
+ <optional>
100
+ <ref name="abstract"/>
101
+ </optional>
102
+ <optional>
103
+ <ref name="status"/>
104
+ </optional>
105
+ <optional>
106
+ <ref name="copyright"/>
107
+ </optional>
108
+ <zeroOrMore>
109
+ <ref name="docrelation"/>
110
+ </zeroOrMore>
111
+ <optional>
112
+ <ref name="editorialgroup"/>
113
+ </optional>
114
+ <zeroOrMore>
115
+ <ref name="ics"/>
116
+ </zeroOrMore>
117
+ </define>
118
+ <define name="BibData">
119
+ <optional>
120
+ <attribute name="type">
121
+ <ref name="BibItemType"/>
122
+ </attribute>
123
+ </optional>
124
+ <oneOrMore>
125
+ <ref name="btitle"/>
126
+ </oneOrMore>
127
+ <optional>
128
+ <ref name="formattedref"/>
129
+ </optional>
130
+ <optional>
131
+ <ref name="bsource"/>
132
+ </optional>
133
+ <zeroOrMore>
134
+ <ref name="docidentifier"/>
135
+ </zeroOrMore>
136
+ <zeroOrMore>
137
+ <ref name="bdate"/>
138
+ </zeroOrMore>
139
+ <zeroOrMore>
140
+ <ref name="contributor"/>
141
+ </zeroOrMore>
142
+ <optional>
143
+ <ref name="edition"/>
144
+ </optional>
145
+ <zeroOrMore>
146
+ <ref name="biblionote"/>
147
+ </zeroOrMore>
148
+ <zeroOrMore>
149
+ <ref name="language"/>
150
+ </zeroOrMore>
151
+ <zeroOrMore>
152
+ <ref name="script"/>
153
+ </zeroOrMore>
154
+ <optional>
155
+ <ref name="abstract"/>
156
+ </optional>
157
+ <optional>
158
+ <ref name="status"/>
159
+ </optional>
160
+ <ref name="copyright"/>
161
+ <zeroOrMore>
162
+ <ref name="docrelation"/>
163
+ </zeroOrMore>
164
+ <ref name="editorialgroup"/>
165
+ <zeroOrMore>
166
+ <ref name="ics"/>
167
+ </zeroOrMore>
168
+ </define>
169
+ <define name="bfrom">
170
+ <element name="from">
171
+ <choice>
172
+ <data type="gYear"/>
173
+ <data type="date"/>
174
+ <value>--</value>
175
+ </choice>
176
+ </element>
177
+ </define>
178
+ <define name="biblionote">
179
+ <element name="note">
180
+ <optional>
181
+ <!-- Biblio date notes can be footnoted -->
182
+ <attribute name="reference"/>
183
+ </optional>
184
+ <ref name="FormattedString"/>
185
+ </element>
186
+ </define>
187
+ <define name="status">
188
+ <element name="status">
189
+ <choice>
190
+ <ref name="FormattedString"/>
191
+ <group>
192
+ <ref name="stage"/>
193
+ <optional>
194
+ <ref name="substage"/>
195
+ </optional>
196
+ <optional>
197
+ <ref name="iteration"/>
198
+ </optional>
199
+ </group>
200
+ </choice>
201
+ </element>
202
+ </define>
203
+ <define name="btitle">
204
+ <element name="title">
205
+ <choice>
206
+ <ref name="FormattedString"/>
207
+ <group>
208
+ <optional>
209
+ <ref name="title-intro"/>
210
+ </optional>
211
+ <ref name="title-main"/>
212
+ <optional>
213
+ <ref name="title-part"/>
214
+ </optional>
215
+ </group>
216
+ </choice>
217
+ </element>
218
+ </define>
219
+ <define name="sections">
220
+ <element name="sections">
221
+ <ref name="clause"/>
222
+ <choice>
223
+ <ref name="term-clause"/>
224
+ <ref name="terms"/>
225
+ </choice>
226
+ <optional>
227
+ <ref name="definitions"/>
228
+ </optional>
229
+ <oneOrMore>
230
+ <ref name="clause"/>
231
+ </oneOrMore>
232
+ </element>
233
+ </define>
234
+ <define name="Basic-Section">
235
+ <optional>
236
+ <attribute name="id">
237
+ <data type="ID"/>
238
+ </attribute>
239
+ </optional>
240
+ <optional>
241
+ <attribute name="obligation">
242
+ <choice>
243
+ <value>normative</value>
244
+ <value>informative</value>
245
+ </choice>
246
+ </attribute>
247
+ </optional>
248
+ <optional>
249
+ <ref name="section-title"/>
250
+ </optional>
251
+ <group>
252
+ <oneOrMore>
253
+ <ref name="BasicBlock"/>
254
+ </oneOrMore>
255
+ <zeroOrMore>
256
+ <ref name="note"/>
257
+ </zeroOrMore>
258
+ </group>
259
+ </define>
260
+ <define name="Content-Section">
261
+ <optional>
262
+ <attribute name="id">
263
+ <data type="ID"/>
264
+ </attribute>
265
+ </optional>
266
+ <optional>
267
+ <attribute name="obligation">
268
+ <choice>
269
+ <value>normative</value>
270
+ <value>informative</value>
271
+ </choice>
272
+ </attribute>
273
+ </optional>
274
+ <optional>
275
+ <ref name="section-title"/>
276
+ </optional>
277
+ <choice>
278
+ <group>
279
+ <oneOrMore>
280
+ <ref name="BasicBlock"/>
281
+ </oneOrMore>
282
+ <zeroOrMore>
283
+ <ref name="note"/>
284
+ </zeroOrMore>
285
+ </group>
286
+ <oneOrMore>
287
+ <ref name="content-subsection"/>
288
+ </oneOrMore>
289
+ </choice>
290
+ </define>
291
+ <define name="Clause-Section">
292
+ <optional>
293
+ <attribute name="id">
294
+ <data type="ID"/>
295
+ </attribute>
296
+ </optional>
297
+ <optional>
298
+ <attribute name="inline-header">
299
+ <data type="boolean"/>
300
+ </attribute>
301
+ </optional>
302
+ <optional>
303
+ <attribute name="obligation">
304
+ <choice>
305
+ <value>normative</value>
306
+ <value>informative</value>
307
+ </choice>
308
+ </attribute>
309
+ </optional>
310
+ <optional>
311
+ <ref name="section-title"/>
312
+ </optional>
313
+ <choice>
314
+ <group>
315
+ <oneOrMore>
316
+ <ref name="BasicBlock"/>
317
+ </oneOrMore>
318
+ <zeroOrMore>
319
+ <ref name="note"/>
320
+ </zeroOrMore>
321
+ </group>
322
+ <oneOrMore>
323
+ <ref name="clause-subsection"/>
324
+ </oneOrMore>
325
+ </choice>
326
+ </define>
327
+ <define name="references">
328
+ <element name="references">
329
+ <optional>
330
+ <attribute name="id">
331
+ <data type="ID"/>
332
+ </attribute>
333
+ </optional>
334
+ <optional>
335
+ <attribute name="obligation">
336
+ <choice>
337
+ <value>normative</value>
338
+ <value>informative</value>
339
+ </choice>
340
+ </attribute>
341
+ </optional>
342
+ <optional>
343
+ <ref name="section-title"/>
344
+ </optional>
345
+ <zeroOrMore>
346
+ <ref name="bibitem"/>
347
+ </zeroOrMore>
348
+ <zeroOrMore>
349
+ <ref name="references"/>
350
+ </zeroOrMore>
351
+ </element>
352
+ </define>
353
+ <define name="definitions">
354
+ <element name="definitions">
355
+ <optional>
356
+ <attribute name="id">
357
+ <data type="ID"/>
358
+ </attribute>
359
+ </optional>
360
+ <optional>
361
+ <attribute name="obligation">
362
+ <choice>
363
+ <value>normative</value>
364
+ <value>informative</value>
365
+ </choice>
366
+ </attribute>
367
+ </optional>
368
+ <ref name="dl"/>
369
+ </element>
370
+ </define>
371
+ <define name="terms">
372
+ <element name="terms">
373
+ <optional>
374
+ <attribute name="id">
375
+ <data type="ID"/>
376
+ </attribute>
377
+ </optional>
378
+ <optional>
379
+ <attribute name="obligation">
380
+ <choice>
381
+ <value>normative</value>
382
+ <value>informative</value>
383
+ </choice>
384
+ </attribute>
385
+ </optional>
386
+ <optional>
387
+ <ref name="section-title"/>
388
+ </optional>
389
+ <choice>
390
+ <oneOrMore>
391
+ <ref name="term"/>
392
+ </oneOrMore>
393
+ <group>
394
+ <zeroOrMore>
395
+ <ref name="terms"/>
396
+ </zeroOrMore>
397
+ <optional>
398
+ <ref name="definitions"/>
399
+ </optional>
400
+ </group>
401
+ </choice>
402
+ </element>
403
+ </define>
404
+ <define name="term">
405
+ <element name="term">
406
+ <optional>
407
+ <attribute name="id">
408
+ <data type="ID"/>
409
+ </attribute>
410
+ </optional>
411
+ <ref name="preferred"/>
412
+ <zeroOrMore>
413
+ <ref name="admitted"/>
414
+ </zeroOrMore>
415
+ <zeroOrMore>
416
+ <ref name="deprecates"/>
417
+ </zeroOrMore>
418
+ <optional>
419
+ <ref name="termdomain"/>
420
+ </optional>
421
+ <ref name="definition"/>
422
+ <zeroOrMore>
423
+ <ref name="termnote"/>
424
+ </zeroOrMore>
425
+ <zeroOrMore>
426
+ <ref name="termexample"/>
427
+ </zeroOrMore>
428
+ <zeroOrMore>
429
+ <ref name="termsource"/>
430
+ </zeroOrMore>
431
+ </element>
432
+ </define>
433
+ <define name="definition">
434
+ <element name="definition">
435
+ <oneOrMore>
436
+ <choice>
437
+ <ref name="paragraph"/>
438
+ <ref name="figure"/>
439
+ <ref name="formula"/>
440
+ </choice>
441
+ </oneOrMore>
442
+ </element>
443
+ </define>
444
+ <define name="annex">
445
+ <element name="annex">
446
+ <optional>
447
+ <attribute name="id">
448
+ <data type="ID"/>
449
+ </attribute>
450
+ </optional>
451
+ <optional>
452
+ <attribute name="inline-header">
453
+ <data type="boolean"/>
454
+ </attribute>
455
+ </optional>
456
+ <optional>
457
+ <attribute name="obligation">
458
+ <choice>
459
+ <value>normative</value>
460
+ <value>informative</value>
461
+ </choice>
462
+ </attribute>
463
+ </optional>
464
+ <optional>
465
+ <ref name="section-title"/>
466
+ </optional>
467
+ <zeroOrMore>
468
+ <!--
469
+ allow hanging paragraps in annexes: they introduce lists
470
+ ( paragraph-with-footnote | table | note | formula | admonition | ol | ul | dl | figure | quote | sourcecode | review | example )*,
471
+ -->
472
+ <ref name="BasicBlock"/>
473
+ </zeroOrMore>
474
+ <zeroOrMore>
475
+ <ref name="note"/>
476
+ </zeroOrMore>
477
+ <zeroOrMore>
478
+ <ref name="clause-hanging-paragraph-with-footnote"/>
479
+ </zeroOrMore>
480
+ <zeroOrMore>
481
+ <ref name="annex-appendix"/>
482
+ </zeroOrMore>
483
+ </element>
484
+ </define>
485
+ <define name="figure">
486
+ <element name="figure">
487
+ <attribute name="id">
488
+ <data type="ID"/>
489
+ </attribute>
490
+ <optional>
491
+ <ref name="tname"/>
492
+ </optional>
493
+ <choice>
494
+ <ref name="image"/>
495
+ <oneOrMore>
496
+ <ref name="subfigure"/>
497
+ </oneOrMore>
498
+ </choice>
499
+ <zeroOrMore>
500
+ <ref name="fn"/>
501
+ </zeroOrMore>
502
+ <optional>
503
+ <ref name="dl"/>
504
+ </optional>
505
+ <zeroOrMore>
506
+ <ref name="note"/>
507
+ </zeroOrMore>
508
+ </element>
509
+ </define>
510
+ <define name="li">
511
+ <element name="li">
512
+ <oneOrMore>
513
+ <!-- ( paragraph-with-footnote | table | note | formula | admonition | ol | ul | dl | quote | sourcecode | review | example )+ -->
514
+ <ref name="BasicBlock"/>
515
+ </oneOrMore>
516
+ <!-- exclude figures? -->
517
+ </element>
518
+ </define>
519
+ <define name="dd">
520
+ <element name="dd">
521
+ <zeroOrMore>
522
+ <!--
523
+ ( paragraph-with-footnote | table | note | formula | admonition | ol | ul | dl | quote | sourcecode | review | example )*
524
+ exclude figures?
525
+ -->
526
+ <ref name="BasicBlock"/>
527
+ </zeroOrMore>
528
+ </element>
529
+ </define>
530
+ <define name="admonition">
531
+ <element name="admonition">
532
+ <attribute name="id">
533
+ <data type="ID"/>
534
+ </attribute>
535
+ <attribute name="type">
536
+ <choice>
537
+ <value>danger</value>
538
+ <value>caution</value>
539
+ <value>warning</value>
540
+ <value>important</value>
541
+ <value>safety precautions</value>
542
+ </choice>
543
+ </attribute>
544
+ <oneOrMore>
545
+ <ref name="paragraph-with-footnote"/>
546
+ </oneOrMore>
547
+ <zeroOrMore>
548
+ <ref name="note"/>
549
+ </zeroOrMore>
550
+ </element>
551
+ </define>
552
+ <define name="xref">
553
+ <element name="xref">
554
+ <attribute name="target">
555
+ <data type="IDREF"/>
556
+ </attribute>
557
+ <text/>
558
+ </element>
559
+ </define>
560
+ <define name="hyperlink">
561
+ <element name="link">
562
+ <attribute name="target">
563
+ <data type="anyURI"/>
564
+ </attribute>
565
+ <text/>
566
+ </element>
567
+ </define>
568
+ <define name="thead">
569
+ <element name="thead">
570
+ <oneOrMore>
571
+ <ref name="tr"/>
572
+ </oneOrMore>
573
+ </element>
574
+ </define>
575
+ <define name="td">
576
+ <element name="td">
577
+ <optional>
578
+ <attribute name="colspan"/>
579
+ </optional>
580
+ <optional>
581
+ <attribute name="rowspan"/>
582
+ </optional>
583
+ <optional>
584
+ <attribute name="align">
585
+ <choice>
586
+ <value>left</value>
587
+ <value>right</value>
588
+ <value>center</value>
589
+ </choice>
590
+ </attribute>
591
+ </optional>
592
+ <choice>
593
+ <zeroOrMore>
594
+ <choice>
595
+ <ref name="TextElement"/>
596
+ <ref name="fn"/>
597
+ </choice>
598
+ </zeroOrMore>
599
+ <oneOrMore>
600
+ <ref name="paragraph-with-footnote"/>
601
+ </oneOrMore>
602
+ </choice>
603
+ </element>
604
+ </define>
605
+ <define name="th">
606
+ <element name="th">
607
+ <optional>
608
+ <attribute name="colspan"/>
609
+ </optional>
610
+ <optional>
611
+ <attribute name="rowspan"/>
612
+ </optional>
613
+ <optional>
614
+ <attribute name="align">
615
+ <choice>
616
+ <value>left</value>
617
+ <value>right</value>
618
+ <value>center</value>
619
+ </choice>
620
+ </attribute>
621
+ </optional>
622
+ <choice>
623
+ <zeroOrMore>
624
+ <choice>
625
+ <ref name="TextElement"/>
626
+ <ref name="fn"/>
627
+ </choice>
628
+ </zeroOrMore>
629
+ <oneOrMore>
630
+ <ref name="paragraph-with-footnote"/>
631
+ </oneOrMore>
632
+ </choice>
633
+ </element>
634
+ </define>
635
+ <define name="table-note">
636
+ <element name="note">
637
+ <optional>
638
+ <attribute name="id">
639
+ <data type="ID"/>
640
+ </attribute>
641
+ </optional>
642
+ <ref name="paragraph"/>
643
+ </element>
644
+ </define>
645
+ </include>
646
+ <!-- end overrides -->
647
+ <!--
648
+ We display the Normative References between scope and terms; but to keep the
649
+ grammar simple, we keep the references together
650
+ -->
651
+ <define name="iso-standard">
652
+ <element name="iso-standard">
653
+ <ref name="bibdata"/>
654
+ <optional>
655
+ <ref name="version"/>
656
+ </optional>
657
+ <zeroOrMore>
658
+ <ref name="termdocsource"/>
659
+ </zeroOrMore>
660
+ <ref name="preface"/>
661
+ <oneOrMore>
662
+ <ref name="sections"/>
663
+ </oneOrMore>
664
+ <zeroOrMore>
665
+ <ref name="annex"/>
666
+ </zeroOrMore>
667
+ <ref name="bibliography"/>
668
+ </element>
669
+ </define>
670
+ <define name="preface">
671
+ <element name="preface">
672
+ <ref name="foreword"/>
673
+ <optional>
674
+ <ref name="introduction"/>
675
+ </optional>
676
+ </element>
677
+ </define>
678
+ <define name="bibliography">
679
+ <element name="bibliography">
680
+ <oneOrMore>
681
+ <choice>
682
+ <ref name="references"/>
683
+ <ref name="reference-clause"/>
684
+ </choice>
685
+ </oneOrMore>
686
+ </element>
687
+ </define>
688
+ <define name="BibItemType" combine="choice">
689
+ <choice>
690
+ <value>international-standard</value>
691
+ <value>technical-specification</value>
692
+ <value>technical-report</value>
693
+ <value>publicly-available-specification</value>
694
+ <value>international-workshop-agreement</value>
695
+ <value>guide</value>
696
+ </choice>
697
+ </define>
698
+ <define name="editorialgroup">
699
+ <element name="editorialgroup">
700
+ <ref name="technical-committee"/>
701
+ <optional>
702
+ <ref name="subcommittee"/>
703
+ </optional>
704
+ <optional>
705
+ <ref name="workgroup"/>
706
+ </optional>
707
+ <optional>
708
+ <ref name="secretariat"/>
709
+ </optional>
710
+ </element>
711
+ </define>
712
+ <define name="foreword">
713
+ <element name="foreword">
714
+ <ref name="Basic-Section"/>
715
+ </element>
716
+ </define>
717
+ <define name="introduction">
718
+ <element name="introduction">
719
+ <ref name="Content-Section"/>
720
+ </element>
721
+ </define>
722
+ <define name="stage">
723
+ <element name="stage">
724
+ <choice>
725
+ <value>00</value>
726
+ <value>10</value>
727
+ <value>20</value>
728
+ <value>30</value>
729
+ <value>40</value>
730
+ <value>50</value>
731
+ <value>60</value>
732
+ <value>90</value>
733
+ <value>95</value>
734
+ </choice>
735
+ </element>
736
+ </define>
737
+ <define name="substage">
738
+ <element name="substage">
739
+ <choice>
740
+ <value>00</value>
741
+ <value>20</value>
742
+ <value>60</value>
743
+ <value>90</value>
744
+ <value>92</value>
745
+ <value>93</value>
746
+ <value>98</value>
747
+ <value>99</value>
748
+ </choice>
749
+ </element>
750
+ </define>
751
+ <define name="iteration">
752
+ <element name="iteration">
753
+ <data type="int"/>
754
+ </element>
755
+ </define>
756
+ <define name="documentnumber">
757
+ <element name="project-number">
758
+ <optional>
759
+ <attribute name="part">
760
+ <data type="int"/>
761
+ </attribute>
762
+ </optional>
763
+ <optional>
764
+ <attribute name="subpart">
765
+ <data type="int"/>
766
+ </attribute>
767
+ </optional>
768
+ <data type="int"/>
769
+ </element>
770
+ </define>
771
+ <define name="tc-documentnumber">
772
+ <element name="tc-document-number">
773
+ <data type="int"/>
774
+ </element>
775
+ </define>
776
+ <define name="technical-committee">
777
+ <element name="technical-committee">
778
+ <ref name="IsoWorkgroup"/>
779
+ </element>
780
+ </define>
781
+ <define name="subcommittee">
782
+ <element name="subcommittee">
783
+ <ref name="IsoWorkgroup"/>
784
+ </element>
785
+ </define>
786
+ <define name="workgroup">
787
+ <element name="workgroup">
788
+ <ref name="IsoWorkgroup"/>
789
+ </element>
790
+ </define>
791
+ <define name="IsoWorkgroup">
792
+ <optional>
793
+ <attribute name="number">
794
+ <data type="int"/>
795
+ </attribute>
796
+ </optional>
797
+ <optional>
798
+ <attribute name="type"/>
799
+ </optional>
800
+ <text/>
801
+ </define>
802
+ <define name="secretariat">
803
+ <element name="secretariat">
804
+ <text/>
805
+ </element>
806
+ </define>
807
+ <define name="title-intro">
808
+ <element name="title-intro">
809
+ <ref name="FormattedString"/>
810
+ </element>
811
+ </define>
812
+ <define name="title-main">
813
+ <element name="title-main">
814
+ <ref name="FormattedString"/>
815
+ </element>
816
+ </define>
817
+ <define name="title-part">
818
+ <element name="title-part">
819
+ <ref name="FormattedString"/>
820
+ </element>
821
+ </define>
822
+ <define name="clause-hanging-paragraph-with-footnote">
823
+ <element name="clause">
824
+ <optional>
825
+ <attribute name="id">
826
+ <data type="ID"/>
827
+ </attribute>
828
+ </optional>
829
+ <optional>
830
+ <attribute name="inline-header">
831
+ <data type="boolean"/>
832
+ </attribute>
833
+ </optional>
834
+ <optional>
835
+ <attribute name="obligation">
836
+ <choice>
837
+ <value>normative</value>
838
+ <value>informative</value>
839
+ </choice>
840
+ </attribute>
841
+ </optional>
842
+ <optional>
843
+ <ref name="section-title"/>
844
+ </optional>
845
+ <zeroOrMore>
846
+ <!-- allow hanging paragraphs in annexes: they introduce lists -->
847
+ <ref name="BasicBlock"/>
848
+ </zeroOrMore>
849
+ <zeroOrMore>
850
+ <ref name="note"/>
851
+ </zeroOrMore>
852
+ <zeroOrMore>
853
+ <ref name="clause-hanging-paragraph-with-footnote"/>
854
+ </zeroOrMore>
855
+ </element>
856
+ </define>
857
+ <define name="subfigure">
858
+ <element name="figure">
859
+ <attribute name="id">
860
+ <data type="ID"/>
861
+ </attribute>
862
+ <optional>
863
+ <ref name="tname"/>
864
+ </optional>
865
+ <ref name="image"/>
866
+ </element>
867
+ </define>
868
+ <define name="termdocsource">
869
+ <element name="termdocsource">
870
+ <ref name="erefType"/>
871
+ </element>
872
+ </define>
873
+ <define name="ics">
874
+ <element name="ics">
875
+ <text/>
876
+ </element>
877
+ </define>
878
+ <define name="term-clause">
879
+ <element name="clause">
880
+ <optional>
881
+ <attribute name="id">
882
+ <data type="ID"/>
883
+ </attribute>
884
+ </optional>
885
+ <optional>
886
+ <attribute name="inline-header">
887
+ <data type="boolean"/>
888
+ </attribute>
889
+ </optional>
890
+ <optional>
891
+ <attribute name="obligation">
892
+ <choice>
893
+ <value>normative</value>
894
+ <value>informative</value>
895
+ </choice>
896
+ </attribute>
897
+ </optional>
898
+ <optional>
899
+ <ref name="section-title"/>
900
+ </optional>
901
+ <choice>
902
+ <oneOrMore>
903
+ <ref name="term-clause"/>
904
+ </oneOrMore>
905
+ <zeroOrMore>
906
+ <choice>
907
+ <ref name="terms"/>
908
+ <ref name="definitions"/>
909
+ </choice>
910
+ </zeroOrMore>
911
+ </choice>
912
+ </element>
913
+ </define>
914
+ <define name="reference-clause">
915
+ <element name="clause">
916
+ <optional>
917
+ <attribute name="id">
918
+ <data type="ID"/>
919
+ </attribute>
920
+ </optional>
921
+ <optional>
922
+ <attribute name="inline-header">
923
+ <data type="boolean"/>
924
+ </attribute>
925
+ </optional>
926
+ <optional>
927
+ <attribute name="obligation">
928
+ <choice>
929
+ <value>normative</value>
930
+ <value>informative</value>
931
+ </choice>
932
+ </attribute>
933
+ </optional>
934
+ <optional>
935
+ <ref name="section-title"/>
936
+ </optional>
937
+ <choice>
938
+ <oneOrMore>
939
+ <ref name="reference-clause"/>
940
+ </oneOrMore>
941
+ <zeroOrMore>
942
+ <ref name="references"/>
943
+ </zeroOrMore>
944
+ </choice>
945
+ </element>
946
+ </define>
947
+ <define name="annex-appendix">
948
+ <element name="appendix">
949
+ <ref name="Clause-Section"/>
950
+ </element>
951
+ </define>
952
+ </grammar>