metanorma-bipm 2.5.3 → 2.5.4
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/base_convert.rb +2 -2
- data/lib/isodoc/bipm/bipm.brochure.xsl +85 -22
- data/lib/isodoc/bipm/bipm.guide.xsl +85 -22
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +85 -22
- data/lib/isodoc/bipm/bipm.rapport.xsl +85 -22
- data/lib/isodoc/bipm/doccontrol.rb +1 -1
- data/lib/isodoc/bipm/html_convert.rb +1 -1
- data/lib/isodoc/bipm/i18n.rb +2 -2
- data/lib/isodoc/bipm/index.rb +1 -1
- data/lib/isodoc/bipm/init.rb +2 -2
- data/lib/isodoc/bipm/jcgm.standard.xsl +85 -22
- data/lib/isodoc/bipm/metadata.rb +2 -2
- data/lib/isodoc/bipm/pdf_convert.rb +1 -1
- data/lib/isodoc/bipm/presentation_blocks.rb +1 -1
- data/lib/isodoc/bipm/presentation_xml_convert.rb +1 -1
- data/lib/isodoc/bipm/xref.rb +1 -1
- data/lib/isodoc/bipm.rb +1 -1
- data/lib/metanorma/bipm/biblio-standoc.rng +13 -0
- data/lib/metanorma/bipm/biblio.rng +19 -12
- data/lib/metanorma/bipm/cleanup.rb +1 -1
- data/lib/metanorma/bipm/converter.rb +6 -6
- data/lib/metanorma/bipm/front.rb +1 -1
- data/lib/metanorma/bipm/processor.rb +6 -6
- data/lib/metanorma/bipm/relaton-bipm.rng +1 -0
- data/lib/metanorma/bipm/version.rb +2 -2
- data/lib/metanorma/bipm.rb +2 -2
- data/lib/metanorma-bipm.rb +1 -1
- data/lib/relaton/render/general.rb +1 -1
- data/lib/relaton/render/parse.rb +1 -1
- data/metanorma-bipm.gemspec +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: ee327f237eb974834aa08e30a8377060d464252f817649d3706a92fa6b7b37ba
|
4
|
+
data.tar.gz: d3b799388ebe8e53161960f16f8ca90fb6a1337521a68aa592296171614879f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b6d93eca87a36e2c20ae4b426b50ab4cac17edf39306eaf8ac02bebf10294deb0209caaca64fd2b6c0c6b7023901b394217adcde589bcc11d2f9134a6bc1760
|
7
|
+
data.tar.gz: b5d58c60cdfba890e5895cbb62a7496b1b454dec763afa064120cf8a999b06e8da1f4703471fb6269dba7f3569458883e9718f2e32a1418e1a118064e4b9f97c
|
@@ -1,12 +1,12 @@
|
|
1
1
|
require "isodoc"
|
2
2
|
|
3
3
|
module IsoDoc
|
4
|
-
module
|
4
|
+
module Bipm
|
5
5
|
module BaseConvert
|
6
6
|
attr_accessor :jcgm
|
7
7
|
|
8
8
|
def configuration
|
9
|
-
Metanorma::
|
9
|
+
Metanorma::Bipm.configuration
|
10
10
|
end
|
11
11
|
|
12
12
|
TOP_ELEMENTS = IsoDoc::Function::ToWordHtml::TOP_ELEMENTS +
|
@@ -7287,7 +7287,8 @@
|
|
7287
7287
|
</xsl:choose>
|
7288
7288
|
</xsl:variable>
|
7289
7289
|
<xsl:variable name="current_fn_number_text">
|
7290
|
-
|
7290
|
+
|
7291
|
+
<xsl:value-of select="$current_fn_number"/>
|
7291
7292
|
|
7292
7293
|
</xsl:variable>
|
7293
7294
|
|
@@ -7323,8 +7324,10 @@
|
|
7323
7324
|
|
7324
7325
|
<xsl:call-template name="insert_basic_link">
|
7325
7326
|
<xsl:with-param name="element">
|
7326
|
-
<fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}" role="Lbl"
|
7327
|
-
<
|
7327
|
+
<fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}"> <!-- note: role="Lbl" removed in https://github.com/metanorma/mn2pdf/issues/291 -->
|
7328
|
+
<fo:inline role="Lbl"> <!-- need for https://github.com/metanorma/metanorma-iso/issues/1003 -->
|
7329
|
+
<xsl:copy-of select="$current_fn_number_text"/>
|
7330
|
+
</fo:inline>
|
7328
7331
|
</fo:basic-link>
|
7329
7332
|
</xsl:with-param>
|
7330
7333
|
</xsl:call-template>
|
@@ -7609,7 +7612,7 @@
|
|
7609
7612
|
|
7610
7613
|
<xsl:call-template name="refine_fn-reference-style"/>
|
7611
7614
|
|
7612
|
-
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
7615
|
+
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="footnote {@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
7613
7616
|
<xsl:if test="ancestor::*[local-name()='table'][1]/@id"> <!-- for footnotes in tables -->
|
7614
7617
|
<xsl:attribute name="internal-destination">
|
7615
7618
|
<xsl:value-of select="concat(@reference, '_', ancestor::*[local-name()='table'][1]/@id)"/>
|
@@ -8612,9 +8615,19 @@
|
|
8612
8615
|
</fo:inline>
|
8613
8616
|
</xsl:template>
|
8614
8617
|
|
8615
|
-
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="text()[ancestor::*[local-name()='smallcap']]">
|
8618
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="text()[ancestor::*[local-name()='smallcap']]" name="smallcaps">
|
8619
|
+
<xsl:param name="txt"/>
|
8616
8620
|
<!-- <xsl:variable name="text" select="normalize-space(.)"/> --> <!-- https://github.com/metanorma/metanorma-iso/issues/1115 -->
|
8617
|
-
<xsl:variable name="text"
|
8621
|
+
<xsl:variable name="text">
|
8622
|
+
<xsl:choose>
|
8623
|
+
<xsl:when test="$txt != ''">
|
8624
|
+
<xsl:value-of select="$txt"/>
|
8625
|
+
</xsl:when>
|
8626
|
+
<xsl:otherwise>
|
8627
|
+
<xsl:value-of select="."/>
|
8628
|
+
</xsl:otherwise>
|
8629
|
+
</xsl:choose>
|
8630
|
+
</xsl:variable>
|
8618
8631
|
<xsl:variable name="ratio_">
|
8619
8632
|
0.75
|
8620
8633
|
</xsl:variable>
|
@@ -10092,9 +10105,12 @@
|
|
10092
10105
|
<xsl:apply-templates/>
|
10093
10106
|
</xsl:when>
|
10094
10107
|
<xsl:otherwise>
|
10108
|
+
<xsl:variable name="alt_text">
|
10109
|
+
<xsl:call-template name="getAltText"/>
|
10110
|
+
</xsl:variable>
|
10095
10111
|
<xsl:call-template name="insert_basic_link">
|
10096
10112
|
<xsl:with-param name="element">
|
10097
|
-
<fo:basic-link external-destination="{$target}" fox:alt-text="{$
|
10113
|
+
<fo:basic-link external-destination="{$target}" fox:alt-text="{$alt_text}">
|
10098
10114
|
<xsl:if test="$isLinkToEmbeddedFile = 'true'">
|
10099
10115
|
<xsl:attribute name="role">Annot</xsl:attribute>
|
10100
10116
|
</xsl:if>
|
@@ -10121,6 +10137,14 @@
|
|
10121
10137
|
</fo:inline>
|
10122
10138
|
</xsl:template> <!-- link -->
|
10123
10139
|
|
10140
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="getAltText">
|
10141
|
+
<xsl:choose>
|
10142
|
+
<xsl:when test="normalize-space(.) = ''"><xsl:value-of select="@target"/></xsl:when>
|
10143
|
+
<xsl:otherwise><xsl:value-of select="normalize-space(translate(normalize-space(), ' —', ' -'))"/></xsl:otherwise>
|
10144
|
+
<!-- <xsl:otherwise><xsl:value-of select="@target"/></xsl:otherwise> -->
|
10145
|
+
</xsl:choose>
|
10146
|
+
</xsl:template>
|
10147
|
+
|
10124
10148
|
<!-- ======================== -->
|
10125
10149
|
<!-- Appendix processing -->
|
10126
10150
|
<!-- ======================== -->
|
@@ -10151,7 +10175,7 @@
|
|
10151
10175
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'callout']">
|
10152
10176
|
<xsl:choose>
|
10153
10177
|
<xsl:when test="normalize-space(@target) = ''"><<xsl:apply-templates/>></xsl:when>
|
10154
|
-
<xsl:otherwise><fo:basic-link internal-destination="{@target}" fox:alt-text="{
|
10178
|
+
<xsl:otherwise><fo:basic-link internal-destination="{@target}" fox:alt-text="{normalize-space()}"><<xsl:apply-templates/>></fo:basic-link></xsl:otherwise>
|
10155
10179
|
</xsl:choose>
|
10156
10180
|
</xsl:template>
|
10157
10181
|
|
@@ -10180,7 +10204,10 @@
|
|
10180
10204
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'xref']">
|
10181
10205
|
<xsl:call-template name="insert_basic_link">
|
10182
10206
|
<xsl:with-param name="element">
|
10183
|
-
<
|
10207
|
+
<xsl:variable name="alt_text">
|
10208
|
+
<xsl:call-template name="getAltText"/>
|
10209
|
+
</xsl:variable>
|
10210
|
+
<fo:basic-link internal-destination="{@target}" fox:alt-text="{$alt_text}" xsl:use-attribute-sets="xref-style">
|
10184
10211
|
<xsl:if test="string-length(normalize-space()) < 30 and not(contains(normalize-space(), 'http://')) and not(contains(normalize-space(), 'https://')) and not(ancestor::*[local-name() = 'table' or local-name() = 'dl'])">
|
10185
10212
|
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
10186
10213
|
</xsl:if>
|
@@ -12693,12 +12720,14 @@
|
|
12693
12720
|
|
12694
12721
|
<xsl:when test="contains(normalize-space($fo_element), 'list')">
|
12695
12722
|
|
12696
|
-
<xsl:variable name="
|
12723
|
+
<xsl:variable name="provisional_distance_between_starts_">
|
12697
12724
|
7
|
12698
12725
|
</xsl:variable>
|
12699
|
-
<xsl:variable name="
|
12726
|
+
<xsl:variable name="provisional_distance_between_starts" select="normalize-space($provisional_distance_between_starts_)"/>
|
12727
|
+
<xsl:variable name="indent_">
|
12700
12728
|
0
|
12701
12729
|
</xsl:variable>
|
12730
|
+
<xsl:variable name="indent" select="normalize-space($indent_)"/>
|
12702
12731
|
|
12703
12732
|
<fo:list-block provisional-distance-between-starts="{$provisional_distance_between_starts}mm">
|
12704
12733
|
<fo:list-item>
|
@@ -13427,14 +13456,17 @@
|
|
13427
13456
|
</xsl:when>
|
13428
13457
|
<xsl:when test="local-name(..) = 'ol' and @label"> <!-- for ordered lists 'ol', and if there is @label, for instance label="1.1.2" -->
|
13429
13458
|
|
13430
|
-
<xsl:variable name="
|
13459
|
+
<xsl:variable name="type" select="../@type"/>
|
13431
13460
|
|
13432
|
-
|
13461
|
+
<xsl:variable name="label">
|
13433
13462
|
|
13434
13463
|
<xsl:variable name="style_prefix_">
|
13435
13464
|
<xsl:if test="$type = 'roman'">
|
13436
13465
|
( <!-- Example: (i) -->
|
13437
13466
|
</xsl:if>
|
13467
|
+
<xsl:if test="$type = 'alphabet'">
|
13468
|
+
|
13469
|
+
</xsl:if>
|
13438
13470
|
</xsl:variable>
|
13439
13471
|
<xsl:variable name="style_prefix" select="normalize-space($style_prefix_)"/>
|
13440
13472
|
|
@@ -13460,13 +13492,15 @@
|
|
13460
13492
|
<xsl:if test="$style_prefix != '' and not(starts-with(@label, $style_prefix))">
|
13461
13493
|
<xsl:value-of select="$style_prefix"/>
|
13462
13494
|
</xsl:if>
|
13495
|
+
|
13463
13496
|
<xsl:value-of select="@label"/>
|
13497
|
+
|
13464
13498
|
<xsl:if test="not(java:endsWith(java:java.lang.String.new(@label),$style_suffix))">
|
13465
13499
|
<xsl:value-of select="$style_suffix"/>
|
13466
13500
|
</xsl:if>
|
13467
13501
|
</xsl:variable>
|
13468
13502
|
|
13469
|
-
|
13503
|
+
<xsl:value-of select="normalize-space($label)"/>
|
13470
13504
|
|
13471
13505
|
</xsl:when>
|
13472
13506
|
<xsl:otherwise> <!-- for ordered lists 'ol' -->
|
@@ -15664,7 +15698,8 @@
|
|
15664
15698
|
<xsl:variable name="description" select="normalize-space($bibitem_attachment/*[local-name() = 'formattedref'])"/>
|
15665
15699
|
<xsl:variable name="filename" select="java:org.metanorma.fop.Util.getFilenameFromPath(@name)"/>
|
15666
15700
|
<!-- Todo: need update -->
|
15667
|
-
<xsl:variable name="afrelationship" select="normalize-space($bibitem_attachment//*[local-name() = '
|
15701
|
+
<xsl:variable name="afrelationship" select="normalize-space($bibitem_attachment//*[local-name() = 'classification'][@type = 'pdf-AFRelationship'])"/>
|
15702
|
+
<xsl:variable name="volatile" select="normalize-space($bibitem_attachment//*[local-name() = 'classification'][@type = 'pdf-volatile'])"/>
|
15668
15703
|
|
15669
15704
|
<pdf:embedded-file filename="{$filename}" link-as-file-annotation="true">
|
15670
15705
|
<xsl:attribute name="src">
|
@@ -15685,6 +15720,9 @@
|
|
15685
15720
|
<xsl:if test="$afrelationship != ''">
|
15686
15721
|
<xsl:attribute name="afrelationship"><xsl:value-of select="$afrelationship"/></xsl:attribute>
|
15687
15722
|
</xsl:if>
|
15723
|
+
<xsl:if test="$volatile != ''">
|
15724
|
+
<xsl:attribute name="volatile"><xsl:value-of select="$volatile"/></xsl:attribute>
|
15725
|
+
</xsl:if>
|
15688
15726
|
</pdf:embedded-file>
|
15689
15727
|
</xsl:for-each>
|
15690
15728
|
<!-- references to external attachments (no binary-encoded within the Metanorma XML file) -->
|
@@ -15695,14 +15733,18 @@
|
|
15695
15733
|
<xsl:variable name="url" select="concat('url(file:///',$basepath, $attachment_path, ')')"/>
|
15696
15734
|
<xsl:variable name="description" select="normalize-space(*[local-name() = 'formattedref'])"/>
|
15697
15735
|
<!-- Todo: need update -->
|
15698
|
-
|
15736
|
+
<xsl:variable name="afrelationship" select="normalize-space(.//*[local-name() = 'classification'][@type = 'pdf-AFRelationship'])"/>
|
15737
|
+
<xsl:variable name="volatile" select="normalize-space(.//*[local-name() = 'classification'][@type = 'pdf-volatile'])"/>
|
15699
15738
|
<pdf:embedded-file src="{$url}" filename="{$attachment_name}" link-as-file-annotation="true">
|
15700
15739
|
<xsl:if test="$description != ''">
|
15701
15740
|
<xsl:attribute name="description"><xsl:value-of select="$description"/></xsl:attribute>
|
15702
15741
|
</xsl:if>
|
15703
15742
|
<xsl:if test="$afrelationship != ''">
|
15704
|
-
|
15705
|
-
|
15743
|
+
<xsl:attribute name="afrelationship"><xsl:value-of select="$afrelationship"/></xsl:attribute>
|
15744
|
+
</xsl:if>
|
15745
|
+
<xsl:if test="$volatile != ''">
|
15746
|
+
<xsl:attribute name="volatile"><xsl:value-of select="$volatile"/></xsl:attribute>
|
15747
|
+
</xsl:if>
|
15706
15748
|
</pdf:embedded-file>
|
15707
15749
|
</xsl:for-each>
|
15708
15750
|
</xsl:if>
|
@@ -15749,10 +15791,31 @@
|
|
15749
15791
|
<xsl:value-of select="$level_total - 2"/>
|
15750
15792
|
</xsl:when>
|
15751
15793
|
<xsl:when test="ancestor::*[local-name() = 'sections'] and self::*[local-name() = 'title']">
|
15752
|
-
|
15794
|
+
<!-- determine 'depth' depends on upper clause with title/@depth -->
|
15795
|
+
<!-- <xsl:message>title=<xsl:value-of select="."/></xsl:message> -->
|
15796
|
+
<xsl:variable name="clause_with_depth_depth" select="ancestor::*[local-name() = 'clause'][*[local-name() = 'title']/@depth][1]/*[local-name() = 'title']/@depth"/>
|
15797
|
+
<!-- <xsl:message>clause_with_depth_depth=<xsl:value-of select="$clause_with_depth_depth"/></xsl:message> -->
|
15798
|
+
<xsl:variable name="clause_with_depth_level" select="count(ancestor::*[local-name() = 'clause'][*[local-name() = 'title']/@depth][1]/ancestor::*)"/>
|
15799
|
+
<!-- <xsl:message>clause_with_depth_level=<xsl:value-of select="$clause_with_depth_level"/></xsl:message> -->
|
15800
|
+
<xsl:variable name="curr_level" select="count(ancestor::*) - 1"/>
|
15801
|
+
<!-- <xsl:message>curr_level=<xsl:value-of select="$curr_level"/></xsl:message> -->
|
15802
|
+
<!-- <xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause'][2]/*[local-name() = 'title']/@depth)"/> -->
|
15803
|
+
<xsl:variable name="curr_clause_depth" select="number($clause_with_depth_depth) + (number($curr_level) - number($clause_with_depth_level)) "/>
|
15804
|
+
<!-- <xsl:message>curr_clause_depth=<xsl:value-of select="$curr_clause_depth"/></xsl:message> -->
|
15753
15805
|
<xsl:choose>
|
15754
|
-
<xsl:when test="string(number($
|
15755
|
-
<xsl:value-of select="number($
|
15806
|
+
<xsl:when test="string(number($curr_clause_depth)) != 'NaN'">
|
15807
|
+
<xsl:value-of select="number($curr_clause_depth)"/>
|
15808
|
+
</xsl:when>
|
15809
|
+
<xsl:otherwise>
|
15810
|
+
<xsl:value-of select="$level_total - 2"/>
|
15811
|
+
</xsl:otherwise>
|
15812
|
+
</xsl:choose>
|
15813
|
+
</xsl:when>
|
15814
|
+
<xsl:when test="ancestor::*[local-name() = 'sections'] and self::*[local-name() = 'name'] and parent::*[local-name() = 'term']">
|
15815
|
+
<xsl:variable name="upper_terms_depth" select="normalize-space(ancestor::*[local-name() = 'terms'][1]/*[local-name() = 'title']/@depth)"/>
|
15816
|
+
<xsl:choose>
|
15817
|
+
<xsl:when test="string(number($upper_terms_depth)) != 'NaN'">
|
15818
|
+
<xsl:value-of select="number($upper_terms_depth + 1)"/>
|
15756
15819
|
</xsl:when>
|
15757
15820
|
<xsl:otherwise>
|
15758
15821
|
<xsl:value-of select="$level_total - 2"/>
|
@@ -15760,7 +15823,7 @@
|
|
15760
15823
|
</xsl:choose>
|
15761
15824
|
</xsl:when>
|
15762
15825
|
<xsl:when test="ancestor::*[local-name() = 'sections']">
|
15763
|
-
<xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause'][1]/*[local-name() = 'title']/@depth)"/>
|
15826
|
+
<xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause' or local-name() = 'terms'][1]/*[local-name() = 'title']/@depth)"/>
|
15764
15827
|
<xsl:choose>
|
15765
15828
|
<xsl:when test="string(number($upper_clause_depth)) != 'NaN'">
|
15766
15829
|
<xsl:value-of select="number($upper_clause_depth + 1)"/>
|
@@ -7287,7 +7287,8 @@
|
|
7287
7287
|
</xsl:choose>
|
7288
7288
|
</xsl:variable>
|
7289
7289
|
<xsl:variable name="current_fn_number_text">
|
7290
|
-
|
7290
|
+
|
7291
|
+
<xsl:value-of select="$current_fn_number"/>
|
7291
7292
|
|
7292
7293
|
</xsl:variable>
|
7293
7294
|
|
@@ -7323,8 +7324,10 @@
|
|
7323
7324
|
|
7324
7325
|
<xsl:call-template name="insert_basic_link">
|
7325
7326
|
<xsl:with-param name="element">
|
7326
|
-
<fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}" role="Lbl"
|
7327
|
-
<
|
7327
|
+
<fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}"> <!-- note: role="Lbl" removed in https://github.com/metanorma/mn2pdf/issues/291 -->
|
7328
|
+
<fo:inline role="Lbl"> <!-- need for https://github.com/metanorma/metanorma-iso/issues/1003 -->
|
7329
|
+
<xsl:copy-of select="$current_fn_number_text"/>
|
7330
|
+
</fo:inline>
|
7328
7331
|
</fo:basic-link>
|
7329
7332
|
</xsl:with-param>
|
7330
7333
|
</xsl:call-template>
|
@@ -7609,7 +7612,7 @@
|
|
7609
7612
|
|
7610
7613
|
<xsl:call-template name="refine_fn-reference-style"/>
|
7611
7614
|
|
7612
|
-
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
7615
|
+
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="footnote {@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
7613
7616
|
<xsl:if test="ancestor::*[local-name()='table'][1]/@id"> <!-- for footnotes in tables -->
|
7614
7617
|
<xsl:attribute name="internal-destination">
|
7615
7618
|
<xsl:value-of select="concat(@reference, '_', ancestor::*[local-name()='table'][1]/@id)"/>
|
@@ -8612,9 +8615,19 @@
|
|
8612
8615
|
</fo:inline>
|
8613
8616
|
</xsl:template>
|
8614
8617
|
|
8615
|
-
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="text()[ancestor::*[local-name()='smallcap']]">
|
8618
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="text()[ancestor::*[local-name()='smallcap']]" name="smallcaps">
|
8619
|
+
<xsl:param name="txt"/>
|
8616
8620
|
<!-- <xsl:variable name="text" select="normalize-space(.)"/> --> <!-- https://github.com/metanorma/metanorma-iso/issues/1115 -->
|
8617
|
-
<xsl:variable name="text"
|
8621
|
+
<xsl:variable name="text">
|
8622
|
+
<xsl:choose>
|
8623
|
+
<xsl:when test="$txt != ''">
|
8624
|
+
<xsl:value-of select="$txt"/>
|
8625
|
+
</xsl:when>
|
8626
|
+
<xsl:otherwise>
|
8627
|
+
<xsl:value-of select="."/>
|
8628
|
+
</xsl:otherwise>
|
8629
|
+
</xsl:choose>
|
8630
|
+
</xsl:variable>
|
8618
8631
|
<xsl:variable name="ratio_">
|
8619
8632
|
0.75
|
8620
8633
|
</xsl:variable>
|
@@ -10092,9 +10105,12 @@
|
|
10092
10105
|
<xsl:apply-templates/>
|
10093
10106
|
</xsl:when>
|
10094
10107
|
<xsl:otherwise>
|
10108
|
+
<xsl:variable name="alt_text">
|
10109
|
+
<xsl:call-template name="getAltText"/>
|
10110
|
+
</xsl:variable>
|
10095
10111
|
<xsl:call-template name="insert_basic_link">
|
10096
10112
|
<xsl:with-param name="element">
|
10097
|
-
<fo:basic-link external-destination="{$target}" fox:alt-text="{$
|
10113
|
+
<fo:basic-link external-destination="{$target}" fox:alt-text="{$alt_text}">
|
10098
10114
|
<xsl:if test="$isLinkToEmbeddedFile = 'true'">
|
10099
10115
|
<xsl:attribute name="role">Annot</xsl:attribute>
|
10100
10116
|
</xsl:if>
|
@@ -10121,6 +10137,14 @@
|
|
10121
10137
|
</fo:inline>
|
10122
10138
|
</xsl:template> <!-- link -->
|
10123
10139
|
|
10140
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="getAltText">
|
10141
|
+
<xsl:choose>
|
10142
|
+
<xsl:when test="normalize-space(.) = ''"><xsl:value-of select="@target"/></xsl:when>
|
10143
|
+
<xsl:otherwise><xsl:value-of select="normalize-space(translate(normalize-space(), ' —', ' -'))"/></xsl:otherwise>
|
10144
|
+
<!-- <xsl:otherwise><xsl:value-of select="@target"/></xsl:otherwise> -->
|
10145
|
+
</xsl:choose>
|
10146
|
+
</xsl:template>
|
10147
|
+
|
10124
10148
|
<!-- ======================== -->
|
10125
10149
|
<!-- Appendix processing -->
|
10126
10150
|
<!-- ======================== -->
|
@@ -10151,7 +10175,7 @@
|
|
10151
10175
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'callout']">
|
10152
10176
|
<xsl:choose>
|
10153
10177
|
<xsl:when test="normalize-space(@target) = ''"><<xsl:apply-templates/>></xsl:when>
|
10154
|
-
<xsl:otherwise><fo:basic-link internal-destination="{@target}" fox:alt-text="{
|
10178
|
+
<xsl:otherwise><fo:basic-link internal-destination="{@target}" fox:alt-text="{normalize-space()}"><<xsl:apply-templates/>></fo:basic-link></xsl:otherwise>
|
10155
10179
|
</xsl:choose>
|
10156
10180
|
</xsl:template>
|
10157
10181
|
|
@@ -10180,7 +10204,10 @@
|
|
10180
10204
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'xref']">
|
10181
10205
|
<xsl:call-template name="insert_basic_link">
|
10182
10206
|
<xsl:with-param name="element">
|
10183
|
-
<
|
10207
|
+
<xsl:variable name="alt_text">
|
10208
|
+
<xsl:call-template name="getAltText"/>
|
10209
|
+
</xsl:variable>
|
10210
|
+
<fo:basic-link internal-destination="{@target}" fox:alt-text="{$alt_text}" xsl:use-attribute-sets="xref-style">
|
10184
10211
|
<xsl:if test="string-length(normalize-space()) < 30 and not(contains(normalize-space(), 'http://')) and not(contains(normalize-space(), 'https://')) and not(ancestor::*[local-name() = 'table' or local-name() = 'dl'])">
|
10185
10212
|
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
10186
10213
|
</xsl:if>
|
@@ -12693,12 +12720,14 @@
|
|
12693
12720
|
|
12694
12721
|
<xsl:when test="contains(normalize-space($fo_element), 'list')">
|
12695
12722
|
|
12696
|
-
<xsl:variable name="
|
12723
|
+
<xsl:variable name="provisional_distance_between_starts_">
|
12697
12724
|
7
|
12698
12725
|
</xsl:variable>
|
12699
|
-
<xsl:variable name="
|
12726
|
+
<xsl:variable name="provisional_distance_between_starts" select="normalize-space($provisional_distance_between_starts_)"/>
|
12727
|
+
<xsl:variable name="indent_">
|
12700
12728
|
0
|
12701
12729
|
</xsl:variable>
|
12730
|
+
<xsl:variable name="indent" select="normalize-space($indent_)"/>
|
12702
12731
|
|
12703
12732
|
<fo:list-block provisional-distance-between-starts="{$provisional_distance_between_starts}mm">
|
12704
12733
|
<fo:list-item>
|
@@ -13427,14 +13456,17 @@
|
|
13427
13456
|
</xsl:when>
|
13428
13457
|
<xsl:when test="local-name(..) = 'ol' and @label"> <!-- for ordered lists 'ol', and if there is @label, for instance label="1.1.2" -->
|
13429
13458
|
|
13430
|
-
<xsl:variable name="
|
13459
|
+
<xsl:variable name="type" select="../@type"/>
|
13431
13460
|
|
13432
|
-
|
13461
|
+
<xsl:variable name="label">
|
13433
13462
|
|
13434
13463
|
<xsl:variable name="style_prefix_">
|
13435
13464
|
<xsl:if test="$type = 'roman'">
|
13436
13465
|
( <!-- Example: (i) -->
|
13437
13466
|
</xsl:if>
|
13467
|
+
<xsl:if test="$type = 'alphabet'">
|
13468
|
+
|
13469
|
+
</xsl:if>
|
13438
13470
|
</xsl:variable>
|
13439
13471
|
<xsl:variable name="style_prefix" select="normalize-space($style_prefix_)"/>
|
13440
13472
|
|
@@ -13460,13 +13492,15 @@
|
|
13460
13492
|
<xsl:if test="$style_prefix != '' and not(starts-with(@label, $style_prefix))">
|
13461
13493
|
<xsl:value-of select="$style_prefix"/>
|
13462
13494
|
</xsl:if>
|
13495
|
+
|
13463
13496
|
<xsl:value-of select="@label"/>
|
13497
|
+
|
13464
13498
|
<xsl:if test="not(java:endsWith(java:java.lang.String.new(@label),$style_suffix))">
|
13465
13499
|
<xsl:value-of select="$style_suffix"/>
|
13466
13500
|
</xsl:if>
|
13467
13501
|
</xsl:variable>
|
13468
13502
|
|
13469
|
-
|
13503
|
+
<xsl:value-of select="normalize-space($label)"/>
|
13470
13504
|
|
13471
13505
|
</xsl:when>
|
13472
13506
|
<xsl:otherwise> <!-- for ordered lists 'ol' -->
|
@@ -15664,7 +15698,8 @@
|
|
15664
15698
|
<xsl:variable name="description" select="normalize-space($bibitem_attachment/*[local-name() = 'formattedref'])"/>
|
15665
15699
|
<xsl:variable name="filename" select="java:org.metanorma.fop.Util.getFilenameFromPath(@name)"/>
|
15666
15700
|
<!-- Todo: need update -->
|
15667
|
-
<xsl:variable name="afrelationship" select="normalize-space($bibitem_attachment//*[local-name() = '
|
15701
|
+
<xsl:variable name="afrelationship" select="normalize-space($bibitem_attachment//*[local-name() = 'classification'][@type = 'pdf-AFRelationship'])"/>
|
15702
|
+
<xsl:variable name="volatile" select="normalize-space($bibitem_attachment//*[local-name() = 'classification'][@type = 'pdf-volatile'])"/>
|
15668
15703
|
|
15669
15704
|
<pdf:embedded-file filename="{$filename}" link-as-file-annotation="true">
|
15670
15705
|
<xsl:attribute name="src">
|
@@ -15685,6 +15720,9 @@
|
|
15685
15720
|
<xsl:if test="$afrelationship != ''">
|
15686
15721
|
<xsl:attribute name="afrelationship"><xsl:value-of select="$afrelationship"/></xsl:attribute>
|
15687
15722
|
</xsl:if>
|
15723
|
+
<xsl:if test="$volatile != ''">
|
15724
|
+
<xsl:attribute name="volatile"><xsl:value-of select="$volatile"/></xsl:attribute>
|
15725
|
+
</xsl:if>
|
15688
15726
|
</pdf:embedded-file>
|
15689
15727
|
</xsl:for-each>
|
15690
15728
|
<!-- references to external attachments (no binary-encoded within the Metanorma XML file) -->
|
@@ -15695,14 +15733,18 @@
|
|
15695
15733
|
<xsl:variable name="url" select="concat('url(file:///',$basepath, $attachment_path, ')')"/>
|
15696
15734
|
<xsl:variable name="description" select="normalize-space(*[local-name() = 'formattedref'])"/>
|
15697
15735
|
<!-- Todo: need update -->
|
15698
|
-
|
15736
|
+
<xsl:variable name="afrelationship" select="normalize-space(.//*[local-name() = 'classification'][@type = 'pdf-AFRelationship'])"/>
|
15737
|
+
<xsl:variable name="volatile" select="normalize-space(.//*[local-name() = 'classification'][@type = 'pdf-volatile'])"/>
|
15699
15738
|
<pdf:embedded-file src="{$url}" filename="{$attachment_name}" link-as-file-annotation="true">
|
15700
15739
|
<xsl:if test="$description != ''">
|
15701
15740
|
<xsl:attribute name="description"><xsl:value-of select="$description"/></xsl:attribute>
|
15702
15741
|
</xsl:if>
|
15703
15742
|
<xsl:if test="$afrelationship != ''">
|
15704
|
-
|
15705
|
-
|
15743
|
+
<xsl:attribute name="afrelationship"><xsl:value-of select="$afrelationship"/></xsl:attribute>
|
15744
|
+
</xsl:if>
|
15745
|
+
<xsl:if test="$volatile != ''">
|
15746
|
+
<xsl:attribute name="volatile"><xsl:value-of select="$volatile"/></xsl:attribute>
|
15747
|
+
</xsl:if>
|
15706
15748
|
</pdf:embedded-file>
|
15707
15749
|
</xsl:for-each>
|
15708
15750
|
</xsl:if>
|
@@ -15749,10 +15791,31 @@
|
|
15749
15791
|
<xsl:value-of select="$level_total - 2"/>
|
15750
15792
|
</xsl:when>
|
15751
15793
|
<xsl:when test="ancestor::*[local-name() = 'sections'] and self::*[local-name() = 'title']">
|
15752
|
-
|
15794
|
+
<!-- determine 'depth' depends on upper clause with title/@depth -->
|
15795
|
+
<!-- <xsl:message>title=<xsl:value-of select="."/></xsl:message> -->
|
15796
|
+
<xsl:variable name="clause_with_depth_depth" select="ancestor::*[local-name() = 'clause'][*[local-name() = 'title']/@depth][1]/*[local-name() = 'title']/@depth"/>
|
15797
|
+
<!-- <xsl:message>clause_with_depth_depth=<xsl:value-of select="$clause_with_depth_depth"/></xsl:message> -->
|
15798
|
+
<xsl:variable name="clause_with_depth_level" select="count(ancestor::*[local-name() = 'clause'][*[local-name() = 'title']/@depth][1]/ancestor::*)"/>
|
15799
|
+
<!-- <xsl:message>clause_with_depth_level=<xsl:value-of select="$clause_with_depth_level"/></xsl:message> -->
|
15800
|
+
<xsl:variable name="curr_level" select="count(ancestor::*) - 1"/>
|
15801
|
+
<!-- <xsl:message>curr_level=<xsl:value-of select="$curr_level"/></xsl:message> -->
|
15802
|
+
<!-- <xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause'][2]/*[local-name() = 'title']/@depth)"/> -->
|
15803
|
+
<xsl:variable name="curr_clause_depth" select="number($clause_with_depth_depth) + (number($curr_level) - number($clause_with_depth_level)) "/>
|
15804
|
+
<!-- <xsl:message>curr_clause_depth=<xsl:value-of select="$curr_clause_depth"/></xsl:message> -->
|
15753
15805
|
<xsl:choose>
|
15754
|
-
<xsl:when test="string(number($
|
15755
|
-
<xsl:value-of select="number($
|
15806
|
+
<xsl:when test="string(number($curr_clause_depth)) != 'NaN'">
|
15807
|
+
<xsl:value-of select="number($curr_clause_depth)"/>
|
15808
|
+
</xsl:when>
|
15809
|
+
<xsl:otherwise>
|
15810
|
+
<xsl:value-of select="$level_total - 2"/>
|
15811
|
+
</xsl:otherwise>
|
15812
|
+
</xsl:choose>
|
15813
|
+
</xsl:when>
|
15814
|
+
<xsl:when test="ancestor::*[local-name() = 'sections'] and self::*[local-name() = 'name'] and parent::*[local-name() = 'term']">
|
15815
|
+
<xsl:variable name="upper_terms_depth" select="normalize-space(ancestor::*[local-name() = 'terms'][1]/*[local-name() = 'title']/@depth)"/>
|
15816
|
+
<xsl:choose>
|
15817
|
+
<xsl:when test="string(number($upper_terms_depth)) != 'NaN'">
|
15818
|
+
<xsl:value-of select="number($upper_terms_depth + 1)"/>
|
15756
15819
|
</xsl:when>
|
15757
15820
|
<xsl:otherwise>
|
15758
15821
|
<xsl:value-of select="$level_total - 2"/>
|
@@ -15760,7 +15823,7 @@
|
|
15760
15823
|
</xsl:choose>
|
15761
15824
|
</xsl:when>
|
15762
15825
|
<xsl:when test="ancestor::*[local-name() = 'sections']">
|
15763
|
-
<xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause'][1]/*[local-name() = 'title']/@depth)"/>
|
15826
|
+
<xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause' or local-name() = 'terms'][1]/*[local-name() = 'title']/@depth)"/>
|
15764
15827
|
<xsl:choose>
|
15765
15828
|
<xsl:when test="string(number($upper_clause_depth)) != 'NaN'">
|
15766
15829
|
<xsl:value-of select="number($upper_clause_depth + 1)"/>
|