metanorma-bipm 2.0.3 → 2.0.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/base_convert.rb +9 -3
- data/lib/isodoc/bipm/bipm.brochure.xsl +668 -155
- data/lib/isodoc/bipm/bipm.guide.xsl +668 -155
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +668 -155
- data/lib/isodoc/bipm/bipm.rapport.xsl +668 -155
- data/lib/isodoc/bipm/jcgm.standard.xsl +642 -156
- data/lib/isodoc/bipm/pdf_convert.rb +4 -4
- data/lib/isodoc/bipm/presentation_xml_convert.rb +6 -6
- data/lib/isodoc/bipm/xref.rb +4 -4
- data/lib/metanorma/bipm/bipm.rng +1 -1
- data/lib/metanorma/bipm/isodoc.rng +73 -3
- data/lib/metanorma/bipm/version.rb +1 -1
- data/metanorma-bipm.gemspec +2 -0
- metadata +31 -3
@@ -28,7 +28,7 @@
|
|
28
28
|
|
29
29
|
<xsl:variable name="root-element" select="local-name(/*)"/>
|
30
30
|
|
31
|
-
<xsl:variable name="
|
31
|
+
<xsl:variable name="contents_">
|
32
32
|
<xsl:choose>
|
33
33
|
<xsl:when test="$root-element = 'metanorma-collection'">
|
34
34
|
<xsl:choose>
|
@@ -80,6 +80,7 @@
|
|
80
80
|
</xsl:otherwise>
|
81
81
|
</xsl:choose>
|
82
82
|
</xsl:variable>
|
83
|
+
<xsl:variable name="contents" select="xalan:nodeset($contents_)"/>
|
83
84
|
|
84
85
|
<xsl:variable name="indexes">
|
85
86
|
<xsl:choose>
|
@@ -180,6 +181,8 @@
|
|
180
181
|
<!-- Index -->
|
181
182
|
<xsl:apply-templates select="//bipm:indexsect" mode="contents"/>
|
182
183
|
|
184
|
+
<xsl:call-template name="processTablesFigures_Contents"/>
|
185
|
+
|
183
186
|
</contents>
|
184
187
|
</xsl:template>
|
185
188
|
|
@@ -923,7 +926,7 @@
|
|
923
926
|
<xsl:if test="$debug = 'true'">
|
924
927
|
<xsl:text disable-output-escaping="yes"><!--</xsl:text>
|
925
928
|
DEBUG
|
926
|
-
contents=<xsl:copy-of select="
|
929
|
+
contents=<xsl:copy-of select="$contents"/>
|
927
930
|
<xsl:text disable-output-escaping="yes">--></xsl:text>
|
928
931
|
</xsl:if>
|
929
932
|
|
@@ -1078,12 +1081,12 @@
|
|
1078
1081
|
<fo:block role="TOC">
|
1079
1082
|
<!-- <xsl:copy-of select="$contents"/> -->
|
1080
1083
|
|
1081
|
-
<xsl:if test="
|
1084
|
+
<xsl:if test="$contents/doc[@id = $docid]//item[@display='true']">
|
1082
1085
|
<fo:table table-layout="fixed" width="100%">
|
1083
1086
|
<fo:table-column column-width="127mm"/>
|
1084
1087
|
<fo:table-column column-width="12mm"/>
|
1085
1088
|
<fo:table-body>
|
1086
|
-
<xsl:for-each select="
|
1089
|
+
<xsl:for-each select="$contents/doc[@id = $docid]//item[@display='true' and not(@type = 'annex') and not(@type = 'index') and not(@parent = 'annex')]">
|
1087
1090
|
<xsl:call-template name="insertContentItem"/>
|
1088
1091
|
</xsl:for-each>
|
1089
1092
|
<xsl:if test="$doctype ='brochure'">
|
@@ -1094,12 +1097,33 @@
|
|
1094
1097
|
</fo:table-cell>
|
1095
1098
|
</fo:table-row>
|
1096
1099
|
</xsl:if>
|
1097
|
-
<xsl:for-each select="
|
1100
|
+
<xsl:for-each select="$contents/doc[@id = $docid]//item[@display='true' and (@type = 'annex')]"> <!-- or (@level = 2 and @parent = 'annex') -->
|
1098
1101
|
<xsl:call-template name="insertContentItem"/>
|
1099
1102
|
</xsl:for-each>
|
1100
|
-
<xsl:for-each select="
|
1103
|
+
<xsl:for-each select="$contents/doc[@id = $docid]//item[@display='true' and (@type = 'index')]">
|
1101
1104
|
<xsl:call-template name="insertContentItem"/>
|
1102
1105
|
</xsl:for-each>
|
1106
|
+
|
1107
|
+
<!-- List of Tables -->
|
1108
|
+
<xsl:if test="$contents/doc[@id = $docid]//tables/table">
|
1109
|
+
<xsl:call-template name="insertListOf_Title">
|
1110
|
+
<xsl:with-param name="title" select="$title-list-tables"/>
|
1111
|
+
</xsl:call-template>
|
1112
|
+
<xsl:for-each select="$contents/doc[@id = $docid]//tables/table">
|
1113
|
+
<xsl:call-template name="insertListOf_Item"/>
|
1114
|
+
</xsl:for-each>
|
1115
|
+
</xsl:if>
|
1116
|
+
|
1117
|
+
<!-- List of Figures -->
|
1118
|
+
<xsl:if test="$contents/doc[@id = $docid]//figures/figure">
|
1119
|
+
<xsl:call-template name="insertListOf_Title">
|
1120
|
+
<xsl:with-param name="title" select="$title-list-figures"/>
|
1121
|
+
</xsl:call-template>
|
1122
|
+
<xsl:for-each select="$contents/doc[@id = $docid]//figures/figure">
|
1123
|
+
<xsl:call-template name="insertListOf_Item"/>
|
1124
|
+
</xsl:for-each>
|
1125
|
+
</xsl:if>
|
1126
|
+
|
1103
1127
|
</fo:table-body>
|
1104
1128
|
</fo:table>
|
1105
1129
|
</xsl:if>
|
@@ -1861,6 +1885,57 @@
|
|
1861
1885
|
</fo:table-row>
|
1862
1886
|
</xsl:template>
|
1863
1887
|
|
1888
|
+
<xsl:template name="insertListOf_Title">
|
1889
|
+
<xsl:param name="title"/>
|
1890
|
+
<fo:table-row keep-with-next="always">
|
1891
|
+
<fo:table-cell font-family="Arial" font-weight="bold" font-size="10pt" padding-top="14pt" padding-bottom="6pt">
|
1892
|
+
<fo:block role="TOCI">
|
1893
|
+
<xsl:value-of select="$title"/>
|
1894
|
+
</fo:block>
|
1895
|
+
</fo:table-cell>
|
1896
|
+
<fo:table-cell>
|
1897
|
+
<fo:block/>
|
1898
|
+
</fo:table-cell>
|
1899
|
+
</fo:table-row>
|
1900
|
+
</xsl:template>
|
1901
|
+
|
1902
|
+
<xsl:template name="insertListOf_Item">
|
1903
|
+
<fo:table-row>
|
1904
|
+
<fo:table-cell>
|
1905
|
+
<fo:block role="TOCI" font-size="10.5pt" margin-left="8mm">
|
1906
|
+
<fo:list-block provisional-distance-between-starts="8mm">
|
1907
|
+
<fo:list-item>
|
1908
|
+
<fo:list-item-label end-indent="label-end()">
|
1909
|
+
<fo:block/>
|
1910
|
+
</fo:list-item-label>
|
1911
|
+
<fo:list-item-body start-indent="body-start()">
|
1912
|
+
<fo:block>
|
1913
|
+
<fo:basic-link internal-destination="{@id}">
|
1914
|
+
<xsl:call-template name="setAltText">
|
1915
|
+
<xsl:with-param name="value" select="@alt-text"/>
|
1916
|
+
</xsl:call-template>
|
1917
|
+
<fo:inline>
|
1918
|
+
<xsl:apply-templates select="." mode="contents"/>
|
1919
|
+
</fo:inline>
|
1920
|
+
</fo:basic-link>
|
1921
|
+
</fo:block>
|
1922
|
+
</fo:list-item-body>
|
1923
|
+
</fo:list-item>
|
1924
|
+
</fo:list-block>
|
1925
|
+
</fo:block>
|
1926
|
+
</fo:table-cell>
|
1927
|
+
<fo:table-cell text-align="right" font-family="Arial" font-weight="bold" font-size="10pt">
|
1928
|
+
<fo:block>
|
1929
|
+
<fo:basic-link internal-destination="{@id}">
|
1930
|
+
<xsl:call-template name="setAltText">
|
1931
|
+
<xsl:with-param name="value" select="@alt-text"/>
|
1932
|
+
</xsl:call-template>
|
1933
|
+
<fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
|
1934
|
+
</fo:basic-link>
|
1935
|
+
</fo:block>
|
1936
|
+
</fo:table-cell>
|
1937
|
+
</fo:table-row>
|
1938
|
+
</xsl:template>
|
1864
1939
|
|
1865
1940
|
<xsl:template match="node()">
|
1866
1941
|
<xsl:apply-templates/>
|
@@ -3867,6 +3942,10 @@
|
|
3867
3942
|
<xsl:text>Édition </xsl:text>
|
3868
3943
|
</title-edition>
|
3869
3944
|
|
3945
|
+
<title-edition lang="ru">
|
3946
|
+
<xsl:text>Издание </xsl:text>
|
3947
|
+
</title-edition>
|
3948
|
+
|
3870
3949
|
<!-- These titles of Table of contents renders different than determined in localized-strings -->
|
3871
3950
|
<title-toc lang="en">
|
3872
3951
|
|
@@ -3881,7 +3960,7 @@
|
|
3881
3960
|
<xsl:text>Contents</xsl:text>
|
3882
3961
|
|
3883
3962
|
</title-toc>
|
3884
|
-
|
3963
|
+
|
3885
3964
|
<title-descriptors lang="en">Descriptors</title-descriptors>
|
3886
3965
|
|
3887
3966
|
<title-part lang="en">
|
@@ -3897,7 +3976,11 @@
|
|
3897
3976
|
|
3898
3977
|
<xsl:text>Partie #</xsl:text>
|
3899
3978
|
|
3900
|
-
</title-part>
|
3979
|
+
</title-part>
|
3980
|
+
<title-part lang="ru">
|
3981
|
+
|
3982
|
+
|
3983
|
+
</title-part>
|
3901
3984
|
<title-part lang="zh">第 # 部分:</title-part>
|
3902
3985
|
|
3903
3986
|
<title-subpart lang="en">Sub-part #</title-subpart>
|
@@ -3913,10 +3996,35 @@
|
|
3913
3996
|
|
3914
3997
|
<title-summary lang="en">Summary</title-summary>
|
3915
3998
|
|
3999
|
+
<title-continued lang="ru">(продолжение)</title-continued>
|
3916
4000
|
<title-continued lang="en">(continued)</title-continued>
|
3917
4001
|
<title-continued lang="fr">(continué)</title-continued>
|
3918
4002
|
|
3919
|
-
</xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="
|
4003
|
+
</xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="title-list-tables">
|
4004
|
+
<xsl:variable name="toc_table_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']"/>
|
4005
|
+
<xsl:value-of select="$toc_table_title"/>
|
4006
|
+
<xsl:if test="normalize-space($toc_table_title) = ''">
|
4007
|
+
<xsl:call-template name="getTitle">
|
4008
|
+
<xsl:with-param name="name" select="'title-list-tables'"/>
|
4009
|
+
</xsl:call-template>
|
4010
|
+
</xsl:if>
|
4011
|
+
</xsl:variable><xsl:variable name="title-list-figures">
|
4012
|
+
<xsl:variable name="toc_figure_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']"/>
|
4013
|
+
<xsl:value-of select="$toc_figure_title"/>
|
4014
|
+
<xsl:if test="normalize-space($toc_figure_title) = ''">
|
4015
|
+
<xsl:call-template name="getTitle">
|
4016
|
+
<xsl:with-param name="name" select="'title-list-figures'"/>
|
4017
|
+
</xsl:call-template>
|
4018
|
+
</xsl:if>
|
4019
|
+
</xsl:variable><xsl:variable name="title-list-recommendations">
|
4020
|
+
<xsl:variable name="toc_requirement_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='requirement']/*[local-name() = 'title']"/>
|
4021
|
+
<xsl:value-of select="$toc_requirement_title"/>
|
4022
|
+
<xsl:if test="normalize-space($toc_requirement_title) = ''">
|
4023
|
+
<xsl:call-template name="getTitle">
|
4024
|
+
<xsl:with-param name="name" select="'title-list-recommendations'"/>
|
4025
|
+
</xsl:call-template>
|
4026
|
+
</xsl:if>
|
4027
|
+
</xsl:variable><xsl:variable name="bibdata">
|
3920
4028
|
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
|
3921
4029
|
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
|
3922
4030
|
</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">
|
@@ -4643,13 +4751,19 @@
|
|
4643
4751
|
</xsl:attribute-set><xsl:variable name="color-added-text">
|
4644
4752
|
<xsl:text>rgb(0, 255, 0)</xsl:text>
|
4645
4753
|
</xsl:variable><xsl:attribute-set name="add-style">
|
4646
|
-
|
4647
|
-
|
4648
|
-
|
4649
|
-
|
4650
|
-
|
4651
|
-
|
4652
|
-
|
4754
|
+
|
4755
|
+
<xsl:attribute name="color">red</xsl:attribute>
|
4756
|
+
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
4757
|
+
<!-- <xsl:attribute name="color">black</xsl:attribute>
|
4758
|
+
<xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
|
4759
|
+
<xsl:attribute name="padding-top">1mm</xsl:attribute>
|
4760
|
+
<xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
|
4761
|
+
|
4762
|
+
</xsl:attribute-set><xsl:variable name="add-style">
|
4763
|
+
<add-style xsl:use-attribute-sets="add-style"/>
|
4764
|
+
</xsl:variable><xsl:template name="append_add-style">
|
4765
|
+
<xsl:copy-of select="xalan:nodeset($add-style)/add-style/@*"/>
|
4766
|
+
</xsl:template><xsl:variable name="color-deleted-text">
|
4653
4767
|
<xsl:text>red</xsl:text>
|
4654
4768
|
</xsl:variable><xsl:attribute-set name="del-style">
|
4655
4769
|
<xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
|
@@ -5095,14 +5209,42 @@
|
|
5095
5209
|
|
5096
5210
|
|
5097
5211
|
</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">
|
5212
|
+
<xsl:variable name="nodes_preface_">
|
5213
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
5214
|
+
<node id="{@id}"/>
|
5215
|
+
</xsl:for-each>
|
5216
|
+
</xsl:variable>
|
5217
|
+
<xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
|
5218
|
+
|
5098
5219
|
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
5099
5220
|
<xsl:sort select="@displayorder" data-type="number"/>
|
5221
|
+
|
5222
|
+
<!-- process Section's title -->
|
5223
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_preface/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
5224
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
5225
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="contents_no_displayorder"/>
|
5226
|
+
</xsl:if>
|
5227
|
+
|
5100
5228
|
<xsl:apply-templates select="." mode="contents"/>
|
5101
5229
|
</xsl:for-each>
|
5102
5230
|
</xsl:template><xsl:template name="processMainSectionsDefault_Contents">
|
5103
5231
|
|
5232
|
+
<xsl:variable name="nodes_sections_">
|
5233
|
+
<xsl:for-each select="/*/*[local-name()='sections']/*">
|
5234
|
+
<node id="{@id}"/>
|
5235
|
+
</xsl:for-each>
|
5236
|
+
</xsl:variable>
|
5237
|
+
<xsl:variable name="nodes_sections" select="xalan:nodeset($nodes_sections_)"/>
|
5238
|
+
|
5104
5239
|
<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']]">
|
5105
5240
|
<xsl:sort select="@displayorder" data-type="number"/>
|
5241
|
+
|
5242
|
+
<!-- process Section's title -->
|
5243
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_sections/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
5244
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
5245
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="contents_no_displayorder"/>
|
5246
|
+
</xsl:if>
|
5247
|
+
|
5106
5248
|
<xsl:apply-templates select="." mode="contents"/>
|
5107
5249
|
</xsl:for-each>
|
5108
5250
|
|
@@ -5115,6 +5257,30 @@
|
|
5115
5257
|
<xsl:sort select="@displayorder" data-type="number"/>
|
5116
5258
|
<xsl:apply-templates select="." mode="contents"/>
|
5117
5259
|
</xsl:for-each>
|
5260
|
+
</xsl:template><xsl:template name="processTablesFigures_Contents">
|
5261
|
+
<xsl:param name="always"/>
|
5262
|
+
<xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
|
5263
|
+
<xsl:call-template name="processTables_Contents"/>
|
5264
|
+
</xsl:if>
|
5265
|
+
<xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
|
5266
|
+
<xsl:call-template name="processFigures_Contents"/>
|
5267
|
+
</xsl:if>
|
5268
|
+
</xsl:template><xsl:template name="processTables_Contents">
|
5269
|
+
<tables>
|
5270
|
+
<xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name'] and normalize-space(@id) != '']">
|
5271
|
+
<table id="{@id}" alt-text="{*[local-name() = 'name']}">
|
5272
|
+
<xsl:copy-of select="*[local-name() = 'name']"/>
|
5273
|
+
</table>
|
5274
|
+
</xsl:for-each>
|
5275
|
+
</tables>
|
5276
|
+
</xsl:template><xsl:template name="processFigures_Contents">
|
5277
|
+
<figures>
|
5278
|
+
<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) != '']">
|
5279
|
+
<figure id="{@id}" alt-text="{*[local-name() = 'name']}">
|
5280
|
+
<xsl:copy-of select="*[local-name() = 'name']"/>
|
5281
|
+
</figure>
|
5282
|
+
</xsl:for-each>
|
5283
|
+
</figures>
|
5118
5284
|
</xsl:template><xsl:template name="processPrefaceSectionsDefault">
|
5119
5285
|
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
5120
5286
|
<xsl:sort select="@displayorder" data-type="number"/>
|
@@ -5251,7 +5417,7 @@
|
|
5251
5417
|
</xsl:call-template>
|
5252
5418
|
</xsl:if>
|
5253
5419
|
</xsl:variable>
|
5254
|
-
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
5420
|
+
<!-- DEBUG colwidths=<xsl:copy-of select="$colwidths"/> -->
|
5255
5421
|
|
5256
5422
|
|
5257
5423
|
<xsl:variable name="margin-side">
|
@@ -5533,7 +5699,7 @@
|
|
5533
5699
|
<!-- <xsl:with-param name="text" select="translate(td[$curr-col],'- —:', ' ')"/> -->
|
5534
5700
|
<!-- 2009 thinspace -->
|
5535
5701
|
<!-- <xsl:with-param name="text" select="translate(normalize-space($td_text),'- —:', ' ')"/> -->
|
5536
|
-
<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '
|
5702
|
+
<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '', ' '))"/> <!-- replace zero-width-space and soft-hyphen to space -->
|
5537
5703
|
</xsl:call-template>
|
5538
5704
|
</xsl:variable>
|
5539
5705
|
<xsl:variable name="max_length">
|
@@ -5980,37 +6146,7 @@
|
|
5980
6146
|
|
5981
6147
|
<!-- list of footnotes to calculate actual footnotes number -->
|
5982
6148
|
<xsl:variable name="p_fn_">
|
5983
|
-
<xsl:
|
5984
|
-
<xsl:when test="@current_fn_number"> <!-- for BSI, footnote reference number calculated already -->
|
5985
|
-
<fn gen_id="{generate-id(.)}">
|
5986
|
-
<xsl:copy-of select="@*"/>
|
5987
|
-
<xsl:copy-of select="node()"/>
|
5988
|
-
</fn>
|
5989
|
-
</xsl:when>
|
5990
|
-
<xsl:otherwise>
|
5991
|
-
<!-- itetation for:
|
5992
|
-
footnotes in bibdata/title
|
5993
|
-
footnotes in bibliography
|
5994
|
-
footnotes in document's body (except table's head/body/foot and figure text)
|
5995
|
-
-->
|
5996
|
-
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'note'][@type='title-footnote']">
|
5997
|
-
<fn gen_id="{generate-id(.)}">
|
5998
|
-
<xsl:copy-of select="@*"/>
|
5999
|
-
<xsl:copy-of select="node()"/>
|
6000
|
-
</fn>
|
6001
|
-
</xsl:for-each>
|
6002
|
-
<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']/*">
|
6003
|
-
<xsl:sort select="@displayorder" data-type="number"/>
|
6004
|
-
<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])]">
|
6005
|
-
<!-- copy unique fn -->
|
6006
|
-
<fn gen_id="{generate-id(.)}">
|
6007
|
-
<xsl:copy-of select="@*"/>
|
6008
|
-
<xsl:copy-of select="node()"/>
|
6009
|
-
</fn>
|
6010
|
-
</xsl:for-each>
|
6011
|
-
</xsl:for-each>
|
6012
|
-
</xsl:otherwise>
|
6013
|
-
</xsl:choose>
|
6149
|
+
<xsl:call-template name="get_fn_list"/>
|
6014
6150
|
</xsl:variable>
|
6015
6151
|
<xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
|
6016
6152
|
|
@@ -6071,6 +6207,38 @@
|
|
6071
6207
|
<xsl:copy-of select="$footnote_inline"/>
|
6072
6208
|
</xsl:otherwise>
|
6073
6209
|
</xsl:choose>
|
6210
|
+
</xsl:template><xsl:template name="get_fn_list">
|
6211
|
+
<xsl:choose>
|
6212
|
+
<xsl:when test="@current_fn_number"> <!-- for BSI, footnote reference number calculated already -->
|
6213
|
+
<fn gen_id="{generate-id(.)}">
|
6214
|
+
<xsl:copy-of select="@*"/>
|
6215
|
+
<xsl:copy-of select="node()"/>
|
6216
|
+
</fn>
|
6217
|
+
</xsl:when>
|
6218
|
+
<xsl:otherwise>
|
6219
|
+
<!-- itetation for:
|
6220
|
+
footnotes in bibdata/title
|
6221
|
+
footnotes in bibliography
|
6222
|
+
footnotes in document's body (except table's head/body/foot and figure text)
|
6223
|
+
-->
|
6224
|
+
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'note'][@type='title-footnote']">
|
6225
|
+
<fn gen_id="{generate-id(.)}">
|
6226
|
+
<xsl:copy-of select="@*"/>
|
6227
|
+
<xsl:copy-of select="node()"/>
|
6228
|
+
</fn>
|
6229
|
+
</xsl:for-each>
|
6230
|
+
<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']/*">
|
6231
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
6232
|
+
<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])]">
|
6233
|
+
<!-- copy unique fn -->
|
6234
|
+
<fn gen_id="{generate-id(.)}">
|
6235
|
+
<xsl:copy-of select="@*"/>
|
6236
|
+
<xsl:copy-of select="node()"/>
|
6237
|
+
</fn>
|
6238
|
+
</xsl:for-each>
|
6239
|
+
</xsl:for-each>
|
6240
|
+
</xsl:otherwise>
|
6241
|
+
</xsl:choose>
|
6074
6242
|
</xsl:template><xsl:template name="table_fn_display">
|
6075
6243
|
<xsl:variable name="references">
|
6076
6244
|
|
@@ -6250,7 +6418,7 @@
|
|
6250
6418
|
</fo:inline>
|
6251
6419
|
</xsl:template><xsl:template match="*[local-name()='fn']/text()[normalize-space() != '']">
|
6252
6420
|
<fo:inline><xsl:value-of select="."/></fo:inline>
|
6253
|
-
</xsl:template><xsl:template match="*[local-name()='fn']
|
6421
|
+
</xsl:template><xsl:template match="*[local-name()='fn']//*[local-name()='p']">
|
6254
6422
|
<fo:inline>
|
6255
6423
|
<xsl:apply-templates/>
|
6256
6424
|
</fo:inline>
|
@@ -7253,6 +7421,9 @@
|
|
7253
7421
|
</fo:inline>
|
7254
7422
|
</xsl:template><xsl:template match="*[local-name() = 'xref']">
|
7255
7423
|
<fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
|
7424
|
+
<xsl:if test="parent::*[local-name() = 'add']">
|
7425
|
+
<xsl:call-template name="append_add-style"/>
|
7426
|
+
</xsl:if>
|
7256
7427
|
<xsl:apply-templates/>
|
7257
7428
|
</fo:basic-link>
|
7258
7429
|
</xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
|
@@ -7362,6 +7533,13 @@
|
|
7362
7533
|
|
7363
7534
|
|
7364
7535
|
|
7536
|
+
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
7537
|
+
<!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
|
7538
|
+
<xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
7539
|
+
<xsl:call-template name="append_add-style"/>
|
7540
|
+
</xsl:if>
|
7541
|
+
|
7542
|
+
|
7365
7543
|
<!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
|
7366
7544
|
<xsl:if test="count(*[not(local-name() = 'name')]) = 1 and *[not(local-name() = 'name')]/node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
|
7367
7545
|
<xsl:apply-templates select="*[not(local-name() = 'name')]/node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
|
@@ -7400,6 +7578,12 @@
|
|
7400
7578
|
|
7401
7579
|
|
7402
7580
|
|
7581
|
+
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
7582
|
+
<!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
|
7583
|
+
<xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
7584
|
+
<xsl:call-template name="append_add-style"/>
|
7585
|
+
</xsl:if>
|
7586
|
+
|
7403
7587
|
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
7404
7588
|
|
7405
7589
|
</fo:inline>
|
@@ -7453,6 +7637,7 @@
|
|
7453
7637
|
</fo:block>
|
7454
7638
|
</xsl:template><xsl:template match="*[local-name() = 'term']">
|
7455
7639
|
<fo:block id="{@id}" xsl:use-attribute-sets="term-style">
|
7640
|
+
|
7456
7641
|
|
7457
7642
|
|
7458
7643
|
|
@@ -7893,7 +8078,11 @@
|
|
7893
8078
|
<xsl:value-of select="."/>
|
7894
8079
|
</xsl:template><xsl:template match="node()" mode="contents">
|
7895
8080
|
<xsl:apply-templates mode="contents"/>
|
7896
|
-
</xsl:template><xsl:template match="*[local-name() = 'p'][@type = '
|
8081
|
+
</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">
|
8082
|
+
<xsl:call-template name="contents_section-title"/>
|
8083
|
+
</xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'section-title']" mode="contents_in_clause">
|
8084
|
+
<xsl:call-template name="contents_section-title"/>
|
8085
|
+
</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">
|
7897
8086
|
<xsl:variable name="level">
|
7898
8087
|
<xsl:call-template name="getLevel">
|
7899
8088
|
<xsl:with-param name="depth" select="@depth"/>
|
@@ -7962,13 +8151,14 @@
|
|
7962
8151
|
<xsl:apply-templates mode="bookmarks"/>
|
7963
8152
|
</xsl:template><xsl:template name="addBookmarks">
|
7964
8153
|
<xsl:param name="contents"/>
|
7965
|
-
<xsl:
|
8154
|
+
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
8155
|
+
<xsl:if test="$contents_nodes//item">
|
7966
8156
|
<fo:bookmark-tree>
|
7967
8157
|
<xsl:choose>
|
7968
|
-
<xsl:when test="
|
8158
|
+
<xsl:when test="$contents_nodes/doc">
|
7969
8159
|
<xsl:choose>
|
7970
|
-
<xsl:when test="count(
|
7971
|
-
<xsl:for-each select="
|
8160
|
+
<xsl:when test="count($contents_nodes/doc) > 1">
|
8161
|
+
<xsl:for-each select="$contents_nodes/doc">
|
7972
8162
|
<fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide">
|
7973
8163
|
<xsl:if test="@bundle = 'true'">
|
7974
8164
|
<xsl:attribute name="internal-destination"><xsl:value-of select="@firstpage_id"/></xsl:attribute>
|
@@ -8019,7 +8209,7 @@
|
|
8019
8209
|
</xsl:for-each>
|
8020
8210
|
</xsl:when>
|
8021
8211
|
<xsl:otherwise>
|
8022
|
-
<xsl:for-each select="
|
8212
|
+
<xsl:for-each select="$contents_nodes/doc">
|
8023
8213
|
|
8024
8214
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
8025
8215
|
|
@@ -8037,25 +8227,36 @@
|
|
8037
8227
|
</xsl:choose>
|
8038
8228
|
</xsl:when>
|
8039
8229
|
<xsl:otherwise>
|
8040
|
-
<xsl:apply-templates select="
|
8230
|
+
<xsl:apply-templates select="$contents_nodes/contents/item" mode="bookmark"/>
|
8231
|
+
|
8232
|
+
<xsl:call-template name="insertFigureBookmarks">
|
8233
|
+
<xsl:with-param name="contents" select="$contents_nodes/contents"/>
|
8234
|
+
</xsl:call-template>
|
8235
|
+
|
8236
|
+
<xsl:call-template name="insertTableBookmarks">
|
8237
|
+
<xsl:with-param name="contents" select="$contents_nodes/contents"/>
|
8238
|
+
<xsl:with-param name="lang" select="@lang"/>
|
8239
|
+
</xsl:call-template>
|
8240
|
+
|
8041
8241
|
</xsl:otherwise>
|
8042
8242
|
</xsl:choose>
|
8043
8243
|
|
8244
|
+
|
8044
8245
|
|
8045
8246
|
|
8046
8247
|
|
8047
8248
|
|
8048
|
-
|
8049
|
-
|
8249
|
+
|
8050
8250
|
|
8051
8251
|
</fo:bookmark-tree>
|
8052
8252
|
</xsl:if>
|
8053
8253
|
</xsl:template><xsl:template name="insertFigureBookmarks">
|
8054
8254
|
<xsl:param name="contents"/>
|
8055
|
-
<xsl:
|
8056
|
-
|
8255
|
+
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
8256
|
+
<xsl:if test="$contents_nodes/figure">
|
8257
|
+
<fo:bookmark internal-destination="{$contents_nodes/figure[1]/@id}" starting-state="hide">
|
8057
8258
|
<fo:bookmark-title>Figures</fo:bookmark-title>
|
8058
|
-
<xsl:for-each select="
|
8259
|
+
<xsl:for-each select="$contents_nodes/figure">
|
8059
8260
|
<fo:bookmark internal-destination="{@id}">
|
8060
8261
|
<fo:bookmark-title>
|
8061
8262
|
<xsl:value-of select="normalize-space(title)"/>
|
@@ -8064,18 +8265,40 @@
|
|
8064
8265
|
</xsl:for-each>
|
8065
8266
|
</fo:bookmark>
|
8066
8267
|
</xsl:if>
|
8268
|
+
|
8269
|
+
|
8270
|
+
<xsl:if test="$contents_nodes//figures/figure">
|
8271
|
+
<fo:bookmark internal-destination="empty_bookmark" starting-state="hide">
|
8272
|
+
|
8273
|
+
|
8274
|
+
|
8275
|
+
<xsl:variable name="bookmark-title">
|
8276
|
+
|
8277
|
+
<xsl:value-of select="$title-list-figures"/>
|
8278
|
+
|
8279
|
+
</xsl:variable>
|
8280
|
+
<fo:bookmark-title><xsl:value-of select="normalize-space($bookmark-title)"/></fo:bookmark-title>
|
8281
|
+
<xsl:for-each select="$contents_nodes//figures/figure">
|
8282
|
+
<fo:bookmark internal-destination="{@id}">
|
8283
|
+
<fo:bookmark-title><xsl:value-of select="normalize-space(.)"/></fo:bookmark-title>
|
8284
|
+
</fo:bookmark>
|
8285
|
+
</xsl:for-each>
|
8286
|
+
</fo:bookmark>
|
8287
|
+
</xsl:if>
|
8288
|
+
|
8067
8289
|
</xsl:template><xsl:template name="insertTableBookmarks">
|
8068
8290
|
<xsl:param name="contents"/>
|
8069
8291
|
<xsl:param name="lang"/>
|
8070
|
-
<xsl:
|
8071
|
-
|
8292
|
+
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
8293
|
+
<xsl:if test="$contents_nodes/table">
|
8294
|
+
<fo:bookmark internal-destination="{$contents_nodes/table[1]/@id}" starting-state="hide">
|
8072
8295
|
<fo:bookmark-title>
|
8073
8296
|
<xsl:choose>
|
8074
8297
|
<xsl:when test="$lang = 'fr'">Tableaux</xsl:when>
|
8075
8298
|
<xsl:otherwise>Tables</xsl:otherwise>
|
8076
8299
|
</xsl:choose>
|
8077
8300
|
</fo:bookmark-title>
|
8078
|
-
<xsl:for-each select="
|
8301
|
+
<xsl:for-each select="$contents_nodes/table">
|
8079
8302
|
<fo:bookmark internal-destination="{@id}">
|
8080
8303
|
<fo:bookmark-title>
|
8081
8304
|
<xsl:value-of select="normalize-space(title)"/>
|
@@ -8084,6 +8307,29 @@
|
|
8084
8307
|
</xsl:for-each>
|
8085
8308
|
</fo:bookmark>
|
8086
8309
|
</xsl:if>
|
8310
|
+
|
8311
|
+
|
8312
|
+
<xsl:if test="$contents_nodes//tables/table">
|
8313
|
+
<fo:bookmark internal-destination="empty_bookmark" starting-state="hide">
|
8314
|
+
|
8315
|
+
|
8316
|
+
|
8317
|
+
<xsl:variable name="bookmark-title">
|
8318
|
+
|
8319
|
+
<xsl:value-of select="$title-list-tables"/>
|
8320
|
+
|
8321
|
+
</xsl:variable>
|
8322
|
+
|
8323
|
+
<fo:bookmark-title><xsl:value-of select="$bookmark-title"/></fo:bookmark-title>
|
8324
|
+
|
8325
|
+
<xsl:for-each select="$contents_nodes//tables/table">
|
8326
|
+
<fo:bookmark internal-destination="{@id}">
|
8327
|
+
<fo:bookmark-title><xsl:value-of select="normalize-space(.)"/></fo:bookmark-title>
|
8328
|
+
</fo:bookmark>
|
8329
|
+
</xsl:for-each>
|
8330
|
+
</fo:bookmark>
|
8331
|
+
</xsl:if>
|
8332
|
+
|
8087
8333
|
</xsl:template><xsl:template name="getLangVersion">
|
8088
8334
|
<xsl:param name="lang"/>
|
8089
8335
|
<xsl:param name="doctype" select="''"/>
|
@@ -8322,7 +8568,51 @@
|
|
8322
8568
|
<xsl:with-param name="text" select="$text_step1"/>
|
8323
8569
|
</xsl:call-template>
|
8324
8570
|
</xsl:variable>
|
8325
|
-
|
8571
|
+
|
8572
|
+
<!-- <xsl:value-of select="$text_step2"/> -->
|
8573
|
+
|
8574
|
+
<!-- add zero-width space after space -->
|
8575
|
+
<xsl:variable name="text_step3" select="java:replaceAll(java:java.lang.String.new($text_step2),' ',' ')"/>
|
8576
|
+
|
8577
|
+
<!-- split text by zero-width space -->
|
8578
|
+
<xsl:variable name="text_step4">
|
8579
|
+
<xsl:call-template name="split">
|
8580
|
+
<xsl:with-param name="pText" select="$text_step3"/>
|
8581
|
+
<xsl:with-param name="sep" select="$zero_width_space"/>
|
8582
|
+
<xsl:with-param name="normalize-space">false</xsl:with-param>
|
8583
|
+
<xsl:with-param name="keep_sep">true</xsl:with-param>
|
8584
|
+
</xsl:call-template>
|
8585
|
+
</xsl:variable>
|
8586
|
+
|
8587
|
+
<xsl:for-each select="xalan:nodeset($text_step4)/item">
|
8588
|
+
<xsl:choose>
|
8589
|
+
<xsl:when test="string-length() > 30"> <!-- word with length more than 30 will be interspersed with zero-width space -->
|
8590
|
+
<xsl:call-template name="interspers">
|
8591
|
+
<xsl:with-param name="str" select="."/>
|
8592
|
+
</xsl:call-template>
|
8593
|
+
</xsl:when>
|
8594
|
+
<xsl:otherwise>
|
8595
|
+
<xsl:value-of select="."/>
|
8596
|
+
</xsl:otherwise>
|
8597
|
+
</xsl:choose>
|
8598
|
+
</xsl:for-each>
|
8599
|
+
|
8600
|
+
</xsl:template><xsl:template name="interspers">
|
8601
|
+
<xsl:param name="str"/>
|
8602
|
+
<xsl:param name="char" select="$zero_width_space"/>
|
8603
|
+
<xsl:if test="$str != ''">
|
8604
|
+
<xsl:value-of select="substring($str, 1, 1)"/>
|
8605
|
+
|
8606
|
+
<xsl:variable name="next_char" select="substring($str, 2, 1)"/>
|
8607
|
+
<xsl:if test="not(contains(concat(' -.:=_— ', $char), $next_char))">
|
8608
|
+
<xsl:value-of select="$char"/>
|
8609
|
+
</xsl:if>
|
8610
|
+
|
8611
|
+
<xsl:call-template name="interspers">
|
8612
|
+
<xsl:with-param name="str" select="substring($str, 2)"/>
|
8613
|
+
<xsl:with-param name="char" select="$char"/>
|
8614
|
+
</xsl:call-template>
|
8615
|
+
</xsl:if>
|
8326
8616
|
</xsl:template><xsl:template match="*" mode="syntax_highlight">
|
8327
8617
|
<xsl:apply-templates mode="syntax_highlight"/>
|
8328
8618
|
</xsl:template><xsl:variable name="syntax_highlight_styles_">
|
@@ -8754,6 +9044,8 @@
|
|
8754
9044
|
</xsl:otherwise>
|
8755
9045
|
</xsl:choose> -->
|
8756
9046
|
</fo:block>
|
9047
|
+
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()[starts-with(., '[SOURCE: Adapted from: ')]" priority="2">
|
9048
|
+
<xsl:text>[</xsl:text><xsl:value-of select="substring-after(., '[SOURCE: ')"/>
|
8757
9049
|
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
|
8758
9050
|
<xsl:if test="normalize-space() != ''">
|
8759
9051
|
<xsl:value-of select="."/>
|
@@ -8828,26 +9120,24 @@
|
|
8828
9120
|
</xsl:template><xsl:template match="*[local-name() = 'author']">
|
8829
9121
|
<xsl:text>— </xsl:text>
|
8830
9122
|
<xsl:apply-templates/>
|
8831
|
-
</xsl:template><xsl:variable name="
|
9123
|
+
</xsl:template><xsl:variable name="bibitems_">
|
9124
|
+
<xsl:for-each select="//*[local-name() = 'bibitem']">
|
9125
|
+
<xsl:copy-of select="."/>
|
9126
|
+
</xsl:for-each>
|
9127
|
+
</xsl:variable><xsl:variable name="bibitems" select="xalan:nodeset($bibitems_)"/><xsl:variable name="bibitems_hidden_">
|
8832
9128
|
<xsl:for-each select="//*[local-name() = 'bibitem'][@hidden='true']">
|
8833
9129
|
<xsl:copy-of select="."/>
|
8834
9130
|
</xsl:for-each>
|
8835
|
-
<xsl:for-each select="//*[local-name() = 'references'][@hidden='true']
|
9131
|
+
<xsl:for-each select="//*[local-name() = 'references'][@hidden='true']//*[local-name() = 'bibitem']">
|
8836
9132
|
<xsl:copy-of select="."/>
|
8837
9133
|
</xsl:for-each>
|
8838
|
-
</xsl:variable><xsl:variable name="
|
8839
|
-
|
8840
|
-
<xsl:variable name="
|
8841
|
-
|
8842
|
-
<!-- <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"></xsl:when>
|
8843
|
-
<xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"></xsl:when> -->
|
8844
|
-
<xsl:when test="$bibitem_hidden/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
|
8845
|
-
<xsl:otherwise><xsl:value-of select="@bibitemid"/></xsl:otherwise>
|
8846
|
-
</xsl:choose>
|
8847
|
-
</xsl:variable>
|
8848
|
-
|
9134
|
+
</xsl:variable><xsl:variable name="bibitems_hidden" select="xalan:nodeset($bibitems_hidden_)"/><xsl:template match="*[local-name() = 'eref']">
|
9135
|
+
<xsl:variable name="current_bibitemid" select="@bibitemid"/>
|
9136
|
+
<!-- <xsl:variable name="external-destination" select="normalize-space(key('bibitems', $current_bibitemid)/*[local-name() = 'uri'][@type = 'citation'])"/> -->
|
9137
|
+
<xsl:variable name="external-destination" select="normalize-space($bibitems/*[local-name() ='bibitem'][@id = $current_bibitemid]/*[local-name() = 'uri'][@type = 'citation'])"/>
|
8849
9138
|
<xsl:choose>
|
8850
|
-
<xsl:when test="
|
9139
|
+
<!-- <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) -->
|
9140
|
+
<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) -->
|
8851
9141
|
<fo:inline xsl:use-attribute-sets="eref-style">
|
8852
9142
|
<xsl:if test="@type = 'footnote'">
|
8853
9143
|
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
@@ -8861,8 +9151,8 @@
|
|
8861
9151
|
<xsl:variable name="text" select="normalize-space()"/>
|
8862
9152
|
|
8863
9153
|
|
8864
|
-
|
8865
|
-
<fo:basic-link
|
9154
|
+
|
9155
|
+
<fo:basic-link fox:alt-text="{@citeas}">
|
8866
9156
|
<xsl:if test="normalize-space(@citeas) = ''">
|
8867
9157
|
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
8868
9158
|
</xsl:if>
|
@@ -8881,14 +9171,21 @@
|
|
8881
9171
|
|
8882
9172
|
</xsl:if>
|
8883
9173
|
|
8884
|
-
|
9174
|
+
<xsl:choose>
|
9175
|
+
<xsl:when test="$external-destination != ''"> <!-- external hyperlink -->
|
9176
|
+
<xsl:attribute name="external-destination"><xsl:value-of select="$external-destination"/></xsl:attribute>
|
9177
|
+
</xsl:when>
|
9178
|
+
<xsl:otherwise>
|
9179
|
+
<xsl:attribute name="internal-destination"><xsl:value-of select="@bibitemid"/></xsl:attribute>
|
9180
|
+
</xsl:otherwise>
|
9181
|
+
</xsl:choose>
|
8885
9182
|
|
8886
9183
|
<xsl:apply-templates/>
|
8887
9184
|
</fo:basic-link>
|
8888
|
-
|
9185
|
+
|
8889
9186
|
</fo:inline>
|
8890
9187
|
</xsl:when>
|
8891
|
-
<xsl:otherwise>
|
9188
|
+
<xsl:otherwise> <!-- if there is key('bibitems_hidden', $current_bibitemid) -->
|
8892
9189
|
<fo:inline><xsl:apply-templates/></fo:inline>
|
8893
9190
|
</xsl:otherwise>
|
8894
9191
|
</xsl:choose>
|
@@ -9223,7 +9520,7 @@
|
|
9223
9520
|
|
9224
9521
|
|
9225
9522
|
|
9226
|
-
|
9523
|
+
|
9227
9524
|
<xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
|
9228
9525
|
</fo:list-block>
|
9229
9526
|
<!-- <xsl:for-each select="./iho:note">
|
@@ -9241,6 +9538,11 @@
|
|
9241
9538
|
|
9242
9539
|
|
9243
9540
|
|
9541
|
+
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
9542
|
+
<xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
9543
|
+
<xsl:call-template name="append_add-style"/>
|
9544
|
+
</xsl:if>
|
9545
|
+
|
9244
9546
|
<xsl:call-template name="getListItemFormat"/>
|
9245
9547
|
</fo:block>
|
9246
9548
|
</fo:list-item-label>
|
@@ -9618,6 +9920,24 @@
|
|
9618
9920
|
<xsl:apply-templates/>
|
9619
9921
|
</fo:inline>
|
9620
9922
|
</xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
|
9923
|
+
|
9924
|
+
<!-- list of footnotes to calculate actual footnotes number -->
|
9925
|
+
<xsl:variable name="p_fn_">
|
9926
|
+
<xsl:call-template name="get_fn_list"/>
|
9927
|
+
</xsl:variable>
|
9928
|
+
<xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
|
9929
|
+
<xsl:variable name="gen_id" select="generate-id(.)"/>
|
9930
|
+
<xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
|
9931
|
+
<!-- fn sequence number in document -->
|
9932
|
+
<xsl:variable name="current_fn_number">
|
9933
|
+
<xsl:choose>
|
9934
|
+
<xsl:when test="@current_fn_number"><xsl:value-of select="@current_fn_number"/></xsl:when> <!-- for BSI -->
|
9935
|
+
<xsl:otherwise>
|
9936
|
+
<!-- <xsl:value-of select="count($p_fn//fn[@reference = $reference]/preceding-sibling::fn) + 1" /> -->
|
9937
|
+
<xsl:value-of select="count($p_fn//fn[@gen_id = $gen_id]/preceding-sibling::fn) + 1"/>
|
9938
|
+
</xsl:otherwise>
|
9939
|
+
</xsl:choose>
|
9940
|
+
</xsl:variable>
|
9621
9941
|
<fo:footnote>
|
9622
9942
|
<xsl:variable name="number">
|
9623
9943
|
|
@@ -9626,22 +9946,26 @@
|
|
9626
9946
|
<xsl:number level="any" count="*[local-name() = 'references'][preceding-sibling::*[local-name() = 'references']]//*[local-name() = 'bibitem']/*[local-name() = 'note']"/>
|
9627
9947
|
</xsl:when>
|
9628
9948
|
<xsl:otherwise>
|
9629
|
-
<xsl:
|
9949
|
+
<xsl:value-of select="$current_fn_number"/>
|
9630
9950
|
</xsl:otherwise>
|
9631
9951
|
</xsl:choose>
|
9632
9952
|
|
9633
9953
|
</xsl:variable>
|
9954
|
+
|
9955
|
+
<xsl:variable name="current_fn_number_text">
|
9956
|
+
<xsl:value-of select="$number"/>
|
9957
|
+
|
9958
|
+
</xsl:variable>
|
9959
|
+
|
9634
9960
|
<fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
|
9635
|
-
<fo:basic-link internal-destination="{
|
9636
|
-
<xsl:value-of select="$
|
9637
|
-
|
9961
|
+
<fo:basic-link internal-destination="{$gen_id}" fox:alt-text="footnote {$number}">
|
9962
|
+
<xsl:value-of select="$current_fn_number_text"/>
|
9638
9963
|
</fo:basic-link>
|
9639
9964
|
</fo:inline>
|
9640
9965
|
<fo:footnote-body>
|
9641
9966
|
<fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
|
9642
|
-
<fo:inline id="{
|
9643
|
-
<xsl:value-of select="$
|
9644
|
-
|
9967
|
+
<fo:inline id="{$gen_id}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
|
9968
|
+
<xsl:value-of select="$current_fn_number_text"/>
|
9645
9969
|
</fo:inline>
|
9646
9970
|
<xsl:apply-templates/>
|
9647
9971
|
</fo:block>
|
@@ -9887,6 +10211,78 @@
|
|
9887
10211
|
<xsl:apply-templates/>
|
9888
10212
|
</fo:block>
|
9889
10213
|
|
10214
|
+
</xsl:template><xsl:template match="@*|node()" mode="update_xml_step1">
|
10215
|
+
<xsl:copy>
|
10216
|
+
<xsl:apply-templates select="@*|node()" mode="update_xml_step1"/>
|
10217
|
+
</xsl:copy>
|
10218
|
+
</xsl:template><xsl:template match="*[local-name() = 'preface']" mode="update_xml_step1">
|
10219
|
+
<xsl:copy>
|
10220
|
+
<xsl:copy-of select="@*"/>
|
10221
|
+
|
10222
|
+
<xsl:variable name="nodes_preface_">
|
10223
|
+
<xsl:for-each select="*">
|
10224
|
+
<node id="{@id}"/>
|
10225
|
+
</xsl:for-each>
|
10226
|
+
</xsl:variable>
|
10227
|
+
<xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
|
10228
|
+
|
10229
|
+
<xsl:for-each select="*">
|
10230
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
10231
|
+
|
10232
|
+
<!-- process Section's title -->
|
10233
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_preface/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
10234
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
10235
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="update_xml_step1"/>
|
10236
|
+
</xsl:if>
|
10237
|
+
|
10238
|
+
<xsl:choose>
|
10239
|
+
<xsl:when test="@type = 'section-title' and not(@displayorder)"><!-- skip, don't copy, because copied in above 'apply-templates' --></xsl:when>
|
10240
|
+
<xsl:otherwise>
|
10241
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
10242
|
+
</xsl:otherwise>
|
10243
|
+
</xsl:choose>
|
10244
|
+
|
10245
|
+
</xsl:for-each>
|
10246
|
+
</xsl:copy>
|
10247
|
+
</xsl:template><xsl:template match="*[local-name() = 'sections']" mode="update_xml_step1">
|
10248
|
+
<xsl:copy>
|
10249
|
+
<xsl:copy-of select="@*"/>
|
10250
|
+
|
10251
|
+
<xsl:variable name="nodes_sections_">
|
10252
|
+
<xsl:for-each select="*">
|
10253
|
+
<node id="{@id}"/>
|
10254
|
+
</xsl:for-each>
|
10255
|
+
</xsl:variable>
|
10256
|
+
<xsl:variable name="nodes_sections" select="xalan:nodeset($nodes_sections_)"/>
|
10257
|
+
|
10258
|
+
<!-- move section 'Normative references' inside 'sections' -->
|
10259
|
+
<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']]">
|
10260
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
10261
|
+
|
10262
|
+
<!-- process Section's title -->
|
10263
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_sections/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
10264
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
10265
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="update_xml_step1"/>
|
10266
|
+
</xsl:if>
|
10267
|
+
|
10268
|
+
<xsl:choose>
|
10269
|
+
<xsl:when test="@type = 'section-title' and not(@displayorder)"><!-- skip, don't copy, because copied in above 'apply-templates' --></xsl:when>
|
10270
|
+
<xsl:otherwise>
|
10271
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
10272
|
+
</xsl:otherwise>
|
10273
|
+
</xsl:choose>
|
10274
|
+
|
10275
|
+
</xsl:for-each>
|
10276
|
+
</xsl:copy>
|
10277
|
+
</xsl:template><xsl:template match="*[local-name() = 'bibliography']" mode="update_xml_step1">
|
10278
|
+
<xsl:copy>
|
10279
|
+
<xsl:copy-of select="@*"/>
|
10280
|
+
<!-- copy all elements from bibliography except 'Normative references' (moved to 'sections') -->
|
10281
|
+
<xsl:for-each select="*[not(@normative='true') and not(*[@normative='true'])]">
|
10282
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
10283
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
10284
|
+
</xsl:for-each>
|
10285
|
+
</xsl:copy>
|
9890
10286
|
</xsl:template><xsl:template name="convertDate">
|
9891
10287
|
<xsl:param name="date"/>
|
9892
10288
|
<xsl:param name="format" select="'short'"/>
|
@@ -10131,22 +10527,25 @@
|
|
10131
10527
|
<xsl:param name="pText" select="."/>
|
10132
10528
|
<xsl:param name="sep" select="','"/>
|
10133
10529
|
<xsl:param name="normalize-space" select="'true'"/>
|
10530
|
+
<xsl:param name="keep_sep" select="'false'"/>
|
10134
10531
|
<xsl:if test="string-length($pText) >0">
|
10135
|
-
|
10136
|
-
|
10137
|
-
|
10138
|
-
|
10139
|
-
|
10140
|
-
|
10141
|
-
|
10142
|
-
|
10143
|
-
|
10144
|
-
|
10145
|
-
|
10146
|
-
<xsl:
|
10147
|
-
|
10148
|
-
|
10149
|
-
|
10532
|
+
<item>
|
10533
|
+
<xsl:choose>
|
10534
|
+
<xsl:when test="$normalize-space = 'true'">
|
10535
|
+
<xsl:value-of select="normalize-space(substring-before(concat($pText, $sep), $sep))"/>
|
10536
|
+
</xsl:when>
|
10537
|
+
<xsl:otherwise>
|
10538
|
+
<xsl:value-of select="substring-before(concat($pText, $sep), $sep)"/>
|
10539
|
+
</xsl:otherwise>
|
10540
|
+
</xsl:choose>
|
10541
|
+
</item>
|
10542
|
+
<xsl:if test="$keep_sep = 'true' and contains($pText, $sep)"><item><xsl:value-of select="$sep"/></item></xsl:if>
|
10543
|
+
<xsl:call-template name="split">
|
10544
|
+
<xsl:with-param name="pText" select="substring-after($pText, $sep)"/>
|
10545
|
+
<xsl:with-param name="sep" select="$sep"/>
|
10546
|
+
<xsl:with-param name="normalize-space" select="$normalize-space"/>
|
10547
|
+
<xsl:with-param name="keep_sep" select="$keep_sep"/>
|
10548
|
+
</xsl:call-template>
|
10150
10549
|
</xsl:if>
|
10151
10550
|
</xsl:template><xsl:template name="getDocumentId">
|
10152
10551
|
<xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
|
@@ -10337,53 +10736,153 @@
|
|
10337
10736
|
<xsl:param name="first"/>
|
10338
10737
|
<xsl:if test="$number != ''">
|
10339
10738
|
<xsl:variable name="words">
|
10340
|
-
|
10341
|
-
<
|
10342
|
-
|
10343
|
-
|
10344
|
-
|
10345
|
-
|
10346
|
-
|
10347
|
-
|
10348
|
-
|
10349
|
-
|
10350
|
-
|
10351
|
-
|
10352
|
-
|
10353
|
-
|
10354
|
-
|
10355
|
-
|
10356
|
-
|
10357
|
-
|
10358
|
-
|
10359
|
-
|
10360
|
-
|
10361
|
-
|
10362
|
-
|
10363
|
-
|
10364
|
-
|
10365
|
-
|
10366
|
-
|
10367
|
-
|
10368
|
-
|
10369
|
-
|
10370
|
-
|
10371
|
-
|
10372
|
-
|
10373
|
-
|
10374
|
-
|
10375
|
-
|
10376
|
-
|
10377
|
-
|
10378
|
-
|
10379
|
-
|
10380
|
-
|
10381
|
-
|
10382
|
-
|
10383
|
-
|
10384
|
-
|
10385
|
-
|
10386
|
-
|
10739
|
+
<words>
|
10740
|
+
<xsl:choose>
|
10741
|
+
<xsl:when test="$lang = 'fr'"> <!-- https://en.wiktionary.org/wiki/Appendix:French_numbers -->
|
10742
|
+
<word cardinal="1">Une-</word>
|
10743
|
+
<word ordinal="1">Première </word>
|
10744
|
+
<word cardinal="2">Deux-</word>
|
10745
|
+
<word ordinal="2">Seconde </word>
|
10746
|
+
<word cardinal="3">Trois-</word>
|
10747
|
+
<word ordinal="3">Tierce </word>
|
10748
|
+
<word cardinal="4">Quatre-</word>
|
10749
|
+
<word ordinal="4">Quatrième </word>
|
10750
|
+
<word cardinal="5">Cinq-</word>
|
10751
|
+
<word ordinal="5">Cinquième </word>
|
10752
|
+
<word cardinal="6">Six-</word>
|
10753
|
+
<word ordinal="6">Sixième </word>
|
10754
|
+
<word cardinal="7">Sept-</word>
|
10755
|
+
<word ordinal="7">Septième </word>
|
10756
|
+
<word cardinal="8">Huit-</word>
|
10757
|
+
<word ordinal="8">Huitième </word>
|
10758
|
+
<word cardinal="9">Neuf-</word>
|
10759
|
+
<word ordinal="9">Neuvième </word>
|
10760
|
+
<word ordinal="10">Dixième </word>
|
10761
|
+
<word ordinal="11">Onzième </word>
|
10762
|
+
<word ordinal="12">Douzième </word>
|
10763
|
+
<word ordinal="13">Treizième </word>
|
10764
|
+
<word ordinal="14">Quatorzième </word>
|
10765
|
+
<word ordinal="15">Quinzième </word>
|
10766
|
+
<word ordinal="16">Seizième </word>
|
10767
|
+
<word ordinal="17">Dix-septième </word>
|
10768
|
+
<word ordinal="18">Dix-huitième </word>
|
10769
|
+
<word ordinal="19">Dix-neuvième </word>
|
10770
|
+
<word cardinal="20">Vingt-</word>
|
10771
|
+
<word ordinal="20">Vingtième </word>
|
10772
|
+
<word cardinal="30">Trente-</word>
|
10773
|
+
<word ordinal="30">Trentième </word>
|
10774
|
+
<word cardinal="40">Quarante-</word>
|
10775
|
+
<word ordinal="40">Quarantième </word>
|
10776
|
+
<word cardinal="50">Cinquante-</word>
|
10777
|
+
<word ordinal="50">Cinquantième </word>
|
10778
|
+
<word cardinal="60">Soixante-</word>
|
10779
|
+
<word ordinal="60">Soixantième </word>
|
10780
|
+
<word cardinal="70">Septante-</word>
|
10781
|
+
<word ordinal="70">Septantième </word>
|
10782
|
+
<word cardinal="80">Huitante-</word>
|
10783
|
+
<word ordinal="80">Huitantième </word>
|
10784
|
+
<word cardinal="90">Nonante-</word>
|
10785
|
+
<word ordinal="90">Nonantième </word>
|
10786
|
+
<word cardinal="100">Cent-</word>
|
10787
|
+
<word ordinal="100">Centième </word>
|
10788
|
+
</xsl:when>
|
10789
|
+
<xsl:when test="$lang = 'ru'">
|
10790
|
+
<word cardinal="1">Одна-</word>
|
10791
|
+
<word ordinal="1">Первое </word>
|
10792
|
+
<word cardinal="2">Две-</word>
|
10793
|
+
<word ordinal="2">Второе </word>
|
10794
|
+
<word cardinal="3">Три-</word>
|
10795
|
+
<word ordinal="3">Третье </word>
|
10796
|
+
<word cardinal="4">Четыре-</word>
|
10797
|
+
<word ordinal="4">Четвертое </word>
|
10798
|
+
<word cardinal="5">Пять-</word>
|
10799
|
+
<word ordinal="5">Пятое </word>
|
10800
|
+
<word cardinal="6">Шесть-</word>
|
10801
|
+
<word ordinal="6">Шестое </word>
|
10802
|
+
<word cardinal="7">Семь-</word>
|
10803
|
+
<word ordinal="7">Седьмое </word>
|
10804
|
+
<word cardinal="8">Восемь-</word>
|
10805
|
+
<word ordinal="8">Восьмое </word>
|
10806
|
+
<word cardinal="9">Девять-</word>
|
10807
|
+
<word ordinal="9">Девятое </word>
|
10808
|
+
<word ordinal="10">Десятое </word>
|
10809
|
+
<word ordinal="11">Одиннадцатое </word>
|
10810
|
+
<word ordinal="12">Двенадцатое </word>
|
10811
|
+
<word ordinal="13">Тринадцатое </word>
|
10812
|
+
<word ordinal="14">Четырнадцатое </word>
|
10813
|
+
<word ordinal="15">Пятнадцатое </word>
|
10814
|
+
<word ordinal="16">Шестнадцатое </word>
|
10815
|
+
<word ordinal="17">Семнадцатое </word>
|
10816
|
+
<word ordinal="18">Восемнадцатое </word>
|
10817
|
+
<word ordinal="19">Девятнадцатое </word>
|
10818
|
+
<word cardinal="20">Двадцать-</word>
|
10819
|
+
<word ordinal="20">Двадцатое </word>
|
10820
|
+
<word cardinal="30">Тридцать-</word>
|
10821
|
+
<word ordinal="30">Тридцатое </word>
|
10822
|
+
<word cardinal="40">Сорок-</word>
|
10823
|
+
<word ordinal="40">Сороковое </word>
|
10824
|
+
<word cardinal="50">Пятьдесят-</word>
|
10825
|
+
<word ordinal="50">Пятидесятое </word>
|
10826
|
+
<word cardinal="60">Шестьдесят-</word>
|
10827
|
+
<word ordinal="60">Шестидесятое </word>
|
10828
|
+
<word cardinal="70">Семьдесят-</word>
|
10829
|
+
<word ordinal="70">Семидесятое </word>
|
10830
|
+
<word cardinal="80">Восемьдесят-</word>
|
10831
|
+
<word ordinal="80">Восьмидесятое </word>
|
10832
|
+
<word cardinal="90">Девяносто-</word>
|
10833
|
+
<word ordinal="90">Девяностое </word>
|
10834
|
+
<word cardinal="100">Сто-</word>
|
10835
|
+
<word ordinal="100">Сотое </word>
|
10836
|
+
</xsl:when>
|
10837
|
+
<xsl:otherwise> <!-- default english -->
|
10838
|
+
<word cardinal="1">One-</word>
|
10839
|
+
<word ordinal="1">First </word>
|
10840
|
+
<word cardinal="2">Two-</word>
|
10841
|
+
<word ordinal="2">Second </word>
|
10842
|
+
<word cardinal="3">Three-</word>
|
10843
|
+
<word ordinal="3">Third </word>
|
10844
|
+
<word cardinal="4">Four-</word>
|
10845
|
+
<word ordinal="4">Fourth </word>
|
10846
|
+
<word cardinal="5">Five-</word>
|
10847
|
+
<word ordinal="5">Fifth </word>
|
10848
|
+
<word cardinal="6">Six-</word>
|
10849
|
+
<word ordinal="6">Sixth </word>
|
10850
|
+
<word cardinal="7">Seven-</word>
|
10851
|
+
<word ordinal="7">Seventh </word>
|
10852
|
+
<word cardinal="8">Eight-</word>
|
10853
|
+
<word ordinal="8">Eighth </word>
|
10854
|
+
<word cardinal="9">Nine-</word>
|
10855
|
+
<word ordinal="9">Ninth </word>
|
10856
|
+
<word ordinal="10">Tenth </word>
|
10857
|
+
<word ordinal="11">Eleventh </word>
|
10858
|
+
<word ordinal="12">Twelfth </word>
|
10859
|
+
<word ordinal="13">Thirteenth </word>
|
10860
|
+
<word ordinal="14">Fourteenth </word>
|
10861
|
+
<word ordinal="15">Fifteenth </word>
|
10862
|
+
<word ordinal="16">Sixteenth </word>
|
10863
|
+
<word ordinal="17">Seventeenth </word>
|
10864
|
+
<word ordinal="18">Eighteenth </word>
|
10865
|
+
<word ordinal="19">Nineteenth </word>
|
10866
|
+
<word cardinal="20">Twenty-</word>
|
10867
|
+
<word ordinal="20">Twentieth </word>
|
10868
|
+
<word cardinal="30">Thirty-</word>
|
10869
|
+
<word ordinal="30">Thirtieth </word>
|
10870
|
+
<word cardinal="40">Forty-</word>
|
10871
|
+
<word ordinal="40">Fortieth </word>
|
10872
|
+
<word cardinal="50">Fifty-</word>
|
10873
|
+
<word ordinal="50">Fiftieth </word>
|
10874
|
+
<word cardinal="60">Sixty-</word>
|
10875
|
+
<word ordinal="60">Sixtieth </word>
|
10876
|
+
<word cardinal="70">Seventy-</word>
|
10877
|
+
<word ordinal="70">Seventieth </word>
|
10878
|
+
<word cardinal="80">Eighty-</word>
|
10879
|
+
<word ordinal="80">Eightieth </word>
|
10880
|
+
<word cardinal="90">Ninety-</word>
|
10881
|
+
<word ordinal="90">Ninetieth </word>
|
10882
|
+
<word cardinal="100">Hundred-</word>
|
10883
|
+
<word ordinal="100">Hundredth </word>
|
10884
|
+
</xsl:otherwise>
|
10885
|
+
</xsl:choose>
|
10387
10886
|
</words>
|
10388
10887
|
</xsl:variable>
|
10389
10888
|
|
@@ -10457,4 +10956,18 @@
|
|
10457
10956
|
<xsl:otherwise>_</xsl:otherwise>
|
10458
10957
|
</xsl:choose>
|
10459
10958
|
</xsl:attribute>
|
10959
|
+
</xsl:template><xsl:template name="substring-after-last">
|
10960
|
+
<xsl:param name="value"/>
|
10961
|
+
<xsl:param name="delimiter"/>
|
10962
|
+
<xsl:choose>
|
10963
|
+
<xsl:when test="contains($value, $delimiter)">
|
10964
|
+
<xsl:call-template name="substring-after-last">
|
10965
|
+
<xsl:with-param name="value" select="substring-after($value, $delimiter)"/>
|
10966
|
+
<xsl:with-param name="delimiter" select="$delimiter"/>
|
10967
|
+
</xsl:call-template>
|
10968
|
+
</xsl:when>
|
10969
|
+
<xsl:otherwise>
|
10970
|
+
<xsl:value-of select="$value"/>
|
10971
|
+
</xsl:otherwise>
|
10972
|
+
</xsl:choose>
|
10460
10973
|
</xsl:template></xsl:stylesheet>
|