metanorma-iec 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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>