metanorma-bipm 2.4.5 → 2.4.6
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 +4 -4
- data/lib/isodoc/bipm/bipm.brochure.xsl +84 -24
- data/lib/isodoc/bipm/bipm.guide.xsl +84 -24
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +84 -24
- data/lib/isodoc/bipm/bipm.rapport.xsl +84 -24
- data/lib/isodoc/bipm/jcgm.standard.xsl +91 -23
- data/lib/metanorma/bipm/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 79ddb94cee8f395735e1b4644c623b81e9522c33f4172b4372c0dfe9b19f0365
|
4
|
+
data.tar.gz: b064eeda4ff1cfbb355f11094d75e576add051310437e9e03ba60547422cac09
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a17ed61270f09965d580af5e408aca95060f0683bd6d831691f3e05148d6ca7fc2a149ebf66e8794c8cc7dc0ba65060afb04edd900596289f77c6f4e6ac6a1c
|
7
|
+
data.tar.gz: 7a3ec186afaa3e10b76398e4a2d3f32e49709465929a8931b39add40c7e76b674ee141e35f9c8a8cc91ee11dc3ead4c7f7040bf157ceecb010b83b3c346316fc
|
@@ -3883,17 +3883,30 @@
|
|
3883
3883
|
<xsl:param name="add_math_as_text">true</xsl:param> <!-- add math in text behind svg formula, to copy-paste formula from PDF as text -->
|
3884
3884
|
|
3885
3885
|
<xsl:param name="table_if">false</xsl:param> <!-- generate extended table in IF for autolayout-algorithm -->
|
3886
|
-
<xsl:param name="table_widths"/> <!-- path to xml with table's widths, generated on 1st pass, based on FOP Intermediate Format -->
|
3886
|
+
<xsl:param name="table_widths"/> <!-- (debug: path to) xml with table's widths, generated on 1st pass, based on FOP Intermediate Format -->
|
3887
3887
|
<!-- Example: <tables>
|
3888
|
-
|
3889
|
-
|
3890
|
-
|
3891
|
-
|
3892
|
-
|
3893
|
-
|
3894
|
-
|
3895
|
-
|
3896
|
-
|
3888
|
+
<table page-width="509103" id="table1" width_max="223561" width_min="223560">
|
3889
|
+
<column width_max="39354" width_min="39354"/>
|
3890
|
+
<column width_max="75394" width_min="75394"/>
|
3891
|
+
<column width_max="108813" width_min="108813"/>
|
3892
|
+
<tbody>
|
3893
|
+
<tr>
|
3894
|
+
<td width_max="39354" width_min="39354">
|
3895
|
+
<p_len>39354</p_len>
|
3896
|
+
<word_len>39354</word_len>
|
3897
|
+
</td>
|
3898
|
+
|
3899
|
+
OLD:
|
3900
|
+
<tables>
|
3901
|
+
<table id="table_if_tab-symdu" page-width="75"> - table id prefixed by 'table_if_' to simple search in IF
|
3902
|
+
<tbody>
|
3903
|
+
<tr>
|
3904
|
+
<td id="tab-symdu_1_1">
|
3905
|
+
<p_len>6</p_len>
|
3906
|
+
<p_len>100</p_len> for 2nd paragraph
|
3907
|
+
<word_len>6</word_len>
|
3908
|
+
<word_len>20</word_len>
|
3909
|
+
...
|
3897
3910
|
-->
|
3898
3911
|
|
3899
3912
|
<!-- for command line debug: <xsl:variable name="table_widths_from_if" select="document($table_widths)"/> -->
|
@@ -4117,6 +4130,9 @@
|
|
4117
4130
|
<xsl:variable name="hair_space"> </xsl:variable>
|
4118
4131
|
<xsl:variable name="en_dash">–</xsl:variable>
|
4119
4132
|
<xsl:variable name="em_dash">—</xsl:variable>
|
4133
|
+
<xsl:variable name="cr"> </xsl:variable>
|
4134
|
+
<xsl:variable name="lf">
|
4135
|
+
</xsl:variable>
|
4120
4136
|
|
4121
4137
|
<xsl:template name="getTitle">
|
4122
4138
|
<xsl:param name="name"/>
|
@@ -5819,6 +5835,20 @@
|
|
5819
5835
|
</xsl:for-each>
|
5820
5836
|
</xsl:template>
|
5821
5837
|
|
5838
|
+
<xsl:param name="table_only_with_id"/><!-- Example: table1, for table auto-layout algorithm -->
|
5839
|
+
|
5840
|
+
<xsl:template match="*[local-name()='table']" priority="2">
|
5841
|
+
<xsl:choose>
|
5842
|
+
<xsl:when test="$table_only_with_id != '' and @id = $table_only_with_id">
|
5843
|
+
<xsl:call-template name="table"/>
|
5844
|
+
</xsl:when>
|
5845
|
+
<xsl:when test="$table_only_with_id != ''"><fo:block/><!-- to prevent empty fo:block-container --></xsl:when>
|
5846
|
+
<xsl:otherwise>
|
5847
|
+
<xsl:call-template name="table"/>
|
5848
|
+
</xsl:otherwise>
|
5849
|
+
</xsl:choose>
|
5850
|
+
</xsl:template>
|
5851
|
+
|
5822
5852
|
<xsl:template match="*[local-name()='table']" name="table">
|
5823
5853
|
|
5824
5854
|
<xsl:variable name="table-preamble">
|
@@ -5828,9 +5858,11 @@
|
|
5828
5858
|
<xsl:variable name="table">
|
5829
5859
|
|
5830
5860
|
<xsl:variable name="simple-table">
|
5831
|
-
<xsl:
|
5832
|
-
<xsl:
|
5833
|
-
|
5861
|
+
<xsl:if test="$isGenerateTableIF = 'true' and $isApplyAutolayoutAlgorithm = 'true'">
|
5862
|
+
<xsl:call-template name="getSimpleTable">
|
5863
|
+
<xsl:with-param name="id" select="@id"/>
|
5864
|
+
</xsl:call-template>
|
5865
|
+
</xsl:if>
|
5834
5866
|
</xsl:variable>
|
5835
5867
|
<!-- <xsl:variable name="simple-table" select="xalan:nodeset($simple-table_)"/> -->
|
5836
5868
|
|
@@ -5932,9 +5964,9 @@
|
|
5932
5964
|
</xsl:attribute>
|
5933
5965
|
</xsl:for-each>
|
5934
5966
|
|
5935
|
-
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
|
5967
|
+
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'][not(@type = 'units')] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
|
5936
5968
|
<xsl:if test="$isNoteOrFnExist = 'true'">
|
5937
|
-
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute
|
5969
|
+
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute><!-- set 0pt border, because there is a separete table below for footer -->
|
5938
5970
|
</xsl:if>
|
5939
5971
|
|
5940
5972
|
<xsl:choose>
|
@@ -6102,6 +6134,17 @@
|
|
6102
6134
|
</xsl:if>
|
6103
6135
|
</xsl:template> <!-- table/name -->
|
6104
6136
|
|
6137
|
+
<!-- workaround solution for https://github.com/metanorma/metanorma-iso/issues/1151#issuecomment-2033087938 -->
|
6138
|
+
<xsl:template match="*[local-name()='table']/*[local-name() = 'note'][@type = 'units']/*[local-name() = 'p']/text()" priority="4">
|
6139
|
+
<xsl:choose>
|
6140
|
+
<xsl:when test="preceding-sibling::*[local-name() = 'br']">
|
6141
|
+
<!-- remove CR or LF at start -->
|
6142
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'^( | | )', '')"/>
|
6143
|
+
</xsl:when>
|
6144
|
+
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
|
6145
|
+
</xsl:choose>
|
6146
|
+
</xsl:template>
|
6147
|
+
|
6105
6148
|
<!-- SOURCE: ... -->
|
6106
6149
|
<xsl:template match="*[local-name()='table']/*[local-name() = 'source']" priority="2">
|
6107
6150
|
<xsl:call-template name="termsource"/>
|
@@ -6512,7 +6555,7 @@
|
|
6512
6555
|
<xsl:param name="colwidths"/>
|
6513
6556
|
<xsl:param name="colgroup"/>
|
6514
6557
|
|
6515
|
-
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
|
6558
|
+
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'][not(@type = 'units')] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
|
6516
6559
|
|
6517
6560
|
<xsl:variable name="isNoteOrFnExistShowAfterTable">
|
6518
6561
|
|
@@ -6578,7 +6621,7 @@
|
|
6578
6621
|
|
6579
6622
|
<!-- fn will be processed inside 'note' processing -->
|
6580
6623
|
|
6581
|
-
<xsl:if test="count(ancestor::bipm:table//*[local-name()='note']) > 1">
|
6624
|
+
<xsl:if test="count(ancestor::bipm:table//*[local-name()='note'][not(@type = 'units')]) > 1">
|
6582
6625
|
<fo:block font-weight="bold" role="SKIP">
|
6583
6626
|
<xsl:variable name="curr_lang" select="ancestor::bipm:bipm-standard/bipm:bibdata/bipm:language"/>
|
6584
6627
|
<xsl:choose>
|
@@ -6594,7 +6637,7 @@
|
|
6594
6637
|
|
6595
6638
|
<xsl:apply-templates select="../*[local-name()='p']"/>
|
6596
6639
|
<xsl:apply-templates select="../*[local-name()='dl']"/>
|
6597
|
-
<xsl:apply-templates select="../*[local-name()='note']"/>
|
6640
|
+
<xsl:apply-templates select="../*[local-name()='note'][not(@type = 'units')]"/>
|
6598
6641
|
<xsl:apply-templates select="../*[local-name()='example']"/>
|
6599
6642
|
<xsl:apply-templates select="../*[local-name()='source']"/>
|
6600
6643
|
|
@@ -6604,7 +6647,7 @@
|
|
6604
6647
|
|
6605
6648
|
<!-- horizontal row separator -->
|
6606
6649
|
<xsl:if test="normalize-space($isDisplayRowSeparator) = 'true'">
|
6607
|
-
<xsl:if test="(../*[local-name()='note'] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
|
6650
|
+
<xsl:if test="(../*[local-name()='note'][not(@type = 'units')] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
|
6608
6651
|
<fo:block-container border-top="0.5pt solid black" padding-left="1mm" padding-right="1mm">
|
6609
6652
|
|
6610
6653
|
<xsl:call-template name="setBordersTableArray"/>
|
@@ -7297,7 +7340,20 @@
|
|
7297
7340
|
<!-- Definition List -->
|
7298
7341
|
<!-- ===================== -->
|
7299
7342
|
|
7300
|
-
|
7343
|
+
<!-- for table auto-layout algorithm -->
|
7344
|
+
<xsl:template match="*[local-name()='dl']" priority="2">
|
7345
|
+
<xsl:choose>
|
7346
|
+
<xsl:when test="$table_only_with_id != '' and @id = $table_only_with_id">
|
7347
|
+
<xsl:call-template name="dl"/>
|
7348
|
+
</xsl:when>
|
7349
|
+
<xsl:when test="$table_only_with_id != ''"><fo:block/><!-- to prevent empty fo:block-container --></xsl:when>
|
7350
|
+
<xsl:otherwise>
|
7351
|
+
<xsl:call-template name="dl"/>
|
7352
|
+
</xsl:otherwise>
|
7353
|
+
</xsl:choose>
|
7354
|
+
</xsl:template>
|
7355
|
+
|
7356
|
+
<xsl:template match="*[local-name()='dl']" name="dl">
|
7301
7357
|
<xsl:variable name="isAdded" select="@added"/>
|
7302
7358
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
7303
7359
|
<!-- <dl><xsl:copy-of select="."/></dl> -->
|
@@ -9227,7 +9283,13 @@
|
|
9227
9283
|
<xsl:value-of select="$language_current_2"/>
|
9228
9284
|
</xsl:when>
|
9229
9285
|
<xsl:otherwise>
|
9230
|
-
<xsl:
|
9286
|
+
<xsl:variable name="language_current_3" select="normalize-space(//*[local-name()='bibdata']//*[local-name()='language'])"/>
|
9287
|
+
<xsl:choose>
|
9288
|
+
<xsl:when test="$language_current_3 != ''">
|
9289
|
+
<xsl:value-of select="$language_current_3"/>
|
9290
|
+
</xsl:when>
|
9291
|
+
<xsl:otherwise>en</xsl:otherwise>
|
9292
|
+
</xsl:choose>
|
9231
9293
|
</xsl:otherwise>
|
9232
9294
|
</xsl:choose>
|
9233
9295
|
</xsl:otherwise>
|
@@ -10181,7 +10243,7 @@
|
|
10181
10243
|
</xsl:when>
|
10182
10244
|
<xsl:otherwise>
|
10183
10245
|
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style">
|
10184
|
-
<xsl:if test="not(@mimetype = 'image/svg+xml') and ../*[local-name() = 'name'] and not(ancestor::*[local-name() = 'table'])">
|
10246
|
+
<xsl:if test="not(@mimetype = 'image/svg+xml') and (../*[local-name() = 'name'] or parent::*[local-name() = 'figure'][@unnumbered = 'true']) and not(ancestor::*[local-name() = 'table'])">
|
10185
10247
|
|
10186
10248
|
<xsl:if test="@width != '' and @width != 'auto' and @width != 'text-width' and @width != 'full-page-width' and @width != 'narrow'">
|
10187
10249
|
<xsl:attribute name="width">
|
@@ -15220,6 +15282,4 @@
|
|
15220
15282
|
</xsl:if>
|
15221
15283
|
</xsl:template>
|
15222
15284
|
|
15223
|
-
<!-- update -->
|
15224
|
-
|
15225
15285
|
</xsl:stylesheet>
|
@@ -3883,17 +3883,30 @@
|
|
3883
3883
|
<xsl:param name="add_math_as_text">true</xsl:param> <!-- add math in text behind svg formula, to copy-paste formula from PDF as text -->
|
3884
3884
|
|
3885
3885
|
<xsl:param name="table_if">false</xsl:param> <!-- generate extended table in IF for autolayout-algorithm -->
|
3886
|
-
<xsl:param name="table_widths"/> <!-- path to xml with table's widths, generated on 1st pass, based on FOP Intermediate Format -->
|
3886
|
+
<xsl:param name="table_widths"/> <!-- (debug: path to) xml with table's widths, generated on 1st pass, based on FOP Intermediate Format -->
|
3887
3887
|
<!-- Example: <tables>
|
3888
|
-
|
3889
|
-
|
3890
|
-
|
3891
|
-
|
3892
|
-
|
3893
|
-
|
3894
|
-
|
3895
|
-
|
3896
|
-
|
3888
|
+
<table page-width="509103" id="table1" width_max="223561" width_min="223560">
|
3889
|
+
<column width_max="39354" width_min="39354"/>
|
3890
|
+
<column width_max="75394" width_min="75394"/>
|
3891
|
+
<column width_max="108813" width_min="108813"/>
|
3892
|
+
<tbody>
|
3893
|
+
<tr>
|
3894
|
+
<td width_max="39354" width_min="39354">
|
3895
|
+
<p_len>39354</p_len>
|
3896
|
+
<word_len>39354</word_len>
|
3897
|
+
</td>
|
3898
|
+
|
3899
|
+
OLD:
|
3900
|
+
<tables>
|
3901
|
+
<table id="table_if_tab-symdu" page-width="75"> - table id prefixed by 'table_if_' to simple search in IF
|
3902
|
+
<tbody>
|
3903
|
+
<tr>
|
3904
|
+
<td id="tab-symdu_1_1">
|
3905
|
+
<p_len>6</p_len>
|
3906
|
+
<p_len>100</p_len> for 2nd paragraph
|
3907
|
+
<word_len>6</word_len>
|
3908
|
+
<word_len>20</word_len>
|
3909
|
+
...
|
3897
3910
|
-->
|
3898
3911
|
|
3899
3912
|
<!-- for command line debug: <xsl:variable name="table_widths_from_if" select="document($table_widths)"/> -->
|
@@ -4117,6 +4130,9 @@
|
|
4117
4130
|
<xsl:variable name="hair_space"> </xsl:variable>
|
4118
4131
|
<xsl:variable name="en_dash">–</xsl:variable>
|
4119
4132
|
<xsl:variable name="em_dash">—</xsl:variable>
|
4133
|
+
<xsl:variable name="cr"> </xsl:variable>
|
4134
|
+
<xsl:variable name="lf">
|
4135
|
+
</xsl:variable>
|
4120
4136
|
|
4121
4137
|
<xsl:template name="getTitle">
|
4122
4138
|
<xsl:param name="name"/>
|
@@ -5819,6 +5835,20 @@
|
|
5819
5835
|
</xsl:for-each>
|
5820
5836
|
</xsl:template>
|
5821
5837
|
|
5838
|
+
<xsl:param name="table_only_with_id"/><!-- Example: table1, for table auto-layout algorithm -->
|
5839
|
+
|
5840
|
+
<xsl:template match="*[local-name()='table']" priority="2">
|
5841
|
+
<xsl:choose>
|
5842
|
+
<xsl:when test="$table_only_with_id != '' and @id = $table_only_with_id">
|
5843
|
+
<xsl:call-template name="table"/>
|
5844
|
+
</xsl:when>
|
5845
|
+
<xsl:when test="$table_only_with_id != ''"><fo:block/><!-- to prevent empty fo:block-container --></xsl:when>
|
5846
|
+
<xsl:otherwise>
|
5847
|
+
<xsl:call-template name="table"/>
|
5848
|
+
</xsl:otherwise>
|
5849
|
+
</xsl:choose>
|
5850
|
+
</xsl:template>
|
5851
|
+
|
5822
5852
|
<xsl:template match="*[local-name()='table']" name="table">
|
5823
5853
|
|
5824
5854
|
<xsl:variable name="table-preamble">
|
@@ -5828,9 +5858,11 @@
|
|
5828
5858
|
<xsl:variable name="table">
|
5829
5859
|
|
5830
5860
|
<xsl:variable name="simple-table">
|
5831
|
-
<xsl:
|
5832
|
-
<xsl:
|
5833
|
-
|
5861
|
+
<xsl:if test="$isGenerateTableIF = 'true' and $isApplyAutolayoutAlgorithm = 'true'">
|
5862
|
+
<xsl:call-template name="getSimpleTable">
|
5863
|
+
<xsl:with-param name="id" select="@id"/>
|
5864
|
+
</xsl:call-template>
|
5865
|
+
</xsl:if>
|
5834
5866
|
</xsl:variable>
|
5835
5867
|
<!-- <xsl:variable name="simple-table" select="xalan:nodeset($simple-table_)"/> -->
|
5836
5868
|
|
@@ -5932,9 +5964,9 @@
|
|
5932
5964
|
</xsl:attribute>
|
5933
5965
|
</xsl:for-each>
|
5934
5966
|
|
5935
|
-
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
|
5967
|
+
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'][not(@type = 'units')] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
|
5936
5968
|
<xsl:if test="$isNoteOrFnExist = 'true'">
|
5937
|
-
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute
|
5969
|
+
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute><!-- set 0pt border, because there is a separete table below for footer -->
|
5938
5970
|
</xsl:if>
|
5939
5971
|
|
5940
5972
|
<xsl:choose>
|
@@ -6102,6 +6134,17 @@
|
|
6102
6134
|
</xsl:if>
|
6103
6135
|
</xsl:template> <!-- table/name -->
|
6104
6136
|
|
6137
|
+
<!-- workaround solution for https://github.com/metanorma/metanorma-iso/issues/1151#issuecomment-2033087938 -->
|
6138
|
+
<xsl:template match="*[local-name()='table']/*[local-name() = 'note'][@type = 'units']/*[local-name() = 'p']/text()" priority="4">
|
6139
|
+
<xsl:choose>
|
6140
|
+
<xsl:when test="preceding-sibling::*[local-name() = 'br']">
|
6141
|
+
<!-- remove CR or LF at start -->
|
6142
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'^( | | )', '')"/>
|
6143
|
+
</xsl:when>
|
6144
|
+
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
|
6145
|
+
</xsl:choose>
|
6146
|
+
</xsl:template>
|
6147
|
+
|
6105
6148
|
<!-- SOURCE: ... -->
|
6106
6149
|
<xsl:template match="*[local-name()='table']/*[local-name() = 'source']" priority="2">
|
6107
6150
|
<xsl:call-template name="termsource"/>
|
@@ -6512,7 +6555,7 @@
|
|
6512
6555
|
<xsl:param name="colwidths"/>
|
6513
6556
|
<xsl:param name="colgroup"/>
|
6514
6557
|
|
6515
|
-
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
|
6558
|
+
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'][not(@type = 'units')] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
|
6516
6559
|
|
6517
6560
|
<xsl:variable name="isNoteOrFnExistShowAfterTable">
|
6518
6561
|
|
@@ -6578,7 +6621,7 @@
|
|
6578
6621
|
|
6579
6622
|
<!-- fn will be processed inside 'note' processing -->
|
6580
6623
|
|
6581
|
-
<xsl:if test="count(ancestor::bipm:table//*[local-name()='note']) > 1">
|
6624
|
+
<xsl:if test="count(ancestor::bipm:table//*[local-name()='note'][not(@type = 'units')]) > 1">
|
6582
6625
|
<fo:block font-weight="bold" role="SKIP">
|
6583
6626
|
<xsl:variable name="curr_lang" select="ancestor::bipm:bipm-standard/bipm:bibdata/bipm:language"/>
|
6584
6627
|
<xsl:choose>
|
@@ -6594,7 +6637,7 @@
|
|
6594
6637
|
|
6595
6638
|
<xsl:apply-templates select="../*[local-name()='p']"/>
|
6596
6639
|
<xsl:apply-templates select="../*[local-name()='dl']"/>
|
6597
|
-
<xsl:apply-templates select="../*[local-name()='note']"/>
|
6640
|
+
<xsl:apply-templates select="../*[local-name()='note'][not(@type = 'units')]"/>
|
6598
6641
|
<xsl:apply-templates select="../*[local-name()='example']"/>
|
6599
6642
|
<xsl:apply-templates select="../*[local-name()='source']"/>
|
6600
6643
|
|
@@ -6604,7 +6647,7 @@
|
|
6604
6647
|
|
6605
6648
|
<!-- horizontal row separator -->
|
6606
6649
|
<xsl:if test="normalize-space($isDisplayRowSeparator) = 'true'">
|
6607
|
-
<xsl:if test="(../*[local-name()='note'] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
|
6650
|
+
<xsl:if test="(../*[local-name()='note'][not(@type = 'units')] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
|
6608
6651
|
<fo:block-container border-top="0.5pt solid black" padding-left="1mm" padding-right="1mm">
|
6609
6652
|
|
6610
6653
|
<xsl:call-template name="setBordersTableArray"/>
|
@@ -7297,7 +7340,20 @@
|
|
7297
7340
|
<!-- Definition List -->
|
7298
7341
|
<!-- ===================== -->
|
7299
7342
|
|
7300
|
-
|
7343
|
+
<!-- for table auto-layout algorithm -->
|
7344
|
+
<xsl:template match="*[local-name()='dl']" priority="2">
|
7345
|
+
<xsl:choose>
|
7346
|
+
<xsl:when test="$table_only_with_id != '' and @id = $table_only_with_id">
|
7347
|
+
<xsl:call-template name="dl"/>
|
7348
|
+
</xsl:when>
|
7349
|
+
<xsl:when test="$table_only_with_id != ''"><fo:block/><!-- to prevent empty fo:block-container --></xsl:when>
|
7350
|
+
<xsl:otherwise>
|
7351
|
+
<xsl:call-template name="dl"/>
|
7352
|
+
</xsl:otherwise>
|
7353
|
+
</xsl:choose>
|
7354
|
+
</xsl:template>
|
7355
|
+
|
7356
|
+
<xsl:template match="*[local-name()='dl']" name="dl">
|
7301
7357
|
<xsl:variable name="isAdded" select="@added"/>
|
7302
7358
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
7303
7359
|
<!-- <dl><xsl:copy-of select="."/></dl> -->
|
@@ -9227,7 +9283,13 @@
|
|
9227
9283
|
<xsl:value-of select="$language_current_2"/>
|
9228
9284
|
</xsl:when>
|
9229
9285
|
<xsl:otherwise>
|
9230
|
-
<xsl:
|
9286
|
+
<xsl:variable name="language_current_3" select="normalize-space(//*[local-name()='bibdata']//*[local-name()='language'])"/>
|
9287
|
+
<xsl:choose>
|
9288
|
+
<xsl:when test="$language_current_3 != ''">
|
9289
|
+
<xsl:value-of select="$language_current_3"/>
|
9290
|
+
</xsl:when>
|
9291
|
+
<xsl:otherwise>en</xsl:otherwise>
|
9292
|
+
</xsl:choose>
|
9231
9293
|
</xsl:otherwise>
|
9232
9294
|
</xsl:choose>
|
9233
9295
|
</xsl:otherwise>
|
@@ -10181,7 +10243,7 @@
|
|
10181
10243
|
</xsl:when>
|
10182
10244
|
<xsl:otherwise>
|
10183
10245
|
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style">
|
10184
|
-
<xsl:if test="not(@mimetype = 'image/svg+xml') and ../*[local-name() = 'name'] and not(ancestor::*[local-name() = 'table'])">
|
10246
|
+
<xsl:if test="not(@mimetype = 'image/svg+xml') and (../*[local-name() = 'name'] or parent::*[local-name() = 'figure'][@unnumbered = 'true']) and not(ancestor::*[local-name() = 'table'])">
|
10185
10247
|
|
10186
10248
|
<xsl:if test="@width != '' and @width != 'auto' and @width != 'text-width' and @width != 'full-page-width' and @width != 'narrow'">
|
10187
10249
|
<xsl:attribute name="width">
|
@@ -15220,6 +15282,4 @@
|
|
15220
15282
|
</xsl:if>
|
15221
15283
|
</xsl:template>
|
15222
15284
|
|
15223
|
-
<!-- update -->
|
15224
|
-
|
15225
15285
|
</xsl:stylesheet>
|
@@ -3883,17 +3883,30 @@
|
|
3883
3883
|
<xsl:param name="add_math_as_text">true</xsl:param> <!-- add math in text behind svg formula, to copy-paste formula from PDF as text -->
|
3884
3884
|
|
3885
3885
|
<xsl:param name="table_if">false</xsl:param> <!-- generate extended table in IF for autolayout-algorithm -->
|
3886
|
-
<xsl:param name="table_widths"/> <!-- path to xml with table's widths, generated on 1st pass, based on FOP Intermediate Format -->
|
3886
|
+
<xsl:param name="table_widths"/> <!-- (debug: path to) xml with table's widths, generated on 1st pass, based on FOP Intermediate Format -->
|
3887
3887
|
<!-- Example: <tables>
|
3888
|
-
|
3889
|
-
|
3890
|
-
|
3891
|
-
|
3892
|
-
|
3893
|
-
|
3894
|
-
|
3895
|
-
|
3896
|
-
|
3888
|
+
<table page-width="509103" id="table1" width_max="223561" width_min="223560">
|
3889
|
+
<column width_max="39354" width_min="39354"/>
|
3890
|
+
<column width_max="75394" width_min="75394"/>
|
3891
|
+
<column width_max="108813" width_min="108813"/>
|
3892
|
+
<tbody>
|
3893
|
+
<tr>
|
3894
|
+
<td width_max="39354" width_min="39354">
|
3895
|
+
<p_len>39354</p_len>
|
3896
|
+
<word_len>39354</word_len>
|
3897
|
+
</td>
|
3898
|
+
|
3899
|
+
OLD:
|
3900
|
+
<tables>
|
3901
|
+
<table id="table_if_tab-symdu" page-width="75"> - table id prefixed by 'table_if_' to simple search in IF
|
3902
|
+
<tbody>
|
3903
|
+
<tr>
|
3904
|
+
<td id="tab-symdu_1_1">
|
3905
|
+
<p_len>6</p_len>
|
3906
|
+
<p_len>100</p_len> for 2nd paragraph
|
3907
|
+
<word_len>6</word_len>
|
3908
|
+
<word_len>20</word_len>
|
3909
|
+
...
|
3897
3910
|
-->
|
3898
3911
|
|
3899
3912
|
<!-- for command line debug: <xsl:variable name="table_widths_from_if" select="document($table_widths)"/> -->
|
@@ -4117,6 +4130,9 @@
|
|
4117
4130
|
<xsl:variable name="hair_space"> </xsl:variable>
|
4118
4131
|
<xsl:variable name="en_dash">–</xsl:variable>
|
4119
4132
|
<xsl:variable name="em_dash">—</xsl:variable>
|
4133
|
+
<xsl:variable name="cr"> </xsl:variable>
|
4134
|
+
<xsl:variable name="lf">
|
4135
|
+
</xsl:variable>
|
4120
4136
|
|
4121
4137
|
<xsl:template name="getTitle">
|
4122
4138
|
<xsl:param name="name"/>
|
@@ -5819,6 +5835,20 @@
|
|
5819
5835
|
</xsl:for-each>
|
5820
5836
|
</xsl:template>
|
5821
5837
|
|
5838
|
+
<xsl:param name="table_only_with_id"/><!-- Example: table1, for table auto-layout algorithm -->
|
5839
|
+
|
5840
|
+
<xsl:template match="*[local-name()='table']" priority="2">
|
5841
|
+
<xsl:choose>
|
5842
|
+
<xsl:when test="$table_only_with_id != '' and @id = $table_only_with_id">
|
5843
|
+
<xsl:call-template name="table"/>
|
5844
|
+
</xsl:when>
|
5845
|
+
<xsl:when test="$table_only_with_id != ''"><fo:block/><!-- to prevent empty fo:block-container --></xsl:when>
|
5846
|
+
<xsl:otherwise>
|
5847
|
+
<xsl:call-template name="table"/>
|
5848
|
+
</xsl:otherwise>
|
5849
|
+
</xsl:choose>
|
5850
|
+
</xsl:template>
|
5851
|
+
|
5822
5852
|
<xsl:template match="*[local-name()='table']" name="table">
|
5823
5853
|
|
5824
5854
|
<xsl:variable name="table-preamble">
|
@@ -5828,9 +5858,11 @@
|
|
5828
5858
|
<xsl:variable name="table">
|
5829
5859
|
|
5830
5860
|
<xsl:variable name="simple-table">
|
5831
|
-
<xsl:
|
5832
|
-
<xsl:
|
5833
|
-
|
5861
|
+
<xsl:if test="$isGenerateTableIF = 'true' and $isApplyAutolayoutAlgorithm = 'true'">
|
5862
|
+
<xsl:call-template name="getSimpleTable">
|
5863
|
+
<xsl:with-param name="id" select="@id"/>
|
5864
|
+
</xsl:call-template>
|
5865
|
+
</xsl:if>
|
5834
5866
|
</xsl:variable>
|
5835
5867
|
<!-- <xsl:variable name="simple-table" select="xalan:nodeset($simple-table_)"/> -->
|
5836
5868
|
|
@@ -5932,9 +5964,9 @@
|
|
5932
5964
|
</xsl:attribute>
|
5933
5965
|
</xsl:for-each>
|
5934
5966
|
|
5935
|
-
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
|
5967
|
+
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'][not(@type = 'units')] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
|
5936
5968
|
<xsl:if test="$isNoteOrFnExist = 'true'">
|
5937
|
-
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute
|
5969
|
+
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute><!-- set 0pt border, because there is a separete table below for footer -->
|
5938
5970
|
</xsl:if>
|
5939
5971
|
|
5940
5972
|
<xsl:choose>
|
@@ -6102,6 +6134,17 @@
|
|
6102
6134
|
</xsl:if>
|
6103
6135
|
</xsl:template> <!-- table/name -->
|
6104
6136
|
|
6137
|
+
<!-- workaround solution for https://github.com/metanorma/metanorma-iso/issues/1151#issuecomment-2033087938 -->
|
6138
|
+
<xsl:template match="*[local-name()='table']/*[local-name() = 'note'][@type = 'units']/*[local-name() = 'p']/text()" priority="4">
|
6139
|
+
<xsl:choose>
|
6140
|
+
<xsl:when test="preceding-sibling::*[local-name() = 'br']">
|
6141
|
+
<!-- remove CR or LF at start -->
|
6142
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'^( | | )', '')"/>
|
6143
|
+
</xsl:when>
|
6144
|
+
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
|
6145
|
+
</xsl:choose>
|
6146
|
+
</xsl:template>
|
6147
|
+
|
6105
6148
|
<!-- SOURCE: ... -->
|
6106
6149
|
<xsl:template match="*[local-name()='table']/*[local-name() = 'source']" priority="2">
|
6107
6150
|
<xsl:call-template name="termsource"/>
|
@@ -6512,7 +6555,7 @@
|
|
6512
6555
|
<xsl:param name="colwidths"/>
|
6513
6556
|
<xsl:param name="colgroup"/>
|
6514
6557
|
|
6515
|
-
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
|
6558
|
+
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'][not(@type = 'units')] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
|
6516
6559
|
|
6517
6560
|
<xsl:variable name="isNoteOrFnExistShowAfterTable">
|
6518
6561
|
|
@@ -6578,7 +6621,7 @@
|
|
6578
6621
|
|
6579
6622
|
<!-- fn will be processed inside 'note' processing -->
|
6580
6623
|
|
6581
|
-
<xsl:if test="count(ancestor::bipm:table//*[local-name()='note']) > 1">
|
6624
|
+
<xsl:if test="count(ancestor::bipm:table//*[local-name()='note'][not(@type = 'units')]) > 1">
|
6582
6625
|
<fo:block font-weight="bold" role="SKIP">
|
6583
6626
|
<xsl:variable name="curr_lang" select="ancestor::bipm:bipm-standard/bipm:bibdata/bipm:language"/>
|
6584
6627
|
<xsl:choose>
|
@@ -6594,7 +6637,7 @@
|
|
6594
6637
|
|
6595
6638
|
<xsl:apply-templates select="../*[local-name()='p']"/>
|
6596
6639
|
<xsl:apply-templates select="../*[local-name()='dl']"/>
|
6597
|
-
<xsl:apply-templates select="../*[local-name()='note']"/>
|
6640
|
+
<xsl:apply-templates select="../*[local-name()='note'][not(@type = 'units')]"/>
|
6598
6641
|
<xsl:apply-templates select="../*[local-name()='example']"/>
|
6599
6642
|
<xsl:apply-templates select="../*[local-name()='source']"/>
|
6600
6643
|
|
@@ -6604,7 +6647,7 @@
|
|
6604
6647
|
|
6605
6648
|
<!-- horizontal row separator -->
|
6606
6649
|
<xsl:if test="normalize-space($isDisplayRowSeparator) = 'true'">
|
6607
|
-
<xsl:if test="(../*[local-name()='note'] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
|
6650
|
+
<xsl:if test="(../*[local-name()='note'][not(@type = 'units')] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
|
6608
6651
|
<fo:block-container border-top="0.5pt solid black" padding-left="1mm" padding-right="1mm">
|
6609
6652
|
|
6610
6653
|
<xsl:call-template name="setBordersTableArray"/>
|
@@ -7297,7 +7340,20 @@
|
|
7297
7340
|
<!-- Definition List -->
|
7298
7341
|
<!-- ===================== -->
|
7299
7342
|
|
7300
|
-
|
7343
|
+
<!-- for table auto-layout algorithm -->
|
7344
|
+
<xsl:template match="*[local-name()='dl']" priority="2">
|
7345
|
+
<xsl:choose>
|
7346
|
+
<xsl:when test="$table_only_with_id != '' and @id = $table_only_with_id">
|
7347
|
+
<xsl:call-template name="dl"/>
|
7348
|
+
</xsl:when>
|
7349
|
+
<xsl:when test="$table_only_with_id != ''"><fo:block/><!-- to prevent empty fo:block-container --></xsl:when>
|
7350
|
+
<xsl:otherwise>
|
7351
|
+
<xsl:call-template name="dl"/>
|
7352
|
+
</xsl:otherwise>
|
7353
|
+
</xsl:choose>
|
7354
|
+
</xsl:template>
|
7355
|
+
|
7356
|
+
<xsl:template match="*[local-name()='dl']" name="dl">
|
7301
7357
|
<xsl:variable name="isAdded" select="@added"/>
|
7302
7358
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
7303
7359
|
<!-- <dl><xsl:copy-of select="."/></dl> -->
|
@@ -9227,7 +9283,13 @@
|
|
9227
9283
|
<xsl:value-of select="$language_current_2"/>
|
9228
9284
|
</xsl:when>
|
9229
9285
|
<xsl:otherwise>
|
9230
|
-
<xsl:
|
9286
|
+
<xsl:variable name="language_current_3" select="normalize-space(//*[local-name()='bibdata']//*[local-name()='language'])"/>
|
9287
|
+
<xsl:choose>
|
9288
|
+
<xsl:when test="$language_current_3 != ''">
|
9289
|
+
<xsl:value-of select="$language_current_3"/>
|
9290
|
+
</xsl:when>
|
9291
|
+
<xsl:otherwise>en</xsl:otherwise>
|
9292
|
+
</xsl:choose>
|
9231
9293
|
</xsl:otherwise>
|
9232
9294
|
</xsl:choose>
|
9233
9295
|
</xsl:otherwise>
|
@@ -10181,7 +10243,7 @@
|
|
10181
10243
|
</xsl:when>
|
10182
10244
|
<xsl:otherwise>
|
10183
10245
|
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style">
|
10184
|
-
<xsl:if test="not(@mimetype = 'image/svg+xml') and ../*[local-name() = 'name'] and not(ancestor::*[local-name() = 'table'])">
|
10246
|
+
<xsl:if test="not(@mimetype = 'image/svg+xml') and (../*[local-name() = 'name'] or parent::*[local-name() = 'figure'][@unnumbered = 'true']) and not(ancestor::*[local-name() = 'table'])">
|
10185
10247
|
|
10186
10248
|
<xsl:if test="@width != '' and @width != 'auto' and @width != 'text-width' and @width != 'full-page-width' and @width != 'narrow'">
|
10187
10249
|
<xsl:attribute name="width">
|
@@ -15220,6 +15282,4 @@
|
|
15220
15282
|
</xsl:if>
|
15221
15283
|
</xsl:template>
|
15222
15284
|
|
15223
|
-
<!-- update -->
|
15224
|
-
|
15225
15285
|
</xsl:stylesheet>
|
@@ -3883,17 +3883,30 @@
|
|
3883
3883
|
<xsl:param name="add_math_as_text">true</xsl:param> <!-- add math in text behind svg formula, to copy-paste formula from PDF as text -->
|
3884
3884
|
|
3885
3885
|
<xsl:param name="table_if">false</xsl:param> <!-- generate extended table in IF for autolayout-algorithm -->
|
3886
|
-
<xsl:param name="table_widths"/> <!-- path to xml with table's widths, generated on 1st pass, based on FOP Intermediate Format -->
|
3886
|
+
<xsl:param name="table_widths"/> <!-- (debug: path to) xml with table's widths, generated on 1st pass, based on FOP Intermediate Format -->
|
3887
3887
|
<!-- Example: <tables>
|
3888
|
-
|
3889
|
-
|
3890
|
-
|
3891
|
-
|
3892
|
-
|
3893
|
-
|
3894
|
-
|
3895
|
-
|
3896
|
-
|
3888
|
+
<table page-width="509103" id="table1" width_max="223561" width_min="223560">
|
3889
|
+
<column width_max="39354" width_min="39354"/>
|
3890
|
+
<column width_max="75394" width_min="75394"/>
|
3891
|
+
<column width_max="108813" width_min="108813"/>
|
3892
|
+
<tbody>
|
3893
|
+
<tr>
|
3894
|
+
<td width_max="39354" width_min="39354">
|
3895
|
+
<p_len>39354</p_len>
|
3896
|
+
<word_len>39354</word_len>
|
3897
|
+
</td>
|
3898
|
+
|
3899
|
+
OLD:
|
3900
|
+
<tables>
|
3901
|
+
<table id="table_if_tab-symdu" page-width="75"> - table id prefixed by 'table_if_' to simple search in IF
|
3902
|
+
<tbody>
|
3903
|
+
<tr>
|
3904
|
+
<td id="tab-symdu_1_1">
|
3905
|
+
<p_len>6</p_len>
|
3906
|
+
<p_len>100</p_len> for 2nd paragraph
|
3907
|
+
<word_len>6</word_len>
|
3908
|
+
<word_len>20</word_len>
|
3909
|
+
...
|
3897
3910
|
-->
|
3898
3911
|
|
3899
3912
|
<!-- for command line debug: <xsl:variable name="table_widths_from_if" select="document($table_widths)"/> -->
|
@@ -4117,6 +4130,9 @@
|
|
4117
4130
|
<xsl:variable name="hair_space"> </xsl:variable>
|
4118
4131
|
<xsl:variable name="en_dash">–</xsl:variable>
|
4119
4132
|
<xsl:variable name="em_dash">—</xsl:variable>
|
4133
|
+
<xsl:variable name="cr"> </xsl:variable>
|
4134
|
+
<xsl:variable name="lf">
|
4135
|
+
</xsl:variable>
|
4120
4136
|
|
4121
4137
|
<xsl:template name="getTitle">
|
4122
4138
|
<xsl:param name="name"/>
|
@@ -5819,6 +5835,20 @@
|
|
5819
5835
|
</xsl:for-each>
|
5820
5836
|
</xsl:template>
|
5821
5837
|
|
5838
|
+
<xsl:param name="table_only_with_id"/><!-- Example: table1, for table auto-layout algorithm -->
|
5839
|
+
|
5840
|
+
<xsl:template match="*[local-name()='table']" priority="2">
|
5841
|
+
<xsl:choose>
|
5842
|
+
<xsl:when test="$table_only_with_id != '' and @id = $table_only_with_id">
|
5843
|
+
<xsl:call-template name="table"/>
|
5844
|
+
</xsl:when>
|
5845
|
+
<xsl:when test="$table_only_with_id != ''"><fo:block/><!-- to prevent empty fo:block-container --></xsl:when>
|
5846
|
+
<xsl:otherwise>
|
5847
|
+
<xsl:call-template name="table"/>
|
5848
|
+
</xsl:otherwise>
|
5849
|
+
</xsl:choose>
|
5850
|
+
</xsl:template>
|
5851
|
+
|
5822
5852
|
<xsl:template match="*[local-name()='table']" name="table">
|
5823
5853
|
|
5824
5854
|
<xsl:variable name="table-preamble">
|
@@ -5828,9 +5858,11 @@
|
|
5828
5858
|
<xsl:variable name="table">
|
5829
5859
|
|
5830
5860
|
<xsl:variable name="simple-table">
|
5831
|
-
<xsl:
|
5832
|
-
<xsl:
|
5833
|
-
|
5861
|
+
<xsl:if test="$isGenerateTableIF = 'true' and $isApplyAutolayoutAlgorithm = 'true'">
|
5862
|
+
<xsl:call-template name="getSimpleTable">
|
5863
|
+
<xsl:with-param name="id" select="@id"/>
|
5864
|
+
</xsl:call-template>
|
5865
|
+
</xsl:if>
|
5834
5866
|
</xsl:variable>
|
5835
5867
|
<!-- <xsl:variable name="simple-table" select="xalan:nodeset($simple-table_)"/> -->
|
5836
5868
|
|
@@ -5932,9 +5964,9 @@
|
|
5932
5964
|
</xsl:attribute>
|
5933
5965
|
</xsl:for-each>
|
5934
5966
|
|
5935
|
-
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
|
5967
|
+
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'][not(@type = 'units')] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
|
5936
5968
|
<xsl:if test="$isNoteOrFnExist = 'true'">
|
5937
|
-
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute
|
5969
|
+
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute><!-- set 0pt border, because there is a separete table below for footer -->
|
5938
5970
|
</xsl:if>
|
5939
5971
|
|
5940
5972
|
<xsl:choose>
|
@@ -6102,6 +6134,17 @@
|
|
6102
6134
|
</xsl:if>
|
6103
6135
|
</xsl:template> <!-- table/name -->
|
6104
6136
|
|
6137
|
+
<!-- workaround solution for https://github.com/metanorma/metanorma-iso/issues/1151#issuecomment-2033087938 -->
|
6138
|
+
<xsl:template match="*[local-name()='table']/*[local-name() = 'note'][@type = 'units']/*[local-name() = 'p']/text()" priority="4">
|
6139
|
+
<xsl:choose>
|
6140
|
+
<xsl:when test="preceding-sibling::*[local-name() = 'br']">
|
6141
|
+
<!-- remove CR or LF at start -->
|
6142
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'^( | | )', '')"/>
|
6143
|
+
</xsl:when>
|
6144
|
+
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
|
6145
|
+
</xsl:choose>
|
6146
|
+
</xsl:template>
|
6147
|
+
|
6105
6148
|
<!-- SOURCE: ... -->
|
6106
6149
|
<xsl:template match="*[local-name()='table']/*[local-name() = 'source']" priority="2">
|
6107
6150
|
<xsl:call-template name="termsource"/>
|
@@ -6512,7 +6555,7 @@
|
|
6512
6555
|
<xsl:param name="colwidths"/>
|
6513
6556
|
<xsl:param name="colgroup"/>
|
6514
6557
|
|
6515
|
-
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
|
6558
|
+
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'][not(@type = 'units')] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
|
6516
6559
|
|
6517
6560
|
<xsl:variable name="isNoteOrFnExistShowAfterTable">
|
6518
6561
|
|
@@ -6578,7 +6621,7 @@
|
|
6578
6621
|
|
6579
6622
|
<!-- fn will be processed inside 'note' processing -->
|
6580
6623
|
|
6581
|
-
<xsl:if test="count(ancestor::bipm:table//*[local-name()='note']) > 1">
|
6624
|
+
<xsl:if test="count(ancestor::bipm:table//*[local-name()='note'][not(@type = 'units')]) > 1">
|
6582
6625
|
<fo:block font-weight="bold" role="SKIP">
|
6583
6626
|
<xsl:variable name="curr_lang" select="ancestor::bipm:bipm-standard/bipm:bibdata/bipm:language"/>
|
6584
6627
|
<xsl:choose>
|
@@ -6594,7 +6637,7 @@
|
|
6594
6637
|
|
6595
6638
|
<xsl:apply-templates select="../*[local-name()='p']"/>
|
6596
6639
|
<xsl:apply-templates select="../*[local-name()='dl']"/>
|
6597
|
-
<xsl:apply-templates select="../*[local-name()='note']"/>
|
6640
|
+
<xsl:apply-templates select="../*[local-name()='note'][not(@type = 'units')]"/>
|
6598
6641
|
<xsl:apply-templates select="../*[local-name()='example']"/>
|
6599
6642
|
<xsl:apply-templates select="../*[local-name()='source']"/>
|
6600
6643
|
|
@@ -6604,7 +6647,7 @@
|
|
6604
6647
|
|
6605
6648
|
<!-- horizontal row separator -->
|
6606
6649
|
<xsl:if test="normalize-space($isDisplayRowSeparator) = 'true'">
|
6607
|
-
<xsl:if test="(../*[local-name()='note'] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
|
6650
|
+
<xsl:if test="(../*[local-name()='note'][not(@type = 'units')] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
|
6608
6651
|
<fo:block-container border-top="0.5pt solid black" padding-left="1mm" padding-right="1mm">
|
6609
6652
|
|
6610
6653
|
<xsl:call-template name="setBordersTableArray"/>
|
@@ -7297,7 +7340,20 @@
|
|
7297
7340
|
<!-- Definition List -->
|
7298
7341
|
<!-- ===================== -->
|
7299
7342
|
|
7300
|
-
|
7343
|
+
<!-- for table auto-layout algorithm -->
|
7344
|
+
<xsl:template match="*[local-name()='dl']" priority="2">
|
7345
|
+
<xsl:choose>
|
7346
|
+
<xsl:when test="$table_only_with_id != '' and @id = $table_only_with_id">
|
7347
|
+
<xsl:call-template name="dl"/>
|
7348
|
+
</xsl:when>
|
7349
|
+
<xsl:when test="$table_only_with_id != ''"><fo:block/><!-- to prevent empty fo:block-container --></xsl:when>
|
7350
|
+
<xsl:otherwise>
|
7351
|
+
<xsl:call-template name="dl"/>
|
7352
|
+
</xsl:otherwise>
|
7353
|
+
</xsl:choose>
|
7354
|
+
</xsl:template>
|
7355
|
+
|
7356
|
+
<xsl:template match="*[local-name()='dl']" name="dl">
|
7301
7357
|
<xsl:variable name="isAdded" select="@added"/>
|
7302
7358
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
7303
7359
|
<!-- <dl><xsl:copy-of select="."/></dl> -->
|
@@ -9227,7 +9283,13 @@
|
|
9227
9283
|
<xsl:value-of select="$language_current_2"/>
|
9228
9284
|
</xsl:when>
|
9229
9285
|
<xsl:otherwise>
|
9230
|
-
<xsl:
|
9286
|
+
<xsl:variable name="language_current_3" select="normalize-space(//*[local-name()='bibdata']//*[local-name()='language'])"/>
|
9287
|
+
<xsl:choose>
|
9288
|
+
<xsl:when test="$language_current_3 != ''">
|
9289
|
+
<xsl:value-of select="$language_current_3"/>
|
9290
|
+
</xsl:when>
|
9291
|
+
<xsl:otherwise>en</xsl:otherwise>
|
9292
|
+
</xsl:choose>
|
9231
9293
|
</xsl:otherwise>
|
9232
9294
|
</xsl:choose>
|
9233
9295
|
</xsl:otherwise>
|
@@ -10181,7 +10243,7 @@
|
|
10181
10243
|
</xsl:when>
|
10182
10244
|
<xsl:otherwise>
|
10183
10245
|
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style">
|
10184
|
-
<xsl:if test="not(@mimetype = 'image/svg+xml') and ../*[local-name() = 'name'] and not(ancestor::*[local-name() = 'table'])">
|
10246
|
+
<xsl:if test="not(@mimetype = 'image/svg+xml') and (../*[local-name() = 'name'] or parent::*[local-name() = 'figure'][@unnumbered = 'true']) and not(ancestor::*[local-name() = 'table'])">
|
10185
10247
|
|
10186
10248
|
<xsl:if test="@width != '' and @width != 'auto' and @width != 'text-width' and @width != 'full-page-width' and @width != 'narrow'">
|
10187
10249
|
<xsl:attribute name="width">
|
@@ -15220,6 +15282,4 @@
|
|
15220
15282
|
</xsl:if>
|
15221
15283
|
</xsl:template>
|
15222
15284
|
|
15223
|
-
<!-- update -->
|
15224
|
-
|
15225
15285
|
</xsl:stylesheet>
|
@@ -1744,17 +1744,30 @@
|
|
1744
1744
|
<xsl:param name="add_math_as_text">true</xsl:param> <!-- add math in text behind svg formula, to copy-paste formula from PDF as text -->
|
1745
1745
|
|
1746
1746
|
<xsl:param name="table_if">false</xsl:param> <!-- generate extended table in IF for autolayout-algorithm -->
|
1747
|
-
<xsl:param name="table_widths"/> <!-- path to xml with table's widths, generated on 1st pass, based on FOP Intermediate Format -->
|
1747
|
+
<xsl:param name="table_widths"/> <!-- (debug: path to) xml with table's widths, generated on 1st pass, based on FOP Intermediate Format -->
|
1748
1748
|
<!-- Example: <tables>
|
1749
|
-
|
1750
|
-
|
1751
|
-
|
1752
|
-
|
1753
|
-
|
1754
|
-
|
1755
|
-
|
1756
|
-
|
1757
|
-
|
1749
|
+
<table page-width="509103" id="table1" width_max="223561" width_min="223560">
|
1750
|
+
<column width_max="39354" width_min="39354"/>
|
1751
|
+
<column width_max="75394" width_min="75394"/>
|
1752
|
+
<column width_max="108813" width_min="108813"/>
|
1753
|
+
<tbody>
|
1754
|
+
<tr>
|
1755
|
+
<td width_max="39354" width_min="39354">
|
1756
|
+
<p_len>39354</p_len>
|
1757
|
+
<word_len>39354</word_len>
|
1758
|
+
</td>
|
1759
|
+
|
1760
|
+
OLD:
|
1761
|
+
<tables>
|
1762
|
+
<table id="table_if_tab-symdu" page-width="75"> - table id prefixed by 'table_if_' to simple search in IF
|
1763
|
+
<tbody>
|
1764
|
+
<tr>
|
1765
|
+
<td id="tab-symdu_1_1">
|
1766
|
+
<p_len>6</p_len>
|
1767
|
+
<p_len>100</p_len> for 2nd paragraph
|
1768
|
+
<word_len>6</word_len>
|
1769
|
+
<word_len>20</word_len>
|
1770
|
+
...
|
1758
1771
|
-->
|
1759
1772
|
|
1760
1773
|
<!-- for command line debug: <xsl:variable name="table_widths_from_if" select="document($table_widths)"/> -->
|
@@ -1974,6 +1987,9 @@
|
|
1974
1987
|
<xsl:variable name="hair_space"> </xsl:variable>
|
1975
1988
|
<xsl:variable name="en_dash">–</xsl:variable>
|
1976
1989
|
<xsl:variable name="em_dash">—</xsl:variable>
|
1990
|
+
<xsl:variable name="cr"> </xsl:variable>
|
1991
|
+
<xsl:variable name="lf">
|
1992
|
+
</xsl:variable>
|
1977
1993
|
|
1978
1994
|
<xsl:template name="getTitle">
|
1979
1995
|
<xsl:param name="name"/>
|
@@ -3668,6 +3684,20 @@
|
|
3668
3684
|
</xsl:for-each>
|
3669
3685
|
</xsl:template>
|
3670
3686
|
|
3687
|
+
<xsl:param name="table_only_with_id"/><!-- Example: table1, for table auto-layout algorithm -->
|
3688
|
+
|
3689
|
+
<xsl:template match="*[local-name()='table']" priority="2">
|
3690
|
+
<xsl:choose>
|
3691
|
+
<xsl:when test="$table_only_with_id != '' and @id = $table_only_with_id">
|
3692
|
+
<xsl:call-template name="table"/>
|
3693
|
+
</xsl:when>
|
3694
|
+
<xsl:when test="$table_only_with_id != ''"><fo:block/><!-- to prevent empty fo:block-container --></xsl:when>
|
3695
|
+
<xsl:otherwise>
|
3696
|
+
<xsl:call-template name="table"/>
|
3697
|
+
</xsl:otherwise>
|
3698
|
+
</xsl:choose>
|
3699
|
+
</xsl:template>
|
3700
|
+
|
3671
3701
|
<xsl:template match="*[local-name()='table']" name="table">
|
3672
3702
|
|
3673
3703
|
<xsl:variable name="table-preamble">
|
@@ -3677,9 +3707,11 @@
|
|
3677
3707
|
<xsl:variable name="table">
|
3678
3708
|
|
3679
3709
|
<xsl:variable name="simple-table">
|
3680
|
-
<xsl:
|
3681
|
-
<xsl:
|
3682
|
-
|
3710
|
+
<xsl:if test="$isGenerateTableIF = 'true' and $isApplyAutolayoutAlgorithm = 'true'">
|
3711
|
+
<xsl:call-template name="getSimpleTable">
|
3712
|
+
<xsl:with-param name="id" select="@id"/>
|
3713
|
+
</xsl:call-template>
|
3714
|
+
</xsl:if>
|
3683
3715
|
</xsl:variable>
|
3684
3716
|
<!-- <xsl:variable name="simple-table" select="xalan:nodeset($simple-table_)"/> -->
|
3685
3717
|
|
@@ -3771,9 +3803,9 @@
|
|
3771
3803
|
</xsl:attribute>
|
3772
3804
|
</xsl:for-each>
|
3773
3805
|
|
3774
|
-
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
|
3806
|
+
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'][not(@type = 'units')] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
|
3775
3807
|
<xsl:if test="$isNoteOrFnExist = 'true'">
|
3776
|
-
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute
|
3808
|
+
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute><!-- set 0pt border, because there is a separete table below for footer -->
|
3777
3809
|
</xsl:if>
|
3778
3810
|
|
3779
3811
|
<xsl:choose>
|
@@ -3928,9 +3960,28 @@
|
|
3928
3960
|
|
3929
3961
|
</fo:block>
|
3930
3962
|
|
3963
|
+
<!-- <xsl:if test="$namespace = 'bsi' or $namespace = 'iec' or $namespace = 'iso'"> -->
|
3964
|
+
<xsl:if test="$continued = 'true'">
|
3965
|
+
<fo:block text-align="right">
|
3966
|
+
<xsl:apply-templates select="../*[local-name() = 'note'][@type = 'units']/node()"/>
|
3967
|
+
</fo:block>
|
3968
|
+
</xsl:if>
|
3969
|
+
<!-- </xsl:if> -->
|
3970
|
+
|
3931
3971
|
</xsl:if>
|
3932
3972
|
</xsl:template> <!-- table/name -->
|
3933
3973
|
|
3974
|
+
<!-- workaround solution for https://github.com/metanorma/metanorma-iso/issues/1151#issuecomment-2033087938 -->
|
3975
|
+
<xsl:template match="*[local-name()='table']/*[local-name() = 'note'][@type = 'units']/*[local-name() = 'p']/text()" priority="4">
|
3976
|
+
<xsl:choose>
|
3977
|
+
<xsl:when test="preceding-sibling::*[local-name() = 'br']">
|
3978
|
+
<!-- remove CR or LF at start -->
|
3979
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'^( | | )', '')"/>
|
3980
|
+
</xsl:when>
|
3981
|
+
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
|
3982
|
+
</xsl:choose>
|
3983
|
+
</xsl:template>
|
3984
|
+
|
3934
3985
|
<!-- SOURCE: ... -->
|
3935
3986
|
<xsl:template match="*[local-name()='table']/*[local-name() = 'source']" priority="2">
|
3936
3987
|
<xsl:call-template name="termsource"/>
|
@@ -4354,7 +4405,7 @@
|
|
4354
4405
|
<xsl:param name="colwidths"/>
|
4355
4406
|
<xsl:param name="colgroup"/>
|
4356
4407
|
|
4357
|
-
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
|
4408
|
+
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'][not(@type = 'units')] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
|
4358
4409
|
|
4359
4410
|
<xsl:variable name="isNoteOrFnExistShowAfterTable">
|
4360
4411
|
|
@@ -4426,7 +4477,7 @@
|
|
4426
4477
|
|
4427
4478
|
<xsl:apply-templates select="../*[local-name()='p']"/>
|
4428
4479
|
<xsl:apply-templates select="../*[local-name()='dl']"/>
|
4429
|
-
<xsl:apply-templates select="../*[local-name()='note']"/>
|
4480
|
+
<xsl:apply-templates select="../*[local-name()='note'][not(@type = 'units')]"/>
|
4430
4481
|
<xsl:apply-templates select="../*[local-name()='example']"/>
|
4431
4482
|
<xsl:apply-templates select="../*[local-name()='source']"/>
|
4432
4483
|
|
@@ -4436,7 +4487,7 @@
|
|
4436
4487
|
|
4437
4488
|
<!-- horizontal row separator -->
|
4438
4489
|
<xsl:if test="normalize-space($isDisplayRowSeparator) = 'true'">
|
4439
|
-
<xsl:if test="(../*[local-name()='note'] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
|
4490
|
+
<xsl:if test="(../*[local-name()='note'][not(@type = 'units')] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
|
4440
4491
|
<fo:block-container border-top="0.5pt solid black" padding-left="1mm" padding-right="1mm">
|
4441
4492
|
|
4442
4493
|
<xsl:call-template name="setBordersTableArray"/>
|
@@ -5142,7 +5193,20 @@
|
|
5142
5193
|
<!-- Definition List -->
|
5143
5194
|
<!-- ===================== -->
|
5144
5195
|
|
5145
|
-
|
5196
|
+
<!-- for table auto-layout algorithm -->
|
5197
|
+
<xsl:template match="*[local-name()='dl']" priority="2">
|
5198
|
+
<xsl:choose>
|
5199
|
+
<xsl:when test="$table_only_with_id != '' and @id = $table_only_with_id">
|
5200
|
+
<xsl:call-template name="dl"/>
|
5201
|
+
</xsl:when>
|
5202
|
+
<xsl:when test="$table_only_with_id != ''"><fo:block/><!-- to prevent empty fo:block-container --></xsl:when>
|
5203
|
+
<xsl:otherwise>
|
5204
|
+
<xsl:call-template name="dl"/>
|
5205
|
+
</xsl:otherwise>
|
5206
|
+
</xsl:choose>
|
5207
|
+
</xsl:template>
|
5208
|
+
|
5209
|
+
<xsl:template match="*[local-name()='dl']" name="dl">
|
5146
5210
|
<xsl:variable name="isAdded" select="@added"/>
|
5147
5211
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
5148
5212
|
<!-- <dl><xsl:copy-of select="."/></dl> -->
|
@@ -7088,7 +7152,13 @@
|
|
7088
7152
|
<xsl:value-of select="$language_current_2"/>
|
7089
7153
|
</xsl:when>
|
7090
7154
|
<xsl:otherwise>
|
7091
|
-
<xsl:
|
7155
|
+
<xsl:variable name="language_current_3" select="normalize-space(//*[local-name()='bibdata']//*[local-name()='language'])"/>
|
7156
|
+
<xsl:choose>
|
7157
|
+
<xsl:when test="$language_current_3 != ''">
|
7158
|
+
<xsl:value-of select="$language_current_3"/>
|
7159
|
+
</xsl:when>
|
7160
|
+
<xsl:otherwise>en</xsl:otherwise>
|
7161
|
+
</xsl:choose>
|
7092
7162
|
</xsl:otherwise>
|
7093
7163
|
</xsl:choose>
|
7094
7164
|
</xsl:otherwise>
|
@@ -7998,7 +8068,7 @@
|
|
7998
8068
|
</xsl:when>
|
7999
8069
|
<xsl:otherwise>
|
8000
8070
|
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style">
|
8001
|
-
<xsl:if test="not(@mimetype = 'image/svg+xml') and ../*[local-name() = 'name'] and not(ancestor::*[local-name() = 'table'])">
|
8071
|
+
<xsl:if test="not(@mimetype = 'image/svg+xml') and (../*[local-name() = 'name'] or parent::*[local-name() = 'figure'][@unnumbered = 'true']) and not(ancestor::*[local-name() = 'table'])">
|
8002
8072
|
|
8003
8073
|
<xsl:if test="@width != '' and @width != 'auto' and @width != 'text-width' and @width != 'full-page-width' and @width != 'narrow'">
|
8004
8074
|
<xsl:attribute name="width">
|
@@ -13038,6 +13108,4 @@
|
|
13038
13108
|
</xsl:if>
|
13039
13109
|
</xsl:template>
|
13040
13110
|
|
13041
|
-
<!-- update -->
|
13042
|
-
|
13043
13111
|
</xsl:stylesheet>
|
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.4.
|
4
|
+
version: 2.4.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-04-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: metanorma-generic
|