metanorma-un 0.11.8 → 0.12.1

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: 180ec8341cf935357ed33d2ef1bdb578fe9ccfa9dcba09d7aee60dab04ecab4a
4
- data.tar.gz: 596e73d96b3b45c0e243f44090bd8f1f6887a8595b844ed0db9ebac827f664d4
3
+ metadata.gz: 6ca1718fe6e550e1d258909aa0fd41cd2504819961992616742a291f59b6b26f
4
+ data.tar.gz: 3115ad4a86646bac1ebed1fa17dc9e52c97da57ae8da1a5b22310ca26be77580
5
5
  SHA512:
6
- metadata.gz: d1b9e13a83ad0fcec990270385d62aff3dac6ff70da2abf4e3d118ed2df79c52a87adf77312beef7154cfce674fca1bf695db59a3a0941602843142a83bca9a7
7
- data.tar.gz: 56f82f644b2d86d5d77c0fa210a7c0b0a504ca314015e1968ed56862ec5ed0064213c95f5d93298424b32facf4780a8c52644866a436bd2cc6d20ef7159462eb
6
+ metadata.gz: 793116ea6802000c243ebed98df18b9ba2b8fa20bdf012e76986d80fd8974974d635a42f59aa86ac6f457107c882d26b4f0746b15a40ee57b983e0cd7d5ea576
7
+ data.tar.gz: 214a04cacddd622d3e636b4b1f681a120d19c2392ad44912b4753926cfed243bda2ac294d73e0d9b92d9046b00cf399f34c27f29c5151c64ee684fd12eda53f1
@@ -2471,7 +2471,9 @@
2471
2471
  </xsl:template> <!-- license-statement/p -->
2472
2472
 
2473
2473
  <xsl:template match="*[local-name()='legal-statement']">
2474
+ <xsl:param name="isLegacy">false</xsl:param>
2474
2475
  <fo:block xsl:use-attribute-sets="legal-statement-style">
2476
+
2475
2477
  <xsl:apply-templates/>
2476
2478
  </fo:block>
2477
2479
  </xsl:template> <!-- legal-statement -->
@@ -4740,13 +4742,14 @@
4740
4742
  <!-- ================= -->
4741
4743
  <!-- Added,deleted text -->
4742
4744
  <!-- ================= -->
4743
- <xsl:template match="*[local-name()='add']" name="tag_add">
4745
+ <xsl:template match="*[local-name()='add'] | *[local-name() = 'change-open-tag'] | *[local-name() = 'change-close-tag']" name="tag_add">
4744
4746
  <xsl:param name="skip">true</xsl:param>
4745
4747
  <xsl:param name="block">false</xsl:param>
4746
4748
  <xsl:param name="type"/>
4747
4749
  <xsl:param name="text-align"/>
4748
4750
  <xsl:choose>
4749
- <xsl:when test="starts-with(., $ace_tag)"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start -->
4751
+ <xsl:when test="starts-with(., $ace_tag) or local-name() = 'change-open-tag' or local-name() = 'change-close-tag'"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start, or
4752
+ <change-open-tag>A<sub>1</sub></change-open-tag>, <change-close-tag>A<sub>1</sub></change-close-tag> -->
4750
4753
  <xsl:choose>
4751
4754
  <xsl:when test="$skip = 'true' and ((local-name(../..) = 'note' and not(preceding-sibling::node())) or (local-name(..) = 'title' and preceding-sibling::node()[1][local-name() = 'tab']) or local-name(..) = 'formattedref' and not(preceding-sibling::node())) and ../node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]"><!-- start tag displayed in template name="note" and title --></xsl:when>
4752
4755
  <xsl:otherwise>
@@ -4754,12 +4757,32 @@
4754
4757
  <xsl:call-template name="insertTag">
4755
4758
  <xsl:with-param name="type">
4756
4759
  <xsl:choose>
4760
+ <xsl:when test="local-name() = 'change-open-tag'">start</xsl:when>
4761
+ <xsl:when test="local-name() = 'change-close-tag'">end</xsl:when>
4757
4762
  <xsl:when test="$type = ''"><xsl:value-of select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end --></xsl:when>
4758
4763
  <xsl:otherwise><xsl:value-of select="$type"/></xsl:otherwise>
4759
4764
  </xsl:choose>
4760
4765
  </xsl:with-param>
4761
- <xsl:with-param name="kind" select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
4762
- <xsl:with-param name="value" select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
4766
+ <xsl:with-param name="kind">
4767
+ <xsl:choose>
4768
+ <xsl:when test="local-name() = 'change-open-tag' or local-name() = 'change-close-tag'">
4769
+ <xsl:value-of select="text()"/>
4770
+ </xsl:when>
4771
+ <xsl:otherwise>
4772
+ <xsl:value-of select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
4773
+ </xsl:otherwise>
4774
+ </xsl:choose>
4775
+ </xsl:with-param>
4776
+ <xsl:with-param name="value">
4777
+ <xsl:choose>
4778
+ <xsl:when test="local-name() = 'change-open-tag' or local-name() = 'change-close-tag'">
4779
+ <xsl:value-of select="*[local-name() = 'sub']"/>
4780
+ </xsl:when>
4781
+ <xsl:otherwise>
4782
+ <xsl:value-of select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
4783
+ </xsl:otherwise>
4784
+ </xsl:choose>
4785
+ </xsl:with-param>
4763
4786
  </xsl:call-template>
4764
4787
  </xsl:variable>
4765
4788
  <xsl:choose>
@@ -6976,11 +6999,17 @@
6976
6999
  </xsl:when>
6977
7000
  <xsl:otherwise>
6978
7001
 
7002
+ <xsl:variable name="image_class" select="ancestor::*[local-name() = 'image']/@class"/>
7003
+ <xsl:variable name="ancestor_table_cell" select="normalize-space(ancestor::*[local-name() = 'td'] or ancestor::*[local-name() = 'th'])"/>
7004
+
6979
7005
  <xsl:variable name="element">
6980
7006
  <xsl:choose>
6981
7007
  <xsl:when test="ancestor::*[local-name() = 'tr'] and $isGenerateTableIF = 'true'">
6982
7008
  <fo:inline xsl:use-attribute-sets="image-style" text-align="left"/>
6983
7009
  </xsl:when>
7010
+ <xsl:when test="not(ancestor::*[local-name() = 'figure'])">
7011
+ <fo:inline xsl:use-attribute-sets="image-style" text-align="left"/>
7012
+ </xsl:when>
6984
7013
  <xsl:otherwise>
6985
7014
  <fo:block xsl:use-attribute-sets="image-style">
6986
7015
  <xsl:if test="ancestor::*[local-name() = 'dt']">
@@ -6996,10 +7025,24 @@
6996
7025
  <xsl:copy-of select="@*"/>
6997
7026
  <!-- <fo:block xsl:use-attribute-sets="image-style"> -->
6998
7027
  <fo:instream-foreign-object fox:alt-text="{$alt-text}">
6999
- <xsl:if test="$isGenerateTableIF = 'false'">
7000
- <xsl:attribute name="width">100%</xsl:attribute>
7001
- </xsl:if>
7002
- <xsl:attribute name="content-height">100%</xsl:attribute>
7028
+
7029
+ <xsl:choose>
7030
+ <xsl:when test="$image_class = 'corrigenda-tag'">
7031
+ <xsl:attribute name="fox:alt-text">CorrigendaTag</xsl:attribute>
7032
+ <xsl:attribute name="baseline-shift">-10%</xsl:attribute>
7033
+ <xsl:if test="$ancestor_table_cell = 'true'">
7034
+ <xsl:attribute name="baseline-shift">-25%</xsl:attribute>
7035
+ </xsl:if>
7036
+ <xsl:attribute name="height">3.5mm</xsl:attribute>
7037
+ </xsl:when>
7038
+ <xsl:otherwise>
7039
+ <xsl:if test="$isGenerateTableIF = 'false'">
7040
+ <xsl:attribute name="width">100%</xsl:attribute>
7041
+ </xsl:if>
7042
+ <xsl:attribute name="content-height">100%</xsl:attribute>
7043
+ </xsl:otherwise>
7044
+ </xsl:choose>
7045
+
7003
7046
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
7004
7047
  <xsl:variable name="svg_width" select="xalan:nodeset($svg_content)/*/@width"/>
7005
7048
  <xsl:variable name="svg_height" select="xalan:nodeset($svg_content)/*/@height"/>
@@ -9173,14 +9216,16 @@
9173
9216
 
9174
9217
  <xsl:template match="*[local-name() = 'annex']">
9175
9218
  <fo:block break-after="page"/>
9176
- <fo:block id="{@id}">
9219
+ <fo:block>
9177
9220
 
9178
9221
  <xsl:call-template name="setBlockSpanAll"/>
9179
9222
 
9180
9223
  <xsl:call-template name="refine_annex_style"/>
9181
9224
 
9182
9225
  </fo:block>
9183
- <xsl:apply-templates/>
9226
+ <fo:block id="{@id}">
9227
+ <xsl:apply-templates/>
9228
+ </fo:block>
9184
9229
  </xsl:template>
9185
9230
 
9186
9231
  <xsl:template name="refine_annex_style">
@@ -9205,13 +9250,19 @@
9205
9250
  <fo:block id="{@id}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
9206
9251
  </xsl:when>
9207
9252
  <!-- if there isn't element with id 'from', then create 'bookmark' here -->
9208
- <xsl:when test="not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
9253
+ <xsl:when test="ancestor::*[contains(local-name(), '-standard')] and not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
9254
+ <fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
9255
+ </xsl:when>
9256
+ <xsl:when test="not(//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
9209
9257
  <fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
9210
9258
  </xsl:when>
9211
9259
  </xsl:choose>
9212
9260
 
9213
9261
  </xsl:template>
9214
9262
 
9263
+ <!-- https://github.com/metanorma/mn-samples-bsi/issues/312 -->
9264
+ <xsl:template match="*[local-name() = 'review'][@type = 'other']"/>
9265
+
9215
9266
  <xsl:template match="*[local-name() = 'name']/text()">
9216
9267
  <!-- 0xA0 to space replacement -->
9217
9268
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
@@ -10801,7 +10852,7 @@
10801
10852
 
10802
10853
  <xsl:template name="printEdition">
10803
10854
  <xsl:variable name="edition_i18n" select="normalize-space((//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) != ''])"/>
10804
- <xsl:text> </xsl:text>
10855
+
10805
10856
  <xsl:choose>
10806
10857
  <xsl:when test="$edition_i18n != ''">
10807
10858
  <!-- Example: <edition language="fr">deuxième édition</edition> -->
@@ -2471,7 +2471,9 @@
2471
2471
  </xsl:template> <!-- license-statement/p -->
2472
2472
 
2473
2473
  <xsl:template match="*[local-name()='legal-statement']">
2474
+ <xsl:param name="isLegacy">false</xsl:param>
2474
2475
  <fo:block xsl:use-attribute-sets="legal-statement-style">
2476
+
2475
2477
  <xsl:apply-templates/>
2476
2478
  </fo:block>
2477
2479
  </xsl:template> <!-- legal-statement -->
@@ -4740,13 +4742,14 @@
4740
4742
  <!-- ================= -->
4741
4743
  <!-- Added,deleted text -->
4742
4744
  <!-- ================= -->
4743
- <xsl:template match="*[local-name()='add']" name="tag_add">
4745
+ <xsl:template match="*[local-name()='add'] | *[local-name() = 'change-open-tag'] | *[local-name() = 'change-close-tag']" name="tag_add">
4744
4746
  <xsl:param name="skip">true</xsl:param>
4745
4747
  <xsl:param name="block">false</xsl:param>
4746
4748
  <xsl:param name="type"/>
4747
4749
  <xsl:param name="text-align"/>
4748
4750
  <xsl:choose>
4749
- <xsl:when test="starts-with(., $ace_tag)"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start -->
4751
+ <xsl:when test="starts-with(., $ace_tag) or local-name() = 'change-open-tag' or local-name() = 'change-close-tag'"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start, or
4752
+ <change-open-tag>A<sub>1</sub></change-open-tag>, <change-close-tag>A<sub>1</sub></change-close-tag> -->
4750
4753
  <xsl:choose>
4751
4754
  <xsl:when test="$skip = 'true' and ((local-name(../..) = 'note' and not(preceding-sibling::node())) or (local-name(..) = 'title' and preceding-sibling::node()[1][local-name() = 'tab']) or local-name(..) = 'formattedref' and not(preceding-sibling::node())) and ../node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]"><!-- start tag displayed in template name="note" and title --></xsl:when>
4752
4755
  <xsl:otherwise>
@@ -4754,12 +4757,32 @@
4754
4757
  <xsl:call-template name="insertTag">
4755
4758
  <xsl:with-param name="type">
4756
4759
  <xsl:choose>
4760
+ <xsl:when test="local-name() = 'change-open-tag'">start</xsl:when>
4761
+ <xsl:when test="local-name() = 'change-close-tag'">end</xsl:when>
4757
4762
  <xsl:when test="$type = ''"><xsl:value-of select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end --></xsl:when>
4758
4763
  <xsl:otherwise><xsl:value-of select="$type"/></xsl:otherwise>
4759
4764
  </xsl:choose>
4760
4765
  </xsl:with-param>
4761
- <xsl:with-param name="kind" select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
4762
- <xsl:with-param name="value" select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
4766
+ <xsl:with-param name="kind">
4767
+ <xsl:choose>
4768
+ <xsl:when test="local-name() = 'change-open-tag' or local-name() = 'change-close-tag'">
4769
+ <xsl:value-of select="text()"/>
4770
+ </xsl:when>
4771
+ <xsl:otherwise>
4772
+ <xsl:value-of select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
4773
+ </xsl:otherwise>
4774
+ </xsl:choose>
4775
+ </xsl:with-param>
4776
+ <xsl:with-param name="value">
4777
+ <xsl:choose>
4778
+ <xsl:when test="local-name() = 'change-open-tag' or local-name() = 'change-close-tag'">
4779
+ <xsl:value-of select="*[local-name() = 'sub']"/>
4780
+ </xsl:when>
4781
+ <xsl:otherwise>
4782
+ <xsl:value-of select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
4783
+ </xsl:otherwise>
4784
+ </xsl:choose>
4785
+ </xsl:with-param>
4763
4786
  </xsl:call-template>
4764
4787
  </xsl:variable>
4765
4788
  <xsl:choose>
@@ -6976,11 +6999,17 @@
6976
6999
  </xsl:when>
6977
7000
  <xsl:otherwise>
6978
7001
 
7002
+ <xsl:variable name="image_class" select="ancestor::*[local-name() = 'image']/@class"/>
7003
+ <xsl:variable name="ancestor_table_cell" select="normalize-space(ancestor::*[local-name() = 'td'] or ancestor::*[local-name() = 'th'])"/>
7004
+
6979
7005
  <xsl:variable name="element">
6980
7006
  <xsl:choose>
6981
7007
  <xsl:when test="ancestor::*[local-name() = 'tr'] and $isGenerateTableIF = 'true'">
6982
7008
  <fo:inline xsl:use-attribute-sets="image-style" text-align="left"/>
6983
7009
  </xsl:when>
7010
+ <xsl:when test="not(ancestor::*[local-name() = 'figure'])">
7011
+ <fo:inline xsl:use-attribute-sets="image-style" text-align="left"/>
7012
+ </xsl:when>
6984
7013
  <xsl:otherwise>
6985
7014
  <fo:block xsl:use-attribute-sets="image-style">
6986
7015
  <xsl:if test="ancestor::*[local-name() = 'dt']">
@@ -6996,10 +7025,24 @@
6996
7025
  <xsl:copy-of select="@*"/>
6997
7026
  <!-- <fo:block xsl:use-attribute-sets="image-style"> -->
6998
7027
  <fo:instream-foreign-object fox:alt-text="{$alt-text}">
6999
- <xsl:if test="$isGenerateTableIF = 'false'">
7000
- <xsl:attribute name="width">100%</xsl:attribute>
7001
- </xsl:if>
7002
- <xsl:attribute name="content-height">100%</xsl:attribute>
7028
+
7029
+ <xsl:choose>
7030
+ <xsl:when test="$image_class = 'corrigenda-tag'">
7031
+ <xsl:attribute name="fox:alt-text">CorrigendaTag</xsl:attribute>
7032
+ <xsl:attribute name="baseline-shift">-10%</xsl:attribute>
7033
+ <xsl:if test="$ancestor_table_cell = 'true'">
7034
+ <xsl:attribute name="baseline-shift">-25%</xsl:attribute>
7035
+ </xsl:if>
7036
+ <xsl:attribute name="height">3.5mm</xsl:attribute>
7037
+ </xsl:when>
7038
+ <xsl:otherwise>
7039
+ <xsl:if test="$isGenerateTableIF = 'false'">
7040
+ <xsl:attribute name="width">100%</xsl:attribute>
7041
+ </xsl:if>
7042
+ <xsl:attribute name="content-height">100%</xsl:attribute>
7043
+ </xsl:otherwise>
7044
+ </xsl:choose>
7045
+
7003
7046
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
7004
7047
  <xsl:variable name="svg_width" select="xalan:nodeset($svg_content)/*/@width"/>
7005
7048
  <xsl:variable name="svg_height" select="xalan:nodeset($svg_content)/*/@height"/>
@@ -9173,14 +9216,16 @@
9173
9216
 
9174
9217
  <xsl:template match="*[local-name() = 'annex']">
9175
9218
  <fo:block break-after="page"/>
9176
- <fo:block id="{@id}">
9219
+ <fo:block>
9177
9220
 
9178
9221
  <xsl:call-template name="setBlockSpanAll"/>
9179
9222
 
9180
9223
  <xsl:call-template name="refine_annex_style"/>
9181
9224
 
9182
9225
  </fo:block>
9183
- <xsl:apply-templates/>
9226
+ <fo:block id="{@id}">
9227
+ <xsl:apply-templates/>
9228
+ </fo:block>
9184
9229
  </xsl:template>
9185
9230
 
9186
9231
  <xsl:template name="refine_annex_style">
@@ -9205,13 +9250,19 @@
9205
9250
  <fo:block id="{@id}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
9206
9251
  </xsl:when>
9207
9252
  <!-- if there isn't element with id 'from', then create 'bookmark' here -->
9208
- <xsl:when test="not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
9253
+ <xsl:when test="ancestor::*[contains(local-name(), '-standard')] and not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
9254
+ <fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
9255
+ </xsl:when>
9256
+ <xsl:when test="not(//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
9209
9257
  <fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
9210
9258
  </xsl:when>
9211
9259
  </xsl:choose>
9212
9260
 
9213
9261
  </xsl:template>
9214
9262
 
9263
+ <!-- https://github.com/metanorma/mn-samples-bsi/issues/312 -->
9264
+ <xsl:template match="*[local-name() = 'review'][@type = 'other']"/>
9265
+
9215
9266
  <xsl:template match="*[local-name() = 'name']/text()">
9216
9267
  <!-- 0xA0 to space replacement -->
9217
9268
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
@@ -10801,7 +10852,7 @@
10801
10852
 
10802
10853
  <xsl:template name="printEdition">
10803
10854
  <xsl:variable name="edition_i18n" select="normalize-space((//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) != ''])"/>
10804
- <xsl:text> </xsl:text>
10855
+
10805
10856
  <xsl:choose>
10806
10857
  <xsl:when test="$edition_i18n != ''">
10807
10858
  <!-- Example: <edition language="fr">deuxième édition</edition> -->
@@ -2602,7 +2602,9 @@
2602
2602
  </xsl:template> <!-- license-statement/p -->
2603
2603
 
2604
2604
  <xsl:template match="*[local-name()='legal-statement']">
2605
+ <xsl:param name="isLegacy">false</xsl:param>
2605
2606
  <fo:block xsl:use-attribute-sets="legal-statement-style">
2607
+
2606
2608
  <xsl:apply-templates/>
2607
2609
  </fo:block>
2608
2610
  </xsl:template> <!-- legal-statement -->
@@ -4867,13 +4869,14 @@
4867
4869
  <!-- ================= -->
4868
4870
  <!-- Added,deleted text -->
4869
4871
  <!-- ================= -->
4870
- <xsl:template match="*[local-name()='add']" name="tag_add">
4872
+ <xsl:template match="*[local-name()='add'] | *[local-name() = 'change-open-tag'] | *[local-name() = 'change-close-tag']" name="tag_add">
4871
4873
  <xsl:param name="skip">true</xsl:param>
4872
4874
  <xsl:param name="block">false</xsl:param>
4873
4875
  <xsl:param name="type"/>
4874
4876
  <xsl:param name="text-align"/>
4875
4877
  <xsl:choose>
4876
- <xsl:when test="starts-with(., $ace_tag)"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start -->
4878
+ <xsl:when test="starts-with(., $ace_tag) or local-name() = 'change-open-tag' or local-name() = 'change-close-tag'"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start, or
4879
+ <change-open-tag>A<sub>1</sub></change-open-tag>, <change-close-tag>A<sub>1</sub></change-close-tag> -->
4877
4880
  <xsl:choose>
4878
4881
  <xsl:when test="$skip = 'true' and ((local-name(../..) = 'note' and not(preceding-sibling::node())) or (local-name(..) = 'title' and preceding-sibling::node()[1][local-name() = 'tab']) or local-name(..) = 'formattedref' and not(preceding-sibling::node())) and ../node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]"><!-- start tag displayed in template name="note" and title --></xsl:when>
4879
4882
  <xsl:otherwise>
@@ -4881,12 +4884,32 @@
4881
4884
  <xsl:call-template name="insertTag">
4882
4885
  <xsl:with-param name="type">
4883
4886
  <xsl:choose>
4887
+ <xsl:when test="local-name() = 'change-open-tag'">start</xsl:when>
4888
+ <xsl:when test="local-name() = 'change-close-tag'">end</xsl:when>
4884
4889
  <xsl:when test="$type = ''"><xsl:value-of select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end --></xsl:when>
4885
4890
  <xsl:otherwise><xsl:value-of select="$type"/></xsl:otherwise>
4886
4891
  </xsl:choose>
4887
4892
  </xsl:with-param>
4888
- <xsl:with-param name="kind" select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
4889
- <xsl:with-param name="value" select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
4893
+ <xsl:with-param name="kind">
4894
+ <xsl:choose>
4895
+ <xsl:when test="local-name() = 'change-open-tag' or local-name() = 'change-close-tag'">
4896
+ <xsl:value-of select="text()"/>
4897
+ </xsl:when>
4898
+ <xsl:otherwise>
4899
+ <xsl:value-of select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
4900
+ </xsl:otherwise>
4901
+ </xsl:choose>
4902
+ </xsl:with-param>
4903
+ <xsl:with-param name="value">
4904
+ <xsl:choose>
4905
+ <xsl:when test="local-name() = 'change-open-tag' or local-name() = 'change-close-tag'">
4906
+ <xsl:value-of select="*[local-name() = 'sub']"/>
4907
+ </xsl:when>
4908
+ <xsl:otherwise>
4909
+ <xsl:value-of select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
4910
+ </xsl:otherwise>
4911
+ </xsl:choose>
4912
+ </xsl:with-param>
4890
4913
  </xsl:call-template>
4891
4914
  </xsl:variable>
4892
4915
  <xsl:choose>
@@ -7103,11 +7126,17 @@
7103
7126
  </xsl:when>
7104
7127
  <xsl:otherwise>
7105
7128
 
7129
+ <xsl:variable name="image_class" select="ancestor::*[local-name() = 'image']/@class"/>
7130
+ <xsl:variable name="ancestor_table_cell" select="normalize-space(ancestor::*[local-name() = 'td'] or ancestor::*[local-name() = 'th'])"/>
7131
+
7106
7132
  <xsl:variable name="element">
7107
7133
  <xsl:choose>
7108
7134
  <xsl:when test="ancestor::*[local-name() = 'tr'] and $isGenerateTableIF = 'true'">
7109
7135
  <fo:inline xsl:use-attribute-sets="image-style" text-align="left"/>
7110
7136
  </xsl:when>
7137
+ <xsl:when test="not(ancestor::*[local-name() = 'figure'])">
7138
+ <fo:inline xsl:use-attribute-sets="image-style" text-align="left"/>
7139
+ </xsl:when>
7111
7140
  <xsl:otherwise>
7112
7141
  <fo:block xsl:use-attribute-sets="image-style">
7113
7142
  <xsl:if test="ancestor::*[local-name() = 'dt']">
@@ -7123,10 +7152,24 @@
7123
7152
  <xsl:copy-of select="@*"/>
7124
7153
  <!-- <fo:block xsl:use-attribute-sets="image-style"> -->
7125
7154
  <fo:instream-foreign-object fox:alt-text="{$alt-text}">
7126
- <xsl:if test="$isGenerateTableIF = 'false'">
7127
- <xsl:attribute name="width">100%</xsl:attribute>
7128
- </xsl:if>
7129
- <xsl:attribute name="content-height">100%</xsl:attribute>
7155
+
7156
+ <xsl:choose>
7157
+ <xsl:when test="$image_class = 'corrigenda-tag'">
7158
+ <xsl:attribute name="fox:alt-text">CorrigendaTag</xsl:attribute>
7159
+ <xsl:attribute name="baseline-shift">-10%</xsl:attribute>
7160
+ <xsl:if test="$ancestor_table_cell = 'true'">
7161
+ <xsl:attribute name="baseline-shift">-25%</xsl:attribute>
7162
+ </xsl:if>
7163
+ <xsl:attribute name="height">3.5mm</xsl:attribute>
7164
+ </xsl:when>
7165
+ <xsl:otherwise>
7166
+ <xsl:if test="$isGenerateTableIF = 'false'">
7167
+ <xsl:attribute name="width">100%</xsl:attribute>
7168
+ </xsl:if>
7169
+ <xsl:attribute name="content-height">100%</xsl:attribute>
7170
+ </xsl:otherwise>
7171
+ </xsl:choose>
7172
+
7130
7173
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
7131
7174
  <xsl:variable name="svg_width" select="xalan:nodeset($svg_content)/*/@width"/>
7132
7175
  <xsl:variable name="svg_height" select="xalan:nodeset($svg_content)/*/@height"/>
@@ -9300,14 +9343,16 @@
9300
9343
 
9301
9344
  <xsl:template match="*[local-name() = 'annex']">
9302
9345
  <fo:block break-after="page"/>
9303
- <fo:block id="{@id}">
9346
+ <fo:block>
9304
9347
 
9305
9348
  <xsl:call-template name="setBlockSpanAll"/>
9306
9349
 
9307
9350
  <xsl:call-template name="refine_annex_style"/>
9308
9351
 
9309
9352
  </fo:block>
9310
- <xsl:apply-templates/>
9353
+ <fo:block id="{@id}">
9354
+ <xsl:apply-templates/>
9355
+ </fo:block>
9311
9356
  </xsl:template>
9312
9357
 
9313
9358
  <xsl:template name="refine_annex_style">
@@ -9332,13 +9377,19 @@
9332
9377
  <fo:block id="{@id}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
9333
9378
  </xsl:when>
9334
9379
  <!-- if there isn't element with id 'from', then create 'bookmark' here -->
9335
- <xsl:when test="not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
9380
+ <xsl:when test="ancestor::*[contains(local-name(), '-standard')] and not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
9381
+ <fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
9382
+ </xsl:when>
9383
+ <xsl:when test="not(//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
9336
9384
  <fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
9337
9385
  </xsl:when>
9338
9386
  </xsl:choose>
9339
9387
 
9340
9388
  </xsl:template>
9341
9389
 
9390
+ <!-- https://github.com/metanorma/mn-samples-bsi/issues/312 -->
9391
+ <xsl:template match="*[local-name() = 'review'][@type = 'other']"/>
9392
+
9342
9393
  <xsl:template match="*[local-name() = 'name']/text()">
9343
9394
  <!-- 0xA0 to space replacement -->
9344
9395
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
@@ -10929,7 +10980,7 @@
10929
10980
 
10930
10981
  <xsl:template name="printEdition">
10931
10982
  <xsl:variable name="edition_i18n" select="normalize-space((//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) != ''])"/>
10932
- <xsl:text> </xsl:text>
10983
+
10933
10984
  <xsl:choose>
10934
10985
  <xsl:when test="$edition_i18n != ''">
10935
10986
  <!-- Example: <edition language="fr">deuxième édition</edition> -->
@@ -95,8 +95,89 @@
95
95
  <ref name="pagebreak"/>
96
96
  <ref name="hr"/>
97
97
  <ref name="bookmark"/>
98
+ <ref name="amend"/>
98
99
  </choice>
99
100
  </define>
101
+ <define name="amend">
102
+ <element name="amend">
103
+ <ref name="AmendType"/>
104
+ </element>
105
+ </define>
106
+ <define name="AmendType">
107
+ <optional>
108
+ <attribute name="id">
109
+ <data type="ID"/>
110
+ </attribute>
111
+ </optional>
112
+ <attribute name="change">
113
+ <choice>
114
+ <value>add</value>
115
+ <value>modify</value>
116
+ <value>delete</value>
117
+ <value>replace</value>
118
+ </choice>
119
+ </attribute>
120
+ <optional>
121
+ <attribute name="path"/>
122
+ </optional>
123
+ <optional>
124
+ <attribute name="path_end"/>
125
+ </optional>
126
+ <optional>
127
+ <attribute name="title"/>
128
+ </optional>
129
+ <optional>
130
+ <element name="location">
131
+ <zeroOrMore>
132
+ <choice>
133
+ <ref name="locality"/>
134
+ <ref name="localityStack"/>
135
+ </choice>
136
+ </zeroOrMore>
137
+ </element>
138
+ </optional>
139
+ <optional>
140
+ <element name="description">
141
+ <zeroOrMore>
142
+ <ref name="BasicBlock"/>
143
+ </zeroOrMore>
144
+ </element>
145
+ </optional>
146
+ <optional>
147
+ <element name="newcontent">
148
+ <optional>
149
+ <attribute name="id">
150
+ <data type="ID"/>
151
+ </attribute>
152
+ </optional>
153
+ <zeroOrMore>
154
+ <ref name="BasicBlock"/>
155
+ </zeroOrMore>
156
+ </element>
157
+ </optional>
158
+ <zeroOrMore>
159
+ <ref name="classification"/>
160
+ </zeroOrMore>
161
+ <zeroOrMore>
162
+ <ref name="contributor"/>
163
+ </zeroOrMore>
164
+ </define>
165
+ <define name="classification">
166
+ <element name="classification">
167
+ <ref name="classification_tag"/>
168
+ <ref name="classification_value"/>
169
+ </element>
170
+ </define>
171
+ <define name="classification_tag">
172
+ <element name="tag">
173
+ <text/>
174
+ </element>
175
+ </define>
176
+ <define name="classification_value">
177
+ <element name="value">
178
+ <text/>
179
+ </element>
180
+ </define>
100
181
  <define name="paragraph">
101
182
  <element name="p">
102
183
  <ref name="ParagraphType"/>
@@ -163,6 +244,9 @@
163
244
  <data type="ID"/>
164
245
  </attribute>
165
246
  <attribute name="reviewer"/>
247
+ <optional>
248
+ <attribute name="type"/>
249
+ </optional>
166
250
  <optional>
167
251
  <attribute name="date">
168
252
  <data type="dateTime"/>
@@ -939,18 +1023,12 @@
939
1023
  </optional>
940
1024
  <optional>
941
1025
  <attribute name="width">
942
- <choice>
943
- <data type="int"/>
944
- <value>auto</value>
945
- </choice>
1026
+ <ref name="ImageSize"/>
946
1027
  </attribute>
947
1028
  </optional>
948
1029
  <optional>
949
1030
  <attribute name="height">
950
- <choice>
951
- <data type="int"/>
952
- <value>auto</value>
953
- </choice>
1031
+ <ref name="ImageSize"/>
954
1032
  </attribute>
955
1033
  </optional>
956
1034
  <optional>
@@ -965,6 +1043,14 @@
965
1043
  </attribute>
966
1044
  </optional>
967
1045
  </define>
1046
+ <define name="ImageSize">
1047
+ <choice>
1048
+ <data type="string">
1049
+ <param name="pattern">\d+([.]\d+)?(%?)</param>
1050
+ </data>
1051
+ <value>auto</value>
1052
+ </choice>
1053
+ </define>
968
1054
  <define name="video">
969
1055
  <element name="video">
970
1056
  <attribute name="id">
@@ -9,11 +9,42 @@
9
9
  -->
10
10
  <include href="biblio.rng">
11
11
  <define name="BibData">
12
- <ref name="BibliographicItem"/>
12
+ <ref name="StandardBibliographicItem"/>
13
13
  <optional>
14
14
  <ref name="ext"/>
15
15
  </optional>
16
16
  </define>
17
+ <define name="docrelation">
18
+ <element name="relation">
19
+ <attribute name="type">
20
+ <ref name="DocRelationType"/>
21
+ </attribute>
22
+ <optional>
23
+ <element name="description">
24
+ <ref name="FormattedString"/>
25
+ </element>
26
+ </optional>
27
+ <element name="bibitem">
28
+ <ref name="StandardReducedBibliographicItem"/>
29
+ </element>
30
+ <choice>
31
+ <zeroOrMore>
32
+ <ref name="locality"/>
33
+ </zeroOrMore>
34
+ <zeroOrMore>
35
+ <ref name="localityStack"/>
36
+ </zeroOrMore>
37
+ </choice>
38
+ <choice>
39
+ <zeroOrMore>
40
+ <ref name="sourceLocality"/>
41
+ </zeroOrMore>
42
+ <zeroOrMore>
43
+ <ref name="sourceLocalityStack"/>
44
+ </zeroOrMore>
45
+ </choice>
46
+ </element>
47
+ </define>
17
48
  </include>
18
49
  <define name="ext">
19
50
  <element name="ext">
@@ -161,4 +192,16 @@
161
192
  </optional>
162
193
  </element>
163
194
  </define>
195
+ <define name="StandardBibliographicItem">
196
+ <ref name="BibliographicItem"/>
197
+ <zeroOrMore>
198
+ <ref name="amend"/>
199
+ </zeroOrMore>
200
+ </define>
201
+ <define name="StandardReducedBibliographicItem">
202
+ <ref name="ReducedBibliographicItem"/>
203
+ <zeroOrMore>
204
+ <ref name="amend"/>
205
+ </zeroOrMore>
206
+ </define>
164
207
  </grammar>
@@ -241,6 +241,9 @@
241
241
  </element>
242
242
  </define>
243
243
  <define name="FullNameType">
244
+ <optional>
245
+ <ref name="name_abbreviation"/>
246
+ </optional>
244
247
  <choice>
245
248
  <group>
246
249
  <zeroOrMore>
@@ -266,6 +269,11 @@
266
269
  <ref name="variantname"/>
267
270
  </zeroOrMore>
268
271
  </define>
272
+ <define name="name_abbreviation">
273
+ <element name="abbreviation">
274
+ <ref name="LocalizedString"/>
275
+ </element>
276
+ </define>
269
277
  <define name="prefix">
270
278
  <element name="prefix">
271
279
  <ref name="LocalizedString"/>
@@ -870,6 +878,9 @@
870
878
  <optional>
871
879
  <ref name="validity"/>
872
880
  </optional>
881
+ <optional>
882
+ <ref name="depiction"/>
883
+ </optional>
873
884
  </define>
874
885
  <define name="btitle">
875
886
  <element name="title">
@@ -17,10 +17,19 @@
17
17
  these elements; we just want one namespace for any child grammars
18
18
  of this.
19
19
  -->
20
- <!-- VERSION v1.2.9 -->
20
+ <!-- VERSION v1.3.0 -->
21
21
  <grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
22
22
  <include href="reqt.rng"/>
23
23
  <include href="basicdoc.rng">
24
+ <define name="amend">
25
+ <element name="amend">
26
+ <ref name="BlockAttributes"/>
27
+ <ref name="AmendType"/>
28
+ <zeroOrMore>
29
+ <ref name="autonumber"/>
30
+ </zeroOrMore>
31
+ </element>
32
+ </define>
24
33
  <define name="admonition">
25
34
  <element name="admonition">
26
35
  <attribute name="type">
@@ -137,6 +146,9 @@
137
146
  <data type="boolean"/>
138
147
  </attribute>
139
148
  </optional>
149
+ <optional>
150
+ <attribute name="style"/>
151
+ </optional>
140
152
  <oneOrMore>
141
153
  <ref name="PureTextElement"/>
142
154
  </oneOrMore>
@@ -2319,69 +2331,6 @@
2319
2331
  <ref name="CitationType"/>
2320
2332
  </element>
2321
2333
  </define>
2322
- <define name="amend">
2323
- <element name="amend">
2324
- <optional>
2325
- <attribute name="id">
2326
- <data type="ID"/>
2327
- </attribute>
2328
- </optional>
2329
- <attribute name="change">
2330
- <choice>
2331
- <value>add</value>
2332
- <value>modify</value>
2333
- <value>delete</value>
2334
- <value>replace</value>
2335
- </choice>
2336
- </attribute>
2337
- <optional>
2338
- <attribute name="path"/>
2339
- </optional>
2340
- <optional>
2341
- <attribute name="path_end"/>
2342
- </optional>
2343
- <optional>
2344
- <attribute name="title"/>
2345
- </optional>
2346
- <ref name="BlockAttributes"/>
2347
- <optional>
2348
- <element name="location">
2349
- <zeroOrMore>
2350
- <ref name="locality"/>
2351
- </zeroOrMore>
2352
- </element>
2353
- </optional>
2354
- <zeroOrMore>
2355
- <ref name="autonumber"/>
2356
- </zeroOrMore>
2357
- <optional>
2358
- <element name="description">
2359
- <zeroOrMore>
2360
- <ref name="BasicBlock"/>
2361
- </zeroOrMore>
2362
- </element>
2363
- </optional>
2364
- <optional>
2365
- <element name="newcontent">
2366
- <optional>
2367
- <attribute name="id">
2368
- <data type="ID"/>
2369
- </attribute>
2370
- </optional>
2371
- <zeroOrMore>
2372
- <ref name="BasicBlock"/>
2373
- </zeroOrMore>
2374
- </element>
2375
- </optional>
2376
- <optional>
2377
- <element name="description">
2378
- <zeroOrMore>
2379
- <ref name="BasicBlock"/>
2380
- </zeroOrMore>
2381
- </element>
2382
- </optional>
2383
- </element>
2384
- </define>
2385
2334
  <define name="autonumber">
2386
2335
  <element name="autonumber">
2387
2336
  <attribute name="type">
@@ -207,20 +207,4 @@
207
207
  <value>permission</value>
208
208
  </choice>
209
209
  </define>
210
- <define name="classification">
211
- <element name="classification">
212
- <ref name="classification_tag"/>
213
- <ref name="classification_value"/>
214
- </element>
215
- </define>
216
- <define name="classification_tag">
217
- <element name="tag">
218
- <text/>
219
- </element>
220
- </define>
221
- <define name="classification_value">
222
- <element name="value">
223
- <text/>
224
- </element>
225
- </define>
226
210
  </grammar>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module UN
3
- VERSION = "0.11.8".freeze
3
+ VERSION = "0.12.1".freeze
4
4
  end
5
5
  end
data/metanorma-un.gemspec CHANGED
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
31
31
  spec.add_dependency "roman-numerals"
32
32
  spec.add_dependency "twitter_cldr"
33
33
 
34
- spec.add_dependency "metanorma-standoc", "~> 2.7.0"
34
+ spec.add_dependency "metanorma-standoc", "~> 2.8.0"
35
35
 
36
36
  spec.add_development_dependency "debug"
37
37
  spec.add_development_dependency "equivalent-xml", "~> 0.6"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-un
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.8
4
+ version: 0.12.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-22 00:00:00.000000000 Z
11
+ date: 2024-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: iso-639
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 2.7.0
61
+ version: 2.8.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 2.7.0
68
+ version: 2.8.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: debug
71
71
  requirement: !ruby/object:Gem::Requirement