metanorma-gb 1.5.4 → 1.5.5

Sign up to get free protection for your applications and to get access to all the features.
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']">