metanorma-bipm 2.6.6 → 2.6.7

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: 4224fd72883c8da722dc4e9e46bd4a5b18fecee5a2c6d790b2ad41a783b8b7cb
4
- data.tar.gz: c6e7dd239b9907ead50a6ca765842c24b8d59d3318edee0a52ccdaa924f9dcdb
3
+ metadata.gz: e39c83f4fb053f4a23c29d5437ab95fc2774995014601edc67b8d9c62066784d
4
+ data.tar.gz: 2bfba466ded84c1382df3b998b2be19395690b94b0f62e7987026357094ea939
5
5
  SHA512:
6
- metadata.gz: df36cad0045876008cc3a654d0af5dc258e7d3fd1a052fa02fb108b8369b1835315d7d5e56166e4b714b92f9f083d7e9a72d209b3bc5eaaa46c056d95d495a32
7
- data.tar.gz: '08cee48d4c976497cc5608f559c55a8a1fe8b85ba94f9a58add7d3b01194d03efc00d1dfe217b700d6389db7eaeeefbe714e7d92f148df7f626828c758f9da95'
6
+ metadata.gz: 90b6a61f6e3f00e8f6e023ef6c00ff47e5c0ba0451dacc71ebee6459dc4bc3d90762ce5fb4c6f80b4da371073a1b290153b50c0f02193ba2fc67458a7b48d9a6
7
+ data.tar.gz: 5da3a64325da8fed66c334d4227d37127d973e2a36f78663c648d84bdf875cb46ba2aeab11501ed07b112d9cbc9fa70adfcc47e389d05fb50119a87053d93c28
@@ -971,7 +971,7 @@
971
971
  </xsl:if>
972
972
  </xsl:template>
973
973
 
974
- <xsl:template match="*[local-name() = 'fn']/*[local-name() = 'fmt-fn-label']/*[local-name() = 'sup']" priority="5" mode="flatxml">
974
+ <xsl:template match="*[local-name() = 'fn']/*[local-name() = 'fmt-fn-label']//*[local-name() = 'sup']" priority="5" mode="flatxml">
975
975
  <xsl:apply-templates mode="flatxml"/>
976
976
  </xsl:template>
977
977
 
@@ -3152,7 +3152,7 @@
3152
3152
  </xsl:template>
3153
3153
 
3154
3154
  <!-- see <xsl:template match="*[local-name()='fn']"> -->
3155
- <xsl:template match="*[local-name() = 'fn']/*[local-name() = 'fmt-fn-label']/*[local-name() = 'sup']" priority="5">
3155
+ <xsl:template match="*[local-name() = 'fn']/*[local-name() = 'fmt-fn-label']//*[local-name() = 'sup']" priority="5">
3156
3156
  <xsl:apply-templates/>
3157
3157
  </xsl:template>
3158
3158
  <!-- For: <fo:inline font-style="normal">(</fo:inline>a<fo:inline font-style="normal">)</fo:inline> -->
@@ -12474,11 +12474,11 @@
12474
12474
  </xsl:template>
12475
12475
 
12476
12476
  <!-- figure/fn -->
12477
- <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/>
12477
+ <xsl:template match="*[local-name() = 'figure'][not(@class = 'pseudocode')]/*[local-name() = 'fn']" priority="2"/>
12478
12478
  <!-- figure/note -->
12479
- <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'note']" priority="2"/>
12479
+ <xsl:template match="*[local-name() = 'figure'][not(@class = 'pseudocode')]/*[local-name() = 'note']" priority="2"/>
12480
12480
  <!-- figure/example -->
12481
- <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'example']" priority="2"/>
12481
+ <xsl:template match="*[local-name() = 'figure'][not(@class = 'pseudocode')]/*[local-name() = 'example']" priority="2"/>
12482
12482
 
12483
12483
  <!-- figure/note[@type = 'units'] -->
12484
12484
  <!-- image/note[@type = 'units'] -->
@@ -15976,6 +15976,9 @@
15976
15976
  <xsl:template match="*[local-name() = 'quote']/*[local-name() = 'author']" mode="update_xml_pres"/>
15977
15977
  <xsl:template match="*[local-name() = 'amend']" mode="update_xml_step1"/>
15978
15978
  <xsl:template match="*[local-name() = 'amend']" mode="update_xml_pres"/>
15979
+ <!-- https://github.com/metanorma/isodoc/issues/687 -->
15980
+ <xsl:template match="*[local-name() = 'source']" mode="update_xml_step1"/>
15981
+ <xsl:template match="*[local-name() = 'source']" mode="update_xml_pres"/>
15979
15982
 
15980
15983
  <xsl:template match="*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment']" mode="update_xml_step1">
15981
15984
  <xsl:copy>
@@ -16258,6 +16261,20 @@
16258
16261
  </xsl:element>
16259
16262
  </xsl:template>
16260
16263
 
16264
+ <xsl:template match="*[local-name() = 'fmt-source']"/>
16265
+ <xsl:template match="*[local-name() = 'fmt-source']" mode="update_xml_step1">
16266
+ <xsl:element name="source" namespace="{$namespace_full}">
16267
+ <xsl:copy-of select="@*"/>
16268
+ <xsl:apply-templates mode="update_xml_step1"/>
16269
+ </xsl:element>
16270
+ </xsl:template>
16271
+ <xsl:template match="*[local-name() = 'fmt-source']" mode="update_xml_pres">
16272
+ <xsl:element name="source" namespace="{$namespace_full}">
16273
+ <xsl:copy-of select="@*"/>
16274
+ <xsl:apply-templates mode="update_xml_pres"/>
16275
+ </xsl:element>
16276
+ </xsl:template>
16277
+
16261
16278
  <xsl:template match="*[local-name() = 'span'][ @class = 'fmt-caption-label' or @class = 'fmt-element-name' or @class = 'fmt-caption-delim' or @class = 'fmt-autonum-delim']" mode="update_xml_step1" priority="3">
16262
16279
  <xsl:apply-templates mode="update_xml_step1"/>
16263
16280
  </xsl:template>
@@ -17624,6 +17641,12 @@
17624
17641
  </xsl:if>
17625
17642
  </xsl:template>
17626
17643
 
17644
+ <xsl:template name="setIDforNamedDestinationInline">
17645
+ <xsl:if test="@named_dest">
17646
+ <fo:inline><xsl:call-template name="setIDforNamedDestination"/></fo:inline>
17647
+ </xsl:if>
17648
+ </xsl:template>
17649
+
17627
17650
  <xsl:template name="setNamedDestination">
17628
17651
  <!-- skip GUID, e.g. _33eac3cb-9663-4291-ae26-1d4b6f4635fc -->
17629
17652
  <xsl:if test="@id and normalize-space(java:matches(java:java.lang.String.new(@id), '_[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}')) = 'false'">
@@ -971,7 +971,7 @@
971
971
  </xsl:if>
972
972
  </xsl:template>
973
973
 
974
- <xsl:template match="*[local-name() = 'fn']/*[local-name() = 'fmt-fn-label']/*[local-name() = 'sup']" priority="5" mode="flatxml">
974
+ <xsl:template match="*[local-name() = 'fn']/*[local-name() = 'fmt-fn-label']//*[local-name() = 'sup']" priority="5" mode="flatxml">
975
975
  <xsl:apply-templates mode="flatxml"/>
976
976
  </xsl:template>
977
977
 
@@ -3152,7 +3152,7 @@
3152
3152
  </xsl:template>
3153
3153
 
3154
3154
  <!-- see <xsl:template match="*[local-name()='fn']"> -->
3155
- <xsl:template match="*[local-name() = 'fn']/*[local-name() = 'fmt-fn-label']/*[local-name() = 'sup']" priority="5">
3155
+ <xsl:template match="*[local-name() = 'fn']/*[local-name() = 'fmt-fn-label']//*[local-name() = 'sup']" priority="5">
3156
3156
  <xsl:apply-templates/>
3157
3157
  </xsl:template>
3158
3158
  <!-- For: <fo:inline font-style="normal">(</fo:inline>a<fo:inline font-style="normal">)</fo:inline> -->
@@ -12474,11 +12474,11 @@
12474
12474
  </xsl:template>
12475
12475
 
12476
12476
  <!-- figure/fn -->
12477
- <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/>
12477
+ <xsl:template match="*[local-name() = 'figure'][not(@class = 'pseudocode')]/*[local-name() = 'fn']" priority="2"/>
12478
12478
  <!-- figure/note -->
12479
- <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'note']" priority="2"/>
12479
+ <xsl:template match="*[local-name() = 'figure'][not(@class = 'pseudocode')]/*[local-name() = 'note']" priority="2"/>
12480
12480
  <!-- figure/example -->
12481
- <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'example']" priority="2"/>
12481
+ <xsl:template match="*[local-name() = 'figure'][not(@class = 'pseudocode')]/*[local-name() = 'example']" priority="2"/>
12482
12482
 
12483
12483
  <!-- figure/note[@type = 'units'] -->
12484
12484
  <!-- image/note[@type = 'units'] -->
@@ -15976,6 +15976,9 @@
15976
15976
  <xsl:template match="*[local-name() = 'quote']/*[local-name() = 'author']" mode="update_xml_pres"/>
15977
15977
  <xsl:template match="*[local-name() = 'amend']" mode="update_xml_step1"/>
15978
15978
  <xsl:template match="*[local-name() = 'amend']" mode="update_xml_pres"/>
15979
+ <!-- https://github.com/metanorma/isodoc/issues/687 -->
15980
+ <xsl:template match="*[local-name() = 'source']" mode="update_xml_step1"/>
15981
+ <xsl:template match="*[local-name() = 'source']" mode="update_xml_pres"/>
15979
15982
 
15980
15983
  <xsl:template match="*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment']" mode="update_xml_step1">
15981
15984
  <xsl:copy>
@@ -16258,6 +16261,20 @@
16258
16261
  </xsl:element>
16259
16262
  </xsl:template>
16260
16263
 
16264
+ <xsl:template match="*[local-name() = 'fmt-source']"/>
16265
+ <xsl:template match="*[local-name() = 'fmt-source']" mode="update_xml_step1">
16266
+ <xsl:element name="source" namespace="{$namespace_full}">
16267
+ <xsl:copy-of select="@*"/>
16268
+ <xsl:apply-templates mode="update_xml_step1"/>
16269
+ </xsl:element>
16270
+ </xsl:template>
16271
+ <xsl:template match="*[local-name() = 'fmt-source']" mode="update_xml_pres">
16272
+ <xsl:element name="source" namespace="{$namespace_full}">
16273
+ <xsl:copy-of select="@*"/>
16274
+ <xsl:apply-templates mode="update_xml_pres"/>
16275
+ </xsl:element>
16276
+ </xsl:template>
16277
+
16261
16278
  <xsl:template match="*[local-name() = 'span'][ @class = 'fmt-caption-label' or @class = 'fmt-element-name' or @class = 'fmt-caption-delim' or @class = 'fmt-autonum-delim']" mode="update_xml_step1" priority="3">
16262
16279
  <xsl:apply-templates mode="update_xml_step1"/>
16263
16280
  </xsl:template>
@@ -17624,6 +17641,12 @@
17624
17641
  </xsl:if>
17625
17642
  </xsl:template>
17626
17643
 
17644
+ <xsl:template name="setIDforNamedDestinationInline">
17645
+ <xsl:if test="@named_dest">
17646
+ <fo:inline><xsl:call-template name="setIDforNamedDestination"/></fo:inline>
17647
+ </xsl:if>
17648
+ </xsl:template>
17649
+
17627
17650
  <xsl:template name="setNamedDestination">
17628
17651
  <!-- skip GUID, e.g. _33eac3cb-9663-4291-ae26-1d4b6f4635fc -->
17629
17652
  <xsl:if test="@id and normalize-space(java:matches(java:java.lang.String.new(@id), '_[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}')) = 'false'">
@@ -971,7 +971,7 @@
971
971
  </xsl:if>
972
972
  </xsl:template>
973
973
 
974
- <xsl:template match="*[local-name() = 'fn']/*[local-name() = 'fmt-fn-label']/*[local-name() = 'sup']" priority="5" mode="flatxml">
974
+ <xsl:template match="*[local-name() = 'fn']/*[local-name() = 'fmt-fn-label']//*[local-name() = 'sup']" priority="5" mode="flatxml">
975
975
  <xsl:apply-templates mode="flatxml"/>
976
976
  </xsl:template>
977
977
 
@@ -3152,7 +3152,7 @@
3152
3152
  </xsl:template>
3153
3153
 
3154
3154
  <!-- see <xsl:template match="*[local-name()='fn']"> -->
3155
- <xsl:template match="*[local-name() = 'fn']/*[local-name() = 'fmt-fn-label']/*[local-name() = 'sup']" priority="5">
3155
+ <xsl:template match="*[local-name() = 'fn']/*[local-name() = 'fmt-fn-label']//*[local-name() = 'sup']" priority="5">
3156
3156
  <xsl:apply-templates/>
3157
3157
  </xsl:template>
3158
3158
  <!-- For: <fo:inline font-style="normal">(</fo:inline>a<fo:inline font-style="normal">)</fo:inline> -->
@@ -12474,11 +12474,11 @@
12474
12474
  </xsl:template>
12475
12475
 
12476
12476
  <!-- figure/fn -->
12477
- <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/>
12477
+ <xsl:template match="*[local-name() = 'figure'][not(@class = 'pseudocode')]/*[local-name() = 'fn']" priority="2"/>
12478
12478
  <!-- figure/note -->
12479
- <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'note']" priority="2"/>
12479
+ <xsl:template match="*[local-name() = 'figure'][not(@class = 'pseudocode')]/*[local-name() = 'note']" priority="2"/>
12480
12480
  <!-- figure/example -->
12481
- <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'example']" priority="2"/>
12481
+ <xsl:template match="*[local-name() = 'figure'][not(@class = 'pseudocode')]/*[local-name() = 'example']" priority="2"/>
12482
12482
 
12483
12483
  <!-- figure/note[@type = 'units'] -->
12484
12484
  <!-- image/note[@type = 'units'] -->
@@ -15976,6 +15976,9 @@
15976
15976
  <xsl:template match="*[local-name() = 'quote']/*[local-name() = 'author']" mode="update_xml_pres"/>
15977
15977
  <xsl:template match="*[local-name() = 'amend']" mode="update_xml_step1"/>
15978
15978
  <xsl:template match="*[local-name() = 'amend']" mode="update_xml_pres"/>
15979
+ <!-- https://github.com/metanorma/isodoc/issues/687 -->
15980
+ <xsl:template match="*[local-name() = 'source']" mode="update_xml_step1"/>
15981
+ <xsl:template match="*[local-name() = 'source']" mode="update_xml_pres"/>
15979
15982
 
15980
15983
  <xsl:template match="*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment']" mode="update_xml_step1">
15981
15984
  <xsl:copy>
@@ -16258,6 +16261,20 @@
16258
16261
  </xsl:element>
16259
16262
  </xsl:template>
16260
16263
 
16264
+ <xsl:template match="*[local-name() = 'fmt-source']"/>
16265
+ <xsl:template match="*[local-name() = 'fmt-source']" mode="update_xml_step1">
16266
+ <xsl:element name="source" namespace="{$namespace_full}">
16267
+ <xsl:copy-of select="@*"/>
16268
+ <xsl:apply-templates mode="update_xml_step1"/>
16269
+ </xsl:element>
16270
+ </xsl:template>
16271
+ <xsl:template match="*[local-name() = 'fmt-source']" mode="update_xml_pres">
16272
+ <xsl:element name="source" namespace="{$namespace_full}">
16273
+ <xsl:copy-of select="@*"/>
16274
+ <xsl:apply-templates mode="update_xml_pres"/>
16275
+ </xsl:element>
16276
+ </xsl:template>
16277
+
16261
16278
  <xsl:template match="*[local-name() = 'span'][ @class = 'fmt-caption-label' or @class = 'fmt-element-name' or @class = 'fmt-caption-delim' or @class = 'fmt-autonum-delim']" mode="update_xml_step1" priority="3">
16262
16279
  <xsl:apply-templates mode="update_xml_step1"/>
16263
16280
  </xsl:template>
@@ -17624,6 +17641,12 @@
17624
17641
  </xsl:if>
17625
17642
  </xsl:template>
17626
17643
 
17644
+ <xsl:template name="setIDforNamedDestinationInline">
17645
+ <xsl:if test="@named_dest">
17646
+ <fo:inline><xsl:call-template name="setIDforNamedDestination"/></fo:inline>
17647
+ </xsl:if>
17648
+ </xsl:template>
17649
+
17627
17650
  <xsl:template name="setNamedDestination">
17628
17651
  <!-- skip GUID, e.g. _33eac3cb-9663-4291-ae26-1d4b6f4635fc -->
17629
17652
  <xsl:if test="@id and normalize-space(java:matches(java:java.lang.String.new(@id), '_[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}')) = 'false'">
@@ -971,7 +971,7 @@
971
971
  </xsl:if>
972
972
  </xsl:template>
973
973
 
974
- <xsl:template match="*[local-name() = 'fn']/*[local-name() = 'fmt-fn-label']/*[local-name() = 'sup']" priority="5" mode="flatxml">
974
+ <xsl:template match="*[local-name() = 'fn']/*[local-name() = 'fmt-fn-label']//*[local-name() = 'sup']" priority="5" mode="flatxml">
975
975
  <xsl:apply-templates mode="flatxml"/>
976
976
  </xsl:template>
977
977
 
@@ -3152,7 +3152,7 @@
3152
3152
  </xsl:template>
3153
3153
 
3154
3154
  <!-- see <xsl:template match="*[local-name()='fn']"> -->
3155
- <xsl:template match="*[local-name() = 'fn']/*[local-name() = 'fmt-fn-label']/*[local-name() = 'sup']" priority="5">
3155
+ <xsl:template match="*[local-name() = 'fn']/*[local-name() = 'fmt-fn-label']//*[local-name() = 'sup']" priority="5">
3156
3156
  <xsl:apply-templates/>
3157
3157
  </xsl:template>
3158
3158
  <!-- For: <fo:inline font-style="normal">(</fo:inline>a<fo:inline font-style="normal">)</fo:inline> -->
@@ -12474,11 +12474,11 @@
12474
12474
  </xsl:template>
12475
12475
 
12476
12476
  <!-- figure/fn -->
12477
- <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/>
12477
+ <xsl:template match="*[local-name() = 'figure'][not(@class = 'pseudocode')]/*[local-name() = 'fn']" priority="2"/>
12478
12478
  <!-- figure/note -->
12479
- <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'note']" priority="2"/>
12479
+ <xsl:template match="*[local-name() = 'figure'][not(@class = 'pseudocode')]/*[local-name() = 'note']" priority="2"/>
12480
12480
  <!-- figure/example -->
12481
- <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'example']" priority="2"/>
12481
+ <xsl:template match="*[local-name() = 'figure'][not(@class = 'pseudocode')]/*[local-name() = 'example']" priority="2"/>
12482
12482
 
12483
12483
  <!-- figure/note[@type = 'units'] -->
12484
12484
  <!-- image/note[@type = 'units'] -->
@@ -15976,6 +15976,9 @@
15976
15976
  <xsl:template match="*[local-name() = 'quote']/*[local-name() = 'author']" mode="update_xml_pres"/>
15977
15977
  <xsl:template match="*[local-name() = 'amend']" mode="update_xml_step1"/>
15978
15978
  <xsl:template match="*[local-name() = 'amend']" mode="update_xml_pres"/>
15979
+ <!-- https://github.com/metanorma/isodoc/issues/687 -->
15980
+ <xsl:template match="*[local-name() = 'source']" mode="update_xml_step1"/>
15981
+ <xsl:template match="*[local-name() = 'source']" mode="update_xml_pres"/>
15979
15982
 
15980
15983
  <xsl:template match="*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment']" mode="update_xml_step1">
15981
15984
  <xsl:copy>
@@ -16258,6 +16261,20 @@
16258
16261
  </xsl:element>
16259
16262
  </xsl:template>
16260
16263
 
16264
+ <xsl:template match="*[local-name() = 'fmt-source']"/>
16265
+ <xsl:template match="*[local-name() = 'fmt-source']" mode="update_xml_step1">
16266
+ <xsl:element name="source" namespace="{$namespace_full}">
16267
+ <xsl:copy-of select="@*"/>
16268
+ <xsl:apply-templates mode="update_xml_step1"/>
16269
+ </xsl:element>
16270
+ </xsl:template>
16271
+ <xsl:template match="*[local-name() = 'fmt-source']" mode="update_xml_pres">
16272
+ <xsl:element name="source" namespace="{$namespace_full}">
16273
+ <xsl:copy-of select="@*"/>
16274
+ <xsl:apply-templates mode="update_xml_pres"/>
16275
+ </xsl:element>
16276
+ </xsl:template>
16277
+
16261
16278
  <xsl:template match="*[local-name() = 'span'][ @class = 'fmt-caption-label' or @class = 'fmt-element-name' or @class = 'fmt-caption-delim' or @class = 'fmt-autonum-delim']" mode="update_xml_step1" priority="3">
16262
16279
  <xsl:apply-templates mode="update_xml_step1"/>
16263
16280
  </xsl:template>
@@ -17624,6 +17641,12 @@
17624
17641
  </xsl:if>
17625
17642
  </xsl:template>
17626
17643
 
17644
+ <xsl:template name="setIDforNamedDestinationInline">
17645
+ <xsl:if test="@named_dest">
17646
+ <fo:inline><xsl:call-template name="setIDforNamedDestination"/></fo:inline>
17647
+ </xsl:if>
17648
+ </xsl:template>
17649
+
17627
17650
  <xsl:template name="setNamedDestination">
17628
17651
  <!-- skip GUID, e.g. _33eac3cb-9663-4291-ae26-1d4b6f4635fc -->
17629
17652
  <xsl:if test="@id and normalize-space(java:matches(java:java.lang.String.new(@id), '_[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}')) = 'false'">
@@ -1793,6 +1793,16 @@
1793
1793
  <xsl:template match="*[local-name() = 'quote']/*[local-name() = 'source']" mode="flatxml_step1"/>
1794
1794
  <xsl:template match="*[local-name() = 'quote']/*[local-name() = 'author']" mode="flatxml_step1"/>
1795
1795
  <xsl:template match="*[local-name() = 'amend']" mode="flatxml_step1"/>
1796
+ <!-- https://github.com/metanorma/isodoc/issues/687 -->
1797
+ <xsl:template match="*[local-name() = 'source']" mode="flatxml_step1"/>
1798
+
1799
+ <xsl:template match="*[local-name() = 'fmt-source']"/>
1800
+ <xsl:template match="*[local-name() = 'fmt-source']" mode="flatxml_step1">
1801
+ <xsl:element name="source" namespace="{$namespace_full}">
1802
+ <xsl:copy-of select="@*"/>
1803
+ <xsl:apply-templates mode="flatxml_step1"/>
1804
+ </xsl:element>
1805
+ </xsl:template>
1796
1806
 
1797
1807
  <xsl:template name="setCrossAlignAttributes">
1798
1808
  <xsl:variable name="is_cross_aligned">
@@ -10378,11 +10388,11 @@
10378
10388
  </xsl:template>
10379
10389
 
10380
10390
  <!-- figure/fn -->
10381
- <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/>
10391
+ <xsl:template match="*[local-name() = 'figure'][not(@class = 'pseudocode')]/*[local-name() = 'fn']" priority="2"/>
10382
10392
  <!-- figure/note -->
10383
- <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'note']" priority="2"/>
10393
+ <xsl:template match="*[local-name() = 'figure'][not(@class = 'pseudocode')]/*[local-name() = 'note']" priority="2"/>
10384
10394
  <!-- figure/example -->
10385
- <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'example']" priority="2"/>
10395
+ <xsl:template match="*[local-name() = 'figure'][not(@class = 'pseudocode')]/*[local-name() = 'example']" priority="2"/>
10386
10396
 
10387
10397
  <!-- figure/note[@type = 'units'] -->
10388
10398
  <!-- image/note[@type = 'units'] -->
@@ -13896,6 +13906,9 @@
13896
13906
  <xsl:template match="*[local-name() = 'quote']/*[local-name() = 'author']" mode="update_xml_pres"/>
13897
13907
  <xsl:template match="*[local-name() = 'amend']" mode="update_xml_step1"/>
13898
13908
  <xsl:template match="*[local-name() = 'amend']" mode="update_xml_pres"/>
13909
+ <!-- https://github.com/metanorma/isodoc/issues/687 -->
13910
+ <xsl:template match="*[local-name() = 'source']" mode="update_xml_step1"/>
13911
+ <xsl:template match="*[local-name() = 'source']" mode="update_xml_pres"/>
13899
13912
 
13900
13913
  <xsl:template match="*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment']" mode="update_xml_step1">
13901
13914
  <xsl:copy>
@@ -14178,6 +14191,20 @@
14178
14191
  </xsl:element>
14179
14192
  </xsl:template>
14180
14193
 
14194
+ <xsl:template match="*[local-name() = 'fmt-source']"/>
14195
+ <xsl:template match="*[local-name() = 'fmt-source']" mode="update_xml_step1">
14196
+ <xsl:element name="source" namespace="{$namespace_full}">
14197
+ <xsl:copy-of select="@*"/>
14198
+ <xsl:apply-templates mode="update_xml_step1"/>
14199
+ </xsl:element>
14200
+ </xsl:template>
14201
+ <xsl:template match="*[local-name() = 'fmt-source']" mode="update_xml_pres">
14202
+ <xsl:element name="source" namespace="{$namespace_full}">
14203
+ <xsl:copy-of select="@*"/>
14204
+ <xsl:apply-templates mode="update_xml_pres"/>
14205
+ </xsl:element>
14206
+ </xsl:template>
14207
+
14181
14208
  <xsl:template match="*[local-name() = 'span'][ @class = 'fmt-caption-label' or @class = 'fmt-element-name' or @class = 'fmt-caption-delim' or @class = 'fmt-autonum-delim']" mode="update_xml_step1" priority="3">
14182
14209
  <xsl:apply-templates mode="update_xml_step1"/>
14183
14210
  </xsl:template>
@@ -15535,6 +15562,12 @@
15535
15562
  </xsl:if>
15536
15563
  </xsl:template>
15537
15564
 
15565
+ <xsl:template name="setIDforNamedDestinationInline">
15566
+ <xsl:if test="@named_dest">
15567
+ <fo:inline><xsl:call-template name="setIDforNamedDestination"/></fo:inline>
15568
+ </xsl:if>
15569
+ </xsl:template>
15570
+
15538
15571
  <xsl:template name="setNamedDestination">
15539
15572
  <!-- skip GUID, e.g. _33eac3cb-9663-4291-ae26-1d4b6f4635fc -->
15540
15573
  <xsl:if test="@id and normalize-space(java:matches(java:java.lang.String.new(@id), '_[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}')) = 'false'">
@@ -56,7 +56,7 @@ module IsoDoc
56
56
  end
57
57
 
58
58
  def termsource_insert_empty_modification(docxml)
59
- docxml.xpath("//xmlns:termsource[@status = 'modified']" \
59
+ docxml.xpath("//xmlns:term//xmlns:source[@status = 'modified']" \
60
60
  "[not(xmlns:modification)]").each do |f|
61
61
  f << "<modification/>"
62
62
  end
@@ -71,11 +71,11 @@ module IsoDoc
71
71
  end
72
72
 
73
73
  def ol_label_template(_elem)
74
- super
75
- .merge({
76
- roman: %{<span class="fmt-label-delim">(</span>%<span class="fmt-label-delim">)</span>},
77
- arabic: %{%<span class="fmt-label-delim">.</span>},
78
- })
74
+ super.merge({
75
+ roman: %{<span class="fmt-label-delim">(</span>% \
76
+ <span class="fmt-label-delim">)</span>},
77
+ arabic: %{%<span class="fmt-label-delim">.</span>},
78
+ })
79
79
  end
80
80
  end
81
81
  end
@@ -49,15 +49,13 @@ module IsoDoc
49
49
  end
50
50
  end
51
51
 
52
- NUMBERED_SUBCLAUSES =
53
- "./clause[not(#{UNNUM})] | ./references[not(#{UNNUM})] | " \
54
- "./term[not(#{UNNUM})] | ./terms[not(#{UNNUM})] | " \
55
- "./definitions[not(#{UNNUM})]".freeze
52
+ NUMBERED_SUBCLAUSES = <<~XPATH.freeze
53
+ ./clause[not(#{UNNUM})] | ./references[not(#{UNNUM})] | ./term[not(#{UNNUM})] | ./terms[not(#{UNNUM})] | ./definitions[not(#{UNNUM})]
54
+ XPATH
56
55
 
57
- UNNUMBERED_SUBCLAUSES =
58
- "./clause[#{UNNUM}] | ./references[#{UNNUM}] | " \
59
- "./term[#{UNNUM}] | ./terms[#{UNNUM}] | " \
60
- "./definitions[#{UNNUM}]".freeze
56
+ UNNUMBERED_SUBCLAUSES = <<~XPATH.freeze
57
+ ./clause[#{UNNUM}] | ./references[#{UNNUM}] | ./term[#{UNNUM}] | ./terms[#{UNNUM}] | ./definitions[#{UNNUM}]
58
+ XPATH
61
59
 
62
60
  def section_name_anchors(clause, num, level)
63
61
  lbl = @jcgm ? "clause_jcgm" : "clause"
@@ -76,12 +74,12 @@ module IsoDoc
76
74
  section_name_anchors(clause, lbl, lvl)
77
75
  clause.xpath(ns(NUMBERED_SUBCLAUSES))
78
76
  .each_with_object(clause_counter(0)) do |c, i|
79
- section_names1(c, lbl, i.increment(c).print, lvl + 1)
80
- end
77
+ section_names1(c, lbl, i.increment(c).print, lvl + 1)
78
+ end
81
79
  clause.xpath(ns(UNNUMBERED_SUBCLAUSES))
82
80
  .each_with_object(clause_counter(0)) do |c, i|
83
- unnumbered_section_names1(c, lvl + 1)
84
- end
81
+ unnumbered_section_names1(c, lvl + 1)
82
+ end
85
83
  num
86
84
  end
87
85
 
@@ -100,7 +98,7 @@ module IsoDoc
100
98
  xref = labelled_autonum(@labels[lbl], num)
101
99
  label = num
102
100
  @anchors[clause["id"]] =
103
- { label: num, level: level, xref: labelled_autonum(lbl, num), # l10n("#{lbl}#{num}"),
101
+ { label: num, level: level, xref: labelled_autonum(lbl, num),
104
102
  type: "clause", elem: lbl }
105
103
  end
106
104
 
@@ -146,8 +144,7 @@ module IsoDoc
146
144
 
147
145
  def annex_name_anchors(clause, num)
148
146
  { label: annex_name_lbl(clause, num), type: "clause", value: num.to_s,
149
- xref: labelled_autonum(@annexlbl, num), # #l10n("#{@annexlbl} #{num}"),
150
- level: 1, elem: @annexlbl }
147
+ xref: labelled_autonum(@annexlbl, num), level: 1, elem: @annexlbl }
151
148
  end
152
149
 
153
150
  def annex_names(clause, num)
@@ -180,7 +177,7 @@ module IsoDoc
180
177
  @anchors[clause["id"]] = unnumbered_annex_anchors(lbl)
181
178
  if @klass.single_term_clause?(clause)
182
179
  unnumbered_annex_names1(clause.at(ns("./references | ./terms | ./definitions")),
183
- 1)
180
+ 1)
184
181
  else
185
182
  clause.xpath(ns(SUBCLAUSES))
186
183
  .each { |c| unnumbered_annex_names1(c, 2) }
@@ -191,8 +188,8 @@ module IsoDoc
191
188
  def annex_name_anchors1(clause, num, level)
192
189
  lbl = @jcgm ? "" : @annexlbl
193
190
  @anchors[clause["id"]] =
194
- { label: num, xref: labelled_autonum(lbl, num), #l10n("#{lbl}#{num}"),
195
- level: level, type: "clause", elem: lbl }
191
+ { label: num, xref: labelled_autonum(lbl, num), #l10n("#{lbl}#{num}"),
192
+ level: level, type: "clause", elem: lbl }
196
193
  end
197
194
 
198
195
  def annex_names1(clause, parentnum, num, level)
@@ -267,6 +267,10 @@ in a document (e.g. sourcecode annotations)</a:documentation>
267
267
  <value>justified</value>
268
268
  </choice>
269
269
  </define>
270
+ <define name="IdRefType">
271
+ <a:documentation>Type of cross-references to elements. In BasicDoc, these always point to id { xsd:ID } </a:documentation>
272
+ <data type="IDREF"/>
273
+ </define>
270
274
  <define name="RequiredId">
271
275
  <a:documentation>Mandatory anchor of element, to be used for cross-references within the document</a:documentation>
272
276
  <attribute name="id">
@@ -409,13 +413,13 @@ in a document (e.g. sourcecode annotations)</a:documentation>
409
413
  <attribute name="from">
410
414
  <a:documentation>Identifier for the start of the text or point in the text to which the comment applies.
411
415
  If not provided, the comment applies in the vicinity of the place it has been inserted into the text</a:documentation>
412
- <data type="IDREF"/>
416
+ <ref name="IdRefType"/>
413
417
  </attribute>
414
418
  </optional>
415
419
  <optional>
416
420
  <attribute name="to">
417
421
  <a:documentation>Identifier for the end of the text to which the comment applies</a:documentation>
418
- <data type="IDREF"/>
422
+ <ref name="IdRefType"/>
419
423
  </attribute>
420
424
  </optional>
421
425
  </define>
@@ -1504,7 +1508,7 @@ Restricted recursively to contain only other such inline elements with no identi
1504
1508
  <attribute name="to">
1505
1509
  <a:documentation>A reference to an anchor element (typically a bookmark),
1506
1510
  to indicate that the index range covers a range of locations between the current index element and the `to` anchor</a:documentation>
1507
- <data type="IDREF"/>
1511
+ <ref name="IdRefType"/>
1508
1512
  </attribute>
1509
1513
  </optional>
1510
1514
  <ref name="index-primary">
@@ -1662,7 +1666,7 @@ which can be bookmarks as well as block or section references</a:documentation>
1662
1666
  <define name="XrefAttributes">
1663
1667
  <attribute name="target">
1664
1668
  <a:documentation>The identifier of a section, block or inlined element being referenced</a:documentation>
1665
- <data type="IDREF"/>
1669
+ <ref name="IdRefType"/>
1666
1670
  </attribute>
1667
1671
  <optional>
1668
1672
  <attribute name="type">
@@ -1723,7 +1727,7 @@ The target of a footnote is the location it is embedded in within the text</a:do
1723
1727
  <attribute name="target">
1724
1728
  <a:documentation>The target of the callout is understood to be the location of the callout within the source code;
1725
1729
  the extent of the target is not expressed overtly</a:documentation>
1726
- <data type="IDREF"/>
1730
+ <ref name="IdRefType"/>
1727
1731
  </attribute>
1728
1732
  <text>
1729
1733
  <a:documentation>The label of the callout, used to identify its target within the source code</a:documentation>
@@ -17,8 +17,7 @@ module Metanorma
17
17
  def jcgm_untitled_sections_cleanup(xml)
18
18
  xml.xpath("//clause//clause | //annex//clause | //introduction/clause")
19
19
  .each do |c|
20
- next if !c&.at("./title")&.text&.empty?
21
-
20
+ !c&.at("./title")&.text&.empty? and next
22
21
  c["inline-header"] = true
23
22
  end
24
23
  end
@@ -33,7 +32,7 @@ module Metanorma
33
32
  end
34
33
 
35
34
  def xref_to_eref(elem, name)
36
- if elem.at("//bibitem[@id = '#{elem['target']}']/" \
35
+ if elem.at("//bibitem[@anchor = '#{elem['target']}']/" \
37
36
  "docidentifier[@type = 'BIPM-long']")
38
37
  elem["style"] = "BIPM-long"
39
38
  end
@@ -34,8 +34,7 @@ module Metanorma
34
34
 
35
35
  def sectiontype(node, level = true)
36
36
  ret = sectiontype1(node)
37
- return ret if ret == "terms and definitions"
38
-
37
+ ret == "terms and definitions" and return ret
39
38
  super
40
39
  end
41
40
 
@@ -2,8 +2,7 @@ module Metanorma
2
2
  module Bipm
3
3
  class Converter < Metanorma::Generic::Converter
4
4
  def metadata_committee(node, xml)
5
- return unless node.attr("committee-en") || node.attr("committee-fr")
6
-
5
+ node.attr("committee-en") || node.attr("committee-fr") or return
7
6
  xml.editorialgroup do |a|
8
7
  metadata_committee1(node, a)
9
8
  i = 2
@@ -100,8 +99,7 @@ module Metanorma
100
99
 
101
100
  def typed_title(node, xml, lang, type)
102
101
  at = { language: lang, format: "text/plain" }
103
- return unless title = node.attr("title-#{type}-#{lang}")
104
-
102
+ title = node.attr("title-#{type}-#{lang}") or return
105
103
  xml.title **attr_code(at.merge(type: "title-#{type}")) do |t1|
106
104
  t1 << Metanorma::Utils::asciidoc_sub(title)
107
105
  end
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <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">
3
- <!-- VERSION v2.0.4 -->
3
+ <!-- VERSION v2.0.5 -->
4
4
 
5
5
  <!--
6
6
  ALERT: cannot have root comments, because of https://github.com/metanorma/metanorma/issues/437
@@ -36,6 +36,12 @@
36
36
  </zeroOrMore>
37
37
  </element>
38
38
  </define>
39
+ <define name="IdRefType">
40
+ <a:documentation>Cross-references are not normalised to xsd:IDREF in Semantic XML: that is deferred to Presentation XML.
41
+ All IdRefType instances point not to `@id` in Semantic XML, which is the Content GUID for an element,
42
+ but to `@anchor`, the user-supplied cross-reference</a:documentation>
43
+ <text/>
44
+ </define>
39
45
  <define name="index-primary">
40
46
  <element name="primary">
41
47
  <oneOrMore>
@@ -238,7 +244,7 @@
238
244
  <a:documentation>Notes specific to this block</a:documentation>
239
245
  </ref>
240
246
  </zeroOrMore>
241
- <ref name="TermSource">
247
+ <ref name="BlockSource">
242
248
  <a:documentation>A source for the table</a:documentation>
243
249
  </ref>
244
250
  </define>
@@ -262,10 +268,112 @@ and is intended to be referenced by a callout within the source code</a:document
262
268
  <a:documentation>Notes whose scope is the current block</a:documentation>
263
269
  </ref>
264
270
  </zeroOrMore>
265
- <ref name="TermSource">
271
+ <ref name="BlockSource">
272
+ <a:documentation>A source for the block</a:documentation>
273
+ </ref>
274
+ </define>
275
+ <define name="FigureBody">
276
+ <optional>
277
+ <ref name="tname">
278
+ <a:documentation>The caption of the block</a:documentation>
279
+ </ref>
280
+ </optional>
281
+ <choice>
282
+ <a:documentation>Content of the figure</a:documentation>
283
+ <ref name="image"/>
284
+ <ref name="video"/>
285
+ <ref name="audio"/>
286
+ <ref name="pre"/>
287
+ <oneOrMore>
288
+ <ref name="paragraph-with-footnote"/>
289
+ </oneOrMore>
290
+ <zeroOrMore>
291
+ <ref name="figure"/>
292
+ </zeroOrMore>
293
+ </choice>
294
+ <zeroOrMore>
295
+ <ref name="fn">
296
+ <a:documentation>Footnotes specific to the figure</a:documentation>
297
+ </ref>
298
+ </zeroOrMore>
299
+ <optional>
300
+ <ref name="dl">
301
+ <a:documentation>An optional definitions list defining any symbols used in the figure</a:documentation>
302
+ </ref>
303
+ </optional>
304
+ <zeroOrMore>
305
+ <ref name="note">
306
+ <a:documentation>Notes whose scope is the current block</a:documentation>
307
+ </ref>
308
+ </zeroOrMore>
309
+ <ref name="BlockSource">
266
310
  <a:documentation>A source for the block</a:documentation>
267
311
  </ref>
268
312
  </define>
313
+ <define name="FigureNoIdBody">
314
+ <optional>
315
+ <ref name="source">
316
+ <a:documentation>A URI or other reference intended to link to an externally hosted image (or equivalent)</a:documentation>
317
+ </ref>
318
+ </optional>
319
+ <optional>
320
+ <ref name="tname">
321
+ <a:documentation>The caption of the block</a:documentation>
322
+ </ref>
323
+ </optional>
324
+ <choice>
325
+ <a:documentation>Content of the figure</a:documentation>
326
+ <ref name="image-no-id"/>
327
+ <ref name="video-no-id"/>
328
+ <ref name="audio-no-id"/>
329
+ <ref name="pre-no-id"/>
330
+ <oneOrMore>
331
+ <ref name="paragraph-with-footnote-no-id"/>
332
+ </oneOrMore>
333
+ <zeroOrMore>
334
+ <ref name="figure-no-id"/>
335
+ </zeroOrMore>
336
+ </choice>
337
+ <zeroOrMore>
338
+ <ref name="fn">
339
+ <a:documentation>Footnotes specific to the figure</a:documentation>
340
+ </ref>
341
+ </zeroOrMore>
342
+ <optional>
343
+ <ref name="dl-no-id">
344
+ <a:documentation>An optional definitions list defining any symbols used in the figure</a:documentation>
345
+ </ref>
346
+ </optional>
347
+ <zeroOrMore>
348
+ <ref name="note-no-id">
349
+ <a:documentation>Notes whose scope is the current block</a:documentation>
350
+ </ref>
351
+ </zeroOrMore>
352
+ <ref name="BlockSource">
353
+ <a:documentation>A source for the block</a:documentation>
354
+ </ref>
355
+ </define>
356
+ <define name="source">
357
+ <element name="source">
358
+ <attribute name="status">
359
+ <a:documentation>The status of the term as it is used in this document, relative to its definition in the original document</a:documentation>
360
+ <ref name="SourceStatusType"/>
361
+ </attribute>
362
+ <attribute name="type">
363
+ <a:documentation>The type of the managed term in the present context</a:documentation>
364
+ <ref name="SourceTypeType"/>
365
+ </attribute>
366
+ <ref name="origin">
367
+ <a:documentation>The original document and location where the term definition has been obtained from</a:documentation>
368
+ </ref>
369
+ <optional>
370
+ <ref name="modification">
371
+ <a:documentation>Any changes that the definition of the term has undergone relative to the original document,
372
+ in order to be applicable in this standardisation document</a:documentation>
373
+ </ref>
374
+ </optional>
375
+ </element>
376
+ </define>
269
377
  <define name="sourcecodebody">
270
378
  <a:documentation>The computer code or other such text presented in the block, as a single unformatted string.
271
379
  (The string should be treated as pre-formatted text, with whitespace treated as significant)</a:documentation>
@@ -687,6 +795,20 @@ titlecase, or lowercase</a:documentation>
687
795
  </attribute>
688
796
  </optional>
689
797
  </define>
798
+ <define name="RequiredId" combine="interleave">
799
+ <optional>
800
+ <attribute name="anchor">
801
+ <a:documentation>User-supplied anchor of element; replaced by content-based id, with all references to the anchor updated accordingly</a:documentation>
802
+ </attribute>
803
+ </optional>
804
+ </define>
805
+ <define name="OptionalId" combine="interleave">
806
+ <optional>
807
+ <attribute name="anchor">
808
+ <a:documentation> User-supplied anchor of element; replaced by content-based id, with all references to the anchor updated accordingly</a:documentation>
809
+ </attribute>
810
+ </optional>
811
+ </define>
690
812
  <define name="ObligationType">
691
813
  <a:documentation>The force of a clause in a standard document: whether it has normative or informative effect</a:documentation>
692
814
  <choice>
@@ -1081,7 +1203,7 @@ That concept may be defined as a term within the current document, or it may be
1081
1203
  <element name="label">
1082
1204
  <!-- Identifier of form input element that this element is a label of -->
1083
1205
  <attribute name="for">
1084
- <data type="IDREF"/>
1206
+ <ref name="IdRefType"/>
1085
1207
  </attribute>
1086
1208
  <zeroOrMore>
1087
1209
  <ref name="PureTextElement"/>
@@ -2121,7 +2243,7 @@ used in document amendments</a:documentation>
2121
2243
  </define>
2122
2244
  <define name="termsource">
2123
2245
  <a:documentation>The bibliographic source where a term is defined in the sense applicable in this standardisation document</a:documentation>
2124
- <element name="termsource">
2246
+ <element name="source">
2125
2247
  <attribute name="status">
2126
2248
  <a:documentation>The status of the term as it is used in this document, relative to its definition in the original document</a:documentation>
2127
2249
  <ref name="SourceStatusType"/>
@@ -2503,6 +2625,11 @@ Normative References contents contain normative references, but as a clause in t
2503
2625
  <ref name="termsource"/>
2504
2626
  </zeroOrMore>
2505
2627
  </define>
2628
+ <define name="BlockSource">
2629
+ <zeroOrMore>
2630
+ <ref name="source"/>
2631
+ </zeroOrMore>
2632
+ </define>
2506
2633
  <start>
2507
2634
  <ref name="standard-document"/>
2508
2635
  </start>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Bipm
3
- VERSION = "2.6.6".freeze
3
+ VERSION = "2.6.7".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-bipm
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.6
4
+ version: 2.6.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-04-29 00:00:00.000000000 Z
11
+ date: 2025-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-generic