metanorma-iec 1.4.3 → 1.4.4
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/Gemfile +2 -0
- data/lib/asciidoctor/iec/converter.rb +1 -1
- data/lib/asciidoctor/iec/isodoc.rng +14 -0
- data/lib/asciidoctor/iec/isostandard.rng +14 -0
- data/lib/isodoc/iec/base_convert.rb +0 -12
- data/lib/isodoc/iec/html/htmlstyle.css +21 -0
- data/lib/isodoc/iec/html/htmlstyle.scss +26 -0
- data/lib/isodoc/iec/html/scripts.html +0 -1
- data/lib/isodoc/iec/iec.international-standard.xsl +344 -95
- data/lib/isodoc/iec/presentation_xml_convert.rb +131 -0
- data/lib/metanorma/iec/version.rb +1 -1
- data/spec/isodoc/iev_spec.rb +321 -97
- data/spec/isodoc/postproc_spec.rb +2 -5
- data/spec/isodoc/terms_spec.rb +14 -21
- metadata +3 -3
@@ -7,6 +7,8 @@
|
|
7
7
|
<xsl:variable name="images" select="document($svg_images)"/>
|
8
8
|
<xsl:param name="basepath"/>
|
9
9
|
|
10
|
+
<xsl:key name="kfn" match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])]" use="@reference"/>
|
11
|
+
|
10
12
|
|
11
13
|
|
12
14
|
<xsl:param name="additionalXMLs" select="''"/> <!-- iec-rice.fr.xml -->
|
@@ -137,6 +139,7 @@
|
|
137
139
|
<contents>
|
138
140
|
<xsl:call-template name="processPrefaceSectionsDefault_Contents"/>
|
139
141
|
<xsl:call-template name="processMainSectionsDefault_Contents"/>
|
142
|
+
<xsl:apply-templates select="//iec:indexsect" mode="contents"/>
|
140
143
|
<xsl:for-each select="//*[local-name() = 'figure'][@id and *[local-name() = 'name']]">
|
141
144
|
<figure id="{@id}">
|
142
145
|
<title><xsl:value-of select="*[local-name() = 'name']/text()"/></title>
|
@@ -157,6 +160,8 @@
|
|
157
160
|
<xsl:call-template name="getLang"/>
|
158
161
|
</xsl:variable>
|
159
162
|
|
163
|
+
<xsl:variable name="isIEV" select="normalize-space((//iec:iec-standard/iec:bibdata/iec:title[@language = 'en' and @type = 'title-main'] = 'International Electrotechnical Vocabulary') and 1 = 1)"/>
|
164
|
+
|
160
165
|
<xsl:template match="/">
|
161
166
|
<xsl:call-template name="namespaceCheck"/>
|
162
167
|
<!-- https://stackoverflow.com/questions/25261949/xsl-fo-letter-spacing-with-text-align -->
|
@@ -1088,6 +1093,9 @@
|
|
1088
1093
|
<xsl:if test="$num = '1'">
|
1089
1094
|
<xsl:attribute name="initial-page-number">2</xsl:attribute>
|
1090
1095
|
</xsl:if>
|
1096
|
+
<xsl:if test="$isIEV = 'true'">
|
1097
|
+
<xsl:attribute name="format">I</xsl:attribute>
|
1098
|
+
</xsl:if>
|
1091
1099
|
|
1092
1100
|
<xsl:call-template name="insertHeaderFooter"/>
|
1093
1101
|
<fo:flow flow-name="xsl-region-body">
|
@@ -1445,9 +1453,12 @@
|
|
1445
1453
|
<xsl:if test="@level = 2">
|
1446
1454
|
<xsl:attribute name="margin-bottom">3pt</xsl:attribute>
|
1447
1455
|
</xsl:if>
|
1448
|
-
<xsl:if test="@level
|
1456
|
+
<xsl:if test="@level >= 3">
|
1449
1457
|
<xsl:attribute name="margin-bottom">2pt</xsl:attribute>
|
1450
1458
|
</xsl:if>
|
1459
|
+
<xsl:if test="@type = 'indexsect'">
|
1460
|
+
<xsl:attribute name="space-before">16pt</xsl:attribute>
|
1461
|
+
</xsl:if>
|
1451
1462
|
<!-- <xsl:if test="@level >= 2 and @section != ''">
|
1452
1463
|
<xsl:attribute name="margin-left">5mm</xsl:attribute>
|
1453
1464
|
</xsl:if> -->
|
@@ -1458,7 +1469,7 @@
|
|
1458
1469
|
<xsl:attribute name="margin-left">
|
1459
1470
|
<xsl:choose>
|
1460
1471
|
<xsl:when test="@level = 2">8mm</xsl:when>
|
1461
|
-
<xsl:when test="@level
|
1472
|
+
<xsl:when test="@level >= 3"><xsl:value-of select="(@level - 2) * 23"/>mm</xsl:when>
|
1462
1473
|
<xsl:otherwise>0mm</xsl:otherwise>
|
1463
1474
|
</xsl:choose>
|
1464
1475
|
</xsl:attribute>
|
@@ -1467,7 +1478,7 @@
|
|
1467
1478
|
<xsl:when test="@section = ''">0mm</xsl:when>
|
1468
1479
|
<xsl:when test="@level = 1">8mm</xsl:when>
|
1469
1480
|
<xsl:when test="@level = 2">15mm</xsl:when>
|
1470
|
-
<xsl:when test="@level
|
1481
|
+
<xsl:when test="@level >= 3"><xsl:value-of select="(@level - 2) * 19"/>mm</xsl:when>
|
1471
1482
|
<xsl:otherwise>0mm</xsl:otherwise>
|
1472
1483
|
</xsl:choose>
|
1473
1484
|
</xsl:attribute>
|
@@ -1570,7 +1581,10 @@
|
|
1570
1581
|
<xsl:template name="insertBodypages">
|
1571
1582
|
<xsl:param name="lang" select="'en'"/>
|
1572
1583
|
<!-- BODY -->
|
1573
|
-
<fo:page-sequence master-reference="document" force-page-count="no-force">
|
1584
|
+
<fo:page-sequence master-reference="document" force-page-count="no-force">
|
1585
|
+
<xsl:if test="$isIEV = 'true'">
|
1586
|
+
<xsl:attribute name="initial-page-number">1</xsl:attribute>
|
1587
|
+
</xsl:if>
|
1574
1588
|
<fo:static-content flow-name="xsl-footnote-separator">
|
1575
1589
|
<fo:block>
|
1576
1590
|
<fo:leader leader-pattern="rule" leader-length="30%"/>
|
@@ -1612,6 +1626,10 @@
|
|
1612
1626
|
|
1613
1627
|
</fo:flow>
|
1614
1628
|
</fo:page-sequence>
|
1629
|
+
|
1630
|
+
<!-- Index -->
|
1631
|
+
<xsl:apply-templates select="//iec:indexsect" mode="index"/>
|
1632
|
+
|
1615
1633
|
</xsl:template>
|
1616
1634
|
|
1617
1635
|
|
@@ -1712,7 +1730,7 @@
|
|
1712
1730
|
|
1713
1731
|
<xsl:variable name="display">
|
1714
1732
|
<xsl:choose>
|
1715
|
-
<xsl:when test="$level >
|
1733
|
+
<xsl:when test="$level > $toc_level">false</xsl:when>
|
1716
1734
|
<xsl:when test="$section = '' and $type = 'clause'">false</xsl:when><!-- don't show clause with number only in title -->
|
1717
1735
|
<xsl:otherwise>true</xsl:otherwise>
|
1718
1736
|
</xsl:choose>
|
@@ -1737,9 +1755,15 @@
|
|
1737
1755
|
<xsl:if test="$type ='appendix'">
|
1738
1756
|
<xsl:attribute name="section"/>
|
1739
1757
|
</xsl:if>
|
1758
|
+
<xsl:if test="$type ='indexsect'">
|
1759
|
+
<xsl:attribute name="level">1</xsl:attribute>
|
1760
|
+
</xsl:if>
|
1740
1761
|
<title>
|
1741
1762
|
<xsl:choose>
|
1742
|
-
<xsl:when test="$type = 'foreword' or $type = 'introduction'">
|
1763
|
+
<!-- <xsl:when test="$type = 'foreword' or $type = 'introduction'">
|
1764
|
+
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new($title))"/>
|
1765
|
+
</xsl:when> -->
|
1766
|
+
<xsl:when test="$type = 'indexsect'">
|
1743
1767
|
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new($title))"/>
|
1744
1768
|
</xsl:when>
|
1745
1769
|
<xsl:when test="$type = 'appendix'">
|
@@ -1750,7 +1774,9 @@
|
|
1750
1774
|
</xsl:otherwise>
|
1751
1775
|
</xsl:choose>
|
1752
1776
|
</title>
|
1753
|
-
<xsl:
|
1777
|
+
<xsl:if test="$type != 'indexsect'">
|
1778
|
+
<xsl:apply-templates mode="contents"/>
|
1779
|
+
</xsl:if>
|
1754
1780
|
</item>
|
1755
1781
|
|
1756
1782
|
</xsl:if>
|
@@ -1850,7 +1876,8 @@
|
|
1850
1876
|
<xsl:template match="iec:iec-standard/iec:preface/iec:foreword" priority="3">
|
1851
1877
|
<fo:block id="{@id}" margin-bottom="12pt" font-size="12pt" text-align="center">
|
1852
1878
|
<xsl:call-template name="addLetterSpacing">
|
1853
|
-
<xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new(iec:title))"/>
|
1879
|
+
<!-- <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new(iec:title))"/> -->
|
1880
|
+
<xsl:with-param name="text" select="iec:title"/>
|
1854
1881
|
</xsl:call-template>
|
1855
1882
|
</fo:block>
|
1856
1883
|
<fo:block font-size="8.2pt" text-align="justify"> <!-- margin-left="6.3mm" -->
|
@@ -1910,7 +1937,8 @@
|
|
1910
1937
|
</xsl:template>
|
1911
1938
|
<xsl:template match="iec:introduction/iec:title/text()">
|
1912
1939
|
<xsl:call-template name="addLetterSpacing">
|
1913
|
-
<xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new(.))"/>
|
1940
|
+
<!-- <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new(.))"/> -->
|
1941
|
+
<xsl:with-param name="text" select="."/>
|
1914
1942
|
</xsl:call-template>
|
1915
1943
|
</xsl:template>
|
1916
1944
|
|
@@ -2052,37 +2080,6 @@
|
|
2052
2080
|
</xsl:if> -->
|
2053
2081
|
</xsl:template>
|
2054
2082
|
|
2055
|
-
<!--
|
2056
|
-
<fn reference="1">
|
2057
|
-
<p id="_8e5cf917-f75a-4a49-b0aa-1714cb6cf954">Formerly denoted as 15 % (m/m).</p>
|
2058
|
-
</fn>
|
2059
|
-
-->
|
2060
|
-
<xsl:template match="iec:p/iec:fn" priority="2">
|
2061
|
-
<fo:footnote>
|
2062
|
-
<xsl:variable name="number">
|
2063
|
-
<xsl:number level="any" count="iec:p/iec:fn"/>
|
2064
|
-
</xsl:variable>
|
2065
|
-
<xsl:variable name="lang">
|
2066
|
-
<xsl:call-template name="getLang"/>
|
2067
|
-
</xsl:variable>
|
2068
|
-
<fo:inline font-size="8pt" keep-with-previous.within-line="always" baseline-shift="15%"> <!-- font-size="80%" vertical-align="super"-->
|
2069
|
-
<fo:basic-link internal-destination="{$lang}_footnote_{@reference}" fox:alt-text="footnote {@reference}">
|
2070
|
-
<!-- <xsl:value-of select="@reference"/> -->
|
2071
|
-
<xsl:value-of select="$number + count(//iec:bibitem/iec:note)"/><!-- <xsl:text>)</xsl:text> -->
|
2072
|
-
</fo:basic-link>
|
2073
|
-
</fo:inline>
|
2074
|
-
<fo:footnote-body>
|
2075
|
-
<fo:block font-size="8pt" margin-bottom="5pt">
|
2076
|
-
<fo:inline id="{$lang}_footnote_{@reference}" keep-with-next.within-line="always" baseline-shift="15%" padding-right="3mm"> <!-- padding-right="3mm" font-size="60%" alignment-baseline="hanging" -->
|
2077
|
-
<xsl:value-of select="$number + count(//iec:bibitem/iec:note)"/><!-- <xsl:text>)</xsl:text> -->
|
2078
|
-
</fo:inline>
|
2079
|
-
<!-- <xsl:for-each select="iec:p"> -->
|
2080
|
-
<xsl:apply-templates/>
|
2081
|
-
<!-- </xsl:for-each> -->
|
2082
|
-
</fo:block>
|
2083
|
-
</fo:footnote-body>
|
2084
|
-
</fo:footnote>
|
2085
|
-
</xsl:template>
|
2086
2083
|
|
2087
2084
|
<xsl:template match="iec:p/iec:fn/iec:p">
|
2088
2085
|
<xsl:apply-templates/>
|
@@ -2222,9 +2219,11 @@
|
|
2222
2219
|
<xsl:call-template name="getLevelTermName"/>
|
2223
2220
|
</xsl:variable>
|
2224
2221
|
<fo:block line-height="1.1" space-before="14pt" role="H{$levelTerm}">
|
2225
|
-
<
|
2226
|
-
<
|
2227
|
-
|
2222
|
+
<xsl:if test="parent::iec:term">
|
2223
|
+
<fo:block font-weight="bold" keep-with-next="always">
|
2224
|
+
<xsl:apply-templates select="ancestor::iec:term[1]/iec:name" mode="presentation"/>
|
2225
|
+
</fo:block>
|
2226
|
+
</xsl:if>
|
2228
2227
|
<fo:block font-weight="bold" keep-with-next="always">
|
2229
2228
|
<xsl:call-template name="setStyle_preferred"/>
|
2230
2229
|
<xsl:apply-templates/>
|
@@ -2336,7 +2335,63 @@
|
|
2336
2335
|
</fo:block>
|
2337
2336
|
</xsl:template>
|
2338
2337
|
|
2338
|
+
<!-- =================== -->
|
2339
|
+
<!-- Index processing -->
|
2340
|
+
<!-- =================== -->
|
2341
|
+
|
2342
|
+
<xsl:template match="iec:indexsect"/>
|
2343
|
+
<xsl:template match="iec:indexsect" mode="index">
|
2344
|
+
|
2345
|
+
<fo:page-sequence master-reference="document" force-page-count="no-force">
|
2346
|
+
<xsl:call-template name="insertHeaderFooter"/>
|
2347
|
+
<fo:flow flow-name="xsl-region-body">
|
2348
|
+
<fo:block id="{@id}" span="all">
|
2349
|
+
<xsl:apply-templates select="iec:title"/>
|
2350
|
+
</fo:block>
|
2351
|
+
<fo:block role="Index">
|
2352
|
+
<xsl:apply-templates select="*[not(local-name() = 'title')]"/>
|
2353
|
+
</fo:block>
|
2354
|
+
</fo:flow>
|
2355
|
+
</fo:page-sequence>
|
2356
|
+
</xsl:template>
|
2357
|
+
|
2358
|
+
<xsl:template match="iec:indexsect/iec:title" priority="4">
|
2359
|
+
<fo:block font-size="12pt" font-weight="bold" margin-bottom="84pt" role="H1">
|
2360
|
+
<!-- Index -->
|
2361
|
+
<xsl:apply-templates/>
|
2362
|
+
</fo:block>
|
2363
|
+
</xsl:template>
|
2364
|
+
|
2365
|
+
<xsl:template match="iec:indexsect/iec:title/text()" priority="4">
|
2366
|
+
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
|
2367
|
+
</xsl:template>
|
2339
2368
|
|
2369
|
+
<xsl:template match="iec:indexsect/iec:clause/iec:title" priority="4">
|
2370
|
+
<!-- Letter A, B, C, ... -->
|
2371
|
+
<fo:block font-size="10pt" font-weight="bold" margin-bottom="3pt" keep-with-next="always">
|
2372
|
+
<xsl:apply-templates/>
|
2373
|
+
</fo:block>
|
2374
|
+
</xsl:template>
|
2375
|
+
|
2376
|
+
<xsl:template match="iec:indexsect//iec:li/text()">
|
2377
|
+
<!-- to split by '_' and other chars -->
|
2378
|
+
<xsl:call-template name="add-zero-spaces-java"/>
|
2379
|
+
</xsl:template>
|
2380
|
+
|
2381
|
+
<xsl:template match="iec:xref[@pagenumber = 'true']" priority="2">
|
2382
|
+
<fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
|
2383
|
+
<fo:inline>
|
2384
|
+
<xsl:if test="@id">
|
2385
|
+
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
2386
|
+
</xsl:if>
|
2387
|
+
<fo:page-number-citation ref-id="{@target}"/>
|
2388
|
+
</fo:inline>
|
2389
|
+
</fo:basic-link>
|
2390
|
+
</xsl:template>
|
2391
|
+
|
2392
|
+
<!-- =================== -->
|
2393
|
+
<!-- End of Index processing -->
|
2394
|
+
<!-- =================== -->
|
2340
2395
|
|
2341
2396
|
<xsl:template name="insertHeaderFooter">
|
2342
2397
|
<fo:static-content flow-name="header-even" role="artifact">
|
@@ -3059,6 +3114,77 @@
|
|
3059
3114
|
|
3060
3115
|
</xsl:attribute-set><xsl:attribute-set name="toc-style">
|
3061
3116
|
<xsl:attribute name="line-height">135%</xsl:attribute>
|
3117
|
+
</xsl:attribute-set><xsl:attribute-set name="fn-style">
|
3118
|
+
<xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
|
3119
|
+
</xsl:attribute-set><xsl:attribute-set name="fn-num-style">
|
3120
|
+
<xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
|
3121
|
+
|
3122
|
+
|
3123
|
+
|
3124
|
+
|
3125
|
+
|
3126
|
+
|
3127
|
+
<xsl:attribute name="font-size">8pt</xsl:attribute>
|
3128
|
+
<xsl:attribute name="baseline-shift">15%</xsl:attribute>
|
3129
|
+
|
3130
|
+
|
3131
|
+
|
3132
|
+
|
3133
|
+
|
3134
|
+
|
3135
|
+
|
3136
|
+
|
3137
|
+
|
3138
|
+
|
3139
|
+
|
3140
|
+
</xsl:attribute-set><xsl:attribute-set name="fn-body-style">
|
3141
|
+
<xsl:attribute name="font-weight">normal</xsl:attribute>
|
3142
|
+
<xsl:attribute name="font-style">normal</xsl:attribute>
|
3143
|
+
<xsl:attribute name="text-indent">0</xsl:attribute>
|
3144
|
+
<xsl:attribute name="start-indent">0</xsl:attribute>
|
3145
|
+
|
3146
|
+
|
3147
|
+
|
3148
|
+
|
3149
|
+
|
3150
|
+
|
3151
|
+
<xsl:attribute name="font-size">8pt</xsl:attribute>
|
3152
|
+
<xsl:attribute name="margin-bottom">5pt</xsl:attribute>
|
3153
|
+
|
3154
|
+
|
3155
|
+
|
3156
|
+
|
3157
|
+
|
3158
|
+
|
3159
|
+
|
3160
|
+
|
3161
|
+
|
3162
|
+
|
3163
|
+
|
3164
|
+
|
3165
|
+
|
3166
|
+
</xsl:attribute-set><xsl:attribute-set name="fn-body-num-style">
|
3167
|
+
<xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
|
3168
|
+
|
3169
|
+
|
3170
|
+
|
3171
|
+
|
3172
|
+
|
3173
|
+
|
3174
|
+
<xsl:attribute name="baseline-shift">15%</xsl:attribute>
|
3175
|
+
<xsl:attribute name="padding-right">3mm</xsl:attribute>
|
3176
|
+
|
3177
|
+
|
3178
|
+
|
3179
|
+
|
3180
|
+
|
3181
|
+
|
3182
|
+
|
3183
|
+
|
3184
|
+
|
3185
|
+
|
3186
|
+
|
3187
|
+
|
3062
3188
|
</xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:template name="OLD_processPrefaceSectionsDefault_Contents">
|
3063
3189
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
|
3064
3190
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
|
@@ -4049,6 +4175,102 @@
|
|
4049
4175
|
|
4050
4176
|
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='name']" mode="process"/><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
|
4051
4177
|
<xsl:apply-templates/>
|
4178
|
+
</xsl:template><xsl:template match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])]" priority="2" name="fn">
|
4179
|
+
|
4180
|
+
<!-- list of footnotes to calculate actual footnotes number -->
|
4181
|
+
<xsl:variable name="p_fn_">
|
4182
|
+
<xsl:choose>
|
4183
|
+
<xsl:when test="@current_fn_number"> <!-- for BSI, footnote reference number calculated already -->
|
4184
|
+
<fn gen_id="{generate-id(.)}">
|
4185
|
+
<xsl:copy-of select="@*"/>
|
4186
|
+
<xsl:copy-of select="node()"/>
|
4187
|
+
</fn>
|
4188
|
+
</xsl:when>
|
4189
|
+
<xsl:otherwise>
|
4190
|
+
<!-- itetation for:
|
4191
|
+
footnotes in bibdata/title
|
4192
|
+
footnotes in bibliography
|
4193
|
+
footnotes in document's body (except table's head/body/foot and figure text)
|
4194
|
+
-->
|
4195
|
+
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'note'][@type='title-footnote']">
|
4196
|
+
<fn gen_id="{generate-id(.)}">
|
4197
|
+
<xsl:copy-of select="@*"/>
|
4198
|
+
<xsl:copy-of select="node()"/>
|
4199
|
+
</fn>
|
4200
|
+
</xsl:for-each>
|
4201
|
+
<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']/*">
|
4202
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
4203
|
+
<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])]">
|
4204
|
+
<!-- copy unique fn -->
|
4205
|
+
<fn gen_id="{generate-id(.)}">
|
4206
|
+
<xsl:copy-of select="@*"/>
|
4207
|
+
<xsl:copy-of select="node()"/>
|
4208
|
+
</fn>
|
4209
|
+
</xsl:for-each>
|
4210
|
+
</xsl:for-each>
|
4211
|
+
</xsl:otherwise>
|
4212
|
+
</xsl:choose>
|
4213
|
+
</xsl:variable>
|
4214
|
+
<xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
|
4215
|
+
|
4216
|
+
<xsl:variable name="gen_id" select="generate-id(.)"/>
|
4217
|
+
<xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
|
4218
|
+
<xsl:variable name="reference" select="@reference"/>
|
4219
|
+
<!-- fn sequence number in document -->
|
4220
|
+
<xsl:variable name="current_fn_number">
|
4221
|
+
<xsl:choose>
|
4222
|
+
<xsl:when test="@current_fn_number"><xsl:value-of select="@current_fn_number"/></xsl:when> <!-- for BSI -->
|
4223
|
+
<xsl:otherwise>
|
4224
|
+
<xsl:value-of select="count($p_fn//fn[@reference = $reference]/preceding-sibling::fn) + 1"/>
|
4225
|
+
</xsl:otherwise>
|
4226
|
+
</xsl:choose>
|
4227
|
+
</xsl:variable>
|
4228
|
+
<xsl:variable name="current_fn_number_text">
|
4229
|
+
<xsl:value-of select="$current_fn_number"/>
|
4230
|
+
|
4231
|
+
|
4232
|
+
</xsl:variable>
|
4233
|
+
|
4234
|
+
<xsl:variable name="ref_id" select="concat('footnote_', $lang, '_', $reference, '_', $current_fn_number)"/>
|
4235
|
+
<xsl:variable name="footnote_inline">
|
4236
|
+
<fo:inline xsl:use-attribute-sets="fn-num-style">
|
4237
|
+
|
4238
|
+
<fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
|
4239
|
+
<xsl:value-of select="$current_fn_number_text"/>
|
4240
|
+
</fo:basic-link>
|
4241
|
+
</fo:inline>
|
4242
|
+
</xsl:variable>
|
4243
|
+
<!-- DEBUG: p_fn=<xsl:copy-of select="$p_fn"/>
|
4244
|
+
gen_id=<xsl:value-of select="$gen_id"/> -->
|
4245
|
+
<xsl:choose>
|
4246
|
+
<xsl:when test="normalize-space(@skip_footnote_body) = 'true'">
|
4247
|
+
<xsl:copy-of select="$footnote_inline"/>
|
4248
|
+
</xsl:when>
|
4249
|
+
<xsl:when test="$p_fn//fn[@gen_id = $gen_id] or normalize-space(@skip_footnote_body) = 'false'">
|
4250
|
+
<fo:footnote xsl:use-attribute-sets="fn-style">
|
4251
|
+
<xsl:copy-of select="$footnote_inline"/>
|
4252
|
+
<fo:footnote-body>
|
4253
|
+
|
4254
|
+
<fo:block-container text-indent="0" start-indent="0">
|
4255
|
+
|
4256
|
+
|
4257
|
+
<fo:block xsl:use-attribute-sets="fn-body-style">
|
4258
|
+
|
4259
|
+
|
4260
|
+
<fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
|
4261
|
+
|
4262
|
+
<xsl:value-of select="$current_fn_number_text"/>
|
4263
|
+
</fo:inline>
|
4264
|
+
<xsl:apply-templates/>
|
4265
|
+
</fo:block>
|
4266
|
+
</fo:block-container>
|
4267
|
+
</fo:footnote-body>
|
4268
|
+
</fo:footnote>
|
4269
|
+
</xsl:when>
|
4270
|
+
<xsl:otherwise>
|
4271
|
+
<xsl:copy-of select="$footnote_inline"/>
|
4272
|
+
</xsl:otherwise>
|
4273
|
+
</xsl:choose>
|
4052
4274
|
</xsl:template><xsl:template name="fn_display">
|
4053
4275
|
<xsl:variable name="references">
|
4054
4276
|
|
@@ -4262,6 +4484,8 @@
|
|
4262
4484
|
|
4263
4485
|
</fo:basic-link>
|
4264
4486
|
</fo:inline>
|
4487
|
+
</xsl:template><xsl:template match="*[local-name()='fn']/text()[normalize-space() != '']">
|
4488
|
+
<fo:inline><xsl:value-of select="."/></fo:inline>
|
4265
4489
|
</xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
|
4266
4490
|
<fo:inline>
|
4267
4491
|
<xsl:apply-templates/>
|
@@ -5276,22 +5500,6 @@
|
|
5276
5500
|
<xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if>
|
5277
5501
|
<xsl:apply-templates/>
|
5278
5502
|
</fo:inline>
|
5279
|
-
</xsl:template><xsl:template match="*[local-name() = 'modification']">
|
5280
|
-
<xsl:variable name="title-modified">
|
5281
|
-
|
5282
|
-
|
5283
|
-
<xsl:call-template name="getTitle">
|
5284
|
-
<xsl:with-param name="name" select="'title-modified'"/>
|
5285
|
-
</xsl:call-template>
|
5286
|
-
|
5287
|
-
</xsl:variable>
|
5288
|
-
|
5289
|
-
<xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
|
5290
|
-
<xsl:choose>
|
5291
|
-
<xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:if test="normalize-space($text) != ''"><xsl:text>—</xsl:text></xsl:if></xsl:when>
|
5292
|
-
<xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:if test="normalize-space($text) != ''"><xsl:text> — </xsl:text></xsl:if></xsl:otherwise>
|
5293
|
-
</xsl:choose>
|
5294
|
-
<xsl:apply-templates/>
|
5295
5503
|
</xsl:template><xsl:template match="*[local-name() = 'xref']">
|
5296
5504
|
<fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
|
5297
5505
|
|
@@ -6525,62 +6733,69 @@
|
|
6525
6733
|
<xsl:variable name="termsource_text">
|
6526
6734
|
<xsl:apply-templates/>
|
6527
6735
|
</xsl:variable>
|
6528
|
-
|
6529
|
-
<xsl:choose>
|
6736
|
+
<xsl:copy-of select="$termsource_text"/>
|
6737
|
+
<!-- <xsl:choose>
|
6530
6738
|
<xsl:when test="starts-with(normalize-space($termsource_text), '[')">
|
6531
|
-
<!-- <xsl:apply-templates /> -->
|
6532
6739
|
<xsl:copy-of select="$termsource_text"/>
|
6533
6740
|
</xsl:when>
|
6534
6741
|
<xsl:otherwise>
|
6535
|
-
|
6536
|
-
|
6742
|
+
<xsl:if test="$namespace = 'bsi'">
|
6743
|
+
<xsl:choose>
|
6744
|
+
<xsl:when test="$document_type = 'PAS' and starts-with(*[local-name() = 'origin']/@citeas, '[')"><xsl:text>{</xsl:text></xsl:when>
|
6745
|
+
<xsl:otherwise><xsl:text>[</xsl:text></xsl:otherwise>
|
6746
|
+
</xsl:choose>
|
6747
|
+
</xsl:if>
|
6748
|
+
<xsl:if test="$namespace = 'gb' or $namespace = 'iso' or $namespace = 'iec' or $namespace = 'itu' or $namespace = 'unece' or $namespace = 'unece-rec' or $namespace = 'nist-cswp' or $namespace = 'nist-sp' or $namespace = 'ogc-white-paper' or $namespace = 'csa' or $namespace = 'csd' or $namespace = 'm3d' or $namespace = 'iho' or $namespace = 'bipm' or $namespace = 'jcgm'">
|
6537
6749
|
<xsl:text>[</xsl:text>
|
6538
|
-
|
6539
|
-
<!-- <xsl:apply-templates /> -->
|
6750
|
+
</xsl:if>
|
6540
6751
|
<xsl:copy-of select="$termsource_text"/>
|
6541
|
-
|
6542
|
-
|
6752
|
+
<xsl:if test="$namespace = 'bsi'">
|
6753
|
+
<xsl:choose>
|
6754
|
+
<xsl:when test="$document_type = 'PAS' and starts-with(*[local-name() = 'origin']/@citeas, '[')"><xsl:text>}</xsl:text></xsl:when>
|
6755
|
+
<xsl:otherwise><xsl:text>]</xsl:text></xsl:otherwise>
|
6756
|
+
</xsl:choose>
|
6757
|
+
</xsl:if>
|
6758
|
+
<xsl:if test="$namespace = 'gb' or $namespace = 'iso' or $namespace = 'iec' or $namespace = 'itu' or $namespace = 'unece' or $namespace = 'unece-rec' or $namespace = 'nist-cswp' or $namespace = 'nist-sp' or $namespace = 'ogc-white-paper' or $namespace = 'csa' or $namespace = 'csd' or $namespace = 'm3d' or $namespace = 'iho' or $namespace = 'bipm' or $namespace = 'jcgm'">
|
6543
6759
|
<xsl:text>]</xsl:text>
|
6544
|
-
|
6760
|
+
</xsl:if>
|
6545
6761
|
</xsl:otherwise>
|
6546
|
-
</xsl:choose>
|
6762
|
+
</xsl:choose> -->
|
6547
6763
|
</fo:block>
|
6548
6764
|
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
|
6549
6765
|
<xsl:if test="normalize-space() != ''">
|
6550
6766
|
<xsl:value-of select="."/>
|
6551
6767
|
</xsl:if>
|
6552
|
-
</xsl:template><xsl:
|
6553
|
-
<
|
6554
|
-
|
6555
|
-
|
6556
|
-
|
6768
|
+
</xsl:template><xsl:template match="*[local-name() = 'termsource']/*[local-name() = 'strong'][1][following-sibling::*[1][local-name() = 'origin']]/text()">
|
6769
|
+
<fo:inline>
|
6770
|
+
|
6771
|
+
|
6772
|
+
<xsl:value-of select="."/>
|
6773
|
+
</fo:inline>
|
6774
|
+
</xsl:template><xsl:template match="*[local-name() = 'origin']">
|
6557
6775
|
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
6558
6776
|
<xsl:if test="normalize-space(@citeas) = ''">
|
6559
6777
|
<xsl:attribute name="fox:alt-text"><xsl:value-of select="@bibitemid"/></xsl:attribute>
|
6560
6778
|
</xsl:if>
|
6561
|
-
|
6562
|
-
|
6563
|
-
<fo:inline>
|
6564
|
-
|
6565
|
-
|
6566
|
-
|
6567
|
-
|
6568
|
-
|
6569
|
-
|
6570
|
-
|
6571
|
-
<xsl:call-template name="getTitle">
|
6572
|
-
<xsl:with-param name="name" select="'title-source'"/>
|
6573
|
-
</xsl:call-template>
|
6574
|
-
<xsl:text>: </xsl:text>
|
6575
|
-
|
6576
|
-
|
6577
|
-
</fo:inline>
|
6578
|
-
|
6579
6779
|
<fo:inline xsl:use-attribute-sets="origin-style">
|
6580
6780
|
<xsl:apply-templates/>
|
6581
6781
|
</fo:inline>
|
6782
|
+
</fo:basic-link>
|
6783
|
+
</xsl:template><xsl:template match="*[local-name() = 'modification']">
|
6784
|
+
<xsl:variable name="title-modified">
|
6582
6785
|
|
6583
|
-
|
6786
|
+
|
6787
|
+
<xsl:call-template name="getTitle">
|
6788
|
+
<xsl:with-param name="name" select="'title-modified'"/>
|
6789
|
+
</xsl:call-template>
|
6790
|
+
|
6791
|
+
</xsl:variable>
|
6792
|
+
|
6793
|
+
<xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
|
6794
|
+
<xsl:choose>
|
6795
|
+
<xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:if test="normalize-space($text) != ''"><xsl:text>—</xsl:text></xsl:if></xsl:when>
|
6796
|
+
<xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:if test="normalize-space($text) != ''"><xsl:text> — </xsl:text></xsl:if></xsl:otherwise>
|
6797
|
+
</xsl:choose>
|
6798
|
+
<xsl:apply-templates/>
|
6584
6799
|
</xsl:template><xsl:template match="*[local-name() = 'modification']/*[local-name() = 'p']">
|
6585
6800
|
<fo:inline><xsl:apply-templates/></fo:inline>
|
6586
6801
|
</xsl:template><xsl:template match="*[local-name() = 'modification']/text()">
|
@@ -7180,7 +7395,31 @@
|
|
7180
7395
|
<fo:block-container border="1pt solid black" width="50%">
|
7181
7396
|
<fo:block> </fo:block>
|
7182
7397
|
</fo:block-container>
|
7183
|
-
</xsl:template><xsl:
|
7398
|
+
</xsl:template><xsl:variable name="toc_level">
|
7399
|
+
<xsl:choose>
|
7400
|
+
<xsl:when test="1 = 2"/> <!-- to do https://github.com/metanorma/mn-native-pdf/issues/337: if there is value in xml -->
|
7401
|
+
<xsl:otherwise><!-- default value -->
|
7402
|
+
|
7403
|
+
|
7404
|
+
|
7405
|
+
|
7406
|
+
|
7407
|
+
3
|
7408
|
+
|
7409
|
+
|
7410
|
+
|
7411
|
+
|
7412
|
+
|
7413
|
+
|
7414
|
+
|
7415
|
+
|
7416
|
+
|
7417
|
+
|
7418
|
+
|
7419
|
+
|
7420
|
+
</xsl:otherwise>
|
7421
|
+
</xsl:choose>
|
7422
|
+
</xsl:variable><xsl:template match="*[local-name() = 'toc']">
|
7184
7423
|
<xsl:param name="colwidths"/>
|
7185
7424
|
<xsl:variable name="colwidths_">
|
7186
7425
|
<xsl:choose>
|
@@ -7820,4 +8059,14 @@
|
|
7820
8059
|
</xsl:otherwise>
|
7821
8060
|
</xsl:choose>
|
7822
8061
|
</xsl:if>
|
8062
|
+
</xsl:template><xsl:template name="setAltText">
|
8063
|
+
<xsl:param name="value"/>
|
8064
|
+
<xsl:attribute name="fox:alt-text">
|
8065
|
+
<xsl:choose>
|
8066
|
+
<xsl:when test="normalize-space($value) != ''">
|
8067
|
+
<xsl:value-of select="$value"/>
|
8068
|
+
</xsl:when>
|
8069
|
+
<xsl:otherwise>_</xsl:otherwise>
|
8070
|
+
</xsl:choose>
|
8071
|
+
</xsl:attribute>
|
7823
8072
|
</xsl:template></xsl:stylesheet>
|