metanorma-csa 1.6.6 → 1.7.2
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 +29 -8
- data/README.adoc +14 -30
- data/lib/asciidoctor/csa/basicdoc.rng +50 -3
- data/lib/asciidoctor/csa/converter.rb +21 -41
- data/lib/asciidoctor/csa/isodoc.rng +61 -3
- data/lib/isodoc/csa/base_convert.rb +2 -12
- data/lib/isodoc/csa/csa.standard.xsl +293 -70
- data/lib/isodoc/csa/html/csa.css +19 -20
- data/lib/isodoc/csa/html/csa.scss +19 -20
- data/lib/isodoc/csa/html/htmlstyle.css +7 -7
- data/lib/isodoc/csa/html/htmlstyle.scss +6 -6
- data/lib/isodoc/csa/html/wordstyle.css +19 -19
- data/lib/isodoc/csa/html/wordstyle.scss +19 -19
- data/lib/isodoc/csa/html_convert.rb +2 -43
- data/lib/isodoc/csa/i18n.rb +3 -4
- data/lib/isodoc/csa/metadata.rb +3 -18
- data/lib/isodoc/csa/presentation_xml_convert.rb +2 -1
- data/lib/isodoc/csa/word_convert.rb +1 -25
- data/lib/isodoc/csa/xref.rb +1 -1
- data/lib/metanorma/csa.rb +26 -1
- data/lib/metanorma/csa/processor.rb +9 -10
- data/lib/metanorma/csa/version.rb +1 -1
- data/metanorma-csa.gemspec +1 -10
- data/metanorma.yml +60 -0
- metadata +6 -104
- data/lib/asciidoctor/csa/validate.rb +0 -33
@@ -5,18 +5,8 @@ require 'isodoc'
|
|
5
5
|
module IsoDoc
|
6
6
|
module Csa
|
7
7
|
module BaseConvert
|
8
|
-
def
|
9
|
-
|
10
|
-
term_cleanup(docxml)
|
11
|
-
end
|
12
|
-
|
13
|
-
def term_cleanup(docxml)
|
14
|
-
docxml.xpath("//p[@class = 'Terms']").each do |d|
|
15
|
-
h2 = d.at("./preceding-sibling::*[@class = 'TermNum'][1]")
|
16
|
-
h2.add_child(" ")
|
17
|
-
h2.add_child(d.remove)
|
18
|
-
end
|
19
|
-
docxml
|
8
|
+
def configuration
|
9
|
+
Metanorma::Csa.configuration
|
20
10
|
end
|
21
11
|
end
|
22
12
|
end
|
@@ -33,7 +33,7 @@
|
|
33
33
|
|
34
34
|
<xsl:template match="/">
|
35
35
|
<xsl:call-template name="namespaceCheck"/>
|
36
|
-
<fo:root font-family="
|
36
|
+
<fo:root font-family="Azo Sans, STIX Two Math" font-size="10pt" xml:lang="{$lang}">
|
37
37
|
<fo:layout-master-set>
|
38
38
|
<!-- Cover page -->
|
39
39
|
<fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
@@ -519,7 +519,7 @@
|
|
519
519
|
</fo:basic-link>
|
520
520
|
</fo:inline>
|
521
521
|
<fo:footnote-body>
|
522
|
-
<fo:block font-family="
|
522
|
+
<fo:block font-family="Azo Sans Lt" font-size="10pt" margin-bottom="12pt" font-weight="normal" text-indent="0" start-indent="0" color="rgb(168, 170, 173)" text-align="left">
|
523
523
|
<fo:inline id="footnote_{@reference}" keep-with-next.within-line="always" font-size="60%" vertical-align="super">
|
524
524
|
<xsl:value-of select="$number "/><!-- + count(//csa:bibitem/csa:note) -->
|
525
525
|
</fo:inline>
|
@@ -601,7 +601,7 @@
|
|
601
601
|
</fo:basic-link>
|
602
602
|
</fo:inline>
|
603
603
|
<fo:footnote-body>
|
604
|
-
<fo:block font-family="
|
604
|
+
<fo:block font-family="Azo Sans Lt" font-size="10pt" margin-bottom="12pt" start-indent="0pt" color="rgb(168, 170, 173)">
|
605
605
|
<fo:inline id="{generate-id()}" keep-with-next.within-line="always" font-size="60%" vertical-align="super"><!-- baseline-shift="30%" padding-right="9mm" alignment-baseline="hanging" -->
|
606
606
|
<xsl:value-of select="$number"/><!-- <xsl:text>)</xsl:text> -->
|
607
607
|
</fo:inline>
|
@@ -658,13 +658,13 @@
|
|
658
658
|
<xsl:otherwise> <!-- for ordered lists -->
|
659
659
|
<xsl:choose>
|
660
660
|
<xsl:when test="../@type = 'arabic'">
|
661
|
-
<xsl:number format="a)"/>
|
661
|
+
<xsl:number format="a)" lang="en"/>
|
662
662
|
</xsl:when>
|
663
663
|
<xsl:when test="../@type = 'alphabet'">
|
664
664
|
<xsl:number format="1)"/>
|
665
665
|
</xsl:when>
|
666
666
|
<xsl:when test="../@type = 'alphabet_upper'">
|
667
|
-
<xsl:number format="A)"/>
|
667
|
+
<xsl:number format="A)" lang="en"/>
|
668
668
|
</xsl:when>
|
669
669
|
|
670
670
|
<xsl:when test="../@type = 'roman'">
|
@@ -856,7 +856,7 @@
|
|
856
856
|
</fo:block-container>
|
857
857
|
</fo:static-content>
|
858
858
|
<fo:static-content flow-name="footer">
|
859
|
-
<fo:block-container font-family="
|
859
|
+
<fo:block-container font-family="Azo Sans Lt" font-size="10.1pt" height="100%" display-align="after"> <!-- 11.5pt -->
|
860
860
|
<fo:block padding-bottom="13mm" text-align="right" color="rgb(144, 144, 144)">
|
861
861
|
<fo:inline padding-right="7mm"><xsl:value-of select="$copyright"/></fo:inline>
|
862
862
|
<fo:page-number/>
|
@@ -928,13 +928,22 @@
|
|
928
928
|
<title-part lang="en">
|
929
929
|
|
930
930
|
|
931
|
+
|
931
932
|
</title-part>
|
932
933
|
<title-part lang="fr">
|
933
934
|
|
934
935
|
|
936
|
+
|
935
937
|
</title-part>
|
936
938
|
<title-part lang="zh">第 # 部分:</title-part>
|
937
939
|
|
940
|
+
<title-subpart lang="en">
|
941
|
+
|
942
|
+
</title-subpart>
|
943
|
+
<title-subpart lang="fr">
|
944
|
+
|
945
|
+
</title-subpart>
|
946
|
+
|
938
947
|
<title-modified lang="en">modified</title-modified>
|
939
948
|
<title-modified lang="fr">modifiée</title-modified>
|
940
949
|
|
@@ -1031,7 +1040,7 @@
|
|
1031
1040
|
<xsl:attribute name="wrap-option">wrap</xsl:attribute>
|
1032
1041
|
|
1033
1042
|
|
1034
|
-
<xsl:attribute name="font-family">
|
1043
|
+
<xsl:attribute name="font-family">Source Code Pro</xsl:attribute>
|
1035
1044
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
1036
1045
|
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
1037
1046
|
<xsl:attribute name="line-height">113%</xsl:attribute>
|
@@ -1243,6 +1252,7 @@
|
|
1243
1252
|
|
1244
1253
|
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
1245
1254
|
|
1255
|
+
|
1246
1256
|
</xsl:attribute-set><xsl:attribute-set name="quote-style">
|
1247
1257
|
|
1248
1258
|
<xsl:attribute name="margin-top">12pt</xsl:attribute>
|
@@ -1281,6 +1291,7 @@
|
|
1281
1291
|
|
1282
1292
|
</xsl:attribute-set><xsl:attribute-set name="figure-name-style">
|
1283
1293
|
|
1294
|
+
|
1284
1295
|
<xsl:attribute name="font-size">11pt</xsl:attribute>
|
1285
1296
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
1286
1297
|
<xsl:attribute name="text-align">center</xsl:attribute>
|
@@ -1327,7 +1338,7 @@
|
|
1327
1338
|
|
1328
1339
|
</xsl:attribute-set><xsl:attribute-set name="tt-style">
|
1329
1340
|
|
1330
|
-
<xsl:attribute name="font-family">
|
1341
|
+
<xsl:attribute name="font-family">Source Code Pro</xsl:attribute>
|
1331
1342
|
|
1332
1343
|
|
1333
1344
|
|
@@ -1403,7 +1414,9 @@
|
|
1403
1414
|
|
1404
1415
|
|
1405
1416
|
|
1406
|
-
|
1417
|
+
<!-- <xsl:if test="$namespace = 'bipm'">
|
1418
|
+
<fo:block> </fo:block>
|
1419
|
+
</xsl:if> -->
|
1407
1420
|
|
1408
1421
|
<!-- $namespace = 'iso' or -->
|
1409
1422
|
|
@@ -1435,10 +1448,12 @@
|
|
1435
1448
|
|
1436
1449
|
|
1437
1450
|
<xsl:variable name="colwidths">
|
1438
|
-
<xsl:
|
1439
|
-
<xsl:
|
1440
|
-
|
1441
|
-
|
1451
|
+
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
|
1452
|
+
<xsl:call-template name="calculate-column-widths">
|
1453
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
1454
|
+
<xsl:with-param name="table" select="$simple-table"/>
|
1455
|
+
</xsl:call-template>
|
1456
|
+
</xsl:if>
|
1442
1457
|
</xsl:variable>
|
1443
1458
|
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
1444
1459
|
|
@@ -1477,7 +1492,12 @@
|
|
1477
1492
|
|
1478
1493
|
<xsl:variable name="table_attributes">
|
1479
1494
|
<attribute name="table-layout">fixed</attribute>
|
1480
|
-
<attribute name="width">
|
1495
|
+
<attribute name="width">
|
1496
|
+
<xsl:choose>
|
1497
|
+
<xsl:when test="@width"><xsl:value-of select="@width"/></xsl:when>
|
1498
|
+
<xsl:otherwise>100%</xsl:otherwise>
|
1499
|
+
</xsl:choose>
|
1500
|
+
</attribute>
|
1481
1501
|
<attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
|
1482
1502
|
<attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
|
1483
1503
|
|
@@ -1506,16 +1526,25 @@
|
|
1506
1526
|
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
|
1507
1527
|
</xsl:if>
|
1508
1528
|
|
1509
|
-
<xsl:
|
1510
|
-
<xsl:
|
1511
|
-
<xsl:
|
1512
|
-
<fo:table-column column-width="
|
1513
|
-
</xsl:
|
1514
|
-
|
1515
|
-
|
1516
|
-
|
1517
|
-
|
1518
|
-
|
1529
|
+
<xsl:choose>
|
1530
|
+
<xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
|
1531
|
+
<xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
|
1532
|
+
<fo:table-column column-width="{@width}"/>
|
1533
|
+
</xsl:for-each>
|
1534
|
+
</xsl:when>
|
1535
|
+
<xsl:otherwise>
|
1536
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
1537
|
+
<xsl:choose>
|
1538
|
+
<xsl:when test=". = 1 or . = 0">
|
1539
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
1540
|
+
</xsl:when>
|
1541
|
+
<xsl:otherwise>
|
1542
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
1543
|
+
</xsl:otherwise>
|
1544
|
+
</xsl:choose>
|
1545
|
+
</xsl:for-each>
|
1546
|
+
</xsl:otherwise>
|
1547
|
+
</xsl:choose>
|
1519
1548
|
|
1520
1549
|
<xsl:choose>
|
1521
1550
|
<xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
|
@@ -1528,10 +1557,12 @@
|
|
1528
1557
|
|
1529
1558
|
</fo:table>
|
1530
1559
|
|
1560
|
+
<xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
|
1531
1561
|
<xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
|
1532
1562
|
<xsl:call-template name="insertTableFooterInSeparateTable">
|
1533
1563
|
<xsl:with-param name="table_attributes" select="$table_attributes"/>
|
1534
1564
|
<xsl:with-param name="colwidths" select="$colwidths"/>
|
1565
|
+
<xsl:with-param name="colgroup" select="$colgroup"/>
|
1535
1566
|
</xsl:call-template>
|
1536
1567
|
</xsl:for-each>
|
1537
1568
|
|
@@ -1564,6 +1595,7 @@
|
|
1564
1595
|
<xsl:if test="normalize-space() != ''">
|
1565
1596
|
<fo:block xsl:use-attribute-sets="table-name-style">
|
1566
1597
|
|
1598
|
+
|
1567
1599
|
<xsl:apply-templates/>
|
1568
1600
|
</fo:block>
|
1569
1601
|
</xsl:if>
|
@@ -1784,12 +1816,22 @@
|
|
1784
1816
|
</xsl:template><xsl:template name="insertTableFooterInSeparateTable">
|
1785
1817
|
<xsl:param name="table_attributes"/>
|
1786
1818
|
<xsl:param name="colwidths"/>
|
1819
|
+
<xsl:param name="colgroup"/>
|
1787
1820
|
|
1788
1821
|
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
|
1789
1822
|
|
1790
1823
|
<xsl:if test="$isNoteOrFnExist = 'true'">
|
1791
1824
|
|
1792
|
-
<xsl:variable name="cols-count"
|
1825
|
+
<xsl:variable name="cols-count">
|
1826
|
+
<xsl:choose>
|
1827
|
+
<xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
|
1828
|
+
<xsl:value-of select="count(xalan:nodeset($colgroup)//*[local-name()='col'])"/>
|
1829
|
+
</xsl:when>
|
1830
|
+
<xsl:otherwise>
|
1831
|
+
<xsl:value-of select="count(xalan:nodeset($colwidths)//column)"/>
|
1832
|
+
</xsl:otherwise>
|
1833
|
+
</xsl:choose>
|
1834
|
+
</xsl:variable>
|
1793
1835
|
|
1794
1836
|
<fo:table keep-with-previous="always">
|
1795
1837
|
<xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
|
@@ -1807,16 +1849,25 @@
|
|
1807
1849
|
</xsl:choose>
|
1808
1850
|
</xsl:for-each>
|
1809
1851
|
|
1810
|
-
<xsl:
|
1811
|
-
<xsl:
|
1812
|
-
<xsl:
|
1813
|
-
<fo:table-column column-width="
|
1814
|
-
</xsl:
|
1815
|
-
|
1816
|
-
|
1817
|
-
|
1818
|
-
|
1819
|
-
|
1852
|
+
<xsl:choose>
|
1853
|
+
<xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
|
1854
|
+
<xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
|
1855
|
+
<fo:table-column column-width="{@width}"/>
|
1856
|
+
</xsl:for-each>
|
1857
|
+
</xsl:when>
|
1858
|
+
<xsl:otherwise>
|
1859
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
1860
|
+
<xsl:choose>
|
1861
|
+
<xsl:when test=". = 1 or . = 0">
|
1862
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
1863
|
+
</xsl:when>
|
1864
|
+
<xsl:otherwise>
|
1865
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
1866
|
+
</xsl:otherwise>
|
1867
|
+
</xsl:choose>
|
1868
|
+
</xsl:for-each>
|
1869
|
+
</xsl:otherwise>
|
1870
|
+
</xsl:choose>
|
1820
1871
|
|
1821
1872
|
<fo:table-body>
|
1822
1873
|
<fo:table-row>
|
@@ -1917,6 +1968,7 @@
|
|
1917
1968
|
|
1918
1969
|
|
1919
1970
|
|
1971
|
+
|
1920
1972
|
<!-- <xsl:if test="$namespace = 'bipm'">
|
1921
1973
|
<xsl:attribute name="height">8mm</xsl:attribute>
|
1922
1974
|
</xsl:if> -->
|
@@ -2002,7 +2054,8 @@
|
|
2002
2054
|
</xsl:attribute>
|
2003
2055
|
</xsl:if>
|
2004
2056
|
<xsl:call-template name="display-align"/>
|
2005
|
-
<fo:block>
|
2057
|
+
<fo:block>
|
2058
|
+
|
2006
2059
|
<xsl:apply-templates/>
|
2007
2060
|
</fo:block>
|
2008
2061
|
</fo:table-cell>
|
@@ -2212,7 +2265,13 @@
|
|
2212
2265
|
<xsl:apply-templates/>
|
2213
2266
|
</fo:inline>
|
2214
2267
|
</xsl:template><xsl:template match="*[local-name()='dl']">
|
2215
|
-
<fo:block-container
|
2268
|
+
<fo:block-container>
|
2269
|
+
|
2270
|
+
<xsl:if test="not(ancestor::*[local-name() = 'quote'])">
|
2271
|
+
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
2272
|
+
</xsl:if>
|
2273
|
+
|
2274
|
+
|
2216
2275
|
<xsl:if test="parent::*[local-name() = 'note']">
|
2217
2276
|
<xsl:attribute name="margin-left">
|
2218
2277
|
<xsl:choose>
|
@@ -2222,8 +2281,12 @@
|
|
2222
2281
|
</xsl:attribute>
|
2223
2282
|
|
2224
2283
|
</xsl:if>
|
2225
|
-
<fo:block-container
|
2226
|
-
|
2284
|
+
<fo:block-container>
|
2285
|
+
|
2286
|
+
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
2287
|
+
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
2288
|
+
|
2289
|
+
|
2227
2290
|
<xsl:variable name="parent" select="local-name(..)"/>
|
2228
2291
|
|
2229
2292
|
<xsl:variable name="key_iso">
|
@@ -2237,9 +2300,12 @@
|
|
2237
2300
|
<fo:block margin-bottom="12pt" text-align="left">
|
2238
2301
|
|
2239
2302
|
<xsl:variable name="title-where">
|
2240
|
-
|
2241
|
-
|
2242
|
-
|
2303
|
+
|
2304
|
+
|
2305
|
+
<xsl:call-template name="getTitle">
|
2306
|
+
<xsl:with-param name="name" select="'title-where'"/>
|
2307
|
+
</xsl:call-template>
|
2308
|
+
|
2243
2309
|
</xsl:variable>
|
2244
2310
|
<xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
|
2245
2311
|
<xsl:apply-templates select="*[local-name()='dt']/*"/>
|
@@ -2255,9 +2321,12 @@
|
|
2255
2321
|
|
2256
2322
|
|
2257
2323
|
<xsl:variable name="title-where">
|
2258
|
-
|
2259
|
-
|
2260
|
-
|
2324
|
+
|
2325
|
+
|
2326
|
+
<xsl:call-template name="getTitle">
|
2327
|
+
<xsl:with-param name="name" select="'title-where'"/>
|
2328
|
+
</xsl:call-template>
|
2329
|
+
|
2261
2330
|
</xsl:variable>
|
2262
2331
|
<xsl:value-of select="$title-where"/>
|
2263
2332
|
</fo:block>
|
@@ -2268,9 +2337,12 @@
|
|
2268
2337
|
|
2269
2338
|
|
2270
2339
|
<xsl:variable name="title-key">
|
2271
|
-
|
2272
|
-
|
2273
|
-
|
2340
|
+
|
2341
|
+
|
2342
|
+
<xsl:call-template name="getTitle">
|
2343
|
+
<xsl:with-param name="name" select="'title-key'"/>
|
2344
|
+
</xsl:call-template>
|
2345
|
+
|
2274
2346
|
</xsl:variable>
|
2275
2347
|
<xsl:value-of select="$title-key"/>
|
2276
2348
|
</fo:block>
|
@@ -2396,12 +2468,32 @@
|
|
2396
2468
|
</xsl:otherwise>
|
2397
2469
|
</xsl:choose>
|
2398
2470
|
</xsl:template><xsl:template name="getMaxLength_dt">
|
2399
|
-
<xsl:
|
2400
|
-
<xsl:
|
2401
|
-
|
2402
|
-
<xsl:
|
2403
|
-
|
2404
|
-
|
2471
|
+
<xsl:variable name="lengths">
|
2472
|
+
<xsl:for-each select="*[local-name()='dt']">
|
2473
|
+
<xsl:variable name="maintext_length" select="string-length(normalize-space(.))"/>
|
2474
|
+
<xsl:variable name="attributes">
|
2475
|
+
<xsl:for-each select=".//@open"><xsl:value-of select="."/></xsl:for-each>
|
2476
|
+
<xsl:for-each select=".//@close"><xsl:value-of select="."/></xsl:for-each>
|
2477
|
+
</xsl:variable>
|
2478
|
+
<length><xsl:value-of select="string-length(normalize-space(.)) + string-length($attributes)"/></length>
|
2479
|
+
</xsl:for-each>
|
2480
|
+
</xsl:variable>
|
2481
|
+
<xsl:variable name="maxLength">
|
2482
|
+
<!-- <xsl:for-each select="*[local-name()='dt']">
|
2483
|
+
<xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
|
2484
|
+
<xsl:if test="position() = 1">
|
2485
|
+
<xsl:value-of select="string-length(normalize-space(.))"/>
|
2486
|
+
</xsl:if>
|
2487
|
+
</xsl:for-each> -->
|
2488
|
+
<xsl:for-each select="xalan:nodeset($lengths)/length">
|
2489
|
+
<xsl:sort select="." data-type="number" order="descending"/>
|
2490
|
+
<xsl:if test="position() = 1">
|
2491
|
+
<xsl:value-of select="."/>
|
2492
|
+
</xsl:if>
|
2493
|
+
</xsl:for-each>
|
2494
|
+
</xsl:variable>
|
2495
|
+
<!-- <xsl:message>DEBUG:<xsl:value-of select="$maxLength"/></xsl:message> -->
|
2496
|
+
<xsl:value-of select="$maxLength"/>
|
2405
2497
|
</xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']" priority="2">
|
2406
2498
|
<xsl:param name="key_iso"/>
|
2407
2499
|
|
@@ -2513,6 +2605,7 @@
|
|
2513
2605
|
</fo:inline>
|
2514
2606
|
</xsl:template><xsl:template match="*[local-name()='strong'] | *[local-name()='b']">
|
2515
2607
|
<fo:inline font-weight="bold">
|
2608
|
+
|
2516
2609
|
<xsl:apply-templates/>
|
2517
2610
|
</fo:inline>
|
2518
2611
|
</xsl:template><xsl:template match="*[local-name()='sup']">
|
@@ -2552,6 +2645,10 @@
|
|
2552
2645
|
</xsl:if>
|
2553
2646
|
<xsl:apply-templates/>
|
2554
2647
|
</fo:inline>
|
2648
|
+
</xsl:template><xsl:template match="*[local-name()='underline']">
|
2649
|
+
<fo:inline text-decoration="underline">
|
2650
|
+
<xsl:apply-templates/>
|
2651
|
+
</fo:inline>
|
2555
2652
|
</xsl:template><xsl:template match="*[local-name()='del']">
|
2556
2653
|
<fo:inline font-size="10pt" color="red" text-decoration="line-through">
|
2557
2654
|
<xsl:apply-templates/>
|
@@ -2841,7 +2938,18 @@
|
|
2841
2938
|
<xsl:with-param name="previousRow" select="$newRow"/>
|
2842
2939
|
</xsl:apply-templates>
|
2843
2940
|
</xsl:template><xsl:template name="getLang">
|
2844
|
-
<xsl:variable name="
|
2941
|
+
<xsl:variable name="language_current" select="normalize-space(//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
|
2942
|
+
<xsl:variable name="language">
|
2943
|
+
<xsl:choose>
|
2944
|
+
<xsl:when test="$language_current != ''">
|
2945
|
+
<xsl:value-of select="$language_current"/>
|
2946
|
+
</xsl:when>
|
2947
|
+
<xsl:otherwise>
|
2948
|
+
<xsl:value-of select="//*[local-name()='bibdata']//*[local-name()='language']"/>
|
2949
|
+
</xsl:otherwise>
|
2950
|
+
</xsl:choose>
|
2951
|
+
</xsl:variable>
|
2952
|
+
|
2845
2953
|
<xsl:choose>
|
2846
2954
|
<xsl:when test="$language = 'English'">en</xsl:when>
|
2847
2955
|
<xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
|
@@ -2876,6 +2984,7 @@
|
|
2876
2984
|
<xsl:value-of select="substring($str, 2)"/>
|
2877
2985
|
</xsl:template><xsl:template match="mathml:math">
|
2878
2986
|
<fo:inline font-family="STIX Two Math"> <!-- -->
|
2987
|
+
|
2879
2988
|
<xsl:variable name="mathml">
|
2880
2989
|
<xsl:apply-templates select="." mode="mathml"/>
|
2881
2990
|
</xsl:variable>
|
@@ -2905,6 +3014,7 @@
|
|
2905
3014
|
</xsl:choose>
|
2906
3015
|
</xsl:variable>
|
2907
3016
|
<fo:inline xsl:use-attribute-sets="link-style">
|
3017
|
+
|
2908
3018
|
<xsl:choose>
|
2909
3019
|
<xsl:when test="$target = ''">
|
2910
3020
|
<xsl:apply-templates/>
|
@@ -2958,10 +3068,14 @@
|
|
2958
3068
|
</fo:inline>
|
2959
3069
|
</xsl:template><xsl:template match="*[local-name() = 'modification']">
|
2960
3070
|
<xsl:variable name="title-modified">
|
2961
|
-
|
2962
|
-
|
2963
|
-
|
3071
|
+
|
3072
|
+
|
3073
|
+
<xsl:call-template name="getTitle">
|
3074
|
+
<xsl:with-param name="name" select="'title-modified'"/>
|
3075
|
+
</xsl:call-template>
|
3076
|
+
|
2964
3077
|
</xsl:variable>
|
3078
|
+
|
2965
3079
|
<xsl:choose>
|
2966
3080
|
<xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:text>—</xsl:text></xsl:when>
|
2967
3081
|
<xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise>
|
@@ -3116,7 +3230,8 @@
|
|
3116
3230
|
</fo:inline>
|
3117
3231
|
</xsl:if>
|
3118
3232
|
</xsl:template><xsl:template match="*[local-name() = 'figure']">
|
3119
|
-
<fo:block-container id="{@id}">
|
3233
|
+
<fo:block-container id="{@id}">
|
3234
|
+
|
3120
3235
|
<fo:block>
|
3121
3236
|
<xsl:apply-templates/>
|
3122
3237
|
</fo:block>
|
@@ -3167,7 +3282,7 @@
|
|
3167
3282
|
<xsl:apply-templates mode="bookmarks"/>
|
3168
3283
|
</xsl:template><xsl:template match="*[local-name() = 'stem']" mode="contents">
|
3169
3284
|
<xsl:apply-templates select="."/>
|
3170
|
-
</xsl:template><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
|
3285
|
+
</xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
|
3171
3286
|
<xsl:apply-templates mode="bookmarks"/>
|
3172
3287
|
</xsl:template><xsl:template name="addBookmarks">
|
3173
3288
|
<xsl:param name="contents"/>
|
@@ -3183,6 +3298,8 @@
|
|
3183
3298
|
<xsl:variable name="bookmark-title_">
|
3184
3299
|
<xsl:call-template name="getLangVersion">
|
3185
3300
|
<xsl:with-param name="lang" select="@lang"/>
|
3301
|
+
<xsl:with-param name="doctype" select="@doctype"/>
|
3302
|
+
<xsl:with-param name="title" select="@title-part"/>
|
3186
3303
|
</xsl:call-template>
|
3187
3304
|
</xsl:variable>
|
3188
3305
|
<xsl:choose>
|
@@ -3200,13 +3317,34 @@
|
|
3200
3317
|
</xsl:choose>
|
3201
3318
|
</fo:bookmark-title>
|
3202
3319
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
3320
|
+
|
3321
|
+
<xsl:call-template name="insertFigureBookmarks">
|
3322
|
+
<xsl:with-param name="contents" select="contents"/>
|
3323
|
+
</xsl:call-template>
|
3324
|
+
|
3325
|
+
<xsl:call-template name="insertTableBookmarks">
|
3326
|
+
<xsl:with-param name="contents" select="contents"/>
|
3327
|
+
<xsl:with-param name="lang" select="@lang"/>
|
3328
|
+
</xsl:call-template>
|
3329
|
+
|
3203
3330
|
</fo:bookmark>
|
3204
3331
|
|
3205
3332
|
</xsl:for-each>
|
3206
3333
|
</xsl:when>
|
3207
3334
|
<xsl:otherwise>
|
3208
3335
|
<xsl:for-each select="xalan:nodeset($contents)/doc">
|
3336
|
+
|
3209
3337
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
3338
|
+
|
3339
|
+
<xsl:call-template name="insertFigureBookmarks">
|
3340
|
+
<xsl:with-param name="contents" select="contents"/>
|
3341
|
+
</xsl:call-template>
|
3342
|
+
|
3343
|
+
<xsl:call-template name="insertTableBookmarks">
|
3344
|
+
<xsl:with-param name="contents" select="contents"/>
|
3345
|
+
<xsl:with-param name="lang" select="@lang"/>
|
3346
|
+
</xsl:call-template>
|
3347
|
+
|
3210
3348
|
</xsl:for-each>
|
3211
3349
|
</xsl:otherwise>
|
3212
3350
|
</xsl:choose>
|
@@ -3225,8 +3363,44 @@
|
|
3225
3363
|
|
3226
3364
|
</fo:bookmark-tree>
|
3227
3365
|
</xsl:if>
|
3366
|
+
</xsl:template><xsl:template name="insertFigureBookmarks">
|
3367
|
+
<xsl:param name="contents"/>
|
3368
|
+
<xsl:if test="xalan:nodeset($contents)/figure">
|
3369
|
+
<fo:bookmark internal-destination="{xalan:nodeset($contents)/figure[1]/@id}" starting-state="hide">
|
3370
|
+
<fo:bookmark-title>Figures</fo:bookmark-title>
|
3371
|
+
<xsl:for-each select="xalan:nodeset($contents)/figure">
|
3372
|
+
<fo:bookmark internal-destination="{@id}">
|
3373
|
+
<fo:bookmark-title>
|
3374
|
+
<xsl:value-of select="normalize-space(title)"/>
|
3375
|
+
</fo:bookmark-title>
|
3376
|
+
</fo:bookmark>
|
3377
|
+
</xsl:for-each>
|
3378
|
+
</fo:bookmark>
|
3379
|
+
</xsl:if>
|
3380
|
+
</xsl:template><xsl:template name="insertTableBookmarks">
|
3381
|
+
<xsl:param name="contents"/>
|
3382
|
+
<xsl:param name="lang"/>
|
3383
|
+
<xsl:if test="xalan:nodeset($contents)/table">
|
3384
|
+
<fo:bookmark internal-destination="{xalan:nodeset($contents)/table[1]/@id}" starting-state="hide">
|
3385
|
+
<fo:bookmark-title>
|
3386
|
+
<xsl:choose>
|
3387
|
+
<xsl:when test="$lang = 'fr'">Tableaux</xsl:when>
|
3388
|
+
<xsl:otherwise>Tables</xsl:otherwise>
|
3389
|
+
</xsl:choose>
|
3390
|
+
</fo:bookmark-title>
|
3391
|
+
<xsl:for-each select="xalan:nodeset($contents)/table">
|
3392
|
+
<fo:bookmark internal-destination="{@id}">
|
3393
|
+
<fo:bookmark-title>
|
3394
|
+
<xsl:value-of select="normalize-space(title)"/>
|
3395
|
+
</fo:bookmark-title>
|
3396
|
+
</fo:bookmark>
|
3397
|
+
</xsl:for-each>
|
3398
|
+
</fo:bookmark>
|
3399
|
+
</xsl:if>
|
3228
3400
|
</xsl:template><xsl:template name="getLangVersion">
|
3229
3401
|
<xsl:param name="lang"/>
|
3402
|
+
<xsl:param name="doctype" select="''"/>
|
3403
|
+
<xsl:param name="title" select="''"/>
|
3230
3404
|
<xsl:choose>
|
3231
3405
|
<xsl:when test="$lang = 'en'">
|
3232
3406
|
|
@@ -3690,9 +3864,14 @@
|
|
3690
3864
|
|
3691
3865
|
<fo:inline>
|
3692
3866
|
|
3693
|
-
|
3694
|
-
|
3695
|
-
|
3867
|
+
|
3868
|
+
|
3869
|
+
|
3870
|
+
<xsl:call-template name="getTitle">
|
3871
|
+
<xsl:with-param name="name" select="'title-source'"/>
|
3872
|
+
</xsl:call-template>
|
3873
|
+
|
3874
|
+
|
3696
3875
|
<xsl:text>: </xsl:text>
|
3697
3876
|
</fo:inline>
|
3698
3877
|
|
@@ -3717,7 +3896,8 @@
|
|
3717
3896
|
<fo:block-container margin-left="0mm">
|
3718
3897
|
|
3719
3898
|
<fo:block xsl:use-attribute-sets="quote-style">
|
3720
|
-
<xsl:apply-templates select=".//*[local-name() = 'p']"/>
|
3899
|
+
<!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
|
3900
|
+
<xsl:apply-templates select="./*[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
|
3721
3901
|
</fo:block>
|
3722
3902
|
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
|
3723
3903
|
<fo:block xsl:use-attribute-sets="quote-source-style">
|
@@ -3836,9 +4016,12 @@
|
|
3836
4016
|
</fo:block>
|
3837
4017
|
</xsl:template><xsl:template match="*[local-name() = 'deprecates']">
|
3838
4018
|
<xsl:variable name="title-deprecated">
|
3839
|
-
|
3840
|
-
|
3841
|
-
|
4019
|
+
|
4020
|
+
|
4021
|
+
<xsl:call-template name="getTitle">
|
4022
|
+
<xsl:with-param name="name" select="'title-deprecated'"/>
|
4023
|
+
</xsl:call-template>
|
4024
|
+
|
3842
4025
|
</xsl:variable>
|
3843
4026
|
<fo:block xsl:use-attribute-sets="deprecates-style">
|
3844
4027
|
<xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/>
|
@@ -3892,7 +4075,7 @@
|
|
3892
4075
|
<fo:block id="{@id}">
|
3893
4076
|
<xsl:apply-templates/>
|
3894
4077
|
</fo:block>
|
3895
|
-
</xsl:template><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@normative='true']">
|
4078
|
+
</xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" priority="3"/><xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3"/><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@normative='true']">
|
3896
4079
|
|
3897
4080
|
<fo:block id="{@id}">
|
3898
4081
|
<xsl:apply-templates/>
|
@@ -3949,7 +4132,8 @@
|
|
3949
4132
|
<fo:table-column column-width="107mm"/>
|
3950
4133
|
<fo:table-column column-width="15mm"/>
|
3951
4134
|
<fo:table-body>
|
3952
|
-
<fo:table-row
|
4135
|
+
<fo:table-row text-align="center" font-weight="bold" background-color="black" color="white">
|
4136
|
+
|
3953
4137
|
<fo:table-cell border="1pt solid black"><fo:block>Date</fo:block></fo:table-cell>
|
3954
4138
|
<fo:table-cell border="1pt solid black"><fo:block>Type</fo:block></fo:table-cell>
|
3955
4139
|
<fo:table-cell border="1pt solid black"><fo:block>Change</fo:block></fo:table-cell>
|
@@ -3967,6 +4151,10 @@
|
|
3967
4151
|
<fo:block><xsl:apply-templates/></fo:block>
|
3968
4152
|
</fo:table-cell>
|
3969
4153
|
</xsl:template><xsl:template name="processBibitem">
|
4154
|
+
|
4155
|
+
|
4156
|
+
<!-- end BIPM bibitem processing-->
|
4157
|
+
|
3970
4158
|
|
3971
4159
|
|
3972
4160
|
|
@@ -4025,6 +4213,8 @@
|
|
4025
4213
|
<xsl:value-of select="translate(.,'. ','')"/>
|
4026
4214
|
</xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'forename']/text()" mode="strip">
|
4027
4215
|
<xsl:value-of select="substring(.,1,1)"/>
|
4216
|
+
</xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
|
4217
|
+
<fo:inline><xsl:apply-templates/></fo:inline>
|
4028
4218
|
</xsl:template><xsl:template name="convertDate">
|
4029
4219
|
<xsl:param name="date"/>
|
4030
4220
|
<xsl:param name="format" select="'short'"/>
|
@@ -4204,13 +4394,22 @@
|
|
4204
4394
|
</xsl:template><xsl:template name="split">
|
4205
4395
|
<xsl:param name="pText" select="."/>
|
4206
4396
|
<xsl:param name="sep" select="','"/>
|
4397
|
+
<xsl:param name="normalize-space" select="'true'"/>
|
4207
4398
|
<xsl:if test="string-length($pText) >0">
|
4208
4399
|
<item>
|
4209
|
-
<xsl:
|
4400
|
+
<xsl:choose>
|
4401
|
+
<xsl:when test="$normalize-space = 'true'">
|
4402
|
+
<xsl:value-of select="normalize-space(substring-before(concat($pText, $sep), $sep))"/>
|
4403
|
+
</xsl:when>
|
4404
|
+
<xsl:otherwise>
|
4405
|
+
<xsl:value-of select="substring-before(concat($pText, $sep), $sep)"/>
|
4406
|
+
</xsl:otherwise>
|
4407
|
+
</xsl:choose>
|
4210
4408
|
</item>
|
4211
4409
|
<xsl:call-template name="split">
|
4212
4410
|
<xsl:with-param name="pText" select="substring-after($pText, $sep)"/>
|
4213
4411
|
<xsl:with-param name="sep" select="$sep"/>
|
4412
|
+
<xsl:with-param name="normalize-space" select="$normalize-space"/>
|
4214
4413
|
</xsl:call-template>
|
4215
4414
|
</xsl:if>
|
4216
4415
|
</xsl:template><xsl:template name="getDocumentId">
|
@@ -4276,4 +4475,28 @@
|
|
4276
4475
|
<xsl:with-param name="letter-spacing" select="$letter-spacing"/>
|
4277
4476
|
</xsl:call-template>
|
4278
4477
|
</xsl:if>
|
4478
|
+
</xsl:template><xsl:template name="repeat">
|
4479
|
+
<xsl:param name="char" select="'*'"/>
|
4480
|
+
<xsl:param name="count"/>
|
4481
|
+
<xsl:if test="$count > 0">
|
4482
|
+
<xsl:value-of select="$char"/>
|
4483
|
+
<xsl:call-template name="repeat">
|
4484
|
+
<xsl:with-param name="char" select="$char"/>
|
4485
|
+
<xsl:with-param name="count" select="$count - 1"/>
|
4486
|
+
</xsl:call-template>
|
4487
|
+
</xsl:if>
|
4488
|
+
</xsl:template><xsl:template name="getLocalizedString">
|
4489
|
+
<xsl:param name="key"/>
|
4490
|
+
|
4491
|
+
<xsl:variable name="curr_lang">
|
4492
|
+
<xsl:call-template name="getLang"/>
|
4493
|
+
</xsl:variable>
|
4494
|
+
|
4495
|
+
<xsl:choose>
|
4496
|
+
<xsl:when test="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]">
|
4497
|
+
<xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
4498
|
+
</xsl:when>
|
4499
|
+
<xsl:otherwise><xsl:value-of select="$key"/></xsl:otherwise>
|
4500
|
+
</xsl:choose>
|
4501
|
+
|
4279
4502
|
</xsl:template></xsl:stylesheet>
|