metanorma-un 0.6.4 → 0.6.8
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 +1 -1
- data/.rubocop.yml +1 -1
- data/lib/asciidoctor/un/isodoc.rng +62 -8
- data/lib/isodoc/un/un.plenary-attachment.xsl +568 -157
- data/lib/isodoc/un/un.plenary.xsl +568 -157
- data/lib/isodoc/un/un.recommendation.xsl +568 -60
- data/lib/metanorma/un/version.rb +1 -1
- data/metanorma-unece.gemspec +3 -3
- metadata +7 -7
@@ -12,8 +12,12 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
<xsl:variable name="debug">false</xsl:variable>
|
15
|
-
<xsl:variable name="pageWidth" select="
|
16
|
-
<xsl:variable name="pageHeight" select="
|
15
|
+
<xsl:variable name="pageWidth" select="210"/>
|
16
|
+
<xsl:variable name="pageHeight" select="297"/>
|
17
|
+
<xsl:variable name="marginLeftRight1" select="40"/>
|
18
|
+
<xsl:variable name="marginLeftRight2" select="40"/>
|
19
|
+
<xsl:variable name="marginTop" select="30"/>
|
20
|
+
<xsl:variable name="marginBottom" select="34"/>
|
17
21
|
|
18
22
|
<xsl:variable name="contents">
|
19
23
|
<contents>
|
@@ -44,7 +48,7 @@
|
|
44
48
|
<fo:root font-family="Times New Roman, STIX Two Math, Source Han Sans" font-size="10pt" xml:lang="{$lang}">
|
45
49
|
<fo:layout-master-set>
|
46
50
|
<!-- Cover page -->
|
47
|
-
<fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
51
|
+
<fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
48
52
|
<fo:region-body margin-top="20mm" margin-bottom="10mm" margin-left="50mm" margin-right="21mm"/>
|
49
53
|
<fo:region-before extent="20mm"/>
|
50
54
|
<fo:region-after extent="10mm"/>
|
@@ -52,25 +56,25 @@
|
|
52
56
|
<fo:region-end extent="19mm"/>
|
53
57
|
</fo:simple-page-master>
|
54
58
|
|
55
|
-
<fo:simple-page-master master-name="document-preface" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
56
|
-
<fo:region-body margin-top="
|
57
|
-
<fo:region-before region-name="header" extent="
|
58
|
-
<fo:region-after region-name="footer" extent="
|
59
|
+
<fo:simple-page-master master-name="document-preface" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
60
|
+
<fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="19.5mm" margin-right="19.5mm"/>
|
61
|
+
<fo:region-before region-name="header" extent="{$marginTop}mm"/>
|
62
|
+
<fo:region-after region-name="footer" extent="{$marginBottom}mm"/>
|
59
63
|
<fo:region-start region-name="left" extent="19.5mm"/>
|
60
64
|
<fo:region-end region-name="right" extent="19.5mm"/>
|
61
65
|
</fo:simple-page-master>
|
62
66
|
|
63
|
-
<fo:simple-page-master master-name="blank" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
64
|
-
<fo:region-body margin-top="
|
67
|
+
<fo:simple-page-master master-name="blank" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
68
|
+
<fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="19.5mm" margin-right="19.5mm"/>
|
65
69
|
<fo:region-start region-name="left" extent="19.5mm"/>
|
66
70
|
<fo:region-end region-name="right" extent="19.5mm"/>
|
67
71
|
</fo:simple-page-master>
|
68
72
|
|
69
73
|
<!-- Document pages -->
|
70
|
-
<fo:simple-page-master master-name="document" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
71
|
-
<fo:region-body margin-top="
|
72
|
-
<fo:region-before region-name="header" extent="
|
73
|
-
<fo:region-after region-name="footer" extent="
|
74
|
+
<fo:simple-page-master master-name="document" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
75
|
+
<fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
|
76
|
+
<fo:region-before region-name="header" extent="{$marginTop}mm"/>
|
77
|
+
<fo:region-after region-name="footer" extent="{$marginBottom}mm"/>
|
74
78
|
<fo:region-start region-name="left" extent="19.5mm"/>
|
75
79
|
<fo:region-end region-name="right" extent="19.5mm"/>
|
76
80
|
</fo:simple-page-master>
|
@@ -1265,7 +1269,7 @@
|
|
1265
1269
|
|
1266
1270
|
|
1267
1271
|
|
1268
|
-
|
1272
|
+
|
1269
1273
|
</xsl:attribute-set><xsl:attribute-set name="example-style">
|
1270
1274
|
|
1271
1275
|
|
@@ -1330,7 +1334,10 @@
|
|
1330
1334
|
|
1331
1335
|
|
1332
1336
|
|
1333
|
-
|
1337
|
+
|
1338
|
+
</xsl:attribute-set><xsl:variable name="table-border_">
|
1339
|
+
|
1340
|
+
</xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-name-style">
|
1334
1341
|
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
1335
1342
|
|
1336
1343
|
|
@@ -1353,6 +1360,8 @@
|
|
1353
1360
|
|
1354
1361
|
|
1355
1362
|
|
1363
|
+
</xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
|
1364
|
+
|
1356
1365
|
</xsl:attribute-set><xsl:attribute-set name="appendix-style">
|
1357
1366
|
|
1358
1367
|
|
@@ -1373,6 +1382,7 @@
|
|
1373
1382
|
|
1374
1383
|
|
1375
1384
|
|
1385
|
+
|
1376
1386
|
</xsl:attribute-set><xsl:attribute-set name="note-style">
|
1377
1387
|
|
1378
1388
|
|
@@ -1393,6 +1403,7 @@
|
|
1393
1403
|
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
1394
1404
|
|
1395
1405
|
|
1406
|
+
|
1396
1407
|
</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">
|
1397
1408
|
|
1398
1409
|
|
@@ -1436,10 +1447,12 @@
|
|
1436
1447
|
<xsl:attribute name="margin-top">4pt</xsl:attribute>
|
1437
1448
|
|
1438
1449
|
|
1450
|
+
|
1439
1451
|
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
1440
1452
|
|
1441
1453
|
|
1442
1454
|
|
1455
|
+
|
1443
1456
|
</xsl:attribute-set><xsl:attribute-set name="quote-style">
|
1444
1457
|
|
1445
1458
|
|
@@ -1483,6 +1496,7 @@
|
|
1483
1496
|
|
1484
1497
|
|
1485
1498
|
|
1499
|
+
|
1486
1500
|
|
1487
1501
|
|
1488
1502
|
|
@@ -1561,6 +1575,8 @@
|
|
1561
1575
|
<xsl:attribute name="font-family">STIX Two Math</xsl:attribute>
|
1562
1576
|
|
1563
1577
|
|
1578
|
+
</xsl:attribute-set><xsl:attribute-set name="list-style">
|
1579
|
+
|
1564
1580
|
</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">
|
1565
1581
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
|
1566
1582
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
|
@@ -1571,14 +1587,15 @@
|
|
1571
1587
|
<xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
|
1572
1588
|
|
1573
1589
|
<!-- Normative references -->
|
1574
|
-
<xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']" mode="contents"/>
|
1590
|
+
<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"/>
|
1575
1591
|
<!-- Terms and definitions -->
|
1576
1592
|
<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"/>
|
1577
1593
|
<!-- Another main sections -->
|
1578
1594
|
<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"/>
|
1579
1595
|
<xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
|
1580
1596
|
<!-- Bibliography -->
|
1581
|
-
<xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]" mode="contents"/>
|
1597
|
+
<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"/>
|
1598
|
+
|
1582
1599
|
</xsl:template><xsl:template name="processPrefaceSectionsDefault">
|
1583
1600
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
|
1584
1601
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
|
@@ -1614,13 +1631,15 @@
|
|
1614
1631
|
<xsl:variable name="table">
|
1615
1632
|
|
1616
1633
|
<xsl:variable name="simple-table">
|
1617
|
-
<xsl:call-template name="getSimpleTable"/>
|
1634
|
+
<xsl:call-template name="getSimpleTable"/>
|
1618
1635
|
</xsl:variable>
|
1619
1636
|
|
1620
1637
|
<!-- <xsl:if test="$namespace = 'bipm'">
|
1621
|
-
<fo:block> </fo:block>
|
1638
|
+
<fo:block> </fo:block>
|
1622
1639
|
</xsl:if> -->
|
1623
1640
|
|
1641
|
+
|
1642
|
+
<!-- Display table's name before table as standalone block -->
|
1624
1643
|
<!-- $namespace = 'iso' or -->
|
1625
1644
|
|
1626
1645
|
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
@@ -1701,6 +1720,12 @@
|
|
1701
1720
|
|
1702
1721
|
|
1703
1722
|
|
1723
|
+
|
1724
|
+
|
1725
|
+
|
1726
|
+
<!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
|
1727
|
+
|
1728
|
+
|
1704
1729
|
<xsl:variable name="table_width">
|
1705
1730
|
<!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
|
1706
1731
|
|
@@ -1724,6 +1749,7 @@
|
|
1724
1749
|
|
1725
1750
|
|
1726
1751
|
|
1752
|
+
|
1727
1753
|
|
1728
1754
|
|
1729
1755
|
<xsl:if test="ancestor::*[local-name()='sections']">
|
@@ -1735,6 +1761,7 @@
|
|
1735
1761
|
|
1736
1762
|
|
1737
1763
|
|
1764
|
+
|
1738
1765
|
</xsl:variable>
|
1739
1766
|
|
1740
1767
|
|
@@ -1873,6 +1900,9 @@
|
|
1873
1900
|
<fo:block xsl:use-attribute-sets="table-name-style">
|
1874
1901
|
|
1875
1902
|
|
1903
|
+
|
1904
|
+
|
1905
|
+
|
1876
1906
|
<xsl:choose>
|
1877
1907
|
<xsl:when test="$continued = 'true'">
|
1878
1908
|
<!-- <xsl:if test="$namespace = 'bsi'"></xsl:if> -->
|
@@ -2020,6 +2050,7 @@
|
|
2020
2050
|
<!-- font-weight="bold" -->
|
2021
2051
|
<fo:table-header>
|
2022
2052
|
|
2053
|
+
|
2023
2054
|
<xsl:apply-templates/>
|
2024
2055
|
</fo:table-header>
|
2025
2056
|
</xsl:template><xsl:template name="table-header-title">
|
@@ -2144,6 +2175,8 @@
|
|
2144
2175
|
</xsl:choose>
|
2145
2176
|
</xsl:for-each>
|
2146
2177
|
|
2178
|
+
|
2179
|
+
|
2147
2180
|
<xsl:choose>
|
2148
2181
|
<xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
|
2149
2182
|
<xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
|
@@ -2170,6 +2203,7 @@
|
|
2170
2203
|
|
2171
2204
|
|
2172
2205
|
|
2206
|
+
|
2173
2207
|
<!-- fn will be processed inside 'note' processing -->
|
2174
2208
|
|
2175
2209
|
|
@@ -2178,6 +2212,11 @@
|
|
2178
2212
|
|
2179
2213
|
|
2180
2214
|
|
2215
|
+
|
2216
|
+
|
2217
|
+
<!-- for BSI (not PAS) display Notes before footnotes -->
|
2218
|
+
|
2219
|
+
|
2181
2220
|
<!-- except gb -->
|
2182
2221
|
|
2183
2222
|
<xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
|
@@ -2203,6 +2242,10 @@
|
|
2203
2242
|
<!-- fn processing -->
|
2204
2243
|
<xsl:call-template name="fn_display"/>
|
2205
2244
|
|
2245
|
+
|
2246
|
+
<!-- for PAS display Notes after footnotes -->
|
2247
|
+
|
2248
|
+
|
2206
2249
|
</fo:table-cell>
|
2207
2250
|
</fo:table-row>
|
2208
2251
|
</fo:table-body>
|
@@ -2256,15 +2299,24 @@
|
|
2256
2299
|
|
2257
2300
|
|
2258
2301
|
|
2302
|
+
|
2303
|
+
|
2259
2304
|
</xsl:if>
|
2260
2305
|
<xsl:if test="$parent-name = 'tfoot'">
|
2261
2306
|
|
2262
2307
|
|
2308
|
+
|
2263
2309
|
</xsl:if>
|
2264
2310
|
|
2265
2311
|
|
2266
2312
|
|
2267
2313
|
|
2314
|
+
|
2315
|
+
|
2316
|
+
|
2317
|
+
|
2318
|
+
|
2319
|
+
|
2268
2320
|
<!-- <xsl:if test="$namespace = 'bipm'">
|
2269
2321
|
<xsl:attribute name="height">8mm</xsl:attribute>
|
2270
2322
|
</xsl:if> -->
|
@@ -2363,6 +2415,7 @@
|
|
2363
2415
|
|
2364
2416
|
|
2365
2417
|
|
2418
|
+
|
2366
2419
|
<xsl:if test="ancestor::*[local-name()='sections']">
|
2367
2420
|
<xsl:attribute name="border">solid black 0pt</xsl:attribute>
|
2368
2421
|
<xsl:attribute name="padding-top">1mm</xsl:attribute>
|
@@ -2372,6 +2425,9 @@
|
|
2372
2425
|
|
2373
2426
|
|
2374
2427
|
|
2428
|
+
|
2429
|
+
|
2430
|
+
|
2375
2431
|
<xsl:if test=".//*[local-name() = 'table']">
|
2376
2432
|
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
2377
2433
|
</xsl:if>
|
@@ -2401,8 +2457,14 @@
|
|
2401
2457
|
|
2402
2458
|
|
2403
2459
|
|
2460
|
+
|
2461
|
+
|
2462
|
+
<!-- Table's note name (NOTE, for example) -->
|
2463
|
+
|
2404
2464
|
<fo:inline padding-right="2mm">
|
2405
2465
|
|
2466
|
+
|
2467
|
+
|
2406
2468
|
|
2407
2469
|
|
2408
2470
|
<xsl:if test="@type = 'source' or @type = 'abbreviation'">
|
@@ -2420,6 +2482,8 @@
|
|
2420
2482
|
|
2421
2483
|
</fo:inline>
|
2422
2484
|
|
2485
|
+
|
2486
|
+
|
2423
2487
|
<xsl:apply-templates mode="process"/>
|
2424
2488
|
</fo:block>
|
2425
2489
|
|
@@ -2439,6 +2503,8 @@
|
|
2439
2503
|
<xsl:variable name="reference" select="@reference"/>
|
2440
2504
|
<xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
|
2441
2505
|
<fo:block margin-bottom="12pt">
|
2506
|
+
|
2507
|
+
|
2442
2508
|
|
2443
2509
|
|
2444
2510
|
|
@@ -2454,9 +2520,11 @@
|
|
2454
2520
|
|
2455
2521
|
|
2456
2522
|
|
2523
|
+
|
2457
2524
|
<xsl:value-of select="@reference"/>
|
2458
2525
|
|
2459
2526
|
|
2527
|
+
|
2460
2528
|
</fo:inline>
|
2461
2529
|
<fo:inline>
|
2462
2530
|
|
@@ -2597,11 +2665,16 @@
|
|
2597
2665
|
|
2598
2666
|
|
2599
2667
|
|
2668
|
+
|
2669
|
+
|
2670
|
+
|
2671
|
+
|
2600
2672
|
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
2601
2673
|
|
2602
2674
|
|
2603
2675
|
<xsl:value-of select="@reference"/>
|
2604
2676
|
|
2677
|
+
|
2605
2678
|
</fo:basic-link>
|
2606
2679
|
</fo:inline>
|
2607
2680
|
</xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
|
@@ -2899,6 +2972,7 @@
|
|
2899
2972
|
|
2900
2973
|
<fo:table-row>
|
2901
2974
|
|
2975
|
+
|
2902
2976
|
<fo:table-cell>
|
2903
2977
|
|
2904
2978
|
<fo:block margin-top="6pt">
|
@@ -2914,6 +2988,7 @@
|
|
2914
2988
|
|
2915
2989
|
|
2916
2990
|
|
2991
|
+
|
2917
2992
|
<xsl:apply-templates/>
|
2918
2993
|
<!-- <xsl:if test="$namespace = 'gb'">
|
2919
2994
|
<xsl:if test="ancestor::*[local-name()='formula']">
|
@@ -3461,7 +3536,15 @@
|
|
3461
3536
|
<xsl:copy>
|
3462
3537
|
<xsl:apply-templates select="@*|node()" mode="mathml"/>
|
3463
3538
|
</xsl:copy>
|
3464
|
-
<
|
3539
|
+
<xsl:choose>
|
3540
|
+
<!-- if in msub, then don't add space -->
|
3541
|
+
<xsl:when test="ancestor::mathml:mrow[parent::mathml:msub and preceding-sibling::*[1][self::mathml:mrow]]"/>
|
3542
|
+
<!-- if next char in digit, don't add space -->
|
3543
|
+
<xsl:when test="translate(substring(following-sibling::*[1]/text(),1,1),'0123456789','') = ''"/>
|
3544
|
+
<xsl:otherwise>
|
3545
|
+
<mathml:mspace width="0.5ex"/>
|
3546
|
+
</xsl:otherwise>
|
3547
|
+
</xsl:choose>
|
3465
3548
|
</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">
|
3466
3549
|
<xsl:variable name="target">
|
3467
3550
|
<xsl:choose>
|
@@ -3485,6 +3568,8 @@
|
|
3485
3568
|
</xsl:variable>
|
3486
3569
|
<fo:inline xsl:use-attribute-sets="link-style">
|
3487
3570
|
|
3571
|
+
|
3572
|
+
|
3488
3573
|
<xsl:choose>
|
3489
3574
|
<xsl:when test="$target_text = ''">
|
3490
3575
|
<xsl:apply-templates/>
|
@@ -3597,6 +3682,7 @@
|
|
3597
3682
|
|
3598
3683
|
|
3599
3684
|
|
3685
|
+
|
3600
3686
|
<fo:block-container margin-left="0mm">
|
3601
3687
|
|
3602
3688
|
|
@@ -3649,6 +3735,7 @@
|
|
3649
3735
|
</xsl:choose>
|
3650
3736
|
</xsl:template><xsl:template match="*[local-name() = 'termnote']">
|
3651
3737
|
<fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
|
3738
|
+
|
3652
3739
|
<fo:inline xsl:use-attribute-sets="termnote-name-style">
|
3653
3740
|
|
3654
3741
|
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
@@ -3726,6 +3813,7 @@
|
|
3726
3813
|
</xsl:call-template>
|
3727
3814
|
|
3728
3815
|
<fo:block>
|
3816
|
+
|
3729
3817
|
<xsl:apply-templates/>
|
3730
3818
|
</fo:block>
|
3731
3819
|
<xsl:call-template name="fn_display_figure"/>
|
@@ -3785,7 +3873,24 @@
|
|
3785
3873
|
</fo:instream-foreign-object>
|
3786
3874
|
</xsl:when>
|
3787
3875
|
<xsl:otherwise>
|
3788
|
-
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style"
|
3876
|
+
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style">
|
3877
|
+
<xsl:if test="not(@mimetype = 'image/svg+xml') and ../*[local-name() = 'name'] and not(ancestor::*[local-name() = 'table'])">
|
3878
|
+
|
3879
|
+
<xsl:variable name="img_src">
|
3880
|
+
<xsl:choose>
|
3881
|
+
<xsl:when test="not(starts-with(@src, 'data:'))"><xsl:value-of select="concat($basepath, @src)"/></xsl:when>
|
3882
|
+
<xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
|
3883
|
+
</xsl:choose>
|
3884
|
+
</xsl:variable>
|
3885
|
+
|
3886
|
+
<xsl:variable name="scale" select="java:org.metanorma.fop.Util.getImageScale($img_src, $width_effective, $height_effective)"/>
|
3887
|
+
<xsl:if test="number($scale) < 100">
|
3888
|
+
<xsl:attribute name="content-width"><xsl:value-of select="$scale"/>%</xsl:attribute>
|
3889
|
+
</xsl:if>
|
3890
|
+
|
3891
|
+
</xsl:if>
|
3892
|
+
|
3893
|
+
</fo:external-graphic>
|
3789
3894
|
</xsl:otherwise>
|
3790
3895
|
</xsl:choose>
|
3791
3896
|
|
@@ -3853,6 +3958,253 @@
|
|
3853
3958
|
<xsl:param name="height"/>
|
3854
3959
|
<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; "/>
|
3855
3960
|
<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; "/>
|
3961
|
+
</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">
|
3962
|
+
<xsl:param name="name"/>
|
3963
|
+
|
3964
|
+
<xsl:variable name="svg_content">
|
3965
|
+
<xsl:apply-templates select="." mode="svg_update"/>
|
3966
|
+
</xsl:variable>
|
3967
|
+
|
3968
|
+
<xsl:variable name="alt-text">
|
3969
|
+
<xsl:choose>
|
3970
|
+
<xsl:when test="normalize-space(../*[local-name() = 'name']) != ''">
|
3971
|
+
<xsl:value-of select="../*[local-name() = 'name']"/>
|
3972
|
+
</xsl:when>
|
3973
|
+
<xsl:when test="normalize-space($name) != ''">
|
3974
|
+
<xsl:value-of select="$name"/>
|
3975
|
+
</xsl:when>
|
3976
|
+
<xsl:otherwise>Figure</xsl:otherwise>
|
3977
|
+
</xsl:choose>
|
3978
|
+
</xsl:variable>
|
3979
|
+
|
3980
|
+
<xsl:choose>
|
3981
|
+
<xsl:when test=".//*[local-name() = 'a'][*[local-name() = 'rect'] or *[local-name() = 'polygon'] or *[local-name() = 'circle'] or *[local-name() = 'ellipse']]">
|
3982
|
+
<fo:block>
|
3983
|
+
<xsl:variable name="width" select="@width"/>
|
3984
|
+
<xsl:variable name="height" select="@height"/>
|
3985
|
+
|
3986
|
+
<xsl:variable name="scale_x">
|
3987
|
+
<xsl:choose>
|
3988
|
+
<xsl:when test="$width > $width_effective_px">
|
3989
|
+
<xsl:value-of select="$width_effective_px div $width"/>
|
3990
|
+
</xsl:when>
|
3991
|
+
<xsl:otherwise>1</xsl:otherwise>
|
3992
|
+
</xsl:choose>
|
3993
|
+
</xsl:variable>
|
3994
|
+
|
3995
|
+
<xsl:variable name="scale_y">
|
3996
|
+
<xsl:choose>
|
3997
|
+
<xsl:when test="$height * $scale_x > $height_effective_px">
|
3998
|
+
<xsl:value-of select="$height_effective_px div ($height * $scale_x)"/>
|
3999
|
+
</xsl:when>
|
4000
|
+
<xsl:otherwise>1</xsl:otherwise>
|
4001
|
+
</xsl:choose>
|
4002
|
+
</xsl:variable>
|
4003
|
+
|
4004
|
+
<xsl:variable name="scale">
|
4005
|
+
<xsl:choose>
|
4006
|
+
<xsl:when test="$scale_y != 1">
|
4007
|
+
<xsl:value-of select="$scale_x * $scale_y"/>
|
4008
|
+
</xsl:when>
|
4009
|
+
<xsl:otherwise>
|
4010
|
+
<xsl:value-of select="$scale_x"/>
|
4011
|
+
</xsl:otherwise>
|
4012
|
+
</xsl:choose>
|
4013
|
+
</xsl:variable>
|
4014
|
+
|
4015
|
+
<xsl:variable name="width_scale" select="round($width * $scale)"/>
|
4016
|
+
<xsl:variable name="height_scale" select="round($height * $scale)"/>
|
4017
|
+
|
4018
|
+
<fo:table table-layout="fixed" width="100%">
|
4019
|
+
<fo:table-column column-width="proportional-column-width(1)"/>
|
4020
|
+
<fo:table-column column-width="{$width_scale}px"/>
|
4021
|
+
<fo:table-column column-width="proportional-column-width(1)"/>
|
4022
|
+
<fo:table-body>
|
4023
|
+
<fo:table-row>
|
4024
|
+
<fo:table-cell column-number="2">
|
4025
|
+
<fo:block>
|
4026
|
+
<fo:block-container width="{$width_scale}px" height="{$height_scale}px">
|
4027
|
+
<xsl:if test="../*[local-name() = 'name']/*[local-name() = 'bookmark']">
|
4028
|
+
<fo:block line-height="0" font-size="0">
|
4029
|
+
<xsl:for-each select="../*[local-name() = 'name']/*[local-name() = 'bookmark']">
|
4030
|
+
<xsl:call-template name="bookmark"/>
|
4031
|
+
</xsl:for-each>
|
4032
|
+
</fo:block>
|
4033
|
+
</xsl:if>
|
4034
|
+
<fo:block text-depth="0" line-height="0" font-size="0">
|
4035
|
+
|
4036
|
+
<fo:instream-foreign-object fox:alt-text="{$alt-text}">
|
4037
|
+
<xsl:attribute name="width">100%</xsl:attribute>
|
4038
|
+
<xsl:attribute name="content-height">100%</xsl:attribute>
|
4039
|
+
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
4040
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
4041
|
+
|
4042
|
+
<xsl:apply-templates select="xalan:nodeset($svg_content)" mode="svg_remove_a"/>
|
4043
|
+
</fo:instream-foreign-object>
|
4044
|
+
</fo:block>
|
4045
|
+
|
4046
|
+
<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">
|
4047
|
+
<xsl:with-param name="scale" select="$scale"/>
|
4048
|
+
</xsl:apply-templates>
|
4049
|
+
</fo:block-container>
|
4050
|
+
</fo:block>
|
4051
|
+
</fo:table-cell>
|
4052
|
+
</fo:table-row>
|
4053
|
+
</fo:table-body>
|
4054
|
+
</fo:table>
|
4055
|
+
</fo:block>
|
4056
|
+
|
4057
|
+
</xsl:when>
|
4058
|
+
<xsl:otherwise>
|
4059
|
+
<fo:block xsl:use-attribute-sets="image-style">
|
4060
|
+
<fo:instream-foreign-object fox:alt-text="{$alt-text}">
|
4061
|
+
<xsl:attribute name="width">100%</xsl:attribute>
|
4062
|
+
<xsl:attribute name="content-height">100%</xsl:attribute>
|
4063
|
+
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
4064
|
+
<xsl:variable name="svg_width" select="xalan:nodeset($svg_content)/*/@width"/>
|
4065
|
+
<xsl:variable name="svg_height" select="xalan:nodeset($svg_content)/*/@height"/>
|
4066
|
+
<!-- effective height 297 - 27.4 - 13 = 256.6 -->
|
4067
|
+
<!-- effective width 210 - 12.5 - 25 = 172.5 -->
|
4068
|
+
<!-- effective height / width = 1.48, 1.4 - with title -->
|
4069
|
+
<xsl:if test="$svg_height > ($svg_width * 1.4)"> <!-- for images with big height -->
|
4070
|
+
<xsl:variable name="width" select="(($svg_width * 1.4) div $svg_height) * 100"/>
|
4071
|
+
<xsl:attribute name="width"><xsl:value-of select="$width"/>%</xsl:attribute>
|
4072
|
+
</xsl:if>
|
4073
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
4074
|
+
<xsl:copy-of select="$svg_content"/>
|
4075
|
+
</fo:instream-foreign-object>
|
4076
|
+
</fo:block>
|
4077
|
+
</xsl:otherwise>
|
4078
|
+
</xsl:choose>
|
4079
|
+
</xsl:template><xsl:template match="@*|node()" mode="svg_update">
|
4080
|
+
<xsl:copy>
|
4081
|
+
<xsl:apply-templates select="@*|node()" mode="svg_update"/>
|
4082
|
+
</xsl:copy>
|
4083
|
+
</xsl:template><xsl:template match="*[local-name() = 'image']/@href" mode="svg_update">
|
4084
|
+
<xsl:attribute name="href" namespace="http://www.w3.org/1999/xlink">
|
4085
|
+
<xsl:value-of select="."/>
|
4086
|
+
</xsl:attribute>
|
4087
|
+
</xsl:template><xsl:template match="*[local-name() = 'svg'][not(@width and @height)]" mode="svg_update">
|
4088
|
+
<xsl:copy>
|
4089
|
+
<xsl:apply-templates select="@*" mode="svg_update"/>
|
4090
|
+
<xsl:variable name="viewbox">
|
4091
|
+
<xsl:call-template name="split">
|
4092
|
+
<xsl:with-param name="pText" select="@viewBox"/>
|
4093
|
+
<xsl:with-param name="sep" select="' '"/>
|
4094
|
+
</xsl:call-template>
|
4095
|
+
</xsl:variable>
|
4096
|
+
<xsl:attribute name="width">
|
4097
|
+
<xsl:value-of select="round(xalan:nodeset($viewbox)//item[3])"/>
|
4098
|
+
</xsl:attribute>
|
4099
|
+
<xsl:attribute name="height">
|
4100
|
+
<xsl:value-of select="round(xalan:nodeset($viewbox)//item[4])"/>
|
4101
|
+
</xsl:attribute>
|
4102
|
+
<xsl:apply-templates mode="svg_update"/>
|
4103
|
+
</xsl:copy>
|
4104
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'image'][@mimetype = 'image/svg+xml' and @src[not(starts-with(., 'data:image/'))]]" priority="2">
|
4105
|
+
<xsl:variable name="svg_content" select="document(@src)"/>
|
4106
|
+
<xsl:variable name="name" select="ancestor::*[local-name() = 'figure']/*[local-name() = 'name']"/>
|
4107
|
+
<xsl:for-each select="xalan:nodeset($svg_content)/node()">
|
4108
|
+
<xsl:call-template name="image_svg">
|
4109
|
+
<xsl:with-param name="name" select="$name"/>
|
4110
|
+
</xsl:call-template>
|
4111
|
+
</xsl:for-each>
|
4112
|
+
</xsl:template><xsl:template match="@*|node()" mode="svg_remove_a">
|
4113
|
+
<xsl:copy>
|
4114
|
+
<xsl:apply-templates select="@*|node()" mode="svg_remove_a"/>
|
4115
|
+
</xsl:copy>
|
4116
|
+
</xsl:template><xsl:template match="*[local-name() = 'a']" mode="svg_remove_a">
|
4117
|
+
<xsl:apply-templates mode="svg_remove_a"/>
|
4118
|
+
</xsl:template><xsl:template match="*[local-name() = 'a']" mode="svg_imagemap_links">
|
4119
|
+
<xsl:param name="scale"/>
|
4120
|
+
<xsl:variable name="dest">
|
4121
|
+
<xsl:choose>
|
4122
|
+
<xsl:when test="starts-with(@href, '#')">
|
4123
|
+
<xsl:value-of select="substring-after(@href, '#')"/>
|
4124
|
+
</xsl:when>
|
4125
|
+
<xsl:otherwise>
|
4126
|
+
<xsl:value-of select="@href"/>
|
4127
|
+
</xsl:otherwise>
|
4128
|
+
</xsl:choose>
|
4129
|
+
</xsl:variable>
|
4130
|
+
<xsl:for-each select="./*[local-name() = 'rect']">
|
4131
|
+
<xsl:call-template name="insertSVGMapLink">
|
4132
|
+
<xsl:with-param name="left" select="floor(@x * $scale)"/>
|
4133
|
+
<xsl:with-param name="top" select="floor(@y * $scale)"/>
|
4134
|
+
<xsl:with-param name="width" select="floor(@width * $scale)"/>
|
4135
|
+
<xsl:with-param name="height" select="floor(@height * $scale)"/>
|
4136
|
+
<xsl:with-param name="dest" select="$dest"/>
|
4137
|
+
</xsl:call-template>
|
4138
|
+
</xsl:for-each>
|
4139
|
+
|
4140
|
+
<xsl:for-each select="./*[local-name() = 'polygon']">
|
4141
|
+
<xsl:variable name="points">
|
4142
|
+
<xsl:call-template name="split">
|
4143
|
+
<xsl:with-param name="pText" select="@points"/>
|
4144
|
+
</xsl:call-template>
|
4145
|
+
</xsl:variable>
|
4146
|
+
<xsl:variable name="x_coords">
|
4147
|
+
<xsl:for-each select="xalan:nodeset($points)//item[position() mod 2 = 1]">
|
4148
|
+
<xsl:sort select="." data-type="number"/>
|
4149
|
+
<x><xsl:value-of select="."/></x>
|
4150
|
+
</xsl:for-each>
|
4151
|
+
</xsl:variable>
|
4152
|
+
<xsl:variable name="y_coords">
|
4153
|
+
<xsl:for-each select="xalan:nodeset($points)//item[position() mod 2 = 0]">
|
4154
|
+
<xsl:sort select="." data-type="number"/>
|
4155
|
+
<y><xsl:value-of select="."/></y>
|
4156
|
+
</xsl:for-each>
|
4157
|
+
</xsl:variable>
|
4158
|
+
<xsl:variable name="x" select="xalan:nodeset($x_coords)//x[1]"/>
|
4159
|
+
<xsl:variable name="y" select="xalan:nodeset($y_coords)//y[1]"/>
|
4160
|
+
<xsl:variable name="width" select="xalan:nodeset($x_coords)//x[last()] - $x"/>
|
4161
|
+
<xsl:variable name="height" select="xalan:nodeset($y_coords)//y[last()] - $y"/>
|
4162
|
+
<xsl:call-template name="insertSVGMapLink">
|
4163
|
+
<xsl:with-param name="left" select="floor($x * $scale)"/>
|
4164
|
+
<xsl:with-param name="top" select="floor($y * $scale)"/>
|
4165
|
+
<xsl:with-param name="width" select="floor($width * $scale)"/>
|
4166
|
+
<xsl:with-param name="height" select="floor($height * $scale)"/>
|
4167
|
+
<xsl:with-param name="dest" select="$dest"/>
|
4168
|
+
</xsl:call-template>
|
4169
|
+
</xsl:for-each>
|
4170
|
+
|
4171
|
+
<xsl:for-each select="./*[local-name() = 'circle']">
|
4172
|
+
<xsl:call-template name="insertSVGMapLink">
|
4173
|
+
<xsl:with-param name="left" select="floor((@cx - @r) * $scale)"/>
|
4174
|
+
<xsl:with-param name="top" select="floor((@cy - @r) * $scale)"/>
|
4175
|
+
<xsl:with-param name="width" select="floor(@r * 2 * $scale)"/>
|
4176
|
+
<xsl:with-param name="height" select="floor(@r * 2 * $scale)"/>
|
4177
|
+
<xsl:with-param name="dest" select="$dest"/>
|
4178
|
+
</xsl:call-template>
|
4179
|
+
</xsl:for-each>
|
4180
|
+
<xsl:for-each select="./*[local-name() = 'ellipse']">
|
4181
|
+
<xsl:call-template name="insertSVGMapLink">
|
4182
|
+
<xsl:with-param name="left" select="floor((@cx - @rx) * $scale)"/>
|
4183
|
+
<xsl:with-param name="top" select="floor((@cy - @ry) * $scale)"/>
|
4184
|
+
<xsl:with-param name="width" select="floor(@rx * 2 * $scale)"/>
|
4185
|
+
<xsl:with-param name="height" select="floor(@ry * 2 * $scale)"/>
|
4186
|
+
<xsl:with-param name="dest" select="$dest"/>
|
4187
|
+
</xsl:call-template>
|
4188
|
+
</xsl:for-each>
|
4189
|
+
</xsl:template><xsl:template name="insertSVGMapLink">
|
4190
|
+
<xsl:param name="left"/>
|
4191
|
+
<xsl:param name="top"/>
|
4192
|
+
<xsl:param name="width"/>
|
4193
|
+
<xsl:param name="height"/>
|
4194
|
+
<xsl:param name="dest"/>
|
4195
|
+
<fo:block-container position="absolute" left="{$left}px" top="{$top}px" width="{$width}px" height="{$height}px">
|
4196
|
+
<fo:block font-size="1pt">
|
4197
|
+
<fo:basic-link internal-destination="{$dest}" fox:alt-text="svg link">
|
4198
|
+
<fo:inline-container inline-progression-dimension="100%">
|
4199
|
+
<fo:block-container height="{$height - 1}px" width="100%">
|
4200
|
+
<!-- DEBUG <xsl:if test="local-name()='polygon'">
|
4201
|
+
<xsl:attribute name="background-color">magenta</xsl:attribute>
|
4202
|
+
</xsl:if> -->
|
4203
|
+
<fo:block> </fo:block></fo:block-container>
|
4204
|
+
</fo:inline-container>
|
4205
|
+
</fo:basic-link>
|
4206
|
+
</fo:block>
|
4207
|
+
</fo:block-container>
|
3856
4208
|
</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">
|
3857
4209
|
<xsl:apply-templates mode="contents"/>
|
3858
4210
|
<xsl:text> </xsl:text>
|
@@ -3881,28 +4233,39 @@
|
|
3881
4233
|
<xsl:when test="count(xalan:nodeset($contents)/doc) > 1">
|
3882
4234
|
<xsl:for-each select="xalan:nodeset($contents)/doc">
|
3883
4235
|
<fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide">
|
4236
|
+
<xsl:if test="@bundle = 'true'">
|
4237
|
+
<xsl:attribute name="internal-destination"><xsl:value-of select="@firstpage_id"/></xsl:attribute>
|
4238
|
+
</xsl:if>
|
3884
4239
|
<fo:bookmark-title>
|
3885
|
-
<xsl:variable name="bookmark-title_">
|
3886
|
-
<xsl:call-template name="getLangVersion">
|
3887
|
-
<xsl:with-param name="lang" select="@lang"/>
|
3888
|
-
<xsl:with-param name="doctype" select="@doctype"/>
|
3889
|
-
<xsl:with-param name="title" select="@title-part"/>
|
3890
|
-
</xsl:call-template>
|
3891
|
-
</xsl:variable>
|
3892
4240
|
<xsl:choose>
|
3893
|
-
<xsl:when test="normalize-space(
|
3894
|
-
<xsl:
|
3895
|
-
|
3896
|
-
|
4241
|
+
<xsl:when test="not(normalize-space(@bundle) = 'true')"> <!-- 'bundle' means several different documents (not language versions) in one xml -->
|
4242
|
+
<xsl:variable name="bookmark-title_">
|
4243
|
+
<xsl:call-template name="getLangVersion">
|
4244
|
+
<xsl:with-param name="lang" select="@lang"/>
|
4245
|
+
<xsl:with-param name="doctype" select="@doctype"/>
|
4246
|
+
<xsl:with-param name="title" select="@title-part"/>
|
4247
|
+
</xsl:call-template>
|
4248
|
+
</xsl:variable>
|
3897
4249
|
<xsl:choose>
|
3898
|
-
<xsl:when test="
|
3899
|
-
|
3900
|
-
|
3901
|
-
<xsl:otherwise
|
4250
|
+
<xsl:when test="normalize-space($bookmark-title_) != ''">
|
4251
|
+
<xsl:value-of select="normalize-space($bookmark-title_)"/>
|
4252
|
+
</xsl:when>
|
4253
|
+
<xsl:otherwise>
|
4254
|
+
<xsl:choose>
|
4255
|
+
<xsl:when test="@lang = 'en'">English</xsl:when>
|
4256
|
+
<xsl:when test="@lang = 'fr'">Français</xsl:when>
|
4257
|
+
<xsl:when test="@lang = 'de'">Deutsche</xsl:when>
|
4258
|
+
<xsl:otherwise><xsl:value-of select="@lang"/> version</xsl:otherwise>
|
4259
|
+
</xsl:choose>
|
4260
|
+
</xsl:otherwise>
|
3902
4261
|
</xsl:choose>
|
4262
|
+
</xsl:when>
|
4263
|
+
<xsl:otherwise>
|
4264
|
+
<xsl:value-of select="@title-part"/>
|
3903
4265
|
</xsl:otherwise>
|
3904
4266
|
</xsl:choose>
|
3905
4267
|
</fo:bookmark-title>
|
4268
|
+
|
3906
4269
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
3907
4270
|
|
3908
4271
|
<xsl:call-template name="insertFigureBookmarks">
|
@@ -4001,20 +4364,28 @@
|
|
4001
4364
|
<xsl:otherwise><xsl:value-of select="$lang"/> version</xsl:otherwise>
|
4002
4365
|
</xsl:choose>
|
4003
4366
|
</xsl:template><xsl:template match="item" mode="bookmark">
|
4004
|
-
<
|
4005
|
-
|
4006
|
-
|
4007
|
-
|
4008
|
-
<xsl:
|
4009
|
-
|
4010
|
-
|
4011
|
-
|
4012
|
-
|
4013
|
-
|
4367
|
+
<xsl:choose>
|
4368
|
+
<xsl:when test="@id != ''">
|
4369
|
+
<fo:bookmark internal-destination="{@id}" starting-state="hide">
|
4370
|
+
<fo:bookmark-title>
|
4371
|
+
<xsl:if test="@section != ''">
|
4372
|
+
<xsl:value-of select="@section"/>
|
4373
|
+
<xsl:text> </xsl:text>
|
4374
|
+
</xsl:if>
|
4375
|
+
<xsl:value-of select="normalize-space(title)"/>
|
4376
|
+
</fo:bookmark-title>
|
4377
|
+
<xsl:apply-templates mode="bookmark"/>
|
4378
|
+
</fo:bookmark>
|
4379
|
+
</xsl:when>
|
4380
|
+
<xsl:otherwise>
|
4381
|
+
<xsl:apply-templates mode="bookmark"/>
|
4382
|
+
</xsl:otherwise>
|
4383
|
+
</xsl:choose>
|
4014
4384
|
</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">
|
4015
4385
|
<xsl:if test="normalize-space() != ''">
|
4016
4386
|
<fo:block xsl:use-attribute-sets="figure-name-style">
|
4017
4387
|
|
4388
|
+
|
4018
4389
|
<xsl:apply-templates/>
|
4019
4390
|
</fo:block>
|
4020
4391
|
</xsl:if>
|
@@ -4095,6 +4466,7 @@
|
|
4095
4466
|
|
4096
4467
|
<fo:block-container margin-left="0mm">
|
4097
4468
|
<xsl:copy-of select="@id"/>
|
4469
|
+
|
4098
4470
|
<xsl:if test="parent::*[local-name() = 'note']">
|
4099
4471
|
<xsl:attribute name="margin-left">
|
4100
4472
|
<xsl:choose>
|
@@ -4105,7 +4477,9 @@
|
|
4105
4477
|
|
4106
4478
|
</xsl:if>
|
4107
4479
|
<fo:block-container margin-left="0mm">
|
4108
|
-
|
4480
|
+
|
4481
|
+
|
4482
|
+
|
4109
4483
|
<fo:block xsl:use-attribute-sets="sourcecode-style">
|
4110
4484
|
<xsl:variable name="_font-size">
|
4111
4485
|
|
@@ -4134,10 +4508,14 @@
|
|
4134
4508
|
</xsl:choose>
|
4135
4509
|
</xsl:attribute>
|
4136
4510
|
</xsl:if>
|
4137
|
-
|
4138
|
-
|
4511
|
+
|
4512
|
+
<xsl:apply-templates/>
|
4513
|
+
</fo:block>
|
4514
|
+
|
4515
|
+
|
4139
4516
|
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
4140
4517
|
|
4518
|
+
|
4141
4519
|
</fo:block-container>
|
4142
4520
|
</fo:block-container>
|
4143
4521
|
</xsl:template><xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
|
@@ -4551,7 +4929,9 @@
|
|
4551
4929
|
|
4552
4930
|
|
4553
4931
|
</xsl:if>
|
4554
|
-
|
4932
|
+
|
4933
|
+
|
4934
|
+
|
4555
4935
|
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
4556
4936
|
<xsl:if test="normalize-space(@citeas) = ''">
|
4557
4937
|
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
@@ -4560,6 +4940,7 @@
|
|
4560
4940
|
|
4561
4941
|
|
4562
4942
|
|
4943
|
+
|
4563
4944
|
</xsl:if>
|
4564
4945
|
|
4565
4946
|
<xsl:apply-templates/>
|
@@ -4707,6 +5088,7 @@
|
|
4707
5088
|
<xsl:call-template name="setId"/>
|
4708
5089
|
|
4709
5090
|
|
5091
|
+
|
4710
5092
|
<xsl:apply-templates/>
|
4711
5093
|
</fo:block>
|
4712
5094
|
</xsl:template><xsl:template match="*[local-name() = 'definitions']">
|
@@ -4958,17 +5340,17 @@
|
|
4958
5340
|
<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')]"/>
|
4959
5341
|
<xsl:choose>
|
4960
5342
|
<xsl:when test="normalize-space($_doc_ident) != ''">
|
4961
|
-
<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"/>
|
5343
|
+
<!-- <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"/>
|
4962
5344
|
<xsl:if test="$type != '' and not(contains($_doc_ident, $type))">
|
4963
5345
|
<xsl:value-of select="$type"/><xsl:text> </xsl:text>
|
4964
|
-
</xsl:if>
|
5346
|
+
</xsl:if> -->
|
4965
5347
|
<xsl:value-of select="$_doc_ident"/>
|
4966
5348
|
</xsl:when>
|
4967
5349
|
<xsl:otherwise>
|
4968
|
-
<xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]/@type"/>
|
5350
|
+
<!-- <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]/@type"/>
|
4969
5351
|
<xsl:if test="$type != ''">
|
4970
5352
|
<xsl:value-of select="$type"/><xsl:text> </xsl:text>
|
4971
|
-
</xsl:if>
|
5353
|
+
</xsl:if> -->
|
4972
5354
|
<xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
|
4973
5355
|
</xsl:otherwise>
|
4974
5356
|
</xsl:choose>
|
@@ -5409,20 +5791,40 @@
|
|
5409
5791
|
</xsl:call-template>
|
5410
5792
|
</xsl:if>
|
5411
5793
|
</xsl:template><xsl:template name="getLocalizedString">
|
5412
|
-
<xsl:param name="key"/>
|
5794
|
+
<xsl:param name="key"/>
|
5795
|
+
<xsl:param name="formatted">false</xsl:param>
|
5413
5796
|
|
5414
5797
|
<xsl:variable name="curr_lang">
|
5415
5798
|
<xsl:call-template name="getLang"/>
|
5416
5799
|
</xsl:variable>
|
5417
5800
|
|
5418
|
-
<xsl:variable name="data_value"
|
5801
|
+
<xsl:variable name="data_value">
|
5802
|
+
<xsl:choose>
|
5803
|
+
<xsl:when test="$formatted = 'true'">
|
5804
|
+
<xsl:apply-templates select="xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
5805
|
+
</xsl:when>
|
5806
|
+
<xsl:otherwise>
|
5807
|
+
<xsl:value-of select="normalize-space(xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang])"/>
|
5808
|
+
</xsl:otherwise>
|
5809
|
+
</xsl:choose>
|
5810
|
+
</xsl:variable>
|
5419
5811
|
|
5420
5812
|
<xsl:choose>
|
5421
|
-
<xsl:when test="$data_value != ''">
|
5422
|
-
<xsl:
|
5813
|
+
<xsl:when test="normalize-space($data_value) != ''">
|
5814
|
+
<xsl:choose>
|
5815
|
+
<xsl:when test="$formatted = 'true'"><xsl:copy-of select="$data_value"/></xsl:when>
|
5816
|
+
<xsl:otherwise><xsl:value-of select="$data_value"/></xsl:otherwise>
|
5817
|
+
</xsl:choose>
|
5423
5818
|
</xsl:when>
|
5424
5819
|
<xsl:when test="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]">
|
5425
|
-
<xsl:
|
5820
|
+
<xsl:choose>
|
5821
|
+
<xsl:when test="$formatted = 'true'">
|
5822
|
+
<xsl:apply-templates select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
5823
|
+
</xsl:when>
|
5824
|
+
<xsl:otherwise>
|
5825
|
+
<xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
5826
|
+
</xsl:otherwise>
|
5827
|
+
</xsl:choose>
|
5426
5828
|
</xsl:when>
|
5427
5829
|
<xsl:otherwise>
|
5428
5830
|
<xsl:variable name="key_">
|
@@ -5433,7 +5835,7 @@
|
|
5433
5835
|
<xsl:value-of select="$key_"/>
|
5434
5836
|
</xsl:otherwise>
|
5435
5837
|
</xsl:choose>
|
5436
|
-
|
5838
|
+
|
5437
5839
|
</xsl:template><xsl:template name="setTrackChangesStyles">
|
5438
5840
|
<xsl:param name="isAdded"/>
|
5439
5841
|
<xsl:param name="isDeleted"/>
|
@@ -5474,4 +5876,110 @@
|
|
5474
5876
|
<xsl:value-of select="$align"/>
|
5475
5877
|
</xsl:when>
|
5476
5878
|
</xsl:choose>
|
5879
|
+
</xsl:template><xsl:template name="setTextAlignment">
|
5880
|
+
<xsl:param name="default">left</xsl:param>
|
5881
|
+
<xsl:attribute name="text-align">
|
5882
|
+
<xsl:choose>
|
5883
|
+
<xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
|
5884
|
+
<xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
|
5885
|
+
<xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
|
5886
|
+
<xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
|
5887
|
+
</xsl:choose>
|
5888
|
+
</xsl:attribute>
|
5889
|
+
</xsl:template><xsl:template name="number-to-words">
|
5890
|
+
<xsl:param name="number"/>
|
5891
|
+
<xsl:param name="first"/>
|
5892
|
+
<xsl:if test="$number != ''">
|
5893
|
+
<xsl:variable name="words">
|
5894
|
+
<words>
|
5895
|
+
<word cardinal="1">One-</word>
|
5896
|
+
<word ordinal="1">First </word>
|
5897
|
+
<word cardinal="2">Two-</word>
|
5898
|
+
<word ordinal="2">Second </word>
|
5899
|
+
<word cardinal="3">Three-</word>
|
5900
|
+
<word ordinal="3">Third </word>
|
5901
|
+
<word cardinal="4">Four-</word>
|
5902
|
+
<word ordinal="4">Fourth </word>
|
5903
|
+
<word cardinal="5">Five-</word>
|
5904
|
+
<word ordinal="5">Fifth </word>
|
5905
|
+
<word cardinal="6">Six-</word>
|
5906
|
+
<word ordinal="6">Sixth </word>
|
5907
|
+
<word cardinal="7">Seven-</word>
|
5908
|
+
<word ordinal="7">Seventh </word>
|
5909
|
+
<word cardinal="8">Eight-</word>
|
5910
|
+
<word ordinal="8">Eighth </word>
|
5911
|
+
<word cardinal="9">Nine-</word>
|
5912
|
+
<word ordinal="9">Ninth </word>
|
5913
|
+
<word ordinal="10">Tenth </word>
|
5914
|
+
<word ordinal="11">Eleventh </word>
|
5915
|
+
<word ordinal="12">Twelfth </word>
|
5916
|
+
<word ordinal="13">Thirteenth </word>
|
5917
|
+
<word ordinal="14">Fourteenth </word>
|
5918
|
+
<word ordinal="15">Fifteenth </word>
|
5919
|
+
<word ordinal="16">Sixteenth </word>
|
5920
|
+
<word ordinal="17">Seventeenth </word>
|
5921
|
+
<word ordinal="18">Eighteenth </word>
|
5922
|
+
<word ordinal="19">Nineteenth </word>
|
5923
|
+
<word cardinal="20">Twenty-</word>
|
5924
|
+
<word ordinal="20">Twentieth </word>
|
5925
|
+
<word cardinal="30">Thirty-</word>
|
5926
|
+
<word ordinal="30">Thirtieth </word>
|
5927
|
+
<word cardinal="40">Forty-</word>
|
5928
|
+
<word ordinal="40">Fortieth </word>
|
5929
|
+
<word cardinal="50">Fifty-</word>
|
5930
|
+
<word ordinal="50">Fiftieth </word>
|
5931
|
+
<word cardinal="60">Sixty-</word>
|
5932
|
+
<word ordinal="60">Sixtieth </word>
|
5933
|
+
<word cardinal="70">Seventy-</word>
|
5934
|
+
<word ordinal="70">Seventieth </word>
|
5935
|
+
<word cardinal="80">Eighty-</word>
|
5936
|
+
<word ordinal="80">Eightieth </word>
|
5937
|
+
<word cardinal="90">Ninety-</word>
|
5938
|
+
<word ordinal="90">Ninetieth </word>
|
5939
|
+
<word cardinal="100">Hundred-</word>
|
5940
|
+
<word ordinal="100">Hundredth </word>
|
5941
|
+
</words>
|
5942
|
+
</xsl:variable>
|
5943
|
+
|
5944
|
+
<xsl:variable name="ordinal" select="xalan:nodeset($words)//word[@ordinal = $number]/text()"/>
|
5945
|
+
|
5946
|
+
<xsl:variable name="value">
|
5947
|
+
<xsl:choose>
|
5948
|
+
<xsl:when test="$ordinal != ''">
|
5949
|
+
<xsl:value-of select="$ordinal"/>
|
5950
|
+
</xsl:when>
|
5951
|
+
<xsl:otherwise>
|
5952
|
+
<xsl:choose>
|
5953
|
+
<xsl:when test="$number < 100">
|
5954
|
+
<xsl:variable name="decade" select="concat(substring($number,1,1), '0')"/>
|
5955
|
+
<xsl:variable name="digit" select="substring($number,2)"/>
|
5956
|
+
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $decade]/text()"/>
|
5957
|
+
<xsl:value-of select="xalan:nodeset($words)//word[@ordinal = $digit]/text()"/>
|
5958
|
+
</xsl:when>
|
5959
|
+
<xsl:otherwise>
|
5960
|
+
<!-- more 100 -->
|
5961
|
+
<xsl:variable name="hundred" select="substring($number,1,1)"/>
|
5962
|
+
<xsl:variable name="digits" select="number(substring($number,2))"/>
|
5963
|
+
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $hundred]/text()"/>
|
5964
|
+
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = '100']/text()"/>
|
5965
|
+
<xsl:call-template name="number-to-words">
|
5966
|
+
<xsl:with-param name="number" select="$digits"/>
|
5967
|
+
</xsl:call-template>
|
5968
|
+
</xsl:otherwise>
|
5969
|
+
</xsl:choose>
|
5970
|
+
</xsl:otherwise>
|
5971
|
+
</xsl:choose>
|
5972
|
+
</xsl:variable>
|
5973
|
+
<xsl:choose>
|
5974
|
+
<xsl:when test="$first = 'true'">
|
5975
|
+
<xsl:variable name="value_lc" select="java:toLowerCase(java:java.lang.String.new($value))"/>
|
5976
|
+
<xsl:call-template name="capitalize">
|
5977
|
+
<xsl:with-param name="str" select="$value_lc"/>
|
5978
|
+
</xsl:call-template>
|
5979
|
+
</xsl:when>
|
5980
|
+
<xsl:otherwise>
|
5981
|
+
<xsl:value-of select="$value"/>
|
5982
|
+
</xsl:otherwise>
|
5983
|
+
</xsl:choose>
|
5984
|
+
</xsl:if>
|
5477
5985
|
</xsl:template></xsl:stylesheet>
|