metanorma-iso 2.2.1 → 2.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 64ff031dbcbae3aeb600c99c3c200b27983e96d865a49c52413245c470885824
4
- data.tar.gz: 81ea3cfa5672feae8e31aff1341224310f15f85d74d85a0ca017e3ceba829421
3
+ metadata.gz: bababdaaa40b4311b1ea3b536d4033bbeb418582ef7c4b7bd8cc5dcec43dfc4c
4
+ data.tar.gz: e3a3754839ac30e66c0d35574d565bced4e951a8bd1042e56cb85c390bcaf8fd
5
5
  SHA512:
6
- metadata.gz: fdb2b2f7a30d439df33decf4e0f97fedf91f7545aa7ee7f1c43e9a4a66b21ef942ddb7e9f77520ebdbb68dcc509332e0651a866f2ec33e98835e70c67f641546
7
- data.tar.gz: 03500425f5f236f69010d688aaa906719f52eac6695d4dbe1ed78d6b63e6d2943a8b2299f8d19a05ae18570deb6f3d22b380a6f1b69da4d386d2d817da42273e
6
+ metadata.gz: fa5cd0815b1649389973e2bfff66581386dd68450b53f31e3f5d4ae8e91c59bcebc6d5fe63691542c918dc93a6dd3a6e8392ebf32207e5b22d69785c7005852c
7
+ data.tar.gz: fdbcfc037894c4121c50eefc9eab7c26296dfeb599152409b2c46fd8f84a231051d7e21d5a6696eddf43002c6ca79cb3977972f92dab5dc2b974ed1c54a45722
@@ -0,0 +1,31 @@
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
+ # source: https://github.com/marketplace/actions/merge-pull-requests#usage
4
+ name: automerge
5
+ on:
6
+ pull_request:
7
+ types:
8
+ - labeled
9
+ - unlabeled
10
+ - synchronize
11
+ - opened
12
+ - edited
13
+ - ready_for_review
14
+ - reopened
15
+ - unlocked
16
+ pull_request_review:
17
+ types:
18
+ - submitted
19
+ check_suite:
20
+ types:
21
+ - completed
22
+ status: {}
23
+ jobs:
24
+ automerge:
25
+ runs-on: ubuntu-latest
26
+ steps:
27
+ - id: automerge
28
+ name: automerge
29
+ uses: "pascalgn/automerge-action@v0.15.3"
30
+ env:
31
+ GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
@@ -582,7 +582,7 @@ div.figure {
582
582
  font-weight: 700;
583
583
  font-size: 1em;
584
584
  text-align: center; }
585
- div.figure > img {
585
+ div.figure > img, div.figure > svg {
586
586
  margin-left: auto;
587
587
  margin-right: auto;
588
588
  display: block;
@@ -534,7 +534,7 @@ div.figure {
534
534
  font-weight: 700;
535
535
  font-size: 1em;
536
536
  text-align: center; }
537
- div.figure > img {
537
+ div.figure > img, div.figure > svg {
538
538
  margin-left: auto;
539
539
  margin-right: auto;
540
540
  display: block;
@@ -76,7 +76,12 @@ locality:
76
76
  appendix: Appendix
77
77
  requirements:
78
78
  modspec:
79
- description: Description
80
- provisions: Provisions
81
- conformancetests: Conformance tests
82
- # pending proper handling of inflection
79
+ provision: Provision
80
+ conformancetest: Conformance test
81
+ inflection:
82
+ Provision:
83
+ sg: Provision
84
+ pl: Provisions
85
+ Statement:
86
+ sg: Statement
87
+ pl: Statements
@@ -70,6 +70,12 @@ locality:
70
70
  appendix: Appendice
71
71
  requirements:
72
72
  modspec:
73
- description: Description
74
- provisions: Dispositions
75
- conformancetests: Tests de conformité
73
+ provision: Disposition
74
+ conformancetest: Test de conformité
75
+ inflection:
76
+ Disposition:
77
+ sg: Disposition
78
+ pl: Dispositions
79
+ Déclaration:
80
+ sg: Déclaration
81
+ pl: Déclarations
@@ -74,5 +74,12 @@ locality:
74
74
  appendix: Приложение
75
75
  requirements:
76
76
  modspec:
77
- description: Описание
78
- provisions: Условия
77
+ provision: Условие
78
+ conformancetest: Тест на соответствие
79
+ inflection:
80
+ Условие:
81
+ sg: Условие
82
+ pl: Условия
83
+ Утверждение:
84
+ sg: Утверждение
85
+ pl: Утверждения
@@ -71,5 +71,4 @@ locality:
71
71
  appendix: 附录
72
72
  requirements:
73
73
  modspec:
74
- description: 描述
75
- provisions: 条件
74
+ provision: 条件
@@ -1900,6 +1900,9 @@
1900
1900
  </xsl:choose>
1901
1901
  </xsl:attribute>
1902
1902
  <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
1903
+ <xsl:if test="starts-with(ancestor::*[local-name() = 'table'][1]/@type, 'recommend') and not(following-sibling::*[local-name() = 'p'])">
1904
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
1905
+ </xsl:if>
1903
1906
  <xsl:if test="@id">
1904
1907
  <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
1905
1908
  </xsl:if>
@@ -4753,6 +4756,9 @@
4753
4756
  <xsl:if test="ancestor::*[local-name() = 'tfoot']">
4754
4757
  <xsl:attribute name="border">solid black 0</xsl:attribute>
4755
4758
  </xsl:if>
4759
+ <xsl:if test="starts-with(ancestor::*[local-name() = 'table'][1]/@type, 'recommend')">
4760
+ <xsl:attribute name="display-align">before</xsl:attribute>
4761
+ </xsl:if>
4756
4762
 
4757
4763
  <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
4758
4764
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
@@ -5743,8 +5749,17 @@
5743
5749
  </fo:inline>
5744
5750
  </xsl:template> <!-- tt -->
5745
5751
 
5752
+ <xsl:variable name="regex_url_start">^(http://|https://|www\.)?(.*)</xsl:variable>
5746
5753
  <xsl:template match="*[local-name()='tt']/text()" priority="2">
5747
- <xsl:call-template name="add_spaces_to_sourcecode"/>
5754
+ <xsl:choose>
5755
+ <xsl:when test="java:replaceAll(java:java.lang.String.new(.), '$2', '') != ''">
5756
+ <!-- url -->
5757
+ <xsl:call-template name="add-zero-spaces-link-java"/>
5758
+ </xsl:when>
5759
+ <xsl:otherwise>
5760
+ <xsl:call-template name="add_spaces_to_sourcecode"/>
5761
+ </xsl:otherwise>
5762
+ </xsl:choose>
5748
5763
  </xsl:template>
5749
5764
 
5750
5765
  <xsl:template match="*[local-name()='underline']">
@@ -6100,8 +6115,11 @@
6100
6115
 
6101
6116
  <xsl:template name="add-zero-spaces-link-java">
6102
6117
  <xsl:param name="text" select="."/>
6118
+
6119
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text), $regex_url_start, '$1')"/> <!-- http://. https:// or www. -->
6120
+ <xsl:variable name="url_continue" select="java:replaceAll(java:java.lang.String.new($text), $regex_url_start, '$2')"/>
6103
6121
  <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
6104
- <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| |,)','$1​')"/>
6122
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new($url_continue),'(-|\.|:|=|_|—| |,|/)','$1​')"/>
6105
6123
  </xsl:template>
6106
6124
 
6107
6125
  <!-- add zero space after dash character (for table's entries) -->
@@ -10641,7 +10659,7 @@
10641
10659
 
10642
10660
  <xsl:variable name="element_name_keep-together_within-line">keep-together_within-line</xsl:variable>
10643
10661
 
10644
- <xsl:template match="text()[not(ancestor::*[local-name() = 'bibdata'] or ancestor::*[local-name() = 'sourcecode'] or ancestor::*[local-name() = 'math'])]" name="keep_together_standard_number" mode="update_xml_enclose_keep-together_within-line">
10662
+ <xsl:template match="text()[not(ancestor::*[local-name() = 'bibdata'] or ancestor::*[local-name() = 'link'][not(contains(.,' '))] or ancestor::*[local-name() = 'sourcecode'] or ancestor::*[local-name() = 'math'] or starts-with(., 'http://') or starts-with(., 'https://') or starts-with(., 'www.') )]" name="keep_together_standard_number" mode="update_xml_enclose_keep-together_within-line">
10645
10663
 
10646
10664
  <!-- enclose standard's number into tag 'keep-together_within-line' -->
10647
10665
  <xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
@@ -1900,6 +1900,9 @@
1900
1900
  </xsl:choose>
1901
1901
  </xsl:attribute>
1902
1902
  <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
1903
+ <xsl:if test="starts-with(ancestor::*[local-name() = 'table'][1]/@type, 'recommend') and not(following-sibling::*[local-name() = 'p'])">
1904
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
1905
+ </xsl:if>
1903
1906
  <xsl:if test="@id">
1904
1907
  <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
1905
1908
  </xsl:if>
@@ -4753,6 +4756,9 @@
4753
4756
  <xsl:if test="ancestor::*[local-name() = 'tfoot']">
4754
4757
  <xsl:attribute name="border">solid black 0</xsl:attribute>
4755
4758
  </xsl:if>
4759
+ <xsl:if test="starts-with(ancestor::*[local-name() = 'table'][1]/@type, 'recommend')">
4760
+ <xsl:attribute name="display-align">before</xsl:attribute>
4761
+ </xsl:if>
4756
4762
 
4757
4763
  <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
4758
4764
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
@@ -5743,8 +5749,17 @@
5743
5749
  </fo:inline>
5744
5750
  </xsl:template> <!-- tt -->
5745
5751
 
5752
+ <xsl:variable name="regex_url_start">^(http://|https://|www\.)?(.*)</xsl:variable>
5746
5753
  <xsl:template match="*[local-name()='tt']/text()" priority="2">
5747
- <xsl:call-template name="add_spaces_to_sourcecode"/>
5754
+ <xsl:choose>
5755
+ <xsl:when test="java:replaceAll(java:java.lang.String.new(.), '$2', '') != ''">
5756
+ <!-- url -->
5757
+ <xsl:call-template name="add-zero-spaces-link-java"/>
5758
+ </xsl:when>
5759
+ <xsl:otherwise>
5760
+ <xsl:call-template name="add_spaces_to_sourcecode"/>
5761
+ </xsl:otherwise>
5762
+ </xsl:choose>
5748
5763
  </xsl:template>
5749
5764
 
5750
5765
  <xsl:template match="*[local-name()='underline']">
@@ -6100,8 +6115,11 @@
6100
6115
 
6101
6116
  <xsl:template name="add-zero-spaces-link-java">
6102
6117
  <xsl:param name="text" select="."/>
6118
+
6119
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text), $regex_url_start, '$1')"/> <!-- http://. https:// or www. -->
6120
+ <xsl:variable name="url_continue" select="java:replaceAll(java:java.lang.String.new($text), $regex_url_start, '$2')"/>
6103
6121
  <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
6104
- <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| |,)','$1​')"/>
6122
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new($url_continue),'(-|\.|:|=|_|—| |,|/)','$1​')"/>
6105
6123
  </xsl:template>
6106
6124
 
6107
6125
  <!-- add zero space after dash character (for table's entries) -->
@@ -10641,7 +10659,7 @@
10641
10659
 
10642
10660
  <xsl:variable name="element_name_keep-together_within-line">keep-together_within-line</xsl:variable>
10643
10661
 
10644
- <xsl:template match="text()[not(ancestor::*[local-name() = 'bibdata'] or ancestor::*[local-name() = 'sourcecode'] or ancestor::*[local-name() = 'math'])]" name="keep_together_standard_number" mode="update_xml_enclose_keep-together_within-line">
10662
+ <xsl:template match="text()[not(ancestor::*[local-name() = 'bibdata'] or ancestor::*[local-name() = 'link'][not(contains(.,' '))] or ancestor::*[local-name() = 'sourcecode'] or ancestor::*[local-name() = 'math'] or starts-with(., 'http://') or starts-with(., 'https://') or starts-with(., 'www.') )]" name="keep_together_standard_number" mode="update_xml_enclose_keep-together_within-line">
10645
10663
 
10646
10664
  <!-- enclose standard's number into tag 'keep-together_within-line' -->
10647
10665
  <xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
@@ -104,15 +104,18 @@ module IsoDoc
104
104
  locality_span_wrap(ret, type)
105
105
  end
106
106
 
107
- def prefix_container(container, linkend, target)
107
+ def prefix_container(container, linkend, node, target)
108
108
  delim = ", "
109
- type = :xref
110
- if @xrefs.anchor(target, :type) == "listitem" &&
109
+ ref = if @xrefs.anchor(target, :type) == "listitem" &&
111
110
  !@xrefs.anchor(target, :refer_list)
112
- delim = " "
113
- type = :label # 7 a) not Clause 7 a), but Clause 7 List 1 a)
114
- end
115
- l10n(@xrefs.anchor(container, type) + delim + linkend)
111
+ delim = " "
112
+ @xrefs.anchor(container, :label)
113
+ # 7 a) : Clause 7 a), but Clause 7 List 1 a)
114
+ else
115
+ anchor_xref(node, container)
116
+ end
117
+
118
+ l10n(ref + delim + linkend)
116
119
  end
117
120
 
118
121
  def expand_citeas(text)
@@ -48,7 +48,7 @@ module IsoDoc
48
48
  end
49
49
 
50
50
  def foreword(isoxml, out)
51
- f = isoxml.at(ns("//foreword")) || return
51
+ f = isoxml.at(ns("//foreword")) or return
52
52
  @foreword = true
53
53
  page_break(out)
54
54
  out.div **attr_code(id: f["id"]) do |s|
@@ -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>
@@ -1125,26 +1120,4 @@
1125
1120
  </zeroOrMore>
1126
1121
  </element>
1127
1122
  </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
1123
  </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
+ <value>document</value>
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>
@@ -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"/>
@@ -170,27 +171,25 @@
170
171
  </define>
171
172
  <define name="contributor">
172
173
  <element name="contributor">
173
- <zeroOrMore>
174
+ <oneOrMore>
174
175
  <ref name="role"/>
175
- </zeroOrMore>
176
+ </oneOrMore>
176
177
  <ref name="ContributorInfo"/>
177
178
  </element>
178
179
  </define>
179
180
  <define name="role">
180
181
  <element name="role">
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
- </choice>
192
- </attribute>
193
- </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
+ </choice>
192
+ </attribute>
194
193
  <zeroOrMore>
195
194
  <ref name="roledescription"/>
196
195
  </zeroOrMore>
@@ -512,6 +511,17 @@
512
511
  </define>
513
512
  <define name="localityStack">
514
513
  <element name="localityStack">
514
+ <optional>
515
+ <attribute name="connective">
516
+ <choice>
517
+ <value>and</value>
518
+ <value>or</value>
519
+ <value>from</value>
520
+ <value>to</value>
521
+ <value/>
522
+ </choice>
523
+ </attribute>
524
+ </optional>
515
525
  <zeroOrMore>
516
526
  <ref name="locality"/>
517
527
  </zeroOrMore>
@@ -524,6 +534,17 @@
524
534
  </define>
525
535
  <define name="sourceLocalityStack">
526
536
  <element name="sourceLocalityStack">
537
+ <optional>
538
+ <attribute name="connective">
539
+ <choice>
540
+ <value>and</value>
541
+ <value>or</value>
542
+ <value>from</value>
543
+ <value>to</value>
544
+ <value/>
545
+ </choice>
546
+ </attribute>
547
+ </optional>
527
548
  <zeroOrMore>
528
549
  <ref name="sourceLocality"/>
529
550
  </zeroOrMore>
@@ -626,6 +647,9 @@
626
647
  <ref name="BibItemType"/>
627
648
  </attribute>
628
649
  </optional>
650
+ <optional>
651
+ <attribute name="schema-version"/>
652
+ </optional>
629
653
  <optional>
630
654
  <ref name="fetched"/>
631
655
  </optional>
@@ -720,6 +744,9 @@
720
744
  <ref name="BibItemType"/>
721
745
  </attribute>
722
746
  </optional>
747
+ <optional>
748
+ <attribute name="schema-version"/>
749
+ </optional>
723
750
  <optional>
724
751
  <ref name="fetched"/>
725
752
  </optional>