relaton-bipm 1.13.11 → 1.14.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c37945561aa3232e2aaa549ebf42110fa45ae257f3975e544456238e04c69718
4
- data.tar.gz: '085b532d8b2bb5b9441b3eeacf347df4f24944761fc733529c3cb2bf8e38adbd'
3
+ metadata.gz: ef29247a9577725c9ca6f7214bdf462f7893db9a81f1ba2a2fa84b36777da806
4
+ data.tar.gz: da308da1e20e3286f26a5b449dce8ceee829add7d2e993444f99682f20760b97
5
5
  SHA512:
6
- metadata.gz: 1d0874150215333a8e2e645cc241e392fedcf03d91200d746b1d7e96c79f21341260ccad7d89565bc115fae7fc237bfd0d621de21ac15e53e32ca79a5e2b0ded
7
- data.tar.gz: 5aa816a5e59bc6d1d67ba45477dfd50523dbff2222cda0b8131c11903ebcbde74db17ce69687848fc2d6eb6f1323a30ab4c6519b3607e0f6566f6f3d436bd675
6
+ metadata.gz: 829c4b6d4b5606d29fe178cb2b9d1a95946a4fc5647c77d8190a6ba543ac6e19a59616019f81aa03b0955298f436879249b7fcb5bb05a94162255f4794765225
7
+ data.tar.gz: 3a32dfd8bec6296ca598e3337c407f8a37a7be844a12f222e4e95409a3f892281bdc1ee7bd3a3d8b9369bded4f2fe5136dd6cfd2ef5b10d7ddfd759420e0ef4d
data/README.adoc CHANGED
@@ -37,7 +37,7 @@ The Metrologia website employs anti-DDoS protection, which may cause the search
37
37
 
38
38
  ----
39
39
  [relaton-bipm] ("BIPM Metrologia 50 4 385") fetching...
40
- [relaton-bipm] This source employs anti-DDoS measures that unfortunately affects automated requests.
40
+ [relaton-bipm] This source employs anti-DDoS measures that unfortunately affect automated requests.
41
41
  [relaton-bipm] Please visit this link in your browser to resolve the CAPTCHA, then retry: https://iopscience.iop.org/article/10.1088/0026-1394/50/4/385
42
42
  ----
43
43
 
@@ -68,7 +68,7 @@ Allowed document names are:
68
68
  - SI Brochure
69
69
  - SI Brochure, Appendix 4
70
70
 
71
- ==== Reference structire for Metrologia documents
71
+ ==== Reference structure for Metrologia documents
72
72
 
73
73
  `BIPM Metrologia {JOURNAL} {VOLUME} {ISSUE} {PAGE}`
74
74
 
@@ -77,22 +77,102 @@ Allowed document names are:
77
77
  - `{ISSUE}` - number of issue, optional
78
78
  - `{PAGE}` - number of page, optional
79
79
 
80
- ==== Reference structures for CCTF (CCDS), CGMP, CIPM documents
80
+ ==== Reference structures for CCTF (CCDS), CGPM, CIPM documents
81
81
 
82
- - `{BODY} {TYPE} {YEAR}-{2_DIGITS_NUMBER}`
83
- - `{BODY} {TYPE} {NUMBER} ({YEAR})` or `{BODY} {TYPE} {NUMBER} {YEAR}`
84
- - `{BODY} {TYPE} {MEETING_NUMBER}-{2_DIGITS_NUMBER}`
85
- - `{BODY} {TYPE} ({YEAR})` or `{BODY} {TYPE} {YEAR}` - in case only one Resolution/Decision/Declaration/Recommendation is available for the year
86
- - `{BODY} Meeting {MEETING_NUMBER}` or French version `{BODY} Réunion {MEETING_NUMBER}`
82
+ ===== Basic pattern
87
83
 
88
- The parts of the structures:
84
+ ----
85
+ Long: {group name} -- {type} {number} ({year})
86
+ Short: {group name} -- {type-abbrev} {number} ({year}, {lang})
87
+ ----
88
+
89
+ ===== Special case pattern
90
+
91
+ The basic pattern works fine for all, except for these 2 cases:
92
+
93
+ - Decisions of the CIPM (since 2012)
94
+ - Recommendations/Resolutions/Decisions of the JCRB
95
+
96
+ Where the committee name is part of the outcome identifier. +
97
+ Special cases:
98
+
99
+ ----
100
+ Decision CIPM/111-10 (2022) / Décision CIPM/111-10 (2022)
101
+ Recommendation JCRB/43-1 (2021) / Recommandation JCRB/43-1 (2021)
102
+ ----
103
+
104
+ ===== Single language version (English)
105
+
106
+ `type` can be:
107
+
108
+ - Resolution (RES)
109
+ - Recommendation (REC)
110
+ - Decision (DECN)
111
+ - Statement (DECL)
112
+
113
+ e.g.
114
+
115
+ ----
116
+ CCTF -- Recommendation 2 (1970)
117
+ CCTF -- REC 2 (1970, EN)
118
+ ----
119
+
120
+ Special cases:
121
+
122
+ ----
123
+ Decision CIPM/111-10 (2022)
124
+ CIPM DECN CIPM/111-10 (2022, EN)
125
+ Recommendation JCRB/43-1 (2021)
126
+ JCRB REC JCRB/43-1 (2021, EN)
127
+ ----
128
+
129
+ ===== Single language version (French)
89
130
 
90
- - `{BODY}` - could be `CCTF` (or old named `CCDS`), CGMP, or CIMP
91
- - `{TYPE}` - could be English word: `Resolution`, `Decision`, `Declaration`, `Recommendation`; or French word: `Résolution`, `Décision`, `Déclaration`, `Recommandation`
92
- - `{YEAR}` - year of Resolution/Decision/Declaration/Recommendation
93
- - `{NUMBER}` - number of Resolution/Decision/Declaration/Recommendation
94
- - `{2_DIGITS_NUMBER}` - two digits number of Resolution/Decision/Declaration/Recommendatio with lead zero if needs
95
- - `{MEETING_NUMBER}` - number of mieeting
131
+ `type` can be:
132
+
133
+ - Résolution (RES)
134
+ - Recommandation (REC)
135
+ - Décision (DECN)
136
+ - Déclaration (DECL)
137
+
138
+ e.g.
139
+
140
+ ----
141
+ CCTF -- Recommandation 2 (1970)
142
+ CCTF -- REC 2 (1970, FR)
143
+ ----
144
+
145
+ Special cases:
146
+
147
+ ----
148
+ Décision CIPM/111-10 (2022)
149
+ CIPM DECN CIPM/111-10 (2022, FR)
150
+ Recommandation JCRB/43-1 (2021)
151
+ JCRB REC JCRB/43-1 (2021, FR)
152
+ ----
153
+
154
+ ===== Dual language version (language independent version)
155
+
156
+ `type` can be in their respective languages or the following abbreviations:
157
+
158
+ - RES
159
+ - REC
160
+ - DECN
161
+ - DECL
162
+
163
+ ----
164
+ CCTF -- Recommandation 2 (1970) / Recommendation 2 (1970)
165
+ CCTF REC 2 (1970)
166
+ ----
167
+
168
+ Special cases:
169
+
170
+ ----
171
+ Decision CIPM/110-10 (2022) / Décision CIPM/111-10 (2022)
172
+ CIPM DECN CIPM/110-10 (2022)
173
+ Recommendation JCRB/43-1 (2021) / Recommandation JCRB/43-1 (2021)
174
+ JCRB REC JCRB/43-1 (2021)
175
+ ----
96
176
 
97
177
  ==== Examples
98
178
 
@@ -116,62 +196,55 @@ bib = RelatonBipm::BipmBibliography.get "BIPM Metrologia 29 6 373"
116
196
  ...
117
197
 
118
198
  # get CGPM meetings
119
- RelatonBipm::BipmBibliography.get "CGPM Meeting 1"
120
- [relaton-bipm] ("CGPM Meeting 1") fetching...
121
- [relaton-bipm] ("CGPM Meeting 1") found CGPM Meeting 1
122
- => #<RelatonBipm::BipmBibliographicItem:0x00007fd4f7cba038
199
+ RelatonBipm::BipmBibliography.get "CGPM -- Meeting 1 (1889)"
200
+ [relaton-bipm] ("CGPM -- Meeting 1 (1889)") fetching...
201
+ [relaton-bipm] ("CGPM -- Meeting 1 (1889)") found CGPM -- Meeting 1 (1889)
202
+ => #<RelatonBipm::BipmBibliographicItem:0x00007f7fd02aba28
123
203
  ...
124
204
 
125
205
  # get CGPM resolutions
126
- RelatonBipm::BipmBibliography.get "CGPM Resolution 1889-00"
127
- [relaton-bipm] ("CGPM Resolution 1889-00") fetching...
128
- [relaton-bipm] ("CGPM Resolution 1889-00") found CGPM Resolution (1889)
129
- => #<RelatonBipm::BipmBibliographicItem:0x00007ff0d1ffae50
206
+ RelatonBipm::BipmBibliography.get "CGPM -- RES (1889, EN)"
207
+ [relaton-bipm] ("CGPM -- RES (1889, EN)") fetching...
208
+ [relaton-bipm] ("CGPM -- RES (1889, EN)") found CGPM -- Resolution (1889)
209
+ => #<RelatonBipm::BipmBibliographicItem:0x00007f80421f93d8
130
210
  ...
131
211
 
132
- RelatonBipm::BipmBibliography.get "CGPM Resolution (1889)"
133
- [relaton-bipm] ("CGPM Resolution (1889)") fetching...
134
- [relaton-bipm] ("CGPM Resolution (1889)") found CGPM Resolution (1889)
135
- => #<RelatonBipm::BipmBibliographicItem:0x00007ff0d1ffae50
212
+ RelatonBipm::BipmBibliography.get "CGPM -- Resolution (1889)"
213
+ [relaton-bipm] ("CGPM -- Resolution (1889)") fetching...
214
+ [relaton-bipm] ("CGPM -- Resolution (1889)") found CGPM -- Resolution (1889)
215
+ => #<RelatonBipm::BipmBibliographicItem:0x00007f8017f60c18
136
216
  ...
137
217
 
138
- RelatonBipm::BipmBibliography.get "CGPM Resolution 1889"
139
- [relaton-bipm] ("CGPM Resolution 1889") fetching...
140
- [relaton-bipm] ("CGPM Resolution 1889") found CGPM Resolution (1889)
141
- => #<RelatonBipm::BipmBibliographicItem:0x00007ff0d1ffae50
218
+ RelatonBipm::BipmBibliography.get "CGPM -- Résolution (1889)"
219
+ [relaton-bipm] ("CGPM -- Résolution (1889)") fetching...
220
+ [relaton-bipm] ("CGPM -- Résolution (1889)") found CGPM -- Resolution (1889)
221
+ => #<RelatonBipm::BipmBibliographicItem:0x00007f8017f492e8
142
222
  ...
143
223
 
144
224
  # get CIPM decision by year and decision number
145
- RelatonBipm::BipmBibliography.get "CIPM Decision 2012-01"
146
- [relaton-bipm] ("CIPM Decision 2012-01") fetching...
147
- [relaton-bipm] ("CIPM Decision 2012-01") found CIPM Decision 1 (2012)
148
- => #<RelatonBipm::BipmBibliographicItem:0x00007ff0f10dc548
149
- ...
150
-
151
- RelatonBipm::BipmBibliography.get "CIPM Decision 1 (2012)"
152
- [relaton-bipm] ("CIPM Decision 1 (2012)") fetching...
153
- [relaton-bipm] ("CIPM Decision 1 (2012)") found CIPM Decision 1 (2012)
154
- => #<RelatonBipm::BipmBibliographicItem:0x00007fb6b9bbec08
225
+ RelatonBipm::BipmBibliography.get "BIPM Decision CIPM/101-1 (2012)"
226
+ [relaton-bipm] ("BIPM Decision CIPM/101-1 (2012)") fetching...
227
+ [relaton-bipm] ("BIPM Decision CIPM/101-1 (2012)") found Decision CIPM/101-1 (2012)
228
+ => #<RelatonBipm::BipmBibliographicItem:0x00007f8017f2bd88
155
229
  ...
156
230
 
157
- # get CIPM decision by meeting number and decision number
158
- RelatonBipm::BipmBibliography.get "CIPM Decision 101-01"
159
- [relaton-bipm] ("CIPM Decision 101-01") fetching...
160
- [relaton-bipm] ("CIPM Decision 101-01") found CIPM Decision 1 (2012)
161
- => #<RelatonBipm::BipmBibliographicItem:0x00007f9ef2acc400
231
+ RelatonBipm::BipmBibliography.get "BIPM DECN CIPM/101-1 (2012, EN)"
232
+ [relaton-bipm] ("BIPM DECN CIPM/101-1 (2012, EN)") fetching...
233
+ [relaton-bipm] ("BIPM DECN CIPM/101-1 (2012, EN)") found Decision CIPM/101-1 (2012)
234
+ => #<RelatonBipm::BipmBibliographicItem:0x00007f8017f39438
162
235
  ...
163
236
 
164
237
  # get CIPM recommendation
165
- RelatonBipm::BipmBibliography.get "CIPM Recommendation (1948)"
166
- [relaton-bipm] ("CIPM Recommendation (1948)") fetching...
167
- [relaton-bipm] ("CIPM Recommendation (1948)") found CIPM Recommendation (1948)
168
- => #<RelatonBipm::BipmBibliographicItem:0x00007ff0a18a6aa8
238
+ RelatonBipm::BipmBibliography.get "CIPM -- Recommendation 1 (2005)"
239
+ [relaton-bipm] ("CIPM -- Recommendation 1 (2005)") fetching...
240
+ [relaton-bipm] ("CIPM -- Recommendation 1 (2005)") found CIPM -- Recommendation 1 (2005)
241
+ => #<RelatonBipm::BipmBibliographicItem:0x00007f8017f31da0
169
242
  ...
170
243
 
171
- RelatonBipm::BipmBibliography.get "CIPM Recommendation 1948"
172
- [relaton-bipm] ("CIPM Recommendation 1948") fetching...
173
- [relaton-bipm] ("CIPM Recommendation 1948") found CIPM Recommendation (1948)
174
- => #<RelatonBipm::BipmBibliographicItem:0x00007ff0f1164150
244
+ RelatonBipm::BipmBibliography.get "CIPM -- REC 1 (2005, FR)"
245
+ [relaton-bipm] ("CIPM -- REC 1 (2005, FR)") fetching...
246
+ [relaton-bipm] ("CIPM -- REC 1 (2005, FR)") found CIPM -- Recommendation 1 (2005)
247
+ => #<RelatonBipm::BipmBibliographicItem:0x00007f80422100d8
175
248
  ...
176
249
  ----
177
250
 
@@ -180,65 +253,40 @@ RelatonBipm::BipmBibliography.get "CIPM Recommendation 1948"
180
253
  [source,ruby]
181
254
  ----
182
255
  item.to_xml
183
- => "<bibitem id="BIPMSIBrochure" type="standard">
184
- <fetched>2021-01-10</fetched>
185
- <title format="text/plain" language="en" script="Latn">The International System of Units (SI)</title>
186
- <title format="text/plain" language="fr" script="Latn">Le Système international d’unités (SI)</title>
187
- <uri type="src">https://www.bipm.org/en/publications/si-brochure</uri>
188
- <docidentifier type="BIPM">BIPM SI Brochure</docidentifier>
189
- <date type="updated">
190
- <on>2019-05-20</on>
191
- </date>
192
- <edition>9</edition>
193
- <abstract format="text/plain" language="en" script="Latn">The BIPM and the Metre Convention</abstract>
194
- <abstract format="text/plain" language="fr" script="Latn">Le BIPM et la Convention du Mètre</abstract>
195
- <copyright>
196
- <from>2019</from>
197
- <owner>
198
- <organization>
199
- <name>Bureau International des ponds et mesures</name>
200
- <abbreviation>BIPM</abbreviation>
201
- </organization>
202
- </owner>
203
- </copyright>
256
+ => "<bibitem id="BIPMSIBrochure" type="standard" schema-version="v1.2.1">
257
+ <fetched>2022-12-02</fetched>
258
+ <title type="main" format="text/plain" language="en">The International System of Units</title>
259
+ <title type="cover" format="text/plain" language="en">The International System of Units (SI)</title>
260
+ <title type="main" format="text/plain" language="fr">Le Système international d’unités</title>
261
+ <title type="cover" format="text/plain" language="fr">Le Système international d’unités (SI)</title>
262
+ <docidentifier type="BIPM" primary="true">BIPM SI Brochure</docidentifier>
263
+ ...
204
264
  </bibitem>"
205
265
  ----
206
266
 
207
- With argument `bibdata: true` it ouputs XML wrapped by `bibdata` element and adds flavour `ext` element.
267
+ With argument `bibdata: true` it outputs XML wrapped by `bibdata` element and adds flavor `ext` element.
208
268
 
209
269
  [source,ruby]
210
270
  ----
211
271
  item.to_xml bibdata: true
212
- => "<bibdata type="standard">
213
- <fetched>2021-01-10</fetched>
214
- <title format="text/plain" language="en" script="Latn">The International System of Units (SI)</title>
215
- <title format="text/plain" language="fr" script="Latn">Le Système international d’unités (SI)</title>
216
- <uri type="src">https://www.bipm.org/en/publications/si-brochure</uri>
217
- <docidentifier type="BIPM">BIPM SI Brochure</docidentifier>
218
- <date type="updated">
219
- <on>2019-05-20</on>
220
- </date>
221
- <edition>9</edition>
222
- <abstract format="text/plain" language="en" script="Latn">The BIPM and the Metre Convention</abstract>
223
- <abstract format="text/plain" language="fr" script="Latn">Le BIPM et la Convention du Mètre</abstract>
224
- <copyright>
225
- <from>2019</from>
226
- <owner>
227
- <organization>
228
- <name>Bureau International des ponds et mesures</name>
229
- <abbreviation>BIPM</abbreviation>
230
- </organization>
231
- </owner>
232
- </copyright>
233
- <ext>
272
+ => "<bibdata type="standard" schema-version="v1.2.1">
273
+ <fetched>2022-12-02</fetched>
274
+ <title type="main" format="text/plain" language="en">The International System of Units</title>
275
+ <title type="cover" format="text/plain" language="en">The International System of Units (SI)</title>
276
+ <title type="main" format="text/plain" language="fr">Le Système international d’unités</title>
277
+ <title type="cover" format="text/plain" language="fr">Le Système international d’unités (SI)</title>
278
+ <docidentifier type="BIPM" primary="true">BIPM SI Brochure</docidentifier>
279
+ ...
280
+ <ext schema-version="v1.0.0">
234
281
  <doctype>brochure</doctype>
282
+ ...
235
283
  </ext>
236
284
  </bibdata>"
237
285
  ----
238
286
 
239
287
  === Typed links
240
288
 
241
- Each BIPM document has `src` type link and optional `doi` type link.
289
+ Each BIPM document has `src` type link and an optional `doi` type link.
242
290
 
243
291
  [source,ruby]
244
292
  ----
@@ -270,16 +318,16 @@ RelatonBipm::BipmBibliographicItem.from_hash hash
270
318
 
271
319
  === Fetch data
272
320
 
273
- This gem uses following datasets as data sources:
274
- - `bipm-data-outcomes` - looking for local directory with the repository https://github.com/metanorma/bipm-data-outcomes
275
- - `bipm-si-brochute` - looking for local directory with the repository https://github.com/metanorma/bipm-si-brochure
321
+ This gem uses the following datasets as data sources:
322
+ - `bipm-data-outcomes` - looking for a local directory with the repository https://github.com/metanorma/bipm-data-outcomes
323
+ - `bipm-si-brochute` - looking for a local directory with the repository https://github.com/metanorma/bipm-si-brochure
276
324
 
277
- The method `RelatonBipm::DataFetcher.fetch(sourece, output: "data", format: "yaml")` fetches all the documents from the datast and save them to the `./data` folder in YAML format.
325
+ The method `RelatonBipm::DataFetcher.fetch(source, output: "data", format: "yaml")` fetches all the documents from the dataset and saves them to the `./data` folder in YAML format.
278
326
  Arguments:
279
327
 
280
- - `source` - name of the source dataset
328
+ - `source` - the name of the source dataset
281
329
  - `output` - folder to save documents (default './data').
282
- - `format` - format in which the documents are saved. Possimle formats are: `yaml`, `xml`, `bibxxml` (default `yaml`).
330
+ - `format` - the format in which the documents are saved. Possible formats are: `yaml`, `xml`, `bibxxml` (default `yaml`).
283
331
 
284
332
  [source,ruby]
285
333
  ----
@@ -1,10 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3
- <include href="biblio.rng">
4
- <start>
5
- <ref name="document"/>
6
- </start>
7
- </include>
8
3
  <define name="document">
9
4
  <element name="document">
10
5
  <optional>
@@ -688,6 +683,9 @@
688
683
  </define>
689
684
  <define name="underline">
690
685
  <element name="underline">
686
+ <optional>
687
+ <attribute name="style"/>
688
+ </optional>
691
689
  <zeroOrMore>
692
690
  <ref name="PureTextElement"/>
693
691
  </zeroOrMore>
@@ -1125,26 +1123,4 @@
1125
1123
  </zeroOrMore>
1126
1124
  </element>
1127
1125
  </define>
1128
- <define name="ext">
1129
- <element name="ext">
1130
- <ref name="BibDataExtensionType"/>
1131
- </element>
1132
- </define>
1133
- <define name="BibDataExtensionType">
1134
- <ref name="doctype"/>
1135
- </define>
1136
- <define name="doctype">
1137
- <element name="doctype">
1138
- <ref name="DocumentType"/>
1139
- </element>
1140
- </define>
1141
- <define name="DocumentType">
1142
- <value>document</value>
1143
- </define>
1144
- <define name="BibData">
1145
- <ref name="BibliographicItem"/>
1146
- <optional>
1147
- <ref name="ext"/>
1148
- </optional>
1149
- </define>
1150
1126
  </grammar>
@@ -0,0 +1,164 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0">
3
+ <!--
4
+ Add-ons to biblio.rnc for standoc model: defines the extension point BibDataExtensionType
5
+ of relaton
6
+
7
+ Specialisations as for biblio.rnc. Extension point can be redefined completely for a flavour of standoc
8
+ (SDO); but other elements in Bibdata can only be extended (more specialised vocabularies for Bibdata)
9
+ -->
10
+ <include href="biblio.rng">
11
+ <define name="BibData">
12
+ <ref name="BibliographicItem"/>
13
+ <optional>
14
+ <ref name="ext"/>
15
+ </optional>
16
+ </define>
17
+ </include>
18
+ <define name="ext">
19
+ <element name="ext">
20
+ <ref name="BibDataExtensionType"/>
21
+ </element>
22
+ </define>
23
+ <define name="BibDataExtensionType">
24
+ <optional>
25
+ <attribute name="schema-version"/>
26
+ </optional>
27
+ <ref name="doctype"/>
28
+ <optional>
29
+ <ref name="docsubtype"/>
30
+ </optional>
31
+ <optional>
32
+ <ref name="editorialgroup"/>
33
+ </optional>
34
+ <zeroOrMore>
35
+ <ref name="ics"/>
36
+ </zeroOrMore>
37
+ <zeroOrMore>
38
+ <ref name="structuredidentifier"/>
39
+ </zeroOrMore>
40
+ </define>
41
+ <define name="doctype">
42
+ <element name="doctype">
43
+ <optional>
44
+ <attribute name="abbreviation"/>
45
+ </optional>
46
+ <ref name="DocumentType"/>
47
+ </element>
48
+ </define>
49
+ <define name="DocumentType">
50
+ <text/>
51
+ </define>
52
+ <define name="docsubtype">
53
+ <element name="subdoctype">
54
+ <ref name="DocumentSubtype"/>
55
+ </element>
56
+ </define>
57
+ <define name="DocumentSubtype">
58
+ <text/>
59
+ </define>
60
+ <define name="editorialgroup">
61
+ <element name="editorialgroup">
62
+ <oneOrMore>
63
+ <ref name="technical-committee"/>
64
+ </oneOrMore>
65
+ </element>
66
+ </define>
67
+ <define name="technical-committee">
68
+ <element name="technical-committee">
69
+ <ref name="IsoWorkgroup"/>
70
+ </element>
71
+ </define>
72
+ <define name="IsoWorkgroup">
73
+ <optional>
74
+ <attribute name="number"/>
75
+ </optional>
76
+ <optional>
77
+ <attribute name="type"/>
78
+ </optional>
79
+ <optional>
80
+ <attribute name="identifier"/>
81
+ </optional>
82
+ <optional>
83
+ <attribute name="prefix"/>
84
+ </optional>
85
+ <text/>
86
+ </define>
87
+ <define name="ics">
88
+ <element name="ics">
89
+ <element name="code">
90
+ <text/>
91
+ </element>
92
+ <optional>
93
+ <element name="text">
94
+ <text/>
95
+ </element>
96
+ </optional>
97
+ </element>
98
+ </define>
99
+ <define name="structuredidentifier">
100
+ <element name="structuredidentifier">
101
+ <optional>
102
+ <attribute name="type"/>
103
+ </optional>
104
+ <oneOrMore>
105
+ <element name="agency">
106
+ <text/>
107
+ </element>
108
+ </oneOrMore>
109
+ <optional>
110
+ <element name="class">
111
+ <text/>
112
+ </element>
113
+ </optional>
114
+ <element name="docnumber">
115
+ <text/>
116
+ </element>
117
+ <optional>
118
+ <element name="partnumber">
119
+ <text/>
120
+ </element>
121
+ </optional>
122
+ <optional>
123
+ <element name="edition">
124
+ <text/>
125
+ </element>
126
+ </optional>
127
+ <optional>
128
+ <element name="version">
129
+ <text/>
130
+ </element>
131
+ </optional>
132
+ <optional>
133
+ <element name="supplementtype">
134
+ <text/>
135
+ </element>
136
+ </optional>
137
+ <optional>
138
+ <element name="supplementnumber">
139
+ <text/>
140
+ </element>
141
+ </optional>
142
+ <optional>
143
+ <element name="amendment">
144
+ <text/>
145
+ </element>
146
+ </optional>
147
+ <optional>
148
+ <element name="corrigendum">
149
+ <text/>
150
+ </element>
151
+ </optional>
152
+ <optional>
153
+ <element name="language">
154
+ <text/>
155
+ </element>
156
+ </optional>
157
+ <optional>
158
+ <element name="year">
159
+ <text/>
160
+ </element>
161
+ </optional>
162
+ </element>
163
+ </define>
164
+ </grammar>