metanorma-un 0.5.5 → 0.5.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +62 -0
- data/README.adoc +2 -4
- data/lib/asciidoctor/un/basicdoc.rng +50 -3
- data/lib/asciidoctor/un/isodoc.rng +36 -43
- data/lib/isodoc/un/base_convert.rb +1 -1
- data/lib/isodoc/un/html/htmlstyle.css +7 -3
- data/lib/isodoc/un/html/htmlstyle.scss +2 -2
- data/lib/isodoc/un/html/unece.css +19 -20
- data/lib/isodoc/un/html/unece.scss +19 -20
- data/lib/isodoc/un/html/wordstyle.css +17 -17
- data/lib/isodoc/un/html/wordstyle.scss +17 -17
- data/lib/isodoc/un/html_convert.rb +3 -1
- data/lib/isodoc/un/i18n-en.yaml +1 -0
- data/lib/isodoc/un/pdf_convert.rb +2 -2
- data/lib/isodoc/un/un.plenary-attachment.xsl +322 -63
- data/lib/isodoc/un/un.plenary.xsl +322 -63
- data/lib/isodoc/un/un.recommendation.xsl +290 -64
- data/lib/isodoc/un/word_convert.rb +5 -1
- data/lib/isodoc/un/xref.rb +4 -4
- data/lib/metanorma/un/processor.rb +11 -8
- data/lib/metanorma/un/version.rb +1 -1
- data/metanorma-unece.gemspec +2 -2
- metadata +7 -9
- data/.github/workflows/macos.yml +0 -38
- data/.github/workflows/ubuntu.yml +0 -56
- data/.github/workflows/windows.yml +0 -40
@@ -37,7 +37,7 @@
|
|
37
37
|
|
38
38
|
<xsl:template match="/">
|
39
39
|
<xsl:call-template name="namespaceCheck"/>
|
40
|
-
<fo:root font-family="Times New Roman, STIX Two Math,
|
40
|
+
<fo:root font-family="Times New Roman, STIX Two Math, Source Han Sans" font-size="10pt" xml:lang="{$lang}">
|
41
41
|
<fo:layout-master-set>
|
42
42
|
<!-- Cover page -->
|
43
43
|
<fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
@@ -162,7 +162,40 @@
|
|
162
162
|
<fo:block margin-left="-20mm">
|
163
163
|
<fo:block font-size="17pt" margin-bottom="16pt">
|
164
164
|
<xsl:value-of select="$title"/>
|
165
|
+
|
166
|
+
<xsl:for-each select="/un:un-standard/un:bibdata/un:note[@type = 'title-footnote']">
|
167
|
+
<xsl:variable name="number" select="position()"/>
|
168
|
+
<fo:inline font-size="14pt" baseline-shift="15%" font-weight="normal">
|
169
|
+
<xsl:if test="$number = 1">
|
170
|
+
<xsl:text> </xsl:text>
|
171
|
+
</xsl:if>
|
172
|
+
<fo:basic-link internal-destination="title-footnote_{$number}" fox:alt-text="title footnote">
|
173
|
+
<xsl:call-template name="repeat">
|
174
|
+
<xsl:with-param name="char" select="'*'"/>
|
175
|
+
<xsl:with-param name="count" select="$number"/>
|
176
|
+
</xsl:call-template>
|
177
|
+
</fo:basic-link>
|
178
|
+
<xsl:if test="position() != last()"><fo:inline baseline-shift="20%">,</fo:inline></xsl:if>
|
179
|
+
</fo:inline>
|
180
|
+
</xsl:for-each>
|
181
|
+
|
182
|
+
<xsl:for-each select="/un:un-standard/un:bibdata/un:note[@type = 'title-footnote']">
|
183
|
+
<xsl:variable name="number" select="position()"/>
|
184
|
+
<fo:block id="title-footnote_{$number}" font-size="14pt" font-weight="normal">
|
185
|
+
<xsl:if test="$number = 1">
|
186
|
+
<xsl:attribute name="margin-top">12pt</xsl:attribute>
|
187
|
+
</xsl:if>
|
188
|
+
<xsl:call-template name="repeat">
|
189
|
+
<xsl:with-param name="char" select="'*'"/>
|
190
|
+
<xsl:with-param name="count" select="$number"/>
|
191
|
+
</xsl:call-template>
|
192
|
+
<xsl:text> </xsl:text>
|
193
|
+
<xsl:apply-templates/>
|
194
|
+
</fo:block>
|
195
|
+
</xsl:for-each>
|
196
|
+
|
165
197
|
</fo:block>
|
198
|
+
|
166
199
|
<fo:block font-size="14pt" margin-bottom="16pt">
|
167
200
|
<xsl:value-of select="/un:un-standard/un:bibdata/un:title[@language = 'en' and @type = 'subtitle']"/>
|
168
201
|
</fo:block>
|
@@ -583,7 +616,7 @@
|
|
583
616
|
<xsl:when test="ancestor::*[un:annex]">
|
584
617
|
<xsl:choose>
|
585
618
|
<xsl:when test="$level = 1">
|
586
|
-
<xsl:number format="a)"/>
|
619
|
+
<xsl:number format="a)" lang="en"/>
|
587
620
|
</xsl:when>
|
588
621
|
<xsl:when test="$level = 2">
|
589
622
|
<xsl:number format="i)"/>
|
@@ -1214,13 +1247,22 @@
|
|
1214
1247
|
<title-part lang="en">
|
1215
1248
|
|
1216
1249
|
|
1250
|
+
|
1217
1251
|
</title-part>
|
1218
1252
|
<title-part lang="fr">
|
1219
1253
|
|
1220
1254
|
|
1255
|
+
|
1221
1256
|
</title-part>
|
1222
1257
|
<title-part lang="zh">第 # 部分:</title-part>
|
1223
1258
|
|
1259
|
+
<title-subpart lang="en">
|
1260
|
+
|
1261
|
+
</title-subpart>
|
1262
|
+
<title-subpart lang="fr">
|
1263
|
+
|
1264
|
+
</title-subpart>
|
1265
|
+
|
1224
1266
|
<title-modified lang="en">modified</title-modified>
|
1225
1267
|
<title-modified lang="fr">modifiée</title-modified>
|
1226
1268
|
|
@@ -1475,6 +1517,7 @@
|
|
1475
1517
|
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
1476
1518
|
|
1477
1519
|
|
1520
|
+
|
1478
1521
|
</xsl:attribute-set><xsl:variable name="note-body-indent">10mm</xsl:variable><xsl:variable name="note-body-indent-table">5mm</xsl:variable><xsl:attribute-set name="note-name-style">
|
1479
1522
|
|
1480
1523
|
|
@@ -1517,6 +1560,7 @@
|
|
1517
1560
|
|
1518
1561
|
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
1519
1562
|
|
1563
|
+
|
1520
1564
|
</xsl:attribute-set><xsl:attribute-set name="quote-style">
|
1521
1565
|
|
1522
1566
|
|
@@ -1541,6 +1585,7 @@
|
|
1541
1585
|
</xsl:attribute-set><xsl:attribute-set name="term-style">
|
1542
1586
|
|
1543
1587
|
</xsl:attribute-set><xsl:attribute-set name="figure-name-style">
|
1588
|
+
|
1544
1589
|
|
1545
1590
|
|
1546
1591
|
|
@@ -1662,7 +1707,9 @@
|
|
1662
1707
|
|
1663
1708
|
|
1664
1709
|
|
1665
|
-
|
1710
|
+
<!-- <xsl:if test="$namespace = 'bipm'">
|
1711
|
+
<fo:block> </fo:block>
|
1712
|
+
</xsl:if> -->
|
1666
1713
|
|
1667
1714
|
<!-- $namespace = 'iso' or -->
|
1668
1715
|
|
@@ -1696,10 +1743,12 @@
|
|
1696
1743
|
|
1697
1744
|
|
1698
1745
|
<xsl:variable name="colwidths">
|
1699
|
-
<xsl:
|
1700
|
-
<xsl:
|
1701
|
-
|
1702
|
-
|
1746
|
+
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
|
1747
|
+
<xsl:call-template name="calculate-column-widths">
|
1748
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
1749
|
+
<xsl:with-param name="table" select="$simple-table"/>
|
1750
|
+
</xsl:call-template>
|
1751
|
+
</xsl:if>
|
1703
1752
|
</xsl:variable>
|
1704
1753
|
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
1705
1754
|
|
@@ -1772,16 +1821,25 @@
|
|
1772
1821
|
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
|
1773
1822
|
</xsl:if>
|
1774
1823
|
|
1775
|
-
<xsl:
|
1776
|
-
<xsl:
|
1777
|
-
<xsl:
|
1778
|
-
<fo:table-column column-width="
|
1779
|
-
</xsl:
|
1780
|
-
|
1781
|
-
|
1782
|
-
|
1783
|
-
|
1784
|
-
|
1824
|
+
<xsl:choose>
|
1825
|
+
<xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
|
1826
|
+
<xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
|
1827
|
+
<fo:table-column column-width="{@width}"/>
|
1828
|
+
</xsl:for-each>
|
1829
|
+
</xsl:when>
|
1830
|
+
<xsl:otherwise>
|
1831
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
1832
|
+
<xsl:choose>
|
1833
|
+
<xsl:when test=". = 1 or . = 0">
|
1834
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
1835
|
+
</xsl:when>
|
1836
|
+
<xsl:otherwise>
|
1837
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
1838
|
+
</xsl:otherwise>
|
1839
|
+
</xsl:choose>
|
1840
|
+
</xsl:for-each>
|
1841
|
+
</xsl:otherwise>
|
1842
|
+
</xsl:choose>
|
1785
1843
|
|
1786
1844
|
<xsl:choose>
|
1787
1845
|
<xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
|
@@ -1794,10 +1852,12 @@
|
|
1794
1852
|
|
1795
1853
|
</fo:table>
|
1796
1854
|
|
1855
|
+
<xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
|
1797
1856
|
<xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
|
1798
1857
|
<xsl:call-template name="insertTableFooterInSeparateTable">
|
1799
1858
|
<xsl:with-param name="table_attributes" select="$table_attributes"/>
|
1800
1859
|
<xsl:with-param name="colwidths" select="$colwidths"/>
|
1860
|
+
<xsl:with-param name="colgroup" select="$colgroup"/>
|
1801
1861
|
</xsl:call-template>
|
1802
1862
|
</xsl:for-each>
|
1803
1863
|
|
@@ -1830,6 +1890,7 @@
|
|
1830
1890
|
<xsl:if test="normalize-space() != ''">
|
1831
1891
|
<fo:block xsl:use-attribute-sets="table-name-style">
|
1832
1892
|
|
1893
|
+
|
1833
1894
|
<xsl:apply-templates/>
|
1834
1895
|
</fo:block>
|
1835
1896
|
</xsl:if>
|
@@ -2012,12 +2073,26 @@
|
|
2012
2073
|
|
2013
2074
|
|
2014
2075
|
|
2015
|
-
<!-- except gb and bipm -->
|
2016
2076
|
|
2017
|
-
<xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
|
2018
2077
|
|
2019
2078
|
|
2079
|
+
<!-- except gb -->
|
2020
2080
|
|
2081
|
+
<xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
|
2082
|
+
|
2083
|
+
|
2084
|
+
<!-- show Note under table in preface (ex. abstract) sections -->
|
2085
|
+
<!-- empty, because notes show at page side in main sections -->
|
2086
|
+
<!-- <xsl:if test="$namespace = 'bipm'">
|
2087
|
+
<xsl:choose>
|
2088
|
+
<xsl:when test="ancestor::*[local-name()='preface']">
|
2089
|
+
<xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
|
2090
|
+
</xsl:when>
|
2091
|
+
<xsl:otherwise>
|
2092
|
+
<fo:block/>
|
2093
|
+
</xsl:otherwise>
|
2094
|
+
</xsl:choose>
|
2095
|
+
</xsl:if> -->
|
2021
2096
|
|
2022
2097
|
|
2023
2098
|
<!-- horizontal row separator -->
|
@@ -2036,12 +2111,22 @@
|
|
2036
2111
|
</xsl:template><xsl:template name="insertTableFooterInSeparateTable">
|
2037
2112
|
<xsl:param name="table_attributes"/>
|
2038
2113
|
<xsl:param name="colwidths"/>
|
2114
|
+
<xsl:param name="colgroup"/>
|
2039
2115
|
|
2040
2116
|
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
|
2041
2117
|
|
2042
2118
|
<xsl:if test="$isNoteOrFnExist = 'true'">
|
2043
2119
|
|
2044
|
-
<xsl:variable name="cols-count"
|
2120
|
+
<xsl:variable name="cols-count">
|
2121
|
+
<xsl:choose>
|
2122
|
+
<xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
|
2123
|
+
<xsl:value-of select="count(xalan:nodeset($colgroup)//*[local-name()='col'])"/>
|
2124
|
+
</xsl:when>
|
2125
|
+
<xsl:otherwise>
|
2126
|
+
<xsl:value-of select="count(xalan:nodeset($colwidths)//column)"/>
|
2127
|
+
</xsl:otherwise>
|
2128
|
+
</xsl:choose>
|
2129
|
+
</xsl:variable>
|
2045
2130
|
|
2046
2131
|
<fo:table keep-with-previous="always">
|
2047
2132
|
<xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
|
@@ -2059,16 +2144,25 @@
|
|
2059
2144
|
</xsl:choose>
|
2060
2145
|
</xsl:for-each>
|
2061
2146
|
|
2062
|
-
<xsl:
|
2063
|
-
<xsl:
|
2064
|
-
<xsl:
|
2065
|
-
<fo:table-column column-width="
|
2066
|
-
</xsl:
|
2067
|
-
|
2068
|
-
|
2069
|
-
|
2070
|
-
|
2071
|
-
|
2147
|
+
<xsl:choose>
|
2148
|
+
<xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
|
2149
|
+
<xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
|
2150
|
+
<fo:table-column column-width="{@width}"/>
|
2151
|
+
</xsl:for-each>
|
2152
|
+
</xsl:when>
|
2153
|
+
<xsl:otherwise>
|
2154
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
2155
|
+
<xsl:choose>
|
2156
|
+
<xsl:when test=". = 1 or . = 0">
|
2157
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
2158
|
+
</xsl:when>
|
2159
|
+
<xsl:otherwise>
|
2160
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
2161
|
+
</xsl:otherwise>
|
2162
|
+
</xsl:choose>
|
2163
|
+
</xsl:for-each>
|
2164
|
+
</xsl:otherwise>
|
2165
|
+
</xsl:choose>
|
2072
2166
|
|
2073
2167
|
<fo:table-body>
|
2074
2168
|
<fo:table-row>
|
@@ -2080,7 +2174,11 @@
|
|
2080
2174
|
|
2081
2175
|
|
2082
2176
|
|
2083
|
-
|
2177
|
+
|
2178
|
+
|
2179
|
+
|
2180
|
+
|
2181
|
+
<!-- except gb -->
|
2084
2182
|
|
2085
2183
|
<xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
|
2086
2184
|
|
@@ -2170,6 +2268,10 @@
|
|
2170
2268
|
|
2171
2269
|
|
2172
2270
|
|
2271
|
+
<!-- <xsl:if test="$namespace = 'bipm'">
|
2272
|
+
<xsl:attribute name="height">8mm</xsl:attribute>
|
2273
|
+
</xsl:if> -->
|
2274
|
+
|
2173
2275
|
<xsl:apply-templates/>
|
2174
2276
|
</fo:table-row>
|
2175
2277
|
</xsl:template><xsl:template match="*[local-name()='th']">
|
@@ -2269,7 +2371,8 @@
|
|
2269
2371
|
</xsl:attribute>
|
2270
2372
|
</xsl:if>
|
2271
2373
|
<xsl:call-template name="display-align"/>
|
2272
|
-
<fo:block>
|
2374
|
+
<fo:block>
|
2375
|
+
|
2273
2376
|
<xsl:apply-templates/>
|
2274
2377
|
</fo:block>
|
2275
2378
|
</fo:table-cell>
|
@@ -2491,7 +2594,13 @@
|
|
2491
2594
|
<xsl:apply-templates/>
|
2492
2595
|
</fo:inline>
|
2493
2596
|
</xsl:template><xsl:template match="*[local-name()='dl']">
|
2494
|
-
<fo:block-container
|
2597
|
+
<fo:block-container>
|
2598
|
+
|
2599
|
+
<xsl:if test="not(ancestor::*[local-name() = 'quote'])">
|
2600
|
+
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
2601
|
+
</xsl:if>
|
2602
|
+
|
2603
|
+
|
2495
2604
|
<xsl:if test="parent::*[local-name() = 'note']">
|
2496
2605
|
<xsl:attribute name="margin-left">
|
2497
2606
|
<xsl:choose>
|
@@ -2501,8 +2610,12 @@
|
|
2501
2610
|
</xsl:attribute>
|
2502
2611
|
|
2503
2612
|
</xsl:if>
|
2504
|
-
<fo:block-container
|
2505
|
-
|
2613
|
+
<fo:block-container>
|
2614
|
+
|
2615
|
+
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
2616
|
+
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
2617
|
+
|
2618
|
+
|
2506
2619
|
<xsl:variable name="parent" select="local-name(..)"/>
|
2507
2620
|
|
2508
2621
|
<xsl:variable name="key_iso">
|
@@ -2516,9 +2629,12 @@
|
|
2516
2629
|
<fo:block margin-bottom="12pt" text-align="left">
|
2517
2630
|
|
2518
2631
|
<xsl:variable name="title-where">
|
2519
|
-
|
2520
|
-
|
2521
|
-
|
2632
|
+
|
2633
|
+
|
2634
|
+
<xsl:call-template name="getTitle">
|
2635
|
+
<xsl:with-param name="name" select="'title-where'"/>
|
2636
|
+
</xsl:call-template>
|
2637
|
+
|
2522
2638
|
</xsl:variable>
|
2523
2639
|
<xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
|
2524
2640
|
<xsl:apply-templates select="*[local-name()='dt']/*"/>
|
@@ -2534,9 +2650,12 @@
|
|
2534
2650
|
|
2535
2651
|
|
2536
2652
|
<xsl:variable name="title-where">
|
2537
|
-
|
2538
|
-
|
2539
|
-
|
2653
|
+
|
2654
|
+
|
2655
|
+
<xsl:call-template name="getTitle">
|
2656
|
+
<xsl:with-param name="name" select="'title-where'"/>
|
2657
|
+
</xsl:call-template>
|
2658
|
+
|
2540
2659
|
</xsl:variable>
|
2541
2660
|
<xsl:value-of select="$title-where"/>
|
2542
2661
|
</fo:block>
|
@@ -2547,9 +2666,12 @@
|
|
2547
2666
|
|
2548
2667
|
|
2549
2668
|
<xsl:variable name="title-key">
|
2550
|
-
|
2551
|
-
|
2552
|
-
|
2669
|
+
|
2670
|
+
|
2671
|
+
<xsl:call-template name="getTitle">
|
2672
|
+
<xsl:with-param name="name" select="'title-key'"/>
|
2673
|
+
</xsl:call-template>
|
2674
|
+
|
2553
2675
|
</xsl:variable>
|
2554
2676
|
<xsl:value-of select="$title-key"/>
|
2555
2677
|
</fo:block>
|
@@ -2675,12 +2797,32 @@
|
|
2675
2797
|
</xsl:otherwise>
|
2676
2798
|
</xsl:choose>
|
2677
2799
|
</xsl:template><xsl:template name="getMaxLength_dt">
|
2678
|
-
<xsl:
|
2679
|
-
<xsl:
|
2680
|
-
|
2681
|
-
<xsl:
|
2682
|
-
|
2683
|
-
|
2800
|
+
<xsl:variable name="lengths">
|
2801
|
+
<xsl:for-each select="*[local-name()='dt']">
|
2802
|
+
<xsl:variable name="maintext_length" select="string-length(normalize-space(.))"/>
|
2803
|
+
<xsl:variable name="attributes">
|
2804
|
+
<xsl:for-each select=".//@open"><xsl:value-of select="."/></xsl:for-each>
|
2805
|
+
<xsl:for-each select=".//@close"><xsl:value-of select="."/></xsl:for-each>
|
2806
|
+
</xsl:variable>
|
2807
|
+
<length><xsl:value-of select="string-length(normalize-space(.)) + string-length($attributes)"/></length>
|
2808
|
+
</xsl:for-each>
|
2809
|
+
</xsl:variable>
|
2810
|
+
<xsl:variable name="maxLength">
|
2811
|
+
<!-- <xsl:for-each select="*[local-name()='dt']">
|
2812
|
+
<xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
|
2813
|
+
<xsl:if test="position() = 1">
|
2814
|
+
<xsl:value-of select="string-length(normalize-space(.))"/>
|
2815
|
+
</xsl:if>
|
2816
|
+
</xsl:for-each> -->
|
2817
|
+
<xsl:for-each select="xalan:nodeset($lengths)/length">
|
2818
|
+
<xsl:sort select="." data-type="number" order="descending"/>
|
2819
|
+
<xsl:if test="position() = 1">
|
2820
|
+
<xsl:value-of select="."/>
|
2821
|
+
</xsl:if>
|
2822
|
+
</xsl:for-each>
|
2823
|
+
</xsl:variable>
|
2824
|
+
<!-- <xsl:message>DEBUG:<xsl:value-of select="$maxLength"/></xsl:message> -->
|
2825
|
+
<xsl:value-of select="$maxLength"/>
|
2684
2826
|
</xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']" priority="2">
|
2685
2827
|
<xsl:param name="key_iso"/>
|
2686
2828
|
|
@@ -2792,6 +2934,7 @@
|
|
2792
2934
|
</fo:inline>
|
2793
2935
|
</xsl:template><xsl:template match="*[local-name()='strong'] | *[local-name()='b']">
|
2794
2936
|
<fo:inline font-weight="bold">
|
2937
|
+
|
2795
2938
|
<xsl:apply-templates/>
|
2796
2939
|
</fo:inline>
|
2797
2940
|
</xsl:template><xsl:template match="*[local-name()='sup']">
|
@@ -3120,7 +3263,18 @@
|
|
3120
3263
|
<xsl:with-param name="previousRow" select="$newRow"/>
|
3121
3264
|
</xsl:apply-templates>
|
3122
3265
|
</xsl:template><xsl:template name="getLang">
|
3123
|
-
<xsl:variable name="
|
3266
|
+
<xsl:variable name="language_current" select="normalize-space(//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
|
3267
|
+
<xsl:variable name="language">
|
3268
|
+
<xsl:choose>
|
3269
|
+
<xsl:when test="$language_current != ''">
|
3270
|
+
<xsl:value-of select="$language_current"/>
|
3271
|
+
</xsl:when>
|
3272
|
+
<xsl:otherwise>
|
3273
|
+
<xsl:value-of select="//*[local-name()='bibdata']//*[local-name()='language']"/>
|
3274
|
+
</xsl:otherwise>
|
3275
|
+
</xsl:choose>
|
3276
|
+
</xsl:variable>
|
3277
|
+
|
3124
3278
|
<xsl:choose>
|
3125
3279
|
<xsl:when test="$language = 'English'">en</xsl:when>
|
3126
3280
|
<xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
|
@@ -3155,6 +3309,7 @@
|
|
3155
3309
|
<xsl:value-of select="substring($str, 2)"/>
|
3156
3310
|
</xsl:template><xsl:template match="mathml:math">
|
3157
3311
|
<fo:inline font-family="STIX Two Math"> <!-- -->
|
3312
|
+
|
3158
3313
|
<xsl:variable name="mathml">
|
3159
3314
|
<xsl:apply-templates select="." mode="mathml"/>
|
3160
3315
|
</xsl:variable>
|
@@ -3184,6 +3339,7 @@
|
|
3184
3339
|
</xsl:choose>
|
3185
3340
|
</xsl:variable>
|
3186
3341
|
<fo:inline xsl:use-attribute-sets="link-style">
|
3342
|
+
|
3187
3343
|
<xsl:choose>
|
3188
3344
|
<xsl:when test="$target = ''">
|
3189
3345
|
<xsl:apply-templates/>
|
@@ -3237,10 +3393,14 @@
|
|
3237
3393
|
</fo:inline>
|
3238
3394
|
</xsl:template><xsl:template match="*[local-name() = 'modification']">
|
3239
3395
|
<xsl:variable name="title-modified">
|
3240
|
-
|
3241
|
-
|
3242
|
-
|
3396
|
+
|
3397
|
+
|
3398
|
+
<xsl:call-template name="getTitle">
|
3399
|
+
<xsl:with-param name="name" select="'title-modified'"/>
|
3400
|
+
</xsl:call-template>
|
3401
|
+
|
3243
3402
|
</xsl:variable>
|
3403
|
+
|
3244
3404
|
<xsl:choose>
|
3245
3405
|
<xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:text>—</xsl:text></xsl:when>
|
3246
3406
|
<xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise>
|
@@ -3310,6 +3470,8 @@
|
|
3310
3470
|
|
3311
3471
|
|
3312
3472
|
|
3473
|
+
|
3474
|
+
|
3313
3475
|
<fo:inline xsl:use-attribute-sets="note-name-style">
|
3314
3476
|
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
3315
3477
|
</fo:inline>
|
@@ -3402,7 +3564,8 @@
|
|
3402
3564
|
</fo:inline>
|
3403
3565
|
</xsl:if>
|
3404
3566
|
</xsl:template><xsl:template match="*[local-name() = 'figure']">
|
3405
|
-
<fo:block-container id="{@id}">
|
3567
|
+
<fo:block-container id="{@id}">
|
3568
|
+
|
3406
3569
|
<fo:block>
|
3407
3570
|
<xsl:apply-templates/>
|
3408
3571
|
</fo:block>
|
@@ -3453,7 +3616,7 @@
|
|
3453
3616
|
<xsl:apply-templates mode="bookmarks"/>
|
3454
3617
|
</xsl:template><xsl:template match="*[local-name() = 'stem']" mode="contents">
|
3455
3618
|
<xsl:apply-templates select="."/>
|
3456
|
-
</xsl:template><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
|
3619
|
+
</xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
|
3457
3620
|
<xsl:apply-templates mode="bookmarks"/>
|
3458
3621
|
</xsl:template><xsl:template name="addBookmarks">
|
3459
3622
|
<xsl:param name="contents"/>
|
@@ -3469,6 +3632,8 @@
|
|
3469
3632
|
<xsl:variable name="bookmark-title_">
|
3470
3633
|
<xsl:call-template name="getLangVersion">
|
3471
3634
|
<xsl:with-param name="lang" select="@lang"/>
|
3635
|
+
<xsl:with-param name="doctype" select="@doctype"/>
|
3636
|
+
<xsl:with-param name="title" select="@title-part"/>
|
3472
3637
|
</xsl:call-template>
|
3473
3638
|
</xsl:variable>
|
3474
3639
|
<xsl:choose>
|
@@ -3486,13 +3651,34 @@
|
|
3486
3651
|
</xsl:choose>
|
3487
3652
|
</fo:bookmark-title>
|
3488
3653
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
3654
|
+
|
3655
|
+
<xsl:call-template name="insertFigureBookmarks">
|
3656
|
+
<xsl:with-param name="contents" select="contents"/>
|
3657
|
+
</xsl:call-template>
|
3658
|
+
|
3659
|
+
<xsl:call-template name="insertTableBookmarks">
|
3660
|
+
<xsl:with-param name="contents" select="contents"/>
|
3661
|
+
<xsl:with-param name="lang" select="@lang"/>
|
3662
|
+
</xsl:call-template>
|
3663
|
+
|
3489
3664
|
</fo:bookmark>
|
3490
3665
|
|
3491
3666
|
</xsl:for-each>
|
3492
3667
|
</xsl:when>
|
3493
3668
|
<xsl:otherwise>
|
3494
3669
|
<xsl:for-each select="xalan:nodeset($contents)/doc">
|
3670
|
+
|
3495
3671
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
3672
|
+
|
3673
|
+
<xsl:call-template name="insertFigureBookmarks">
|
3674
|
+
<xsl:with-param name="contents" select="contents"/>
|
3675
|
+
</xsl:call-template>
|
3676
|
+
|
3677
|
+
<xsl:call-template name="insertTableBookmarks">
|
3678
|
+
<xsl:with-param name="contents" select="contents"/>
|
3679
|
+
<xsl:with-param name="lang" select="@lang"/>
|
3680
|
+
</xsl:call-template>
|
3681
|
+
|
3496
3682
|
</xsl:for-each>
|
3497
3683
|
</xsl:otherwise>
|
3498
3684
|
</xsl:choose>
|
@@ -3511,8 +3697,44 @@
|
|
3511
3697
|
|
3512
3698
|
</fo:bookmark-tree>
|
3513
3699
|
</xsl:if>
|
3700
|
+
</xsl:template><xsl:template name="insertFigureBookmarks">
|
3701
|
+
<xsl:param name="contents"/>
|
3702
|
+
<xsl:if test="xalan:nodeset($contents)/figure">
|
3703
|
+
<fo:bookmark internal-destination="{xalan:nodeset($contents)/figure[1]/@id}" starting-state="hide">
|
3704
|
+
<fo:bookmark-title>Figures</fo:bookmark-title>
|
3705
|
+
<xsl:for-each select="xalan:nodeset($contents)/figure">
|
3706
|
+
<fo:bookmark internal-destination="{@id}">
|
3707
|
+
<fo:bookmark-title>
|
3708
|
+
<xsl:value-of select="normalize-space(title)"/>
|
3709
|
+
</fo:bookmark-title>
|
3710
|
+
</fo:bookmark>
|
3711
|
+
</xsl:for-each>
|
3712
|
+
</fo:bookmark>
|
3713
|
+
</xsl:if>
|
3714
|
+
</xsl:template><xsl:template name="insertTableBookmarks">
|
3715
|
+
<xsl:param name="contents"/>
|
3716
|
+
<xsl:param name="lang"/>
|
3717
|
+
<xsl:if test="xalan:nodeset($contents)/table">
|
3718
|
+
<fo:bookmark internal-destination="{xalan:nodeset($contents)/table[1]/@id}" starting-state="hide">
|
3719
|
+
<fo:bookmark-title>
|
3720
|
+
<xsl:choose>
|
3721
|
+
<xsl:when test="$lang = 'fr'">Tableaux</xsl:when>
|
3722
|
+
<xsl:otherwise>Tables</xsl:otherwise>
|
3723
|
+
</xsl:choose>
|
3724
|
+
</fo:bookmark-title>
|
3725
|
+
<xsl:for-each select="xalan:nodeset($contents)/table">
|
3726
|
+
<fo:bookmark internal-destination="{@id}">
|
3727
|
+
<fo:bookmark-title>
|
3728
|
+
<xsl:value-of select="normalize-space(title)"/>
|
3729
|
+
</fo:bookmark-title>
|
3730
|
+
</fo:bookmark>
|
3731
|
+
</xsl:for-each>
|
3732
|
+
</fo:bookmark>
|
3733
|
+
</xsl:if>
|
3514
3734
|
</xsl:template><xsl:template name="getLangVersion">
|
3515
3735
|
<xsl:param name="lang"/>
|
3736
|
+
<xsl:param name="doctype" select="''"/>
|
3737
|
+
<xsl:param name="title" select="''"/>
|
3516
3738
|
<xsl:choose>
|
3517
3739
|
<xsl:when test="$lang = 'en'">
|
3518
3740
|
|
@@ -4000,7 +4222,8 @@
|
|
4000
4222
|
<fo:block-container margin-left="0mm">
|
4001
4223
|
|
4002
4224
|
<fo:block xsl:use-attribute-sets="quote-style">
|
4003
|
-
<xsl:apply-templates select=".//*[local-name() = 'p']"/>
|
4225
|
+
<!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
|
4226
|
+
<xsl:apply-templates select="./*[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
|
4004
4227
|
</fo:block>
|
4005
4228
|
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
|
4006
4229
|
<fo:block xsl:use-attribute-sets="quote-source-style">
|
@@ -4126,9 +4349,12 @@
|
|
4126
4349
|
</fo:block>
|
4127
4350
|
</xsl:template><xsl:template match="*[local-name() = 'deprecates']">
|
4128
4351
|
<xsl:variable name="title-deprecated">
|
4129
|
-
|
4130
|
-
|
4131
|
-
|
4352
|
+
|
4353
|
+
|
4354
|
+
<xsl:call-template name="getTitle">
|
4355
|
+
<xsl:with-param name="name" select="'title-deprecated'"/>
|
4356
|
+
</xsl:call-template>
|
4357
|
+
|
4132
4358
|
</xsl:variable>
|
4133
4359
|
<fo:block xsl:use-attribute-sets="deprecates-style">
|
4134
4360
|
<xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/>
|
@@ -4182,7 +4408,7 @@
|
|
4182
4408
|
<fo:block id="{@id}">
|
4183
4409
|
<xsl:apply-templates/>
|
4184
4410
|
</fo:block>
|
4185
|
-
</xsl:template><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@normative='true']">
|
4411
|
+
</xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" priority="3"/><xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3"/><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@normative='true']">
|
4186
4412
|
|
4187
4413
|
<fo:block id="{@id}">
|
4188
4414
|
<xsl:apply-templates/>
|
@@ -4244,7 +4470,8 @@
|
|
4244
4470
|
<fo:table-column column-width="107mm"/>
|
4245
4471
|
<fo:table-column column-width="15mm"/>
|
4246
4472
|
<fo:table-body>
|
4247
|
-
<fo:table-row
|
4473
|
+
<fo:table-row text-align="center" font-weight="bold" background-color="black" color="white">
|
4474
|
+
|
4248
4475
|
<fo:table-cell border="1pt solid black"><fo:block>Date</fo:block></fo:table-cell>
|
4249
4476
|
<fo:table-cell border="1pt solid black"><fo:block>Type</fo:block></fo:table-cell>
|
4250
4477
|
<fo:table-cell border="1pt solid black"><fo:block>Change</fo:block></fo:table-cell>
|
@@ -4262,6 +4489,10 @@
|
|
4262
4489
|
<fo:block><xsl:apply-templates/></fo:block>
|
4263
4490
|
</fo:table-cell>
|
4264
4491
|
</xsl:template><xsl:template name="processBibitem">
|
4492
|
+
|
4493
|
+
|
4494
|
+
<!-- end BIPM bibitem processing-->
|
4495
|
+
|
4265
4496
|
|
4266
4497
|
|
4267
4498
|
|
@@ -4499,13 +4730,22 @@
|
|
4499
4730
|
</xsl:template><xsl:template name="split">
|
4500
4731
|
<xsl:param name="pText" select="."/>
|
4501
4732
|
<xsl:param name="sep" select="','"/>
|
4733
|
+
<xsl:param name="normalize-space" select="'true'"/>
|
4502
4734
|
<xsl:if test="string-length($pText) >0">
|
4503
4735
|
<item>
|
4504
|
-
<xsl:
|
4736
|
+
<xsl:choose>
|
4737
|
+
<xsl:when test="$normalize-space = 'true'">
|
4738
|
+
<xsl:value-of select="normalize-space(substring-before(concat($pText, $sep), $sep))"/>
|
4739
|
+
</xsl:when>
|
4740
|
+
<xsl:otherwise>
|
4741
|
+
<xsl:value-of select="substring-before(concat($pText, $sep), $sep)"/>
|
4742
|
+
</xsl:otherwise>
|
4743
|
+
</xsl:choose>
|
4505
4744
|
</item>
|
4506
4745
|
<xsl:call-template name="split">
|
4507
4746
|
<xsl:with-param name="pText" select="substring-after($pText, $sep)"/>
|
4508
4747
|
<xsl:with-param name="sep" select="$sep"/>
|
4748
|
+
<xsl:with-param name="normalize-space" select="$normalize-space"/>
|
4509
4749
|
</xsl:call-template>
|
4510
4750
|
</xsl:if>
|
4511
4751
|
</xsl:template><xsl:template name="getDocumentId">
|
@@ -4571,4 +4811,23 @@
|
|
4571
4811
|
<xsl:with-param name="letter-spacing" select="$letter-spacing"/>
|
4572
4812
|
</xsl:call-template>
|
4573
4813
|
</xsl:if>
|
4814
|
+
</xsl:template><xsl:template name="repeat">
|
4815
|
+
<xsl:param name="char" select="'*'"/>
|
4816
|
+
<xsl:param name="count"/>
|
4817
|
+
<xsl:if test="$count > 0">
|
4818
|
+
<xsl:value-of select="$char"/>
|
4819
|
+
<xsl:call-template name="repeat">
|
4820
|
+
<xsl:with-param name="char" select="$char"/>
|
4821
|
+
<xsl:with-param name="count" select="$count - 1"/>
|
4822
|
+
</xsl:call-template>
|
4823
|
+
</xsl:if>
|
4824
|
+
</xsl:template><xsl:template name="getLocalizedString">
|
4825
|
+
<xsl:param name="key"/>
|
4826
|
+
|
4827
|
+
<xsl:variable name="curr_lang">
|
4828
|
+
<xsl:call-template name="getLang"/>
|
4829
|
+
</xsl:variable>
|
4830
|
+
|
4831
|
+
<xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
4832
|
+
|
4574
4833
|
</xsl:template></xsl:stylesheet>
|