metanorma-gb 1.5.4 → 1.5.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5540fe9a62689a748f36deb94aa697067fadeec8f48e3daa4723fe31934d6f6f
4
- data.tar.gz: f7a3059328b3d3103309ea0e4b2765b0e7d9bbb0e4b06f2d0586b3ddb1608fcf
3
+ metadata.gz: ab9365bdbf352b45cb58feccc8804e04c82bda509a54623a84c800af359c39f0
4
+ data.tar.gz: c338947fb0af4d92c264980787eef6330e53494b7df52e9aac7986161ac6d57b
5
5
  SHA512:
6
- metadata.gz: 6814a66bca93e4824acb2b3bb542337d65f528d2933ac81745ca626ccbfe7f2aaa510d7ebc9354810db4ca973e0ac79c26f78ccf1e86d049e804c3fb42c8b8b4
7
- data.tar.gz: eeb2906af56383d32509ce13e58d61d33eaa6481dc18fc9cd53af66612709ed00d7afee06604ebb7056e18baa5b809a67709fa291639407d7eccbc4ddebec5e6
6
+ metadata.gz: 9f78eb467c11c8da2b917bfd2aedbb90e408caabcff9c9438b930610d0a3601c2a7a5f8753cdbbae8f1f82a52b9dd335c8b29d725770e52238ae971aa269a19c
7
+ data.tar.gz: 728f36a37a994119a428d32f217a3407ecb6a68a437c51c248cdd2d6a245f74a3c11684d5a6eb53ecd19612dbc68c22267561dce2bbec8cf4ea98ea577012811
@@ -158,7 +158,17 @@
158
158
  <data type="ID"/>
159
159
  </attribute>
160
160
  <oneOrMore>
161
- <ref name="paragraph"/>
161
+ <choice>
162
+ <ref name="formula"/>
163
+ <ref name="ul"/>
164
+ <ref name="ol"/>
165
+ <ref name="dl"/>
166
+ <ref name="quote"/>
167
+ <ref name="sourcecode"/>
168
+ <ref name="paragraph"/>
169
+ <ref name="table"/>
170
+ <ref name="figure"/>
171
+ </choice>
162
172
  </oneOrMore>
163
173
  </element>
164
174
  </define>
@@ -402,6 +412,16 @@
402
412
  </choice>
403
413
  </attribute>
404
414
  </optional>
415
+ <optional>
416
+ <attribute name="valign">
417
+ <choice>
418
+ <value>top</value>
419
+ <value>middle</value>
420
+ <value>bottom</value>
421
+ <value>baseline</value>
422
+ </choice>
423
+ </attribute>
424
+ </optional>
405
425
  <choice>
406
426
  <zeroOrMore>
407
427
  <ref name="TextElement"/>
@@ -429,6 +449,16 @@
429
449
  </choice>
430
450
  </attribute>
431
451
  </optional>
452
+ <optional>
453
+ <attribute name="valign">
454
+ <choice>
455
+ <value>top</value>
456
+ <value>middle</value>
457
+ <value>bottom</value>
458
+ <value>baseline</value>
459
+ </choice>
460
+ </attribute>
461
+ </optional>
432
462
  <choice>
433
463
  <zeroOrMore>
434
464
  <ref name="TextElement"/>
@@ -581,6 +581,8 @@
581
581
  <ref name="ol"/>
582
582
  <ref name="dl"/>
583
583
  <ref name="formula"/>
584
+ <ref name="quote"/>
585
+ <ref name="sourcecode"/>
584
586
  </choice>
585
587
  </oneOrMore>
586
588
  </element>
@@ -664,6 +666,16 @@
664
666
  </choice>
665
667
  </attribute>
666
668
  </optional>
669
+ <optional>
670
+ <attribute name="valign">
671
+ <choice>
672
+ <value>top</value>
673
+ <value>middle</value>
674
+ <value>bottom</value>
675
+ <value>baseline</value>
676
+ </choice>
677
+ </attribute>
678
+ </optional>
667
679
  <choice>
668
680
  <zeroOrMore>
669
681
  <choice>
@@ -700,6 +712,16 @@
700
712
  </choice>
701
713
  </attribute>
702
714
  </optional>
715
+ <optional>
716
+ <attribute name="valign">
717
+ <choice>
718
+ <value>top</value>
719
+ <value>middle</value>
720
+ <value>bottom</value>
721
+ <value>baseline</value>
722
+ </choice>
723
+ </attribute>
724
+ </optional>
703
725
  <choice>
704
726
  <zeroOrMore>
705
727
  <choice>
@@ -1052,14 +1074,17 @@
1052
1074
  <ref name="section-title"/>
1053
1075
  </optional>
1054
1076
  <group>
1055
- <group>
1056
- <zeroOrMore>
1057
- <ref name="BasicBlock"/>
1058
- </zeroOrMore>
1059
- <zeroOrMore>
1060
- <ref name="note"/>
1061
- </zeroOrMore>
1062
- </group>
1077
+ <choice>
1078
+ <group>
1079
+ <zeroOrMore>
1080
+ <ref name="BasicBlock"/>
1081
+ </zeroOrMore>
1082
+ <zeroOrMore>
1083
+ <ref name="note"/>
1084
+ </zeroOrMore>
1085
+ </group>
1086
+ <ref name="amend"/>
1087
+ </choice>
1063
1088
  <zeroOrMore>
1064
1089
  <choice>
1065
1090
  <ref name="clause-subsection"/>
@@ -1510,4 +1535,79 @@
1510
1535
  <ref name="CitationType"/>
1511
1536
  </element>
1512
1537
  </define>
1538
+ <define name="amend">
1539
+ <element name="amend">
1540
+ <optional>
1541
+ <attribute name="id">
1542
+ <data type="ID"/>
1543
+ </attribute>
1544
+ </optional>
1545
+ <attribute name="change">
1546
+ <choice>
1547
+ <value>add</value>
1548
+ <value>modify</value>
1549
+ <value>delete</value>
1550
+ </choice>
1551
+ </attribute>
1552
+ <optional>
1553
+ <attribute name="path"/>
1554
+ </optional>
1555
+ <optional>
1556
+ <attribute name="path_end"/>
1557
+ </optional>
1558
+ <optional>
1559
+ <attribute name="title"/>
1560
+ </optional>
1561
+ <optional>
1562
+ <element name="location">
1563
+ <zeroOrMore>
1564
+ <ref name="locality"/>
1565
+ </zeroOrMore>
1566
+ </element>
1567
+ </optional>
1568
+ <zeroOrMore>
1569
+ <ref name="autonumber"/>
1570
+ </zeroOrMore>
1571
+ <optional>
1572
+ <element name="description">
1573
+ <zeroOrMore>
1574
+ <ref name="BasicBlock"/>
1575
+ </zeroOrMore>
1576
+ </element>
1577
+ </optional>
1578
+ <optional>
1579
+ <element name="newcontent">
1580
+ <zeroOrMore>
1581
+ <ref name="BasicBlock"/>
1582
+ </zeroOrMore>
1583
+ </element>
1584
+ </optional>
1585
+ <optional>
1586
+ <element name="description">
1587
+ <zeroOrMore>
1588
+ <ref name="BasicBlock"/>
1589
+ </zeroOrMore>
1590
+ </element>
1591
+ </optional>
1592
+ </element>
1593
+ </define>
1594
+ <define name="autonumber">
1595
+ <element name="autonumber">
1596
+ <attribute name="type">
1597
+ <choice>
1598
+ <value>requirement</value>
1599
+ <value>recommendation</value>
1600
+ <value>permission</value>
1601
+ <value>table</value>
1602
+ <value>figure</value>
1603
+ <value>admonition</value>
1604
+ <value>formula</value>
1605
+ <value>sourcecode</value>
1606
+ <value>example</value>
1607
+ <value>note</value>
1608
+ </choice>
1609
+ </attribute>
1610
+ <text/>
1611
+ </element>
1612
+ </define>
1513
1613
  </grammar>
@@ -820,7 +820,7 @@
820
820
 
821
821
 
822
822
 
823
- <xsl:template match="gb:ul | gb:ol">
823
+ <xsl:template match="gb:ul | gb:ol" mode="ul_ol">
824
824
  <fo:list-block margin-bottom="12pt" margin-left="7.4mm" provisional-distance-between-starts="4mm"> <!-- margin-bottom="8pt" -->
825
825
  <xsl:if test="local-name() = 'ol'">
826
826
  <xsl:attribute name="provisional-distance-between-starts">7mm</xsl:attribute>
@@ -850,6 +850,9 @@
850
850
  </fo:list-item>
851
851
  </xsl:template>
852
852
 
853
+ <xsl:template match="gb:note" mode="process">
854
+ <xsl:call-template name="note"/>
855
+ </xsl:template>
853
856
 
854
857
 
855
858
  <xsl:template match="gb:preferred" priority="2">
@@ -997,8 +1000,12 @@
997
1000
 
998
1001
  <xsl:template match="mathml:math" priority="2">
999
1002
  <fo:inline font-family="Cambria Math">
1003
+ <xsl:variable name="mathml">
1004
+ <xsl:apply-templates select="." mode="mathml"/>
1005
+ </xsl:variable>
1000
1006
  <fo:instream-foreign-object fox:alt-text="Math">
1001
- <xsl:copy-of select="."/>
1007
+ <!-- <xsl:copy-of select="."/> -->
1008
+ <xsl:copy-of select="xalan:nodeset($mathml)"/>
1002
1009
  </fo:instream-foreign-object>
1003
1010
  </fo:inline>
1004
1011
  </xsl:template>
@@ -1031,10 +1038,13 @@
1031
1038
 
1032
1039
 
1033
1040
  <xsl:template match="gb:formula/gb:stem">
1034
- <fo:block font-size="11pt" margin-top="14pt" margin-bottom="14pt">
1035
- <fo:table table-layout="fixed" width="170mm">
1036
- <fo:table-column column-width="165mm"/>
1037
- <fo:table-column column-width="5mm"/>
1041
+ <fo:block margin-top="14pt" margin-bottom="14pt">
1042
+ <xsl:if test="not(ancestor::*[local-name()='note'])">
1043
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1044
+ </xsl:if>
1045
+ <fo:table table-layout="fixed" width="100%"> <!-- width="170mm" -->
1046
+ <fo:table-column column-width="95%"/><!-- 165mm -->
1047
+ <fo:table-column column-width="5%"/> <!-- 5mm -->
1038
1048
  <fo:table-body>
1039
1049
  <fo:table-row>
1040
1050
  <fo:table-cell display-align="center">
@@ -1160,7 +1170,12 @@
1160
1170
  <title-modified lang="zh">改写</title-modified>
1161
1171
 
1162
1172
 
1163
- <title-source lang="en">SOURCE</title-source>
1173
+ <title-source lang="en">
1174
+
1175
+ <xsl:text>SOURCE</xsl:text>
1176
+
1177
+
1178
+ </title-source>
1164
1179
 
1165
1180
  <title-keywords lang="en">Keywords</title-keywords>
1166
1181
 
@@ -1203,6 +1218,10 @@
1203
1218
  <title-warning lang="zh">警告</title-warning>
1204
1219
 
1205
1220
  <title-amendment lang="en">AMENDMENT</title-amendment>
1221
+
1222
+ <title-continued lang="en">(continued)</title-continued>
1223
+ <title-continued lang="fr">(continué)</title-continued>
1224
+
1206
1225
  </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
1207
1226
  <xsl:param name="name"/>
1208
1227
  <xsl:variable name="lang">
@@ -1220,12 +1239,12 @@
1220
1239
  </xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'&#8232;'"/><xsl:attribute-set name="link-style">
1221
1240
 
1222
1241
 
1242
+
1223
1243
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
1224
1244
  <xsl:attribute name="white-space">pre</xsl:attribute>
1225
1245
  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
1226
1246
 
1227
- <xsl:attribute name="font-family">Courier</xsl:attribute>
1228
- <xsl:attribute name="font-size">9pt</xsl:attribute>
1247
+ <xsl:attribute name="font-family">Courier</xsl:attribute>
1229
1248
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1230
1249
 
1231
1250
 
@@ -1235,6 +1254,7 @@
1235
1254
 
1236
1255
 
1237
1256
 
1257
+
1238
1258
  </xsl:attribute-set><xsl:attribute-set name="permission-style">
1239
1259
 
1240
1260
  </xsl:attribute-set><xsl:attribute-set name="permission-name-style">
@@ -1285,6 +1305,7 @@
1285
1305
 
1286
1306
 
1287
1307
 
1308
+
1288
1309
  </xsl:attribute-set><xsl:attribute-set name="example-body-style">
1289
1310
 
1290
1311
 
@@ -1305,6 +1326,7 @@
1305
1326
 
1306
1327
 
1307
1328
 
1329
+
1308
1330
 
1309
1331
 
1310
1332
 
@@ -1372,11 +1394,13 @@
1372
1394
 
1373
1395
  </xsl:attribute-set><xsl:attribute-set name="xref-style">
1374
1396
 
1375
-
1397
+
1398
+
1376
1399
  </xsl:attribute-set><xsl:attribute-set name="eref-style">
1377
1400
 
1378
1401
 
1379
1402
 
1403
+
1380
1404
  </xsl:attribute-set><xsl:attribute-set name="note-style">
1381
1405
 
1382
1406
 
@@ -1397,20 +1421,20 @@
1397
1421
 
1398
1422
 
1399
1423
 
1424
+ </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">
1400
1425
 
1401
1426
 
1402
- </xsl:attribute-set><xsl:attribute-set name="note-name-style">
1427
+
1428
+ <xsl:attribute name="font-family">SimHei</xsl:attribute>
1403
1429
 
1404
1430
 
1405
1431
 
1406
- <xsl:attribute name="font-family">SimHei</xsl:attribute>
1407
1432
 
1408
1433
 
1409
1434
 
1410
1435
 
1411
1436
 
1412
1437
 
1413
-
1414
1438
 
1415
1439
  </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1416
1440
 
@@ -1436,6 +1460,8 @@
1436
1460
 
1437
1461
 
1438
1462
 
1463
+ </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
1464
+
1439
1465
  </xsl:attribute-set><xsl:attribute-set name="quote-style">
1440
1466
 
1441
1467
 
@@ -1464,6 +1490,7 @@
1464
1490
  </xsl:attribute-set><xsl:attribute-set name="origin-style">
1465
1491
 
1466
1492
 
1493
+
1467
1494
  </xsl:attribute-set><xsl:attribute-set name="term-style">
1468
1495
 
1469
1496
  </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
@@ -1471,6 +1498,7 @@
1471
1498
 
1472
1499
 
1473
1500
 
1501
+
1474
1502
 
1475
1503
  <xsl:attribute name="font-family">SimHei</xsl:attribute>
1476
1504
  <xsl:attribute name="text-align">center</xsl:attribute>
@@ -1514,14 +1542,16 @@
1514
1542
  </xsl:attribute-set><xsl:attribute-set name="tt-style">
1515
1543
 
1516
1544
 
1517
- <xsl:attribute name="font-family">Courier</xsl:attribute>
1518
- <xsl:attribute name="font-size">10pt</xsl:attribute>
1545
+ <xsl:attribute name="font-family">Courier</xsl:attribute>
1546
+
1519
1547
 
1520
1548
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
1521
1549
  <xsl:attribute name="font-size">11pt</xsl:attribute>
1522
1550
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1523
1551
  <xsl:attribute name="text-align">center</xsl:attribute>
1524
1552
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1553
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1554
+
1525
1555
  </xsl:attribute-set><xsl:attribute-set name="domain-style">
1526
1556
 
1527
1557
  <xsl:attribute name="padding-left">7.4mm</xsl:attribute>
@@ -1587,6 +1617,8 @@
1587
1617
 
1588
1618
 
1589
1619
 
1620
+ <!-- $namespace = 'iso' or -->
1621
+
1590
1622
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
1591
1623
 
1592
1624
 
@@ -1646,7 +1678,7 @@
1646
1678
 
1647
1679
 
1648
1680
 
1649
-
1681
+
1650
1682
 
1651
1683
 
1652
1684
 
@@ -1665,6 +1697,8 @@
1665
1697
 
1666
1698
 
1667
1699
 
1700
+
1701
+
1668
1702
  <xsl:for-each select="xalan:nodeset($colwidths)//column">
1669
1703
  <xsl:choose>
1670
1704
  <xsl:when test=". = 1 or . = 0">
@@ -1697,8 +1731,9 @@
1697
1731
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
1698
1732
  <xsl:if test="normalize-space() != ''">
1699
1733
  <fo:block xsl:use-attribute-sets="table-name-style">
1700
- <xsl:apply-templates/>
1701
- </fo:block>
1734
+
1735
+ <xsl:apply-templates/>
1736
+ </fo:block>
1702
1737
  </xsl:if>
1703
1738
  </xsl:template><xsl:template name="calculate-columns-numbers">
1704
1739
  <xsl:param name="table-row"/>
@@ -1814,10 +1849,25 @@
1814
1849
  </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
1815
1850
  <xsl:param name="cols-count"/>
1816
1851
  <!-- font-weight="bold" -->
1817
- <fo:table-header>
1818
-
1852
+ <fo:table-header>
1853
+
1819
1854
  <xsl:apply-templates/>
1820
1855
  </fo:table-header>
1856
+ </xsl:template><xsl:template name="table-header-title">
1857
+ <xsl:param name="cols-count"/>
1858
+ <!-- row for title -->
1859
+ <fo:table-row>
1860
+ <fo:table-cell number-columns-spanned="{$cols-count}" border-left="1.5pt solid white" border-right="1.5pt solid white" border-top="1.5pt solid white" border-bottom="1.5pt solid black">
1861
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation"/>
1862
+ <xsl:for-each select="ancestor::*[local-name()='table'][1]">
1863
+ <xsl:call-template name="fn_name_display"/>
1864
+ </xsl:for-each>
1865
+ <fo:block text-align="right" font-style="italic">
1866
+ <xsl:text> </xsl:text>
1867
+ <fo:retrieve-table-marker retrieve-class-name="table_continued"/>
1868
+ </fo:block>
1869
+ </fo:table-cell>
1870
+ </fo:table-row>
1821
1871
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
1822
1872
  <fo:table-body>
1823
1873
  <xsl:apply-templates/>
@@ -1881,6 +1931,8 @@
1881
1931
  </xsl:choose>
1882
1932
  </xsl:variable>
1883
1933
 
1934
+
1935
+
1884
1936
  <xsl:apply-templates select="../*[local-name()='thead']" mode="process">
1885
1937
  <xsl:with-param name="cols-count" select="$cols-count"/>
1886
1938
  </xsl:apply-templates>
@@ -1890,6 +1942,8 @@
1890
1942
  </xsl:call-template>
1891
1943
 
1892
1944
  <fo:table-body>
1945
+
1946
+
1893
1947
  <xsl:apply-templates/>
1894
1948
  <!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
1895
1949
 
@@ -1915,6 +1969,8 @@
1915
1969
  <xsl:attribute name="min-height">0mm</xsl:attribute>
1916
1970
  <xsl:attribute name="line-height">110%</xsl:attribute>
1917
1971
 
1972
+
1973
+
1918
1974
 
1919
1975
  <xsl:apply-templates/>
1920
1976
  </fo:table-row>
@@ -1937,6 +1993,7 @@
1937
1993
 
1938
1994
 
1939
1995
 
1996
+
1940
1997
  <xsl:if test="@colspan">
1941
1998
  <xsl:attribute name="number-columns-spanned">
1942
1999
  <xsl:value-of select="@colspan"/>
@@ -1947,10 +2004,22 @@
1947
2004
  <xsl:value-of select="@rowspan"/>
1948
2005
  </xsl:attribute>
1949
2006
  </xsl:if>
2007
+ <xsl:call-template name="display-align"/>
1950
2008
  <fo:block>
1951
2009
  <xsl:apply-templates/>
1952
2010
  </fo:block>
1953
2011
  </fo:table-cell>
2012
+ </xsl:template><xsl:template name="display-align">
2013
+ <xsl:if test="@valign">
2014
+ <xsl:attribute name="display-align">
2015
+ <xsl:choose>
2016
+ <xsl:when test="@valign = 'top'">before</xsl:when>
2017
+ <xsl:when test="@valign = 'middle'">center</xsl:when>
2018
+ <xsl:when test="@valign = 'bottom'">after</xsl:when>
2019
+ <xsl:otherwise>before</xsl:otherwise>
2020
+ </xsl:choose>
2021
+ </xsl:attribute>
2022
+ </xsl:if>
1954
2023
  </xsl:template><xsl:template match="*[local-name()='td']">
1955
2024
  <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
1956
2025
  <xsl:attribute name="text-align">
@@ -1974,6 +2043,7 @@
1974
2043
 
1975
2044
 
1976
2045
 
2046
+
1977
2047
  <xsl:if test="@colspan">
1978
2048
  <xsl:attribute name="number-columns-spanned">
1979
2049
  <xsl:value-of select="@colspan"/>
@@ -1984,8 +2054,8 @@
1984
2054
  <xsl:value-of select="@rowspan"/>
1985
2055
  </xsl:attribute>
1986
2056
  </xsl:if>
1987
- <fo:block>
1988
-
2057
+ <xsl:call-template name="display-align"/>
2058
+ <fo:block>
1989
2059
  <xsl:apply-templates/>
1990
2060
  </fo:block>
1991
2061
  </fo:table-cell>
@@ -2178,6 +2248,7 @@
2178
2248
 
2179
2249
 
2180
2250
 
2251
+
2181
2252
  <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
2182
2253
 
2183
2254
  <xsl:value-of select="@reference"/>
@@ -2188,139 +2259,155 @@
2188
2259
  <xsl:apply-templates/>
2189
2260
  </fo:inline>
2190
2261
  </xsl:template><xsl:template match="*[local-name()='dl']">
2191
- <xsl:variable name="parent" select="local-name(..)"/>
2192
-
2193
- <xsl:variable name="key_iso">
2194
-
2195
- <xsl:if test="$parent = 'figure' or $parent = 'formula'">true</xsl:if>
2196
- <!-- and (not(../@class) or ../@class !='pseudocode') -->
2197
- </xsl:variable>
2198
-
2199
- <xsl:choose>
2200
- <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
2262
+ <fo:block-container margin-left="0mm">
2263
+ <xsl:if test="parent::*[local-name() = 'note']">
2264
+ <xsl:attribute name="margin-left">
2265
+ <xsl:choose>
2266
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
2267
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
2268
+ </xsl:choose>
2269
+ </xsl:attribute>
2270
+
2271
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2201
2272
 
2202
- <fo:block text-align="left">
2273
+ </xsl:if>
2274
+ <fo:block-container margin-left="0mm">
2275
+
2276
+ <xsl:variable name="parent" select="local-name(..)"/>
2277
+
2278
+ <xsl:variable name="key_iso">
2279
+
2280
+ <xsl:if test="$parent = 'figure' or $parent = 'formula'">true</xsl:if>
2281
+ <!-- and (not(../@class) or ../@class !='pseudocode') -->
2282
+ </xsl:variable>
2283
+
2284
+ <xsl:choose>
2285
+ <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
2203
2286
 
2287
+ <fo:block text-align="left">
2288
+
2289
+
2290
+ <xsl:attribute name="margin-left">7.4mm</xsl:attribute>
2291
+
2292
+ <xsl:variable name="title-where">
2293
+ <xsl:call-template name="getTitle">
2294
+ <xsl:with-param name="name" select="'title-where'"/>
2295
+ </xsl:call-template>
2296
+ </xsl:variable>
2297
+ <xsl:value-of select="$title-where"/>
2298
+ </fo:block>
2299
+ <fo:block>
2300
+
2301
+ <xsl:attribute name="text-indent">7.4mm</xsl:attribute>
2302
+
2303
+ <xsl:apply-templates select="*[local-name()='dt']/*"/>
2304
+
2305
+ <xsl:text> </xsl:text>
2306
+ <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
2307
+ </fo:block>
2204
2308
 
2205
- <xsl:attribute name="margin-left">7.4mm</xsl:attribute>
2206
2309
 
2207
- <xsl:variable name="title-where">
2208
- <xsl:call-template name="getTitle">
2209
- <xsl:with-param name="name" select="'title-where'"/>
2210
- </xsl:call-template>
2211
- </xsl:variable>
2212
- <xsl:value-of select="$title-where"/>
2213
- </fo:block>
2310
+ </xsl:when>
2311
+ <xsl:when test="$parent = 'formula'"> <!-- a few components -->
2312
+ <fo:block margin-bottom="12pt" text-align="left">
2313
+
2314
+
2315
+
2316
+
2317
+ <xsl:attribute name="margin-left">7.4mm</xsl:attribute>
2318
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
2319
+
2320
+ <xsl:variable name="title-where">
2321
+ <xsl:call-template name="getTitle">
2322
+ <xsl:with-param name="name" select="'title-where'"/>
2323
+ </xsl:call-template>
2324
+ </xsl:variable>
2325
+ <xsl:value-of select="$title-where"/>
2326
+ </fo:block>
2327
+ </xsl:when>
2328
+ <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
2329
+ <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
2330
+
2331
+
2332
+
2333
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
2334
+ <xsl:attribute name="text-indent">7.4mm</xsl:attribute>
2335
+
2336
+ <xsl:variable name="title-key">
2337
+ <xsl:call-template name="getTitle">
2338
+ <xsl:with-param name="name" select="'title-key'"/>
2339
+ </xsl:call-template>
2340
+ </xsl:variable>
2341
+ <xsl:value-of select="$title-key"/>
2342
+ </fo:block>
2343
+ </xsl:when>
2344
+ </xsl:choose>
2345
+
2346
+ <!-- a few components -->
2347
+ <xsl:if test="not($parent = 'formula' and count(*[local-name()='dt']) = 1)">
2214
2348
  <fo:block>
2215
2349
 
2216
- <xsl:attribute name="text-indent">7.4mm</xsl:attribute>
2217
2350
 
2218
- <xsl:apply-templates select="*[local-name()='dt']/*"/>
2219
-
2220
- <xsl:text> </xsl:text>
2221
- <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
2222
- </fo:block>
2223
-
2224
-
2225
- </xsl:when>
2226
- <xsl:when test="$parent = 'formula'"> <!-- a few components -->
2227
- <fo:block margin-bottom="12pt" text-align="left">
2228
-
2229
-
2230
-
2231
-
2232
- <xsl:attribute name="margin-left">7.4mm</xsl:attribute>
2233
- <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
2234
-
2235
- <xsl:variable name="title-where">
2236
- <xsl:call-template name="getTitle">
2237
- <xsl:with-param name="name" select="'title-where'"/>
2238
- </xsl:call-template>
2239
- </xsl:variable>
2240
- <xsl:value-of select="$title-where"/>
2241
- </fo:block>
2242
- </xsl:when>
2243
- <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
2244
- <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
2245
-
2246
-
2247
-
2248
- <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
2249
- <xsl:attribute name="text-indent">7.4mm</xsl:attribute>
2250
-
2251
- <xsl:variable name="title-key">
2252
- <xsl:call-template name="getTitle">
2253
- <xsl:with-param name="name" select="'title-key'"/>
2254
- </xsl:call-template>
2255
- </xsl:variable>
2256
- <xsl:value-of select="$title-key"/>
2257
- </fo:block>
2258
- </xsl:when>
2259
- </xsl:choose>
2260
-
2261
- <!-- a few components -->
2262
- <xsl:if test="not($parent = 'formula' and count(*[local-name()='dt']) = 1)">
2263
- <fo:block>
2264
-
2265
-
2266
-
2267
-
2268
- <fo:block>
2269
-
2270
-
2271
- <xsl:attribute name="margin-left">7.4mm</xsl:attribute>
2272
- <xsl:if test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
2273
- <xsl:attribute name="margin-left">15mm</xsl:attribute>
2274
- </xsl:if>
2275
-
2276
-
2277
-
2278
- <fo:table width="95%" table-layout="fixed">
2279
2351
 
2280
- <xsl:attribute name="margin-left">-3.7mm</xsl:attribute>
2281
2352
 
2282
- <xsl:choose>
2283
- <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
2284
- <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
2285
- </xsl:when>
2286
- <xsl:when test="normalize-space($key_iso) = 'true'">
2287
- <xsl:attribute name="font-size">10pt</xsl:attribute>
2353
+ <fo:block>
2354
+
2355
+
2356
+ <xsl:attribute name="margin-left">7.4mm</xsl:attribute>
2357
+ <xsl:if test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
2358
+ <xsl:attribute name="margin-left">15mm</xsl:attribute>
2359
+ </xsl:if>
2360
+
2361
+
2362
+
2363
+ <fo:table width="95%" table-layout="fixed">
2288
2364
 
2289
- </xsl:when>
2290
- </xsl:choose>
2291
- <!-- create virtual html table for dl/[dt and dd] -->
2292
- <xsl:variable name="html-table">
2293
- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
2294
- <xsl:element name="{$ns}:table">
2295
- <tbody>
2296
- <xsl:apply-templates mode="dl"/>
2297
- </tbody>
2298
- </xsl:element>
2299
- </xsl:variable>
2300
- <!-- html-table<xsl:copy-of select="$html-table"/> -->
2301
- <xsl:variable name="colwidths">
2302
- <xsl:call-template name="calculate-column-widths">
2303
- <xsl:with-param name="cols-count" select="2"/>
2304
- <xsl:with-param name="table" select="$html-table"/>
2305
- </xsl:call-template>
2306
- </xsl:variable>
2307
- <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
2308
- <xsl:variable name="maxlength_dt">
2309
- <xsl:call-template name="getMaxLength_dt"/>
2310
- </xsl:variable>
2311
- <xsl:call-template name="setColumnWidth_dl">
2312
- <xsl:with-param name="colwidths" select="$colwidths"/>
2313
- <xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
2314
- </xsl:call-template>
2315
- <fo:table-body>
2316
- <xsl:apply-templates>
2317
- <xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
2318
- </xsl:apply-templates>
2319
- </fo:table-body>
2320
- </fo:table>
2321
- </fo:block>
2322
- </fo:block>
2323
- </xsl:if>
2365
+ <xsl:attribute name="margin-left">-3.7mm</xsl:attribute>
2366
+
2367
+ <xsl:choose>
2368
+ <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
2369
+ <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
2370
+ </xsl:when>
2371
+ <xsl:when test="normalize-space($key_iso) = 'true'">
2372
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2373
+
2374
+ </xsl:when>
2375
+ </xsl:choose>
2376
+ <!-- create virtual html table for dl/[dt and dd] -->
2377
+ <xsl:variable name="html-table">
2378
+ <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
2379
+ <xsl:element name="{$ns}:table">
2380
+ <tbody>
2381
+ <xsl:apply-templates mode="dl"/>
2382
+ </tbody>
2383
+ </xsl:element>
2384
+ </xsl:variable>
2385
+ <!-- html-table<xsl:copy-of select="$html-table"/> -->
2386
+ <xsl:variable name="colwidths">
2387
+ <xsl:call-template name="calculate-column-widths">
2388
+ <xsl:with-param name="cols-count" select="2"/>
2389
+ <xsl:with-param name="table" select="$html-table"/>
2390
+ </xsl:call-template>
2391
+ </xsl:variable>
2392
+ <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
2393
+ <xsl:variable name="maxlength_dt">
2394
+ <xsl:call-template name="getMaxLength_dt"/>
2395
+ </xsl:variable>
2396
+ <xsl:call-template name="setColumnWidth_dl">
2397
+ <xsl:with-param name="colwidths" select="$colwidths"/>
2398
+ <xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
2399
+ </xsl:call-template>
2400
+ <fo:table-body>
2401
+ <xsl:apply-templates>
2402
+ <xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
2403
+ </xsl:apply-templates>
2404
+ </fo:table-body>
2405
+ </fo:table>
2406
+ </fo:block>
2407
+ </fo:block>
2408
+ </xsl:if>
2409
+ </fo:block-container>
2410
+ </fo:block-container>
2324
2411
  </xsl:template><xsl:template name="setColumnWidth_dl">
2325
2412
  <xsl:param name="colwidths"/>
2326
2413
  <xsl:param name="maxlength_dt"/>
@@ -2417,6 +2504,7 @@
2417
2504
  <xsl:param name="key_iso"/>
2418
2505
 
2419
2506
  <fo:table-row>
2507
+
2420
2508
  <fo:table-cell>
2421
2509
 
2422
2510
  <fo:block margin-top="6pt">
@@ -2496,6 +2584,31 @@
2496
2584
  </fo:inline>
2497
2585
  </xsl:template><xsl:template match="*[local-name()='tt']">
2498
2586
  <fo:inline xsl:use-attribute-sets="tt-style">
2587
+ <xsl:variable name="_font-size">
2588
+
2589
+
2590
+ 10
2591
+
2592
+
2593
+
2594
+
2595
+
2596
+
2597
+
2598
+
2599
+
2600
+
2601
+
2602
+ </xsl:variable>
2603
+ <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
2604
+ <xsl:if test="$font-size != ''">
2605
+ <xsl:attribute name="font-size">
2606
+ <xsl:choose>
2607
+ <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
2608
+ <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
2609
+ </xsl:choose>
2610
+ </xsl:attribute>
2611
+ </xsl:if>
2499
2612
  <xsl:apply-templates/>
2500
2613
  </fo:inline>
2501
2614
  </xsl:template><xsl:template match="*[local-name()='del']">
@@ -2822,10 +2935,23 @@
2822
2935
  <xsl:value-of select="substring($str, 2)"/>
2823
2936
  </xsl:template><xsl:template match="mathml:math">
2824
2937
  <fo:inline font-family="STIX2Math">
2825
- <fo:instream-foreign-object fox:alt-text="Math">
2826
- <xsl:copy-of select="."/>
2827
- </fo:instream-foreign-object>
2938
+ <xsl:variable name="mathml">
2939
+ <xsl:apply-templates select="." mode="mathml"/>
2940
+ </xsl:variable>
2941
+ <fo:instream-foreign-object fox:alt-text="Math">
2942
+ <!-- <xsl:copy-of select="."/> -->
2943
+ <xsl:copy-of select="xalan:nodeset($mathml)"/>
2944
+ </fo:instream-foreign-object>
2828
2945
  </fo:inline>
2946
+ </xsl:template><xsl:template match="@*|node()" mode="mathml">
2947
+ <xsl:copy>
2948
+ <xsl:apply-templates select="@*|node()" mode="mathml"/>
2949
+ </xsl:copy>
2950
+ </xsl:template><xsl:template match="mathml:mtext" mode="mathml">
2951
+ <xsl:copy>
2952
+ <!-- replace start and end spaces to non-break space -->
2953
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
2954
+ </xsl:copy>
2829
2955
  </xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
2830
2956
  <xsl:variable name="target">
2831
2957
  <xsl:choose>
@@ -2906,9 +3032,24 @@
2906
3032
  <xsl:apply-templates/>
2907
3033
  </fo:basic-link>
2908
3034
  </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
2909
- <fo:block id="{@id}" xsl:use-attribute-sets="formula-style">
2910
- <xsl:apply-templates/>
2911
- </fo:block>
3035
+ <fo:block-container margin-left="0mm">
3036
+ <xsl:if test="parent::*[local-name() = 'note']">
3037
+ <xsl:attribute name="margin-left">
3038
+ <xsl:choose>
3039
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
3040
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
3041
+ </xsl:choose>
3042
+ </xsl:attribute>
3043
+
3044
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
3045
+
3046
+ </xsl:if>
3047
+ <fo:block-container margin-left="0mm">
3048
+ <fo:block id="{@id}" xsl:use-attribute-sets="formula-style">
3049
+ <xsl:apply-templates/>
3050
+ </fo:block>
3051
+ </fo:block-container>
3052
+ </fo:block-container>
2912
3053
  </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'dt']/*[local-name() = 'stem']">
2913
3054
  <fo:inline>
2914
3055
  <xsl:apply-templates/>
@@ -2976,7 +3117,9 @@
2976
3117
  </xsl:choose>
2977
3118
  </xsl:template><xsl:template match="*[local-name() = 'termnote']">
2978
3119
  <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
2979
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3120
+ <fo:inline xsl:use-attribute-sets="termnote-name-style">
3121
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3122
+ </fo:inline>
2980
3123
  <xsl:apply-templates/>
2981
3124
  </fo:block>
2982
3125
  </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name'] | *[local-name() = 'termnote']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']" mode="presentation">
@@ -3151,21 +3294,63 @@
3151
3294
  </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
3152
3295
  <xsl:text> </xsl:text>
3153
3296
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
3154
- <fo:block xsl:use-attribute-sets="sourcecode-style">
3155
- <xsl:apply-templates/>
3156
- </fo:block>
3157
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3158
- </xsl:template><xsl:template match="*[local-name()='sourcecode']/text()">
3297
+
3298
+ <fo:block-container margin-left="0mm">
3299
+ <xsl:if test="parent::*[local-name() = 'note']">
3300
+ <xsl:attribute name="margin-left">
3301
+ <xsl:choose>
3302
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
3303
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
3304
+ </xsl:choose>
3305
+ </xsl:attribute>
3306
+
3307
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
3308
+
3309
+ </xsl:if>
3310
+ <fo:block-container margin-left="0mm">
3311
+
3312
+ <fo:block xsl:use-attribute-sets="sourcecode-style">
3313
+ <xsl:variable name="_font-size">
3314
+
3315
+
3316
+ 9
3317
+
3318
+
3319
+
3320
+
3321
+
3322
+
3323
+
3324
+
3325
+
3326
+
3327
+
3328
+ </xsl:variable>
3329
+ <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
3330
+ <xsl:if test="$font-size != ''">
3331
+ <xsl:attribute name="font-size">
3332
+ <xsl:choose>
3333
+ <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
3334
+ <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
3335
+ </xsl:choose>
3336
+ </xsl:attribute>
3337
+ </xsl:if>
3338
+ <xsl:apply-templates/>
3339
+ </fo:block>
3340
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3341
+
3342
+ </fo:block-container>
3343
+ </fo:block-container>
3344
+ </xsl:template><xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
3159
3345
  <xsl:variable name="text">
3160
3346
  <xsl:call-template name="add-zero-spaces-equal"/>
3161
3347
  </xsl:variable>
3162
- <xsl:call-template name="add-zero-spaces">
3348
+ <xsl:call-template name="add-zero-spaces-java">
3163
3349
  <xsl:with-param name="text" select="$text"/>
3164
3350
  </xsl:call-template>
3165
3351
  </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
3166
3352
  <xsl:if test="normalize-space() != ''">
3167
- <fo:block xsl:use-attribute-sets="sourcecode-name-style">
3168
-
3353
+ <fo:block xsl:use-attribute-sets="sourcecode-name-style">
3169
3354
  <xsl:apply-templates/>
3170
3355
  </fo:block>
3171
3356
  </xsl:if>
@@ -3239,9 +3424,9 @@
3239
3424
  <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
3240
3425
  </xsl:if>
3241
3426
  <fo:block-container margin-left="0mm" margin-right="0mm">
3242
- <fo:table id="{@id}" table-layout="fixed" width="100%" border="1pt solid black">
3427
+ <fo:table id="{@id}" table-layout="fixed" width="100%"> <!-- border="1pt solid black" -->
3243
3428
  <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3244
- <xsl:attribute name="border">0.5pt solid black</xsl:attribute>
3429
+ <!-- <xsl:attribute name="border">0.5pt solid black</xsl:attribute> -->
3245
3430
  </xsl:if>
3246
3431
  <xsl:variable name="simple-table">
3247
3432
  <xsl:call-template name="getSimpleTable"/>
@@ -3250,8 +3435,8 @@
3250
3435
  <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
3251
3436
  <!-- <fo:table-column column-width="35mm"/>
3252
3437
  <fo:table-column column-width="115mm"/> -->
3253
- <fo:table-column column-width="25%"/>
3254
- <fo:table-column column-width="75%"/>
3438
+ <fo:table-column column-width="30%"/>
3439
+ <fo:table-column column-width="70%"/>
3255
3440
  </xsl:if>
3256
3441
  <xsl:apply-templates mode="requirement"/>
3257
3442
  </fo:table>
@@ -3274,14 +3459,21 @@
3274
3459
  <xsl:apply-templates mode="requirement"/>
3275
3460
  </fo:table-body>
3276
3461
  </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
3277
- <fo:table-row height="7mm">
3278
- <xsl:if test="parent::*[local-name()='thead'] and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission'])">
3279
- <xsl:attribute name="border">1pt solid black</xsl:attribute>
3462
+ <fo:table-row height="7mm" border-bottom="0.5pt solid grey">
3463
+ <xsl:if test="parent::*[local-name()='thead']"> <!-- and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']) -->
3464
+ <!-- <xsl:attribute name="border">1pt solid black</xsl:attribute> -->
3465
+ <xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute>
3466
+ </xsl:if>
3467
+ <xsl:if test="starts-with(*[local-name()='td'][1], 'Requirement ')">
3468
+ <xsl:attribute name="background-color">rgb(252, 246, 222)</xsl:attribute>
3469
+ </xsl:if>
3470
+ <xsl:if test="starts-with(*[local-name()='td'][1], 'Recommendation ')">
3471
+ <xsl:attribute name="background-color">rgb(233, 235, 239)</xsl:attribute>
3280
3472
  </xsl:if>
3281
3473
  <xsl:apply-templates mode="requirement"/>
3282
3474
  </fo:table-row>
3283
3475
  </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
3284
- <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm" border="0.5pt solid black">
3476
+ <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
3285
3477
  <xsl:attribute name="text-align">
3286
3478
  <xsl:choose>
3287
3479
  <xsl:when test="@align">
@@ -3300,6 +3492,7 @@
3300
3492
  <xsl:value-of select="@rowspan"/>
3301
3493
  </xsl:attribute>
3302
3494
  </xsl:if>
3495
+ <xsl:call-template name="display-align"/>
3303
3496
 
3304
3497
  <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3305
3498
  <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
@@ -3315,7 +3508,7 @@
3315
3508
  </fo:block>
3316
3509
  </fo:table-cell>
3317
3510
  </xsl:template><xsl:template match="*[local-name()='td']" mode="requirement">
3318
- <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm" border="0.5pt solid black">
3511
+ <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
3319
3512
  <xsl:if test="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3320
3513
  <xsl:attribute name="padding">0mm</xsl:attribute>
3321
3514
  <xsl:attribute name="padding-left">0mm</xsl:attribute>
@@ -3328,6 +3521,9 @@
3328
3521
  <xsl:otherwise>left</xsl:otherwise>
3329
3522
  </xsl:choose>
3330
3523
  </xsl:attribute>
3524
+ <xsl:if test="following-sibling::*[local-name()='td'] and not(preceding-sibling::*[local-name()='td'])">
3525
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
3526
+ </xsl:if>
3331
3527
  <xsl:if test="@colspan">
3332
3528
  <xsl:attribute name="number-columns-spanned">
3333
3529
  <xsl:value-of select="@colspan"/>
@@ -3338,6 +3534,7 @@
3338
3534
  <xsl:value-of select="@rowspan"/>
3339
3535
  </xsl:attribute>
3340
3536
  </xsl:if>
3537
+ <xsl:call-template name="display-align"/>
3341
3538
 
3342
3539
  <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3343
3540
  <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
@@ -3353,7 +3550,7 @@
3353
3550
  </fo:block>
3354
3551
  </fo:table-cell>
3355
3552
  </xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
3356
- <fo:block font-size="11pt" font-weight="bold"> <!-- margin-bottom="4pt" text-align="center" -->
3553
+ <fo:block font-size="11pt" color="rgb(237, 193, 35)"> <!-- font-weight="bold" margin-bottom="4pt" text-align="center" -->
3357
3554
  <xsl:apply-templates/>
3358
3555
  </fo:block>
3359
3556
  </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
@@ -3379,12 +3576,13 @@
3379
3576
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3380
3577
 
3381
3578
  <xsl:variable name="element">
3382
- block
3579
+ block
3383
3580
 
3581
+ <xsl:if test=".//*[local-name() = 'table']">block</xsl:if>
3384
3582
  </xsl:variable>
3385
3583
 
3386
3584
  <xsl:choose>
3387
- <xsl:when test="normalize-space($element) = 'block'">
3585
+ <xsl:when test="contains(normalize-space($element), 'block')">
3388
3586
  <fo:block xsl:use-attribute-sets="example-body-style">
3389
3587
  <xsl:apply-templates/>
3390
3588
  </fo:block>
@@ -3421,25 +3619,44 @@
3421
3619
  </xsl:otherwise>
3422
3620
  </xsl:choose>
3423
3621
 
3424
- </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
3425
- <fo:block xsl:use-attribute-sets="example-p-style">
3622
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
3623
+
3624
+ <xsl:variable name="element">
3625
+ block
3426
3626
 
3427
- <xsl:apply-templates/>
3428
- </fo:block>
3627
+ </xsl:variable>
3628
+ <xsl:choose>
3629
+ <xsl:when test="normalize-space($element) = 'block'">
3630
+ <fo:block xsl:use-attribute-sets="example-p-style">
3631
+
3632
+ <xsl:apply-templates/>
3633
+ </fo:block>
3634
+ </xsl:when>
3635
+ <xsl:otherwise>
3636
+ <fo:inline xsl:use-attribute-sets="example-p-style">
3637
+ <xsl:apply-templates/>
3638
+ </fo:inline>
3639
+ </xsl:otherwise>
3640
+ </xsl:choose>
3429
3641
  </xsl:template><xsl:template match="*[local-name() = 'termsource']">
3430
3642
  <fo:block xsl:use-attribute-sets="termsource-style">
3431
3643
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
3432
3644
  <xsl:variable name="termsource_text">
3433
3645
  <xsl:apply-templates/>
3434
3646
  </xsl:variable>
3647
+
3435
3648
  <xsl:choose>
3436
3649
  <xsl:when test="starts-with(normalize-space($termsource_text), '[')">
3437
3650
  <xsl:apply-templates/>
3438
3651
  </xsl:when>
3439
- <xsl:otherwise>
3440
- <xsl:text>[</xsl:text>
3441
- <xsl:apply-templates/>
3442
- <xsl:text>]</xsl:text>
3652
+ <xsl:otherwise>
3653
+
3654
+ <xsl:text>[</xsl:text>
3655
+
3656
+ <xsl:apply-templates/>
3657
+
3658
+ <xsl:text>]</xsl:text>
3659
+
3443
3660
  </xsl:otherwise>
3444
3661
  </xsl:choose>
3445
3662
  </fo:block>
@@ -3460,18 +3677,31 @@
3460
3677
  <xsl:if test="normalize-space() != ''">
3461
3678
  <xsl:value-of select="."/>
3462
3679
  </xsl:if>
3463
- </xsl:template><xsl:template match="*[local-name() = 'quote']">
3680
+ </xsl:template><xsl:template match="*[local-name() = 'quote']">
3681
+ <fo:block-container margin-left="0mm">
3682
+ <xsl:if test="parent::*[local-name() = 'note']">
3683
+ <xsl:if test="not(ancestor::*[local-name() = 'table'])">
3684
+ <xsl:attribute name="margin-left">5mm</xsl:attribute>
3685
+ </xsl:if>
3686
+ </xsl:if>
3687
+
3688
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
3689
+
3690
+ <fo:block-container margin-left="0mm">
3464
3691
 
3465
- <fo:block xsl:use-attribute-sets="quote-style">
3466
- <xsl:apply-templates select=".//*[local-name() = 'p']"/>
3467
- </fo:block>
3468
- <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
3469
- <fo:block xsl:use-attribute-sets="quote-source-style">
3470
- <!-- — ISO, ISO 7301:2011, Clause 1 -->
3471
- <xsl:apply-templates select="*[local-name() = 'author']"/>
3472
- <xsl:apply-templates select="*[local-name() = 'source']"/>
3473
- </fo:block>
3474
- </xsl:if>
3692
+ <fo:block xsl:use-attribute-sets="quote-style">
3693
+ <xsl:apply-templates select=".//*[local-name() = 'p']"/>
3694
+ </fo:block>
3695
+ <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
3696
+ <fo:block xsl:use-attribute-sets="quote-source-style">
3697
+ <!-- — ISO, ISO 7301:2011, Clause 1 -->
3698
+ <xsl:apply-templates select="*[local-name() = 'author']"/>
3699
+ <xsl:apply-templates select="*[local-name() = 'source']"/>
3700
+ </fo:block>
3701
+ </xsl:if>
3702
+
3703
+ </fo:block-container>
3704
+ </fo:block-container>
3475
3705
  </xsl:template><xsl:template match="*[local-name() = 'source']">
3476
3706
  <xsl:if test="../*[local-name() = 'author']">
3477
3707
  <xsl:text>, </xsl:text>
@@ -3499,6 +3729,7 @@
3499
3729
  <xsl:if test="@type = 'inline'">
3500
3730
 
3501
3731
 
3732
+
3502
3733
  </xsl:if>
3503
3734
 
3504
3735
 
@@ -3531,6 +3762,7 @@
3531
3762
 
3532
3763
 
3533
3764
 
3765
+
3534
3766
  </xsl:variable>
3535
3767
 
3536
3768
  <xsl:variable name="padding-right">
@@ -3650,6 +3882,23 @@
3650
3882
  </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
3651
3883
  <!-- 0xA0 to space replacement -->
3652
3884
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
3885
+ </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
3886
+ <fo:block-container margin-left="0mm">
3887
+ <xsl:if test="parent::*[local-name() = 'note']">
3888
+ <xsl:attribute name="margin-left">
3889
+ <xsl:choose>
3890
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
3891
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
3892
+ </xsl:choose>
3893
+ </xsl:attribute>
3894
+
3895
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
3896
+
3897
+ </xsl:if>
3898
+ <fo:block-container margin-left="0mm">
3899
+ <xsl:apply-templates select="." mode="ul_ol"/>
3900
+ </fo:block-container>
3901
+ </fo:block-container>
3653
3902
  </xsl:template><xsl:template match="*[local-name() = 'errata']">
3654
3903
  <!-- <row>
3655
3904
  <date>05-07-2013</date>
@@ -3682,7 +3931,28 @@
3682
3931
  <fo:block><xsl:apply-templates/></fo:block>
3683
3932
  </fo:table-cell>
3684
3933
  </xsl:template><xsl:template name="processBibitem">
3934
+
3935
+
3685
3936
 
3937
+
3938
+ </xsl:template><xsl:template name="processBibitemDocId">
3939
+ <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')]"/>
3940
+ <xsl:choose>
3941
+ <xsl:when test="normalize-space($_doc_ident) != ''">
3942
+ <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"/>
3943
+ <xsl:if test="$type != '' and not(contains($_doc_ident, $type))">
3944
+ <xsl:value-of select="$type"/><xsl:text> </xsl:text>
3945
+ </xsl:if>
3946
+ <xsl:value-of select="$_doc_ident"/>
3947
+ </xsl:when>
3948
+ <xsl:otherwise>
3949
+ <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]/@type"/>
3950
+ <xsl:if test="$type != ''">
3951
+ <xsl:value-of select="$type"/><xsl:text> </xsl:text>
3952
+ </xsl:if>
3953
+ <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
3954
+ </xsl:otherwise>
3955
+ </xsl:choose>
3686
3956
  </xsl:template><xsl:template name="processPersonalAuthor">
3687
3957
  <xsl:choose>
3688
3958
  <xsl:when test="*[local-name() = 'name']/*[local-name() = 'completename']">