metanorma-un 0.6.3 → 0.6.7
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 +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
@@ -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>
|