metanorma-bipm 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/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>
|