relaton-iec 1.12.0 → 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: 7f1310013763840a81d03dcdb1e2f5356d347c86670f9f10c6a61fde7e12a5d0
4
- data.tar.gz: f08a39955926ff2f638442d4d96f1dfef7d2c5a5e817ed98079e1fa1762304b5
3
+ metadata.gz: 471e060c4f00c9b6b9260ad1c35d300233b6953745e441d23b3dfdda66c6f84a
4
+ data.tar.gz: 5c44abbeae47429b403f2b90f030a87f6a5c3e4a20d02218c6c048ce43fa9be6
5
5
  SHA512:
6
- metadata.gz: b43bab7a4d22726a5110b2f6a1b98758298fe80e10f734a7399ec077a39109cb97bfd5a42e092dfbc5062709b543aa56933bf63b9cdda5979edfea832f21c299
7
- data.tar.gz: bf6ea4c3124c5d93f94b9efd4aa4fcebe736983b68fec1e2eeb0192c08a18f48f7ed62c006f999884bd255c868a6b58c7811e24a821fe8b73ea63b2b45c7b41f
6
+ metadata.gz: 3e39cb0ce0a1483b6081c0718bdd400f5ef614a92db579aaa2abb7092c355e3d47e832c3ccbdae718e7b161c8c0f9f8b4a1ee0a97023f98001f5abdaad89cd1a
7
+ data.tar.gz: f51cd3488b180a64804fc890b29ad430f4225ab069bc82037e16c996376f389b38ea59ae820782f460b9aa8b97ec252e749ff128b7240e4a71995149f1b58d32
@@ -5,7 +5,6 @@ name: rake
5
5
  on:
6
6
  push:
7
7
  branches: [ master, main ]
8
- tags: [ v* ]
9
8
  pull_request:
10
9
 
11
10
  jobs:
@@ -0,0 +1,22 @@
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
+ name: release
4
+
5
+ on:
6
+ workflow_dispatch:
7
+ inputs:
8
+ next_version:
9
+ description: |
10
+ Next release version. Possible values: x.y.z, major, minor, patch or pre|rc|etc
11
+ required: true
12
+ default: 'skip'
13
+ push:
14
+ tags: [ v* ]
15
+
16
+ jobs:
17
+ release:
18
+ uses: relaton/support/.github/workflows/release.yml@master
19
+ with:
20
+ next_version: ${{ github.event.inputs.next_version }}
21
+ secrets:
22
+ rubygems-api-key: ${{ secrets.RELATON_CI_RUBYGEMS_API_KEY }}
data/README.adoc CHANGED
@@ -35,7 +35,7 @@ Or install it yourself as:
35
35
 
36
36
  `RelatonIec::IecBibliography.search(ref, year)` method returns hits collection. Each hit can be used to fetch a document.
37
37
 
38
- - `ref` - reference to search document
38
+ - `ref` - a reference to search document
39
39
  - `year` - filter by year (optional)
40
40
 
41
41
  [source,ruby]
@@ -54,18 +54,25 @@ item = hit_collection[2].fetch
54
54
  ...
55
55
 
56
56
  item.docidentifier
57
- => [#<RelatonBib::DocumentIdentifier:0x007fe1171bb930 @id="IEC 60050-112:2010", @scope=nil, @type="IEC">,
58
- #<RelatonBib::DocumentIdentifier:0x007fe1171bb728 @id="urn:iec:std:iec:60050-112:2010:::en", @scope=nil, @type="URN">]
57
+ => [#<RelatonBib::DocumentIdentifier:0x00007f876539d1b0 @id="IEC 60050-112:2010", @language=nil, @primary=true, @scope=nil, @script=nil, @type="IEC">,
58
+ #<RelatonBib::DocumentIdentifier:0x00007f876539d070
59
+ @id="urn:iec:std:iec:60050-112:2010:::en",
60
+ @language=nil,
61
+ @primary=nil,
62
+ @scope=nil,
63
+ @script=nil,
64
+ @type="URN">]
65
+ [6] pry(main)>
59
66
 
60
67
  item.docidentifier.detect { |di| di.type == "URN" }.id
61
68
  => "urn:iec:std:iec:60050-112:2010:::en"
62
69
  ----
63
70
 
64
- === Fetch documen by keywords
71
+ === Fetch document by keywords
65
72
 
66
- `RelatonIec::IecBibliography.get(ref, year, opts)` method returns document.
73
+ `RelatonIec::IecBibliography.get(ref, year, opts)` method returns the document.
67
74
 
68
- - `ref` - reference to search document
75
+ - `ref` - a reference to search document
69
76
  - `year` - filter by year (optional)
70
77
  - `opts` - hash of options (optional). Supported options are `:all_parts` (boolean), `:keep_year` (boolean).
71
78
 
@@ -74,15 +81,17 @@ item.docidentifier.detect { |di| di.type == "URN" }.id
74
81
  item = RelatonIec::IecBibliography.get("IEC 60050-112:2010")
75
82
  [relaton-iec] ("IEC 60050-112") fetching...
76
83
  [relaton-iec] ("IEC 60050-112") found IEC 60050-112:2010
77
- => #<RelatonIec::IecBibliographicItem:0x007fa64e874f78
84
+ => #<RelatonIec::IecBibliographicItem:0x00007f876525e8d0
85
+ ...
78
86
 
79
87
  item = RelatonIec::IecBibliography.get("IEC 60050-112", "2010", all_parts: true)
80
88
  [relaton-iec] ("IEC 60050-112") fetching...
81
89
  [relaton-iec] ("IEC 60050-112") found IEC 60050 (all parts)
82
- => #<RelatonIec::IecBibliographicItem:0x007fa69e9b3948
90
+ => #<RelatonIec::IecBibliographicItem:0x00007f87851888f0
91
+ ...
83
92
 
84
93
  item.docidentifier.first
85
- => #<RelatonBib::DocumentIdentifier:0x007fa69e9abd10 @id="IEC 60050 (all parts)", @scope=nil, @type="IEC">
94
+ => #<RelatonBib::DocumentIdentifier:0x00007f878518eea8 @id="IEC 60050 (all parts)", @language=nil, @primary=true, @scope=nil, @script=nil, @type="IEC">
86
95
 
87
96
  item = RelatonIec::IecBibliography.get("IEC 60050-112", "2010")
88
97
  [relaton-iec] ("IEC 60050-112") fetching...
@@ -90,12 +99,12 @@ item = RelatonIec::IecBibliography.get("IEC 60050-112", "2010")
90
99
  => #<RelatonIec::IecBibliographicItem:0x007fa69f296da8
91
100
 
92
101
  item.docidentifier.first
93
- => #<RelatonBib::DocumentIdentifier:0x007fa69f2a65f0 @id="IEC 60050-112:2010", @scope=nil, @type="IEC">
102
+ => #<RelatonBib::DocumentIdentifier:0x00007f876530c2c8 @id="IEC 60050-112:2010", @language=nil, @primary=true, @scope=nil, @script=nil, @type="IEC">
94
103
  ----
95
104
 
96
105
  === Search for ISO/IEC Directives
97
106
 
98
- The ISO/IEC Derectives are stored in a static cache in a relaton gem. It needs to use the relaton gem to fetch the ISO/IEC Directives. Folloving reaferences are allowed to fetch:
107
+ The ISO/IEC Directives are stored in a static cache in a relaton gem. It needs to use the relaton gem to fetch the ISO/IEC Directives. The following references are allowed to fetch:
99
108
 
100
109
  - ISO/IEC DIR 1 - Procedures for the technical work
101
110
  - ISO/IEC DIR 1 IEC SUP - Procedures for the technical work – Procedures specific to IEC
@@ -109,87 +118,38 @@ The ISO/IEC Derectives are stored in a static cache in a relaton gem. It needs t
109
118
 
110
119
  Possible options:
111
120
 
112
- - *bibdata* - If true then wrapp item with _bibdata_ element and add _ext_ element.
121
+ - *bibdata* - If true then wrap item with _bibdata_ element and add _ext_ element.
113
122
  - *note* - Array of hashes `{ text: "Note", type: "note" }`. These notes will be added to XML.
114
123
 
115
124
  [source,ruby]
116
125
  ----
117
126
  item.to_xml
118
- => "<bibitem id="IEC60050-112-2010" type="standard">
119
- <fetched>2021-01-28</fetched>
127
+ => "<bibitem id="IEC60050-112-2010" type="standard" schema-version="v1.2.1">
128
+ <fetched>2022-12-03</fetched>
120
129
  <title type="title-main" format="text/plain" language="en" script="Latn">International Electrotechnical Vocabulary (IEV)</title>
121
130
  <title type="title-part" format="text/plain" language="en" script="Latn">Part 112: Quantities and units</title>
122
131
  <title type="main" format="text/plain" language="en" script="Latn">International Electrotechnical Vocabulary (IEV) - Part 112: Quantities and units</title>
123
132
  <uri type="src">https://webstore.iec.ch/publication/162</uri>
124
- <uri type="obp">/preview/info_iec60050-112%7Bed1.0%7Db.pdf</uri>
125
- <docidentifier type="IEC">IEC 60050-112:2010</docidentifier>
126
- <docidentifier type="URN">urn:iec:std:iec:60050-112:2010:::en</docidentifier>
127
- <date type="published">
128
- <on>2010-01-27</on>
129
- </date>
130
- <contributor>
131
- <role type="publisher"/>
132
- <organization>
133
- <name>International Electrotechnical Commission</name>
134
- <abbreviation>IEC</abbreviation>
135
- <uri>www.iec.ch</uri>
136
- </organization>
137
- </contributor>
138
- <edition>1.0</edition>
139
- <language>en</language>
140
- <script>Latn</script>
141
- <abstract format="text/plain" language="en" script="Latn">
142
- IEC 60050-112:2010 gives the general terminology concerning quantities and units, the terminology of SI, terms used in names and definitions of quantities, and some basic concepts in metrology. It cancels and replaces Sections 111-11 and 111-12 of International Standard IEC 60050-111:1996. It has the status of a horizontal standard in accordance with IEC Guide 108.
143
- </abstract>
144
- <status>
145
- <stage>60</stage>
146
- <substage>60</substage>
147
- </status>
148
- <copyright>
149
- <from>2010</from>
150
- <owner>
151
- <organization>
152
- <name>International Electrotechnical Commission</name>
153
- <abbreviation>IEC</abbreviation>
154
- <uri>www.iec.ch</uri>
155
- </organization>
156
- </owner>
157
- </copyright>
158
- <place>Geneva</place>
133
+ ...
159
134
  </bibitem>"
160
135
 
161
136
  item.to_xml bibdata: true
162
- => "<bibdata type="standard">
163
- <fetched>2021-01-28</fetched>
137
+ => "<bibdata type="standard" schema-version="v1.2.1">
138
+ <fetched>2022-12-03</fetched>
164
139
  <title type="title-main" format="text/plain" language="en" script="Latn">International Electrotechnical Vocabulary (IEV)</title>
165
140
  <title type="title-part" format="text/plain" language="en" script="Latn">Part 112: Quantities and units</title>
166
141
  <title type="main" format="text/plain" language="en" script="Latn">International Electrotechnical Vocabulary (IEV) - Part 112: Quantities and units</title>
167
142
  <uri type="src">https://webstore.iec.ch/publication/162</uri>
168
143
  <uri type="obp">/preview/info_iec60050-112%7Bed1.0%7Db.pdf</uri>
169
- <docidentifier type="IEC">IEC 60050-112:2010</docidentifier>
170
- <docidentifier type="URN">urn:iec:std:iec:60050-112:2010:::en</docidentifier>
171
144
  ...
172
- <ext>
145
+ <ext schema-version="v1.0.0">
173
146
  <doctype>international-standard</doctype>
174
- <editorialgroup>
175
- <technical-committee number="1" type="technicalCommittee">TC 1 - Terminology</technical-committee>
176
- </editorialgroup>
177
- <ics>
178
- <code>01.040.01</code>
179
- <text>Generalities. Terminology. Standardization. Documentation (Vocabularies)</text>
180
- </ics>
181
- <ics>
182
- <code>01.060</code>
183
- <text>Quantities and units</text>
184
- </ics>
185
- <structuredidentifier type="IEC">
186
- <project-number>60050</project-number>
187
- </structuredidentifier>
147
+ ...
188
148
  </ext>
189
149
  </bibdata>"
190
150
 
191
151
  item.to_xml note: [{ text: "Note", type: "note" }]
192
- => "<bibitem id="IEC60050-112-2010" type="standard">
152
+ => "<bibitem id="IEC60050-112-2010" type="standard" schema-version="v1.2.1">
193
153
  ...
194
154
  <note format="text/plain" type="note">Note</note>
195
155
  ...
@@ -207,7 +167,7 @@ item.link
207
167
  #<RelatonBib::TypedUri:0x00007ffe9d9af080 @content=#<Addressable::URI:0x820 URI:/preview/info_iec60050-112%7Bed1.0%7Db.pdf>, @type="obp">]
208
168
  ----
209
169
 
210
- === Create bibliography item from hash
170
+ === Create bibliographic item from Hash
211
171
 
212
172
  [source,ruby]
213
173
  ----
@@ -222,7 +182,7 @@ RelatonIec::IecBibliographicItem.from_hash hash
222
182
 
223
183
  === Converting reference to URN
224
184
 
225
- URN is document a identifier format. It has fields delimited by colon. If any field is absent then it's place is empty. All values are in lower-case.
185
+ URN is a document identifier format. It has fields delimited by a colon. If any field is absent then its place is empty. All values are in lower-case.
226
186
 
227
187
  URN structure: +
228
188
  `urn:sdo_namespace:content_type_namespace:header:project_number:date:type:deliverable:language:relation:adjunct_type:adjunct_number:date[#/=]component_or_related_asset`
@@ -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>
data/grammars/biblio.rng CHANGED
@@ -33,9 +33,10 @@
33
33
  <param name="pattern">([\+\-]?\d{4})((-?)((0[1-9]|1[0-2])((-?)([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6]))))?</param>
34
34
  </data>
35
35
  </define>
36
- <start>
37
- <ref name="bibitem"/>
38
- </start>
36
+ <!-- start = bibitem -->
37
+ <define name="BibData">
38
+ <ref name="BibliographicItem"/>
39
+ </define>
39
40
  <define name="status">
40
41
  <element name="status">
41
42
  <ref name="stage"/>
@@ -73,8 +74,14 @@
73
74
  <text/>
74
75
  </element>
75
76
  </define>
76
- <define name="script">
77
+ <define name="locale">
77
78
  <a:documentation>ISO-639</a:documentation>
79
+ <element name="locale">
80
+ <text/>
81
+ </element>
82
+ </define>
83
+ <define name="script">
84
+ <a:documentation>ISO-3166</a:documentation>
78
85
  <element name="script">
79
86
  <text/>
80
87
  </element>
@@ -93,6 +100,9 @@
93
100
  <!-- multiple languages and scripts possible: comma delimit them if so -->
94
101
  <attribute name="language"/>
95
102
  </optional>
103
+ <optional>
104
+ <attribute name="locale"/>
105
+ </optional>
96
106
  <optional>
97
107
  <attribute name="script"/>
98
108
  </optional>
@@ -136,6 +146,9 @@
136
146
  <!-- multiple languages and scripts possible: comma delimit them if so -->
137
147
  <attribute name="language"/>
138
148
  </optional>
149
+ <optional>
150
+ <attribute name="locale"/>
151
+ </optional>
139
152
  <optional>
140
153
  <attribute name="script"/>
141
154
  </optional>
@@ -158,27 +171,30 @@
158
171
  </define>
159
172
  <define name="contributor">
160
173
  <element name="contributor">
161
- <zeroOrMore>
174
+ <oneOrMore>
162
175
  <ref name="role"/>
163
- </zeroOrMore>
176
+ </oneOrMore>
164
177
  <ref name="ContributorInfo"/>
165
178
  </element>
166
179
  </define>
167
180
  <define name="role">
168
181
  <element name="role">
169
- <optional>
170
- <attribute name="type">
171
- <choice>
172
- <value>author</value>
173
- <value>performer</value>
174
- <value>publisher</value>
175
- <value>editor</value>
176
- <value>adapter</value>
177
- <value>translator</value>
178
- <value>distributor</value>
179
- </choice>
180
- </attribute>
181
- </optional>
182
+ <attribute name="type">
183
+ <choice>
184
+ <value>author</value>
185
+ <value>performer</value>
186
+ <value>publisher</value>
187
+ <value>editor</value>
188
+ <value>adapter</value>
189
+ <value>translator</value>
190
+ <value>distributor</value>
191
+ <value>realizer</value>
192
+ <value>owner</value>
193
+ <value>authorizer</value>
194
+ <value>enabler</value>
195
+ <value>subject</value>
196
+ </choice>
197
+ </attribute>
182
198
  <zeroOrMore>
183
199
  <ref name="roledescription"/>
184
200
  </zeroOrMore>
@@ -225,9 +241,9 @@
225
241
  <zeroOrMore>
226
242
  <ref name="forename"/>
227
243
  </zeroOrMore>
228
- <zeroOrMore>
229
- <ref name="initial"/>
230
- </zeroOrMore>
244
+ <optional>
245
+ <ref name="formatted-initials"/>
246
+ </optional>
231
247
  <ref name="surname"/>
232
248
  <zeroOrMore>
233
249
  <ref name="addition"/>
@@ -247,8 +263,8 @@
247
263
  <ref name="LocalizedString"/>
248
264
  </element>
249
265
  </define>
250
- <define name="initial">
251
- <element name="initial">
266
+ <define name="formatted-initials">
267
+ <element name="formatted-initials">
252
268
  <ref name="LocalizedString"/>
253
269
  </element>
254
270
  </define>
@@ -264,6 +280,9 @@
264
280
  </define>
265
281
  <define name="forename">
266
282
  <element name="forename">
283
+ <optional>
284
+ <attribute name="initial"/>
285
+ </optional>
267
286
  <ref name="LocalizedString"/>
268
287
  </element>
269
288
  </define>
@@ -497,6 +516,17 @@
497
516
  </define>
498
517
  <define name="localityStack">
499
518
  <element name="localityStack">
519
+ <optional>
520
+ <attribute name="connective">
521
+ <choice>
522
+ <value>and</value>
523
+ <value>or</value>
524
+ <value>from</value>
525
+ <value>to</value>
526
+ <value/>
527
+ </choice>
528
+ </attribute>
529
+ </optional>
500
530
  <zeroOrMore>
501
531
  <ref name="locality"/>
502
532
  </zeroOrMore>
@@ -509,6 +539,17 @@
509
539
  </define>
510
540
  <define name="sourceLocalityStack">
511
541
  <element name="sourceLocalityStack">
542
+ <optional>
543
+ <attribute name="connective">
544
+ <choice>
545
+ <value>and</value>
546
+ <value>or</value>
547
+ <value>from</value>
548
+ <value>to</value>
549
+ <value/>
550
+ </choice>
551
+ </attribute>
552
+ </optional>
512
553
  <zeroOrMore>
513
554
  <ref name="sourceLocality"/>
514
555
  </zeroOrMore>
@@ -611,6 +652,9 @@
611
652
  <ref name="BibItemType"/>
612
653
  </attribute>
613
654
  </optional>
655
+ <optional>
656
+ <attribute name="schema-version"/>
657
+ </optional>
614
658
  <optional>
615
659
  <ref name="fetched"/>
616
660
  </optional>
@@ -647,6 +691,9 @@
647
691
  <zeroOrMore>
648
692
  <ref name="language"/>
649
693
  </zeroOrMore>
694
+ <zeroOrMore>
695
+ <ref name="locale"/>
696
+ </zeroOrMore>
650
697
  <zeroOrMore>
651
698
  <ref name="script"/>
652
699
  </zeroOrMore>
@@ -702,6 +749,9 @@
702
749
  <ref name="BibItemType"/>
703
750
  </attribute>
704
751
  </optional>
752
+ <optional>
753
+ <attribute name="schema-version"/>
754
+ </optional>
705
755
  <optional>
706
756
  <ref name="fetched"/>
707
757
  </optional>
@@ -738,6 +788,9 @@
738
788
  <zeroOrMore>
739
789
  <ref name="language"/>
740
790
  </zeroOrMore>
791
+ <zeroOrMore>
792
+ <ref name="locale"/>
793
+ </zeroOrMore>
741
794
  <zeroOrMore>
742
795
  <ref name="script"/>
743
796
  </zeroOrMore>
@@ -851,6 +904,15 @@
851
904
  <optional>
852
905
  <attribute name="type"/>
853
906
  </optional>
907
+ <optional>
908
+ <attribute name="language"/>
909
+ </optional>
910
+ <optional>
911
+ <attribute name="locale"/>
912
+ </optional>
913
+ <optional>
914
+ <attribute name="script"/>
915
+ </optional>
854
916
  <data type="anyURI"/>
855
917
  </define>
856
918
  <define name="DateType">
@@ -879,6 +941,7 @@
879
941
  <value>vote-started</value>
880
942
  <value>vote-ended</value>
881
943
  <value>announced</value>
944
+ <value>stable-until</value>
882
945
  </choice>
883
946
  </define>
884
947
  <define name="bdate">
@@ -927,6 +990,9 @@
927
990
  <optional>
928
991
  <attribute name="language"/>
929
992
  </optional>
993
+ <optional>
994
+ <attribute name="locale"/>
995
+ </optional>
930
996
  <optional>
931
997
  <attribute name="script"/>
932
998
  </optional>