metanorma-bipm 2.0.4 → 2.0.5
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/bipm.brochure.xsl +356 -86
- data/lib/isodoc/bipm/bipm.guide.xsl +356 -86
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +356 -86
- data/lib/isodoc/bipm/bipm.rapport.xsl +356 -86
- data/lib/isodoc/bipm/jcgm.standard.xsl +329 -86
- data/lib/isodoc/bipm/presentation_xml_convert.rb +6 -6
- data/lib/metanorma/bipm/version.rb +1 -1
- metadata +2 -2
@@ -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/>
|
@@ -3841,7 +3916,7 @@
|
|
3841
3916
|
</xsl:template>
|
3842
3917
|
|
3843
3918
|
|
3844
|
-
<xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:variable name="lang">
|
3919
|
+
<xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:key name="bibitems" match="*[local-name() = 'bibitem']" use="@id"/><xsl:key name="bibitems_hidden" match="*[local-name() = 'bibitem'][@hidden='true'] | *[local-name() = 'references'][@hidden='true']//*[local-name() = 'bibitem']" use="@id"/><xsl:variable name="lang">
|
3845
3920
|
<xsl:call-template name="getLang"/>
|
3846
3921
|
</xsl:variable><xsl:variable name="pageWidth_">
|
3847
3922
|
210
|
@@ -3885,7 +3960,7 @@
|
|
3885
3960
|
<xsl:text>Contents</xsl:text>
|
3886
3961
|
|
3887
3962
|
</title-toc>
|
3888
|
-
|
3963
|
+
|
3889
3964
|
<title-descriptors lang="en">Descriptors</title-descriptors>
|
3890
3965
|
|
3891
3966
|
<title-part lang="en">
|
@@ -3925,7 +4000,31 @@
|
|
3925
4000
|
<title-continued lang="en">(continued)</title-continued>
|
3926
4001
|
<title-continued lang="fr">(continué)</title-continued>
|
3927
4002
|
|
3928
|
-
</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">
|
3929
4028
|
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
|
3930
4029
|
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
|
3931
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">
|
@@ -5158,6 +5257,30 @@
|
|
5158
5257
|
<xsl:sort select="@displayorder" data-type="number"/>
|
5159
5258
|
<xsl:apply-templates select="." mode="contents"/>
|
5160
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>
|
5161
5284
|
</xsl:template><xsl:template name="processPrefaceSectionsDefault">
|
5162
5285
|
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
5163
5286
|
<xsl:sort select="@displayorder" data-type="number"/>
|
@@ -6023,37 +6146,7 @@
|
|
6023
6146
|
|
6024
6147
|
<!-- list of footnotes to calculate actual footnotes number -->
|
6025
6148
|
<xsl:variable name="p_fn_">
|
6026
|
-
<xsl:
|
6027
|
-
<xsl:when test="@current_fn_number"> <!-- for BSI, footnote reference number calculated already -->
|
6028
|
-
<fn gen_id="{generate-id(.)}">
|
6029
|
-
<xsl:copy-of select="@*"/>
|
6030
|
-
<xsl:copy-of select="node()"/>
|
6031
|
-
</fn>
|
6032
|
-
</xsl:when>
|
6033
|
-
<xsl:otherwise>
|
6034
|
-
<!-- itetation for:
|
6035
|
-
footnotes in bibdata/title
|
6036
|
-
footnotes in bibliography
|
6037
|
-
footnotes in document's body (except table's head/body/foot and figure text)
|
6038
|
-
-->
|
6039
|
-
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'note'][@type='title-footnote']">
|
6040
|
-
<fn gen_id="{generate-id(.)}">
|
6041
|
-
<xsl:copy-of select="@*"/>
|
6042
|
-
<xsl:copy-of select="node()"/>
|
6043
|
-
</fn>
|
6044
|
-
</xsl:for-each>
|
6045
|
-
<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']/*">
|
6046
|
-
<xsl:sort select="@displayorder" data-type="number"/>
|
6047
|
-
<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])]">
|
6048
|
-
<!-- copy unique fn -->
|
6049
|
-
<fn gen_id="{generate-id(.)}">
|
6050
|
-
<xsl:copy-of select="@*"/>
|
6051
|
-
<xsl:copy-of select="node()"/>
|
6052
|
-
</fn>
|
6053
|
-
</xsl:for-each>
|
6054
|
-
</xsl:for-each>
|
6055
|
-
</xsl:otherwise>
|
6056
|
-
</xsl:choose>
|
6149
|
+
<xsl:call-template name="get_fn_list"/>
|
6057
6150
|
</xsl:variable>
|
6058
6151
|
<xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
|
6059
6152
|
|
@@ -6114,6 +6207,38 @@
|
|
6114
6207
|
<xsl:copy-of select="$footnote_inline"/>
|
6115
6208
|
</xsl:otherwise>
|
6116
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>
|
6117
6242
|
</xsl:template><xsl:template name="table_fn_display">
|
6118
6243
|
<xsl:variable name="references">
|
6119
6244
|
|
@@ -6293,7 +6418,7 @@
|
|
6293
6418
|
</fo:inline>
|
6294
6419
|
</xsl:template><xsl:template match="*[local-name()='fn']/text()[normalize-space() != '']">
|
6295
6420
|
<fo:inline><xsl:value-of select="."/></fo:inline>
|
6296
|
-
</xsl:template><xsl:template match="*[local-name()='fn']
|
6421
|
+
</xsl:template><xsl:template match="*[local-name()='fn']//*[local-name()='p']">
|
6297
6422
|
<fo:inline>
|
6298
6423
|
<xsl:apply-templates/>
|
6299
6424
|
</fo:inline>
|
@@ -8026,13 +8151,14 @@
|
|
8026
8151
|
<xsl:apply-templates mode="bookmarks"/>
|
8027
8152
|
</xsl:template><xsl:template name="addBookmarks">
|
8028
8153
|
<xsl:param name="contents"/>
|
8029
|
-
<xsl:
|
8154
|
+
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
8155
|
+
<xsl:if test="$contents_nodes//item">
|
8030
8156
|
<fo:bookmark-tree>
|
8031
8157
|
<xsl:choose>
|
8032
|
-
<xsl:when test="
|
8158
|
+
<xsl:when test="$contents_nodes/doc">
|
8033
8159
|
<xsl:choose>
|
8034
|
-
<xsl:when test="count(
|
8035
|
-
<xsl:for-each select="
|
8160
|
+
<xsl:when test="count($contents_nodes/doc) > 1">
|
8161
|
+
<xsl:for-each select="$contents_nodes/doc">
|
8036
8162
|
<fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide">
|
8037
8163
|
<xsl:if test="@bundle = 'true'">
|
8038
8164
|
<xsl:attribute name="internal-destination"><xsl:value-of select="@firstpage_id"/></xsl:attribute>
|
@@ -8083,7 +8209,7 @@
|
|
8083
8209
|
</xsl:for-each>
|
8084
8210
|
</xsl:when>
|
8085
8211
|
<xsl:otherwise>
|
8086
|
-
<xsl:for-each select="
|
8212
|
+
<xsl:for-each select="$contents_nodes/doc">
|
8087
8213
|
|
8088
8214
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
8089
8215
|
|
@@ -8101,25 +8227,36 @@
|
|
8101
8227
|
</xsl:choose>
|
8102
8228
|
</xsl:when>
|
8103
8229
|
<xsl:otherwise>
|
8104
|
-
<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
|
+
|
8105
8241
|
</xsl:otherwise>
|
8106
8242
|
</xsl:choose>
|
8107
8243
|
|
8244
|
+
|
8108
8245
|
|
8109
8246
|
|
8110
8247
|
|
8111
8248
|
|
8112
|
-
|
8113
|
-
|
8249
|
+
|
8114
8250
|
|
8115
8251
|
</fo:bookmark-tree>
|
8116
8252
|
</xsl:if>
|
8117
8253
|
</xsl:template><xsl:template name="insertFigureBookmarks">
|
8118
8254
|
<xsl:param name="contents"/>
|
8119
|
-
<xsl:
|
8120
|
-
|
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">
|
8121
8258
|
<fo:bookmark-title>Figures</fo:bookmark-title>
|
8122
|
-
<xsl:for-each select="
|
8259
|
+
<xsl:for-each select="$contents_nodes/figure">
|
8123
8260
|
<fo:bookmark internal-destination="{@id}">
|
8124
8261
|
<fo:bookmark-title>
|
8125
8262
|
<xsl:value-of select="normalize-space(title)"/>
|
@@ -8128,18 +8265,40 @@
|
|
8128
8265
|
</xsl:for-each>
|
8129
8266
|
</fo:bookmark>
|
8130
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
|
+
|
8131
8289
|
</xsl:template><xsl:template name="insertTableBookmarks">
|
8132
8290
|
<xsl:param name="contents"/>
|
8133
8291
|
<xsl:param name="lang"/>
|
8134
|
-
<xsl:
|
8135
|
-
|
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">
|
8136
8295
|
<fo:bookmark-title>
|
8137
8296
|
<xsl:choose>
|
8138
8297
|
<xsl:when test="$lang = 'fr'">Tableaux</xsl:when>
|
8139
8298
|
<xsl:otherwise>Tables</xsl:otherwise>
|
8140
8299
|
</xsl:choose>
|
8141
8300
|
</fo:bookmark-title>
|
8142
|
-
<xsl:for-each select="
|
8301
|
+
<xsl:for-each select="$contents_nodes/table">
|
8143
8302
|
<fo:bookmark internal-destination="{@id}">
|
8144
8303
|
<fo:bookmark-title>
|
8145
8304
|
<xsl:value-of select="normalize-space(title)"/>
|
@@ -8148,6 +8307,29 @@
|
|
8148
8307
|
</xsl:for-each>
|
8149
8308
|
</fo:bookmark>
|
8150
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
|
+
|
8151
8333
|
</xsl:template><xsl:template name="getLangVersion">
|
8152
8334
|
<xsl:param name="lang"/>
|
8153
8335
|
<xsl:param name="doctype" select="''"/>
|
@@ -8818,6 +9000,8 @@
|
|
8818
9000
|
</xsl:otherwise>
|
8819
9001
|
</xsl:choose> -->
|
8820
9002
|
</fo:block>
|
9003
|
+
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()[starts-with(., '[SOURCE: Adapted from: ')]" priority="2">
|
9004
|
+
<xsl:text>[</xsl:text><xsl:value-of select="substring-after(., '[SOURCE: ')"/>
|
8821
9005
|
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
|
8822
9006
|
<xsl:if test="normalize-space() != ''">
|
8823
9007
|
<xsl:value-of select="."/>
|
@@ -8892,26 +9076,11 @@
|
|
8892
9076
|
</xsl:template><xsl:template match="*[local-name() = 'author']">
|
8893
9077
|
<xsl:text>— </xsl:text>
|
8894
9078
|
<xsl:apply-templates/>
|
8895
|
-
</xsl:template><xsl:
|
8896
|
-
<xsl:
|
8897
|
-
|
8898
|
-
</xsl:for-each>
|
8899
|
-
<xsl:for-each select="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem']">
|
8900
|
-
<xsl:copy-of select="."/>
|
8901
|
-
</xsl:for-each>
|
8902
|
-
</xsl:variable><xsl:variable name="bibitem_hidden" select="xalan:nodeset($bibitem_hidden_)"/><xsl:template match="*[local-name() = 'eref']">
|
8903
|
-
|
8904
|
-
<xsl:variable name="bibitemid">
|
8905
|
-
<xsl:choose>
|
8906
|
-
<!-- <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"></xsl:when>
|
8907
|
-
<xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"></xsl:when> -->
|
8908
|
-
<xsl:when test="$bibitem_hidden/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
|
8909
|
-
<xsl:otherwise><xsl:value-of select="@bibitemid"/></xsl:otherwise>
|
8910
|
-
</xsl:choose>
|
8911
|
-
</xsl:variable>
|
8912
|
-
|
9079
|
+
</xsl:template><xsl:template match="*[local-name() = 'eref']">
|
9080
|
+
<xsl:variable name="current_bibitemid" select="@bibitemid"/>
|
9081
|
+
<xsl:variable name="external-destination" select="normalize-space(key('bibitems', $current_bibitemid)/*[local-name() = 'uri'][@type = 'citation'])"/>
|
8913
9082
|
<xsl:choose>
|
8914
|
-
<xsl:when test="
|
9083
|
+
<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) -->
|
8915
9084
|
<fo:inline xsl:use-attribute-sets="eref-style">
|
8916
9085
|
<xsl:if test="@type = 'footnote'">
|
8917
9086
|
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
@@ -8925,8 +9094,8 @@
|
|
8925
9094
|
<xsl:variable name="text" select="normalize-space()"/>
|
8926
9095
|
|
8927
9096
|
|
8928
|
-
|
8929
|
-
<fo:basic-link
|
9097
|
+
|
9098
|
+
<fo:basic-link fox:alt-text="{@citeas}">
|
8930
9099
|
<xsl:if test="normalize-space(@citeas) = ''">
|
8931
9100
|
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
8932
9101
|
</xsl:if>
|
@@ -8945,14 +9114,21 @@
|
|
8945
9114
|
|
8946
9115
|
</xsl:if>
|
8947
9116
|
|
8948
|
-
|
9117
|
+
<xsl:choose>
|
9118
|
+
<xsl:when test="$external-destination != ''"> <!-- external hyperlink -->
|
9119
|
+
<xsl:attribute name="external-destination"><xsl:value-of select="$external-destination"/></xsl:attribute>
|
9120
|
+
</xsl:when>
|
9121
|
+
<xsl:otherwise>
|
9122
|
+
<xsl:attribute name="internal-destination"><xsl:value-of select="@bibitemid"/></xsl:attribute>
|
9123
|
+
</xsl:otherwise>
|
9124
|
+
</xsl:choose>
|
8949
9125
|
|
8950
9126
|
<xsl:apply-templates/>
|
8951
9127
|
</fo:basic-link>
|
8952
|
-
|
9128
|
+
|
8953
9129
|
</fo:inline>
|
8954
9130
|
</xsl:when>
|
8955
|
-
<xsl:otherwise>
|
9131
|
+
<xsl:otherwise> <!-- if there is key('bibitems_hidden', $current_bibitemid) -->
|
8956
9132
|
<fo:inline><xsl:apply-templates/></fo:inline>
|
8957
9133
|
</xsl:otherwise>
|
8958
9134
|
</xsl:choose>
|
@@ -9687,6 +9863,24 @@
|
|
9687
9863
|
<xsl:apply-templates/>
|
9688
9864
|
</fo:inline>
|
9689
9865
|
</xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
|
9866
|
+
|
9867
|
+
<!-- list of footnotes to calculate actual footnotes number -->
|
9868
|
+
<xsl:variable name="p_fn_">
|
9869
|
+
<xsl:call-template name="get_fn_list"/>
|
9870
|
+
</xsl:variable>
|
9871
|
+
<xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
|
9872
|
+
<xsl:variable name="gen_id" select="generate-id(.)"/>
|
9873
|
+
<xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
|
9874
|
+
<!-- fn sequence number in document -->
|
9875
|
+
<xsl:variable name="current_fn_number">
|
9876
|
+
<xsl:choose>
|
9877
|
+
<xsl:when test="@current_fn_number"><xsl:value-of select="@current_fn_number"/></xsl:when> <!-- for BSI -->
|
9878
|
+
<xsl:otherwise>
|
9879
|
+
<!-- <xsl:value-of select="count($p_fn//fn[@reference = $reference]/preceding-sibling::fn) + 1" /> -->
|
9880
|
+
<xsl:value-of select="count($p_fn//fn[@gen_id = $gen_id]/preceding-sibling::fn) + 1"/>
|
9881
|
+
</xsl:otherwise>
|
9882
|
+
</xsl:choose>
|
9883
|
+
</xsl:variable>
|
9690
9884
|
<fo:footnote>
|
9691
9885
|
<xsl:variable name="number">
|
9692
9886
|
|
@@ -9695,22 +9889,26 @@
|
|
9695
9889
|
<xsl:number level="any" count="*[local-name() = 'references'][preceding-sibling::*[local-name() = 'references']]//*[local-name() = 'bibitem']/*[local-name() = 'note']"/>
|
9696
9890
|
</xsl:when>
|
9697
9891
|
<xsl:otherwise>
|
9698
|
-
<xsl:
|
9892
|
+
<xsl:value-of select="$current_fn_number"/>
|
9699
9893
|
</xsl:otherwise>
|
9700
9894
|
</xsl:choose>
|
9701
9895
|
|
9702
9896
|
</xsl:variable>
|
9897
|
+
|
9898
|
+
<xsl:variable name="current_fn_number_text">
|
9899
|
+
<xsl:value-of select="$number"/>
|
9900
|
+
|
9901
|
+
</xsl:variable>
|
9902
|
+
|
9703
9903
|
<fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
|
9704
|
-
<fo:basic-link internal-destination="{
|
9705
|
-
<xsl:value-of select="$
|
9706
|
-
|
9904
|
+
<fo:basic-link internal-destination="{$gen_id}" fox:alt-text="footnote {$number}">
|
9905
|
+
<xsl:value-of select="$current_fn_number_text"/>
|
9707
9906
|
</fo:basic-link>
|
9708
9907
|
</fo:inline>
|
9709
9908
|
<fo:footnote-body>
|
9710
9909
|
<fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
|
9711
|
-
<fo:inline id="{
|
9712
|
-
<xsl:value-of select="$
|
9713
|
-
|
9910
|
+
<fo:inline id="{$gen_id}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
|
9911
|
+
<xsl:value-of select="$current_fn_number_text"/>
|
9714
9912
|
</fo:inline>
|
9715
9913
|
<xsl:apply-templates/>
|
9716
9914
|
</fo:block>
|
@@ -9956,6 +10154,78 @@
|
|
9956
10154
|
<xsl:apply-templates/>
|
9957
10155
|
</fo:block>
|
9958
10156
|
|
10157
|
+
</xsl:template><xsl:template match="@*|node()" mode="update_xml_step1">
|
10158
|
+
<xsl:copy>
|
10159
|
+
<xsl:apply-templates select="@*|node()" mode="update_xml_step1"/>
|
10160
|
+
</xsl:copy>
|
10161
|
+
</xsl:template><xsl:template match="*[local-name() = 'preface']" mode="update_xml_step1">
|
10162
|
+
<xsl:copy>
|
10163
|
+
<xsl:copy-of select="@*"/>
|
10164
|
+
|
10165
|
+
<xsl:variable name="nodes_preface_">
|
10166
|
+
<xsl:for-each select="*">
|
10167
|
+
<node id="{@id}"/>
|
10168
|
+
</xsl:for-each>
|
10169
|
+
</xsl:variable>
|
10170
|
+
<xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
|
10171
|
+
|
10172
|
+
<xsl:for-each select="*">
|
10173
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
10174
|
+
|
10175
|
+
<!-- process Section's title -->
|
10176
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_preface/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
10177
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
10178
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="update_xml_step1"/>
|
10179
|
+
</xsl:if>
|
10180
|
+
|
10181
|
+
<xsl:choose>
|
10182
|
+
<xsl:when test="@type = 'section-title' and not(@displayorder)"><!-- skip, don't copy, because copied in above 'apply-templates' --></xsl:when>
|
10183
|
+
<xsl:otherwise>
|
10184
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
10185
|
+
</xsl:otherwise>
|
10186
|
+
</xsl:choose>
|
10187
|
+
|
10188
|
+
</xsl:for-each>
|
10189
|
+
</xsl:copy>
|
10190
|
+
</xsl:template><xsl:template match="*[local-name() = 'sections']" mode="update_xml_step1">
|
10191
|
+
<xsl:copy>
|
10192
|
+
<xsl:copy-of select="@*"/>
|
10193
|
+
|
10194
|
+
<xsl:variable name="nodes_sections_">
|
10195
|
+
<xsl:for-each select="*">
|
10196
|
+
<node id="{@id}"/>
|
10197
|
+
</xsl:for-each>
|
10198
|
+
</xsl:variable>
|
10199
|
+
<xsl:variable name="nodes_sections" select="xalan:nodeset($nodes_sections_)"/>
|
10200
|
+
|
10201
|
+
<!-- move section 'Normative references' inside 'sections' -->
|
10202
|
+
<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']]">
|
10203
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
10204
|
+
|
10205
|
+
<!-- process Section's title -->
|
10206
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_sections/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
10207
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
10208
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="update_xml_step1"/>
|
10209
|
+
</xsl:if>
|
10210
|
+
|
10211
|
+
<xsl:choose>
|
10212
|
+
<xsl:when test="@type = 'section-title' and not(@displayorder)"><!-- skip, don't copy, because copied in above 'apply-templates' --></xsl:when>
|
10213
|
+
<xsl:otherwise>
|
10214
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
10215
|
+
</xsl:otherwise>
|
10216
|
+
</xsl:choose>
|
10217
|
+
|
10218
|
+
</xsl:for-each>
|
10219
|
+
</xsl:copy>
|
10220
|
+
</xsl:template><xsl:template match="*[local-name() = 'bibliography']" mode="update_xml_step1">
|
10221
|
+
<xsl:copy>
|
10222
|
+
<xsl:copy-of select="@*"/>
|
10223
|
+
<!-- copy all elements from bibliography except 'Normative references' (moved to 'sections') -->
|
10224
|
+
<xsl:for-each select="*[not(@normative='true') and not(*[*[@normative='true']])]">
|
10225
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
10226
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
10227
|
+
</xsl:for-each>
|
10228
|
+
</xsl:copy>
|
9959
10229
|
</xsl:template><xsl:template name="convertDate">
|
9960
10230
|
<xsl:param name="date"/>
|
9961
10231
|
<xsl:param name="format" select="'short'"/>
|