metanorma-bipm 2.0.4 → 2.0.7
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 +449 -99
- data/lib/isodoc/bipm/bipm.guide.xsl +449 -99
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +449 -99
- data/lib/isodoc/bipm/bipm.rapport.xsl +449 -99
- data/lib/isodoc/bipm/jcgm.standard.xsl +423 -100
- data/lib/isodoc/bipm/presentation_xml_convert.rb +6 -6
- data/lib/metanorma/bipm/version.rb +1 -1
- data/metanorma-bipm.gemspec +1 -1
- metadata +5 -5
@@ -91,7 +91,7 @@
|
|
91
91
|
<item level="1" id="Foreword" display="true">Foreword</item>
|
92
92
|
<item id="term-script" display="false">3.2</item>
|
93
93
|
-->
|
94
|
-
<xsl:variable name="
|
94
|
+
<xsl:variable name="contents_">
|
95
95
|
|
96
96
|
<xsl:for-each select="//*[contains(local-name(), '-standard')]">
|
97
97
|
<xsl:variable name="lang" select="*[local-name()='bibdata']/*[local-name()='language'][@current = 'true']"/>
|
@@ -109,11 +109,14 @@
|
|
109
109
|
<!-- Index -->
|
110
110
|
<!-- <xsl:apply-templates select="//jcgm:clause[@type = 'index']" mode="contents"/> -->
|
111
111
|
<xsl:apply-templates select="//jcgm:indexsect" mode="contents"/>
|
112
|
+
|
113
|
+
<xsl:call-template name="processTablesFigures_Contents"/>
|
112
114
|
</contents>
|
113
115
|
</doc>
|
114
116
|
</xsl:for-each>
|
115
117
|
</xsl:for-each>
|
116
118
|
</xsl:variable>
|
119
|
+
<xsl:variable name="contents" select="xalan:nodeset($contents_)"/>
|
117
120
|
|
118
121
|
|
119
122
|
<xsl:variable name="indexes">
|
@@ -365,7 +368,7 @@
|
|
365
368
|
<xsl:if test="$debug = 'true'">
|
366
369
|
<xsl:text disable-output-escaping="yes"><!--</xsl:text>
|
367
370
|
DEBUG
|
368
|
-
contents=<xsl:copy-of select="
|
371
|
+
contents=<xsl:copy-of select="$contents"/>
|
369
372
|
<xsl:text disable-output-escaping="yes">--></xsl:text>
|
370
373
|
</xsl:if>
|
371
374
|
|
@@ -375,7 +378,7 @@
|
|
375
378
|
</xsl:call-template>
|
376
379
|
</xsl:variable>
|
377
380
|
|
378
|
-
<xsl:for-each select="
|
381
|
+
<xsl:for-each select="$contents/doc[@id=$docid]//item[@display = 'true']"> <!-- and not (@type = 'annex') and not (@type = 'references') -->
|
379
382
|
<xsl:if test="@type = 'annex' and not(preceding-sibling::item[@display = 'true' and @type = 'annex'])">
|
380
383
|
<fo:block font-size="12pt" space-before="16pt" font-weight="bold" role="TOCI">
|
381
384
|
<xsl:value-of select="$annexes_title"/>
|
@@ -383,6 +386,27 @@
|
|
383
386
|
</xsl:if>
|
384
387
|
<xsl:call-template name="print_JCGN_toc_item"/>
|
385
388
|
</xsl:for-each>
|
389
|
+
|
390
|
+
<!-- List of Tables -->
|
391
|
+
<xsl:if test="$contents//tables/table">
|
392
|
+
<xsl:call-template name="insertListOf_Title">
|
393
|
+
<xsl:with-param name="title" select="$title-list-tables"/>
|
394
|
+
</xsl:call-template>
|
395
|
+
<xsl:for-each select="$contents//tables/table">
|
396
|
+
<xsl:call-template name="insertListOf_Item"/>
|
397
|
+
</xsl:for-each>
|
398
|
+
</xsl:if>
|
399
|
+
|
400
|
+
<!-- List of Figures -->
|
401
|
+
<xsl:if test="$contents//figures/figure">
|
402
|
+
<xsl:call-template name="insertListOf_Title">
|
403
|
+
<xsl:with-param name="title" select="$title-list-figures"/>
|
404
|
+
</xsl:call-template>
|
405
|
+
<xsl:for-each select="$contents//figures/figure">
|
406
|
+
<xsl:call-template name="insertListOf_Item"/>
|
407
|
+
</xsl:for-each>
|
408
|
+
</xsl:if>
|
409
|
+
|
386
410
|
</fo:block>
|
387
411
|
</fo:block-container>
|
388
412
|
|
@@ -529,6 +553,32 @@
|
|
529
553
|
</fo:root>
|
530
554
|
</xsl:template>
|
531
555
|
|
556
|
+
<xsl:template name="insertListOf_Title">
|
557
|
+
<xsl:param name="title"/>
|
558
|
+
<fo:block font-weight="bold" margin-top="12pt" keep-with-next="always">
|
559
|
+
<xsl:value-of select="$title"/>
|
560
|
+
</fo:block>
|
561
|
+
</xsl:template>
|
562
|
+
|
563
|
+
<xsl:template name="insertListOf_Item">
|
564
|
+
<fo:block margin-left="5mm" role="TOCI">
|
565
|
+
<fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
|
566
|
+
<fo:basic-link internal-destination="{@id}">
|
567
|
+
<xsl:call-template name="setAltText">
|
568
|
+
<xsl:with-param name="value" select="@alt-text"/>
|
569
|
+
</xsl:call-template>
|
570
|
+
<fo:inline>
|
571
|
+
<xsl:apply-templates select="." mode="contents"/>
|
572
|
+
</fo:inline>
|
573
|
+
<xsl:text> </xsl:text>
|
574
|
+
<fo:inline keep-together.within-line="always" font-weight="normal">
|
575
|
+
<fo:leader font-size="9pt" leader-pattern="dots"/>
|
576
|
+
<fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
|
577
|
+
</fo:inline>
|
578
|
+
</fo:basic-link>
|
579
|
+
</fo:block>
|
580
|
+
</fo:block>
|
581
|
+
</xsl:template>
|
532
582
|
|
533
583
|
<xsl:template match="node()">
|
534
584
|
<xsl:apply-templates/>
|
@@ -1754,7 +1804,7 @@
|
|
1754
1804
|
<xsl:text>Contents</xsl:text>
|
1755
1805
|
|
1756
1806
|
</title-toc>
|
1757
|
-
|
1807
|
+
|
1758
1808
|
<title-descriptors lang="en">Descriptors</title-descriptors>
|
1759
1809
|
|
1760
1810
|
<title-part lang="en">
|
@@ -1790,7 +1840,31 @@
|
|
1790
1840
|
<title-continued lang="en">(continued)</title-continued>
|
1791
1841
|
<title-continued lang="fr">(continué)</title-continued>
|
1792
1842
|
|
1793
|
-
</xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="
|
1843
|
+
</xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="title-list-tables">
|
1844
|
+
<xsl:variable name="toc_table_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']"/>
|
1845
|
+
<xsl:value-of select="$toc_table_title"/>
|
1846
|
+
<xsl:if test="normalize-space($toc_table_title) = ''">
|
1847
|
+
<xsl:call-template name="getTitle">
|
1848
|
+
<xsl:with-param name="name" select="'title-list-tables'"/>
|
1849
|
+
</xsl:call-template>
|
1850
|
+
</xsl:if>
|
1851
|
+
</xsl:variable><xsl:variable name="title-list-figures">
|
1852
|
+
<xsl:variable name="toc_figure_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']"/>
|
1853
|
+
<xsl:value-of select="$toc_figure_title"/>
|
1854
|
+
<xsl:if test="normalize-space($toc_figure_title) = ''">
|
1855
|
+
<xsl:call-template name="getTitle">
|
1856
|
+
<xsl:with-param name="name" select="'title-list-figures'"/>
|
1857
|
+
</xsl:call-template>
|
1858
|
+
</xsl:if>
|
1859
|
+
</xsl:variable><xsl:variable name="title-list-recommendations">
|
1860
|
+
<xsl:variable name="toc_requirement_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='requirement']/*[local-name() = 'title']"/>
|
1861
|
+
<xsl:value-of select="$toc_requirement_title"/>
|
1862
|
+
<xsl:if test="normalize-space($toc_requirement_title) = ''">
|
1863
|
+
<xsl:call-template name="getTitle">
|
1864
|
+
<xsl:with-param name="name" select="'title-list-recommendations'"/>
|
1865
|
+
</xsl:call-template>
|
1866
|
+
</xsl:if>
|
1867
|
+
</xsl:variable><xsl:variable name="bibdata">
|
1794
1868
|
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
|
1795
1869
|
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
|
1796
1870
|
</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">
|
@@ -3040,6 +3114,30 @@
|
|
3040
3114
|
<xsl:sort select="@displayorder" data-type="number"/>
|
3041
3115
|
<xsl:apply-templates select="." mode="contents"/>
|
3042
3116
|
</xsl:for-each>
|
3117
|
+
</xsl:template><xsl:template name="processTablesFigures_Contents">
|
3118
|
+
<xsl:param name="always"/>
|
3119
|
+
<xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
|
3120
|
+
<xsl:call-template name="processTables_Contents"/>
|
3121
|
+
</xsl:if>
|
3122
|
+
<xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
|
3123
|
+
<xsl:call-template name="processFigures_Contents"/>
|
3124
|
+
</xsl:if>
|
3125
|
+
</xsl:template><xsl:template name="processTables_Contents">
|
3126
|
+
<tables>
|
3127
|
+
<xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name'] and normalize-space(@id) != '']">
|
3128
|
+
<table id="{@id}" alt-text="{*[local-name() = 'name']}">
|
3129
|
+
<xsl:copy-of select="*[local-name() = 'name']"/>
|
3130
|
+
</table>
|
3131
|
+
</xsl:for-each>
|
3132
|
+
</tables>
|
3133
|
+
</xsl:template><xsl:template name="processFigures_Contents">
|
3134
|
+
<figures>
|
3135
|
+
<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) != '']">
|
3136
|
+
<figure id="{@id}" alt-text="{*[local-name() = 'name']}">
|
3137
|
+
<xsl:copy-of select="*[local-name() = 'name']"/>
|
3138
|
+
</figure>
|
3139
|
+
</xsl:for-each>
|
3140
|
+
</figures>
|
3043
3141
|
</xsl:template><xsl:template name="processPrefaceSectionsDefault">
|
3044
3142
|
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
3045
3143
|
<xsl:sort select="@displayorder" data-type="number"/>
|
@@ -3061,8 +3159,27 @@
|
|
3061
3159
|
<xsl:sort select="@displayorder" data-type="number"/>
|
3062
3160
|
<xsl:apply-templates select="."/>
|
3063
3161
|
</xsl:for-each>
|
3064
|
-
</xsl:template><xsl:template match="text()">
|
3065
|
-
<xsl:
|
3162
|
+
</xsl:template><xsl:variable name="tag_open">###fo:inline###</xsl:variable><xsl:variable name="tag_close">###/fo:inline###</xsl:variable><xsl:template match="text()" name="text">
|
3163
|
+
<xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
|
3164
|
+
<xsl:variable name="text" select="java:replaceAll(java:java.lang.String.new(.),$regex_standard_reference,concat($tag_open,'$1',$tag_close))"/>
|
3165
|
+
<xsl:call-template name="replace_fo_inline">
|
3166
|
+
<xsl:with-param name="text" select="$text"/>
|
3167
|
+
</xsl:call-template>
|
3168
|
+
</xsl:template><xsl:template name="replace_fo_inline">
|
3169
|
+
<xsl:param name="text"/>
|
3170
|
+
<xsl:choose>
|
3171
|
+
<xsl:when test="contains($text, $tag_open)">
|
3172
|
+
<xsl:value-of select="substring-before($text, $tag_open)"/>
|
3173
|
+
<xsl:text disable-output-escaping="yes"><fo:inline keep-together.within-line="always"></xsl:text>
|
3174
|
+
<xsl:variable name="text_after" select="substring-after($text, $tag_open)"/>
|
3175
|
+
<xsl:value-of select="substring-before($text_after, $tag_close)"/>
|
3176
|
+
<xsl:text disable-output-escaping="yes"></fo:inline></xsl:text>
|
3177
|
+
<xsl:call-template name="replace_fo_inline">
|
3178
|
+
<xsl:with-param name="text" select="substring-after($text_after, $tag_close)"/>
|
3179
|
+
</xsl:call-template>
|
3180
|
+
</xsl:when>
|
3181
|
+
<xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
|
3182
|
+
</xsl:choose>
|
3066
3183
|
</xsl:template><xsl:template match="*[local-name()='br']">
|
3067
3184
|
<xsl:value-of select="$linebreak"/>
|
3068
3185
|
</xsl:template><xsl:template match="*[local-name()='copyright-statement']">
|
@@ -3890,37 +4007,7 @@
|
|
3890
4007
|
|
3891
4008
|
<!-- list of footnotes to calculate actual footnotes number -->
|
3892
4009
|
<xsl:variable name="p_fn_">
|
3893
|
-
<xsl:
|
3894
|
-
<xsl:when test="@current_fn_number"> <!-- for BSI, footnote reference number calculated already -->
|
3895
|
-
<fn gen_id="{generate-id(.)}">
|
3896
|
-
<xsl:copy-of select="@*"/>
|
3897
|
-
<xsl:copy-of select="node()"/>
|
3898
|
-
</fn>
|
3899
|
-
</xsl:when>
|
3900
|
-
<xsl:otherwise>
|
3901
|
-
<!-- itetation for:
|
3902
|
-
footnotes in bibdata/title
|
3903
|
-
footnotes in bibliography
|
3904
|
-
footnotes in document's body (except table's head/body/foot and figure text)
|
3905
|
-
-->
|
3906
|
-
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'note'][@type='title-footnote']">
|
3907
|
-
<fn gen_id="{generate-id(.)}">
|
3908
|
-
<xsl:copy-of select="@*"/>
|
3909
|
-
<xsl:copy-of select="node()"/>
|
3910
|
-
</fn>
|
3911
|
-
</xsl:for-each>
|
3912
|
-
<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']/*">
|
3913
|
-
<xsl:sort select="@displayorder" data-type="number"/>
|
3914
|
-
<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])]">
|
3915
|
-
<!-- copy unique fn -->
|
3916
|
-
<fn gen_id="{generate-id(.)}">
|
3917
|
-
<xsl:copy-of select="@*"/>
|
3918
|
-
<xsl:copy-of select="node()"/>
|
3919
|
-
</fn>
|
3920
|
-
</xsl:for-each>
|
3921
|
-
</xsl:for-each>
|
3922
|
-
</xsl:otherwise>
|
3923
|
-
</xsl:choose>
|
4010
|
+
<xsl:call-template name="get_fn_list"/>
|
3924
4011
|
</xsl:variable>
|
3925
4012
|
<xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
|
3926
4013
|
|
@@ -3981,6 +4068,38 @@
|
|
3981
4068
|
<xsl:copy-of select="$footnote_inline"/>
|
3982
4069
|
</xsl:otherwise>
|
3983
4070
|
</xsl:choose>
|
4071
|
+
</xsl:template><xsl:template name="get_fn_list">
|
4072
|
+
<xsl:choose>
|
4073
|
+
<xsl:when test="@current_fn_number"> <!-- for BSI, footnote reference number calculated already -->
|
4074
|
+
<fn gen_id="{generate-id(.)}">
|
4075
|
+
<xsl:copy-of select="@*"/>
|
4076
|
+
<xsl:copy-of select="node()"/>
|
4077
|
+
</fn>
|
4078
|
+
</xsl:when>
|
4079
|
+
<xsl:otherwise>
|
4080
|
+
<!-- itetation for:
|
4081
|
+
footnotes in bibdata/title
|
4082
|
+
footnotes in bibliography
|
4083
|
+
footnotes in document's body (except table's head/body/foot and figure text)
|
4084
|
+
-->
|
4085
|
+
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'note'][@type='title-footnote']">
|
4086
|
+
<fn gen_id="{generate-id(.)}">
|
4087
|
+
<xsl:copy-of select="@*"/>
|
4088
|
+
<xsl:copy-of select="node()"/>
|
4089
|
+
</fn>
|
4090
|
+
</xsl:for-each>
|
4091
|
+
<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']/*">
|
4092
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
4093
|
+
<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])]">
|
4094
|
+
<!-- copy unique fn -->
|
4095
|
+
<fn gen_id="{generate-id(.)}">
|
4096
|
+
<xsl:copy-of select="@*"/>
|
4097
|
+
<xsl:copy-of select="node()"/>
|
4098
|
+
</fn>
|
4099
|
+
</xsl:for-each>
|
4100
|
+
</xsl:for-each>
|
4101
|
+
</xsl:otherwise>
|
4102
|
+
</xsl:choose>
|
3984
4103
|
</xsl:template><xsl:template name="table_fn_display">
|
3985
4104
|
<xsl:variable name="references">
|
3986
4105
|
|
@@ -4157,7 +4276,7 @@
|
|
4157
4276
|
</fo:inline>
|
4158
4277
|
</xsl:template><xsl:template match="*[local-name()='fn']/text()[normalize-space() != '']">
|
4159
4278
|
<fo:inline><xsl:value-of select="."/></fo:inline>
|
4160
|
-
</xsl:template><xsl:template match="*[local-name()='fn']
|
4279
|
+
</xsl:template><xsl:template match="*[local-name()='fn']//*[local-name()='p']">
|
4161
4280
|
<fo:inline>
|
4162
4281
|
<xsl:apply-templates/>
|
4163
4282
|
</fo:inline>
|
@@ -5859,13 +5978,14 @@
|
|
5859
5978
|
<xsl:apply-templates mode="bookmarks"/>
|
5860
5979
|
</xsl:template><xsl:template name="addBookmarks">
|
5861
5980
|
<xsl:param name="contents"/>
|
5862
|
-
<xsl:
|
5981
|
+
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
5982
|
+
<xsl:if test="$contents_nodes//item">
|
5863
5983
|
<fo:bookmark-tree>
|
5864
5984
|
<xsl:choose>
|
5865
|
-
<xsl:when test="
|
5985
|
+
<xsl:when test="$contents_nodes/doc">
|
5866
5986
|
<xsl:choose>
|
5867
|
-
<xsl:when test="count(
|
5868
|
-
<xsl:for-each select="
|
5987
|
+
<xsl:when test="count($contents_nodes/doc) > 1">
|
5988
|
+
<xsl:for-each select="$contents_nodes/doc">
|
5869
5989
|
<fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide">
|
5870
5990
|
<xsl:if test="@bundle = 'true'">
|
5871
5991
|
<xsl:attribute name="internal-destination"><xsl:value-of select="@firstpage_id"/></xsl:attribute>
|
@@ -5916,7 +6036,7 @@
|
|
5916
6036
|
</xsl:for-each>
|
5917
6037
|
</xsl:when>
|
5918
6038
|
<xsl:otherwise>
|
5919
|
-
<xsl:for-each select="
|
6039
|
+
<xsl:for-each select="$contents_nodes/doc">
|
5920
6040
|
|
5921
6041
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
5922
6042
|
|
@@ -5934,25 +6054,36 @@
|
|
5934
6054
|
</xsl:choose>
|
5935
6055
|
</xsl:when>
|
5936
6056
|
<xsl:otherwise>
|
5937
|
-
<xsl:apply-templates select="
|
6057
|
+
<xsl:apply-templates select="$contents_nodes/contents/item" mode="bookmark"/>
|
6058
|
+
|
6059
|
+
<xsl:call-template name="insertFigureBookmarks">
|
6060
|
+
<xsl:with-param name="contents" select="$contents_nodes/contents"/>
|
6061
|
+
</xsl:call-template>
|
6062
|
+
|
6063
|
+
<xsl:call-template name="insertTableBookmarks">
|
6064
|
+
<xsl:with-param name="contents" select="$contents_nodes/contents"/>
|
6065
|
+
<xsl:with-param name="lang" select="@lang"/>
|
6066
|
+
</xsl:call-template>
|
6067
|
+
|
5938
6068
|
</xsl:otherwise>
|
5939
6069
|
</xsl:choose>
|
5940
6070
|
|
6071
|
+
|
5941
6072
|
|
5942
6073
|
|
5943
6074
|
|
5944
6075
|
|
5945
|
-
|
5946
|
-
|
6076
|
+
|
5947
6077
|
|
5948
6078
|
</fo:bookmark-tree>
|
5949
6079
|
</xsl:if>
|
5950
6080
|
</xsl:template><xsl:template name="insertFigureBookmarks">
|
5951
6081
|
<xsl:param name="contents"/>
|
5952
|
-
<xsl:
|
5953
|
-
|
6082
|
+
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
6083
|
+
<xsl:if test="$contents_nodes/figure">
|
6084
|
+
<fo:bookmark internal-destination="{$contents_nodes/figure[1]/@id}" starting-state="hide">
|
5954
6085
|
<fo:bookmark-title>Figures</fo:bookmark-title>
|
5955
|
-
<xsl:for-each select="
|
6086
|
+
<xsl:for-each select="$contents_nodes/figure">
|
5956
6087
|
<fo:bookmark internal-destination="{@id}">
|
5957
6088
|
<fo:bookmark-title>
|
5958
6089
|
<xsl:value-of select="normalize-space(title)"/>
|
@@ -5961,18 +6092,40 @@
|
|
5961
6092
|
</xsl:for-each>
|
5962
6093
|
</fo:bookmark>
|
5963
6094
|
</xsl:if>
|
6095
|
+
|
6096
|
+
|
6097
|
+
<xsl:if test="$contents_nodes//figures/figure">
|
6098
|
+
<fo:bookmark internal-destination="empty_bookmark" starting-state="hide">
|
6099
|
+
|
6100
|
+
|
6101
|
+
|
6102
|
+
<xsl:variable name="bookmark-title">
|
6103
|
+
|
6104
|
+
<xsl:value-of select="$title-list-figures"/>
|
6105
|
+
|
6106
|
+
</xsl:variable>
|
6107
|
+
<fo:bookmark-title><xsl:value-of select="normalize-space($bookmark-title)"/></fo:bookmark-title>
|
6108
|
+
<xsl:for-each select="$contents_nodes//figures/figure">
|
6109
|
+
<fo:bookmark internal-destination="{@id}">
|
6110
|
+
<fo:bookmark-title><xsl:value-of select="normalize-space(.)"/></fo:bookmark-title>
|
6111
|
+
</fo:bookmark>
|
6112
|
+
</xsl:for-each>
|
6113
|
+
</fo:bookmark>
|
6114
|
+
</xsl:if>
|
6115
|
+
|
5964
6116
|
</xsl:template><xsl:template name="insertTableBookmarks">
|
5965
6117
|
<xsl:param name="contents"/>
|
5966
6118
|
<xsl:param name="lang"/>
|
5967
|
-
<xsl:
|
5968
|
-
|
6119
|
+
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
6120
|
+
<xsl:if test="$contents_nodes/table">
|
6121
|
+
<fo:bookmark internal-destination="{$contents_nodes/table[1]/@id}" starting-state="hide">
|
5969
6122
|
<fo:bookmark-title>
|
5970
6123
|
<xsl:choose>
|
5971
6124
|
<xsl:when test="$lang = 'fr'">Tableaux</xsl:when>
|
5972
6125
|
<xsl:otherwise>Tables</xsl:otherwise>
|
5973
6126
|
</xsl:choose>
|
5974
6127
|
</fo:bookmark-title>
|
5975
|
-
<xsl:for-each select="
|
6128
|
+
<xsl:for-each select="$contents_nodes/table">
|
5976
6129
|
<fo:bookmark internal-destination="{@id}">
|
5977
6130
|
<fo:bookmark-title>
|
5978
6131
|
<xsl:value-of select="normalize-space(title)"/>
|
@@ -5981,6 +6134,29 @@
|
|
5981
6134
|
</xsl:for-each>
|
5982
6135
|
</fo:bookmark>
|
5983
6136
|
</xsl:if>
|
6137
|
+
|
6138
|
+
|
6139
|
+
<xsl:if test="$contents_nodes//tables/table">
|
6140
|
+
<fo:bookmark internal-destination="empty_bookmark" starting-state="hide">
|
6141
|
+
|
6142
|
+
|
6143
|
+
|
6144
|
+
<xsl:variable name="bookmark-title">
|
6145
|
+
|
6146
|
+
<xsl:value-of select="$title-list-tables"/>
|
6147
|
+
|
6148
|
+
</xsl:variable>
|
6149
|
+
|
6150
|
+
<fo:bookmark-title><xsl:value-of select="$bookmark-title"/></fo:bookmark-title>
|
6151
|
+
|
6152
|
+
<xsl:for-each select="$contents_nodes//tables/table">
|
6153
|
+
<fo:bookmark internal-destination="{@id}">
|
6154
|
+
<fo:bookmark-title><xsl:value-of select="normalize-space(.)"/></fo:bookmark-title>
|
6155
|
+
</fo:bookmark>
|
6156
|
+
</xsl:for-each>
|
6157
|
+
</fo:bookmark>
|
6158
|
+
</xsl:if>
|
6159
|
+
|
5984
6160
|
</xsl:template><xsl:template name="getLangVersion">
|
5985
6161
|
<xsl:param name="lang"/>
|
5986
6162
|
<xsl:param name="doctype" select="''"/>
|
@@ -6205,7 +6381,51 @@
|
|
6205
6381
|
<xsl:with-param name="text" select="$text_step1"/>
|
6206
6382
|
</xsl:call-template>
|
6207
6383
|
</xsl:variable>
|
6208
|
-
|
6384
|
+
|
6385
|
+
<!-- <xsl:value-of select="$text_step2"/> -->
|
6386
|
+
|
6387
|
+
<!-- add zero-width space after space -->
|
6388
|
+
<xsl:variable name="text_step3" select="java:replaceAll(java:java.lang.String.new($text_step2),' ',' ')"/>
|
6389
|
+
|
6390
|
+
<!-- split text by zero-width space -->
|
6391
|
+
<xsl:variable name="text_step4">
|
6392
|
+
<xsl:call-template name="split">
|
6393
|
+
<xsl:with-param name="pText" select="$text_step3"/>
|
6394
|
+
<xsl:with-param name="sep" select="$zero_width_space"/>
|
6395
|
+
<xsl:with-param name="normalize-space">false</xsl:with-param>
|
6396
|
+
<xsl:with-param name="keep_sep">true</xsl:with-param>
|
6397
|
+
</xsl:call-template>
|
6398
|
+
</xsl:variable>
|
6399
|
+
|
6400
|
+
<xsl:for-each select="xalan:nodeset($text_step4)/item">
|
6401
|
+
<xsl:choose>
|
6402
|
+
<xsl:when test="string-length() > 30"> <!-- word with length more than 30 will be interspersed with zero-width space -->
|
6403
|
+
<xsl:call-template name="interspers">
|
6404
|
+
<xsl:with-param name="str" select="."/>
|
6405
|
+
</xsl:call-template>
|
6406
|
+
</xsl:when>
|
6407
|
+
<xsl:otherwise>
|
6408
|
+
<xsl:value-of select="."/>
|
6409
|
+
</xsl:otherwise>
|
6410
|
+
</xsl:choose>
|
6411
|
+
</xsl:for-each>
|
6412
|
+
|
6413
|
+
</xsl:template><xsl:template name="interspers">
|
6414
|
+
<xsl:param name="str"/>
|
6415
|
+
<xsl:param name="char" select="$zero_width_space"/>
|
6416
|
+
<xsl:if test="$str != ''">
|
6417
|
+
<xsl:value-of select="substring($str, 1, 1)"/>
|
6418
|
+
|
6419
|
+
<xsl:variable name="next_char" select="substring($str, 2, 1)"/>
|
6420
|
+
<xsl:if test="not(contains(concat(' -.:=_— ', $char), $next_char))">
|
6421
|
+
<xsl:value-of select="$char"/>
|
6422
|
+
</xsl:if>
|
6423
|
+
|
6424
|
+
<xsl:call-template name="interspers">
|
6425
|
+
<xsl:with-param name="str" select="substring($str, 2)"/>
|
6426
|
+
<xsl:with-param name="char" select="$char"/>
|
6427
|
+
</xsl:call-template>
|
6428
|
+
</xsl:if>
|
6209
6429
|
</xsl:template><xsl:template match="*" mode="syntax_highlight">
|
6210
6430
|
<xsl:apply-templates mode="syntax_highlight"/>
|
6211
6431
|
</xsl:template><xsl:variable name="syntax_highlight_styles_">
|
@@ -6586,7 +6806,7 @@
|
|
6586
6806
|
<xsl:variable name="element">
|
6587
6807
|
|
6588
6808
|
<xsl:choose>
|
6589
|
-
<xsl:when test="$num = 1">inline</xsl:when>
|
6809
|
+
<xsl:when test="$num = 1 and not(contains($fo_element, 'block'))">inline</xsl:when>
|
6590
6810
|
<xsl:otherwise>block</xsl:otherwise>
|
6591
6811
|
</xsl:choose>
|
6592
6812
|
|
@@ -6642,6 +6862,8 @@
|
|
6642
6862
|
</xsl:otherwise>
|
6643
6863
|
</xsl:choose> -->
|
6644
6864
|
</fo:block>
|
6865
|
+
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()[starts-with(., '[SOURCE: Adapted from: ')]" priority="2">
|
6866
|
+
<xsl:text>[</xsl:text><xsl:value-of select="substring-after(., '[SOURCE: ')"/>
|
6645
6867
|
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
|
6646
6868
|
<xsl:if test="normalize-space() != ''">
|
6647
6869
|
<xsl:value-of select="."/>
|
@@ -6676,7 +6898,8 @@
|
|
6676
6898
|
<fo:inline><xsl:apply-templates/></fo:inline>
|
6677
6899
|
</xsl:template><xsl:template match="*[local-name() = 'modification']/text()">
|
6678
6900
|
<xsl:if test="normalize-space() != ''">
|
6679
|
-
<xsl:value-of select="."/>
|
6901
|
+
<!-- <xsl:value-of select="."/> -->
|
6902
|
+
<xsl:call-template name="text"/>
|
6680
6903
|
</xsl:if>
|
6681
6904
|
</xsl:template><xsl:template match="*[local-name() = 'quote']">
|
6682
6905
|
<fo:block-container margin-left="0mm">
|
@@ -6726,26 +6949,24 @@
|
|
6726
6949
|
</xsl:template><xsl:template match="*[local-name() = 'author']">
|
6727
6950
|
<xsl:text>— </xsl:text>
|
6728
6951
|
<xsl:apply-templates/>
|
6729
|
-
</xsl:template><xsl:variable name="
|
6952
|
+
</xsl:template><xsl:variable name="bibitems_">
|
6953
|
+
<xsl:for-each select="//*[local-name() = 'bibitem']">
|
6954
|
+
<xsl:copy-of select="."/>
|
6955
|
+
</xsl:for-each>
|
6956
|
+
</xsl:variable><xsl:variable name="bibitems" select="xalan:nodeset($bibitems_)"/><xsl:variable name="bibitems_hidden_">
|
6730
6957
|
<xsl:for-each select="//*[local-name() = 'bibitem'][@hidden='true']">
|
6731
6958
|
<xsl:copy-of select="."/>
|
6732
6959
|
</xsl:for-each>
|
6733
|
-
<xsl:for-each select="//*[local-name() = 'references'][@hidden='true']
|
6960
|
+
<xsl:for-each select="//*[local-name() = 'references'][@hidden='true']//*[local-name() = 'bibitem']">
|
6734
6961
|
<xsl:copy-of select="."/>
|
6735
6962
|
</xsl:for-each>
|
6736
|
-
</xsl:variable><xsl:variable name="
|
6737
|
-
|
6738
|
-
<xsl:variable name="
|
6739
|
-
|
6740
|
-
<!-- <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"></xsl:when>
|
6741
|
-
<xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"></xsl:when> -->
|
6742
|
-
<xsl:when test="$bibitem_hidden/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
|
6743
|
-
<xsl:otherwise><xsl:value-of select="@bibitemid"/></xsl:otherwise>
|
6744
|
-
</xsl:choose>
|
6745
|
-
</xsl:variable>
|
6746
|
-
|
6963
|
+
</xsl:variable><xsl:variable name="bibitems_hidden" select="xalan:nodeset($bibitems_hidden_)"/><xsl:template match="*[local-name() = 'eref']">
|
6964
|
+
<xsl:variable name="current_bibitemid" select="@bibitemid"/>
|
6965
|
+
<!-- <xsl:variable name="external-destination" select="normalize-space(key('bibitems', $current_bibitemid)/*[local-name() = 'uri'][@type = 'citation'])"/> -->
|
6966
|
+
<xsl:variable name="external-destination" select="normalize-space($bibitems/*[local-name() ='bibitem'][@id = $current_bibitemid]/*[local-name() = 'uri'][@type = 'citation'])"/>
|
6747
6967
|
<xsl:choose>
|
6748
|
-
<xsl:when test="
|
6968
|
+
<!-- <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) -->
|
6969
|
+
<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) -->
|
6749
6970
|
<fo:inline xsl:use-attribute-sets="eref-style">
|
6750
6971
|
<xsl:if test="@type = 'footnote'">
|
6751
6972
|
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
@@ -6759,8 +6980,8 @@
|
|
6759
6980
|
<xsl:variable name="text" select="normalize-space()"/>
|
6760
6981
|
|
6761
6982
|
|
6762
|
-
|
6763
|
-
<fo:basic-link
|
6983
|
+
|
6984
|
+
<fo:basic-link fox:alt-text="{@citeas}">
|
6764
6985
|
<xsl:if test="normalize-space(@citeas) = ''">
|
6765
6986
|
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
6766
6987
|
</xsl:if>
|
@@ -6770,14 +6991,21 @@
|
|
6770
6991
|
|
6771
6992
|
</xsl:if>
|
6772
6993
|
|
6773
|
-
|
6994
|
+
<xsl:choose>
|
6995
|
+
<xsl:when test="$external-destination != ''"> <!-- external hyperlink -->
|
6996
|
+
<xsl:attribute name="external-destination"><xsl:value-of select="$external-destination"/></xsl:attribute>
|
6997
|
+
</xsl:when>
|
6998
|
+
<xsl:otherwise>
|
6999
|
+
<xsl:attribute name="internal-destination"><xsl:value-of select="@bibitemid"/></xsl:attribute>
|
7000
|
+
</xsl:otherwise>
|
7001
|
+
</xsl:choose>
|
6774
7002
|
|
6775
7003
|
<xsl:apply-templates/>
|
6776
7004
|
</fo:basic-link>
|
6777
|
-
|
7005
|
+
|
6778
7006
|
</fo:inline>
|
6779
7007
|
</xsl:when>
|
6780
|
-
<xsl:otherwise>
|
7008
|
+
<xsl:otherwise> <!-- if there is key('bibitems_hidden', $current_bibitemid) -->
|
6781
7009
|
<fo:inline><xsl:apply-templates/></fo:inline>
|
6782
7010
|
</xsl:otherwise>
|
6783
7011
|
</xsl:choose>
|
@@ -7514,27 +7742,47 @@
|
|
7514
7742
|
<xsl:apply-templates/>
|
7515
7743
|
</fo:inline>
|
7516
7744
|
</xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
|
7745
|
+
|
7746
|
+
<!-- list of footnotes to calculate actual footnotes number -->
|
7747
|
+
<xsl:variable name="p_fn_">
|
7748
|
+
<xsl:call-template name="get_fn_list"/>
|
7749
|
+
</xsl:variable>
|
7750
|
+
<xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
|
7751
|
+
<xsl:variable name="gen_id" select="generate-id(.)"/>
|
7752
|
+
<xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
|
7753
|
+
<!-- fn sequence number in document -->
|
7754
|
+
<xsl:variable name="current_fn_number">
|
7755
|
+
<xsl:choose>
|
7756
|
+
<xsl:when test="@current_fn_number"><xsl:value-of select="@current_fn_number"/></xsl:when> <!-- for BSI -->
|
7757
|
+
<xsl:otherwise>
|
7758
|
+
<!-- <xsl:value-of select="count($p_fn//fn[@reference = $reference]/preceding-sibling::fn) + 1" /> -->
|
7759
|
+
<xsl:value-of select="count($p_fn//fn[@gen_id = $gen_id]/preceding-sibling::fn) + 1"/>
|
7760
|
+
</xsl:otherwise>
|
7761
|
+
</xsl:choose>
|
7762
|
+
</xsl:variable>
|
7517
7763
|
<fo:footnote>
|
7518
7764
|
<xsl:variable name="number">
|
7519
7765
|
|
7520
|
-
<xsl:
|
7766
|
+
<xsl:value-of select="$current_fn_number"/>
|
7521
7767
|
|
7522
7768
|
</xsl:variable>
|
7523
|
-
|
7524
|
-
|
7525
|
-
|
7526
|
-
|
7769
|
+
|
7770
|
+
<xsl:variable name="current_fn_number_text">
|
7771
|
+
<xsl:value-of select="$number"/>
|
7772
|
+
|
7527
7773
|
<xsl:text>)</xsl:text>
|
7528
7774
|
|
7775
|
+
</xsl:variable>
|
7776
|
+
|
7777
|
+
<fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
|
7778
|
+
<fo:basic-link internal-destination="{$gen_id}" fox:alt-text="footnote {$number}">
|
7779
|
+
<xsl:value-of select="$current_fn_number_text"/>
|
7529
7780
|
</fo:basic-link>
|
7530
7781
|
</fo:inline>
|
7531
7782
|
<fo:footnote-body>
|
7532
7783
|
<fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
|
7533
|
-
<fo:inline id="{
|
7534
|
-
<xsl:value-of select="$
|
7535
|
-
|
7536
|
-
<xsl:text>)</xsl:text>
|
7537
|
-
|
7784
|
+
<fo:inline id="{$gen_id}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
|
7785
|
+
<xsl:value-of select="$current_fn_number_text"/>
|
7538
7786
|
</fo:inline>
|
7539
7787
|
<xsl:apply-templates/>
|
7540
7788
|
</fo:block>
|
@@ -7774,6 +8022,78 @@
|
|
7774
8022
|
<xsl:apply-templates/>
|
7775
8023
|
</fo:block>
|
7776
8024
|
|
8025
|
+
</xsl:template><xsl:template match="@*|node()" mode="update_xml_step1">
|
8026
|
+
<xsl:copy>
|
8027
|
+
<xsl:apply-templates select="@*|node()" mode="update_xml_step1"/>
|
8028
|
+
</xsl:copy>
|
8029
|
+
</xsl:template><xsl:template match="*[local-name() = 'preface']" mode="update_xml_step1">
|
8030
|
+
<xsl:copy>
|
8031
|
+
<xsl:copy-of select="@*"/>
|
8032
|
+
|
8033
|
+
<xsl:variable name="nodes_preface_">
|
8034
|
+
<xsl:for-each select="*">
|
8035
|
+
<node id="{@id}"/>
|
8036
|
+
</xsl:for-each>
|
8037
|
+
</xsl:variable>
|
8038
|
+
<xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
|
8039
|
+
|
8040
|
+
<xsl:for-each select="*">
|
8041
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
8042
|
+
|
8043
|
+
<!-- process Section's title -->
|
8044
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_preface/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
8045
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
8046
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="update_xml_step1"/>
|
8047
|
+
</xsl:if>
|
8048
|
+
|
8049
|
+
<xsl:choose>
|
8050
|
+
<xsl:when test="@type = 'section-title' and not(@displayorder)"><!-- skip, don't copy, because copied in above 'apply-templates' --></xsl:when>
|
8051
|
+
<xsl:otherwise>
|
8052
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
8053
|
+
</xsl:otherwise>
|
8054
|
+
</xsl:choose>
|
8055
|
+
|
8056
|
+
</xsl:for-each>
|
8057
|
+
</xsl:copy>
|
8058
|
+
</xsl:template><xsl:template match="*[local-name() = 'sections']" mode="update_xml_step1">
|
8059
|
+
<xsl:copy>
|
8060
|
+
<xsl:copy-of select="@*"/>
|
8061
|
+
|
8062
|
+
<xsl:variable name="nodes_sections_">
|
8063
|
+
<xsl:for-each select="*">
|
8064
|
+
<node id="{@id}"/>
|
8065
|
+
</xsl:for-each>
|
8066
|
+
</xsl:variable>
|
8067
|
+
<xsl:variable name="nodes_sections" select="xalan:nodeset($nodes_sections_)"/>
|
8068
|
+
|
8069
|
+
<!-- move section 'Normative references' inside 'sections' -->
|
8070
|
+
<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']]">
|
8071
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
8072
|
+
|
8073
|
+
<!-- process Section's title -->
|
8074
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_sections/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
8075
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
8076
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="update_xml_step1"/>
|
8077
|
+
</xsl:if>
|
8078
|
+
|
8079
|
+
<xsl:choose>
|
8080
|
+
<xsl:when test="@type = 'section-title' and not(@displayorder)"><!-- skip, don't copy, because copied in above 'apply-templates' --></xsl:when>
|
8081
|
+
<xsl:otherwise>
|
8082
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
8083
|
+
</xsl:otherwise>
|
8084
|
+
</xsl:choose>
|
8085
|
+
|
8086
|
+
</xsl:for-each>
|
8087
|
+
</xsl:copy>
|
8088
|
+
</xsl:template><xsl:template match="*[local-name() = 'bibliography']" mode="update_xml_step1">
|
8089
|
+
<xsl:copy>
|
8090
|
+
<xsl:copy-of select="@*"/>
|
8091
|
+
<!-- copy all elements from bibliography except 'Normative references' (moved to 'sections') -->
|
8092
|
+
<xsl:for-each select="*[not(@normative='true') and not(*[@normative='true'])]">
|
8093
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
8094
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
8095
|
+
</xsl:for-each>
|
8096
|
+
</xsl:copy>
|
7777
8097
|
</xsl:template><xsl:template name="convertDate">
|
7778
8098
|
<xsl:param name="date"/>
|
7779
8099
|
<xsl:param name="format" select="'short'"/>
|
@@ -8015,22 +8335,25 @@
|
|
8015
8335
|
<xsl:param name="pText" select="."/>
|
8016
8336
|
<xsl:param name="sep" select="','"/>
|
8017
8337
|
<xsl:param name="normalize-space" select="'true'"/>
|
8338
|
+
<xsl:param name="keep_sep" select="'false'"/>
|
8018
8339
|
<xsl:if test="string-length($pText) >0">
|
8019
|
-
|
8020
|
-
|
8021
|
-
|
8022
|
-
|
8023
|
-
|
8024
|
-
|
8025
|
-
|
8026
|
-
|
8027
|
-
|
8028
|
-
|
8029
|
-
|
8030
|
-
<xsl:
|
8031
|
-
|
8032
|
-
|
8033
|
-
|
8340
|
+
<item>
|
8341
|
+
<xsl:choose>
|
8342
|
+
<xsl:when test="$normalize-space = 'true'">
|
8343
|
+
<xsl:value-of select="normalize-space(substring-before(concat($pText, $sep), $sep))"/>
|
8344
|
+
</xsl:when>
|
8345
|
+
<xsl:otherwise>
|
8346
|
+
<xsl:value-of select="substring-before(concat($pText, $sep), $sep)"/>
|
8347
|
+
</xsl:otherwise>
|
8348
|
+
</xsl:choose>
|
8349
|
+
</item>
|
8350
|
+
<xsl:if test="$keep_sep = 'true' and contains($pText, $sep)"><item><xsl:value-of select="$sep"/></item></xsl:if>
|
8351
|
+
<xsl:call-template name="split">
|
8352
|
+
<xsl:with-param name="pText" select="substring-after($pText, $sep)"/>
|
8353
|
+
<xsl:with-param name="sep" select="$sep"/>
|
8354
|
+
<xsl:with-param name="normalize-space" select="$normalize-space"/>
|
8355
|
+
<xsl:with-param name="keep_sep" select="$keep_sep"/>
|
8356
|
+
</xsl:call-template>
|
8034
8357
|
</xsl:if>
|
8035
8358
|
</xsl:template><xsl:template name="getDocumentId">
|
8036
8359
|
<xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
|