metanorma-csa 2.0.4 → 2.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/isodoc/csa/csa.standard.xsl +439 -96
- data/lib/isodoc/csa/html/wordstyle.css +20 -0
- data/lib/isodoc/csa/html/wordstyle.scss +19 -0
- data/lib/metanorma/csa/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3b0a1705cdddcbb2d90adb9ec5afb73ea1b146b4c4ef5429427b62ee88992525
|
|
4
|
+
data.tar.gz: aba8725802eacee441af7594229d1f587759008a065d4b1a6c15180d4f7ff90b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 491b5bd8d6ade019c40461496de89fc152f7a7517968d4516fb15afdac036900bdec5409f7428a2991dae29a83a85e0c2c6e44dc29e6f2197dab3ad51887b417
|
|
7
|
+
data.tar.gz: 71f599ff9ff0e5a5cf6bf9099ee0160a6741c5cc68502f3f1bd56643484b4904c128b4d38dda23fe83facfe2d8f319e7ed4cdb84af077e846bf09d72d714ad22
|
|
@@ -16,12 +16,14 @@
|
|
|
16
16
|
|
|
17
17
|
<xsl:variable name="color-header-document">rgb(79, 201, 204)</xsl:variable>
|
|
18
18
|
|
|
19
|
-
<xsl:variable name="
|
|
19
|
+
<xsl:variable name="contents_">
|
|
20
20
|
<contents>
|
|
21
21
|
<xsl:call-template name="processPrefaceSectionsDefault_Contents"/>
|
|
22
22
|
<xsl:call-template name="processMainSectionsDefault_Contents"/>
|
|
23
|
+
<xsl:call-template name="processTablesFigures_Contents"/>
|
|
23
24
|
</contents>
|
|
24
25
|
</xsl:variable>
|
|
26
|
+
<xsl:variable name="contents" select="xalan:nodeset($contents_)"/>
|
|
25
27
|
|
|
26
28
|
<xsl:template match="/">
|
|
27
29
|
<xsl:call-template name="namespaceCheck"/>
|
|
@@ -104,7 +106,7 @@
|
|
|
104
106
|
<xsl:if test="$debug = 'true'">
|
|
105
107
|
<xsl:text disable-output-escaping="yes"><!--</xsl:text>
|
|
106
108
|
DEBUG
|
|
107
|
-
contents=<xsl:copy-of select="
|
|
109
|
+
contents=<xsl:copy-of select="$contents"/>
|
|
108
110
|
<xsl:text disable-output-escaping="yes">--></xsl:text>
|
|
109
111
|
</xsl:if>
|
|
110
112
|
|
|
@@ -193,7 +195,7 @@
|
|
|
193
195
|
<fo:block font-size="26pt" color="black" margin-top="2pt" margin-bottom="30pt" role="H1"><xsl:value-of select="$title-toc"/></fo:block>
|
|
194
196
|
|
|
195
197
|
<fo:block margin-left="-3mm" role="TOC">
|
|
196
|
-
<xsl:for-each select="
|
|
198
|
+
<xsl:for-each select="$contents//item[@display = 'true']">
|
|
197
199
|
<fo:block role="TOCI">
|
|
198
200
|
<fo:list-block>
|
|
199
201
|
<xsl:attribute name="provisional-distance-between-starts">
|
|
@@ -222,6 +224,27 @@
|
|
|
222
224
|
</fo:list-block>
|
|
223
225
|
</fo:block>
|
|
224
226
|
</xsl:for-each>
|
|
227
|
+
|
|
228
|
+
<!-- List of Tables -->
|
|
229
|
+
<xsl:if test="$contents//tables/table">
|
|
230
|
+
<xsl:call-template name="insertListOf_Title">
|
|
231
|
+
<xsl:with-param name="title" select="$title-list-tables"/>
|
|
232
|
+
</xsl:call-template>
|
|
233
|
+
<xsl:for-each select="$contents//tables/table">
|
|
234
|
+
<xsl:call-template name="insertListOf_Item"/>
|
|
235
|
+
</xsl:for-each>
|
|
236
|
+
</xsl:if>
|
|
237
|
+
|
|
238
|
+
<!-- List of Figures -->
|
|
239
|
+
<xsl:if test="$contents//figures/figure">
|
|
240
|
+
<xsl:call-template name="insertListOf_Title">
|
|
241
|
+
<xsl:with-param name="title" select="$title-list-figures"/>
|
|
242
|
+
</xsl:call-template>
|
|
243
|
+
<xsl:for-each select="$contents//figures/figure">
|
|
244
|
+
<xsl:call-template name="insertListOf_Item"/>
|
|
245
|
+
</xsl:for-each>
|
|
246
|
+
</xsl:if>
|
|
247
|
+
|
|
225
248
|
</fo:block>
|
|
226
249
|
</fo:block-container>
|
|
227
250
|
|
|
@@ -240,6 +263,51 @@
|
|
|
240
263
|
</fo:root>
|
|
241
264
|
</xsl:template>
|
|
242
265
|
|
|
266
|
+
<xsl:template name="insertListOf_Title">
|
|
267
|
+
<xsl:param name="title"/>
|
|
268
|
+
<fo:block role="TOCI" keep-with-next="always">
|
|
269
|
+
<fo:list-block provisional-distance-between-starts="3mm">
|
|
270
|
+
<fo:list-item>
|
|
271
|
+
<fo:list-item-label end-indent="label-end()">
|
|
272
|
+
<fo:block font-size="1pt"> </fo:block>
|
|
273
|
+
</fo:list-item-label>
|
|
274
|
+
<fo:list-item-body start-indent="body-start()">
|
|
275
|
+
<fo:block>
|
|
276
|
+
<xsl:value-of select="$title"/>
|
|
277
|
+
</fo:block>
|
|
278
|
+
</fo:list-item-body>
|
|
279
|
+
</fo:list-item>
|
|
280
|
+
</fo:list-block>
|
|
281
|
+
</fo:block>
|
|
282
|
+
</xsl:template>
|
|
283
|
+
|
|
284
|
+
<xsl:template name="insertListOf_Item">
|
|
285
|
+
<fo:block role="TOCI">
|
|
286
|
+
<fo:list-block provisional-distance-between-starts="10mm">
|
|
287
|
+
<fo:list-item>
|
|
288
|
+
<fo:list-item-label end-indent="label-end()">
|
|
289
|
+
<fo:block font-size="1pt"> </fo:block>
|
|
290
|
+
</fo:list-item-label>
|
|
291
|
+
<fo:list-item-body start-indent="body-start()">
|
|
292
|
+
<fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
|
|
293
|
+
<fo:basic-link internal-destination="{@id}">
|
|
294
|
+
<xsl:call-template name="setAltText">
|
|
295
|
+
<xsl:with-param name="value" select="@alt-text"/>
|
|
296
|
+
</xsl:call-template>
|
|
297
|
+
<xsl:apply-templates select="." mode="contents"/>
|
|
298
|
+
<fo:inline keep-together.within-line="always">
|
|
299
|
+
<fo:leader leader-pattern="dots"/>
|
|
300
|
+
<fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
|
|
301
|
+
</fo:inline>
|
|
302
|
+
</fo:basic-link>
|
|
303
|
+
</fo:block>
|
|
304
|
+
</fo:list-item-body>
|
|
305
|
+
</fo:list-item>
|
|
306
|
+
</fo:list-block>
|
|
307
|
+
</fo:block>
|
|
308
|
+
</xsl:template>
|
|
309
|
+
|
|
310
|
+
|
|
243
311
|
<xsl:template match="node()">
|
|
244
312
|
<xsl:apply-templates/>
|
|
245
313
|
</xsl:template>
|
|
@@ -543,7 +611,7 @@
|
|
|
543
611
|
<xsl:text>Contents</xsl:text>
|
|
544
612
|
|
|
545
613
|
</title-toc>
|
|
546
|
-
|
|
614
|
+
|
|
547
615
|
<title-descriptors lang="en">Descriptors</title-descriptors>
|
|
548
616
|
|
|
549
617
|
<title-part lang="en">
|
|
@@ -579,7 +647,31 @@
|
|
|
579
647
|
<title-continued lang="en">(continued)</title-continued>
|
|
580
648
|
<title-continued lang="fr">(continué)</title-continued>
|
|
581
649
|
|
|
582
|
-
</xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="
|
|
650
|
+
</xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="title-list-tables">
|
|
651
|
+
<xsl:variable name="toc_table_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']"/>
|
|
652
|
+
<xsl:value-of select="$toc_table_title"/>
|
|
653
|
+
<xsl:if test="normalize-space($toc_table_title) = ''">
|
|
654
|
+
<xsl:call-template name="getTitle">
|
|
655
|
+
<xsl:with-param name="name" select="'title-list-tables'"/>
|
|
656
|
+
</xsl:call-template>
|
|
657
|
+
</xsl:if>
|
|
658
|
+
</xsl:variable><xsl:variable name="title-list-figures">
|
|
659
|
+
<xsl:variable name="toc_figure_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']"/>
|
|
660
|
+
<xsl:value-of select="$toc_figure_title"/>
|
|
661
|
+
<xsl:if test="normalize-space($toc_figure_title) = ''">
|
|
662
|
+
<xsl:call-template name="getTitle">
|
|
663
|
+
<xsl:with-param name="name" select="'title-list-figures'"/>
|
|
664
|
+
</xsl:call-template>
|
|
665
|
+
</xsl:if>
|
|
666
|
+
</xsl:variable><xsl:variable name="title-list-recommendations">
|
|
667
|
+
<xsl:variable name="toc_requirement_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='requirement']/*[local-name() = 'title']"/>
|
|
668
|
+
<xsl:value-of select="$toc_requirement_title"/>
|
|
669
|
+
<xsl:if test="normalize-space($toc_requirement_title) = ''">
|
|
670
|
+
<xsl:call-template name="getTitle">
|
|
671
|
+
<xsl:with-param name="name" select="'title-list-recommendations'"/>
|
|
672
|
+
</xsl:call-template>
|
|
673
|
+
</xsl:if>
|
|
674
|
+
</xsl:variable><xsl:variable name="bibdata">
|
|
583
675
|
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
|
|
584
676
|
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
|
|
585
677
|
</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">
|
|
@@ -1809,6 +1901,30 @@
|
|
|
1809
1901
|
<xsl:sort select="@displayorder" data-type="number"/>
|
|
1810
1902
|
<xsl:apply-templates select="." mode="contents"/>
|
|
1811
1903
|
</xsl:for-each>
|
|
1904
|
+
</xsl:template><xsl:template name="processTablesFigures_Contents">
|
|
1905
|
+
<xsl:param name="always"/>
|
|
1906
|
+
<xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
|
|
1907
|
+
<xsl:call-template name="processTables_Contents"/>
|
|
1908
|
+
</xsl:if>
|
|
1909
|
+
<xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
|
|
1910
|
+
<xsl:call-template name="processFigures_Contents"/>
|
|
1911
|
+
</xsl:if>
|
|
1912
|
+
</xsl:template><xsl:template name="processTables_Contents">
|
|
1913
|
+
<tables>
|
|
1914
|
+
<xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name'] and normalize-space(@id) != '']">
|
|
1915
|
+
<table id="{@id}" alt-text="{*[local-name() = 'name']}">
|
|
1916
|
+
<xsl:copy-of select="*[local-name() = 'name']"/>
|
|
1917
|
+
</table>
|
|
1918
|
+
</xsl:for-each>
|
|
1919
|
+
</tables>
|
|
1920
|
+
</xsl:template><xsl:template name="processFigures_Contents">
|
|
1921
|
+
<figures>
|
|
1922
|
+
<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) != '']">
|
|
1923
|
+
<figure id="{@id}" alt-text="{*[local-name() = 'name']}">
|
|
1924
|
+
<xsl:copy-of select="*[local-name() = 'name']"/>
|
|
1925
|
+
</figure>
|
|
1926
|
+
</xsl:for-each>
|
|
1927
|
+
</figures>
|
|
1812
1928
|
</xsl:template><xsl:template name="processPrefaceSectionsDefault">
|
|
1813
1929
|
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
|
1814
1930
|
<xsl:sort select="@displayorder" data-type="number"/>
|
|
@@ -1830,8 +1946,27 @@
|
|
|
1830
1946
|
<xsl:sort select="@displayorder" data-type="number"/>
|
|
1831
1947
|
<xsl:apply-templates select="."/>
|
|
1832
1948
|
</xsl:for-each>
|
|
1833
|
-
</xsl:template><xsl:template match="text()">
|
|
1834
|
-
<xsl:
|
|
1949
|
+
</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">
|
|
1950
|
+
<xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
|
|
1951
|
+
<xsl:variable name="text" select="java:replaceAll(java:java.lang.String.new(.),$regex_standard_reference,concat($tag_open,'$1',$tag_close))"/>
|
|
1952
|
+
<xsl:call-template name="replace_fo_inline">
|
|
1953
|
+
<xsl:with-param name="text" select="$text"/>
|
|
1954
|
+
</xsl:call-template>
|
|
1955
|
+
</xsl:template><xsl:template name="replace_fo_inline">
|
|
1956
|
+
<xsl:param name="text"/>
|
|
1957
|
+
<xsl:choose>
|
|
1958
|
+
<xsl:when test="contains($text, $tag_open)">
|
|
1959
|
+
<xsl:value-of select="substring-before($text, $tag_open)"/>
|
|
1960
|
+
<xsl:text disable-output-escaping="yes"><fo:inline keep-together.within-line="always"></xsl:text>
|
|
1961
|
+
<xsl:variable name="text_after" select="substring-after($text, $tag_open)"/>
|
|
1962
|
+
<xsl:value-of select="substring-before($text_after, $tag_close)"/>
|
|
1963
|
+
<xsl:text disable-output-escaping="yes"></fo:inline></xsl:text>
|
|
1964
|
+
<xsl:call-template name="replace_fo_inline">
|
|
1965
|
+
<xsl:with-param name="text" select="substring-after($text_after, $tag_close)"/>
|
|
1966
|
+
</xsl:call-template>
|
|
1967
|
+
</xsl:when>
|
|
1968
|
+
<xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
|
|
1969
|
+
</xsl:choose>
|
|
1835
1970
|
</xsl:template><xsl:template match="*[local-name()='br']">
|
|
1836
1971
|
<xsl:value-of select="$linebreak"/>
|
|
1837
1972
|
</xsl:template><xsl:template match="*[local-name()='copyright-statement']">
|
|
@@ -2585,37 +2720,7 @@
|
|
|
2585
2720
|
|
|
2586
2721
|
<!-- list of footnotes to calculate actual footnotes number -->
|
|
2587
2722
|
<xsl:variable name="p_fn_">
|
|
2588
|
-
<xsl:
|
|
2589
|
-
<xsl:when test="@current_fn_number"> <!-- for BSI, footnote reference number calculated already -->
|
|
2590
|
-
<fn gen_id="{generate-id(.)}">
|
|
2591
|
-
<xsl:copy-of select="@*"/>
|
|
2592
|
-
<xsl:copy-of select="node()"/>
|
|
2593
|
-
</fn>
|
|
2594
|
-
</xsl:when>
|
|
2595
|
-
<xsl:otherwise>
|
|
2596
|
-
<!-- itetation for:
|
|
2597
|
-
footnotes in bibdata/title
|
|
2598
|
-
footnotes in bibliography
|
|
2599
|
-
footnotes in document's body (except table's head/body/foot and figure text)
|
|
2600
|
-
-->
|
|
2601
|
-
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'note'][@type='title-footnote']">
|
|
2602
|
-
<fn gen_id="{generate-id(.)}">
|
|
2603
|
-
<xsl:copy-of select="@*"/>
|
|
2604
|
-
<xsl:copy-of select="node()"/>
|
|
2605
|
-
</fn>
|
|
2606
|
-
</xsl:for-each>
|
|
2607
|
-
<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']/*">
|
|
2608
|
-
<xsl:sort select="@displayorder" data-type="number"/>
|
|
2609
|
-
<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])]">
|
|
2610
|
-
<!-- copy unique fn -->
|
|
2611
|
-
<fn gen_id="{generate-id(.)}">
|
|
2612
|
-
<xsl:copy-of select="@*"/>
|
|
2613
|
-
<xsl:copy-of select="node()"/>
|
|
2614
|
-
</fn>
|
|
2615
|
-
</xsl:for-each>
|
|
2616
|
-
</xsl:for-each>
|
|
2617
|
-
</xsl:otherwise>
|
|
2618
|
-
</xsl:choose>
|
|
2723
|
+
<xsl:call-template name="get_fn_list"/>
|
|
2619
2724
|
</xsl:variable>
|
|
2620
2725
|
<xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
|
|
2621
2726
|
|
|
@@ -2676,6 +2781,38 @@
|
|
|
2676
2781
|
<xsl:copy-of select="$footnote_inline"/>
|
|
2677
2782
|
</xsl:otherwise>
|
|
2678
2783
|
</xsl:choose>
|
|
2784
|
+
</xsl:template><xsl:template name="get_fn_list">
|
|
2785
|
+
<xsl:choose>
|
|
2786
|
+
<xsl:when test="@current_fn_number"> <!-- for BSI, footnote reference number calculated already -->
|
|
2787
|
+
<fn gen_id="{generate-id(.)}">
|
|
2788
|
+
<xsl:copy-of select="@*"/>
|
|
2789
|
+
<xsl:copy-of select="node()"/>
|
|
2790
|
+
</fn>
|
|
2791
|
+
</xsl:when>
|
|
2792
|
+
<xsl:otherwise>
|
|
2793
|
+
<!-- itetation for:
|
|
2794
|
+
footnotes in bibdata/title
|
|
2795
|
+
footnotes in bibliography
|
|
2796
|
+
footnotes in document's body (except table's head/body/foot and figure text)
|
|
2797
|
+
-->
|
|
2798
|
+
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'note'][@type='title-footnote']">
|
|
2799
|
+
<fn gen_id="{generate-id(.)}">
|
|
2800
|
+
<xsl:copy-of select="@*"/>
|
|
2801
|
+
<xsl:copy-of select="node()"/>
|
|
2802
|
+
</fn>
|
|
2803
|
+
</xsl:for-each>
|
|
2804
|
+
<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']/*">
|
|
2805
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
|
2806
|
+
<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])]">
|
|
2807
|
+
<!-- copy unique fn -->
|
|
2808
|
+
<fn gen_id="{generate-id(.)}">
|
|
2809
|
+
<xsl:copy-of select="@*"/>
|
|
2810
|
+
<xsl:copy-of select="node()"/>
|
|
2811
|
+
</fn>
|
|
2812
|
+
</xsl:for-each>
|
|
2813
|
+
</xsl:for-each>
|
|
2814
|
+
</xsl:otherwise>
|
|
2815
|
+
</xsl:choose>
|
|
2679
2816
|
</xsl:template><xsl:template name="table_fn_display">
|
|
2680
2817
|
<xsl:variable name="references">
|
|
2681
2818
|
|
|
@@ -2847,7 +2984,7 @@
|
|
|
2847
2984
|
</fo:inline>
|
|
2848
2985
|
</xsl:template><xsl:template match="*[local-name()='fn']/text()[normalize-space() != '']">
|
|
2849
2986
|
<fo:inline><xsl:value-of select="."/></fo:inline>
|
|
2850
|
-
</xsl:template><xsl:template match="*[local-name()='fn']
|
|
2987
|
+
</xsl:template><xsl:template match="*[local-name()='fn']//*[local-name()='p']">
|
|
2851
2988
|
<fo:inline>
|
|
2852
2989
|
<xsl:apply-templates/>
|
|
2853
2990
|
</fo:inline>
|
|
@@ -4537,13 +4674,14 @@
|
|
|
4537
4674
|
<xsl:apply-templates mode="bookmarks"/>
|
|
4538
4675
|
</xsl:template><xsl:template name="addBookmarks">
|
|
4539
4676
|
<xsl:param name="contents"/>
|
|
4540
|
-
<xsl:
|
|
4677
|
+
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
|
4678
|
+
<xsl:if test="$contents_nodes//item">
|
|
4541
4679
|
<fo:bookmark-tree>
|
|
4542
4680
|
<xsl:choose>
|
|
4543
|
-
<xsl:when test="
|
|
4681
|
+
<xsl:when test="$contents_nodes/doc">
|
|
4544
4682
|
<xsl:choose>
|
|
4545
|
-
<xsl:when test="count(
|
|
4546
|
-
<xsl:for-each select="
|
|
4683
|
+
<xsl:when test="count($contents_nodes/doc) > 1">
|
|
4684
|
+
<xsl:for-each select="$contents_nodes/doc">
|
|
4547
4685
|
<fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide">
|
|
4548
4686
|
<xsl:if test="@bundle = 'true'">
|
|
4549
4687
|
<xsl:attribute name="internal-destination"><xsl:value-of select="@firstpage_id"/></xsl:attribute>
|
|
@@ -4594,7 +4732,7 @@
|
|
|
4594
4732
|
</xsl:for-each>
|
|
4595
4733
|
</xsl:when>
|
|
4596
4734
|
<xsl:otherwise>
|
|
4597
|
-
<xsl:for-each select="
|
|
4735
|
+
<xsl:for-each select="$contents_nodes/doc">
|
|
4598
4736
|
|
|
4599
4737
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
|
4600
4738
|
|
|
@@ -4612,25 +4750,36 @@
|
|
|
4612
4750
|
</xsl:choose>
|
|
4613
4751
|
</xsl:when>
|
|
4614
4752
|
<xsl:otherwise>
|
|
4615
|
-
<xsl:apply-templates select="
|
|
4753
|
+
<xsl:apply-templates select="$contents_nodes/contents/item" mode="bookmark"/>
|
|
4754
|
+
|
|
4755
|
+
<xsl:call-template name="insertFigureBookmarks">
|
|
4756
|
+
<xsl:with-param name="contents" select="$contents_nodes/contents"/>
|
|
4757
|
+
</xsl:call-template>
|
|
4758
|
+
|
|
4759
|
+
<xsl:call-template name="insertTableBookmarks">
|
|
4760
|
+
<xsl:with-param name="contents" select="$contents_nodes/contents"/>
|
|
4761
|
+
<xsl:with-param name="lang" select="@lang"/>
|
|
4762
|
+
</xsl:call-template>
|
|
4763
|
+
|
|
4616
4764
|
</xsl:otherwise>
|
|
4617
4765
|
</xsl:choose>
|
|
4618
4766
|
|
|
4767
|
+
|
|
4619
4768
|
|
|
4620
4769
|
|
|
4621
4770
|
|
|
4622
4771
|
|
|
4623
|
-
|
|
4624
|
-
|
|
4772
|
+
|
|
4625
4773
|
|
|
4626
4774
|
</fo:bookmark-tree>
|
|
4627
4775
|
</xsl:if>
|
|
4628
4776
|
</xsl:template><xsl:template name="insertFigureBookmarks">
|
|
4629
4777
|
<xsl:param name="contents"/>
|
|
4630
|
-
<xsl:
|
|
4631
|
-
|
|
4778
|
+
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
|
4779
|
+
<xsl:if test="$contents_nodes/figure">
|
|
4780
|
+
<fo:bookmark internal-destination="{$contents_nodes/figure[1]/@id}" starting-state="hide">
|
|
4632
4781
|
<fo:bookmark-title>Figures</fo:bookmark-title>
|
|
4633
|
-
<xsl:for-each select="
|
|
4782
|
+
<xsl:for-each select="$contents_nodes/figure">
|
|
4634
4783
|
<fo:bookmark internal-destination="{@id}">
|
|
4635
4784
|
<fo:bookmark-title>
|
|
4636
4785
|
<xsl:value-of select="normalize-space(title)"/>
|
|
@@ -4639,18 +4788,40 @@
|
|
|
4639
4788
|
</xsl:for-each>
|
|
4640
4789
|
</fo:bookmark>
|
|
4641
4790
|
</xsl:if>
|
|
4791
|
+
|
|
4792
|
+
|
|
4793
|
+
<xsl:if test="$contents_nodes//figures/figure">
|
|
4794
|
+
<fo:bookmark internal-destination="empty_bookmark" starting-state="hide">
|
|
4795
|
+
|
|
4796
|
+
|
|
4797
|
+
|
|
4798
|
+
<xsl:variable name="bookmark-title">
|
|
4799
|
+
|
|
4800
|
+
<xsl:value-of select="$title-list-figures"/>
|
|
4801
|
+
|
|
4802
|
+
</xsl:variable>
|
|
4803
|
+
<fo:bookmark-title><xsl:value-of select="normalize-space($bookmark-title)"/></fo:bookmark-title>
|
|
4804
|
+
<xsl:for-each select="$contents_nodes//figures/figure">
|
|
4805
|
+
<fo:bookmark internal-destination="{@id}">
|
|
4806
|
+
<fo:bookmark-title><xsl:value-of select="normalize-space(.)"/></fo:bookmark-title>
|
|
4807
|
+
</fo:bookmark>
|
|
4808
|
+
</xsl:for-each>
|
|
4809
|
+
</fo:bookmark>
|
|
4810
|
+
</xsl:if>
|
|
4811
|
+
|
|
4642
4812
|
</xsl:template><xsl:template name="insertTableBookmarks">
|
|
4643
4813
|
<xsl:param name="contents"/>
|
|
4644
4814
|
<xsl:param name="lang"/>
|
|
4645
|
-
<xsl:
|
|
4646
|
-
|
|
4815
|
+
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
|
4816
|
+
<xsl:if test="$contents_nodes/table">
|
|
4817
|
+
<fo:bookmark internal-destination="{$contents_nodes/table[1]/@id}" starting-state="hide">
|
|
4647
4818
|
<fo:bookmark-title>
|
|
4648
4819
|
<xsl:choose>
|
|
4649
4820
|
<xsl:when test="$lang = 'fr'">Tableaux</xsl:when>
|
|
4650
4821
|
<xsl:otherwise>Tables</xsl:otherwise>
|
|
4651
4822
|
</xsl:choose>
|
|
4652
4823
|
</fo:bookmark-title>
|
|
4653
|
-
<xsl:for-each select="
|
|
4824
|
+
<xsl:for-each select="$contents_nodes/table">
|
|
4654
4825
|
<fo:bookmark internal-destination="{@id}">
|
|
4655
4826
|
<fo:bookmark-title>
|
|
4656
4827
|
<xsl:value-of select="normalize-space(title)"/>
|
|
@@ -4659,6 +4830,29 @@
|
|
|
4659
4830
|
</xsl:for-each>
|
|
4660
4831
|
</fo:bookmark>
|
|
4661
4832
|
</xsl:if>
|
|
4833
|
+
|
|
4834
|
+
|
|
4835
|
+
<xsl:if test="$contents_nodes//tables/table">
|
|
4836
|
+
<fo:bookmark internal-destination="empty_bookmark" starting-state="hide">
|
|
4837
|
+
|
|
4838
|
+
|
|
4839
|
+
|
|
4840
|
+
<xsl:variable name="bookmark-title">
|
|
4841
|
+
|
|
4842
|
+
<xsl:value-of select="$title-list-tables"/>
|
|
4843
|
+
|
|
4844
|
+
</xsl:variable>
|
|
4845
|
+
|
|
4846
|
+
<fo:bookmark-title><xsl:value-of select="$bookmark-title"/></fo:bookmark-title>
|
|
4847
|
+
|
|
4848
|
+
<xsl:for-each select="$contents_nodes//tables/table">
|
|
4849
|
+
<fo:bookmark internal-destination="{@id}">
|
|
4850
|
+
<fo:bookmark-title><xsl:value-of select="normalize-space(.)"/></fo:bookmark-title>
|
|
4851
|
+
</fo:bookmark>
|
|
4852
|
+
</xsl:for-each>
|
|
4853
|
+
</fo:bookmark>
|
|
4854
|
+
</xsl:if>
|
|
4855
|
+
|
|
4662
4856
|
</xsl:template><xsl:template name="getLangVersion">
|
|
4663
4857
|
<xsl:param name="lang"/>
|
|
4664
4858
|
<xsl:param name="doctype" select="''"/>
|
|
@@ -4883,7 +5077,51 @@
|
|
|
4883
5077
|
<xsl:with-param name="text" select="$text_step1"/>
|
|
4884
5078
|
</xsl:call-template>
|
|
4885
5079
|
</xsl:variable>
|
|
4886
|
-
|
|
5080
|
+
|
|
5081
|
+
<!-- <xsl:value-of select="$text_step2"/> -->
|
|
5082
|
+
|
|
5083
|
+
<!-- add zero-width space after space -->
|
|
5084
|
+
<xsl:variable name="text_step3" select="java:replaceAll(java:java.lang.String.new($text_step2),' ',' ')"/>
|
|
5085
|
+
|
|
5086
|
+
<!-- split text by zero-width space -->
|
|
5087
|
+
<xsl:variable name="text_step4">
|
|
5088
|
+
<xsl:call-template name="split">
|
|
5089
|
+
<xsl:with-param name="pText" select="$text_step3"/>
|
|
5090
|
+
<xsl:with-param name="sep" select="$zero_width_space"/>
|
|
5091
|
+
<xsl:with-param name="normalize-space">false</xsl:with-param>
|
|
5092
|
+
<xsl:with-param name="keep_sep">true</xsl:with-param>
|
|
5093
|
+
</xsl:call-template>
|
|
5094
|
+
</xsl:variable>
|
|
5095
|
+
|
|
5096
|
+
<xsl:for-each select="xalan:nodeset($text_step4)/item">
|
|
5097
|
+
<xsl:choose>
|
|
5098
|
+
<xsl:when test="string-length() > 30"> <!-- word with length more than 30 will be interspersed with zero-width space -->
|
|
5099
|
+
<xsl:call-template name="interspers">
|
|
5100
|
+
<xsl:with-param name="str" select="."/>
|
|
5101
|
+
</xsl:call-template>
|
|
5102
|
+
</xsl:when>
|
|
5103
|
+
<xsl:otherwise>
|
|
5104
|
+
<xsl:value-of select="."/>
|
|
5105
|
+
</xsl:otherwise>
|
|
5106
|
+
</xsl:choose>
|
|
5107
|
+
</xsl:for-each>
|
|
5108
|
+
|
|
5109
|
+
</xsl:template><xsl:template name="interspers">
|
|
5110
|
+
<xsl:param name="str"/>
|
|
5111
|
+
<xsl:param name="char" select="$zero_width_space"/>
|
|
5112
|
+
<xsl:if test="$str != ''">
|
|
5113
|
+
<xsl:value-of select="substring($str, 1, 1)"/>
|
|
5114
|
+
|
|
5115
|
+
<xsl:variable name="next_char" select="substring($str, 2, 1)"/>
|
|
5116
|
+
<xsl:if test="not(contains(concat(' -.:=_— ', $char), $next_char))">
|
|
5117
|
+
<xsl:value-of select="$char"/>
|
|
5118
|
+
</xsl:if>
|
|
5119
|
+
|
|
5120
|
+
<xsl:call-template name="interspers">
|
|
5121
|
+
<xsl:with-param name="str" select="substring($str, 2)"/>
|
|
5122
|
+
<xsl:with-param name="char" select="$char"/>
|
|
5123
|
+
</xsl:call-template>
|
|
5124
|
+
</xsl:if>
|
|
4887
5125
|
</xsl:template><xsl:template match="*" mode="syntax_highlight">
|
|
4888
5126
|
<xsl:apply-templates mode="syntax_highlight"/>
|
|
4889
5127
|
</xsl:template><xsl:variable name="syntax_highlight_styles_">
|
|
@@ -5315,6 +5553,8 @@
|
|
|
5315
5553
|
</xsl:otherwise>
|
|
5316
5554
|
</xsl:choose> -->
|
|
5317
5555
|
</fo:block>
|
|
5556
|
+
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()[starts-with(., '[SOURCE: Adapted from: ')]" priority="2">
|
|
5557
|
+
<xsl:text>[</xsl:text><xsl:value-of select="substring-after(., '[SOURCE: ')"/>
|
|
5318
5558
|
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
|
|
5319
5559
|
<xsl:if test="normalize-space() != ''">
|
|
5320
5560
|
<xsl:value-of select="."/>
|
|
@@ -5349,7 +5589,8 @@
|
|
|
5349
5589
|
<fo:inline><xsl:apply-templates/></fo:inline>
|
|
5350
5590
|
</xsl:template><xsl:template match="*[local-name() = 'modification']/text()">
|
|
5351
5591
|
<xsl:if test="normalize-space() != ''">
|
|
5352
|
-
<xsl:value-of select="."/>
|
|
5592
|
+
<!-- <xsl:value-of select="."/> -->
|
|
5593
|
+
<xsl:call-template name="text"/>
|
|
5353
5594
|
</xsl:if>
|
|
5354
5595
|
</xsl:template><xsl:template match="*[local-name() = 'quote']">
|
|
5355
5596
|
<fo:block-container margin-left="0mm">
|
|
@@ -5389,26 +5630,24 @@
|
|
|
5389
5630
|
</xsl:template><xsl:template match="*[local-name() = 'author']">
|
|
5390
5631
|
<xsl:text>— </xsl:text>
|
|
5391
5632
|
<xsl:apply-templates/>
|
|
5392
|
-
</xsl:template><xsl:variable name="
|
|
5633
|
+
</xsl:template><xsl:variable name="bibitems_">
|
|
5634
|
+
<xsl:for-each select="//*[local-name() = 'bibitem']">
|
|
5635
|
+
<xsl:copy-of select="."/>
|
|
5636
|
+
</xsl:for-each>
|
|
5637
|
+
</xsl:variable><xsl:variable name="bibitems" select="xalan:nodeset($bibitems_)"/><xsl:variable name="bibitems_hidden_">
|
|
5393
5638
|
<xsl:for-each select="//*[local-name() = 'bibitem'][@hidden='true']">
|
|
5394
5639
|
<xsl:copy-of select="."/>
|
|
5395
5640
|
</xsl:for-each>
|
|
5396
|
-
<xsl:for-each select="//*[local-name() = 'references'][@hidden='true']
|
|
5641
|
+
<xsl:for-each select="//*[local-name() = 'references'][@hidden='true']//*[local-name() = 'bibitem']">
|
|
5397
5642
|
<xsl:copy-of select="."/>
|
|
5398
5643
|
</xsl:for-each>
|
|
5399
|
-
</xsl:variable><xsl:variable name="
|
|
5400
|
-
|
|
5401
|
-
<xsl:variable name="
|
|
5402
|
-
|
|
5403
|
-
<!-- <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"></xsl:when>
|
|
5404
|
-
<xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"></xsl:when> -->
|
|
5405
|
-
<xsl:when test="$bibitem_hidden/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
|
|
5406
|
-
<xsl:otherwise><xsl:value-of select="@bibitemid"/></xsl:otherwise>
|
|
5407
|
-
</xsl:choose>
|
|
5408
|
-
</xsl:variable>
|
|
5409
|
-
|
|
5644
|
+
</xsl:variable><xsl:variable name="bibitems_hidden" select="xalan:nodeset($bibitems_hidden_)"/><xsl:template match="*[local-name() = 'eref']">
|
|
5645
|
+
<xsl:variable name="current_bibitemid" select="@bibitemid"/>
|
|
5646
|
+
<!-- <xsl:variable name="external-destination" select="normalize-space(key('bibitems', $current_bibitemid)/*[local-name() = 'uri'][@type = 'citation'])"/> -->
|
|
5647
|
+
<xsl:variable name="external-destination" select="normalize-space($bibitems/*[local-name() ='bibitem'][@id = $current_bibitemid]/*[local-name() = 'uri'][@type = 'citation'])"/>
|
|
5410
5648
|
<xsl:choose>
|
|
5411
|
-
<xsl:when test="
|
|
5649
|
+
<!-- <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) -->
|
|
5650
|
+
<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) -->
|
|
5412
5651
|
<fo:inline xsl:use-attribute-sets="eref-style">
|
|
5413
5652
|
<xsl:if test="@type = 'footnote'">
|
|
5414
5653
|
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
|
@@ -5422,8 +5661,8 @@
|
|
|
5422
5661
|
<xsl:variable name="text" select="normalize-space()"/>
|
|
5423
5662
|
|
|
5424
5663
|
|
|
5425
|
-
|
|
5426
|
-
<fo:basic-link
|
|
5664
|
+
|
|
5665
|
+
<fo:basic-link fox:alt-text="{@citeas}">
|
|
5427
5666
|
<xsl:if test="normalize-space(@citeas) = ''">
|
|
5428
5667
|
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
|
5429
5668
|
</xsl:if>
|
|
@@ -5433,14 +5672,21 @@
|
|
|
5433
5672
|
|
|
5434
5673
|
</xsl:if>
|
|
5435
5674
|
|
|
5436
|
-
|
|
5675
|
+
<xsl:choose>
|
|
5676
|
+
<xsl:when test="$external-destination != ''"> <!-- external hyperlink -->
|
|
5677
|
+
<xsl:attribute name="external-destination"><xsl:value-of select="$external-destination"/></xsl:attribute>
|
|
5678
|
+
</xsl:when>
|
|
5679
|
+
<xsl:otherwise>
|
|
5680
|
+
<xsl:attribute name="internal-destination"><xsl:value-of select="@bibitemid"/></xsl:attribute>
|
|
5681
|
+
</xsl:otherwise>
|
|
5682
|
+
</xsl:choose>
|
|
5437
5683
|
|
|
5438
5684
|
<xsl:apply-templates/>
|
|
5439
5685
|
</fo:basic-link>
|
|
5440
|
-
|
|
5686
|
+
|
|
5441
5687
|
</fo:inline>
|
|
5442
5688
|
</xsl:when>
|
|
5443
|
-
<xsl:otherwise>
|
|
5689
|
+
<xsl:otherwise> <!-- if there is key('bibitems_hidden', $current_bibitemid) -->
|
|
5444
5690
|
<fo:inline><xsl:apply-templates/></fo:inline>
|
|
5445
5691
|
</xsl:otherwise>
|
|
5446
5692
|
</xsl:choose>
|
|
@@ -6216,6 +6462,24 @@
|
|
|
6216
6462
|
<xsl:apply-templates/>
|
|
6217
6463
|
</fo:inline>
|
|
6218
6464
|
</xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
|
|
6465
|
+
|
|
6466
|
+
<!-- list of footnotes to calculate actual footnotes number -->
|
|
6467
|
+
<xsl:variable name="p_fn_">
|
|
6468
|
+
<xsl:call-template name="get_fn_list"/>
|
|
6469
|
+
</xsl:variable>
|
|
6470
|
+
<xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
|
|
6471
|
+
<xsl:variable name="gen_id" select="generate-id(.)"/>
|
|
6472
|
+
<xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
|
|
6473
|
+
<!-- fn sequence number in document -->
|
|
6474
|
+
<xsl:variable name="current_fn_number">
|
|
6475
|
+
<xsl:choose>
|
|
6476
|
+
<xsl:when test="@current_fn_number"><xsl:value-of select="@current_fn_number"/></xsl:when> <!-- for BSI -->
|
|
6477
|
+
<xsl:otherwise>
|
|
6478
|
+
<!-- <xsl:value-of select="count($p_fn//fn[@reference = $reference]/preceding-sibling::fn) + 1" /> -->
|
|
6479
|
+
<xsl:value-of select="count($p_fn//fn[@gen_id = $gen_id]/preceding-sibling::fn) + 1"/>
|
|
6480
|
+
</xsl:otherwise>
|
|
6481
|
+
</xsl:choose>
|
|
6482
|
+
</xsl:variable>
|
|
6219
6483
|
<fo:footnote>
|
|
6220
6484
|
<xsl:variable name="number">
|
|
6221
6485
|
|
|
@@ -6224,22 +6488,26 @@
|
|
|
6224
6488
|
<xsl:number level="any" count="*[local-name() = 'references'][preceding-sibling::*[local-name() = 'references']]//*[local-name() = 'bibitem']/*[local-name() = 'note']"/>
|
|
6225
6489
|
</xsl:when>
|
|
6226
6490
|
<xsl:otherwise>
|
|
6227
|
-
<xsl:
|
|
6491
|
+
<xsl:value-of select="$current_fn_number"/>
|
|
6228
6492
|
</xsl:otherwise>
|
|
6229
6493
|
</xsl:choose>
|
|
6230
6494
|
|
|
6231
6495
|
</xsl:variable>
|
|
6496
|
+
|
|
6497
|
+
<xsl:variable name="current_fn_number_text">
|
|
6498
|
+
<xsl:value-of select="$number"/>
|
|
6499
|
+
|
|
6500
|
+
</xsl:variable>
|
|
6501
|
+
|
|
6232
6502
|
<fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
|
|
6233
|
-
<fo:basic-link internal-destination="{
|
|
6234
|
-
<xsl:value-of select="$
|
|
6235
|
-
|
|
6503
|
+
<fo:basic-link internal-destination="{$gen_id}" fox:alt-text="footnote {$number}">
|
|
6504
|
+
<xsl:value-of select="$current_fn_number_text"/>
|
|
6236
6505
|
</fo:basic-link>
|
|
6237
6506
|
</fo:inline>
|
|
6238
6507
|
<fo:footnote-body>
|
|
6239
6508
|
<fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
|
|
6240
|
-
<fo:inline id="{
|
|
6241
|
-
<xsl:value-of select="$
|
|
6242
|
-
|
|
6509
|
+
<fo:inline id="{$gen_id}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
|
|
6510
|
+
<xsl:value-of select="$current_fn_number_text"/>
|
|
6243
6511
|
</fo:inline>
|
|
6244
6512
|
<xsl:apply-templates/>
|
|
6245
6513
|
</fo:block>
|
|
@@ -6479,6 +6747,78 @@
|
|
|
6479
6747
|
<!-- processing for admonition/p found in the template for 'p' -->
|
|
6480
6748
|
<xsl:call-template name="paragraph"/>
|
|
6481
6749
|
|
|
6750
|
+
</xsl:template><xsl:template match="@*|node()" mode="update_xml_step1">
|
|
6751
|
+
<xsl:copy>
|
|
6752
|
+
<xsl:apply-templates select="@*|node()" mode="update_xml_step1"/>
|
|
6753
|
+
</xsl:copy>
|
|
6754
|
+
</xsl:template><xsl:template match="*[local-name() = 'preface']" mode="update_xml_step1">
|
|
6755
|
+
<xsl:copy>
|
|
6756
|
+
<xsl:copy-of select="@*"/>
|
|
6757
|
+
|
|
6758
|
+
<xsl:variable name="nodes_preface_">
|
|
6759
|
+
<xsl:for-each select="*">
|
|
6760
|
+
<node id="{@id}"/>
|
|
6761
|
+
</xsl:for-each>
|
|
6762
|
+
</xsl:variable>
|
|
6763
|
+
<xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
|
|
6764
|
+
|
|
6765
|
+
<xsl:for-each select="*">
|
|
6766
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
|
6767
|
+
|
|
6768
|
+
<!-- process Section's title -->
|
|
6769
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_preface/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
|
6770
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
|
6771
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="update_xml_step1"/>
|
|
6772
|
+
</xsl:if>
|
|
6773
|
+
|
|
6774
|
+
<xsl:choose>
|
|
6775
|
+
<xsl:when test="@type = 'section-title' and not(@displayorder)"><!-- skip, don't copy, because copied in above 'apply-templates' --></xsl:when>
|
|
6776
|
+
<xsl:otherwise>
|
|
6777
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
|
6778
|
+
</xsl:otherwise>
|
|
6779
|
+
</xsl:choose>
|
|
6780
|
+
|
|
6781
|
+
</xsl:for-each>
|
|
6782
|
+
</xsl:copy>
|
|
6783
|
+
</xsl:template><xsl:template match="*[local-name() = 'sections']" mode="update_xml_step1">
|
|
6784
|
+
<xsl:copy>
|
|
6785
|
+
<xsl:copy-of select="@*"/>
|
|
6786
|
+
|
|
6787
|
+
<xsl:variable name="nodes_sections_">
|
|
6788
|
+
<xsl:for-each select="*">
|
|
6789
|
+
<node id="{@id}"/>
|
|
6790
|
+
</xsl:for-each>
|
|
6791
|
+
</xsl:variable>
|
|
6792
|
+
<xsl:variable name="nodes_sections" select="xalan:nodeset($nodes_sections_)"/>
|
|
6793
|
+
|
|
6794
|
+
<!-- move section 'Normative references' inside 'sections' -->
|
|
6795
|
+
<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']]">
|
|
6796
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
|
6797
|
+
|
|
6798
|
+
<!-- process Section's title -->
|
|
6799
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_sections/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
|
6800
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
|
6801
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="update_xml_step1"/>
|
|
6802
|
+
</xsl:if>
|
|
6803
|
+
|
|
6804
|
+
<xsl:choose>
|
|
6805
|
+
<xsl:when test="@type = 'section-title' and not(@displayorder)"><!-- skip, don't copy, because copied in above 'apply-templates' --></xsl:when>
|
|
6806
|
+
<xsl:otherwise>
|
|
6807
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
|
6808
|
+
</xsl:otherwise>
|
|
6809
|
+
</xsl:choose>
|
|
6810
|
+
|
|
6811
|
+
</xsl:for-each>
|
|
6812
|
+
</xsl:copy>
|
|
6813
|
+
</xsl:template><xsl:template match="*[local-name() = 'bibliography']" mode="update_xml_step1">
|
|
6814
|
+
<xsl:copy>
|
|
6815
|
+
<xsl:copy-of select="@*"/>
|
|
6816
|
+
<!-- copy all elements from bibliography except 'Normative references' (moved to 'sections') -->
|
|
6817
|
+
<xsl:for-each select="*[not(@normative='true') and not(*[@normative='true'])]">
|
|
6818
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
|
6819
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
|
6820
|
+
</xsl:for-each>
|
|
6821
|
+
</xsl:copy>
|
|
6482
6822
|
</xsl:template><xsl:template name="convertDate">
|
|
6483
6823
|
<xsl:param name="date"/>
|
|
6484
6824
|
<xsl:param name="format" select="'short'"/>
|
|
@@ -6723,22 +7063,25 @@
|
|
|
6723
7063
|
<xsl:param name="pText" select="."/>
|
|
6724
7064
|
<xsl:param name="sep" select="','"/>
|
|
6725
7065
|
<xsl:param name="normalize-space" select="'true'"/>
|
|
7066
|
+
<xsl:param name="keep_sep" select="'false'"/>
|
|
6726
7067
|
<xsl:if test="string-length($pText) >0">
|
|
6727
|
-
|
|
6728
|
-
|
|
6729
|
-
|
|
6730
|
-
|
|
6731
|
-
|
|
6732
|
-
|
|
6733
|
-
|
|
6734
|
-
|
|
6735
|
-
|
|
6736
|
-
|
|
6737
|
-
|
|
6738
|
-
<xsl:
|
|
6739
|
-
|
|
6740
|
-
|
|
6741
|
-
|
|
7068
|
+
<item>
|
|
7069
|
+
<xsl:choose>
|
|
7070
|
+
<xsl:when test="$normalize-space = 'true'">
|
|
7071
|
+
<xsl:value-of select="normalize-space(substring-before(concat($pText, $sep), $sep))"/>
|
|
7072
|
+
</xsl:when>
|
|
7073
|
+
<xsl:otherwise>
|
|
7074
|
+
<xsl:value-of select="substring-before(concat($pText, $sep), $sep)"/>
|
|
7075
|
+
</xsl:otherwise>
|
|
7076
|
+
</xsl:choose>
|
|
7077
|
+
</item>
|
|
7078
|
+
<xsl:if test="$keep_sep = 'true' and contains($pText, $sep)"><item><xsl:value-of select="$sep"/></item></xsl:if>
|
|
7079
|
+
<xsl:call-template name="split">
|
|
7080
|
+
<xsl:with-param name="pText" select="substring-after($pText, $sep)"/>
|
|
7081
|
+
<xsl:with-param name="sep" select="$sep"/>
|
|
7082
|
+
<xsl:with-param name="normalize-space" select="$normalize-space"/>
|
|
7083
|
+
<xsl:with-param name="keep_sep" select="$keep_sep"/>
|
|
7084
|
+
</xsl:call-template>
|
|
6742
7085
|
</xsl:if>
|
|
6743
7086
|
</xsl:template><xsl:template name="getDocumentId">
|
|
6744
7087
|
<xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
|
|
@@ -844,6 +844,26 @@ p.Tablebody, li.Tablebody, div.Tablebody {
|
|
|
844
844
|
mso-bidi-font-family: {{bodyfont}};
|
|
845
845
|
mso-ansi-language: EN-GB; }
|
|
846
846
|
|
|
847
|
+
p.TOCTitle, li.TOCTitle, div.TOCTitle {
|
|
848
|
+
mso-style-name: "TOC Title";
|
|
849
|
+
mso-style-unhide: no;
|
|
850
|
+
margin-top: 0in;
|
|
851
|
+
margin-right: 0in;
|
|
852
|
+
margin-bottom: {{normalfontsize}};
|
|
853
|
+
margin-left: 0in;
|
|
854
|
+
text-align: left;
|
|
855
|
+
page-break-after: avoid;
|
|
856
|
+
mso-pagination: none;
|
|
857
|
+
mso-hyphenate: none;
|
|
858
|
+
mso-layout-grid-align: none;
|
|
859
|
+
font-size: {{normalfontsize}};
|
|
860
|
+
mso-bidi-font-size: 10.0pt;
|
|
861
|
+
font-weight: bold;
|
|
862
|
+
font-family: {{headerfont}};
|
|
863
|
+
mso-fareast-font-family: {{headerfont}};
|
|
864
|
+
mso-bidi-font-family: {{headerfont}};
|
|
865
|
+
mso-fareast-language: EN-US; }
|
|
866
|
+
|
|
847
867
|
/* Page Definitions */
|
|
848
868
|
@page {
|
|
849
869
|
size: 612.0pt 792.0pt;
|
|
@@ -793,6 +793,25 @@ p.Tablebody, li.Tablebody, div.Tablebody
|
|
|
793
793
|
mso-fareast-font-family:$bodyfont;
|
|
794
794
|
mso-bidi-font-family:$bodyfont;
|
|
795
795
|
mso-ansi-language:EN-GB;}
|
|
796
|
+
p.TOCTitle, li.TOCTitle, div.TOCTitle
|
|
797
|
+
{mso-style-name:"TOC Title";
|
|
798
|
+
mso-style-unhide:no;
|
|
799
|
+
margin-top:0in;
|
|
800
|
+
margin-right:0in;
|
|
801
|
+
margin-bottom:$normalfontsize;
|
|
802
|
+
margin-left:0in;
|
|
803
|
+
text-align:left;
|
|
804
|
+
page-break-after:avoid;
|
|
805
|
+
mso-pagination:none;
|
|
806
|
+
mso-hyphenate:none;
|
|
807
|
+
mso-layout-grid-align:none;
|
|
808
|
+
font-size:$normalfontsize;
|
|
809
|
+
mso-bidi-font-size:10.0pt;
|
|
810
|
+
font-weight:bold;
|
|
811
|
+
font-family:$headerfont;
|
|
812
|
+
mso-fareast-font-family:$headerfont;
|
|
813
|
+
mso-bidi-font-family:$headerfont;
|
|
814
|
+
mso-fareast-language:EN-US;}
|
|
796
815
|
|
|
797
816
|
|
|
798
817
|
/* Page Definitions */
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: metanorma-csa
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0.
|
|
4
|
+
version: 2.0.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-
|
|
11
|
+
date: 2022-04-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: metanorma-generic
|
|
@@ -247,7 +247,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
247
247
|
- !ruby/object:Gem::Version
|
|
248
248
|
version: '0'
|
|
249
249
|
requirements: []
|
|
250
|
-
rubygems_version: 3.
|
|
250
|
+
rubygems_version: 3.3.9
|
|
251
251
|
signing_key:
|
|
252
252
|
specification_version: 4
|
|
253
253
|
summary: metanorma-csa lets you write CSA Normal Documents (CSAND) in AsciiDoc.
|