lib/metanorma/csa/isodoc.rng in metanorma-csa-2.0.3 vs lib/metanorma/csa/isodoc.rng in metanorma-csa-2.0.4
- old
+ new
@@ -150,13 +150,11 @@
<optional>
<attribute name="droploc">
<data type="boolean"/>
</attribute>
</optional>
- <oneOrMore>
- <ref name="PureTextElement"/>
- </oneOrMore>
+ <ref name="XrefBody"/>
</element>
</define>
<define name="erefType">
<optional>
<attribute name="normative">
@@ -186,10 +184,46 @@
<ref name="CitationType"/>
<oneOrMore>
<ref name="PureTextElement"/>
</oneOrMore>
</define>
+ <define name="localityStack">
+ <element name="localityStack">
+ <optional>
+ <attribute name="connective">
+ <choice>
+ <value>and</value>
+ <value>or</value>
+ <value>from</value>
+ <value>to</value>
+ <value/>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="locality"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="sourceLocalityStack">
+ <element name="sourceLocalityStack">
+ <optional>
+ <attribute name="connective">
+ <choice>
+ <value>and</value>
+ <value>or</value>
+ <value>from</value>
+ <value>to</value>
+ <value/>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="sourceLocality"/>
+ </zeroOrMore>
+ </element>
+ </define>
<define name="ul">
<element name="ul">
<attribute name="id">
<data type="ID"/>
</attribute>
@@ -1096,10 +1130,20 @@
</optional>
</element>
</define>
</include>
<!-- end overrides -->
+ <define name="image" combine="choice">
+ <element name="svg">
+ <oneOrMore>
+ <choice>
+ <text/>
+ <ref name="AnyElement"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
<define name="MultilingualRenderingType">
<choice>
<value>common</value>
<value>all-columns</value>
<value>parallel</value>
@@ -2627,8 +2671,34 @@
<data type="int"/>
</attribute>
<zeroOrMore>
<ref name="TextElement"/>
</zeroOrMore>
+ </element>
+ </define>
+ <define name="XrefBody">
+ <zeroOrMore>
+ <ref name="XrefTarget"/>
+ </zeroOrMore>
+ <oneOrMore>
+ <ref name="PureTextElement"/>
+ </oneOrMore>
+ </define>
+ <define name="XrefTarget">
+ <element name="location">
+ <attribute name="target">
+ <data type="string">
+ <param name="pattern">\i\c*|\c+#\c+</param>
+ </data>
+ </attribute>
+ <attribute name="connective">
+ <choice>
+ <value>and</value>
+ <value>or</value>
+ <value>from</value>
+ <value>to</value>
+ <value/>
+ </choice>
+ </attribute>
</element>
</define>
</grammar>