metanorma-iec 2.0.3 → 2.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/isodoc/iec/html/wordstyle.css +20 -0
- data/lib/isodoc/iec/html/wordstyle.scss +19 -0
- data/lib/isodoc/iec/iec.international-standard.xsl +626 -186
- data/lib/isodoc/iec/xref.rb +10 -9
- data/lib/metanorma/iec/isodoc.rng +73 -3
- data/lib/metanorma/iec/version.rb +1 -1
- data/spec/isodoc/iev_spec.rb +5 -10
- data/spec/isodoc/postproc_spec.rb +1 -1
- data/spec/isodoc/terms_spec.rb +4 -7
- metadata +3 -3
@@ -74,7 +74,7 @@
|
|
74
74
|
<item level="1" id="Foreword" display="true">Foreword</item>
|
75
75
|
<item id="term-script" display="false">3.2</item>
|
76
76
|
-->
|
77
|
-
<xsl:variable name="
|
77
|
+
<xsl:variable name="contents_">
|
78
78
|
|
79
79
|
<xsl:for-each select="//iec:iec-standard">
|
80
80
|
<xsl:variable name="lang" select="*[local-name()='bibdata']/*[local-name()='language'][@current = 'true']"/>
|
@@ -92,22 +92,16 @@
|
|
92
92
|
</xsl:for-each>
|
93
93
|
|
94
94
|
</xsl:variable>
|
95
|
+
<xsl:variable name="contents" select="xalan:nodeset($contents_)"/>
|
95
96
|
|
96
97
|
<xsl:template name="generateContents">
|
97
98
|
<contents>
|
98
99
|
<xsl:call-template name="processPrefaceSectionsDefault_Contents"/>
|
99
100
|
<xsl:call-template name="processMainSectionsDefault_Contents"/>
|
100
101
|
<xsl:apply-templates select="//iec:indexsect" mode="contents"/>
|
101
|
-
<xsl:
|
102
|
-
<
|
103
|
-
|
104
|
-
</figure>
|
105
|
-
</xsl:for-each>
|
106
|
-
<xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name']]">
|
107
|
-
<table id="{@id}">
|
108
|
-
<title><xsl:value-of select="*[local-name() = 'name']/text()"/></title>
|
109
|
-
</table>
|
110
|
-
</xsl:for-each>
|
102
|
+
<xsl:call-template name="processTablesFigures_Contents">
|
103
|
+
<xsl:with-param name="always">true</xsl:with-param>
|
104
|
+
</xsl:call-template>
|
111
105
|
</contents>
|
112
106
|
</xsl:template>
|
113
107
|
|
@@ -816,7 +810,7 @@
|
|
816
810
|
<xsl:if test="$debug = 'true'">
|
817
811
|
<xsl:text disable-output-escaping="yes"><!--</xsl:text>
|
818
812
|
DEBUG
|
819
|
-
contents=<xsl:copy-of select="
|
813
|
+
contents=<xsl:copy-of select="$contents"/>
|
820
814
|
<xsl:text disable-output-escaping="yes">--></xsl:text>
|
821
815
|
</xsl:if>
|
822
816
|
|
@@ -845,7 +839,7 @@
|
|
845
839
|
<fo:flow flow-name="xsl-region-body">
|
846
840
|
|
847
841
|
<xsl:call-template name="insertTOCpages">
|
848
|
-
<xsl:with-param name="contents" select="
|
842
|
+
<xsl:with-param name="contents" select="$contents/doc[@id = $docid]"/>
|
849
843
|
</xsl:call-template>
|
850
844
|
|
851
845
|
<xsl:call-template name="insertPrefacepages">
|
@@ -1192,39 +1186,36 @@
|
|
1192
1186
|
</fo:block>
|
1193
1187
|
</xsl:for-each>
|
1194
1188
|
|
1195
|
-
<xsl:if test="//
|
1196
|
-
<fo:block margin-bottom="5pt"> </fo:block>
|
1197
|
-
<xsl:for-each select="//
|
1198
|
-
<
|
1199
|
-
<fo:basic-link internal-destination="{@id}" fox:alt-text="Figure {@id}">
|
1200
|
-
<xsl:apply-templates select="iec:name" mode="contents"/>
|
1201
|
-
<fo:inline keep-together.within-line="always">
|
1202
|
-
<fo:leader leader-pattern="dots"/>
|
1203
|
-
<fo:page-number-citation ref-id="{@id}"/>
|
1204
|
-
</fo:inline>
|
1205
|
-
</fo:basic-link>
|
1206
|
-
</fo:block>
|
1189
|
+
<xsl:if test="$contents//figures/figure">
|
1190
|
+
<fo:block margin-bottom="5pt"> </fo:block>
|
1191
|
+
<xsl:for-each select="$contents//figures/figure">
|
1192
|
+
<xsl:call-template name="insertListOf_Item"/>
|
1207
1193
|
</xsl:for-each>
|
1208
1194
|
</xsl:if>
|
1209
1195
|
|
1210
|
-
<xsl:if test="//
|
1211
|
-
<fo:block margin-bottom="5pt"> </fo:block>
|
1212
|
-
<xsl:for-each select="//
|
1213
|
-
<
|
1214
|
-
<fo:basic-link internal-destination="{@id}" fox:alt-text="Table {@id}">
|
1215
|
-
<xsl:apply-templates select="iec:name" mode="contents"/>
|
1216
|
-
<fo:inline keep-together.within-line="always">
|
1217
|
-
<fo:leader leader-pattern="dots"/>
|
1218
|
-
<fo:page-number-citation ref-id="{@id}"/>
|
1219
|
-
</fo:inline>
|
1220
|
-
</fo:basic-link>
|
1221
|
-
</fo:block>
|
1196
|
+
<xsl:if test="$contents//tables/table">
|
1197
|
+
<fo:block margin-bottom="5pt"> </fo:block>
|
1198
|
+
<xsl:for-each select="$contents//tables/table">
|
1199
|
+
<xsl:call-template name="insertListOf_Item"/>
|
1222
1200
|
</xsl:for-each>
|
1223
1201
|
</xsl:if>
|
1202
|
+
|
1224
1203
|
</fo:block>
|
1225
1204
|
</fo:block-container>
|
1226
1205
|
</xsl:template>
|
1227
1206
|
|
1207
|
+
<xsl:template name="insertListOf_Item">
|
1208
|
+
<fo:block text-align-last="justify" margin-bottom="5pt" margin-left="8mm" text-indent="-8mm" role="TOCI">
|
1209
|
+
<fo:basic-link internal-destination="{@id}" fox:alt-text="{local-name()} {@id}">
|
1210
|
+
<xsl:apply-templates select="." mode="contents"/>
|
1211
|
+
<fo:inline keep-together.within-line="always">
|
1212
|
+
<fo:leader leader-pattern="dots"/>
|
1213
|
+
<fo:page-number-citation ref-id="{@id}"/>
|
1214
|
+
</fo:inline>
|
1215
|
+
</fo:basic-link>
|
1216
|
+
</fo:block>
|
1217
|
+
</xsl:template>
|
1218
|
+
|
1228
1219
|
<xsl:template name="insertPrefacepages">
|
1229
1220
|
<xsl:param name="lang" select="$lang"/>
|
1230
1221
|
<fo:block break-after="page"/>
|
@@ -1957,6 +1948,10 @@
|
|
1957
1948
|
<xsl:text>Édition </xsl:text>
|
1958
1949
|
</title-edition>
|
1959
1950
|
|
1951
|
+
<title-edition lang="ru">
|
1952
|
+
<xsl:text>Издание </xsl:text>
|
1953
|
+
</title-edition>
|
1954
|
+
|
1960
1955
|
<!-- These titles of Table of contents renders different than determined in localized-strings -->
|
1961
1956
|
<title-toc lang="en">
|
1962
1957
|
|
@@ -1971,7 +1966,7 @@
|
|
1971
1966
|
<xsl:text>Contents</xsl:text>
|
1972
1967
|
|
1973
1968
|
</title-toc>
|
1974
|
-
|
1969
|
+
|
1975
1970
|
<title-descriptors lang="en">Descriptors</title-descriptors>
|
1976
1971
|
|
1977
1972
|
<title-part lang="en">
|
@@ -1987,7 +1982,13 @@
|
|
1987
1982
|
<xsl:text>Partie #: </xsl:text>
|
1988
1983
|
|
1989
1984
|
|
1990
|
-
</title-part>
|
1985
|
+
</title-part>
|
1986
|
+
<title-part lang="ru">
|
1987
|
+
|
1988
|
+
|
1989
|
+
<xsl:text>Часть #: </xsl:text>
|
1990
|
+
|
1991
|
+
</title-part>
|
1991
1992
|
<title-part lang="zh">第 # 部分:</title-part>
|
1992
1993
|
|
1993
1994
|
<title-subpart lang="en">Sub-part #</title-subpart>
|
@@ -2003,10 +2004,35 @@
|
|
2003
2004
|
|
2004
2005
|
<title-summary lang="en">Summary</title-summary>
|
2005
2006
|
|
2007
|
+
<title-continued lang="ru">(продолжение)</title-continued>
|
2006
2008
|
<title-continued lang="en">(continued)</title-continued>
|
2007
2009
|
<title-continued lang="fr">(continué)</title-continued>
|
2008
2010
|
|
2009
|
-
</xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="
|
2011
|
+
</xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="title-list-tables">
|
2012
|
+
<xsl:variable name="toc_table_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']"/>
|
2013
|
+
<xsl:value-of select="$toc_table_title"/>
|
2014
|
+
<xsl:if test="normalize-space($toc_table_title) = ''">
|
2015
|
+
<xsl:call-template name="getTitle">
|
2016
|
+
<xsl:with-param name="name" select="'title-list-tables'"/>
|
2017
|
+
</xsl:call-template>
|
2018
|
+
</xsl:if>
|
2019
|
+
</xsl:variable><xsl:variable name="title-list-figures">
|
2020
|
+
<xsl:variable name="toc_figure_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']"/>
|
2021
|
+
<xsl:value-of select="$toc_figure_title"/>
|
2022
|
+
<xsl:if test="normalize-space($toc_figure_title) = ''">
|
2023
|
+
<xsl:call-template name="getTitle">
|
2024
|
+
<xsl:with-param name="name" select="'title-list-figures'"/>
|
2025
|
+
</xsl:call-template>
|
2026
|
+
</xsl:if>
|
2027
|
+
</xsl:variable><xsl:variable name="title-list-recommendations">
|
2028
|
+
<xsl:variable name="toc_requirement_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='requirement']/*[local-name() = 'title']"/>
|
2029
|
+
<xsl:value-of select="$toc_requirement_title"/>
|
2030
|
+
<xsl:if test="normalize-space($toc_requirement_title) = ''">
|
2031
|
+
<xsl:call-template name="getTitle">
|
2032
|
+
<xsl:with-param name="name" select="'title-list-recommendations'"/>
|
2033
|
+
</xsl:call-template>
|
2034
|
+
</xsl:if>
|
2035
|
+
</xsl:variable><xsl:variable name="bibdata">
|
2010
2036
|
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
|
2011
2037
|
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
|
2012
2038
|
</xsl:variable><xsl:variable name="linebreak">
</xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:variable name="non_breaking_hyphen">‑</xsl:variable><xsl:variable name="thin_space"> </xsl:variable><xsl:variable name="zero_width_space"></xsl:variable><xsl:variable name="en_dash">–</xsl:variable><xsl:template name="getTitle">
|
@@ -2775,13 +2801,19 @@
|
|
2775
2801
|
</xsl:attribute-set><xsl:variable name="color-added-text">
|
2776
2802
|
<xsl:text>rgb(0, 255, 0)</xsl:text>
|
2777
2803
|
</xsl:variable><xsl:attribute-set name="add-style">
|
2778
|
-
|
2779
|
-
|
2780
|
-
|
2781
|
-
|
2782
|
-
|
2783
|
-
|
2784
|
-
|
2804
|
+
|
2805
|
+
<xsl:attribute name="color">red</xsl:attribute>
|
2806
|
+
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
2807
|
+
<!-- <xsl:attribute name="color">black</xsl:attribute>
|
2808
|
+
<xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
|
2809
|
+
<xsl:attribute name="padding-top">1mm</xsl:attribute>
|
2810
|
+
<xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
|
2811
|
+
|
2812
|
+
</xsl:attribute-set><xsl:variable name="add-style">
|
2813
|
+
<add-style xsl:use-attribute-sets="add-style"/>
|
2814
|
+
</xsl:variable><xsl:template name="append_add-style">
|
2815
|
+
<xsl:copy-of select="xalan:nodeset($add-style)/add-style/@*"/>
|
2816
|
+
</xsl:template><xsl:variable name="color-deleted-text">
|
2785
2817
|
<xsl:text>red</xsl:text>
|
2786
2818
|
</xsl:variable><xsl:attribute-set name="del-style">
|
2787
2819
|
<xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
|
@@ -3218,14 +3250,42 @@
|
|
3218
3250
|
|
3219
3251
|
|
3220
3252
|
</xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:variable name="ace_tag">ace-tag_</xsl:variable><xsl:template name="processPrefaceSectionsDefault_Contents">
|
3253
|
+
<xsl:variable name="nodes_preface_">
|
3254
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
3255
|
+
<node id="{@id}"/>
|
3256
|
+
</xsl:for-each>
|
3257
|
+
</xsl:variable>
|
3258
|
+
<xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
|
3259
|
+
|
3221
3260
|
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
3222
3261
|
<xsl:sort select="@displayorder" data-type="number"/>
|
3262
|
+
|
3263
|
+
<!-- process Section's title -->
|
3264
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_preface/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
3265
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
3266
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="contents_no_displayorder"/>
|
3267
|
+
</xsl:if>
|
3268
|
+
|
3223
3269
|
<xsl:apply-templates select="." mode="contents"/>
|
3224
3270
|
</xsl:for-each>
|
3225
3271
|
</xsl:template><xsl:template name="processMainSectionsDefault_Contents">
|
3226
3272
|
|
3273
|
+
<xsl:variable name="nodes_sections_">
|
3274
|
+
<xsl:for-each select="/*/*[local-name()='sections']/*">
|
3275
|
+
<node id="{@id}"/>
|
3276
|
+
</xsl:for-each>
|
3277
|
+
</xsl:variable>
|
3278
|
+
<xsl:variable name="nodes_sections" select="xalan:nodeset($nodes_sections_)"/>
|
3279
|
+
|
3227
3280
|
<xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true'] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][@normative='true']]">
|
3228
3281
|
<xsl:sort select="@displayorder" data-type="number"/>
|
3282
|
+
|
3283
|
+
<!-- process Section's title -->
|
3284
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_sections/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
3285
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
3286
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="contents_no_displayorder"/>
|
3287
|
+
</xsl:if>
|
3288
|
+
|
3229
3289
|
<xsl:apply-templates select="." mode="contents"/>
|
3230
3290
|
</xsl:for-each>
|
3231
3291
|
|
@@ -3238,6 +3298,30 @@
|
|
3238
3298
|
<xsl:sort select="@displayorder" data-type="number"/>
|
3239
3299
|
<xsl:apply-templates select="." mode="contents"/>
|
3240
3300
|
</xsl:for-each>
|
3301
|
+
</xsl:template><xsl:template name="processTablesFigures_Contents">
|
3302
|
+
<xsl:param name="always"/>
|
3303
|
+
<xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
|
3304
|
+
<xsl:call-template name="processTables_Contents"/>
|
3305
|
+
</xsl:if>
|
3306
|
+
<xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
|
3307
|
+
<xsl:call-template name="processFigures_Contents"/>
|
3308
|
+
</xsl:if>
|
3309
|
+
</xsl:template><xsl:template name="processTables_Contents">
|
3310
|
+
<tables>
|
3311
|
+
<xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name'] and normalize-space(@id) != '']">
|
3312
|
+
<table id="{@id}" alt-text="{*[local-name() = 'name']}">
|
3313
|
+
<xsl:copy-of select="*[local-name() = 'name']"/>
|
3314
|
+
</table>
|
3315
|
+
</xsl:for-each>
|
3316
|
+
</tables>
|
3317
|
+
</xsl:template><xsl:template name="processFigures_Contents">
|
3318
|
+
<figures>
|
3319
|
+
<xsl:for-each select="//*[local-name() = 'figure'][@id and *[local-name() = 'name'] and not(@unnumbered = 'true') and normalize-space(@id) != ''] | //*[@id and starts-with(*[local-name() = 'name'], 'Figure ') and normalize-space(@id) != '']">
|
3320
|
+
<figure id="{@id}" alt-text="{*[local-name() = 'name']}">
|
3321
|
+
<xsl:copy-of select="*[local-name() = 'name']"/>
|
3322
|
+
</figure>
|
3323
|
+
</xsl:for-each>
|
3324
|
+
</figures>
|
3241
3325
|
</xsl:template><xsl:template name="processPrefaceSectionsDefault">
|
3242
3326
|
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
3243
3327
|
<xsl:sort select="@displayorder" data-type="number"/>
|
@@ -3367,7 +3451,7 @@
|
|
3367
3451
|
</xsl:call-template>
|
3368
3452
|
</xsl:if>
|
3369
3453
|
</xsl:variable>
|
3370
|
-
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
3454
|
+
<!-- DEBUG colwidths=<xsl:copy-of select="$colwidths"/> -->
|
3371
3455
|
|
3372
3456
|
|
3373
3457
|
<xsl:variable name="margin-side">
|
@@ -3637,7 +3721,7 @@
|
|
3637
3721
|
<!-- <xsl:with-param name="text" select="translate(td[$curr-col],'- —:', ' ')"/> -->
|
3638
3722
|
<!-- 2009 thinspace -->
|
3639
3723
|
<!-- <xsl:with-param name="text" select="translate(normalize-space($td_text),'- —:', ' ')"/> -->
|
3640
|
-
<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '
|
3724
|
+
<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '', ' '))"/> <!-- replace zero-width-space and soft-hyphen to space -->
|
3641
3725
|
</xsl:call-template>
|
3642
3726
|
</xsl:variable>
|
3643
3727
|
<xsl:variable name="max_length">
|
@@ -4042,37 +4126,7 @@
|
|
4042
4126
|
|
4043
4127
|
<!-- list of footnotes to calculate actual footnotes number -->
|
4044
4128
|
<xsl:variable name="p_fn_">
|
4045
|
-
<xsl:
|
4046
|
-
<xsl:when test="@current_fn_number"> <!-- for BSI, footnote reference number calculated already -->
|
4047
|
-
<fn gen_id="{generate-id(.)}">
|
4048
|
-
<xsl:copy-of select="@*"/>
|
4049
|
-
<xsl:copy-of select="node()"/>
|
4050
|
-
</fn>
|
4051
|
-
</xsl:when>
|
4052
|
-
<xsl:otherwise>
|
4053
|
-
<!-- itetation for:
|
4054
|
-
footnotes in bibdata/title
|
4055
|
-
footnotes in bibliography
|
4056
|
-
footnotes in document's body (except table's head/body/foot and figure text)
|
4057
|
-
-->
|
4058
|
-
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'note'][@type='title-footnote']">
|
4059
|
-
<fn gen_id="{generate-id(.)}">
|
4060
|
-
<xsl:copy-of select="@*"/>
|
4061
|
-
<xsl:copy-of select="node()"/>
|
4062
|
-
</fn>
|
4063
|
-
</xsl:for-each>
|
4064
|
-
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='preface']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='sections']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='annex'] | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*">
|
4065
|
-
<xsl:sort select="@displayorder" data-type="number"/>
|
4066
|
-
<xsl:for-each select=".//*[local-name() = 'bibitem'][ancestor::*[local-name() = 'references']]/*[local-name() = 'note'] | .//*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
|
4067
|
-
<!-- copy unique fn -->
|
4068
|
-
<fn gen_id="{generate-id(.)}">
|
4069
|
-
<xsl:copy-of select="@*"/>
|
4070
|
-
<xsl:copy-of select="node()"/>
|
4071
|
-
</fn>
|
4072
|
-
</xsl:for-each>
|
4073
|
-
</xsl:for-each>
|
4074
|
-
</xsl:otherwise>
|
4075
|
-
</xsl:choose>
|
4129
|
+
<xsl:call-template name="get_fn_list"/>
|
4076
4130
|
</xsl:variable>
|
4077
4131
|
<xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
|
4078
4132
|
|
@@ -4133,6 +4187,38 @@
|
|
4133
4187
|
<xsl:copy-of select="$footnote_inline"/>
|
4134
4188
|
</xsl:otherwise>
|
4135
4189
|
</xsl:choose>
|
4190
|
+
</xsl:template><xsl:template name="get_fn_list">
|
4191
|
+
<xsl:choose>
|
4192
|
+
<xsl:when test="@current_fn_number"> <!-- for BSI, footnote reference number calculated already -->
|
4193
|
+
<fn gen_id="{generate-id(.)}">
|
4194
|
+
<xsl:copy-of select="@*"/>
|
4195
|
+
<xsl:copy-of select="node()"/>
|
4196
|
+
</fn>
|
4197
|
+
</xsl:when>
|
4198
|
+
<xsl:otherwise>
|
4199
|
+
<!-- itetation for:
|
4200
|
+
footnotes in bibdata/title
|
4201
|
+
footnotes in bibliography
|
4202
|
+
footnotes in document's body (except table's head/body/foot and figure text)
|
4203
|
+
-->
|
4204
|
+
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'note'][@type='title-footnote']">
|
4205
|
+
<fn gen_id="{generate-id(.)}">
|
4206
|
+
<xsl:copy-of select="@*"/>
|
4207
|
+
<xsl:copy-of select="node()"/>
|
4208
|
+
</fn>
|
4209
|
+
</xsl:for-each>
|
4210
|
+
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='preface']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='sections']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='annex'] | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*">
|
4211
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
4212
|
+
<xsl:for-each select=".//*[local-name() = 'bibitem'][ancestor::*[local-name() = 'references']]/*[local-name() = 'note'] | .//*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
|
4213
|
+
<!-- copy unique fn -->
|
4214
|
+
<fn gen_id="{generate-id(.)}">
|
4215
|
+
<xsl:copy-of select="@*"/>
|
4216
|
+
<xsl:copy-of select="node()"/>
|
4217
|
+
</fn>
|
4218
|
+
</xsl:for-each>
|
4219
|
+
</xsl:for-each>
|
4220
|
+
</xsl:otherwise>
|
4221
|
+
</xsl:choose>
|
4136
4222
|
</xsl:template><xsl:template name="table_fn_display">
|
4137
4223
|
<xsl:variable name="references">
|
4138
4224
|
|
@@ -4309,7 +4395,7 @@
|
|
4309
4395
|
</fo:inline>
|
4310
4396
|
</xsl:template><xsl:template match="*[local-name()='fn']/text()[normalize-space() != '']">
|
4311
4397
|
<fo:inline><xsl:value-of select="."/></fo:inline>
|
4312
|
-
</xsl:template><xsl:template match="*[local-name()='fn']
|
4398
|
+
</xsl:template><xsl:template match="*[local-name()='fn']//*[local-name()='p']">
|
4313
4399
|
<fo:inline>
|
4314
4400
|
<xsl:apply-templates/>
|
4315
4401
|
</fo:inline>
|
@@ -5305,6 +5391,9 @@
|
|
5305
5391
|
</fo:inline>
|
5306
5392
|
</xsl:template><xsl:template match="*[local-name() = 'xref']">
|
5307
5393
|
<fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
|
5394
|
+
<xsl:if test="parent::*[local-name() = 'add']">
|
5395
|
+
<xsl:call-template name="append_add-style"/>
|
5396
|
+
</xsl:if>
|
5308
5397
|
<xsl:apply-templates/>
|
5309
5398
|
</fo:basic-link>
|
5310
5399
|
</xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
|
@@ -5402,6 +5491,13 @@
|
|
5402
5491
|
|
5403
5492
|
|
5404
5493
|
|
5494
|
+
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
5495
|
+
<!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
|
5496
|
+
<xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
5497
|
+
<xsl:call-template name="append_add-style"/>
|
5498
|
+
</xsl:if>
|
5499
|
+
|
5500
|
+
|
5405
5501
|
<!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
|
5406
5502
|
<xsl:if test="count(*[not(local-name() = 'name')]) = 1 and *[not(local-name() = 'name')]/node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
|
5407
5503
|
<xsl:apply-templates select="*[not(local-name() = 'name')]/node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
|
@@ -5440,6 +5536,12 @@
|
|
5440
5536
|
|
5441
5537
|
|
5442
5538
|
|
5539
|
+
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
5540
|
+
<!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
|
5541
|
+
<xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
5542
|
+
<xsl:call-template name="append_add-style"/>
|
5543
|
+
</xsl:if>
|
5544
|
+
|
5443
5545
|
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
5444
5546
|
|
5445
5547
|
</fo:inline>
|
@@ -5491,6 +5593,7 @@
|
|
5491
5593
|
</fo:block>
|
5492
5594
|
</xsl:template><xsl:template match="*[local-name() = 'term']">
|
5493
5595
|
<fo:block id="{@id}" xsl:use-attribute-sets="term-style">
|
5596
|
+
|
5494
5597
|
|
5495
5598
|
|
5496
5599
|
|
@@ -5927,7 +6030,11 @@
|
|
5927
6030
|
<xsl:value-of select="."/>
|
5928
6031
|
</xsl:template><xsl:template match="node()" mode="contents">
|
5929
6032
|
<xsl:apply-templates mode="contents"/>
|
5930
|
-
</xsl:template><xsl:template match="*[local-name() = 'p'][@type = '
|
6033
|
+
</xsl:template><xsl:template match="*[local-name() = 'preface' or local-name() = 'sections']/*[local-name() = 'p'][@type = 'section-title' and not(@displayorder)]" priority="3" mode="contents"/><xsl:template match="*[local-name() = 'p'][@type = 'section-title' and not(@displayorder)]" mode="contents_no_displayorder">
|
6034
|
+
<xsl:call-template name="contents_section-title"/>
|
6035
|
+
</xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'section-title']" mode="contents_in_clause">
|
6036
|
+
<xsl:call-template name="contents_section-title"/>
|
6037
|
+
</xsl:template><xsl:template match="*[local-name() = 'clause']/*[local-name() = 'p'][@type = 'section-title' and (@depth != ../*[local-name() = 'title']/@depth or ../*[local-name() = 'title']/@depth = 1)]" priority="3" mode="contents"/><xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="2" name="contents_section-title" mode="contents">
|
5931
6038
|
<xsl:variable name="level">
|
5932
6039
|
<xsl:call-template name="getLevel">
|
5933
6040
|
<xsl:with-param name="depth" select="@depth"/>
|
@@ -5996,13 +6103,14 @@
|
|
5996
6103
|
<xsl:apply-templates mode="bookmarks"/>
|
5997
6104
|
</xsl:template><xsl:template name="addBookmarks">
|
5998
6105
|
<xsl:param name="contents"/>
|
5999
|
-
<xsl:
|
6106
|
+
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
6107
|
+
<xsl:if test="$contents_nodes//item">
|
6000
6108
|
<fo:bookmark-tree>
|
6001
6109
|
<xsl:choose>
|
6002
|
-
<xsl:when test="
|
6110
|
+
<xsl:when test="$contents_nodes/doc">
|
6003
6111
|
<xsl:choose>
|
6004
|
-
<xsl:when test="count(
|
6005
|
-
<xsl:for-each select="
|
6112
|
+
<xsl:when test="count($contents_nodes/doc) > 1">
|
6113
|
+
<xsl:for-each select="$contents_nodes/doc">
|
6006
6114
|
<fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide">
|
6007
6115
|
<xsl:if test="@bundle = 'true'">
|
6008
6116
|
<xsl:attribute name="internal-destination"><xsl:value-of select="@firstpage_id"/></xsl:attribute>
|
@@ -6053,7 +6161,7 @@
|
|
6053
6161
|
</xsl:for-each>
|
6054
6162
|
</xsl:when>
|
6055
6163
|
<xsl:otherwise>
|
6056
|
-
<xsl:for-each select="
|
6164
|
+
<xsl:for-each select="$contents_nodes/doc">
|
6057
6165
|
|
6058
6166
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
6059
6167
|
|
@@ -6071,25 +6179,36 @@
|
|
6071
6179
|
</xsl:choose>
|
6072
6180
|
</xsl:when>
|
6073
6181
|
<xsl:otherwise>
|
6074
|
-
<xsl:apply-templates select="
|
6182
|
+
<xsl:apply-templates select="$contents_nodes/contents/item" mode="bookmark"/>
|
6183
|
+
|
6184
|
+
<xsl:call-template name="insertFigureBookmarks">
|
6185
|
+
<xsl:with-param name="contents" select="$contents_nodes/contents"/>
|
6186
|
+
</xsl:call-template>
|
6187
|
+
|
6188
|
+
<xsl:call-template name="insertTableBookmarks">
|
6189
|
+
<xsl:with-param name="contents" select="$contents_nodes/contents"/>
|
6190
|
+
<xsl:with-param name="lang" select="@lang"/>
|
6191
|
+
</xsl:call-template>
|
6192
|
+
|
6075
6193
|
</xsl:otherwise>
|
6076
6194
|
</xsl:choose>
|
6077
6195
|
|
6196
|
+
|
6078
6197
|
|
6079
6198
|
|
6080
6199
|
|
6081
6200
|
|
6082
|
-
|
6083
|
-
|
6201
|
+
|
6084
6202
|
|
6085
6203
|
</fo:bookmark-tree>
|
6086
6204
|
</xsl:if>
|
6087
6205
|
</xsl:template><xsl:template name="insertFigureBookmarks">
|
6088
6206
|
<xsl:param name="contents"/>
|
6089
|
-
<xsl:
|
6090
|
-
|
6207
|
+
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
6208
|
+
<xsl:if test="$contents_nodes/figure">
|
6209
|
+
<fo:bookmark internal-destination="{$contents_nodes/figure[1]/@id}" starting-state="hide">
|
6091
6210
|
<fo:bookmark-title>Figures</fo:bookmark-title>
|
6092
|
-
<xsl:for-each select="
|
6211
|
+
<xsl:for-each select="$contents_nodes/figure">
|
6093
6212
|
<fo:bookmark internal-destination="{@id}">
|
6094
6213
|
<fo:bookmark-title>
|
6095
6214
|
<xsl:value-of select="normalize-space(title)"/>
|
@@ -6098,18 +6217,42 @@
|
|
6098
6217
|
</xsl:for-each>
|
6099
6218
|
</fo:bookmark>
|
6100
6219
|
</xsl:if>
|
6220
|
+
|
6221
|
+
|
6222
|
+
<xsl:if test="$contents_nodes//figures/figure">
|
6223
|
+
<fo:bookmark internal-destination="empty_bookmark" starting-state="hide">
|
6224
|
+
|
6225
|
+
|
6226
|
+
<xsl:attribute name="internal-destination">
|
6227
|
+
<xsl:value-of select="$contents_nodes//figures/figure[1]/@id"/>
|
6228
|
+
</xsl:attribute>
|
6229
|
+
|
6230
|
+
|
6231
|
+
<xsl:variable name="bookmark-title">
|
6232
|
+
Figures
|
6233
|
+
</xsl:variable>
|
6234
|
+
<fo:bookmark-title><xsl:value-of select="normalize-space($bookmark-title)"/></fo:bookmark-title>
|
6235
|
+
<xsl:for-each select="$contents_nodes//figures/figure">
|
6236
|
+
<fo:bookmark internal-destination="{@id}">
|
6237
|
+
<fo:bookmark-title><xsl:value-of select="normalize-space(.)"/></fo:bookmark-title>
|
6238
|
+
</fo:bookmark>
|
6239
|
+
</xsl:for-each>
|
6240
|
+
</fo:bookmark>
|
6241
|
+
</xsl:if>
|
6242
|
+
|
6101
6243
|
</xsl:template><xsl:template name="insertTableBookmarks">
|
6102
6244
|
<xsl:param name="contents"/>
|
6103
6245
|
<xsl:param name="lang"/>
|
6104
|
-
<xsl:
|
6105
|
-
|
6246
|
+
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
6247
|
+
<xsl:if test="$contents_nodes/table">
|
6248
|
+
<fo:bookmark internal-destination="{$contents_nodes/table[1]/@id}" starting-state="hide">
|
6106
6249
|
<fo:bookmark-title>
|
6107
6250
|
<xsl:choose>
|
6108
6251
|
<xsl:when test="$lang = 'fr'">Tableaux</xsl:when>
|
6109
6252
|
<xsl:otherwise>Tables</xsl:otherwise>
|
6110
6253
|
</xsl:choose>
|
6111
6254
|
</fo:bookmark-title>
|
6112
|
-
<xsl:for-each select="
|
6255
|
+
<xsl:for-each select="$contents_nodes/table">
|
6113
6256
|
<fo:bookmark internal-destination="{@id}">
|
6114
6257
|
<fo:bookmark-title>
|
6115
6258
|
<xsl:value-of select="normalize-space(title)"/>
|
@@ -6118,6 +6261,36 @@
|
|
6118
6261
|
</xsl:for-each>
|
6119
6262
|
</fo:bookmark>
|
6120
6263
|
</xsl:if>
|
6264
|
+
|
6265
|
+
|
6266
|
+
<xsl:if test="$contents_nodes//tables/table">
|
6267
|
+
<fo:bookmark internal-destination="empty_bookmark" starting-state="hide">
|
6268
|
+
|
6269
|
+
|
6270
|
+
<xsl:attribute name="internal-destination">
|
6271
|
+
<xsl:value-of select="$contents_nodes//tables/table[1]/@id"/>
|
6272
|
+
</xsl:attribute>
|
6273
|
+
|
6274
|
+
|
6275
|
+
<xsl:variable name="bookmark-title">
|
6276
|
+
|
6277
|
+
<xsl:choose>
|
6278
|
+
<xsl:when test="$lang = 'fr'">Tableaux</xsl:when>
|
6279
|
+
<xsl:otherwise>Tables</xsl:otherwise>
|
6280
|
+
</xsl:choose>
|
6281
|
+
|
6282
|
+
</xsl:variable>
|
6283
|
+
|
6284
|
+
<fo:bookmark-title><xsl:value-of select="$bookmark-title"/></fo:bookmark-title>
|
6285
|
+
|
6286
|
+
<xsl:for-each select="$contents_nodes//tables/table">
|
6287
|
+
<fo:bookmark internal-destination="{@id}">
|
6288
|
+
<fo:bookmark-title><xsl:value-of select="normalize-space(.)"/></fo:bookmark-title>
|
6289
|
+
</fo:bookmark>
|
6290
|
+
</xsl:for-each>
|
6291
|
+
</fo:bookmark>
|
6292
|
+
</xsl:if>
|
6293
|
+
|
6121
6294
|
</xsl:template><xsl:template name="getLangVersion">
|
6122
6295
|
<xsl:param name="lang"/>
|
6123
6296
|
<xsl:param name="doctype" select="''"/>
|
@@ -6342,7 +6515,51 @@
|
|
6342
6515
|
<xsl:with-param name="text" select="$text_step1"/>
|
6343
6516
|
</xsl:call-template>
|
6344
6517
|
</xsl:variable>
|
6345
|
-
|
6518
|
+
|
6519
|
+
<!-- <xsl:value-of select="$text_step2"/> -->
|
6520
|
+
|
6521
|
+
<!-- add zero-width space after space -->
|
6522
|
+
<xsl:variable name="text_step3" select="java:replaceAll(java:java.lang.String.new($text_step2),' ',' ')"/>
|
6523
|
+
|
6524
|
+
<!-- split text by zero-width space -->
|
6525
|
+
<xsl:variable name="text_step4">
|
6526
|
+
<xsl:call-template name="split">
|
6527
|
+
<xsl:with-param name="pText" select="$text_step3"/>
|
6528
|
+
<xsl:with-param name="sep" select="$zero_width_space"/>
|
6529
|
+
<xsl:with-param name="normalize-space">false</xsl:with-param>
|
6530
|
+
<xsl:with-param name="keep_sep">true</xsl:with-param>
|
6531
|
+
</xsl:call-template>
|
6532
|
+
</xsl:variable>
|
6533
|
+
|
6534
|
+
<xsl:for-each select="xalan:nodeset($text_step4)/item">
|
6535
|
+
<xsl:choose>
|
6536
|
+
<xsl:when test="string-length() > 30"> <!-- word with length more than 30 will be interspersed with zero-width space -->
|
6537
|
+
<xsl:call-template name="interspers">
|
6538
|
+
<xsl:with-param name="str" select="."/>
|
6539
|
+
</xsl:call-template>
|
6540
|
+
</xsl:when>
|
6541
|
+
<xsl:otherwise>
|
6542
|
+
<xsl:value-of select="."/>
|
6543
|
+
</xsl:otherwise>
|
6544
|
+
</xsl:choose>
|
6545
|
+
</xsl:for-each>
|
6546
|
+
|
6547
|
+
</xsl:template><xsl:template name="interspers">
|
6548
|
+
<xsl:param name="str"/>
|
6549
|
+
<xsl:param name="char" select="$zero_width_space"/>
|
6550
|
+
<xsl:if test="$str != ''">
|
6551
|
+
<xsl:value-of select="substring($str, 1, 1)"/>
|
6552
|
+
|
6553
|
+
<xsl:variable name="next_char" select="substring($str, 2, 1)"/>
|
6554
|
+
<xsl:if test="not(contains(concat(' -.:=_— ', $char), $next_char))">
|
6555
|
+
<xsl:value-of select="$char"/>
|
6556
|
+
</xsl:if>
|
6557
|
+
|
6558
|
+
<xsl:call-template name="interspers">
|
6559
|
+
<xsl:with-param name="str" select="substring($str, 2)"/>
|
6560
|
+
<xsl:with-param name="char" select="$char"/>
|
6561
|
+
</xsl:call-template>
|
6562
|
+
</xsl:if>
|
6346
6563
|
</xsl:template><xsl:template match="*" mode="syntax_highlight">
|
6347
6564
|
<xsl:apply-templates mode="syntax_highlight"/>
|
6348
6565
|
</xsl:template><xsl:variable name="syntax_highlight_styles_">
|
@@ -6780,6 +6997,8 @@
|
|
6780
6997
|
</xsl:otherwise>
|
6781
6998
|
</xsl:choose> -->
|
6782
6999
|
</fo:block>
|
7000
|
+
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()[starts-with(., '[SOURCE: Adapted from: ')]" priority="2">
|
7001
|
+
<xsl:text>[</xsl:text><xsl:value-of select="substring-after(., '[SOURCE: ')"/>
|
6783
7002
|
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
|
6784
7003
|
<xsl:if test="normalize-space() != ''">
|
6785
7004
|
<xsl:value-of select="."/>
|
@@ -6854,26 +7073,24 @@
|
|
6854
7073
|
</xsl:template><xsl:template match="*[local-name() = 'author']">
|
6855
7074
|
<xsl:text>— </xsl:text>
|
6856
7075
|
<xsl:apply-templates/>
|
6857
|
-
</xsl:template><xsl:variable name="
|
7076
|
+
</xsl:template><xsl:variable name="bibitems_">
|
7077
|
+
<xsl:for-each select="//*[local-name() = 'bibitem']">
|
7078
|
+
<xsl:copy-of select="."/>
|
7079
|
+
</xsl:for-each>
|
7080
|
+
</xsl:variable><xsl:variable name="bibitems" select="xalan:nodeset($bibitems_)"/><xsl:variable name="bibitems_hidden_">
|
6858
7081
|
<xsl:for-each select="//*[local-name() = 'bibitem'][@hidden='true']">
|
6859
7082
|
<xsl:copy-of select="."/>
|
6860
7083
|
</xsl:for-each>
|
6861
|
-
<xsl:for-each select="//*[local-name() = 'references'][@hidden='true']
|
7084
|
+
<xsl:for-each select="//*[local-name() = 'references'][@hidden='true']//*[local-name() = 'bibitem']">
|
6862
7085
|
<xsl:copy-of select="."/>
|
6863
7086
|
</xsl:for-each>
|
6864
|
-
</xsl:variable><xsl:variable name="
|
6865
|
-
|
6866
|
-
<xsl:variable name="
|
6867
|
-
|
6868
|
-
<!-- <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"></xsl:when>
|
6869
|
-
<xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"></xsl:when> -->
|
6870
|
-
<xsl:when test="$bibitem_hidden/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
|
6871
|
-
<xsl:otherwise><xsl:value-of select="@bibitemid"/></xsl:otherwise>
|
6872
|
-
</xsl:choose>
|
6873
|
-
</xsl:variable>
|
6874
|
-
|
7087
|
+
</xsl:variable><xsl:variable name="bibitems_hidden" select="xalan:nodeset($bibitems_hidden_)"/><xsl:template match="*[local-name() = 'eref']">
|
7088
|
+
<xsl:variable name="current_bibitemid" select="@bibitemid"/>
|
7089
|
+
<!-- <xsl:variable name="external-destination" select="normalize-space(key('bibitems', $current_bibitemid)/*[local-name() = 'uri'][@type = 'citation'])"/> -->
|
7090
|
+
<xsl:variable name="external-destination" select="normalize-space($bibitems/*[local-name() ='bibitem'][@id = $current_bibitemid]/*[local-name() = 'uri'][@type = 'citation'])"/>
|
6875
7091
|
<xsl:choose>
|
6876
|
-
<xsl:when test="
|
7092
|
+
<!-- <xsl:when test="$external-destination != '' or not(key('bibitems_hidden', $current_bibitemid))"> --> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link (internal to the bibitem or external) -->
|
7093
|
+
<xsl:when test="$external-destination != '' or not($bibitems_hidden/*[local-name() ='bibitem'][@id = $current_bibitemid])"> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link (internal to the bibitem or external) -->
|
6877
7094
|
<fo:inline xsl:use-attribute-sets="eref-style">
|
6878
7095
|
<xsl:if test="@type = 'footnote'">
|
6879
7096
|
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
@@ -6887,8 +7104,8 @@
|
|
6887
7104
|
<xsl:variable name="text" select="normalize-space()"/>
|
6888
7105
|
|
6889
7106
|
|
6890
|
-
|
6891
|
-
<fo:basic-link
|
7107
|
+
|
7108
|
+
<fo:basic-link fox:alt-text="{@citeas}">
|
6892
7109
|
<xsl:if test="normalize-space(@citeas) = ''">
|
6893
7110
|
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
6894
7111
|
</xsl:if>
|
@@ -6898,14 +7115,21 @@
|
|
6898
7115
|
|
6899
7116
|
</xsl:if>
|
6900
7117
|
|
6901
|
-
|
7118
|
+
<xsl:choose>
|
7119
|
+
<xsl:when test="$external-destination != ''"> <!-- external hyperlink -->
|
7120
|
+
<xsl:attribute name="external-destination"><xsl:value-of select="$external-destination"/></xsl:attribute>
|
7121
|
+
</xsl:when>
|
7122
|
+
<xsl:otherwise>
|
7123
|
+
<xsl:attribute name="internal-destination"><xsl:value-of select="@bibitemid"/></xsl:attribute>
|
7124
|
+
</xsl:otherwise>
|
7125
|
+
</xsl:choose>
|
6902
7126
|
|
6903
7127
|
<xsl:apply-templates/>
|
6904
7128
|
</fo:basic-link>
|
6905
|
-
|
7129
|
+
|
6906
7130
|
</fo:inline>
|
6907
7131
|
</xsl:when>
|
6908
|
-
<xsl:otherwise>
|
7132
|
+
<xsl:otherwise> <!-- if there is key('bibitems_hidden', $current_bibitemid) -->
|
6909
7133
|
<fo:inline><xsl:apply-templates/></fo:inline>
|
6910
7134
|
</xsl:otherwise>
|
6911
7135
|
</xsl:choose>
|
@@ -7249,7 +7473,7 @@
|
|
7249
7473
|
|
7250
7474
|
|
7251
7475
|
|
7252
|
-
|
7476
|
+
|
7253
7477
|
<xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
|
7254
7478
|
</fo:list-block>
|
7255
7479
|
<!-- <xsl:for-each select="./iho:note">
|
@@ -7267,6 +7491,11 @@
|
|
7267
7491
|
|
7268
7492
|
|
7269
7493
|
|
7494
|
+
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
7495
|
+
<xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
7496
|
+
<xsl:call-template name="append_add-style"/>
|
7497
|
+
</xsl:if>
|
7498
|
+
|
7270
7499
|
<xsl:call-template name="getListItemFormat"/>
|
7271
7500
|
</fo:block>
|
7272
7501
|
</fo:list-item-label>
|
@@ -7641,23 +7870,45 @@
|
|
7641
7870
|
<xsl:apply-templates/>
|
7642
7871
|
</fo:inline>
|
7643
7872
|
</xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
|
7873
|
+
|
7874
|
+
<!-- list of footnotes to calculate actual footnotes number -->
|
7875
|
+
<xsl:variable name="p_fn_">
|
7876
|
+
<xsl:call-template name="get_fn_list"/>
|
7877
|
+
</xsl:variable>
|
7878
|
+
<xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
|
7879
|
+
<xsl:variable name="gen_id" select="generate-id(.)"/>
|
7880
|
+
<xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
|
7881
|
+
<!-- fn sequence number in document -->
|
7882
|
+
<xsl:variable name="current_fn_number">
|
7883
|
+
<xsl:choose>
|
7884
|
+
<xsl:when test="@current_fn_number"><xsl:value-of select="@current_fn_number"/></xsl:when> <!-- for BSI -->
|
7885
|
+
<xsl:otherwise>
|
7886
|
+
<!-- <xsl:value-of select="count($p_fn//fn[@reference = $reference]/preceding-sibling::fn) + 1" /> -->
|
7887
|
+
<xsl:value-of select="count($p_fn//fn[@gen_id = $gen_id]/preceding-sibling::fn) + 1"/>
|
7888
|
+
</xsl:otherwise>
|
7889
|
+
</xsl:choose>
|
7890
|
+
</xsl:variable>
|
7644
7891
|
<fo:footnote>
|
7645
7892
|
<xsl:variable name="number">
|
7646
7893
|
|
7647
|
-
<xsl:
|
7894
|
+
<xsl:value-of select="$current_fn_number"/>
|
7648
7895
|
|
7649
7896
|
</xsl:variable>
|
7897
|
+
|
7898
|
+
<xsl:variable name="current_fn_number_text">
|
7899
|
+
<xsl:value-of select="$number"/>
|
7900
|
+
|
7901
|
+
</xsl:variable>
|
7902
|
+
|
7650
7903
|
<fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
|
7651
|
-
<fo:basic-link internal-destination="{
|
7652
|
-
<xsl:value-of select="$
|
7653
|
-
|
7904
|
+
<fo:basic-link internal-destination="{$gen_id}" fox:alt-text="footnote {$number}">
|
7905
|
+
<xsl:value-of select="$current_fn_number_text"/>
|
7654
7906
|
</fo:basic-link>
|
7655
7907
|
</fo:inline>
|
7656
7908
|
<fo:footnote-body>
|
7657
7909
|
<fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
|
7658
|
-
<fo:inline id="{
|
7659
|
-
<xsl:value-of select="$
|
7660
|
-
|
7910
|
+
<fo:inline id="{$gen_id}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
|
7911
|
+
<xsl:value-of select="$current_fn_number_text"/>
|
7661
7912
|
</fo:inline>
|
7662
7913
|
<xsl:apply-templates/>
|
7663
7914
|
</fo:block>
|
@@ -7899,6 +8150,78 @@
|
|
7899
8150
|
<!-- processing for admonition/p found in the template for 'p' -->
|
7900
8151
|
<xsl:call-template name="paragraph"/>
|
7901
8152
|
|
8153
|
+
</xsl:template><xsl:template match="@*|node()" mode="update_xml_step1">
|
8154
|
+
<xsl:copy>
|
8155
|
+
<xsl:apply-templates select="@*|node()" mode="update_xml_step1"/>
|
8156
|
+
</xsl:copy>
|
8157
|
+
</xsl:template><xsl:template match="*[local-name() = 'preface']" mode="update_xml_step1">
|
8158
|
+
<xsl:copy>
|
8159
|
+
<xsl:copy-of select="@*"/>
|
8160
|
+
|
8161
|
+
<xsl:variable name="nodes_preface_">
|
8162
|
+
<xsl:for-each select="*">
|
8163
|
+
<node id="{@id}"/>
|
8164
|
+
</xsl:for-each>
|
8165
|
+
</xsl:variable>
|
8166
|
+
<xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
|
8167
|
+
|
8168
|
+
<xsl:for-each select="*">
|
8169
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
8170
|
+
|
8171
|
+
<!-- process Section's title -->
|
8172
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_preface/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
8173
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
8174
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="update_xml_step1"/>
|
8175
|
+
</xsl:if>
|
8176
|
+
|
8177
|
+
<xsl:choose>
|
8178
|
+
<xsl:when test="@type = 'section-title' and not(@displayorder)"><!-- skip, don't copy, because copied in above 'apply-templates' --></xsl:when>
|
8179
|
+
<xsl:otherwise>
|
8180
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
8181
|
+
</xsl:otherwise>
|
8182
|
+
</xsl:choose>
|
8183
|
+
|
8184
|
+
</xsl:for-each>
|
8185
|
+
</xsl:copy>
|
8186
|
+
</xsl:template><xsl:template match="*[local-name() = 'sections']" mode="update_xml_step1">
|
8187
|
+
<xsl:copy>
|
8188
|
+
<xsl:copy-of select="@*"/>
|
8189
|
+
|
8190
|
+
<xsl:variable name="nodes_sections_">
|
8191
|
+
<xsl:for-each select="*">
|
8192
|
+
<node id="{@id}"/>
|
8193
|
+
</xsl:for-each>
|
8194
|
+
</xsl:variable>
|
8195
|
+
<xsl:variable name="nodes_sections" select="xalan:nodeset($nodes_sections_)"/>
|
8196
|
+
|
8197
|
+
<!-- move section 'Normative references' inside 'sections' -->
|
8198
|
+
<xsl:for-each select="* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*[local-name()='references'][@normative='true'] | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][@normative='true']]">
|
8199
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
8200
|
+
|
8201
|
+
<!-- process Section's title -->
|
8202
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_sections/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
8203
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
8204
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="update_xml_step1"/>
|
8205
|
+
</xsl:if>
|
8206
|
+
|
8207
|
+
<xsl:choose>
|
8208
|
+
<xsl:when test="@type = 'section-title' and not(@displayorder)"><!-- skip, don't copy, because copied in above 'apply-templates' --></xsl:when>
|
8209
|
+
<xsl:otherwise>
|
8210
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
8211
|
+
</xsl:otherwise>
|
8212
|
+
</xsl:choose>
|
8213
|
+
|
8214
|
+
</xsl:for-each>
|
8215
|
+
</xsl:copy>
|
8216
|
+
</xsl:template><xsl:template match="*[local-name() = 'bibliography']" mode="update_xml_step1">
|
8217
|
+
<xsl:copy>
|
8218
|
+
<xsl:copy-of select="@*"/>
|
8219
|
+
<!-- copy all elements from bibliography except 'Normative references' (moved to 'sections') -->
|
8220
|
+
<xsl:for-each select="*[not(@normative='true') and not(*[@normative='true'])]">
|
8221
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
8222
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
8223
|
+
</xsl:for-each>
|
8224
|
+
</xsl:copy>
|
7902
8225
|
</xsl:template><xsl:template name="convertDate">
|
7903
8226
|
<xsl:param name="date"/>
|
7904
8227
|
<xsl:param name="format" select="'short'"/>
|
@@ -8143,22 +8466,25 @@
|
|
8143
8466
|
<xsl:param name="pText" select="."/>
|
8144
8467
|
<xsl:param name="sep" select="','"/>
|
8145
8468
|
<xsl:param name="normalize-space" select="'true'"/>
|
8469
|
+
<xsl:param name="keep_sep" select="'false'"/>
|
8146
8470
|
<xsl:if test="string-length($pText) >0">
|
8147
|
-
|
8148
|
-
|
8149
|
-
|
8150
|
-
|
8151
|
-
|
8152
|
-
|
8153
|
-
|
8154
|
-
|
8155
|
-
|
8156
|
-
|
8157
|
-
|
8158
|
-
<xsl:
|
8159
|
-
|
8160
|
-
|
8161
|
-
|
8471
|
+
<item>
|
8472
|
+
<xsl:choose>
|
8473
|
+
<xsl:when test="$normalize-space = 'true'">
|
8474
|
+
<xsl:value-of select="normalize-space(substring-before(concat($pText, $sep), $sep))"/>
|
8475
|
+
</xsl:when>
|
8476
|
+
<xsl:otherwise>
|
8477
|
+
<xsl:value-of select="substring-before(concat($pText, $sep), $sep)"/>
|
8478
|
+
</xsl:otherwise>
|
8479
|
+
</xsl:choose>
|
8480
|
+
</item>
|
8481
|
+
<xsl:if test="$keep_sep = 'true' and contains($pText, $sep)"><item><xsl:value-of select="$sep"/></item></xsl:if>
|
8482
|
+
<xsl:call-template name="split">
|
8483
|
+
<xsl:with-param name="pText" select="substring-after($pText, $sep)"/>
|
8484
|
+
<xsl:with-param name="sep" select="$sep"/>
|
8485
|
+
<xsl:with-param name="normalize-space" select="$normalize-space"/>
|
8486
|
+
<xsl:with-param name="keep_sep" select="$keep_sep"/>
|
8487
|
+
</xsl:call-template>
|
8162
8488
|
</xsl:if>
|
8163
8489
|
</xsl:template><xsl:template name="getDocumentId">
|
8164
8490
|
<xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
|
@@ -8349,53 +8675,153 @@
|
|
8349
8675
|
<xsl:param name="first"/>
|
8350
8676
|
<xsl:if test="$number != ''">
|
8351
8677
|
<xsl:variable name="words">
|
8352
|
-
|
8353
|
-
<
|
8354
|
-
|
8355
|
-
|
8356
|
-
|
8357
|
-
|
8358
|
-
|
8359
|
-
|
8360
|
-
|
8361
|
-
|
8362
|
-
|
8363
|
-
|
8364
|
-
|
8365
|
-
|
8366
|
-
|
8367
|
-
|
8368
|
-
|
8369
|
-
|
8370
|
-
|
8371
|
-
|
8372
|
-
|
8373
|
-
|
8374
|
-
|
8375
|
-
|
8376
|
-
|
8377
|
-
|
8378
|
-
|
8379
|
-
|
8380
|
-
|
8381
|
-
|
8382
|
-
|
8383
|
-
|
8384
|
-
|
8385
|
-
|
8386
|
-
|
8387
|
-
|
8388
|
-
|
8389
|
-
|
8390
|
-
|
8391
|
-
|
8392
|
-
|
8393
|
-
|
8394
|
-
|
8395
|
-
|
8396
|
-
|
8397
|
-
|
8398
|
-
|
8678
|
+
<words>
|
8679
|
+
<xsl:choose>
|
8680
|
+
<xsl:when test="$lang = 'fr'"> <!-- https://en.wiktionary.org/wiki/Appendix:French_numbers -->
|
8681
|
+
<word cardinal="1">Une-</word>
|
8682
|
+
<word ordinal="1">Première </word>
|
8683
|
+
<word cardinal="2">Deux-</word>
|
8684
|
+
<word ordinal="2">Seconde </word>
|
8685
|
+
<word cardinal="3">Trois-</word>
|
8686
|
+
<word ordinal="3">Tierce </word>
|
8687
|
+
<word cardinal="4">Quatre-</word>
|
8688
|
+
<word ordinal="4">Quatrième </word>
|
8689
|
+
<word cardinal="5">Cinq-</word>
|
8690
|
+
<word ordinal="5">Cinquième </word>
|
8691
|
+
<word cardinal="6">Six-</word>
|
8692
|
+
<word ordinal="6">Sixième </word>
|
8693
|
+
<word cardinal="7">Sept-</word>
|
8694
|
+
<word ordinal="7">Septième </word>
|
8695
|
+
<word cardinal="8">Huit-</word>
|
8696
|
+
<word ordinal="8">Huitième </word>
|
8697
|
+
<word cardinal="9">Neuf-</word>
|
8698
|
+
<word ordinal="9">Neuvième </word>
|
8699
|
+
<word ordinal="10">Dixième </word>
|
8700
|
+
<word ordinal="11">Onzième </word>
|
8701
|
+
<word ordinal="12">Douzième </word>
|
8702
|
+
<word ordinal="13">Treizième </word>
|
8703
|
+
<word ordinal="14">Quatorzième </word>
|
8704
|
+
<word ordinal="15">Quinzième </word>
|
8705
|
+
<word ordinal="16">Seizième </word>
|
8706
|
+
<word ordinal="17">Dix-septième </word>
|
8707
|
+
<word ordinal="18">Dix-huitième </word>
|
8708
|
+
<word ordinal="19">Dix-neuvième </word>
|
8709
|
+
<word cardinal="20">Vingt-</word>
|
8710
|
+
<word ordinal="20">Vingtième </word>
|
8711
|
+
<word cardinal="30">Trente-</word>
|
8712
|
+
<word ordinal="30">Trentième </word>
|
8713
|
+
<word cardinal="40">Quarante-</word>
|
8714
|
+
<word ordinal="40">Quarantième </word>
|
8715
|
+
<word cardinal="50">Cinquante-</word>
|
8716
|
+
<word ordinal="50">Cinquantième </word>
|
8717
|
+
<word cardinal="60">Soixante-</word>
|
8718
|
+
<word ordinal="60">Soixantième </word>
|
8719
|
+
<word cardinal="70">Septante-</word>
|
8720
|
+
<word ordinal="70">Septantième </word>
|
8721
|
+
<word cardinal="80">Huitante-</word>
|
8722
|
+
<word ordinal="80">Huitantième </word>
|
8723
|
+
<word cardinal="90">Nonante-</word>
|
8724
|
+
<word ordinal="90">Nonantième </word>
|
8725
|
+
<word cardinal="100">Cent-</word>
|
8726
|
+
<word ordinal="100">Centième </word>
|
8727
|
+
</xsl:when>
|
8728
|
+
<xsl:when test="$lang = 'ru'">
|
8729
|
+
<word cardinal="1">Одна-</word>
|
8730
|
+
<word ordinal="1">Первое </word>
|
8731
|
+
<word cardinal="2">Две-</word>
|
8732
|
+
<word ordinal="2">Второе </word>
|
8733
|
+
<word cardinal="3">Три-</word>
|
8734
|
+
<word ordinal="3">Третье </word>
|
8735
|
+
<word cardinal="4">Четыре-</word>
|
8736
|
+
<word ordinal="4">Четвертое </word>
|
8737
|
+
<word cardinal="5">Пять-</word>
|
8738
|
+
<word ordinal="5">Пятое </word>
|
8739
|
+
<word cardinal="6">Шесть-</word>
|
8740
|
+
<word ordinal="6">Шестое </word>
|
8741
|
+
<word cardinal="7">Семь-</word>
|
8742
|
+
<word ordinal="7">Седьмое </word>
|
8743
|
+
<word cardinal="8">Восемь-</word>
|
8744
|
+
<word ordinal="8">Восьмое </word>
|
8745
|
+
<word cardinal="9">Девять-</word>
|
8746
|
+
<word ordinal="9">Девятое </word>
|
8747
|
+
<word ordinal="10">Десятое </word>
|
8748
|
+
<word ordinal="11">Одиннадцатое </word>
|
8749
|
+
<word ordinal="12">Двенадцатое </word>
|
8750
|
+
<word ordinal="13">Тринадцатое </word>
|
8751
|
+
<word ordinal="14">Четырнадцатое </word>
|
8752
|
+
<word ordinal="15">Пятнадцатое </word>
|
8753
|
+
<word ordinal="16">Шестнадцатое </word>
|
8754
|
+
<word ordinal="17">Семнадцатое </word>
|
8755
|
+
<word ordinal="18">Восемнадцатое </word>
|
8756
|
+
<word ordinal="19">Девятнадцатое </word>
|
8757
|
+
<word cardinal="20">Двадцать-</word>
|
8758
|
+
<word ordinal="20">Двадцатое </word>
|
8759
|
+
<word cardinal="30">Тридцать-</word>
|
8760
|
+
<word ordinal="30">Тридцатое </word>
|
8761
|
+
<word cardinal="40">Сорок-</word>
|
8762
|
+
<word ordinal="40">Сороковое </word>
|
8763
|
+
<word cardinal="50">Пятьдесят-</word>
|
8764
|
+
<word ordinal="50">Пятидесятое </word>
|
8765
|
+
<word cardinal="60">Шестьдесят-</word>
|
8766
|
+
<word ordinal="60">Шестидесятое </word>
|
8767
|
+
<word cardinal="70">Семьдесят-</word>
|
8768
|
+
<word ordinal="70">Семидесятое </word>
|
8769
|
+
<word cardinal="80">Восемьдесят-</word>
|
8770
|
+
<word ordinal="80">Восьмидесятое </word>
|
8771
|
+
<word cardinal="90">Девяносто-</word>
|
8772
|
+
<word ordinal="90">Девяностое </word>
|
8773
|
+
<word cardinal="100">Сто-</word>
|
8774
|
+
<word ordinal="100">Сотое </word>
|
8775
|
+
</xsl:when>
|
8776
|
+
<xsl:otherwise> <!-- default english -->
|
8777
|
+
<word cardinal="1">One-</word>
|
8778
|
+
<word ordinal="1">First </word>
|
8779
|
+
<word cardinal="2">Two-</word>
|
8780
|
+
<word ordinal="2">Second </word>
|
8781
|
+
<word cardinal="3">Three-</word>
|
8782
|
+
<word ordinal="3">Third </word>
|
8783
|
+
<word cardinal="4">Four-</word>
|
8784
|
+
<word ordinal="4">Fourth </word>
|
8785
|
+
<word cardinal="5">Five-</word>
|
8786
|
+
<word ordinal="5">Fifth </word>
|
8787
|
+
<word cardinal="6">Six-</word>
|
8788
|
+
<word ordinal="6">Sixth </word>
|
8789
|
+
<word cardinal="7">Seven-</word>
|
8790
|
+
<word ordinal="7">Seventh </word>
|
8791
|
+
<word cardinal="8">Eight-</word>
|
8792
|
+
<word ordinal="8">Eighth </word>
|
8793
|
+
<word cardinal="9">Nine-</word>
|
8794
|
+
<word ordinal="9">Ninth </word>
|
8795
|
+
<word ordinal="10">Tenth </word>
|
8796
|
+
<word ordinal="11">Eleventh </word>
|
8797
|
+
<word ordinal="12">Twelfth </word>
|
8798
|
+
<word ordinal="13">Thirteenth </word>
|
8799
|
+
<word ordinal="14">Fourteenth </word>
|
8800
|
+
<word ordinal="15">Fifteenth </word>
|
8801
|
+
<word ordinal="16">Sixteenth </word>
|
8802
|
+
<word ordinal="17">Seventeenth </word>
|
8803
|
+
<word ordinal="18">Eighteenth </word>
|
8804
|
+
<word ordinal="19">Nineteenth </word>
|
8805
|
+
<word cardinal="20">Twenty-</word>
|
8806
|
+
<word ordinal="20">Twentieth </word>
|
8807
|
+
<word cardinal="30">Thirty-</word>
|
8808
|
+
<word ordinal="30">Thirtieth </word>
|
8809
|
+
<word cardinal="40">Forty-</word>
|
8810
|
+
<word ordinal="40">Fortieth </word>
|
8811
|
+
<word cardinal="50">Fifty-</word>
|
8812
|
+
<word ordinal="50">Fiftieth </word>
|
8813
|
+
<word cardinal="60">Sixty-</word>
|
8814
|
+
<word ordinal="60">Sixtieth </word>
|
8815
|
+
<word cardinal="70">Seventy-</word>
|
8816
|
+
<word ordinal="70">Seventieth </word>
|
8817
|
+
<word cardinal="80">Eighty-</word>
|
8818
|
+
<word ordinal="80">Eightieth </word>
|
8819
|
+
<word cardinal="90">Ninety-</word>
|
8820
|
+
<word ordinal="90">Ninetieth </word>
|
8821
|
+
<word cardinal="100">Hundred-</word>
|
8822
|
+
<word ordinal="100">Hundredth </word>
|
8823
|
+
</xsl:otherwise>
|
8824
|
+
</xsl:choose>
|
8399
8825
|
</words>
|
8400
8826
|
</xsl:variable>
|
8401
8827
|
|
@@ -8469,4 +8895,18 @@
|
|
8469
8895
|
<xsl:otherwise>_</xsl:otherwise>
|
8470
8896
|
</xsl:choose>
|
8471
8897
|
</xsl:attribute>
|
8898
|
+
</xsl:template><xsl:template name="substring-after-last">
|
8899
|
+
<xsl:param name="value"/>
|
8900
|
+
<xsl:param name="delimiter"/>
|
8901
|
+
<xsl:choose>
|
8902
|
+
<xsl:when test="contains($value, $delimiter)">
|
8903
|
+
<xsl:call-template name="substring-after-last">
|
8904
|
+
<xsl:with-param name="value" select="substring-after($value, $delimiter)"/>
|
8905
|
+
<xsl:with-param name="delimiter" select="$delimiter"/>
|
8906
|
+
</xsl:call-template>
|
8907
|
+
</xsl:when>
|
8908
|
+
<xsl:otherwise>
|
8909
|
+
<xsl:value-of select="$value"/>
|
8910
|
+
</xsl:otherwise>
|
8911
|
+
</xsl:choose>
|
8472
8912
|
</xsl:template></xsl:stylesheet>
|