relaton-ecma 1.7.pre1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1590 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ instantiations of this grammar may replace leaf strings
4
+ with more elaborated types; e.g. title (text) replaced with
5
+ title-main, title-intro, title-part; type replaced with
6
+ enum.
7
+
8
+ some renaming at leaf nodes is permissible
9
+
10
+ obligations can change both from optional to mandatory,
11
+ and from mandatory to optional; optional elements may
12
+ be omitted; freely positioned alternatives may be replaced
13
+ with strict ordering
14
+
15
+ DO NOT introduce a namespace here. We do not want a distinct namespace
16
+ for these elements, and a distinct namespace for any grammar inheriting
17
+ these elements; we just want one namespace for any child grammars
18
+ of this.
19
+ -->
20
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
21
+ <include href="reqt.rng"/>
22
+ <!-- include "biblio.rnc" { } -->
23
+ <include href="basicdoc.rng">
24
+ <start>
25
+ <ref name="standard-document"/>
26
+ </start>
27
+ <define name="doctype">
28
+ <element name="doctype">
29
+ <optional>
30
+ <attribute name="abbreviation"/>
31
+ </optional>
32
+ <ref name="DocumentType"/>
33
+ </element>
34
+ </define>
35
+ <define name="hyperlink">
36
+ <element name="link">
37
+ <attribute name="target">
38
+ <data type="anyURI"/>
39
+ </attribute>
40
+ <optional>
41
+ <attribute name="type">
42
+ <ref name="ReferenceFormat"/>
43
+ </attribute>
44
+ </optional>
45
+ <optional>
46
+ <attribute name="alt"/>
47
+ </optional>
48
+ <text/>
49
+ </element>
50
+ </define>
51
+ <define name="xref">
52
+ <element name="xref">
53
+ <attribute name="target">
54
+ <data type="string">
55
+ <param name="pattern">\i\c*|\c+#\c+</param>
56
+ </data>
57
+ </attribute>
58
+ <optional>
59
+ <attribute name="type">
60
+ <ref name="ReferenceFormat"/>
61
+ </attribute>
62
+ </optional>
63
+ <optional>
64
+ <attribute name="alt"/>
65
+ </optional>
66
+ <optional>
67
+ <attribute name="case">
68
+ <choice>
69
+ <value>capital</value>
70
+ <value>lowercase</value>
71
+ </choice>
72
+ </attribute>
73
+ </optional>
74
+ <optional>
75
+ <attribute name="droploc">
76
+ <data type="boolean"/>
77
+ </attribute>
78
+ </optional>
79
+ <text/>
80
+ </element>
81
+ </define>
82
+ <define name="ul">
83
+ <element name="ul">
84
+ <attribute name="id">
85
+ <data type="ID"/>
86
+ </attribute>
87
+ <optional>
88
+ <attribute name="keep-with-next">
89
+ <data type="boolean"/>
90
+ </attribute>
91
+ </optional>
92
+ <optional>
93
+ <attribute name="keep-lines-together">
94
+ <data type="boolean"/>
95
+ </attribute>
96
+ </optional>
97
+ <oneOrMore>
98
+ <ref name="li"/>
99
+ </oneOrMore>
100
+ <zeroOrMore>
101
+ <ref name="note"/>
102
+ </zeroOrMore>
103
+ </element>
104
+ </define>
105
+ <define name="ol">
106
+ <element name="ol">
107
+ <attribute name="id">
108
+ <data type="ID"/>
109
+ </attribute>
110
+ <optional>
111
+ <attribute name="keep-with-next">
112
+ <data type="boolean"/>
113
+ </attribute>
114
+ </optional>
115
+ <optional>
116
+ <attribute name="keep-lines-together">
117
+ <data type="boolean"/>
118
+ </attribute>
119
+ </optional>
120
+ <attribute name="type">
121
+ <choice>
122
+ <value>roman</value>
123
+ <value>alphabet</value>
124
+ <value>arabic</value>
125
+ <value>roman_upper</value>
126
+ <value>alphabet_upper</value>
127
+ </choice>
128
+ </attribute>
129
+ <oneOrMore>
130
+ <ref name="li"/>
131
+ </oneOrMore>
132
+ <zeroOrMore>
133
+ <ref name="note"/>
134
+ </zeroOrMore>
135
+ </element>
136
+ </define>
137
+ <define name="dl">
138
+ <element name="dl">
139
+ <attribute name="id">
140
+ <data type="ID"/>
141
+ </attribute>
142
+ <optional>
143
+ <attribute name="keep-with-next">
144
+ <data type="boolean"/>
145
+ </attribute>
146
+ </optional>
147
+ <optional>
148
+ <attribute name="keep-lines-together">
149
+ <data type="boolean"/>
150
+ </attribute>
151
+ </optional>
152
+ <optional>
153
+ <attribute name="key">
154
+ <data type="boolean"/>
155
+ </attribute>
156
+ </optional>
157
+ <oneOrMore>
158
+ <ref name="dt"/>
159
+ <ref name="dd"/>
160
+ </oneOrMore>
161
+ <zeroOrMore>
162
+ <ref name="note"/>
163
+ </zeroOrMore>
164
+ </element>
165
+ </define>
166
+ <define name="example">
167
+ <element name="example">
168
+ <attribute name="id">
169
+ <data type="ID"/>
170
+ </attribute>
171
+ <optional>
172
+ <attribute name="unnumbered">
173
+ <data type="boolean"/>
174
+ </attribute>
175
+ </optional>
176
+ <optional>
177
+ <attribute name="subsequence"/>
178
+ </optional>
179
+ <optional>
180
+ <attribute name="number"/>
181
+ </optional>
182
+ <optional>
183
+ <attribute name="keep-with-next">
184
+ <data type="boolean"/>
185
+ </attribute>
186
+ </optional>
187
+ <optional>
188
+ <attribute name="keep-lines-together">
189
+ <data type="boolean"/>
190
+ </attribute>
191
+ </optional>
192
+ <optional>
193
+ <ref name="tname"/>
194
+ </optional>
195
+ <oneOrMore>
196
+ <choice>
197
+ <ref name="formula"/>
198
+ <ref name="ul"/>
199
+ <ref name="ol"/>
200
+ <ref name="dl"/>
201
+ <ref name="quote"/>
202
+ <ref name="sourcecode"/>
203
+ <ref name="paragraph-with-footnote"/>
204
+ <ref name="figure"/>
205
+ </choice>
206
+ </oneOrMore>
207
+ <zeroOrMore>
208
+ <ref name="note"/>
209
+ </zeroOrMore>
210
+ </element>
211
+ </define>
212
+ <define name="table">
213
+ <element name="table">
214
+ <attribute name="id">
215
+ <data type="ID"/>
216
+ </attribute>
217
+ <optional>
218
+ <attribute name="unnumbered">
219
+ <data type="boolean"/>
220
+ </attribute>
221
+ </optional>
222
+ <optional>
223
+ <attribute name="number"/>
224
+ </optional>
225
+ <optional>
226
+ <attribute name="subsequence"/>
227
+ </optional>
228
+ <optional>
229
+ <attribute name="alt"/>
230
+ </optional>
231
+ <optional>
232
+ <attribute name="summary"/>
233
+ </optional>
234
+ <optional>
235
+ <attribute name="uri">
236
+ <data type="anyURI"/>
237
+ </attribute>
238
+ </optional>
239
+ <optional>
240
+ <attribute name="keep-with-next">
241
+ <data type="boolean"/>
242
+ </attribute>
243
+ </optional>
244
+ <optional>
245
+ <attribute name="keep-lines-together">
246
+ <data type="boolean"/>
247
+ </attribute>
248
+ </optional>
249
+ <optional>
250
+ <ref name="tname"/>
251
+ </optional>
252
+ <optional>
253
+ <ref name="thead"/>
254
+ </optional>
255
+ <ref name="tbody"/>
256
+ <optional>
257
+ <ref name="tfoot"/>
258
+ </optional>
259
+ <zeroOrMore>
260
+ <ref name="table-note"/>
261
+ </zeroOrMore>
262
+ <optional>
263
+ <ref name="dl"/>
264
+ </optional>
265
+ </element>
266
+ </define>
267
+ <define name="figure">
268
+ <element name="figure">
269
+ <attribute name="id">
270
+ <data type="ID"/>
271
+ </attribute>
272
+ <optional>
273
+ <attribute name="unnumbered">
274
+ <data type="boolean"/>
275
+ </attribute>
276
+ </optional>
277
+ <optional>
278
+ <attribute name="number"/>
279
+ </optional>
280
+ <optional>
281
+ <attribute name="subsequence"/>
282
+ </optional>
283
+ <optional>
284
+ <attribute name="keep-with-next">
285
+ <data type="boolean"/>
286
+ </attribute>
287
+ </optional>
288
+ <optional>
289
+ <attribute name="keep-lines-together">
290
+ <data type="boolean"/>
291
+ </attribute>
292
+ </optional>
293
+ <optional>
294
+ <attribute name="class"/>
295
+ </optional>
296
+ <optional>
297
+ <ref name="source"/>
298
+ </optional>
299
+ <optional>
300
+ <ref name="tname"/>
301
+ </optional>
302
+ <choice>
303
+ <ref name="image"/>
304
+ <ref name="video"/>
305
+ <ref name="audio"/>
306
+ <ref name="pre"/>
307
+ <oneOrMore>
308
+ <ref name="paragraph-with-footnote"/>
309
+ </oneOrMore>
310
+ <zeroOrMore>
311
+ <ref name="figure"/>
312
+ </zeroOrMore>
313
+ </choice>
314
+ <zeroOrMore>
315
+ <ref name="fn"/>
316
+ </zeroOrMore>
317
+ <optional>
318
+ <ref name="dl"/>
319
+ </optional>
320
+ <zeroOrMore>
321
+ <ref name="note"/>
322
+ </zeroOrMore>
323
+ </element>
324
+ </define>
325
+ <define name="sourcecode">
326
+ <element name="sourcecode">
327
+ <attribute name="id">
328
+ <data type="ID"/>
329
+ </attribute>
330
+ <optional>
331
+ <attribute name="unnumbered">
332
+ <data type="boolean"/>
333
+ </attribute>
334
+ </optional>
335
+ <optional>
336
+ <attribute name="number"/>
337
+ </optional>
338
+ <optional>
339
+ <attribute name="subsequence"/>
340
+ </optional>
341
+ <optional>
342
+ <attribute name="keep-with-next">
343
+ <data type="boolean"/>
344
+ </attribute>
345
+ </optional>
346
+ <optional>
347
+ <attribute name="keep-lines-together">
348
+ <data type="boolean"/>
349
+ </attribute>
350
+ </optional>
351
+ <optional>
352
+ <attribute name="lang"/>
353
+ </optional>
354
+ <optional>
355
+ <ref name="tname"/>
356
+ </optional>
357
+ <oneOrMore>
358
+ <choice>
359
+ <text/>
360
+ <ref name="callout"/>
361
+ </choice>
362
+ </oneOrMore>
363
+ <zeroOrMore>
364
+ <ref name="annotation"/>
365
+ </zeroOrMore>
366
+ <zeroOrMore>
367
+ <ref name="note"/>
368
+ </zeroOrMore>
369
+ </element>
370
+ </define>
371
+ <define name="formula">
372
+ <element name="formula">
373
+ <attribute name="id">
374
+ <data type="ID"/>
375
+ </attribute>
376
+ <optional>
377
+ <attribute name="unnumbered">
378
+ <data type="boolean"/>
379
+ </attribute>
380
+ </optional>
381
+ <optional>
382
+ <attribute name="number"/>
383
+ </optional>
384
+ <optional>
385
+ <attribute name="subsequence"/>
386
+ </optional>
387
+ <optional>
388
+ <attribute name="keep-with-next">
389
+ <data type="boolean"/>
390
+ </attribute>
391
+ </optional>
392
+ <optional>
393
+ <attribute name="keep-lines-together">
394
+ <data type="boolean"/>
395
+ </attribute>
396
+ </optional>
397
+ <optional>
398
+ <attribute name="inequality">
399
+ <data type="boolean"/>
400
+ </attribute>
401
+ </optional>
402
+ <ref name="stem"/>
403
+ <optional>
404
+ <ref name="dl"/>
405
+ </optional>
406
+ <zeroOrMore>
407
+ <ref name="note"/>
408
+ </zeroOrMore>
409
+ </element>
410
+ </define>
411
+ <define name="ParagraphType">
412
+ <attribute name="id">
413
+ <data type="ID"/>
414
+ </attribute>
415
+ <optional>
416
+ <attribute name="align">
417
+ <ref name="Alignments"/>
418
+ </attribute>
419
+ </optional>
420
+ <optional>
421
+ <attribute name="keep-with-next">
422
+ <data type="boolean"/>
423
+ </attribute>
424
+ </optional>
425
+ <optional>
426
+ <attribute name="keep-lines-together">
427
+ <data type="boolean"/>
428
+ </attribute>
429
+ </optional>
430
+ <zeroOrMore>
431
+ <ref name="TextElement"/>
432
+ </zeroOrMore>
433
+ <zeroOrMore>
434
+ <ref name="note"/>
435
+ </zeroOrMore>
436
+ </define>
437
+ <define name="paragraph-with-footnote">
438
+ <element name="p">
439
+ <attribute name="id">
440
+ <data type="ID"/>
441
+ </attribute>
442
+ <optional>
443
+ <attribute name="align">
444
+ <ref name="Alignments"/>
445
+ </attribute>
446
+ </optional>
447
+ <optional>
448
+ <attribute name="keep-with-next">
449
+ <data type="boolean"/>
450
+ </attribute>
451
+ </optional>
452
+ <optional>
453
+ <attribute name="keep-lines-together">
454
+ <data type="boolean"/>
455
+ </attribute>
456
+ </optional>
457
+ <zeroOrMore>
458
+ <choice>
459
+ <ref name="TextElement"/>
460
+ <ref name="fn"/>
461
+ </choice>
462
+ </zeroOrMore>
463
+ <zeroOrMore>
464
+ <ref name="note"/>
465
+ </zeroOrMore>
466
+ </element>
467
+ </define>
468
+ <define name="quote">
469
+ <element name="quote">
470
+ <attribute name="id">
471
+ <data type="ID"/>
472
+ </attribute>
473
+ <optional>
474
+ <attribute name="alignment">
475
+ <ref name="Alignments"/>
476
+ </attribute>
477
+ </optional>
478
+ <optional>
479
+ <attribute name="keep-with-next">
480
+ <data type="boolean"/>
481
+ </attribute>
482
+ </optional>
483
+ <optional>
484
+ <attribute name="keep-lines-together">
485
+ <data type="boolean"/>
486
+ </attribute>
487
+ </optional>
488
+ <optional>
489
+ <ref name="quote-source"/>
490
+ </optional>
491
+ <optional>
492
+ <ref name="quote-author"/>
493
+ </optional>
494
+ <oneOrMore>
495
+ <ref name="paragraph-with-footnote"/>
496
+ </oneOrMore>
497
+ <zeroOrMore>
498
+ <ref name="note"/>
499
+ </zeroOrMore>
500
+ </element>
501
+ </define>
502
+ <define name="BibDataExtensionType">
503
+ <ref name="doctype"/>
504
+ <optional>
505
+ <ref name="editorialgroup"/>
506
+ </optional>
507
+ <zeroOrMore>
508
+ <ref name="ics"/>
509
+ </zeroOrMore>
510
+ <zeroOrMore>
511
+ <ref name="structuredidentifier"/>
512
+ </zeroOrMore>
513
+ </define>
514
+ <!-- TitleType = text -->
515
+ <define name="sections">
516
+ <element name="sections">
517
+ <oneOrMore>
518
+ <choice>
519
+ <ref name="clause"/>
520
+ <ref name="terms"/>
521
+ <ref name="term-clause"/>
522
+ <ref name="definitions"/>
523
+ </choice>
524
+ </oneOrMore>
525
+ </element>
526
+ </define>
527
+ <define name="references">
528
+ <element name="references">
529
+ <optional>
530
+ <attribute name="id">
531
+ <data type="ID"/>
532
+ </attribute>
533
+ </optional>
534
+ <optional>
535
+ <attribute name="obligation">
536
+ <choice>
537
+ <value>normative</value>
538
+ <value>informative</value>
539
+ </choice>
540
+ </attribute>
541
+ </optional>
542
+ <attribute name="normative">
543
+ <data type="boolean"/>
544
+ </attribute>
545
+ <optional>
546
+ <ref name="section-title"/>
547
+ </optional>
548
+ <zeroOrMore>
549
+ <ref name="BasicBlock"/>
550
+ </zeroOrMore>
551
+ <zeroOrMore>
552
+ <ref name="note"/>
553
+ </zeroOrMore>
554
+ <zeroOrMore>
555
+ <ref name="bibitem"/>
556
+ <zeroOrMore>
557
+ <ref name="note"/>
558
+ </zeroOrMore>
559
+ </zeroOrMore>
560
+ <zeroOrMore>
561
+ <ref name="references"/>
562
+ </zeroOrMore>
563
+ </element>
564
+ </define>
565
+ <define name="note">
566
+ <element name="note">
567
+ <attribute name="id">
568
+ <data type="ID"/>
569
+ </attribute>
570
+ <optional>
571
+ <attribute name="unnumbered">
572
+ <data type="boolean"/>
573
+ </attribute>
574
+ </optional>
575
+ <optional>
576
+ <attribute name="number"/>
577
+ </optional>
578
+ <optional>
579
+ <attribute name="subsequence"/>
580
+ </optional>
581
+ <optional>
582
+ <attribute name="keep-with-next">
583
+ <data type="boolean"/>
584
+ </attribute>
585
+ </optional>
586
+ <optional>
587
+ <attribute name="keep-lines-together">
588
+ <data type="boolean"/>
589
+ </attribute>
590
+ </optional>
591
+ <optional>
592
+ <attribute name="type"/>
593
+ </optional>
594
+ <oneOrMore>
595
+ <choice>
596
+ <ref name="paragraph"/>
597
+ <ref name="ul"/>
598
+ <ref name="ol"/>
599
+ <ref name="dl"/>
600
+ <ref name="formula"/>
601
+ <ref name="quote"/>
602
+ <ref name="sourcecode"/>
603
+ </choice>
604
+ </oneOrMore>
605
+ </element>
606
+ </define>
607
+ <define name="Basic-Section">
608
+ <optional>
609
+ <attribute name="id">
610
+ <data type="ID"/>
611
+ </attribute>
612
+ </optional>
613
+ <optional>
614
+ <attribute name="language"/>
615
+ </optional>
616
+ <optional>
617
+ <attribute name="script"/>
618
+ </optional>
619
+ <optional>
620
+ <attribute name="obligation">
621
+ <choice>
622
+ <value>normative</value>
623
+ <value>informative</value>
624
+ </choice>
625
+ </attribute>
626
+ </optional>
627
+ <optional>
628
+ <ref name="section-title"/>
629
+ </optional>
630
+ <group>
631
+ <oneOrMore>
632
+ <ref name="BasicBlock"/>
633
+ </oneOrMore>
634
+ <zeroOrMore>
635
+ <ref name="note"/>
636
+ </zeroOrMore>
637
+ </group>
638
+ </define>
639
+ <define name="li">
640
+ <element name="li">
641
+ <group>
642
+ <optional>
643
+ <attribute name="id">
644
+ <data type="ID"/>
645
+ </attribute>
646
+ </optional>
647
+ <oneOrMore>
648
+ <ref name="BasicBlock"/>
649
+ </oneOrMore>
650
+ </group>
651
+ <!-- exclude figures? -->
652
+ </element>
653
+ </define>
654
+ <define name="dd">
655
+ <element name="dd">
656
+ <zeroOrMore>
657
+ <!-- exclude figures? -->
658
+ <ref name="BasicBlock"/>
659
+ </zeroOrMore>
660
+ </element>
661
+ </define>
662
+ <define name="thead">
663
+ <element name="thead">
664
+ <oneOrMore>
665
+ <ref name="tr"/>
666
+ </oneOrMore>
667
+ </element>
668
+ </define>
669
+ <define name="td">
670
+ <element name="td">
671
+ <optional>
672
+ <attribute name="colspan"/>
673
+ </optional>
674
+ <optional>
675
+ <attribute name="rowspan"/>
676
+ </optional>
677
+ <optional>
678
+ <attribute name="align">
679
+ <choice>
680
+ <value>left</value>
681
+ <value>right</value>
682
+ <value>center</value>
683
+ </choice>
684
+ </attribute>
685
+ </optional>
686
+ <optional>
687
+ <attribute name="valign">
688
+ <choice>
689
+ <value>top</value>
690
+ <value>middle</value>
691
+ <value>bottom</value>
692
+ <value>baseline</value>
693
+ </choice>
694
+ </attribute>
695
+ </optional>
696
+ <choice>
697
+ <zeroOrMore>
698
+ <choice>
699
+ <ref name="TextElement"/>
700
+ <ref name="fn"/>
701
+ </choice>
702
+ </zeroOrMore>
703
+ <oneOrMore>
704
+ <choice>
705
+ <ref name="paragraph-with-footnote"/>
706
+ <ref name="dl"/>
707
+ <ref name="ul"/>
708
+ <ref name="ol"/>
709
+ <ref name="figure"/>
710
+ </choice>
711
+ </oneOrMore>
712
+ </choice>
713
+ </element>
714
+ </define>
715
+ <define name="th">
716
+ <element name="th">
717
+ <optional>
718
+ <attribute name="colspan"/>
719
+ </optional>
720
+ <optional>
721
+ <attribute name="rowspan"/>
722
+ </optional>
723
+ <optional>
724
+ <attribute name="align">
725
+ <choice>
726
+ <value>left</value>
727
+ <value>right</value>
728
+ <value>center</value>
729
+ </choice>
730
+ </attribute>
731
+ </optional>
732
+ <optional>
733
+ <attribute name="valign">
734
+ <choice>
735
+ <value>top</value>
736
+ <value>middle</value>
737
+ <value>bottom</value>
738
+ <value>baseline</value>
739
+ </choice>
740
+ </attribute>
741
+ </optional>
742
+ <choice>
743
+ <zeroOrMore>
744
+ <choice>
745
+ <ref name="TextElement"/>
746
+ <ref name="fn"/>
747
+ </choice>
748
+ </zeroOrMore>
749
+ <oneOrMore>
750
+ <ref name="paragraph-with-footnote"/>
751
+ </oneOrMore>
752
+ </choice>
753
+ </element>
754
+ </define>
755
+ <define name="table-note">
756
+ <element name="note">
757
+ <optional>
758
+ <attribute name="id">
759
+ <data type="ID"/>
760
+ </attribute>
761
+ </optional>
762
+ <ref name="paragraph"/>
763
+ </element>
764
+ </define>
765
+ </include>
766
+ <!-- end overrides -->
767
+ <define name="TextElement" combine="choice">
768
+ <ref name="concept"/>
769
+ </define>
770
+ <define name="concept">
771
+ <element name="concept">
772
+ <optional>
773
+ <attribute name="term"/>
774
+ </optional>
775
+ <choice>
776
+ <ref name="eref"/>
777
+ <ref name="xref"/>
778
+ <ref name="termref"/>
779
+ </choice>
780
+ </element>
781
+ </define>
782
+ <define name="BasicBlock" combine="choice">
783
+ <choice>
784
+ <ref name="requirement"/>
785
+ <ref name="recommendation"/>
786
+ <ref name="permission"/>
787
+ </choice>
788
+ </define>
789
+ <define name="bibliography">
790
+ <element name="bibliography">
791
+ <oneOrMore>
792
+ <choice>
793
+ <ref name="references"/>
794
+ <ref name="reference-clause"/>
795
+ </choice>
796
+ </oneOrMore>
797
+ </element>
798
+ </define>
799
+ <define name="reference-clause">
800
+ <element name="clause">
801
+ <optional>
802
+ <attribute name="id">
803
+ <data type="ID"/>
804
+ </attribute>
805
+ </optional>
806
+ <optional>
807
+ <attribute name="language"/>
808
+ </optional>
809
+ <optional>
810
+ <attribute name="script"/>
811
+ </optional>
812
+ <optional>
813
+ <attribute name="inline-header">
814
+ <data type="boolean"/>
815
+ </attribute>
816
+ </optional>
817
+ <optional>
818
+ <attribute name="obligation">
819
+ <choice>
820
+ <value>normative</value>
821
+ <value>informative</value>
822
+ </choice>
823
+ </attribute>
824
+ </optional>
825
+ <optional>
826
+ <ref name="section-title"/>
827
+ </optional>
828
+ <zeroOrMore>
829
+ <ref name="BasicBlock"/>
830
+ </zeroOrMore>
831
+ <zeroOrMore>
832
+ <ref name="note"/>
833
+ </zeroOrMore>
834
+ <choice>
835
+ <oneOrMore>
836
+ <ref name="reference-clause"/>
837
+ </oneOrMore>
838
+ <zeroOrMore>
839
+ <ref name="references"/>
840
+ </zeroOrMore>
841
+ </choice>
842
+ </element>
843
+ </define>
844
+ <define name="editorialgroup">
845
+ <element name="editorialgroup">
846
+ <oneOrMore>
847
+ <ref name="technical-committee"/>
848
+ </oneOrMore>
849
+ </element>
850
+ </define>
851
+ <define name="technical-committee">
852
+ <element name="technical-committee">
853
+ <ref name="IsoWorkgroup"/>
854
+ </element>
855
+ </define>
856
+ <define name="IsoWorkgroup">
857
+ <optional>
858
+ <attribute name="number">
859
+ <data type="int"/>
860
+ </attribute>
861
+ </optional>
862
+ <optional>
863
+ <attribute name="type"/>
864
+ </optional>
865
+ <text/>
866
+ </define>
867
+ <define name="ics">
868
+ <element name="ics">
869
+ <element name="code">
870
+ <text/>
871
+ </element>
872
+ <element name="text">
873
+ <text/>
874
+ </element>
875
+ </element>
876
+ </define>
877
+ <define name="standard-document">
878
+ <element name="standard-document">
879
+ <attribute name="version"/>
880
+ <attribute name="type">
881
+ <choice>
882
+ <value>semantic</value>
883
+ <value>presentation</value>
884
+ </choice>
885
+ </attribute>
886
+ <ref name="bibdata"/>
887
+ <optional>
888
+ <ref name="boilerplate"/>
889
+ </optional>
890
+ <optional>
891
+ <ref name="preface"/>
892
+ </optional>
893
+ <ref name="sections"/>
894
+ <zeroOrMore>
895
+ <ref name="annex"/>
896
+ </zeroOrMore>
897
+ <zeroOrMore>
898
+ <ref name="references"/>
899
+ </zeroOrMore>
900
+ </element>
901
+ </define>
902
+ <define name="preface">
903
+ <element name="preface">
904
+ <oneOrMore>
905
+ <choice>
906
+ <ref name="content"/>
907
+ <ref name="abstract"/>
908
+ <ref name="foreword"/>
909
+ <ref name="introduction"/>
910
+ <ref name="acknowledgements"/>
911
+ </choice>
912
+ </oneOrMore>
913
+ </element>
914
+ </define>
915
+ <define name="foreword">
916
+ <element name="foreword">
917
+ <ref name="Content-Section"/>
918
+ </element>
919
+ </define>
920
+ <define name="introduction">
921
+ <element name="introduction">
922
+ <ref name="Content-Section"/>
923
+ </element>
924
+ </define>
925
+ <define name="boilerplate">
926
+ <element name="boilerplate">
927
+ <optional>
928
+ <ref name="copyright-statement"/>
929
+ </optional>
930
+ <optional>
931
+ <ref name="license-statement"/>
932
+ </optional>
933
+ <optional>
934
+ <ref name="legal-statement"/>
935
+ </optional>
936
+ <optional>
937
+ <ref name="feedback-statement"/>
938
+ </optional>
939
+ </element>
940
+ </define>
941
+ <define name="copyright-statement">
942
+ <element name="copyright-statement">
943
+ <ref name="Content-Section"/>
944
+ </element>
945
+ </define>
946
+ <define name="license-statement">
947
+ <element name="license-statement">
948
+ <ref name="Content-Section"/>
949
+ </element>
950
+ </define>
951
+ <define name="legal-statement">
952
+ <element name="legal-statement">
953
+ <ref name="Content-Section"/>
954
+ </element>
955
+ </define>
956
+ <define name="feedback-statement">
957
+ <element name="feedback-statement">
958
+ <ref name="Content-Section"/>
959
+ </element>
960
+ </define>
961
+ <define name="definitions">
962
+ <element name="definitions">
963
+ <optional>
964
+ <attribute name="id">
965
+ <data type="ID"/>
966
+ </attribute>
967
+ </optional>
968
+ <optional>
969
+ <attribute name="language"/>
970
+ </optional>
971
+ <optional>
972
+ <attribute name="script"/>
973
+ </optional>
974
+ <optional>
975
+ <attribute name="type"/>
976
+ </optional>
977
+ <optional>
978
+ <attribute name="obligation">
979
+ <choice>
980
+ <value>normative</value>
981
+ <value>informative</value>
982
+ </choice>
983
+ </attribute>
984
+ </optional>
985
+ <optional>
986
+ <ref name="section-title"/>
987
+ </optional>
988
+ <oneOrMore>
989
+ <zeroOrMore>
990
+ <ref name="BasicBlock"/>
991
+ </zeroOrMore>
992
+ <zeroOrMore>
993
+ <ref name="note"/>
994
+ </zeroOrMore>
995
+ <ref name="dl"/>
996
+ </oneOrMore>
997
+ </element>
998
+ </define>
999
+ <define name="content">
1000
+ <element name="clause">
1001
+ <ref name="Content-Section"/>
1002
+ </element>
1003
+ </define>
1004
+ <define name="abstract">
1005
+ <element name="abstract">
1006
+ <ref name="Content-Section"/>
1007
+ </element>
1008
+ </define>
1009
+ <define name="acknowledgements">
1010
+ <element name="acknowledgements">
1011
+ <ref name="Content-Section"/>
1012
+ </element>
1013
+ </define>
1014
+ <define name="content-subsection">
1015
+ <element name="clause">
1016
+ <ref name="Content-Section"/>
1017
+ </element>
1018
+ </define>
1019
+ <define name="Content-Section">
1020
+ <optional>
1021
+ <attribute name="id">
1022
+ <data type="ID"/>
1023
+ </attribute>
1024
+ </optional>
1025
+ <optional>
1026
+ <attribute name="language"/>
1027
+ </optional>
1028
+ <optional>
1029
+ <attribute name="script"/>
1030
+ </optional>
1031
+ <optional>
1032
+ <attribute name="inline-header">
1033
+ <data type="boolean"/>
1034
+ </attribute>
1035
+ </optional>
1036
+ <optional>
1037
+ <attribute name="obligation">
1038
+ <choice>
1039
+ <value>normative</value>
1040
+ <value>informative</value>
1041
+ </choice>
1042
+ </attribute>
1043
+ </optional>
1044
+ <optional>
1045
+ <attribute name="type"/>
1046
+ </optional>
1047
+ <optional>
1048
+ <ref name="section-title"/>
1049
+ </optional>
1050
+ <group>
1051
+ <group>
1052
+ <zeroOrMore>
1053
+ <ref name="BasicBlock"/>
1054
+ </zeroOrMore>
1055
+ <zeroOrMore>
1056
+ <ref name="note"/>
1057
+ </zeroOrMore>
1058
+ </group>
1059
+ <zeroOrMore>
1060
+ <ref name="content-subsection"/>
1061
+ </zeroOrMore>
1062
+ </group>
1063
+ </define>
1064
+ <define name="clause">
1065
+ <element name="clause">
1066
+ <ref name="Clause-Section"/>
1067
+ </element>
1068
+ </define>
1069
+ <define name="Clause-Section">
1070
+ <optional>
1071
+ <attribute name="id">
1072
+ <data type="ID"/>
1073
+ </attribute>
1074
+ </optional>
1075
+ <optional>
1076
+ <attribute name="language"/>
1077
+ </optional>
1078
+ <optional>
1079
+ <attribute name="script"/>
1080
+ </optional>
1081
+ <optional>
1082
+ <attribute name="inline-header">
1083
+ <data type="boolean"/>
1084
+ </attribute>
1085
+ </optional>
1086
+ <optional>
1087
+ <attribute name="obligation">
1088
+ <choice>
1089
+ <value>normative</value>
1090
+ <value>informative</value>
1091
+ </choice>
1092
+ </attribute>
1093
+ </optional>
1094
+ <optional>
1095
+ <attribute name="type"/>
1096
+ </optional>
1097
+ <optional>
1098
+ <ref name="section-title"/>
1099
+ </optional>
1100
+ <group>
1101
+ <choice>
1102
+ <group>
1103
+ <zeroOrMore>
1104
+ <ref name="BasicBlock"/>
1105
+ </zeroOrMore>
1106
+ <zeroOrMore>
1107
+ <ref name="note"/>
1108
+ </zeroOrMore>
1109
+ </group>
1110
+ <ref name="amend"/>
1111
+ </choice>
1112
+ <zeroOrMore>
1113
+ <choice>
1114
+ <ref name="clause-subsection"/>
1115
+ <ref name="terms"/>
1116
+ <ref name="definitions"/>
1117
+ </choice>
1118
+ </zeroOrMore>
1119
+ </group>
1120
+ </define>
1121
+ <define name="Annex-Section">
1122
+ <optional>
1123
+ <attribute name="id">
1124
+ <data type="ID"/>
1125
+ </attribute>
1126
+ </optional>
1127
+ <optional>
1128
+ <attribute name="language"/>
1129
+ </optional>
1130
+ <optional>
1131
+ <attribute name="script"/>
1132
+ </optional>
1133
+ <optional>
1134
+ <attribute name="inline-header">
1135
+ <data type="boolean"/>
1136
+ </attribute>
1137
+ </optional>
1138
+ <optional>
1139
+ <attribute name="obligation">
1140
+ <choice>
1141
+ <value>normative</value>
1142
+ <value>informative</value>
1143
+ </choice>
1144
+ </attribute>
1145
+ </optional>
1146
+ <optional>
1147
+ <ref name="section-title"/>
1148
+ </optional>
1149
+ <group>
1150
+ <group>
1151
+ <zeroOrMore>
1152
+ <ref name="BasicBlock"/>
1153
+ </zeroOrMore>
1154
+ <zeroOrMore>
1155
+ <ref name="note"/>
1156
+ </zeroOrMore>
1157
+ </group>
1158
+ <zeroOrMore>
1159
+ <choice>
1160
+ <ref name="annex-subsection"/>
1161
+ <ref name="terms"/>
1162
+ <ref name="definitions"/>
1163
+ <ref name="references"/>
1164
+ </choice>
1165
+ </zeroOrMore>
1166
+ </group>
1167
+ </define>
1168
+ <define name="clause-subsection">
1169
+ <element name="clause">
1170
+ <ref name="Clause-Section"/>
1171
+ </element>
1172
+ </define>
1173
+ <define name="annex-subsection">
1174
+ <element name="clause">
1175
+ <ref name="Annex-Section"/>
1176
+ </element>
1177
+ </define>
1178
+ <define name="annex">
1179
+ <element name="annex">
1180
+ <ref name="Annex-Section"/>
1181
+ </element>
1182
+ </define>
1183
+ <define name="terms">
1184
+ <element name="terms">
1185
+ <optional>
1186
+ <attribute name="id">
1187
+ <data type="ID"/>
1188
+ </attribute>
1189
+ </optional>
1190
+ <optional>
1191
+ <attribute name="language"/>
1192
+ </optional>
1193
+ <optional>
1194
+ <attribute name="script"/>
1195
+ </optional>
1196
+ <optional>
1197
+ <attribute name="type"/>
1198
+ </optional>
1199
+ <optional>
1200
+ <attribute name="obligation">
1201
+ <choice>
1202
+ <value>normative</value>
1203
+ <value>informative</value>
1204
+ </choice>
1205
+ </attribute>
1206
+ </optional>
1207
+ <optional>
1208
+ <ref name="section-title"/>
1209
+ </optional>
1210
+ <zeroOrMore>
1211
+ <ref name="BasicBlock"/>
1212
+ </zeroOrMore>
1213
+ <zeroOrMore>
1214
+ <ref name="note"/>
1215
+ </zeroOrMore>
1216
+ <choice>
1217
+ <oneOrMore>
1218
+ <ref name="term"/>
1219
+ </oneOrMore>
1220
+ <group>
1221
+ <zeroOrMore>
1222
+ <ref name="terms"/>
1223
+ </zeroOrMore>
1224
+ <optional>
1225
+ <ref name="definitions"/>
1226
+ </optional>
1227
+ </group>
1228
+ </choice>
1229
+ </element>
1230
+ </define>
1231
+ <define name="term">
1232
+ <element name="term">
1233
+ <optional>
1234
+ <attribute name="id">
1235
+ <data type="ID"/>
1236
+ </attribute>
1237
+ </optional>
1238
+ <oneOrMore>
1239
+ <ref name="preferred"/>
1240
+ </oneOrMore>
1241
+ <zeroOrMore>
1242
+ <ref name="admitted"/>
1243
+ </zeroOrMore>
1244
+ <zeroOrMore>
1245
+ <ref name="related"/>
1246
+ </zeroOrMore>
1247
+ <zeroOrMore>
1248
+ <ref name="deprecates"/>
1249
+ </zeroOrMore>
1250
+ <optional>
1251
+ <ref name="termdomain"/>
1252
+ </optional>
1253
+ <zeroOrMore>
1254
+ <ref name="termgrammar"/>
1255
+ </zeroOrMore>
1256
+ <ref name="definition"/>
1257
+ <zeroOrMore>
1258
+ <ref name="termnote"/>
1259
+ </zeroOrMore>
1260
+ <zeroOrMore>
1261
+ <ref name="termexample"/>
1262
+ </zeroOrMore>
1263
+ <zeroOrMore>
1264
+ <ref name="termsource"/>
1265
+ </zeroOrMore>
1266
+ </element>
1267
+ </define>
1268
+ <define name="preferred">
1269
+ <element name="preferred">
1270
+ <oneOrMore>
1271
+ <ref name="TextElement"/>
1272
+ </oneOrMore>
1273
+ </element>
1274
+ </define>
1275
+ <define name="admitted">
1276
+ <element name="admitted">
1277
+ <oneOrMore>
1278
+ <ref name="TextElement"/>
1279
+ </oneOrMore>
1280
+ </element>
1281
+ </define>
1282
+ <define name="related">
1283
+ <element name="related">
1284
+ <optional>
1285
+ <attribute name="type">
1286
+ <choice>
1287
+ <value>compare</value>
1288
+ <value>contrast</value>
1289
+ <value>see</value>
1290
+ </choice>
1291
+ </attribute>
1292
+ </optional>
1293
+ <oneOrMore>
1294
+ <ref name="TextElement"/>
1295
+ </oneOrMore>
1296
+ </element>
1297
+ </define>
1298
+ <define name="deprecates">
1299
+ <element name="deprecates">
1300
+ <oneOrMore>
1301
+ <ref name="TextElement"/>
1302
+ </oneOrMore>
1303
+ </element>
1304
+ </define>
1305
+ <define name="termdomain">
1306
+ <element name="domain">
1307
+ <oneOrMore>
1308
+ <ref name="TextElement"/>
1309
+ </oneOrMore>
1310
+ </element>
1311
+ </define>
1312
+ <define name="termgrammar">
1313
+ <element name="grammar">
1314
+ <oneOrMore>
1315
+ <ref name="TextElement"/>
1316
+ </oneOrMore>
1317
+ </element>
1318
+ </define>
1319
+ <define name="definition">
1320
+ <element name="definition">
1321
+ <oneOrMore>
1322
+ <choice>
1323
+ <ref name="paragraph"/>
1324
+ <ref name="figure"/>
1325
+ <ref name="formula"/>
1326
+ </choice>
1327
+ </oneOrMore>
1328
+ </element>
1329
+ </define>
1330
+ <define name="termnote">
1331
+ <element name="termnote">
1332
+ <attribute name="id">
1333
+ <data type="ID"/>
1334
+ </attribute>
1335
+ <optional>
1336
+ <attribute name="unnumbered">
1337
+ <data type="boolean"/>
1338
+ </attribute>
1339
+ </optional>
1340
+ <optional>
1341
+ <attribute name="number"/>
1342
+ </optional>
1343
+ <optional>
1344
+ <attribute name="subsequence"/>
1345
+ </optional>
1346
+ <optional>
1347
+ <attribute name="keep-with-next">
1348
+ <data type="boolean"/>
1349
+ </attribute>
1350
+ </optional>
1351
+ <optional>
1352
+ <attribute name="keep-lines-together">
1353
+ <data type="boolean"/>
1354
+ </attribute>
1355
+ </optional>
1356
+ <oneOrMore>
1357
+ <choice>
1358
+ <ref name="paragraph"/>
1359
+ <ref name="ul"/>
1360
+ <ref name="ol"/>
1361
+ <ref name="dl"/>
1362
+ <ref name="formula"/>
1363
+ </choice>
1364
+ </oneOrMore>
1365
+ </element>
1366
+ </define>
1367
+ <define name="termexample">
1368
+ <element name="termexample">
1369
+ <attribute name="id">
1370
+ <data type="ID"/>
1371
+ </attribute>
1372
+ <ref name="paragraph"/>
1373
+ </element>
1374
+ </define>
1375
+ <define name="termsource">
1376
+ <element name="termsource">
1377
+ <attribute name="status">
1378
+ <choice>
1379
+ <value>identical</value>
1380
+ <value>modified</value>
1381
+ </choice>
1382
+ </attribute>
1383
+ <ref name="origin"/>
1384
+ <optional>
1385
+ <ref name="modification"/>
1386
+ </optional>
1387
+ </element>
1388
+ </define>
1389
+ <define name="origin">
1390
+ <element name="origin">
1391
+ <choice>
1392
+ <ref name="erefType"/>
1393
+ <ref name="termref"/>
1394
+ </choice>
1395
+ </element>
1396
+ </define>
1397
+ <define name="modification">
1398
+ <element name="modification">
1399
+ <ref name="paragraph"/>
1400
+ </element>
1401
+ </define>
1402
+ <define name="termref">
1403
+ <element name="termref">
1404
+ <attribute name="base"/>
1405
+ <attribute name="target"/>
1406
+ <optional>
1407
+ <text/>
1408
+ </optional>
1409
+ </element>
1410
+ </define>
1411
+ <define name="structuredidentifier">
1412
+ <element name="structuredidentifier">
1413
+ <optional>
1414
+ <attribute name="type"/>
1415
+ </optional>
1416
+ <oneOrMore>
1417
+ <element name="agency">
1418
+ <text/>
1419
+ </element>
1420
+ </oneOrMore>
1421
+ <optional>
1422
+ <element name="class">
1423
+ <text/>
1424
+ </element>
1425
+ </optional>
1426
+ <element name="docnumber">
1427
+ <text/>
1428
+ </element>
1429
+ <optional>
1430
+ <element name="partnumber">
1431
+ <text/>
1432
+ </element>
1433
+ </optional>
1434
+ <optional>
1435
+ <element name="edition">
1436
+ <text/>
1437
+ </element>
1438
+ </optional>
1439
+ <optional>
1440
+ <element name="version">
1441
+ <text/>
1442
+ </element>
1443
+ </optional>
1444
+ <optional>
1445
+ <element name="supplementtype">
1446
+ <text/>
1447
+ </element>
1448
+ </optional>
1449
+ <optional>
1450
+ <element name="supplementnumber">
1451
+ <text/>
1452
+ </element>
1453
+ </optional>
1454
+ <optional>
1455
+ <element name="language">
1456
+ <text/>
1457
+ </element>
1458
+ </optional>
1459
+ <optional>
1460
+ <element name="year">
1461
+ <text/>
1462
+ </element>
1463
+ </optional>
1464
+ </element>
1465
+ </define>
1466
+ <define name="term-clause">
1467
+ <element name="clause">
1468
+ <optional>
1469
+ <attribute name="id">
1470
+ <data type="ID"/>
1471
+ </attribute>
1472
+ </optional>
1473
+ <optional>
1474
+ <attribute name="language"/>
1475
+ </optional>
1476
+ <optional>
1477
+ <attribute name="script"/>
1478
+ </optional>
1479
+ <optional>
1480
+ <attribute name="inline-header">
1481
+ <data type="boolean"/>
1482
+ </attribute>
1483
+ </optional>
1484
+ <optional>
1485
+ <attribute name="obligation">
1486
+ <choice>
1487
+ <value>normative</value>
1488
+ <value>informative</value>
1489
+ </choice>
1490
+ </attribute>
1491
+ </optional>
1492
+ <optional>
1493
+ <ref name="section-title"/>
1494
+ </optional>
1495
+ <zeroOrMore>
1496
+ <ref name="BasicBlock"/>
1497
+ </zeroOrMore>
1498
+ <zeroOrMore>
1499
+ <ref name="note"/>
1500
+ </zeroOrMore>
1501
+ <zeroOrMore>
1502
+ <choice>
1503
+ <ref name="term-clause"/>
1504
+ <ref name="terms"/>
1505
+ <ref name="definitions"/>
1506
+ </choice>
1507
+ </zeroOrMore>
1508
+ </element>
1509
+ </define>
1510
+ <define name="termdocsource">
1511
+ <element name="termdocsource">
1512
+ <ref name="CitationType"/>
1513
+ </element>
1514
+ </define>
1515
+ <define name="amend">
1516
+ <element name="amend">
1517
+ <optional>
1518
+ <attribute name="id">
1519
+ <data type="ID"/>
1520
+ </attribute>
1521
+ </optional>
1522
+ <attribute name="change">
1523
+ <choice>
1524
+ <value>add</value>
1525
+ <value>modify</value>
1526
+ <value>delete</value>
1527
+ </choice>
1528
+ </attribute>
1529
+ <optional>
1530
+ <attribute name="path"/>
1531
+ </optional>
1532
+ <optional>
1533
+ <attribute name="path_end"/>
1534
+ </optional>
1535
+ <optional>
1536
+ <attribute name="title"/>
1537
+ </optional>
1538
+ <optional>
1539
+ <element name="location">
1540
+ <zeroOrMore>
1541
+ <ref name="locality"/>
1542
+ </zeroOrMore>
1543
+ </element>
1544
+ </optional>
1545
+ <zeroOrMore>
1546
+ <ref name="autonumber"/>
1547
+ </zeroOrMore>
1548
+ <optional>
1549
+ <element name="description">
1550
+ <zeroOrMore>
1551
+ <ref name="BasicBlock"/>
1552
+ </zeroOrMore>
1553
+ </element>
1554
+ </optional>
1555
+ <optional>
1556
+ <element name="newcontent">
1557
+ <zeroOrMore>
1558
+ <ref name="BasicBlock"/>
1559
+ </zeroOrMore>
1560
+ </element>
1561
+ </optional>
1562
+ <optional>
1563
+ <element name="description">
1564
+ <zeroOrMore>
1565
+ <ref name="BasicBlock"/>
1566
+ </zeroOrMore>
1567
+ </element>
1568
+ </optional>
1569
+ </element>
1570
+ </define>
1571
+ <define name="autonumber">
1572
+ <element name="autonumber">
1573
+ <attribute name="type">
1574
+ <choice>
1575
+ <value>requirement</value>
1576
+ <value>recommendation</value>
1577
+ <value>permission</value>
1578
+ <value>table</value>
1579
+ <value>figure</value>
1580
+ <value>admonition</value>
1581
+ <value>formula</value>
1582
+ <value>sourcecode</value>
1583
+ <value>example</value>
1584
+ <value>note</value>
1585
+ </choice>
1586
+ </attribute>
1587
+ <text/>
1588
+ </element>
1589
+ </define>
1590
+ </grammar>