metanorma-iec 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -73,6 +73,9 @@
73
73
  <define name="edition">
74
74
  <a:documentation>ISO-15924: Latn</a:documentation>
75
75
  <element name="edition">
76
+ <optional>
77
+ <attribute name="number"/>
78
+ </optional>
76
79
  <text/>
77
80
  </element>
78
81
  </define>
@@ -184,29 +187,35 @@
184
187
  </define>
185
188
  <define name="fullname">
186
189
  <element name="name">
187
- <choice>
188
- <group>
189
- <zeroOrMore>
190
- <ref name="prefix"/>
191
- </zeroOrMore>
192
- <zeroOrMore>
193
- <ref name="forename"/>
194
- </zeroOrMore>
195
- <zeroOrMore>
196
- <ref name="initial"/>
197
- </zeroOrMore>
198
- <ref name="surname"/>
199
- <zeroOrMore>
200
- <ref name="addition"/>
201
- </zeroOrMore>
202
- </group>
203
- <ref name="completeName"/>
204
- </choice>
205
- <zeroOrMore>
206
- <ref name="biblionote"/>
207
- </zeroOrMore>
190
+ <ref name="FullNameType"/>
208
191
  </element>
209
192
  </define>
193
+ <define name="FullNameType">
194
+ <choice>
195
+ <group>
196
+ <zeroOrMore>
197
+ <ref name="prefix"/>
198
+ </zeroOrMore>
199
+ <zeroOrMore>
200
+ <ref name="forename"/>
201
+ </zeroOrMore>
202
+ <zeroOrMore>
203
+ <ref name="initial"/>
204
+ </zeroOrMore>
205
+ <ref name="surname"/>
206
+ <zeroOrMore>
207
+ <ref name="addition"/>
208
+ </zeroOrMore>
209
+ </group>
210
+ <ref name="completeName"/>
211
+ </choice>
212
+ <zeroOrMore>
213
+ <ref name="biblionote"/>
214
+ </zeroOrMore>
215
+ <zeroOrMore>
216
+ <ref name="variantname"/>
217
+ </zeroOrMore>
218
+ </define>
210
219
  <define name="prefix">
211
220
  <element name="prefix">
212
221
  <ref name="LocalizedString"/>
@@ -237,6 +246,12 @@
237
246
  <ref name="LocalizedString"/>
238
247
  </element>
239
248
  </define>
249
+ <define name="variantname">
250
+ <element name="variant">
251
+ <attribute name="type"/>
252
+ <ref name="FullNameType"/>
253
+ </element>
254
+ </define>
240
255
  <define name="affiliation">
241
256
  <element name="affiliation">
242
257
  <optional>
@@ -280,13 +295,40 @@
280
295
  </define>
281
296
  <define name="orgname">
282
297
  <element name="name">
283
- <ref name="LocalizedString"/>
298
+ <choice>
299
+ <ref name="LocalizedString"/>
300
+ <ref name="NameWithVariants"/>
301
+ </choice>
284
302
  </element>
285
303
  </define>
286
304
  <define name="subdivision">
287
305
  <element name="subdivision">
306
+ <choice>
307
+ <ref name="LocalizedString"/>
308
+ <ref name="NameWithVariants"/>
309
+ </choice>
310
+ </element>
311
+ </define>
312
+ <define name="NameWithVariants">
313
+ <element name="primary">
314
+ <ref name="LocalizedString"/>
315
+ </element>
316
+ <zeroOrMore>
317
+ <element name="variant">
318
+ <ref name="NameWithVariants1"/>
319
+ </element>
320
+ </zeroOrMore>
321
+ </define>
322
+ <define name="NameWithVariants1">
323
+ <attribute name="type"/>
324
+ <element name="primary">
288
325
  <ref name="LocalizedString"/>
289
326
  </element>
327
+ <zeroOrMore>
328
+ <element name="variant">
329
+ <ref name="NameWithVariants1"/>
330
+ </element>
331
+ </zeroOrMore>
290
332
  </define>
291
333
  <define name="abbreviation">
292
334
  <element name="abbreviation">
@@ -423,14 +465,16 @@
423
465
  <attribute name="type">
424
466
  <ref name="LocalityType"/>
425
467
  </attribute>
426
- <ref name="referenceFrom"/>
468
+ <optional>
469
+ <ref name="referenceFrom"/>
470
+ </optional>
427
471
  <optional>
428
472
  <ref name="referenceTo"/>
429
473
  </optional>
430
474
  </define>
431
475
  <define name="LocalityType">
432
476
  <data type="string">
433
- <param name="pattern">section|clause|part|paragraph|chapter|page|whole|table|annex|figure|note|list|example|volume|issue|locality:[a-zA-Z0-9_]+</param>
477
+ <param name="pattern">section|clause|part|paragraph|chapter|page|whole|table|annex|figure|note|list|example|volume|issue|time|locality:[a-zA-Z0-9_]+</param>
434
478
  </data>
435
479
  </define>
436
480
  <define name="referenceFrom">
@@ -476,7 +520,6 @@
476
520
  <value>article</value>
477
521
  <value>book</value>
478
522
  <value>booklet</value>
479
- <value>conference</value>
480
523
  <value>manual</value>
481
524
  <value>proceedings</value>
482
525
  <value>presentation</value>
@@ -490,6 +533,7 @@
490
533
  <value>film</value>
491
534
  <value>video</value>
492
535
  <value>broadcast</value>
536
+ <value>software</value>
493
537
  <value>graphic_work</value>
494
538
  <value>music</value>
495
539
  <value>patent</value>
@@ -497,6 +541,15 @@
497
541
  <value>incollection</value>
498
542
  <value>inproceedings</value>
499
543
  <value>journal</value>
544
+ <value>website</value>
545
+ <value>webresource</value>
546
+ <value>dataset</value>
547
+ <value>archival</value>
548
+ <value>social_media</value>
549
+ <value>alert</value>
550
+ <value>message</value>
551
+ <value>conversation</value>
552
+ <value>misc</value>
500
553
  </choice>
501
554
  </define>
502
555
  <define name="BibliographicItem">
@@ -545,7 +598,7 @@
545
598
  <ref name="script"/>
546
599
  </zeroOrMore>
547
600
  <zeroOrMore>
548
- <ref name="abstract"/>
601
+ <ref name="bibabstract"/>
549
602
  </zeroOrMore>
550
603
  <optional>
551
604
  <ref name="status"/>
@@ -565,15 +618,24 @@
565
618
  <zeroOrMore>
566
619
  <ref name="bplace"/>
567
620
  </zeroOrMore>
621
+ <zeroOrMore>
622
+ <ref name="bprice"/>
623
+ </zeroOrMore>
568
624
  <zeroOrMore>
569
625
  <ref name="extent"/>
570
626
  </zeroOrMore>
571
627
  <zeroOrMore>
572
628
  <ref name="accesslocation"/>
573
629
  </zeroOrMore>
630
+ <zeroOrMore>
631
+ <ref name="license"/>
632
+ </zeroOrMore>
574
633
  <optional>
575
634
  <ref name="bclassification"/>
576
635
  </optional>
636
+ <zeroOrMore>
637
+ <ref name="bkeyword"/>
638
+ </zeroOrMore>
577
639
  <optional>
578
640
  <ref name="validity"/>
579
641
  </optional>
@@ -593,6 +655,11 @@
593
655
  <ref name="FormattedString"/>
594
656
  </element>
595
657
  </define>
658
+ <define name="license">
659
+ <element name="license">
660
+ <text/>
661
+ </element>
662
+ </define>
596
663
  <define name="fetched">
597
664
  <element name="fetched">
598
665
  <ref name="ISO8601DateTime"/>
@@ -671,6 +738,7 @@
671
738
  <value>copied</value>
672
739
  <value>unchanged</value>
673
740
  <value>circulated</value>
741
+ <value>adapted</value>
674
742
  </choice>
675
743
  </define>
676
744
  <define name="bdate">
@@ -681,21 +749,26 @@
681
749
  <text/>
682
750
  </choice>
683
751
  </attribute>
684
- <choice>
685
- <group>
686
- <element name="from">
687
- <ref name="ISO8601Date"/>
688
- </element>
689
- <optional>
690
- <element name="to">
752
+ <optional>
753
+ <attribute name="text"/>
754
+ </optional>
755
+ <optional>
756
+ <choice>
757
+ <group>
758
+ <element name="from">
691
759
  <ref name="ISO8601Date"/>
692
760
  </element>
693
- </optional>
694
- </group>
695
- <element name="on">
696
- <ref name="ISO8601Date"/>
697
- </element>
698
- </choice>
761
+ <optional>
762
+ <element name="to">
763
+ <ref name="ISO8601Date"/>
764
+ </element>
765
+ </optional>
766
+ </group>
767
+ <element name="on">
768
+ <ref name="ISO8601Date"/>
769
+ </element>
770
+ </choice>
771
+ </optional>
699
772
  </element>
700
773
  </define>
701
774
  <define name="docidentifier">
@@ -703,6 +776,9 @@
703
776
  <optional>
704
777
  <attribute name="type"/>
705
778
  </optional>
779
+ <optional>
780
+ <attribute name="scope"/>
781
+ </optional>
706
782
  <text/>
707
783
  </element>
708
784
  </define>
@@ -721,14 +797,37 @@
721
797
  </define>
722
798
  <define name="bplace">
723
799
  <element name="place">
800
+ <optional>
801
+ <attribute name="uri">
802
+ <data type="anyURI"/>
803
+ </attribute>
804
+ </optional>
805
+ <optional>
806
+ <attribute name="region"/>
807
+ </optional>
808
+ <text/>
809
+ </element>
810
+ </define>
811
+ <define name="bprice">
812
+ <element name="price">
813
+ <attribute name="currency"/>
724
814
  <text/>
725
815
  </element>
726
816
  </define>
727
817
  <define name="medium">
728
818
  <element name="medium">
819
+ <optional>
820
+ <ref name="bcontent"/>
821
+ </optional>
822
+ <optional>
823
+ <ref name="genre"/>
824
+ </optional>
729
825
  <optional>
730
826
  <ref name="form"/>
731
827
  </optional>
828
+ <optional>
829
+ <ref name="carrier"/>
830
+ </optional>
732
831
  <optional>
733
832
  <ref name="size"/>
734
833
  </optional>
@@ -737,11 +836,26 @@
737
836
  </optional>
738
837
  </element>
739
838
  </define>
839
+ <define name="bcontent">
840
+ <element name="content">
841
+ <text/>
842
+ </element>
843
+ </define>
844
+ <define name="genre">
845
+ <element name="genre">
846
+ <text/>
847
+ </element>
848
+ </define>
740
849
  <define name="form">
741
850
  <element name="form">
742
851
  <text/>
743
852
  </element>
744
853
  </define>
854
+ <define name="carrier">
855
+ <element name="carrier">
856
+ <text/>
857
+ </element>
858
+ </define>
745
859
  <define name="size">
746
860
  <element name="size">
747
861
  <text/>
@@ -794,6 +908,9 @@
794
908
  <optional>
795
909
  <ref name="seriespartnumber"/>
796
910
  </optional>
911
+ <optional>
912
+ <ref name="seriesrun"/>
913
+ </optional>
797
914
  </group>
798
915
  </choice>
799
916
  </element>
@@ -829,6 +946,11 @@
829
946
  <text/>
830
947
  </element>
831
948
  </define>
949
+ <define name="seriesrun">
950
+ <element name="run">
951
+ <text/>
952
+ </element>
953
+ </define>
832
954
  <define name="biblionote">
833
955
  <element name="note">
834
956
  <optional>
@@ -837,7 +959,7 @@
837
959
  <ref name="FormattedString"/>
838
960
  </element>
839
961
  </define>
840
- <define name="abstract">
962
+ <define name="bibabstract">
841
963
  <element name="abstract">
842
964
  <ref name="FormattedString"/>
843
965
  </element>
@@ -869,11 +991,15 @@
869
991
  <define name="DocRelationType">
870
992
  <choice>
871
993
  <value>obsoletes</value>
994
+ <value>obsoletedBy</value>
995
+ <value>supersedes</value>
996
+ <value>supersededBy</value>
872
997
  <value>updates</value>
873
998
  <value>updatedBy</value>
874
999
  <value>complements</value>
875
1000
  <value>derivedFrom</value>
876
1001
  <value>translatedFrom</value>
1002
+ <value>hasTranslation</value>
877
1003
  <value>adoptedFrom</value>
878
1004
  <value>equivalent</value>
879
1005
  <value>identical</value>
@@ -881,8 +1007,19 @@
881
1007
  <value>includedIn</value>
882
1008
  <value>includes</value>
883
1009
  <value>instance</value>
1010
+ <value>instanceOf</value>
884
1011
  <value>partOf</value>
1012
+ <value>hasPart</value>
885
1013
  <value>hasDraft</value>
1014
+ <value>draftOf</value>
1015
+ <value>merges</value>
1016
+ <value>splits</value>
1017
+ <value>amends</value>
1018
+ <value>amendedBy</value>
1019
+ <value>corrects</value>
1020
+ <value>correctedBy</value>
1021
+ <value>revises</value>
1022
+ <value>revisedBy</value>
886
1023
  </choice>
887
1024
  </define>
888
1025
  <define name="docrelation">
@@ -923,6 +1060,51 @@
923
1060
  <text/>
924
1061
  </element>
925
1062
  </define>
1063
+ <define name="bkeyword">
1064
+ <element name="keyword">
1065
+ <choice>
1066
+ <ref name="LocalizedString"/>
1067
+ <group>
1068
+ <element name="vocab">
1069
+ <ref name="LocalizedString"/>
1070
+ </element>
1071
+ <oneOrMore>
1072
+ <ref name="vocabid"/>
1073
+ </oneOrMore>
1074
+ </group>
1075
+ <group>
1076
+ <oneOrMore>
1077
+ <element name="taxon">
1078
+ <ref name="LocalizedString"/>
1079
+ </element>
1080
+ </oneOrMore>
1081
+ <oneOrMore>
1082
+ <ref name="vocabid"/>
1083
+ </oneOrMore>
1084
+ </group>
1085
+ </choice>
1086
+ </element>
1087
+ </define>
1088
+ <define name="vocabid">
1089
+ <element name="vocabid">
1090
+ <attribute name="type"/>
1091
+ <optional>
1092
+ <attribute name="uri">
1093
+ <data type="anyURI"/>
1094
+ </attribute>
1095
+ </optional>
1096
+ <optional>
1097
+ <element name="code">
1098
+ <text/>
1099
+ </element>
1100
+ </optional>
1101
+ <optional>
1102
+ <element name="term">
1103
+ <text/>
1104
+ </element>
1105
+ </optional>
1106
+ </element>
1107
+ </define>
926
1108
  <!--
927
1109
  Anycontents = mixed {
928
1110
  https://github.com/relaxng/jing-trang/issues/211
@@ -19,10 +19,32 @@
19
19
  -->
20
20
  <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
21
21
  <include href="reqt.rng"/>
22
- <include href="biblio.rng"/>
23
- <start>
24
- <ref name="standard-document"/>
25
- </start>
22
+ <!-- include "biblio.rnc" { } -->
23
+ <include href="basicdoc.rng">
24
+ <start>
25
+ <ref name="standard-document"/>
26
+ </start>
27
+ <define name="BibDataExtensionType">
28
+ <ref name="doctype"/>
29
+ <zeroOrMore>
30
+ <ref name="structuredidentifier"/>
31
+ </zeroOrMore>
32
+ </define>
33
+ <define name="TitleType">
34
+ <text/>
35
+ </define>
36
+ <define name="sections">
37
+ <element name="sections">
38
+ <oneOrMore>
39
+ <choice>
40
+ <ref name="clause"/>
41
+ <ref name="terms"/>
42
+ <ref name="definitions"/>
43
+ </choice>
44
+ </oneOrMore>
45
+ </element>
46
+ </define>
47
+ </include>
26
48
  <define name="standard-document">
27
49
  <element name="standard-document">
28
50
  <ref name="bibdata"/>
@@ -41,18 +63,29 @@
41
63
  </zeroOrMore>
42
64
  </element>
43
65
  </define>
44
- <define name="bibdata">
45
- <element name="bibdata">
46
- <ref name="BibData"/>
47
- </element>
48
- </define>
49
66
  <define name="preface">
50
67
  <element name="preface">
51
68
  <oneOrMore>
52
- <ref name="content"/>
69
+ <choice>
70
+ <ref name="content"/>
71
+ <ref name="abstract"/>
72
+ <ref name="foreword"/>
73
+ <ref name="introduction"/>
74
+ <ref name="acknowledgements"/>
75
+ </choice>
53
76
  </oneOrMore>
54
77
  </element>
55
78
  </define>
79
+ <define name="foreword">
80
+ <element name="foreword">
81
+ <ref name="Content-Section"/>
82
+ </element>
83
+ </define>
84
+ <define name="introduction">
85
+ <element name="introduction">
86
+ <ref name="Content-Section"/>
87
+ </element>
88
+ </define>
56
89
  <define name="boilerplate">
57
90
  <element name="boilerplate">
58
91
  <optional>
@@ -89,18 +122,6 @@
89
122
  <ref name="Content-Section"/>
90
123
  </element>
91
124
  </define>
92
- <define name="sections">
93
- <element name="sections">
94
- <oneOrMore>
95
- <choice>
96
- <ref name="content"/>
97
- <ref name="clause"/>
98
- <ref name="terms"/>
99
- <ref name="definitions"/>
100
- </choice>
101
- </oneOrMore>
102
- </element>
103
- </define>
104
125
  <define name="definitions">
105
126
  <element name="definitions">
106
127
  <optional>
@@ -108,59 +129,66 @@
108
129
  <data type="ID"/>
109
130
  </attribute>
110
131
  </optional>
132
+ <optional>
133
+ <attribute name="language"/>
134
+ </optional>
135
+ <optional>
136
+ <attribute name="script"/>
137
+ </optional>
111
138
  <optional>
112
139
  <ref name="section-title"/>
113
140
  </optional>
114
- <ref name="dl"/>
141
+ <oneOrMore>
142
+ <zeroOrMore>
143
+ <ref name="BasicBlock"/>
144
+ </zeroOrMore>
145
+ <ref name="dl"/>
146
+ </oneOrMore>
115
147
  </element>
116
148
  </define>
117
- <define name="section-title">
118
- <element name="title">
119
- <zeroOrMore>
120
- <ref name="TextElement"/>
121
- </zeroOrMore>
149
+ <define name="content">
150
+ <element name="clause">
151
+ <ref name="Content-Section"/>
122
152
  </element>
123
153
  </define>
124
- <define name="content">
125
- <element name="content">
154
+ <define name="abstract">
155
+ <element name="abstract">
156
+ <ref name="Content-Section"/>
157
+ </element>
158
+ </define>
159
+ <define name="acknowledgements">
160
+ <element name="acknowledgements">
126
161
  <ref name="Content-Section"/>
127
162
  </element>
128
163
  </define>
129
164
  <define name="content-subsection">
130
165
  <element name="clause">
166
+ <optional>
167
+ <attribute name="type"/>
168
+ </optional>
131
169
  <ref name="Content-Section"/>
132
170
  </element>
133
171
  </define>
134
- <define name="Basic-Section">
172
+ <define name="Content-Section">
135
173
  <optional>
136
174
  <attribute name="id">
137
175
  <data type="ID"/>
138
176
  </attribute>
139
177
  </optional>
140
178
  <optional>
141
- <ref name="section-title"/>
179
+ <attribute name="language"/>
142
180
  </optional>
143
- <oneOrMore>
144
- <ref name="BasicBlock"/>
145
- </oneOrMore>
146
- <zeroOrMore>
147
- <ref name="note"/>
148
- </zeroOrMore>
149
- </define>
150
- <define name="Content-Section">
151
181
  <optional>
152
- <attribute name="id">
153
- <data type="ID"/>
154
- </attribute>
182
+ <attribute name="script"/>
155
183
  </optional>
156
184
  <optional>
157
185
  <ref name="section-title"/>
158
186
  </optional>
159
187
  <choice>
160
188
  <group>
161
- <oneOrMore>
189
+ <optional>
162
190
  <ref name="BasicBlock"/>
163
- </oneOrMore>
191
+ </optional>
164
192
  <zeroOrMore>
165
193
  <ref name="note"/>
166
194
  </zeroOrMore>
@@ -172,6 +200,9 @@
172
200
  </define>
173
201
  <define name="clause">
174
202
  <element name="clause">
203
+ <optional>
204
+ <attribute name="type"/>
205
+ </optional>
175
206
  <ref name="Clause-Section"/>
176
207
  </element>
177
208
  </define>
@@ -181,14 +212,20 @@
181
212
  <data type="ID"/>
182
213
  </attribute>
183
214
  </optional>
215
+ <optional>
216
+ <attribute name="language"/>
217
+ </optional>
218
+ <optional>
219
+ <attribute name="script"/>
220
+ </optional>
184
221
  <optional>
185
222
  <ref name="section-title"/>
186
223
  </optional>
187
224
  <choice>
188
225
  <group>
189
- <oneOrMore>
226
+ <optional>
190
227
  <ref name="BasicBlock"/>
191
- </oneOrMore>
228
+ </optional>
192
229
  <zeroOrMore>
193
230
  <ref name="note"/>
194
231
  </zeroOrMore>
@@ -210,6 +247,12 @@
210
247
  <data type="ID"/>
211
248
  </attribute>
212
249
  </optional>
250
+ <optional>
251
+ <attribute name="language"/>
252
+ </optional>
253
+ <optional>
254
+ <attribute name="script"/>
255
+ </optional>
213
256
  <attribute name="obligation">
214
257
  <choice>
215
258
  <value>normative</value>
@@ -221,9 +264,9 @@
221
264
  </optional>
222
265
  <choice>
223
266
  <group>
224
- <oneOrMore>
267
+ <optional>
225
268
  <ref name="BasicBlock"/>
226
- </oneOrMore>
269
+ </optional>
227
270
  <zeroOrMore>
228
271
  <ref name="note"/>
229
272
  </zeroOrMore>
@@ -234,28 +277,22 @@
234
277
  </choice>
235
278
  </element>
236
279
  </define>
237
- <define name="references">
238
- <element name="references">
280
+ <define name="terms">
281
+ <element name="terms">
239
282
  <optional>
240
283
  <attribute name="id">
241
284
  <data type="ID"/>
242
285
  </attribute>
243
286
  </optional>
244
287
  <optional>
245
- <ref name="section-title"/>
288
+ <attribute name="language"/>
246
289
  </optional>
247
- <zeroOrMore>
248
- <ref name="bibitem"/>
249
- </zeroOrMore>
250
- </element>
251
- </define>
252
- <define name="terms">
253
- <element name="terms">
254
290
  <optional>
255
- <attribute name="id">
256
- <data type="ID"/>
257
- </attribute>
291
+ <attribute name="script"/>
258
292
  </optional>
293
+ <zeroOrMore>
294
+ <ref name="BasicBlock"/>
295
+ </zeroOrMore>
259
296
  <oneOrMore>
260
297
  <ref name="term"/>
261
298
  </oneOrMore>
@@ -274,12 +311,18 @@
274
311
  <zeroOrMore>
275
312
  <ref name="admitted"/>
276
313
  </zeroOrMore>
314
+ <zeroOrMore>
315
+ <ref name="related"/>
316
+ </zeroOrMore>
277
317
  <zeroOrMore>
278
318
  <ref name="deprecates"/>
279
319
  </zeroOrMore>
280
320
  <optional>
281
321
  <ref name="termdomain"/>
282
322
  </optional>
323
+ <zeroOrMore>
324
+ <ref name="termgrammar"/>
325
+ </zeroOrMore>
283
326
  <ref name="definition"/>
284
327
  <zeroOrMore>
285
328
  <ref name="termnote"/>
@@ -306,6 +349,22 @@
306
349
  </oneOrMore>
307
350
  </element>
308
351
  </define>
352
+ <define name="related">
353
+ <element name="related">
354
+ <optional>
355
+ <attribute name="type">
356
+ <choice>
357
+ <value>compare</value>
358
+ <value>contrast</value>
359
+ <value>see</value>
360
+ </choice>
361
+ </attribute>
362
+ </optional>
363
+ <oneOrMore>
364
+ <ref name="TextElement"/>
365
+ </oneOrMore>
366
+ </element>
367
+ </define>
309
368
  <define name="deprecates">
310
369
  <element name="deprecates">
311
370
  <oneOrMore>
@@ -320,6 +379,13 @@
320
379
  </oneOrMore>
321
380
  </element>
322
381
  </define>
382
+ <define name="termgrammar">
383
+ <element name="grammar">
384
+ <oneOrMore>
385
+ <ref name="TextElement"/>
386
+ </oneOrMore>
387
+ </element>
388
+ </define>
323
389
  <define name="definition">
324
390
  <element name="definition">
325
391
  <ref name="paragraph"/>
@@ -365,768 +431,59 @@
365
431
  <ref name="paragraph"/>
366
432
  </element>
367
433
  </define>
368
- <define name="BasicBlock">
369
- <choice>
370
- <ref name="paragraph-with-footnote"/>
371
- <ref name="table"/>
372
- <ref name="formula"/>
373
- <ref name="admonition"/>
374
- <ref name="ol"/>
375
- <ref name="ul"/>
376
- <ref name="dl"/>
377
- <ref name="figure"/>
378
- <ref name="quote"/>
379
- <ref name="sourcecode"/>
380
- <ref name="example"/>
381
- <ref name="review"/>
382
- <ref name="pre"/>
383
- </choice>
384
- </define>
385
- <define name="paragraph">
386
- <element name="p">
387
- <ref name="ParagraphType"/>
388
- </element>
389
- </define>
390
- <define name="Alignments">
391
- <choice>
392
- <value>left</value>
393
- <value>right</value>
394
- <value>center</value>
395
- <value>justified</value>
396
- </choice>
397
- </define>
398
- <define name="ParagraphType">
399
- <attribute name="id">
400
- <data type="ID"/>
401
- </attribute>
402
- <optional>
403
- <attribute name="align">
404
- <ref name="Alignments"/>
405
- </attribute>
406
- </optional>
407
- <zeroOrMore>
408
- <ref name="TextElement"/>
409
- </zeroOrMore>
410
- <zeroOrMore>
411
- <ref name="note"/>
412
- </zeroOrMore>
413
- </define>
414
- <define name="paragraph-with-footnote">
415
- <element name="p">
416
- <attribute name="id">
417
- <data type="ID"/>
418
- </attribute>
419
- <optional>
420
- <attribute name="align">
421
- <ref name="Alignments"/>
422
- </attribute>
423
- </optional>
424
- <zeroOrMore>
425
- <choice>
426
- <ref name="TextElement"/>
427
- <ref name="fn"/>
428
- </choice>
429
- </zeroOrMore>
430
- <zeroOrMore>
431
- <ref name="note"/>
432
- </zeroOrMore>
433
- </element>
434
- </define>
435
- <define name="note">
436
- <element name="note">
437
- <attribute name="id">
438
- <data type="ID"/>
439
- </attribute>
440
- <oneOrMore>
441
- <ref name="paragraph"/>
442
- </oneOrMore>
443
- </element>
444
- </define>
445
- <define name="review">
446
- <element name="review">
447
- <attribute name="id">
448
- <data type="ID"/>
449
- </attribute>
450
- <attribute name="reviewer"/>
451
- <optional>
452
- <attribute name="date">
453
- <data type="dateTime"/>
454
- </attribute>
455
- </optional>
456
- <attribute name="from">
457
- <data type="IDREF"/>
458
- </attribute>
459
- <optional>
460
- <attribute name="to">
461
- <data type="IDREF"/>
462
- </attribute>
463
- </optional>
464
- <oneOrMore>
465
- <ref name="paragraph"/>
466
- </oneOrMore>
467
- </element>
468
- </define>
469
- <define name="formula">
470
- <element name="formula">
471
- <attribute name="id">
472
- <data type="ID"/>
473
- </attribute>
474
- <optional>
475
- <attribute name="unnumbered">
476
- <data type="boolean"/>
477
- </attribute>
478
- </optional>
479
- <ref name="stem"/>
480
- <optional>
481
- <ref name="dl"/>
482
- </optional>
483
- <zeroOrMore>
484
- <ref name="note"/>
485
- </zeroOrMore>
486
- </element>
487
- </define>
488
- <define name="quote">
489
- <element name="quote">
490
- <attribute name="id">
491
- <data type="ID"/>
492
- </attribute>
493
- <optional>
494
- <attribute name="alignment">
495
- <ref name="Alignments"/>
496
- </attribute>
497
- </optional>
498
- <optional>
499
- <ref name="quote-source"/>
500
- </optional>
501
- <optional>
502
- <ref name="quote-author"/>
503
- </optional>
504
- <oneOrMore>
505
- <ref name="paragraph-with-footnote"/>
506
- </oneOrMore>
507
- <zeroOrMore>
508
- <ref name="note"/>
509
- </zeroOrMore>
510
- </element>
511
- </define>
512
- <define name="quote-source">
513
- <element name="source">
514
- <ref name="erefType"/>
515
- </element>
516
- </define>
517
- <define name="quote-author">
518
- <element name="author">
519
- <text/>
520
- </element>
521
- </define>
522
- <define name="sourcecode">
523
- <element name="sourcecode">
524
- <attribute name="id">
525
- <data type="ID"/>
526
- </attribute>
527
- <optional>
528
- <attribute name="unnumbered">
529
- <data type="boolean"/>
530
- </attribute>
531
- </optional>
532
- <optional>
533
- <attribute name="lang"/>
534
- </optional>
434
+ <define name="structuredidentifier">
435
+ <element name="structuredidentifier">
535
436
  <optional>
536
- <ref name="tname"/>
437
+ <attribute name="type"/>
537
438
  </optional>
538
439
  <oneOrMore>
539
- <choice>
440
+ <element name="agency">
540
441
  <text/>
541
- <ref name="callout"/>
542
- </choice>
543
- </oneOrMore>
544
- <zeroOrMore>
545
- <ref name="annotation"/>
546
- </zeroOrMore>
547
- <zeroOrMore>
548
- <ref name="note"/>
549
- </zeroOrMore>
550
- </element>
551
- </define>
552
- <define name="pre">
553
- <element name="pre">
554
- <attribute name="id">
555
- <data type="ID"/>
556
- </attribute>
557
- <optional>
558
- <ref name="tname"/>
559
- </optional>
560
- <text/>
561
- <zeroOrMore>
562
- <ref name="note"/>
563
- </zeroOrMore>
564
- </element>
565
- </define>
566
- <define name="table">
567
- <element name="table">
568
- <attribute name="id">
569
- <data type="ID"/>
570
- </attribute>
571
- <optional>
572
- <attribute name="unnumbered">
573
- <data type="boolean"/>
574
- </attribute>
575
- </optional>
576
- <optional>
577
- <attribute name="alt"/>
578
- </optional>
579
- <optional>
580
- <ref name="tname"/>
581
- </optional>
582
- <optional>
583
- <ref name="thead"/>
584
- </optional>
585
- <ref name="tbody"/>
586
- <optional>
587
- <ref name="tfoot"/>
588
- </optional>
589
- <zeroOrMore>
590
- <ref name="table-note"/>
591
- </zeroOrMore>
592
- <optional>
593
- <ref name="dl"/>
594
- </optional>
595
- </element>
596
- </define>
597
- <define name="tname">
598
- <element name="name">
599
- <text/>
600
- </element>
601
- </define>
602
- <define name="thead">
603
- <element name="thead">
604
- <ref name="tr"/>
605
- </element>
606
- </define>
607
- <define name="tfoot">
608
- <element name="tfoot">
609
- <ref name="tr"/>
610
- </element>
611
- </define>
612
- <define name="tbody">
613
- <element name="tbody">
614
- <oneOrMore>
615
- <ref name="tr"/>
616
- </oneOrMore>
617
- </element>
618
- </define>
619
- <define name="table-note">
620
- <element name="note">
621
- <ref name="paragraph"/>
622
- </element>
623
- </define>
624
- <define name="tr">
625
- <element name="tr">
626
- <oneOrMore>
627
- <choice>
628
- <ref name="td"/>
629
- <ref name="th"/>
630
- </choice>
631
- </oneOrMore>
632
- </element>
633
- </define>
634
- <define name="td">
635
- <element name="td">
636
- <optional>
637
- <attribute name="colspan"/>
638
- </optional>
639
- <optional>
640
- <attribute name="rowspan"/>
641
- </optional>
642
- <optional>
643
- <attribute name="align">
644
- <choice>
645
- <value>left</value>
646
- <value>right</value>
647
- <value>center</value>
648
- </choice>
649
- </attribute>
650
- </optional>
651
- <choice>
652
- <zeroOrMore>
653
- <ref name="TextElement"/>
654
- </zeroOrMore>
655
- <oneOrMore>
656
- <ref name="paragraph-with-footnote"/>
657
- </oneOrMore>
658
- </choice>
659
- </element>
660
- </define>
661
- <define name="th">
662
- <element name="th">
663
- <optional>
664
- <attribute name="colspan"/>
665
- </optional>
666
- <optional>
667
- <attribute name="rowspan"/>
668
- </optional>
669
- <optional>
670
- <attribute name="align">
671
- <choice>
672
- <value>left</value>
673
- <value>right</value>
674
- <value>center</value>
675
- </choice>
676
- </attribute>
677
- </optional>
678
- <choice>
679
- <zeroOrMore>
680
- <ref name="TextElement"/>
681
- </zeroOrMore>
682
- <oneOrMore>
683
- <ref name="paragraph-with-footnote"/>
684
- </oneOrMore>
685
- </choice>
686
- </element>
687
- </define>
688
- <define name="example">
689
- <element name="example">
690
- <attribute name="id">
691
- <data type="ID"/>
692
- </attribute>
693
- <optional>
694
- <attribute name="unnumbered">
695
- <data type="boolean"/>
696
- </attribute>
697
- </optional>
698
- <oneOrMore>
699
- <choice>
700
- <ref name="formula"/>
701
- <ref name="ul"/>
702
- <ref name="ol"/>
703
- <ref name="dl"/>
704
- <ref name="quote"/>
705
- <ref name="sourcecode"/>
706
- <ref name="paragraph-with-footnote"/>
707
- </choice>
442
+ </element>
708
443
  </oneOrMore>
709
- <zeroOrMore>
710
- <ref name="note"/>
711
- </zeroOrMore>
712
- </element>
713
- </define>
714
- <define name="admonition">
715
- <element name="admonition">
716
- <attribute name="type">
717
- <choice>
718
- <value>warning</value>
719
- <value>note</value>
720
- <value>tip</value>
721
- <value>important</value>
722
- <value>caution</value>
723
- </choice>
724
- </attribute>
725
- <attribute name="id">
726
- <data type="ID"/>
727
- </attribute>
728
- <zeroOrMore>
729
- <ref name="paragraph-with-footnote"/>
730
- </zeroOrMore>
731
- <zeroOrMore>
732
- <ref name="note"/>
733
- </zeroOrMore>
734
- </element>
735
- </define>
736
- <define name="figure">
737
- <element name="figure">
738
- <attribute name="id">
739
- <data type="ID"/>
740
- </attribute>
741
- <optional>
742
- <attribute name="unnumbered">
743
- <data type="boolean"/>
744
- </attribute>
745
- </optional>
746
444
  <optional>
747
- <ref name="source"/>
445
+ <element name="class">
446
+ <text/>
447
+ </element>
748
448
  </optional>
449
+ <element name="docnumber">
450
+ <text/>
451
+ </element>
749
452
  <optional>
750
- <ref name="tname"/>
453
+ <element name="partnumber">
454
+ <text/>
455
+ </element>
751
456
  </optional>
752
- <choice>
753
- <ref name="image"/>
754
- <ref name="pre"/>
755
- <zeroOrMore>
756
- <ref name="figure"/>
757
- </zeroOrMore>
758
- </choice>
759
- <zeroOrMore>
760
- <ref name="fn"/>
761
- </zeroOrMore>
762
457
  <optional>
763
- <ref name="dl"/>
458
+ <element name="edition">
459
+ <text/>
460
+ </element>
764
461
  </optional>
765
- <zeroOrMore>
766
- <ref name="note"/>
767
- </zeroOrMore>
768
- </element>
769
- </define>
770
- <define name="TextElement">
771
- <choice>
772
- <text/>
773
- <ref name="em"/>
774
- <ref name="eref"/>
775
- <ref name="strong"/>
776
- <ref name="stem"/>
777
- <ref name="sub"/>
778
- <ref name="sup"/>
779
- <ref name="tt"/>
780
- <ref name="keyword"/>
781
- <ref name="strike"/>
782
- <ref name="smallcap"/>
783
- <ref name="xref"/>
784
- <ref name="br"/>
785
- <ref name="hyperlink"/>
786
- <ref name="hr"/>
787
- <ref name="pagebreak"/>
788
- <ref name="bookmark"/>
789
- </choice>
790
- </define>
791
- <define name="PureTextElement">
792
- <choice>
793
- <text/>
794
- <ref name="em"/>
795
- <ref name="strong"/>
796
- <ref name="sub"/>
797
- <ref name="sup"/>
798
- <ref name="tt"/>
799
- <ref name="keyword"/>
800
- <ref name="strike"/>
801
- <ref name="smallcap"/>
802
- <ref name="br"/>
803
- </choice>
804
- </define>
805
- <define name="source">
806
- <element name="source">
807
- <ref name="TypedUri"/>
808
- </element>
809
- </define>
810
- <define name="em">
811
- <element name="em">
812
- <zeroOrMore>
813
- <ref name="PureTextElement"/>
814
- </zeroOrMore>
815
- </element>
816
- </define>
817
- <define name="strong">
818
- <element name="strong">
819
- <zeroOrMore>
820
- <ref name="PureTextElement"/>
821
- </zeroOrMore>
822
- </element>
823
- </define>
824
- <define name="tt">
825
- <element name="tt">
826
- <zeroOrMore>
827
- <ref name="PureTextElement"/>
828
- </zeroOrMore>
829
- </element>
830
- </define>
831
- <define name="keyword">
832
- <element name="keyword">
833
- <zeroOrMore>
834
- <ref name="PureTextElement"/>
835
- </zeroOrMore>
836
- </element>
837
- </define>
838
- <define name="sub">
839
- <element name="sub">
840
- <zeroOrMore>
841
- <ref name="PureTextElement"/>
842
- </zeroOrMore>
843
- </element>
844
- </define>
845
- <define name="sup">
846
- <element name="sup">
847
- <zeroOrMore>
848
- <ref name="PureTextElement"/>
849
- </zeroOrMore>
850
- </element>
851
- </define>
852
- <define name="strike">
853
- <element name="strike">
854
- <zeroOrMore>
855
- <ref name="PureTextElement"/>
856
- </zeroOrMore>
857
- </element>
858
- </define>
859
- <define name="smallcap">
860
- <element name="smallcap">
861
- <zeroOrMore>
862
- <ref name="PureTextElement"/>
863
- </zeroOrMore>
864
- </element>
865
- </define>
866
- <define name="br">
867
- <element name="br">
868
- <empty/>
869
- </element>
870
- </define>
871
- <define name="hr">
872
- <element name="hr">
873
- <empty/>
874
- </element>
875
- </define>
876
- <define name="pagebreak">
877
- <element name="pagebreak">
878
- <empty/>
879
- </element>
880
- </define>
881
- <!-- bare ID element, used for referencing arbitrary spans of text -->
882
- <define name="bookmark">
883
- <element name="bookmark">
884
- <attribute name="id">
885
- <data type="ID"/>
886
- </attribute>
887
- <empty/>
888
- </element>
889
- </define>
890
- <define name="ReferenceFormat">
891
- <choice>
892
- <value>external</value>
893
- <value>inline</value>
894
- <value>footnote</value>
895
- <value>callout</value>
896
- </choice>
897
- </define>
898
- <define name="eref">
899
- <element name="eref">
900
- <ref name="erefType"/>
901
- </element>
902
- </define>
903
- <define name="erefType">
904
- <optional>
905
- <attribute name="normative">
906
- <data type="boolean"/>
907
- </attribute>
908
- </optional>
909
- <attribute name="citeas"/>
910
- <attribute name="type">
911
- <ref name="ReferenceFormat"/>
912
- </attribute>
913
- <ref name="CitationType"/>
914
- <text/>
915
- </define>
916
- <define name="hyperlink">
917
- <element name="link">
918
- <attribute name="target">
919
- <data type="anyURI"/>
920
- </attribute>
921
- <attribute name="type">
922
- <ref name="ReferenceFormat"/>
923
- </attribute>
924
462
  <optional>
925
- <attribute name="alt"/>
463
+ <element name="version">
464
+ <text/>
465
+ </element>
926
466
  </optional>
927
- <text/>
928
- </element>
929
- </define>
930
- <define name="xref">
931
- <element name="xref">
932
- <attribute name="target">
933
- <data type="IDREF"/>
934
- </attribute>
935
- <attribute name="type">
936
- <ref name="ReferenceFormat"/>
937
- </attribute>
938
- <text/>
939
- </element>
940
- </define>
941
- <define name="fn">
942
- <element name="fn">
943
- <attribute name="reference"/>
944
- <oneOrMore>
945
- <ref name="paragraph"/>
946
- </oneOrMore>
947
- </element>
948
- </define>
949
- <!--
950
- This is xref with fixed @type="footnote", and @target built in as paragraph+
951
- @reference replaces ReferenceElement/text
952
- so <fn reference="2"><p>This is a footnote</p></fn>
953
- corresponds to
954
- <eref type="footnote" target="fn2">2</xref> <p id="fn2">This is a footnote</p>
955
- -->
956
- <define name="callout">
957
- <element name="callout">
958
- <attribute name="target">
959
- <data type="IDREF"/>
960
- </attribute>
961
- <text/>
962
- </element>
963
- </define>
964
- <!--
965
- This is xref with fixed @type="callout"; the target by convention is in an annotation in the same source code snippet
966
- so <callout target="xyz">1</callout>
967
- corresponds to <xref type="callout" target="xyz">1</xref>
968
- -->
969
- <define name="image">
970
- <element name="image">
971
- <attribute name="id">
972
- <data type="ID"/>
973
- </attribute>
974
467
  <optional>
975
- <attribute name="src">
976
- <data type="anyURI"/>
977
- </attribute>
468
+ <element name="supplementtype">
469
+ <text/>
470
+ </element>
978
471
  </optional>
979
- <attribute name="imagetype">
980
- <choice>
981
- <value>SVG</value>
982
- <value>JPEG</value>
983
- <value>GIF</value>
984
- <value>PNG</value>
985
- <value>PDF</value>
986
- </choice>
987
- </attribute>
988
472
  <optional>
989
- <attribute name="width">
990
- <choice>
991
- <data type="int"/>
992
- <value>auto</value>
993
- </choice>
994
- </attribute>
473
+ <element name="supplementnumber">
474
+ <text/>
475
+ </element>
995
476
  </optional>
996
477
  <optional>
997
- <attribute name="height">
998
- <choice>
999
- <data type="int"/>
1000
- <value>auto</value>
1001
- </choice>
1002
- </attribute>
478
+ <element name="language">
479
+ <text/>
480
+ </element>
1003
481
  </optional>
1004
482
  <optional>
1005
- <attribute name="alt"/>
1006
- </optional>
1007
- </element>
1008
- </define>
1009
- <define name="stem">
1010
- <element name="stem">
1011
- <attribute name="type">
1012
- <choice>
1013
- <value>MathML</value>
1014
- <value>AsciiMath</value>
1015
- </choice>
1016
- </attribute>
1017
- <oneOrMore>
1018
- <choice>
483
+ <element name="year">
1019
484
  <text/>
1020
- <ref name="AnyElement"/>
1021
- </choice>
1022
- </oneOrMore>
1023
- </element>
1024
- </define>
1025
- <define name="annotation">
1026
- <element name="annotation">
1027
- <attribute name="id">
1028
- <data type="ID"/>
1029
- </attribute>
1030
- <ref name="paragraph"/>
1031
- </element>
1032
- </define>
1033
- <define name="ul">
1034
- <element name="ul">
1035
- <attribute name="id">
1036
- <data type="ID"/>
1037
- </attribute>
1038
- <oneOrMore>
1039
- <ref name="li"/>
1040
- </oneOrMore>
1041
- <zeroOrMore>
1042
- <ref name="note"/>
1043
- </zeroOrMore>
1044
- </element>
1045
- </define>
1046
- <define name="li">
1047
- <element name="li">
1048
- <optional>
1049
- <attribute name="id">
1050
- <data type="ID"/>
1051
- </attribute>
485
+ </element>
1052
486
  </optional>
1053
- <oneOrMore>
1054
- <ref name="paragraph-with-footnote"/>
1055
- </oneOrMore>
1056
487
  </element>
1057
488
  </define>
1058
- <define name="ol">
1059
- <element name="ol">
1060
- <attribute name="id">
1061
- <data type="ID"/>
1062
- </attribute>
1063
- <attribute name="type">
1064
- <choice>
1065
- <value>roman</value>
1066
- <value>alphabet</value>
1067
- <value>arabic</value>
1068
- <value>roman_upper</value>
1069
- <value>alphabet_upper</value>
1070
- </choice>
1071
- </attribute>
1072
- <oneOrMore>
1073
- <ref name="li"/>
1074
- </oneOrMore>
1075
- <zeroOrMore>
1076
- <ref name="note"/>
1077
- </zeroOrMore>
1078
- </element>
1079
- </define>
1080
- <define name="dl">
1081
- <element name="dl">
1082
- <attribute name="id">
1083
- <data type="ID"/>
1084
- </attribute>
1085
- <oneOrMore>
1086
- <ref name="dt"/>
1087
- <ref name="dd"/>
1088
- </oneOrMore>
1089
- <zeroOrMore>
1090
- <ref name="note"/>
1091
- </zeroOrMore>
1092
- </element>
1093
- </define>
1094
- <define name="dt">
1095
- <element name="dt">
1096
- <zeroOrMore>
1097
- <ref name="TextElement"/>
1098
- </zeroOrMore>
1099
- </element>
1100
- </define>
1101
- <define name="dd">
1102
- <element name="dd">
1103
- <zeroOrMore>
1104
- <ref name="paragraph-with-footnote"/>
1105
- </zeroOrMore>
1106
- </element>
1107
- </define>
1108
- <define name="ext">
1109
- <element name="ext">
1110
- <ref name="BibDataExtensionType"/>
1111
- </element>
1112
- </define>
1113
- <define name="BibDataExtensionType">
1114
- <optional>
1115
- <ref name="doctype"/>
1116
- </optional>
1117
- </define>
1118
- <define name="doctype">
1119
- <element name="doctype">
1120
- <ref name="DocumentType"/>
1121
- </element>
1122
- </define>
1123
- <define name="DocumentType">
1124
- <value>document</value>
1125
- </define>
1126
- <define name="BibData">
1127
- <ref name="BibliographicItem"/>
1128
- <optional>
1129
- <ref name="ext"/>
1130
- </optional>
1131
- </define>
1132
489
  </grammar>