metanorma-un 0.6.3 → 0.6.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/.github/workflows/rake.yml +12 -11
- data/.hound.yml +3 -1
- data/.rubocop.yml +4 -6
- data/lib/asciidoctor/un/isodoc.rng +65 -7
- data/lib/asciidoctor/un/un.rng +3 -0
- data/lib/isodoc/un/un.plenary-attachment.xsl +528 -157
- data/lib/isodoc/un/un.plenary.xsl +528 -157
- data/lib/isodoc/un/un.recommendation.xsl +528 -60
- data/lib/metanorma/un/version.rb +1 -1
- data/metanorma-unece.gemspec +3 -3
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 59c6e79a616205f11022dba3a8985a1b00c345ca517ce0fc8103ac3895d94db8
|
4
|
+
data.tar.gz: e57e915e2da43aad046607842a50910304f7abfec8c83fec4bbceb1cee16b092
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb17eba7c97f53e5ffbfd8a61539dc39fcfdafd244e94f0fbc3e4cd31612e6b92e89f4c16aff9ee556998d4fe3044489e73cab55ebb672bb2d2ba88d98e01acd
|
7
|
+
data.tar.gz: fa86c46d42de32648b54ebf6858d76309259d955d189acda2651dc5cf60c06d58dc8ea68bbcce297f8ee02e75d58077efaa65aaf7458c981b5a9fc660023514e
|
data/.github/workflows/rake.yml
CHANGED
@@ -16,19 +16,9 @@ jobs:
|
|
16
16
|
strategy:
|
17
17
|
fail-fast: false
|
18
18
|
matrix:
|
19
|
-
ruby: [ '
|
19
|
+
ruby: [ '3.0', '2.7', '2.6', '2.5' ]
|
20
20
|
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
21
21
|
experimental: [ false ]
|
22
|
-
include:
|
23
|
-
- ruby: '3.0'
|
24
|
-
os: 'ubuntu-latest'
|
25
|
-
experimental: true
|
26
|
-
- ruby: '3.0'
|
27
|
-
os: 'windows-latest'
|
28
|
-
experimental: true
|
29
|
-
- ruby: '3.0'
|
30
|
-
os: 'macos-latest'
|
31
|
-
experimental: true
|
32
22
|
steps:
|
33
23
|
- uses: actions/checkout@v2
|
34
24
|
with:
|
@@ -40,3 +30,14 @@ jobs:
|
|
40
30
|
bundler-cache: true
|
41
31
|
|
42
32
|
- run: bundle exec rake
|
33
|
+
|
34
|
+
tests-passed:
|
35
|
+
needs: rake
|
36
|
+
runs-on: ubuntu-latest
|
37
|
+
steps:
|
38
|
+
- uses: peter-evans/repository-dispatch@v1
|
39
|
+
with:
|
40
|
+
token: ${{ secrets.METANORMA_CI_PAT_TOKEN || secrets.GITHUB_TOKEN }}
|
41
|
+
repository: ${{ github.repository }}
|
42
|
+
event-type: tests-passed
|
43
|
+
client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
|
data/.hound.yml
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,12 +1,10 @@
|
|
1
|
-
#
|
2
|
-
# https://github.com/
|
3
|
-
# All project-specific additions and overrides should be specified in this file.
|
1
|
+
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
+
# See https://github.com/metanorma/cimas
|
4
3
|
inherit_from:
|
5
4
|
- https://raw.githubusercontent.com/riboseinc/oss-guides/master/ci/rubocop.yml
|
6
5
|
|
7
6
|
# local repo-specific modifications
|
7
|
+
# ...
|
8
8
|
|
9
9
|
AllCops:
|
10
|
-
|
11
|
-
StyleGuideCopsOnly: false
|
12
|
-
TargetRubyVersion: 2.4
|
10
|
+
TargetRubyVersion: 2.5
|
@@ -45,6 +45,11 @@
|
|
45
45
|
<optional>
|
46
46
|
<attribute name="alt"/>
|
47
47
|
</optional>
|
48
|
+
<optional>
|
49
|
+
<attribute name="updatetype">
|
50
|
+
<data type="boolean"/>
|
51
|
+
</attribute>
|
52
|
+
</optional>
|
48
53
|
<text/>
|
49
54
|
</element>
|
50
55
|
</define>
|
@@ -199,6 +204,18 @@
|
|
199
204
|
</zeroOrMore>
|
200
205
|
</element>
|
201
206
|
</define>
|
207
|
+
<define name="dt">
|
208
|
+
<element name="dt">
|
209
|
+
<optional>
|
210
|
+
<attribute name="id">
|
211
|
+
<data type="ID"/>
|
212
|
+
</attribute>
|
213
|
+
</optional>
|
214
|
+
<zeroOrMore>
|
215
|
+
<ref name="TextElement"/>
|
216
|
+
</zeroOrMore>
|
217
|
+
</element>
|
218
|
+
</define>
|
202
219
|
<define name="example">
|
203
220
|
<element name="example">
|
204
221
|
<attribute name="id">
|
@@ -543,6 +560,9 @@
|
|
543
560
|
</define>
|
544
561
|
<define name="BibDataExtensionType">
|
545
562
|
<ref name="doctype"/>
|
563
|
+
<optional>
|
564
|
+
<ref name="docsubtype"/>
|
565
|
+
</optional>
|
546
566
|
<optional>
|
547
567
|
<ref name="editorialgroup"/>
|
548
568
|
</optional>
|
@@ -890,6 +910,14 @@
|
|
890
910
|
</define>
|
891
911
|
</include>
|
892
912
|
<!-- end overrides -->
|
913
|
+
<define name="docsubtype">
|
914
|
+
<element name="subdoctype">
|
915
|
+
<ref name="DocumentSubtype"/>
|
916
|
+
</element>
|
917
|
+
</define>
|
918
|
+
<define name="DocumentSubtype">
|
919
|
+
<text/>
|
920
|
+
</define>
|
893
921
|
<define name="colgroup">
|
894
922
|
<element name="colgroup">
|
895
923
|
<oneOrMore>
|
@@ -939,7 +967,34 @@
|
|
939
967
|
<define name="concept">
|
940
968
|
<element name="concept">
|
941
969
|
<optional>
|
942
|
-
<attribute name="
|
970
|
+
<attribute name="ital">
|
971
|
+
<data type="boolean"/>
|
972
|
+
</attribute>
|
973
|
+
</optional>
|
974
|
+
<optional>
|
975
|
+
<attribute name="ref">
|
976
|
+
<data type="boolean"/>
|
977
|
+
</attribute>
|
978
|
+
</optional>
|
979
|
+
<optional>
|
980
|
+
<element name="refterm">
|
981
|
+
<zeroOrMore>
|
982
|
+
<choice>
|
983
|
+
<ref name="PureTextElement"/>
|
984
|
+
<ref name="stem"/>
|
985
|
+
</choice>
|
986
|
+
</zeroOrMore>
|
987
|
+
</element>
|
988
|
+
</optional>
|
989
|
+
<optional>
|
990
|
+
<element name="renderterm">
|
991
|
+
<zeroOrMore>
|
992
|
+
<choice>
|
993
|
+
<ref name="PureTextElement"/>
|
994
|
+
<ref name="stem"/>
|
995
|
+
</choice>
|
996
|
+
</zeroOrMore>
|
997
|
+
</element>
|
943
998
|
</optional>
|
944
999
|
<choice>
|
945
1000
|
<ref name="eref"/>
|
@@ -965,6 +1020,9 @@
|
|
965
1020
|
</attribute>
|
966
1021
|
<attribute name="name"/>
|
967
1022
|
<attribute name="action"/>
|
1023
|
+
<optional>
|
1024
|
+
<attribute name="class"/>
|
1025
|
+
</optional>
|
968
1026
|
<zeroOrMore>
|
969
1027
|
<choice>
|
970
1028
|
<ref name="TextElement"/>
|
@@ -1457,26 +1515,26 @@
|
|
1457
1515
|
<optional>
|
1458
1516
|
<ref name="section-title"/>
|
1459
1517
|
</optional>
|
1460
|
-
<
|
1518
|
+
<choice>
|
1461
1519
|
<choice>
|
1462
1520
|
<group>
|
1463
|
-
<
|
1521
|
+
<oneOrMore>
|
1464
1522
|
<ref name="BasicBlock"/>
|
1465
|
-
</
|
1523
|
+
</oneOrMore>
|
1466
1524
|
<zeroOrMore>
|
1467
1525
|
<ref name="note"/>
|
1468
1526
|
</zeroOrMore>
|
1469
1527
|
</group>
|
1470
1528
|
<ref name="amend"/>
|
1471
1529
|
</choice>
|
1472
|
-
<
|
1530
|
+
<oneOrMore>
|
1473
1531
|
<choice>
|
1474
1532
|
<ref name="clause-subsection"/>
|
1475
1533
|
<ref name="terms"/>
|
1476
1534
|
<ref name="definitions"/>
|
1477
1535
|
</choice>
|
1478
|
-
</
|
1479
|
-
</
|
1536
|
+
</oneOrMore>
|
1537
|
+
</choice>
|
1480
1538
|
</define>
|
1481
1539
|
<define name="Annex-Section">
|
1482
1540
|
<optional>
|
data/lib/asciidoctor/un/un.rng
CHANGED
@@ -11,8 +11,12 @@
|
|
11
11
|
|
12
12
|
|
13
13
|
|
14
|
-
<xsl:variable name="pageWidth" select="
|
15
|
-
<xsl:variable name="pageHeight" select="
|
14
|
+
<xsl:variable name="pageWidth" select="210"/>
|
15
|
+
<xsl:variable name="pageHeight" select="297"/>
|
16
|
+
<xsl:variable name="marginLeftRight1" select="40"/>
|
17
|
+
<xsl:variable name="marginLeftRight2" select="40"/>
|
18
|
+
<xsl:variable name="marginTop" select="30"/>
|
19
|
+
<xsl:variable name="marginBottom" select="40"/>
|
16
20
|
|
17
21
|
<xsl:variable name="debug">false</xsl:variable>
|
18
22
|
|
@@ -42,7 +46,7 @@
|
|
42
46
|
<fo:root font-family="Times New Roman, STIX Two Math, Source Han Sans" font-size="10pt" xml:lang="{$lang}">
|
43
47
|
<fo:layout-master-set>
|
44
48
|
<!-- Cover page -->
|
45
|
-
<fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
49
|
+
<fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
46
50
|
<fo:region-body margin-top="17.5mm" margin-bottom="10mm" margin-left="20mm" margin-right="20mm"/>
|
47
51
|
<fo:region-before extent="17.5mm"/>
|
48
52
|
<fo:region-after extent="10mm"/>
|
@@ -51,20 +55,20 @@
|
|
51
55
|
</fo:simple-page-master>
|
52
56
|
|
53
57
|
<!-- Document odd pages -->
|
54
|
-
<fo:simple-page-master master-name="odd" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
55
|
-
<fo:region-body margin-top="
|
58
|
+
<fo:simple-page-master master-name="odd" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
59
|
+
<fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
|
56
60
|
<fo:region-before region-name="header-odd" extent="26mm"/>
|
57
|
-
<fo:region-after region-name="footer-odd" extent="
|
58
|
-
<fo:region-start region-name="left-region" extent="
|
59
|
-
<fo:region-end region-name="right-region" extent="
|
61
|
+
<fo:region-after region-name="footer-odd" extent="{$marginBottom}mm"/>
|
62
|
+
<fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
|
63
|
+
<fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
|
60
64
|
</fo:simple-page-master>
|
61
65
|
<!-- Document even pages -->
|
62
|
-
<fo:simple-page-master master-name="even" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
63
|
-
<fo:region-body margin-top="
|
66
|
+
<fo:simple-page-master master-name="even" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
67
|
+
<fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm"/>
|
64
68
|
<fo:region-before region-name="header-even" extent="26mm"/>
|
65
|
-
<fo:region-after region-name="footer-even" extent="
|
66
|
-
<fo:region-start region-name="left-region" extent="
|
67
|
-
<fo:region-end region-name="right-region" extent="
|
69
|
+
<fo:region-after region-name="footer-even" extent="{$marginBottom}mm"/>
|
70
|
+
<fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
|
71
|
+
<fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
|
68
72
|
</fo:simple-page-master>
|
69
73
|
<fo:page-sequence-master master-name="document">
|
70
74
|
<fo:repeatable-page-master-alternatives>
|
@@ -1069,103 +1073,6 @@
|
|
1069
1073
|
</xsl:template>
|
1070
1074
|
|
1071
1075
|
|
1072
|
-
<xsl:template name="number-to-words">
|
1073
|
-
<xsl:param name="number"/>
|
1074
|
-
<xsl:param name="first"/>
|
1075
|
-
<xsl:if test="$number != ''">
|
1076
|
-
<xsl:variable name="words">
|
1077
|
-
<words>
|
1078
|
-
<word cardinal="1">one-</word>
|
1079
|
-
<word ordinal="1">first </word>
|
1080
|
-
<word cardinal="2">two-</word>
|
1081
|
-
<word ordinal="2">second </word>
|
1082
|
-
<word cardinal="3">three-</word>
|
1083
|
-
<word ordinal="3">third </word>
|
1084
|
-
<word cardinal="4">four-</word>
|
1085
|
-
<word ordinal="4">fourth </word>
|
1086
|
-
<word cardinal="5">five-</word>
|
1087
|
-
<word ordinal="5">fifth </word>
|
1088
|
-
<word cardinal="6">six-</word>
|
1089
|
-
<word ordinal="6">sixth </word>
|
1090
|
-
<word cardinal="7">seven-</word>
|
1091
|
-
<word ordinal="7">seventh </word>
|
1092
|
-
<word cardinal="8">eight-</word>
|
1093
|
-
<word ordinal="8">eighth </word>
|
1094
|
-
<word cardinal="9">nine-</word>
|
1095
|
-
<word ordinal="9">ninth </word>
|
1096
|
-
<word ordinal="10">tenth </word>
|
1097
|
-
<word ordinal="11">eleventh </word>
|
1098
|
-
<word ordinal="12">twelfth </word>
|
1099
|
-
<word ordinal="13">thirteenth </word>
|
1100
|
-
<word ordinal="14">fourteenth </word>
|
1101
|
-
<word ordinal="15">fifteenth </word>
|
1102
|
-
<word ordinal="16">sixteenth </word>
|
1103
|
-
<word ordinal="17">seventeenth </word>
|
1104
|
-
<word ordinal="18">eighteenth </word>
|
1105
|
-
<word ordinal="19">nineteenth </word>
|
1106
|
-
<word cardinal="20">twenty-</word>
|
1107
|
-
<word ordinal="20">twentieth </word>
|
1108
|
-
<word cardinal="30">thirty-</word>
|
1109
|
-
<word ordinal="30">thirtieth </word>
|
1110
|
-
<word cardinal="40">forty-</word>
|
1111
|
-
<word ordinal="40">fortieth </word>
|
1112
|
-
<word cardinal="50">fifty-</word>
|
1113
|
-
<word ordinal="50">fiftieth </word>
|
1114
|
-
<word cardinal="60">sixty-</word>
|
1115
|
-
<word ordinal="60">sixtieth </word>
|
1116
|
-
<word cardinal="70">seventy-</word>
|
1117
|
-
<word ordinal="70">seventieth </word>
|
1118
|
-
<word cardinal="80">eighty-</word>
|
1119
|
-
<word ordinal="80">eightieth </word>
|
1120
|
-
<word cardinal="90">ninety-</word>
|
1121
|
-
<word ordinal="90">ninetieth </word>
|
1122
|
-
<word cardinal="100">hundred-</word>
|
1123
|
-
<word ordinal="100">hundredth </word>
|
1124
|
-
</words>
|
1125
|
-
</xsl:variable>
|
1126
|
-
|
1127
|
-
<xsl:variable name="ordinal" select="xalan:nodeset($words)//word[@ordinal = $number]/text()"/>
|
1128
|
-
|
1129
|
-
<xsl:variable name="value">
|
1130
|
-
<xsl:choose>
|
1131
|
-
<xsl:when test="$ordinal != ''">
|
1132
|
-
<xsl:value-of select="$ordinal"/>
|
1133
|
-
</xsl:when>
|
1134
|
-
<xsl:otherwise>
|
1135
|
-
<xsl:choose>
|
1136
|
-
<xsl:when test="$number < 100">
|
1137
|
-
<xsl:variable name="decade" select="concat(substring($number,1,1), '0')"/>
|
1138
|
-
<xsl:variable name="digit" select="substring($number,2)"/>
|
1139
|
-
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $decade]/text()"/>
|
1140
|
-
<xsl:value-of select="xalan:nodeset($words)//word[@ordinal = $digit]/text()"/>
|
1141
|
-
</xsl:when>
|
1142
|
-
<xsl:otherwise>
|
1143
|
-
<!-- more 100 -->
|
1144
|
-
<xsl:variable name="hundred" select="substring($number,1,1)"/>
|
1145
|
-
<xsl:variable name="digits" select="number(substring($number,2))"/>
|
1146
|
-
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $hundred]/text()"/>
|
1147
|
-
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = '100']/text()"/>
|
1148
|
-
<xsl:call-template name="number-to-words">
|
1149
|
-
<xsl:with-param name="number" select="$digits"/>
|
1150
|
-
</xsl:call-template>
|
1151
|
-
</xsl:otherwise>
|
1152
|
-
</xsl:choose>
|
1153
|
-
</xsl:otherwise>
|
1154
|
-
</xsl:choose>
|
1155
|
-
</xsl:variable>
|
1156
|
-
<xsl:choose>
|
1157
|
-
<xsl:when test="$first = 'true'">
|
1158
|
-
<xsl:call-template name="capitalize">
|
1159
|
-
<xsl:with-param name="str" select="$value"/>
|
1160
|
-
</xsl:call-template>
|
1161
|
-
</xsl:when>
|
1162
|
-
<xsl:otherwise>
|
1163
|
-
<xsl:value-of select="$value"/>
|
1164
|
-
</xsl:otherwise>
|
1165
|
-
</xsl:choose>
|
1166
|
-
</xsl:if>
|
1167
|
-
</xsl:template>
|
1168
|
-
|
1169
1076
|
<!-- convert YYYY-MM-DD to (Month YYYY) -->
|
1170
1077
|
<xsl:template name="formatDate">
|
1171
1078
|
<xsl:param name="date"/>
|
@@ -1360,6 +1267,7 @@
|
|
1360
1267
|
|
1361
1268
|
|
1362
1269
|
|
1270
|
+
|
1363
1271
|
</xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
|
1364
1272
|
<xsl:attribute name="white-space">pre</xsl:attribute>
|
1365
1273
|
<xsl:attribute name="wrap-option">wrap</xsl:attribute>
|
@@ -1405,7 +1313,7 @@
|
|
1405
1313
|
|
1406
1314
|
|
1407
1315
|
|
1408
|
-
|
1316
|
+
|
1409
1317
|
</xsl:attribute-set><xsl:attribute-set name="example-style">
|
1410
1318
|
|
1411
1319
|
|
@@ -1418,6 +1326,7 @@
|
|
1418
1326
|
|
1419
1327
|
|
1420
1328
|
|
1329
|
+
|
1421
1330
|
</xsl:attribute-set><xsl:attribute-set name="example-body-style">
|
1422
1331
|
|
1423
1332
|
|
@@ -1434,9 +1343,7 @@
|
|
1434
1343
|
|
1435
1344
|
|
1436
1345
|
|
1437
|
-
|
1438
|
-
|
1439
|
-
|
1346
|
+
|
1440
1347
|
|
1441
1348
|
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
1442
1349
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
@@ -1471,6 +1378,7 @@
|
|
1471
1378
|
|
1472
1379
|
|
1473
1380
|
|
1381
|
+
|
1474
1382
|
</xsl:attribute-set><xsl:attribute-set name="table-name-style">
|
1475
1383
|
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
1476
1384
|
|
@@ -1493,6 +1401,9 @@
|
|
1493
1401
|
|
1494
1402
|
|
1495
1403
|
|
1404
|
+
|
1405
|
+
</xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
|
1406
|
+
|
1496
1407
|
</xsl:attribute-set><xsl:attribute-set name="appendix-style">
|
1497
1408
|
|
1498
1409
|
|
@@ -1506,13 +1417,16 @@
|
|
1506
1417
|
|
1507
1418
|
|
1508
1419
|
|
1420
|
+
|
1509
1421
|
</xsl:attribute-set><xsl:attribute-set name="eref-style">
|
1510
1422
|
|
1511
1423
|
|
1512
1424
|
|
1513
1425
|
|
1426
|
+
|
1514
1427
|
<xsl:attribute name="color">blue</xsl:attribute>
|
1515
1428
|
|
1429
|
+
|
1516
1430
|
</xsl:attribute-set><xsl:attribute-set name="note-style">
|
1517
1431
|
|
1518
1432
|
|
@@ -1531,6 +1445,7 @@
|
|
1531
1445
|
|
1532
1446
|
|
1533
1447
|
|
1448
|
+
|
1534
1449
|
</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">
|
1535
1450
|
|
1536
1451
|
|
@@ -1573,10 +1488,12 @@
|
|
1573
1488
|
<xsl:attribute name="margin-top">4pt</xsl:attribute>
|
1574
1489
|
|
1575
1490
|
|
1491
|
+
|
1576
1492
|
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
1577
1493
|
|
1578
1494
|
|
1579
1495
|
|
1496
|
+
|
1580
1497
|
</xsl:attribute-set><xsl:attribute-set name="quote-style">
|
1581
1498
|
|
1582
1499
|
|
@@ -1596,10 +1513,12 @@
|
|
1596
1513
|
|
1597
1514
|
|
1598
1515
|
|
1516
|
+
|
1599
1517
|
</xsl:attribute-set><xsl:attribute-set name="origin-style">
|
1600
1518
|
|
1601
1519
|
|
1602
1520
|
|
1521
|
+
|
1603
1522
|
</xsl:attribute-set><xsl:attribute-set name="term-style">
|
1604
1523
|
|
1605
1524
|
</xsl:attribute-set><xsl:attribute-set name="figure-name-style">
|
@@ -1618,6 +1537,7 @@
|
|
1618
1537
|
|
1619
1538
|
|
1620
1539
|
|
1540
|
+
|
1621
1541
|
|
1622
1542
|
<xsl:attribute name="text-align">center</xsl:attribute>
|
1623
1543
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
@@ -1670,8 +1590,10 @@
|
|
1670
1590
|
</xsl:attribute-set><xsl:attribute-set name="admitted-style">
|
1671
1591
|
|
1672
1592
|
|
1593
|
+
|
1673
1594
|
</xsl:attribute-set><xsl:attribute-set name="deprecates-style">
|
1674
1595
|
|
1596
|
+
|
1675
1597
|
</xsl:attribute-set><xsl:attribute-set name="definition-style">
|
1676
1598
|
|
1677
1599
|
|
@@ -1694,6 +1616,8 @@
|
|
1694
1616
|
<xsl:attribute name="font-family">STIX Two Math</xsl:attribute>
|
1695
1617
|
|
1696
1618
|
|
1619
|
+
</xsl:attribute-set><xsl:attribute-set name="list-style">
|
1620
|
+
|
1697
1621
|
</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="processPrefaceSectionsDefault_Contents">
|
1698
1622
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
|
1699
1623
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
|
@@ -1704,14 +1628,15 @@
|
|
1704
1628
|
<xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
|
1705
1629
|
|
1706
1630
|
<!-- Normative references -->
|
1707
|
-
<xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']" mode="contents"/>
|
1631
|
+
<xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true'] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][@normative='true']]" mode="contents"/>
|
1708
1632
|
<!-- Terms and definitions -->
|
1709
1633
|
<xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]" mode="contents"/>
|
1710
1634
|
<!-- Another main sections -->
|
1711
1635
|
<xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]" mode="contents"/>
|
1712
1636
|
<xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
|
1713
1637
|
<!-- Bibliography -->
|
1714
|
-
<xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]" mode="contents"/>
|
1638
|
+
<xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]]" mode="contents"/>
|
1639
|
+
|
1715
1640
|
</xsl:template><xsl:template name="processPrefaceSectionsDefault">
|
1716
1641
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
|
1717
1642
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
|
@@ -1747,11 +1672,11 @@
|
|
1747
1672
|
<xsl:variable name="table">
|
1748
1673
|
|
1749
1674
|
<xsl:variable name="simple-table">
|
1750
|
-
<xsl:call-template name="getSimpleTable"/>
|
1675
|
+
<xsl:call-template name="getSimpleTable"/>
|
1751
1676
|
</xsl:variable>
|
1752
1677
|
|
1753
1678
|
<!-- <xsl:if test="$namespace = 'bipm'">
|
1754
|
-
<fo:block> </fo:block>
|
1679
|
+
<fo:block> </fo:block>
|
1755
1680
|
</xsl:if> -->
|
1756
1681
|
|
1757
1682
|
<!-- $namespace = 'iso' or -->
|
@@ -1863,6 +1788,7 @@
|
|
1863
1788
|
|
1864
1789
|
|
1865
1790
|
|
1791
|
+
|
1866
1792
|
</xsl:variable>
|
1867
1793
|
|
1868
1794
|
|
@@ -2001,6 +1927,9 @@
|
|
2001
1927
|
<fo:block xsl:use-attribute-sets="table-name-style">
|
2002
1928
|
|
2003
1929
|
|
1930
|
+
|
1931
|
+
|
1932
|
+
|
2004
1933
|
<xsl:choose>
|
2005
1934
|
<xsl:when test="$continued = 'true'">
|
2006
1935
|
<!-- <xsl:if test="$namespace = 'bsi'"></xsl:if> -->
|
@@ -2148,6 +2077,7 @@
|
|
2148
2077
|
<!-- font-weight="bold" -->
|
2149
2078
|
<fo:table-header>
|
2150
2079
|
|
2080
|
+
|
2151
2081
|
<xsl:apply-templates/>
|
2152
2082
|
</fo:table-header>
|
2153
2083
|
</xsl:template><xsl:template name="table-header-title">
|
@@ -2298,6 +2228,7 @@
|
|
2298
2228
|
|
2299
2229
|
|
2300
2230
|
|
2231
|
+
|
2301
2232
|
<!-- fn will be processed inside 'note' processing -->
|
2302
2233
|
|
2303
2234
|
|
@@ -2306,6 +2237,10 @@
|
|
2306
2237
|
|
2307
2238
|
|
2308
2239
|
|
2240
|
+
|
2241
|
+
<!-- for BSI (not PAS) display Notes before footnotes -->
|
2242
|
+
|
2243
|
+
|
2309
2244
|
<!-- except gb -->
|
2310
2245
|
|
2311
2246
|
<xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
|
@@ -2331,6 +2266,10 @@
|
|
2331
2266
|
<!-- fn processing -->
|
2332
2267
|
<xsl:call-template name="fn_display"/>
|
2333
2268
|
|
2269
|
+
|
2270
|
+
<!-- for PAS display Notes after footnotes -->
|
2271
|
+
|
2272
|
+
|
2334
2273
|
</fo:table-cell>
|
2335
2274
|
</fo:table-row>
|
2336
2275
|
</fo:table-body>
|
@@ -2388,6 +2327,7 @@
|
|
2388
2327
|
<xsl:if test="$parent-name = 'tfoot'">
|
2389
2328
|
|
2390
2329
|
|
2330
|
+
|
2391
2331
|
</xsl:if>
|
2392
2332
|
|
2393
2333
|
|
@@ -2397,6 +2337,10 @@
|
|
2397
2337
|
|
2398
2338
|
|
2399
2339
|
|
2340
|
+
|
2341
|
+
|
2342
|
+
|
2343
|
+
|
2400
2344
|
<!-- <xsl:if test="$namespace = 'bipm'">
|
2401
2345
|
<xsl:attribute name="height">8mm</xsl:attribute>
|
2402
2346
|
</xsl:if> -->
|
@@ -2436,6 +2380,7 @@
|
|
2436
2380
|
|
2437
2381
|
|
2438
2382
|
|
2383
|
+
|
2439
2384
|
<xsl:if test="$lang = 'ar'">
|
2440
2385
|
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
2441
2386
|
</xsl:if>
|
@@ -2489,6 +2434,7 @@
|
|
2489
2434
|
|
2490
2435
|
|
2491
2436
|
|
2437
|
+
|
2492
2438
|
<xsl:attribute name="display-align">before</xsl:attribute>
|
2493
2439
|
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
2494
2440
|
<xsl:attribute name="padding-top">2mm</xsl:attribute>
|
@@ -2499,6 +2445,9 @@
|
|
2499
2445
|
|
2500
2446
|
|
2501
2447
|
|
2448
|
+
|
2449
|
+
|
2450
|
+
|
2502
2451
|
<xsl:if test=".//*[local-name() = 'table']">
|
2503
2452
|
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
2504
2453
|
</xsl:if>
|
@@ -2528,8 +2477,14 @@
|
|
2528
2477
|
|
2529
2478
|
|
2530
2479
|
|
2480
|
+
|
2481
|
+
|
2482
|
+
<!-- Table's note name (NOTE, for example) -->
|
2483
|
+
|
2531
2484
|
<fo:inline padding-right="2mm">
|
2532
2485
|
|
2486
|
+
|
2487
|
+
|
2533
2488
|
|
2534
2489
|
|
2535
2490
|
<xsl:if test="@type = 'source' or @type = 'abbreviation'">
|
@@ -2547,6 +2502,8 @@
|
|
2547
2502
|
|
2548
2503
|
</fo:inline>
|
2549
2504
|
|
2505
|
+
|
2506
|
+
|
2550
2507
|
<xsl:apply-templates mode="process"/>
|
2551
2508
|
</fo:block>
|
2552
2509
|
|
@@ -2566,6 +2523,8 @@
|
|
2566
2523
|
<xsl:variable name="reference" select="@reference"/>
|
2567
2524
|
<xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
|
2568
2525
|
<fo:block margin-bottom="12pt">
|
2526
|
+
|
2527
|
+
|
2569
2528
|
|
2570
2529
|
|
2571
2530
|
|
@@ -2581,9 +2540,11 @@
|
|
2581
2540
|
|
2582
2541
|
|
2583
2542
|
|
2543
|
+
|
2584
2544
|
<xsl:value-of select="@reference"/>
|
2585
2545
|
|
2586
2546
|
|
2547
|
+
|
2587
2548
|
</fo:inline>
|
2588
2549
|
<fo:inline>
|
2589
2550
|
|
@@ -2724,11 +2685,16 @@
|
|
2724
2685
|
|
2725
2686
|
|
2726
2687
|
|
2688
|
+
|
2689
|
+
|
2690
|
+
|
2691
|
+
|
2727
2692
|
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
2728
2693
|
|
2729
2694
|
|
2730
2695
|
<xsl:value-of select="@reference"/>
|
2731
2696
|
|
2697
|
+
|
2732
2698
|
</fo:basic-link>
|
2733
2699
|
</fo:inline>
|
2734
2700
|
</xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
|
@@ -2815,6 +2781,7 @@
|
|
2815
2781
|
|
2816
2782
|
|
2817
2783
|
|
2784
|
+
|
2818
2785
|
<xsl:variable name="title-key">
|
2819
2786
|
|
2820
2787
|
|
@@ -3025,6 +2992,7 @@
|
|
3025
2992
|
|
3026
2993
|
<fo:table-row>
|
3027
2994
|
|
2995
|
+
|
3028
2996
|
<fo:table-cell>
|
3029
2997
|
|
3030
2998
|
<fo:block margin-top="6pt">
|
@@ -3040,6 +3008,7 @@
|
|
3040
3008
|
|
3041
3009
|
|
3042
3010
|
|
3011
|
+
|
3043
3012
|
<xsl:apply-templates/>
|
3044
3013
|
<!-- <xsl:if test="$namespace = 'gb'">
|
3045
3014
|
<xsl:if test="ancestor::*[local-name()='formula']">
|
@@ -3096,6 +3065,8 @@
|
|
3096
3065
|
|
3097
3066
|
<xsl:apply-templates/>
|
3098
3067
|
</fo:inline>
|
3068
|
+
</xsl:template><xsl:template match="*[local-name()='padding']">
|
3069
|
+
<fo:inline padding-right="{@value}"> </fo:inline>
|
3099
3070
|
</xsl:template><xsl:template match="*[local-name()='sup']">
|
3100
3071
|
<fo:inline font-size="80%" vertical-align="super">
|
3101
3072
|
<xsl:apply-templates/>
|
@@ -3585,9 +3556,27 @@
|
|
3585
3556
|
<xsl:copy>
|
3586
3557
|
<xsl:apply-templates select="@*|node()" mode="mathml"/>
|
3587
3558
|
</xsl:copy>
|
3588
|
-
<
|
3559
|
+
<xsl:choose>
|
3560
|
+
<!-- if in msub, then don't add space -->
|
3561
|
+
<xsl:when test="ancestor::mathml:mrow[parent::mathml:msub and preceding-sibling::*[1][self::mathml:mrow]]"/>
|
3562
|
+
<!-- if next char in digit, don't add space -->
|
3563
|
+
<xsl:when test="translate(substring(following-sibling::*[1]/text(),1,1),'0123456789','') = ''"/>
|
3564
|
+
<xsl:otherwise>
|
3565
|
+
<mathml:mspace width="0.5ex"/>
|
3566
|
+
</xsl:otherwise>
|
3567
|
+
</xsl:choose>
|
3589
3568
|
</xsl:template><xsl:template match="mathml:math/*[local-name()='unit']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='prefix']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='dimension']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='quantity']" mode="mathml"/><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
|
3590
3569
|
<xsl:variable name="target">
|
3570
|
+
<xsl:choose>
|
3571
|
+
<xsl:when test="@updatetype = 'true'">
|
3572
|
+
<xsl:value-of select="concat(normalize-space(@target), '.pdf')"/>
|
3573
|
+
</xsl:when>
|
3574
|
+
<xsl:otherwise>
|
3575
|
+
<xsl:value-of select="normalize-space(@target)"/>
|
3576
|
+
</xsl:otherwise>
|
3577
|
+
</xsl:choose>
|
3578
|
+
</xsl:variable>
|
3579
|
+
<xsl:variable name="target_text">
|
3591
3580
|
<xsl:choose>
|
3592
3581
|
<xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
|
3593
3582
|
<xsl:value-of select="normalize-space(substring-after(@target, 'mailto:'))"/>
|
@@ -3599,20 +3588,22 @@
|
|
3599
3588
|
</xsl:variable>
|
3600
3589
|
<fo:inline xsl:use-attribute-sets="link-style">
|
3601
3590
|
|
3591
|
+
|
3592
|
+
|
3602
3593
|
<xsl:choose>
|
3603
|
-
<xsl:when test="$
|
3594
|
+
<xsl:when test="$target_text = ''">
|
3604
3595
|
<xsl:apply-templates/>
|
3605
3596
|
</xsl:when>
|
3606
3597
|
<xsl:otherwise>
|
3607
|
-
<fo:basic-link external-destination="{
|
3598
|
+
<fo:basic-link external-destination="{$target}" fox:alt-text="{$target}">
|
3608
3599
|
<xsl:choose>
|
3609
3600
|
<xsl:when test="normalize-space(.) = ''">
|
3610
|
-
<!-- <xsl:value-of select="$target"/> -->
|
3611
3601
|
<xsl:call-template name="add-zero-spaces-link-java">
|
3612
|
-
<xsl:with-param name="text" select="$
|
3602
|
+
<xsl:with-param name="text" select="$target_text"/>
|
3613
3603
|
</xsl:call-template>
|
3614
3604
|
</xsl:when>
|
3615
3605
|
<xsl:otherwise>
|
3606
|
+
<!-- output text from <link>text</link> -->
|
3616
3607
|
<xsl:apply-templates/>
|
3617
3608
|
</xsl:otherwise>
|
3618
3609
|
</xsl:choose>
|
@@ -3707,6 +3698,7 @@
|
|
3707
3698
|
|
3708
3699
|
|
3709
3700
|
|
3701
|
+
|
3710
3702
|
<fo:block-container margin-left="0mm">
|
3711
3703
|
|
3712
3704
|
|
@@ -3759,6 +3751,7 @@
|
|
3759
3751
|
</xsl:choose>
|
3760
3752
|
</xsl:template><xsl:template match="*[local-name() = 'termnote']">
|
3761
3753
|
<fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
|
3754
|
+
|
3762
3755
|
<fo:inline xsl:use-attribute-sets="termnote-name-style">
|
3763
3756
|
|
3764
3757
|
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
@@ -3836,6 +3829,7 @@
|
|
3836
3829
|
</xsl:call-template>
|
3837
3830
|
|
3838
3831
|
<fo:block>
|
3832
|
+
|
3839
3833
|
<xsl:apply-templates/>
|
3840
3834
|
</fo:block>
|
3841
3835
|
<xsl:call-template name="fn_display_figure"/>
|
@@ -3958,6 +3952,234 @@
|
|
3958
3952
|
<xsl:param name="height"/>
|
3959
3953
|
<line xmlns="http://www.w3.org/2000/svg" x1="0" y1="0" x2="{$width}" y2="{$height}" style="stroke: rgb(255, 0, 0); stroke-width:4px; "/>
|
3960
3954
|
<line xmlns="http://www.w3.org/2000/svg" x1="0" y1="{$height}" x2="{$width}" y2="0" style="stroke: rgb(255, 0, 0); stroke-width:4px; "/>
|
3955
|
+
</xsl:template><xsl:variable name="figure_name_height">14</xsl:variable><xsl:variable name="width_effective" select="$pageWidth - $marginLeftRight1 - $marginLeftRight2"/><xsl:variable name="height_effective" select="$pageHeight - $marginTop - $marginBottom - $figure_name_height"/><xsl:variable name="image_dpi" select="96"/><xsl:variable name="width_effective_px" select="$width_effective div 25.4 * $image_dpi"/><xsl:variable name="height_effective_px" select="$height_effective div 25.4 * $image_dpi"/><xsl:template match="*[local-name() = 'figure'][not(*[local-name() = 'image']) and *[local-name() = 'svg']]/*[local-name() = 'name']/*[local-name() = 'bookmark']" priority="2"/><xsl:template match="*[local-name() = 'figure'][not(*[local-name() = 'image'])]/*[local-name() = 'svg']" priority="2" name="image_svg">
|
3956
|
+
<xsl:param name="name"/>
|
3957
|
+
|
3958
|
+
<xsl:variable name="svg_content">
|
3959
|
+
<xsl:apply-templates select="." mode="svg_update"/>
|
3960
|
+
</xsl:variable>
|
3961
|
+
|
3962
|
+
<xsl:variable name="alt-text">
|
3963
|
+
<xsl:choose>
|
3964
|
+
<xsl:when test="normalize-space(../*[local-name() = 'name']) != ''">
|
3965
|
+
<xsl:value-of select="../*[local-name() = 'name']"/>
|
3966
|
+
</xsl:when>
|
3967
|
+
<xsl:when test="normalize-space($name) != ''">
|
3968
|
+
<xsl:value-of select="$name"/>
|
3969
|
+
</xsl:when>
|
3970
|
+
<xsl:otherwise>Figure</xsl:otherwise>
|
3971
|
+
</xsl:choose>
|
3972
|
+
</xsl:variable>
|
3973
|
+
|
3974
|
+
<xsl:choose>
|
3975
|
+
<xsl:when test=".//*[local-name() = 'a'][*[local-name() = 'rect'] or *[local-name() = 'polygon'] or *[local-name() = 'circle'] or *[local-name() = 'ellipse']]">
|
3976
|
+
<fo:block>
|
3977
|
+
<xsl:variable name="width" select="@width"/>
|
3978
|
+
<xsl:variable name="height" select="@height"/>
|
3979
|
+
|
3980
|
+
<xsl:variable name="scale_x">
|
3981
|
+
<xsl:choose>
|
3982
|
+
<xsl:when test="$width > $width_effective_px">
|
3983
|
+
<xsl:value-of select="$width_effective_px div $width"/>
|
3984
|
+
</xsl:when>
|
3985
|
+
<xsl:otherwise>1</xsl:otherwise>
|
3986
|
+
</xsl:choose>
|
3987
|
+
</xsl:variable>
|
3988
|
+
|
3989
|
+
<xsl:variable name="scale_y">
|
3990
|
+
<xsl:choose>
|
3991
|
+
<xsl:when test="$height * $scale_x > $height_effective_px">
|
3992
|
+
<xsl:value-of select="$height_effective_px div ($height * $scale_x)"/>
|
3993
|
+
</xsl:when>
|
3994
|
+
<xsl:otherwise>1</xsl:otherwise>
|
3995
|
+
</xsl:choose>
|
3996
|
+
</xsl:variable>
|
3997
|
+
|
3998
|
+
<xsl:variable name="scale">
|
3999
|
+
<xsl:choose>
|
4000
|
+
<xsl:when test="$scale_y != 1">
|
4001
|
+
<xsl:value-of select="$scale_x * $scale_y"/>
|
4002
|
+
</xsl:when>
|
4003
|
+
<xsl:otherwise>
|
4004
|
+
<xsl:value-of select="$scale_x"/>
|
4005
|
+
</xsl:otherwise>
|
4006
|
+
</xsl:choose>
|
4007
|
+
</xsl:variable>
|
4008
|
+
|
4009
|
+
<xsl:variable name="width_scale" select="round($width * $scale)"/>
|
4010
|
+
<xsl:variable name="height_scale" select="round($height * $scale)"/>
|
4011
|
+
|
4012
|
+
<fo:table table-layout="fixed" width="100%">
|
4013
|
+
<fo:table-column column-width="proportional-column-width(1)"/>
|
4014
|
+
<fo:table-column column-width="{$width_scale}px"/>
|
4015
|
+
<fo:table-column column-width="proportional-column-width(1)"/>
|
4016
|
+
<fo:table-body>
|
4017
|
+
<fo:table-row>
|
4018
|
+
<fo:table-cell column-number="2">
|
4019
|
+
<fo:block>
|
4020
|
+
<fo:block-container width="{$width_scale}px" height="{$height_scale}px">
|
4021
|
+
<xsl:if test="../*[local-name() = 'name']/*[local-name() = 'bookmark']">
|
4022
|
+
<fo:block line-height="0" font-size="0">
|
4023
|
+
<xsl:for-each select="../*[local-name() = 'name']/*[local-name() = 'bookmark']">
|
4024
|
+
<xsl:call-template name="bookmark"/>
|
4025
|
+
</xsl:for-each>
|
4026
|
+
</fo:block>
|
4027
|
+
</xsl:if>
|
4028
|
+
<fo:block text-depth="0" line-height="0" font-size="0">
|
4029
|
+
|
4030
|
+
<fo:instream-foreign-object fox:alt-text="{$alt-text}">
|
4031
|
+
<xsl:attribute name="width">100%</xsl:attribute>
|
4032
|
+
<xsl:attribute name="content-height">100%</xsl:attribute>
|
4033
|
+
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
4034
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
4035
|
+
|
4036
|
+
<xsl:apply-templates select="xalan:nodeset($svg_content)" mode="svg_remove_a"/>
|
4037
|
+
</fo:instream-foreign-object>
|
4038
|
+
</fo:block>
|
4039
|
+
|
4040
|
+
<xsl:apply-templates select=".//*[local-name() = 'a'][*[local-name() = 'rect'] or *[local-name() = 'polygon'] or *[local-name() = 'circle'] or *[local-name() = 'ellipse']]" mode="svg_imagemap_links">
|
4041
|
+
<xsl:with-param name="scale" select="$scale"/>
|
4042
|
+
</xsl:apply-templates>
|
4043
|
+
</fo:block-container>
|
4044
|
+
</fo:block>
|
4045
|
+
</fo:table-cell>
|
4046
|
+
</fo:table-row>
|
4047
|
+
</fo:table-body>
|
4048
|
+
</fo:table>
|
4049
|
+
</fo:block>
|
4050
|
+
|
4051
|
+
</xsl:when>
|
4052
|
+
<xsl:otherwise>
|
4053
|
+
<fo:block xsl:use-attribute-sets="image-style">
|
4054
|
+
<fo:instream-foreign-object fox:alt-text="{$alt-text}">
|
4055
|
+
<xsl:attribute name="width">100%</xsl:attribute>
|
4056
|
+
<xsl:attribute name="content-height">100%</xsl:attribute>
|
4057
|
+
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
4058
|
+
<!-- effective height 297 - 27.4 - 13 = 256.6 -->
|
4059
|
+
<!-- effective width 210 - 12.5 - 25 = 172.5 -->
|
4060
|
+
<!-- effective height / width = 1.48, 1.4 - with title -->
|
4061
|
+
<xsl:if test="@height > (@width * 1.4)"> <!-- for images with big height -->
|
4062
|
+
<xsl:variable name="width" select="((@width * 1.4) div @height) * 100"/>
|
4063
|
+
<xsl:attribute name="width"><xsl:value-of select="$width"/>%</xsl:attribute>
|
4064
|
+
</xsl:if>
|
4065
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
4066
|
+
<xsl:copy-of select="$svg_content"/>
|
4067
|
+
</fo:instream-foreign-object>
|
4068
|
+
</fo:block>
|
4069
|
+
</xsl:otherwise>
|
4070
|
+
</xsl:choose>
|
4071
|
+
</xsl:template><xsl:template match="@*|node()" mode="svg_update">
|
4072
|
+
<xsl:copy>
|
4073
|
+
<xsl:apply-templates select="@*|node()" mode="svg_update"/>
|
4074
|
+
</xsl:copy>
|
4075
|
+
</xsl:template><xsl:template match="*[local-name() = 'image']/@href" mode="svg_update">
|
4076
|
+
<xsl:attribute name="href" namespace="http://www.w3.org/1999/xlink">
|
4077
|
+
<xsl:value-of select="."/>
|
4078
|
+
</xsl:attribute>
|
4079
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'image'][@mimetype = 'image/svg+xml' and @src[not(starts-with(., 'data:image/'))]]" priority="2">
|
4080
|
+
<xsl:variable name="svg_content" select="document(@src)"/>
|
4081
|
+
<xsl:variable name="name" select="ancestor::*[local-name() = 'figure']/*[local-name() = 'name']"/>
|
4082
|
+
<xsl:for-each select="xalan:nodeset($svg_content)/node()">
|
4083
|
+
<xsl:call-template name="image_svg">
|
4084
|
+
<xsl:with-param name="name" select="$name"/>
|
4085
|
+
</xsl:call-template>
|
4086
|
+
</xsl:for-each>
|
4087
|
+
</xsl:template><xsl:template match="@*|node()" mode="svg_remove_a">
|
4088
|
+
<xsl:copy>
|
4089
|
+
<xsl:apply-templates select="@*|node()" mode="svg_remove_a"/>
|
4090
|
+
</xsl:copy>
|
4091
|
+
</xsl:template><xsl:template match="*[local-name() = 'a']" mode="svg_remove_a">
|
4092
|
+
<xsl:apply-templates mode="svg_remove_a"/>
|
4093
|
+
</xsl:template><xsl:template match="*[local-name() = 'a']" mode="svg_imagemap_links">
|
4094
|
+
<xsl:param name="scale"/>
|
4095
|
+
<xsl:variable name="dest">
|
4096
|
+
<xsl:choose>
|
4097
|
+
<xsl:when test="starts-with(@href, '#')">
|
4098
|
+
<xsl:value-of select="substring-after(@href, '#')"/>
|
4099
|
+
</xsl:when>
|
4100
|
+
<xsl:otherwise>
|
4101
|
+
<xsl:value-of select="@href"/>
|
4102
|
+
</xsl:otherwise>
|
4103
|
+
</xsl:choose>
|
4104
|
+
</xsl:variable>
|
4105
|
+
<xsl:for-each select="./*[local-name() = 'rect']">
|
4106
|
+
<xsl:call-template name="insertSVGMapLink">
|
4107
|
+
<xsl:with-param name="left" select="floor(@x * $scale)"/>
|
4108
|
+
<xsl:with-param name="top" select="floor(@y * $scale)"/>
|
4109
|
+
<xsl:with-param name="width" select="floor(@width * $scale)"/>
|
4110
|
+
<xsl:with-param name="height" select="floor(@height * $scale)"/>
|
4111
|
+
<xsl:with-param name="dest" select="$dest"/>
|
4112
|
+
</xsl:call-template>
|
4113
|
+
</xsl:for-each>
|
4114
|
+
|
4115
|
+
<xsl:for-each select="./*[local-name() = 'polygon']">
|
4116
|
+
<xsl:variable name="points">
|
4117
|
+
<xsl:call-template name="split">
|
4118
|
+
<xsl:with-param name="pText" select="@points"/>
|
4119
|
+
</xsl:call-template>
|
4120
|
+
</xsl:variable>
|
4121
|
+
<xsl:variable name="x_coords">
|
4122
|
+
<xsl:for-each select="xalan:nodeset($points)//item[position() mod 2 = 1]">
|
4123
|
+
<xsl:sort select="." data-type="number"/>
|
4124
|
+
<x><xsl:value-of select="."/></x>
|
4125
|
+
</xsl:for-each>
|
4126
|
+
</xsl:variable>
|
4127
|
+
<xsl:variable name="y_coords">
|
4128
|
+
<xsl:for-each select="xalan:nodeset($points)//item[position() mod 2 = 0]">
|
4129
|
+
<xsl:sort select="." data-type="number"/>
|
4130
|
+
<y><xsl:value-of select="."/></y>
|
4131
|
+
</xsl:for-each>
|
4132
|
+
</xsl:variable>
|
4133
|
+
<xsl:variable name="x" select="xalan:nodeset($x_coords)//x[1]"/>
|
4134
|
+
<xsl:variable name="y" select="xalan:nodeset($y_coords)//y[1]"/>
|
4135
|
+
<xsl:variable name="width" select="xalan:nodeset($x_coords)//x[last()] - $x"/>
|
4136
|
+
<xsl:variable name="height" select="xalan:nodeset($y_coords)//y[last()] - $y"/>
|
4137
|
+
<xsl:call-template name="insertSVGMapLink">
|
4138
|
+
<xsl:with-param name="left" select="floor($x * $scale)"/>
|
4139
|
+
<xsl:with-param name="top" select="floor($y * $scale)"/>
|
4140
|
+
<xsl:with-param name="width" select="floor($width * $scale)"/>
|
4141
|
+
<xsl:with-param name="height" select="floor($height * $scale)"/>
|
4142
|
+
<xsl:with-param name="dest" select="$dest"/>
|
4143
|
+
</xsl:call-template>
|
4144
|
+
</xsl:for-each>
|
4145
|
+
|
4146
|
+
<xsl:for-each select="./*[local-name() = 'circle']">
|
4147
|
+
<xsl:call-template name="insertSVGMapLink">
|
4148
|
+
<xsl:with-param name="left" select="floor((@cx - @r) * $scale)"/>
|
4149
|
+
<xsl:with-param name="top" select="floor((@cy - @r) * $scale)"/>
|
4150
|
+
<xsl:with-param name="width" select="floor(@r * 2 * $scale)"/>
|
4151
|
+
<xsl:with-param name="height" select="floor(@r * 2 * $scale)"/>
|
4152
|
+
<xsl:with-param name="dest" select="$dest"/>
|
4153
|
+
</xsl:call-template>
|
4154
|
+
</xsl:for-each>
|
4155
|
+
<xsl:for-each select="./*[local-name() = 'ellipse']">
|
4156
|
+
<xsl:call-template name="insertSVGMapLink">
|
4157
|
+
<xsl:with-param name="left" select="floor((@cx - @rx) * $scale)"/>
|
4158
|
+
<xsl:with-param name="top" select="floor((@cy - @ry) * $scale)"/>
|
4159
|
+
<xsl:with-param name="width" select="floor(@rx * 2 * $scale)"/>
|
4160
|
+
<xsl:with-param name="height" select="floor(@ry * 2 * $scale)"/>
|
4161
|
+
<xsl:with-param name="dest" select="$dest"/>
|
4162
|
+
</xsl:call-template>
|
4163
|
+
</xsl:for-each>
|
4164
|
+
</xsl:template><xsl:template name="insertSVGMapLink">
|
4165
|
+
<xsl:param name="left"/>
|
4166
|
+
<xsl:param name="top"/>
|
4167
|
+
<xsl:param name="width"/>
|
4168
|
+
<xsl:param name="height"/>
|
4169
|
+
<xsl:param name="dest"/>
|
4170
|
+
<fo:block-container position="absolute" left="{$left}px" top="{$top}px" width="{$width}px" height="{$height}px">
|
4171
|
+
<fo:block font-size="1pt">
|
4172
|
+
<fo:basic-link internal-destination="{$dest}" fox:alt-text="svg link">
|
4173
|
+
<fo:inline-container inline-progression-dimension="100%">
|
4174
|
+
<fo:block-container height="{$height - 1}px" width="100%">
|
4175
|
+
<!-- DEBUG <xsl:if test="local-name()='polygon'">
|
4176
|
+
<xsl:attribute name="background-color">magenta</xsl:attribute>
|
4177
|
+
</xsl:if> -->
|
4178
|
+
<fo:block> </fo:block></fo:block-container>
|
4179
|
+
</fo:inline-container>
|
4180
|
+
</fo:basic-link>
|
4181
|
+
</fo:block>
|
4182
|
+
</fo:block-container>
|
3961
4183
|
</xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
|
3962
4184
|
<xsl:apply-templates mode="contents"/>
|
3963
4185
|
<xsl:text> </xsl:text>
|
@@ -3986,28 +4208,39 @@
|
|
3986
4208
|
<xsl:when test="count(xalan:nodeset($contents)/doc) > 1">
|
3987
4209
|
<xsl:for-each select="xalan:nodeset($contents)/doc">
|
3988
4210
|
<fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide">
|
4211
|
+
<xsl:if test="@bundle = 'true'">
|
4212
|
+
<xsl:attribute name="internal-destination"><xsl:value-of select="@firstpage_id"/></xsl:attribute>
|
4213
|
+
</xsl:if>
|
3989
4214
|
<fo:bookmark-title>
|
3990
|
-
<xsl:variable name="bookmark-title_">
|
3991
|
-
<xsl:call-template name="getLangVersion">
|
3992
|
-
<xsl:with-param name="lang" select="@lang"/>
|
3993
|
-
<xsl:with-param name="doctype" select="@doctype"/>
|
3994
|
-
<xsl:with-param name="title" select="@title-part"/>
|
3995
|
-
</xsl:call-template>
|
3996
|
-
</xsl:variable>
|
3997
4215
|
<xsl:choose>
|
3998
|
-
<xsl:when test="normalize-space(
|
3999
|
-
<xsl:
|
4000
|
-
|
4001
|
-
|
4216
|
+
<xsl:when test="not(normalize-space(@bundle) = 'true')"> <!-- 'bundle' means several different documents (not language versions) in one xml -->
|
4217
|
+
<xsl:variable name="bookmark-title_">
|
4218
|
+
<xsl:call-template name="getLangVersion">
|
4219
|
+
<xsl:with-param name="lang" select="@lang"/>
|
4220
|
+
<xsl:with-param name="doctype" select="@doctype"/>
|
4221
|
+
<xsl:with-param name="title" select="@title-part"/>
|
4222
|
+
</xsl:call-template>
|
4223
|
+
</xsl:variable>
|
4002
4224
|
<xsl:choose>
|
4003
|
-
<xsl:when test="
|
4004
|
-
|
4005
|
-
|
4006
|
-
<xsl:otherwise
|
4225
|
+
<xsl:when test="normalize-space($bookmark-title_) != ''">
|
4226
|
+
<xsl:value-of select="normalize-space($bookmark-title_)"/>
|
4227
|
+
</xsl:when>
|
4228
|
+
<xsl:otherwise>
|
4229
|
+
<xsl:choose>
|
4230
|
+
<xsl:when test="@lang = 'en'">English</xsl:when>
|
4231
|
+
<xsl:when test="@lang = 'fr'">Français</xsl:when>
|
4232
|
+
<xsl:when test="@lang = 'de'">Deutsche</xsl:when>
|
4233
|
+
<xsl:otherwise><xsl:value-of select="@lang"/> version</xsl:otherwise>
|
4234
|
+
</xsl:choose>
|
4235
|
+
</xsl:otherwise>
|
4007
4236
|
</xsl:choose>
|
4237
|
+
</xsl:when>
|
4238
|
+
<xsl:otherwise>
|
4239
|
+
<xsl:value-of select="@title-part"/>
|
4008
4240
|
</xsl:otherwise>
|
4009
4241
|
</xsl:choose>
|
4010
4242
|
</fo:bookmark-title>
|
4243
|
+
|
4011
4244
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
4012
4245
|
|
4013
4246
|
<xsl:call-template name="insertFigureBookmarks">
|
@@ -4106,20 +4339,28 @@
|
|
4106
4339
|
<xsl:otherwise><xsl:value-of select="$lang"/> version</xsl:otherwise>
|
4107
4340
|
</xsl:choose>
|
4108
4341
|
</xsl:template><xsl:template match="item" mode="bookmark">
|
4109
|
-
<
|
4110
|
-
|
4111
|
-
|
4112
|
-
|
4113
|
-
<xsl:
|
4114
|
-
|
4115
|
-
|
4116
|
-
|
4117
|
-
|
4118
|
-
|
4342
|
+
<xsl:choose>
|
4343
|
+
<xsl:when test="@id != ''">
|
4344
|
+
<fo:bookmark internal-destination="{@id}" starting-state="hide">
|
4345
|
+
<fo:bookmark-title>
|
4346
|
+
<xsl:if test="@section != ''">
|
4347
|
+
<xsl:value-of select="@section"/>
|
4348
|
+
<xsl:text> </xsl:text>
|
4349
|
+
</xsl:if>
|
4350
|
+
<xsl:value-of select="normalize-space(title)"/>
|
4351
|
+
</fo:bookmark-title>
|
4352
|
+
<xsl:apply-templates mode="bookmark"/>
|
4353
|
+
</fo:bookmark>
|
4354
|
+
</xsl:when>
|
4355
|
+
<xsl:otherwise>
|
4356
|
+
<xsl:apply-templates mode="bookmark"/>
|
4357
|
+
</xsl:otherwise>
|
4358
|
+
</xsl:choose>
|
4119
4359
|
</xsl:template><xsl:template match="title" mode="bookmark"/><xsl:template match="text()" mode="bookmark"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']" mode="presentation">
|
4120
4360
|
<xsl:if test="normalize-space() != ''">
|
4121
4361
|
<fo:block xsl:use-attribute-sets="figure-name-style">
|
4122
4362
|
|
4363
|
+
|
4123
4364
|
<xsl:apply-templates/>
|
4124
4365
|
</fo:block>
|
4125
4366
|
</xsl:if>
|
@@ -4199,6 +4440,8 @@
|
|
4199
4440
|
</xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
4200
4441
|
|
4201
4442
|
<fo:block-container margin-left="0mm">
|
4443
|
+
<xsl:copy-of select="@id"/>
|
4444
|
+
|
4202
4445
|
<xsl:if test="parent::*[local-name() = 'note']">
|
4203
4446
|
<xsl:attribute name="margin-left">
|
4204
4447
|
<xsl:choose>
|
@@ -4209,7 +4452,9 @@
|
|
4209
4452
|
|
4210
4453
|
</xsl:if>
|
4211
4454
|
<fo:block-container margin-left="0mm">
|
4212
|
-
|
4455
|
+
|
4456
|
+
|
4457
|
+
|
4213
4458
|
<fo:block xsl:use-attribute-sets="sourcecode-style">
|
4214
4459
|
<xsl:variable name="_font-size">
|
4215
4460
|
|
@@ -4238,10 +4483,14 @@
|
|
4238
4483
|
</xsl:choose>
|
4239
4484
|
</xsl:attribute>
|
4240
4485
|
</xsl:if>
|
4241
|
-
|
4242
|
-
|
4486
|
+
|
4487
|
+
<xsl:apply-templates/>
|
4488
|
+
</fo:block>
|
4489
|
+
|
4490
|
+
|
4243
4491
|
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
4244
4492
|
|
4493
|
+
|
4245
4494
|
</fo:block-container>
|
4246
4495
|
</fo:block-container>
|
4247
4496
|
</xsl:template><xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
|
@@ -4476,6 +4725,7 @@
|
|
4476
4725
|
</xsl:template><xsl:template match="*[local-name() = 'example']">
|
4477
4726
|
<fo:block id="{@id}" xsl:use-attribute-sets="example-style">
|
4478
4727
|
|
4728
|
+
|
4479
4729
|
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
4480
4730
|
|
4481
4731
|
<xsl:variable name="element">
|
@@ -4654,7 +4904,9 @@
|
|
4654
4904
|
|
4655
4905
|
|
4656
4906
|
</xsl:if>
|
4657
|
-
|
4907
|
+
|
4908
|
+
|
4909
|
+
|
4658
4910
|
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
4659
4911
|
<xsl:if test="normalize-space(@citeas) = ''">
|
4660
4912
|
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
@@ -4663,6 +4915,7 @@
|
|
4663
4915
|
|
4664
4916
|
|
4665
4917
|
|
4918
|
+
|
4666
4919
|
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
4667
4920
|
|
4668
4921
|
</xsl:if>
|
@@ -4700,6 +4953,7 @@
|
|
4700
4953
|
|
4701
4954
|
|
4702
4955
|
|
4956
|
+
|
4703
4957
|
<xsl:choose>
|
4704
4958
|
<xsl:when test="ancestor::un:sections and $depth = 1">12</xsl:when>
|
4705
4959
|
<xsl:when test="ancestor::un:sections">8</xsl:when>
|
@@ -4809,6 +5063,7 @@
|
|
4809
5063
|
<xsl:call-template name="setId"/>
|
4810
5064
|
|
4811
5065
|
|
5066
|
+
|
4812
5067
|
<xsl:apply-templates/>
|
4813
5068
|
</fo:block>
|
4814
5069
|
</xsl:template><xsl:template match="*[local-name() = 'definitions']">
|
@@ -5060,17 +5315,17 @@
|
|
5060
5315
|
<xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
|
5061
5316
|
<xsl:choose>
|
5062
5317
|
<xsl:when test="normalize-space($_doc_ident) != ''">
|
5063
|
-
<xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]/@type"/>
|
5318
|
+
<!-- <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]/@type"/>
|
5064
5319
|
<xsl:if test="$type != '' and not(contains($_doc_ident, $type))">
|
5065
5320
|
<xsl:value-of select="$type"/><xsl:text> </xsl:text>
|
5066
|
-
</xsl:if>
|
5321
|
+
</xsl:if> -->
|
5067
5322
|
<xsl:value-of select="$_doc_ident"/>
|
5068
5323
|
</xsl:when>
|
5069
5324
|
<xsl:otherwise>
|
5070
|
-
<xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]/@type"/>
|
5325
|
+
<!-- <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]/@type"/>
|
5071
5326
|
<xsl:if test="$type != ''">
|
5072
5327
|
<xsl:value-of select="$type"/><xsl:text> </xsl:text>
|
5073
|
-
</xsl:if>
|
5328
|
+
</xsl:if> -->
|
5074
5329
|
<xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
|
5075
5330
|
</xsl:otherwise>
|
5076
5331
|
</xsl:choose>
|
@@ -5383,6 +5638,9 @@
|
|
5383
5638
|
<xsl:when test="parent::*[local-name() = 'preface']">
|
5384
5639
|
<xsl:value-of select="$level_total - 1"/>
|
5385
5640
|
</xsl:when>
|
5641
|
+
<xsl:when test="ancestor::*[local-name() = 'preface'] and not(ancestor::*[local-name() = 'foreword']) and not(ancestor::*[local-name() = 'introduction'])"> <!-- for preface/clause -->
|
5642
|
+
<xsl:value-of select="$level_total - 1"/>
|
5643
|
+
</xsl:when>
|
5386
5644
|
<xsl:when test="ancestor::*[local-name() = 'preface']">
|
5387
5645
|
<xsl:value-of select="$level_total - 2"/>
|
5388
5646
|
</xsl:when>
|
@@ -5523,7 +5781,14 @@
|
|
5523
5781
|
<xsl:when test="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]">
|
5524
5782
|
<xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
5525
5783
|
</xsl:when>
|
5526
|
-
<xsl:otherwise
|
5784
|
+
<xsl:otherwise>
|
5785
|
+
<xsl:variable name="key_">
|
5786
|
+
<xsl:call-template name="capitalize">
|
5787
|
+
<xsl:with-param name="str" select="translate($key, '_', ' ')"/>
|
5788
|
+
</xsl:call-template>
|
5789
|
+
</xsl:variable>
|
5790
|
+
<xsl:value-of select="$key_"/>
|
5791
|
+
</xsl:otherwise>
|
5527
5792
|
</xsl:choose>
|
5528
5793
|
|
5529
5794
|
</xsl:template><xsl:template name="setTrackChangesStyles">
|
@@ -5566,4 +5831,110 @@
|
|
5566
5831
|
<xsl:value-of select="$align"/>
|
5567
5832
|
</xsl:when>
|
5568
5833
|
</xsl:choose>
|
5834
|
+
</xsl:template><xsl:template name="setTextAlignment">
|
5835
|
+
<xsl:param name="default">left</xsl:param>
|
5836
|
+
<xsl:attribute name="text-align">
|
5837
|
+
<xsl:choose>
|
5838
|
+
<xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
|
5839
|
+
<xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
|
5840
|
+
<xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
|
5841
|
+
<xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
|
5842
|
+
</xsl:choose>
|
5843
|
+
</xsl:attribute>
|
5844
|
+
</xsl:template><xsl:template name="number-to-words">
|
5845
|
+
<xsl:param name="number"/>
|
5846
|
+
<xsl:param name="first"/>
|
5847
|
+
<xsl:if test="$number != ''">
|
5848
|
+
<xsl:variable name="words">
|
5849
|
+
<words>
|
5850
|
+
<word cardinal="1">One-</word>
|
5851
|
+
<word ordinal="1">First </word>
|
5852
|
+
<word cardinal="2">Two-</word>
|
5853
|
+
<word ordinal="2">Second </word>
|
5854
|
+
<word cardinal="3">Three-</word>
|
5855
|
+
<word ordinal="3">Third </word>
|
5856
|
+
<word cardinal="4">Four-</word>
|
5857
|
+
<word ordinal="4">Fourth </word>
|
5858
|
+
<word cardinal="5">Five-</word>
|
5859
|
+
<word ordinal="5">Fifth </word>
|
5860
|
+
<word cardinal="6">Six-</word>
|
5861
|
+
<word ordinal="6">Sixth </word>
|
5862
|
+
<word cardinal="7">Seven-</word>
|
5863
|
+
<word ordinal="7">Seventh </word>
|
5864
|
+
<word cardinal="8">Eight-</word>
|
5865
|
+
<word ordinal="8">Eighth </word>
|
5866
|
+
<word cardinal="9">Nine-</word>
|
5867
|
+
<word ordinal="9">Ninth </word>
|
5868
|
+
<word ordinal="10">Tenth </word>
|
5869
|
+
<word ordinal="11">Eleventh </word>
|
5870
|
+
<word ordinal="12">Twelfth </word>
|
5871
|
+
<word ordinal="13">Thirteenth </word>
|
5872
|
+
<word ordinal="14">Fourteenth </word>
|
5873
|
+
<word ordinal="15">Fifteenth </word>
|
5874
|
+
<word ordinal="16">Sixteenth </word>
|
5875
|
+
<word ordinal="17">Seventeenth </word>
|
5876
|
+
<word ordinal="18">Eighteenth </word>
|
5877
|
+
<word ordinal="19">Nineteenth </word>
|
5878
|
+
<word cardinal="20">Twenty-</word>
|
5879
|
+
<word ordinal="20">Twentieth </word>
|
5880
|
+
<word cardinal="30">Thirty-</word>
|
5881
|
+
<word ordinal="30">Thirtieth </word>
|
5882
|
+
<word cardinal="40">Forty-</word>
|
5883
|
+
<word ordinal="40">Fortieth </word>
|
5884
|
+
<word cardinal="50">Fifty-</word>
|
5885
|
+
<word ordinal="50">Fiftieth </word>
|
5886
|
+
<word cardinal="60">Sixty-</word>
|
5887
|
+
<word ordinal="60">Sixtieth </word>
|
5888
|
+
<word cardinal="70">Seventy-</word>
|
5889
|
+
<word ordinal="70">Seventieth </word>
|
5890
|
+
<word cardinal="80">Eighty-</word>
|
5891
|
+
<word ordinal="80">Eightieth </word>
|
5892
|
+
<word cardinal="90">Ninety-</word>
|
5893
|
+
<word ordinal="90">Ninetieth </word>
|
5894
|
+
<word cardinal="100">Hundred-</word>
|
5895
|
+
<word ordinal="100">Hundredth </word>
|
5896
|
+
</words>
|
5897
|
+
</xsl:variable>
|
5898
|
+
|
5899
|
+
<xsl:variable name="ordinal" select="xalan:nodeset($words)//word[@ordinal = $number]/text()"/>
|
5900
|
+
|
5901
|
+
<xsl:variable name="value">
|
5902
|
+
<xsl:choose>
|
5903
|
+
<xsl:when test="$ordinal != ''">
|
5904
|
+
<xsl:value-of select="$ordinal"/>
|
5905
|
+
</xsl:when>
|
5906
|
+
<xsl:otherwise>
|
5907
|
+
<xsl:choose>
|
5908
|
+
<xsl:when test="$number < 100">
|
5909
|
+
<xsl:variable name="decade" select="concat(substring($number,1,1), '0')"/>
|
5910
|
+
<xsl:variable name="digit" select="substring($number,2)"/>
|
5911
|
+
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $decade]/text()"/>
|
5912
|
+
<xsl:value-of select="xalan:nodeset($words)//word[@ordinal = $digit]/text()"/>
|
5913
|
+
</xsl:when>
|
5914
|
+
<xsl:otherwise>
|
5915
|
+
<!-- more 100 -->
|
5916
|
+
<xsl:variable name="hundred" select="substring($number,1,1)"/>
|
5917
|
+
<xsl:variable name="digits" select="number(substring($number,2))"/>
|
5918
|
+
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $hundred]/text()"/>
|
5919
|
+
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = '100']/text()"/>
|
5920
|
+
<xsl:call-template name="number-to-words">
|
5921
|
+
<xsl:with-param name="number" select="$digits"/>
|
5922
|
+
</xsl:call-template>
|
5923
|
+
</xsl:otherwise>
|
5924
|
+
</xsl:choose>
|
5925
|
+
</xsl:otherwise>
|
5926
|
+
</xsl:choose>
|
5927
|
+
</xsl:variable>
|
5928
|
+
<xsl:choose>
|
5929
|
+
<xsl:when test="$first = 'true'">
|
5930
|
+
<xsl:variable name="value_lc" select="java:toLowerCase(java:java.lang.String.new($value))"/>
|
5931
|
+
<xsl:call-template name="capitalize">
|
5932
|
+
<xsl:with-param name="str" select="$value_lc"/>
|
5933
|
+
</xsl:call-template>
|
5934
|
+
</xsl:when>
|
5935
|
+
<xsl:otherwise>
|
5936
|
+
<xsl:value-of select="$value"/>
|
5937
|
+
</xsl:otherwise>
|
5938
|
+
</xsl:choose>
|
5939
|
+
</xsl:if>
|
5569
5940
|
</xsl:template></xsl:stylesheet>
|