metanorma-un 0.5.2 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -318,7 +318,9 @@
318
318
  </fo:block>
319
319
  </fo:block-container>
320
320
  <fo:block-container absolute-position="fixed" font-family="Arial" font-size="10pt" top="240mm" left="20mm" line-height="110%">
321
- <xsl:apply-templates select="/un:un-standard/un:boilerplate/un:feedback-statement"/>
321
+ <fo:block>
322
+ <xsl:apply-templates select="/un:un-standard/un:boilerplate/un:feedback-statement"/>
323
+ </fo:block>
322
324
  </fo:block-container>
323
325
  </fo:flow>
324
326
  </fo:page-sequence>
@@ -596,7 +598,7 @@
596
598
  </fo:block>
597
599
  </xsl:template>
598
600
 
599
- <xsl:template match="un:ul | un:ol">
601
+ <xsl:template match="un:ul | un:ol" mode="ul_ol">
600
602
  <fo:list-block provisional-distance-between-starts="3mm" margin-left="7mm" text-indent="0mm">
601
603
  <xsl:apply-templates/>
602
604
  </fo:list-block>
@@ -604,13 +606,19 @@
604
606
  </xsl:template>
605
607
 
606
608
  <xsl:template match="un:ul//un:note | un:ol//un:note" priority="2"/>
607
- <xsl:template match="un:ul//un:note/un:p | un:ol//un:note/un:p" mode="process">
608
- <fo:block font-size="11pt" margin-top="4pt">
609
+ <xsl:template match="un:ul//un:note/un:name | un:ol//un:note/un:name" mode="process" priority="2"/>
610
+
611
+ <xsl:template match="un:ul//un:note/un:p | un:ol//un:note/un:p" mode="process" priority="2">
612
+ <fo:block margin-top="4pt">
609
613
  <xsl:apply-templates select="../un:name" mode="presentation"/>
610
614
  <xsl:apply-templates/>
611
615
  </fo:block>
612
616
  </xsl:template>
613
617
 
618
+ <xsl:template match="un:ul//un:note/* | un:ol//un:note/*" mode="process">
619
+ <xsl:apply-templates select="."/>
620
+ </xsl:template>
621
+
614
622
  <xsl:template match="un:li">
615
623
  <xsl:variable name="level">
616
624
  <xsl:call-template name="getLevel"/>
@@ -929,30 +937,45 @@
929
937
 
930
938
 
931
939
  <xsl:template match="un:formula" name="formula-un" priority="2">
932
- <fo:block id="{@id}" margin-top="6pt">
933
- <fo:table table-layout="fixed" width="100%">
934
- <fo:table-column column-width="95%"/>
935
- <fo:table-column column-width="5%"/>
936
- <fo:table-body>
937
- <fo:table-row>
938
- <fo:table-cell>
939
- <fo:block text-align="center">
940
- <xsl:if test="ancestor::un:annex">
941
- <xsl:attribute name="text-align">left</xsl:attribute>
942
- <xsl:attribute name="margin-left">7mm</xsl:attribute>
943
- </xsl:if>
944
- <xsl:apply-templates/>
945
- </fo:block>
946
- </fo:table-cell>
947
- <fo:table-cell> <!-- display-align="center" -->
948
- <fo:block text-align="right">
949
- <xsl:apply-templates select="un:name" mode="presentation"/>
950
- </fo:block>
951
- </fo:table-cell>
952
- </fo:table-row>
953
- </fo:table-body>
954
- </fo:table>
955
- </fo:block>
940
+
941
+ <fo:block-container margin-left="0mm">
942
+ <xsl:if test="parent::*[local-name() = 'note']">
943
+ <xsl:attribute name="margin-left">
944
+ <xsl:choose>
945
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
946
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
947
+ </xsl:choose>
948
+ </xsl:attribute>
949
+ </xsl:if>
950
+ <fo:block-container margin-left="0mm">
951
+
952
+ <fo:block id="{@id}" margin-top="6pt">
953
+ <fo:table table-layout="fixed" width="100%">
954
+ <fo:table-column column-width="95%"/>
955
+ <fo:table-column column-width="5%"/>
956
+ <fo:table-body>
957
+ <fo:table-row>
958
+ <fo:table-cell>
959
+ <fo:block text-align="center">
960
+ <xsl:if test="ancestor::un:annex">
961
+ <xsl:attribute name="text-align">left</xsl:attribute>
962
+ <xsl:attribute name="margin-left">7mm</xsl:attribute>
963
+ </xsl:if>
964
+ <xsl:apply-templates/>
965
+ </fo:block>
966
+ </fo:table-cell>
967
+ <fo:table-cell> <!-- display-align="center" -->
968
+ <fo:block text-align="right">
969
+ <xsl:apply-templates select="un:name" mode="presentation"/>
970
+ </fo:block>
971
+ </fo:table-cell>
972
+ </fo:table-row>
973
+ </fo:table-body>
974
+ </fo:table>
975
+ </fo:block>
976
+
977
+ </fo:block-container>
978
+ </fo:block-container>
956
979
  </xsl:template>
957
980
 
958
981
 
@@ -1074,7 +1097,12 @@
1074
1097
 
1075
1098
 
1076
1099
 
1077
- <title-source lang="en">SOURCE</title-source>
1100
+ <title-source lang="en">
1101
+
1102
+ <xsl:text>SOURCE</xsl:text>
1103
+
1104
+
1105
+ </title-source>
1078
1106
 
1079
1107
  <title-keywords lang="en">Keywords</title-keywords>
1080
1108
 
@@ -1117,6 +1145,10 @@
1117
1145
  <title-warning lang="zh">警告</title-warning>
1118
1146
 
1119
1147
  <title-amendment lang="en">AMENDMENT</title-amendment>
1148
+
1149
+ <title-continued lang="en">(continued)</title-continued>
1150
+ <title-continued lang="fr">(continué)</title-continued>
1151
+
1120
1152
  </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
1121
1153
  <xsl:param name="name"/>
1122
1154
  <xsl:variable name="lang">
@@ -1134,6 +1166,7 @@
1134
1166
  </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">
1135
1167
 
1136
1168
 
1169
+
1137
1170
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
1138
1171
  <xsl:attribute name="white-space">pre</xsl:attribute>
1139
1172
  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
@@ -1142,14 +1175,14 @@
1142
1175
 
1143
1176
 
1144
1177
 
1145
- <xsl:attribute name="font-family">Courier</xsl:attribute>
1146
- <xsl:attribute name="font-size">10pt</xsl:attribute>
1178
+ <xsl:attribute name="font-family">Courier</xsl:attribute>
1147
1179
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
1148
1180
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1149
1181
 
1150
1182
 
1151
1183
 
1152
1184
 
1185
+
1153
1186
  </xsl:attribute-set><xsl:attribute-set name="permission-style">
1154
1187
 
1155
1188
  </xsl:attribute-set><xsl:attribute-set name="permission-name-style">
@@ -1191,6 +1224,7 @@
1191
1224
 
1192
1225
 
1193
1226
 
1227
+
1194
1228
  </xsl:attribute-set><xsl:attribute-set name="example-body-style">
1195
1229
 
1196
1230
 
@@ -1210,6 +1244,7 @@
1210
1244
 
1211
1245
 
1212
1246
 
1247
+
1213
1248
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1214
1249
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1215
1250
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
@@ -1272,11 +1307,13 @@
1272
1307
 
1273
1308
  </xsl:attribute-set><xsl:attribute-set name="xref-style">
1274
1309
 
1275
-
1310
+
1311
+
1276
1312
  </xsl:attribute-set><xsl:attribute-set name="eref-style">
1277
1313
 
1278
1314
 
1279
1315
 
1316
+
1280
1317
  </xsl:attribute-set><xsl:attribute-set name="note-style">
1281
1318
 
1282
1319
 
@@ -1290,14 +1327,15 @@
1290
1327
 
1291
1328
 
1292
1329
 
1330
+
1293
1331
  <xsl:attribute name="margin-top">3pt</xsl:attribute>
1294
1332
  <xsl:attribute name="border-top">0.1mm solid black</xsl:attribute>
1295
1333
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1296
1334
 
1335
+ </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">
1297
1336
 
1298
1337
 
1299
1338
 
1300
- </xsl:attribute-set><xsl:attribute-set name="note-name-style">
1301
1339
 
1302
1340
 
1303
1341
 
@@ -1306,7 +1344,6 @@
1306
1344
 
1307
1345
 
1308
1346
 
1309
-
1310
1347
 
1311
1348
  </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1312
1349
 
@@ -1322,8 +1359,7 @@
1322
1359
 
1323
1360
  <xsl:attribute name="margin-top">3pt</xsl:attribute>
1324
1361
  <!-- <xsl:attribute name="border-top">0.1mm solid black</xsl:attribute> -->
1325
- <xsl:attribute name="space-after">12pt</xsl:attribute>
1326
- <xsl:attribute name="font-size">10pt</xsl:attribute>
1362
+ <xsl:attribute name="space-after">12pt</xsl:attribute>
1327
1363
  <xsl:attribute name="text-indent">0</xsl:attribute>
1328
1364
  <xsl:attribute name="padding-top">1.5mm</xsl:attribute>
1329
1365
 
@@ -1337,6 +1373,8 @@
1337
1373
  <xsl:attribute name="margin-top">4pt</xsl:attribute>
1338
1374
 
1339
1375
 
1376
+ </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
1377
+
1340
1378
  </xsl:attribute-set><xsl:attribute-set name="quote-style">
1341
1379
 
1342
1380
 
@@ -1357,6 +1395,7 @@
1357
1395
  </xsl:attribute-set><xsl:attribute-set name="origin-style">
1358
1396
 
1359
1397
 
1398
+
1360
1399
  </xsl:attribute-set><xsl:attribute-set name="term-style">
1361
1400
 
1362
1401
  </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
@@ -1375,6 +1414,7 @@
1375
1414
 
1376
1415
 
1377
1416
 
1417
+
1378
1418
  <xsl:attribute name="text-align">center</xsl:attribute>
1379
1419
  <xsl:attribute name="font-size">9pt</xsl:attribute>
1380
1420
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
@@ -1409,11 +1449,14 @@
1409
1449
  </xsl:attribute-set><xsl:attribute-set name="tt-style">
1410
1450
 
1411
1451
 
1452
+
1412
1453
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
1413
1454
  <xsl:attribute name="font-size">11pt</xsl:attribute>
1414
1455
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1415
1456
  <xsl:attribute name="text-align">center</xsl:attribute>
1416
1457
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1458
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1459
+
1417
1460
  </xsl:attribute-set><xsl:attribute-set name="domain-style">
1418
1461
 
1419
1462
  </xsl:attribute-set><xsl:attribute-set name="admitted-style">
@@ -1477,6 +1520,8 @@
1477
1520
 
1478
1521
 
1479
1522
 
1523
+ <!-- $namespace = 'iso' or -->
1524
+
1480
1525
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
1481
1526
 
1482
1527
 
@@ -1538,7 +1583,7 @@
1538
1583
 
1539
1584
 
1540
1585
 
1541
-
1586
+
1542
1587
 
1543
1588
 
1544
1589
 
@@ -1563,6 +1608,8 @@
1563
1608
 
1564
1609
 
1565
1610
 
1611
+
1612
+
1566
1613
  <xsl:for-each select="xalan:nodeset($colwidths)//column">
1567
1614
  <xsl:choose>
1568
1615
  <xsl:when test=". = 1 or . = 0">
@@ -1593,8 +1640,9 @@
1593
1640
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
1594
1641
  <xsl:if test="normalize-space() != ''">
1595
1642
  <fo:block xsl:use-attribute-sets="table-name-style">
1596
- <xsl:apply-templates/>
1597
- </fo:block>
1643
+
1644
+ <xsl:apply-templates/>
1645
+ </fo:block>
1598
1646
  </xsl:if>
1599
1647
  </xsl:template><xsl:template name="calculate-columns-numbers">
1600
1648
  <xsl:param name="table-row"/>
@@ -1710,10 +1758,25 @@
1710
1758
  </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
1711
1759
  <xsl:param name="cols-count"/>
1712
1760
  <!-- font-weight="bold" -->
1713
- <fo:table-header>
1714
-
1761
+ <fo:table-header>
1762
+
1715
1763
  <xsl:apply-templates/>
1716
1764
  </fo:table-header>
1765
+ </xsl:template><xsl:template name="table-header-title">
1766
+ <xsl:param name="cols-count"/>
1767
+ <!-- row for title -->
1768
+ <fo:table-row>
1769
+ <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">
1770
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation"/>
1771
+ <xsl:for-each select="ancestor::*[local-name()='table'][1]">
1772
+ <xsl:call-template name="fn_name_display"/>
1773
+ </xsl:for-each>
1774
+ <fo:block text-align="right" font-style="italic">
1775
+ <xsl:text> </xsl:text>
1776
+ <fo:retrieve-table-marker retrieve-class-name="table_continued"/>
1777
+ </fo:block>
1778
+ </fo:table-cell>
1779
+ </fo:table-row>
1717
1780
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
1718
1781
  <fo:table-body>
1719
1782
  <xsl:apply-templates/>
@@ -1777,6 +1840,8 @@
1777
1840
  </xsl:choose>
1778
1841
  </xsl:variable>
1779
1842
 
1843
+
1844
+
1780
1845
  <xsl:apply-templates select="../*[local-name()='thead']" mode="process">
1781
1846
  <xsl:with-param name="cols-count" select="$cols-count"/>
1782
1847
  </xsl:apply-templates>
@@ -1786,6 +1851,8 @@
1786
1851
  </xsl:call-template>
1787
1852
 
1788
1853
  <fo:table-body>
1854
+
1855
+
1789
1856
  <xsl:apply-templates/>
1790
1857
  <!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
1791
1858
 
@@ -1808,6 +1875,8 @@
1808
1875
 
1809
1876
  </xsl:if>
1810
1877
 
1878
+
1879
+
1811
1880
 
1812
1881
  <xsl:apply-templates/>
1813
1882
  </fo:table-row>
@@ -1827,6 +1896,7 @@
1827
1896
 
1828
1897
 
1829
1898
 
1899
+
1830
1900
 
1831
1901
  <xsl:if test="ancestor::*[local-name()='sections']">
1832
1902
  <xsl:attribute name="border">solid black 0pt</xsl:attribute>
@@ -1856,10 +1926,22 @@
1856
1926
  <xsl:value-of select="@rowspan"/>
1857
1927
  </xsl:attribute>
1858
1928
  </xsl:if>
1929
+ <xsl:call-template name="display-align"/>
1859
1930
  <fo:block>
1860
1931
  <xsl:apply-templates/>
1861
1932
  </fo:block>
1862
1933
  </fo:table-cell>
1934
+ </xsl:template><xsl:template name="display-align">
1935
+ <xsl:if test="@valign">
1936
+ <xsl:attribute name="display-align">
1937
+ <xsl:choose>
1938
+ <xsl:when test="@valign = 'top'">before</xsl:when>
1939
+ <xsl:when test="@valign = 'middle'">center</xsl:when>
1940
+ <xsl:when test="@valign = 'bottom'">after</xsl:when>
1941
+ <xsl:otherwise>before</xsl:otherwise>
1942
+ </xsl:choose>
1943
+ </xsl:attribute>
1944
+ </xsl:if>
1863
1945
  </xsl:template><xsl:template match="*[local-name()='td']">
1864
1946
  <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
1865
1947
  <xsl:attribute name="text-align">
@@ -1877,6 +1959,7 @@
1877
1959
 
1878
1960
 
1879
1961
 
1962
+
1880
1963
  <xsl:if test="ancestor::*[local-name()='sections']">
1881
1964
  <xsl:attribute name="border">solid black 0pt</xsl:attribute>
1882
1965
  <xsl:attribute name="padding-top">1mm</xsl:attribute>
@@ -1895,8 +1978,8 @@
1895
1978
  <xsl:value-of select="@rowspan"/>
1896
1979
  </xsl:attribute>
1897
1980
  </xsl:if>
1898
- <fo:block>
1899
-
1981
+ <xsl:call-template name="display-align"/>
1982
+ <fo:block>
1900
1983
  <xsl:apply-templates/>
1901
1984
  </fo:block>
1902
1985
  </fo:table-cell>
@@ -2083,6 +2166,7 @@
2083
2166
 
2084
2167
 
2085
2168
 
2169
+
2086
2170
  <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
2087
2171
 
2088
2172
  <xsl:value-of select="@reference"/>
@@ -2093,115 +2177,129 @@
2093
2177
  <xsl:apply-templates/>
2094
2178
  </fo:inline>
2095
2179
  </xsl:template><xsl:template match="*[local-name()='dl']">
2096
- <xsl:variable name="parent" select="local-name(..)"/>
2097
-
2098
- <xsl:variable name="key_iso">
2099
- <!-- and (not(../@class) or ../@class !='pseudocode') -->
2100
- </xsl:variable>
2101
-
2102
- <xsl:choose>
2103
- <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
2104
-
2105
-
2106
- <fo:block margin-bottom="12pt" text-align="left">
2107
-
2108
- <xsl:variable name="title-where">
2109
- <xsl:call-template name="getTitle">
2110
- <xsl:with-param name="name" select="'title-where'"/>
2111
- </xsl:call-template>
2112
- </xsl:variable>
2113
- <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
2114
- <xsl:apply-templates select="*[local-name()='dt']/*"/>
2115
- <xsl:text/>
2116
- <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
2117
- </fo:block>
2118
-
2119
- </xsl:when>
2120
- <xsl:when test="$parent = 'formula'"> <!-- a few components -->
2121
- <fo:block margin-bottom="12pt" text-align="left">
2122
-
2123
-
2124
-
2125
-
2126
- <xsl:variable name="title-where">
2127
- <xsl:call-template name="getTitle">
2128
- <xsl:with-param name="name" select="'title-where'"/>
2129
- </xsl:call-template>
2130
- </xsl:variable>
2131
- <xsl:value-of select="$title-where"/>
2132
- </fo:block>
2133
- </xsl:when>
2134
- <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
2135
- <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
2136
-
2137
-
2138
-
2139
- <xsl:variable name="title-key">
2140
- <xsl:call-template name="getTitle">
2141
- <xsl:with-param name="name" select="'title-key'"/>
2142
- </xsl:call-template>
2143
- </xsl:variable>
2144
- <xsl:value-of select="$title-key"/>
2145
- </fo:block>
2146
- </xsl:when>
2147
- </xsl:choose>
2148
-
2149
- <!-- a few components -->
2150
- <xsl:if test="not($parent = 'formula' and count(*[local-name()='dt']) = 1)">
2151
- <fo:block>
2180
+ <fo:block-container margin-left="0mm">
2181
+ <xsl:if test="parent::*[local-name() = 'note']">
2182
+ <xsl:attribute name="margin-left">
2183
+ <xsl:choose>
2184
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
2185
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
2186
+ </xsl:choose>
2187
+ </xsl:attribute>
2152
2188
 
2189
+ </xsl:if>
2190
+ <fo:block-container margin-left="0mm">
2191
+
2192
+ <xsl:variable name="parent" select="local-name(..)"/>
2153
2193
 
2194
+ <xsl:variable name="key_iso">
2195
+ <!-- and (not(../@class) or ../@class !='pseudocode') -->
2196
+ </xsl:variable>
2154
2197
 
2198
+ <xsl:choose>
2199
+ <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
2200
+
2201
+
2202
+ <fo:block margin-bottom="12pt" text-align="left">
2203
+
2204
+ <xsl:variable name="title-where">
2205
+ <xsl:call-template name="getTitle">
2206
+ <xsl:with-param name="name" select="'title-where'"/>
2207
+ </xsl:call-template>
2208
+ </xsl:variable>
2209
+ <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
2210
+ <xsl:apply-templates select="*[local-name()='dt']/*"/>
2211
+ <xsl:text/>
2212
+ <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
2213
+ </fo:block>
2214
+
2215
+ </xsl:when>
2216
+ <xsl:when test="$parent = 'formula'"> <!-- a few components -->
2217
+ <fo:block margin-bottom="12pt" text-align="left">
2218
+
2219
+
2220
+
2221
+
2222
+ <xsl:variable name="title-where">
2223
+ <xsl:call-template name="getTitle">
2224
+ <xsl:with-param name="name" select="'title-where'"/>
2225
+ </xsl:call-template>
2226
+ </xsl:variable>
2227
+ <xsl:value-of select="$title-where"/>
2228
+ </fo:block>
2229
+ </xsl:when>
2230
+ <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
2231
+ <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
2232
+
2233
+
2234
+
2235
+ <xsl:variable name="title-key">
2236
+ <xsl:call-template name="getTitle">
2237
+ <xsl:with-param name="name" select="'title-key'"/>
2238
+ </xsl:call-template>
2239
+ </xsl:variable>
2240
+ <xsl:value-of select="$title-key"/>
2241
+ </fo:block>
2242
+ </xsl:when>
2243
+ </xsl:choose>
2155
2244
 
2156
- <fo:block>
2157
-
2158
-
2159
-
2160
-
2161
- <fo:table width="95%" table-layout="fixed">
2245
+ <!-- a few components -->
2246
+ <xsl:if test="not($parent = 'formula' and count(*[local-name()='dt']) = 1)">
2247
+ <fo:block>
2162
2248
 
2163
- <xsl:choose>
2164
- <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
2165
- <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
2166
- </xsl:when>
2167
- <xsl:when test="normalize-space($key_iso) = 'true'">
2168
- <xsl:attribute name="font-size">10pt</xsl:attribute>
2249
+
2250
+
2251
+
2252
+ <fo:block>
2253
+
2254
+
2255
+
2256
+
2257
+ <fo:table width="95%" table-layout="fixed">
2169
2258
 
2170
- </xsl:when>
2171
- </xsl:choose>
2172
- <!-- create virtual html table for dl/[dt and dd] -->
2173
- <xsl:variable name="html-table">
2174
- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
2175
- <xsl:element name="{$ns}:table">
2176
- <tbody>
2177
- <xsl:apply-templates mode="dl"/>
2178
- </tbody>
2179
- </xsl:element>
2180
- </xsl:variable>
2181
- <!-- html-table<xsl:copy-of select="$html-table"/> -->
2182
- <xsl:variable name="colwidths">
2183
- <xsl:call-template name="calculate-column-widths">
2184
- <xsl:with-param name="cols-count" select="2"/>
2185
- <xsl:with-param name="table" select="$html-table"/>
2186
- </xsl:call-template>
2187
- </xsl:variable>
2188
- <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
2189
- <xsl:variable name="maxlength_dt">
2190
- <xsl:call-template name="getMaxLength_dt"/>
2191
- </xsl:variable>
2192
- <xsl:call-template name="setColumnWidth_dl">
2193
- <xsl:with-param name="colwidths" select="$colwidths"/>
2194
- <xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
2195
- </xsl:call-template>
2196
- <fo:table-body>
2197
- <xsl:apply-templates>
2198
- <xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
2199
- </xsl:apply-templates>
2200
- </fo:table-body>
2201
- </fo:table>
2202
- </fo:block>
2203
- </fo:block>
2204
- </xsl:if>
2259
+ <xsl:choose>
2260
+ <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
2261
+ <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
2262
+ </xsl:when>
2263
+ <xsl:when test="normalize-space($key_iso) = 'true'">
2264
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2265
+
2266
+ </xsl:when>
2267
+ </xsl:choose>
2268
+ <!-- create virtual html table for dl/[dt and dd] -->
2269
+ <xsl:variable name="html-table">
2270
+ <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
2271
+ <xsl:element name="{$ns}:table">
2272
+ <tbody>
2273
+ <xsl:apply-templates mode="dl"/>
2274
+ </tbody>
2275
+ </xsl:element>
2276
+ </xsl:variable>
2277
+ <!-- html-table<xsl:copy-of select="$html-table"/> -->
2278
+ <xsl:variable name="colwidths">
2279
+ <xsl:call-template name="calculate-column-widths">
2280
+ <xsl:with-param name="cols-count" select="2"/>
2281
+ <xsl:with-param name="table" select="$html-table"/>
2282
+ </xsl:call-template>
2283
+ </xsl:variable>
2284
+ <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
2285
+ <xsl:variable name="maxlength_dt">
2286
+ <xsl:call-template name="getMaxLength_dt"/>
2287
+ </xsl:variable>
2288
+ <xsl:call-template name="setColumnWidth_dl">
2289
+ <xsl:with-param name="colwidths" select="$colwidths"/>
2290
+ <xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
2291
+ </xsl:call-template>
2292
+ <fo:table-body>
2293
+ <xsl:apply-templates>
2294
+ <xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
2295
+ </xsl:apply-templates>
2296
+ </fo:table-body>
2297
+ </fo:table>
2298
+ </fo:block>
2299
+ </fo:block>
2300
+ </xsl:if>
2301
+ </fo:block-container>
2302
+ </fo:block-container>
2205
2303
  </xsl:template><xsl:template name="setColumnWidth_dl">
2206
2304
  <xsl:param name="colwidths"/>
2207
2305
  <xsl:param name="maxlength_dt"/>
@@ -2298,6 +2396,7 @@
2298
2396
  <xsl:param name="key_iso"/>
2299
2397
 
2300
2398
  <fo:table-row>
2399
+
2301
2400
  <fo:table-cell>
2302
2401
 
2303
2402
  <fo:block margin-top="6pt">
@@ -2377,6 +2476,31 @@
2377
2476
  </fo:inline>
2378
2477
  </xsl:template><xsl:template match="*[local-name()='tt']">
2379
2478
  <fo:inline xsl:use-attribute-sets="tt-style">
2479
+ <xsl:variable name="_font-size">
2480
+
2481
+
2482
+
2483
+
2484
+
2485
+
2486
+
2487
+
2488
+
2489
+
2490
+
2491
+
2492
+
2493
+
2494
+ </xsl:variable>
2495
+ <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
2496
+ <xsl:if test="$font-size != ''">
2497
+ <xsl:attribute name="font-size">
2498
+ <xsl:choose>
2499
+ <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
2500
+ <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
2501
+ </xsl:choose>
2502
+ </xsl:attribute>
2503
+ </xsl:if>
2380
2504
  <xsl:apply-templates/>
2381
2505
  </fo:inline>
2382
2506
  </xsl:template><xsl:template match="*[local-name()='del']">
@@ -2703,10 +2827,23 @@
2703
2827
  <xsl:value-of select="substring($str, 2)"/>
2704
2828
  </xsl:template><xsl:template match="mathml:math">
2705
2829
  <fo:inline font-family="STIX2Math">
2706
- <fo:instream-foreign-object fox:alt-text="Math">
2707
- <xsl:copy-of select="."/>
2708
- </fo:instream-foreign-object>
2830
+ <xsl:variable name="mathml">
2831
+ <xsl:apply-templates select="." mode="mathml"/>
2832
+ </xsl:variable>
2833
+ <fo:instream-foreign-object fox:alt-text="Math">
2834
+ <!-- <xsl:copy-of select="."/> -->
2835
+ <xsl:copy-of select="xalan:nodeset($mathml)"/>
2836
+ </fo:instream-foreign-object>
2709
2837
  </fo:inline>
2838
+ </xsl:template><xsl:template match="@*|node()" mode="mathml">
2839
+ <xsl:copy>
2840
+ <xsl:apply-templates select="@*|node()" mode="mathml"/>
2841
+ </xsl:copy>
2842
+ </xsl:template><xsl:template match="mathml:mtext" mode="mathml">
2843
+ <xsl:copy>
2844
+ <!-- replace start and end spaces to non-break space -->
2845
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
2846
+ </xsl:copy>
2710
2847
  </xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
2711
2848
  <xsl:variable name="target">
2712
2849
  <xsl:choose>
@@ -2787,9 +2924,22 @@
2787
2924
  <xsl:apply-templates/>
2788
2925
  </fo:basic-link>
2789
2926
  </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
2790
- <fo:block id="{@id}" xsl:use-attribute-sets="formula-style">
2791
- <xsl:apply-templates/>
2792
- </fo:block>
2927
+ <fo:block-container margin-left="0mm">
2928
+ <xsl:if test="parent::*[local-name() = 'note']">
2929
+ <xsl:attribute name="margin-left">
2930
+ <xsl:choose>
2931
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
2932
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
2933
+ </xsl:choose>
2934
+ </xsl:attribute>
2935
+
2936
+ </xsl:if>
2937
+ <fo:block-container margin-left="0mm">
2938
+ <fo:block id="{@id}" xsl:use-attribute-sets="formula-style">
2939
+ <xsl:apply-templates/>
2940
+ </fo:block>
2941
+ </fo:block-container>
2942
+ </fo:block-container>
2793
2943
  </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'dt']/*[local-name() = 'stem']">
2794
2944
  <fo:inline>
2795
2945
  <xsl:apply-templates/>
@@ -2862,7 +3012,9 @@
2862
3012
  </xsl:choose>
2863
3013
  </xsl:template><xsl:template match="*[local-name() = 'termnote']">
2864
3014
  <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
2865
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3015
+ <fo:inline xsl:use-attribute-sets="termnote-name-style">
3016
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3017
+ </fo:inline>
2866
3018
  <xsl:apply-templates/>
2867
3019
  </fo:block>
2868
3020
  </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">
@@ -3038,21 +3190,61 @@
3038
3190
  </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
3039
3191
  <xsl:text> </xsl:text>
3040
3192
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
3041
- <fo:block xsl:use-attribute-sets="sourcecode-style">
3042
- <xsl:apply-templates/>
3043
- </fo:block>
3044
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3045
- </xsl:template><xsl:template match="*[local-name()='sourcecode']/text()">
3193
+
3194
+ <fo:block-container margin-left="0mm">
3195
+ <xsl:if test="parent::*[local-name() = 'note']">
3196
+ <xsl:attribute name="margin-left">
3197
+ <xsl:choose>
3198
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
3199
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
3200
+ </xsl:choose>
3201
+ </xsl:attribute>
3202
+
3203
+ </xsl:if>
3204
+ <fo:block-container margin-left="0mm">
3205
+
3206
+ <fo:block xsl:use-attribute-sets="sourcecode-style">
3207
+ <xsl:variable name="_font-size">
3208
+
3209
+
3210
+
3211
+
3212
+
3213
+
3214
+
3215
+
3216
+
3217
+
3218
+
3219
+
3220
+
3221
+ 10
3222
+ </xsl:variable>
3223
+ <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
3224
+ <xsl:if test="$font-size != ''">
3225
+ <xsl:attribute name="font-size">
3226
+ <xsl:choose>
3227
+ <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
3228
+ <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
3229
+ </xsl:choose>
3230
+ </xsl:attribute>
3231
+ </xsl:if>
3232
+ <xsl:apply-templates/>
3233
+ </fo:block>
3234
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3235
+
3236
+ </fo:block-container>
3237
+ </fo:block-container>
3238
+ </xsl:template><xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
3046
3239
  <xsl:variable name="text">
3047
3240
  <xsl:call-template name="add-zero-spaces-equal"/>
3048
3241
  </xsl:variable>
3049
- <xsl:call-template name="add-zero-spaces">
3242
+ <xsl:call-template name="add-zero-spaces-java">
3050
3243
  <xsl:with-param name="text" select="$text"/>
3051
3244
  </xsl:call-template>
3052
3245
  </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
3053
3246
  <xsl:if test="normalize-space() != ''">
3054
- <fo:block xsl:use-attribute-sets="sourcecode-name-style">
3055
-
3247
+ <fo:block xsl:use-attribute-sets="sourcecode-name-style">
3056
3248
  <xsl:apply-templates/>
3057
3249
  </fo:block>
3058
3250
  </xsl:if>
@@ -3126,9 +3318,9 @@
3126
3318
  <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
3127
3319
  </xsl:if>
3128
3320
  <fo:block-container margin-left="0mm" margin-right="0mm">
3129
- <fo:table id="{@id}" table-layout="fixed" width="100%" border="1pt solid black">
3321
+ <fo:table id="{@id}" table-layout="fixed" width="100%"> <!-- border="1pt solid black" -->
3130
3322
  <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3131
- <xsl:attribute name="border">0.5pt solid black</xsl:attribute>
3323
+ <!-- <xsl:attribute name="border">0.5pt solid black</xsl:attribute> -->
3132
3324
  </xsl:if>
3133
3325
  <xsl:variable name="simple-table">
3134
3326
  <xsl:call-template name="getSimpleTable"/>
@@ -3137,8 +3329,8 @@
3137
3329
  <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
3138
3330
  <!-- <fo:table-column column-width="35mm"/>
3139
3331
  <fo:table-column column-width="115mm"/> -->
3140
- <fo:table-column column-width="25%"/>
3141
- <fo:table-column column-width="75%"/>
3332
+ <fo:table-column column-width="30%"/>
3333
+ <fo:table-column column-width="70%"/>
3142
3334
  </xsl:if>
3143
3335
  <xsl:apply-templates mode="requirement"/>
3144
3336
  </fo:table>
@@ -3161,14 +3353,21 @@
3161
3353
  <xsl:apply-templates mode="requirement"/>
3162
3354
  </fo:table-body>
3163
3355
  </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
3164
- <fo:table-row height="7mm">
3165
- <xsl:if test="parent::*[local-name()='thead'] and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission'])">
3166
- <xsl:attribute name="border">1pt solid black</xsl:attribute>
3356
+ <fo:table-row height="7mm" border-bottom="0.5pt solid grey">
3357
+ <xsl:if test="parent::*[local-name()='thead']"> <!-- and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']) -->
3358
+ <!-- <xsl:attribute name="border">1pt solid black</xsl:attribute> -->
3359
+ <xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute>
3360
+ </xsl:if>
3361
+ <xsl:if test="starts-with(*[local-name()='td'][1], 'Requirement ')">
3362
+ <xsl:attribute name="background-color">rgb(252, 246, 222)</xsl:attribute>
3363
+ </xsl:if>
3364
+ <xsl:if test="starts-with(*[local-name()='td'][1], 'Recommendation ')">
3365
+ <xsl:attribute name="background-color">rgb(233, 235, 239)</xsl:attribute>
3167
3366
  </xsl:if>
3168
3367
  <xsl:apply-templates mode="requirement"/>
3169
3368
  </fo:table-row>
3170
3369
  </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
3171
- <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm" border="0.5pt solid black">
3370
+ <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
3172
3371
  <xsl:attribute name="text-align">
3173
3372
  <xsl:choose>
3174
3373
  <xsl:when test="@align">
@@ -3187,6 +3386,7 @@
3187
3386
  <xsl:value-of select="@rowspan"/>
3188
3387
  </xsl:attribute>
3189
3388
  </xsl:if>
3389
+ <xsl:call-template name="display-align"/>
3190
3390
 
3191
3391
  <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3192
3392
  <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
@@ -3202,7 +3402,7 @@
3202
3402
  </fo:block>
3203
3403
  </fo:table-cell>
3204
3404
  </xsl:template><xsl:template match="*[local-name()='td']" mode="requirement">
3205
- <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm" border="0.5pt solid black">
3405
+ <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
3206
3406
  <xsl:if test="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3207
3407
  <xsl:attribute name="padding">0mm</xsl:attribute>
3208
3408
  <xsl:attribute name="padding-left">0mm</xsl:attribute>
@@ -3215,6 +3415,9 @@
3215
3415
  <xsl:otherwise>left</xsl:otherwise>
3216
3416
  </xsl:choose>
3217
3417
  </xsl:attribute>
3418
+ <xsl:if test="following-sibling::*[local-name()='td'] and not(preceding-sibling::*[local-name()='td'])">
3419
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
3420
+ </xsl:if>
3218
3421
  <xsl:if test="@colspan">
3219
3422
  <xsl:attribute name="number-columns-spanned">
3220
3423
  <xsl:value-of select="@colspan"/>
@@ -3225,6 +3428,7 @@
3225
3428
  <xsl:value-of select="@rowspan"/>
3226
3429
  </xsl:attribute>
3227
3430
  </xsl:if>
3431
+ <xsl:call-template name="display-align"/>
3228
3432
 
3229
3433
  <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3230
3434
  <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
@@ -3240,7 +3444,7 @@
3240
3444
  </fo:block>
3241
3445
  </fo:table-cell>
3242
3446
  </xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
3243
- <fo:block font-size="11pt" font-weight="bold"> <!-- margin-bottom="4pt" text-align="center" -->
3447
+ <fo:block font-size="11pt" color="rgb(237, 193, 35)"> <!-- font-weight="bold" margin-bottom="4pt" text-align="center" -->
3244
3448
  <xsl:apply-templates/>
3245
3449
  </fo:block>
3246
3450
  </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
@@ -3266,12 +3470,13 @@
3266
3470
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3267
3471
 
3268
3472
  <xsl:variable name="element">
3269
- block
3473
+ block
3270
3474
 
3475
+ <xsl:if test=".//*[local-name() = 'table']">block</xsl:if>
3271
3476
  </xsl:variable>
3272
3477
 
3273
3478
  <xsl:choose>
3274
- <xsl:when test="normalize-space($element) = 'block'">
3479
+ <xsl:when test="contains(normalize-space($element), 'block')">
3275
3480
  <fo:block xsl:use-attribute-sets="example-body-style">
3276
3481
  <xsl:apply-templates/>
3277
3482
  </fo:block>
@@ -3308,30 +3513,49 @@
3308
3513
  </xsl:otherwise>
3309
3514
  </xsl:choose>
3310
3515
 
3311
- </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
3312
- <fo:block xsl:use-attribute-sets="example-p-style">
3313
-
3314
- <xsl:variable name="num"><xsl:number/></xsl:variable>
3315
- <xsl:if test="$num = 1">
3316
- <xsl:attribute name="margin-left">5mm</xsl:attribute>
3317
- </xsl:if>
3516
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
3517
+
3518
+ <xsl:variable name="element">
3519
+ block
3318
3520
 
3319
- <xsl:apply-templates/>
3320
- </fo:block>
3521
+ </xsl:variable>
3522
+ <xsl:choose>
3523
+ <xsl:when test="normalize-space($element) = 'block'">
3524
+ <fo:block xsl:use-attribute-sets="example-p-style">
3525
+
3526
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
3527
+ <xsl:if test="$num = 1">
3528
+ <xsl:attribute name="margin-left">5mm</xsl:attribute>
3529
+ </xsl:if>
3530
+
3531
+ <xsl:apply-templates/>
3532
+ </fo:block>
3533
+ </xsl:when>
3534
+ <xsl:otherwise>
3535
+ <fo:inline xsl:use-attribute-sets="example-p-style">
3536
+ <xsl:apply-templates/>
3537
+ </fo:inline>
3538
+ </xsl:otherwise>
3539
+ </xsl:choose>
3321
3540
  </xsl:template><xsl:template match="*[local-name() = 'termsource']">
3322
3541
  <fo:block xsl:use-attribute-sets="termsource-style">
3323
3542
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
3324
3543
  <xsl:variable name="termsource_text">
3325
3544
  <xsl:apply-templates/>
3326
3545
  </xsl:variable>
3546
+
3327
3547
  <xsl:choose>
3328
3548
  <xsl:when test="starts-with(normalize-space($termsource_text), '[')">
3329
3549
  <xsl:apply-templates/>
3330
3550
  </xsl:when>
3331
- <xsl:otherwise>
3332
- <xsl:text>[</xsl:text>
3333
- <xsl:apply-templates/>
3334
- <xsl:text>]</xsl:text>
3551
+ <xsl:otherwise>
3552
+
3553
+ <xsl:text>[</xsl:text>
3554
+
3555
+ <xsl:apply-templates/>
3556
+
3557
+ <xsl:text>]</xsl:text>
3558
+
3335
3559
  </xsl:otherwise>
3336
3560
  </xsl:choose>
3337
3561
  </fo:block>
@@ -3352,18 +3576,29 @@
3352
3576
  <xsl:if test="normalize-space() != ''">
3353
3577
  <xsl:value-of select="."/>
3354
3578
  </xsl:if>
3355
- </xsl:template><xsl:template match="*[local-name() = 'quote']">
3579
+ </xsl:template><xsl:template match="*[local-name() = 'quote']">
3580
+ <fo:block-container margin-left="0mm">
3581
+ <xsl:if test="parent::*[local-name() = 'note']">
3582
+ <xsl:if test="not(ancestor::*[local-name() = 'table'])">
3583
+ <xsl:attribute name="margin-left">5mm</xsl:attribute>
3584
+ </xsl:if>
3585
+ </xsl:if>
3586
+
3587
+ <fo:block-container margin-left="0mm">
3356
3588
 
3357
- <fo:block xsl:use-attribute-sets="quote-style">
3358
- <xsl:apply-templates select=".//*[local-name() = 'p']"/>
3359
- </fo:block>
3360
- <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
3361
- <fo:block xsl:use-attribute-sets="quote-source-style">
3362
- <!-- — ISO, ISO 7301:2011, Clause 1 -->
3363
- <xsl:apply-templates select="*[local-name() = 'author']"/>
3364
- <xsl:apply-templates select="*[local-name() = 'source']"/>
3365
- </fo:block>
3366
- </xsl:if>
3589
+ <fo:block xsl:use-attribute-sets="quote-style">
3590
+ <xsl:apply-templates select=".//*[local-name() = 'p']"/>
3591
+ </fo:block>
3592
+ <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
3593
+ <fo:block xsl:use-attribute-sets="quote-source-style">
3594
+ <!-- — ISO, ISO 7301:2011, Clause 1 -->
3595
+ <xsl:apply-templates select="*[local-name() = 'author']"/>
3596
+ <xsl:apply-templates select="*[local-name() = 'source']"/>
3597
+ </fo:block>
3598
+ </xsl:if>
3599
+
3600
+ </fo:block-container>
3601
+ </fo:block-container>
3367
3602
  </xsl:template><xsl:template match="*[local-name() = 'source']">
3368
3603
  <xsl:if test="../*[local-name() = 'author']">
3369
3604
  <xsl:text>, </xsl:text>
@@ -3391,6 +3626,7 @@
3391
3626
  <xsl:if test="@type = 'inline'">
3392
3627
 
3393
3628
 
3629
+
3394
3630
  </xsl:if>
3395
3631
 
3396
3632
 
@@ -3421,6 +3657,7 @@
3421
3657
 
3422
3658
 
3423
3659
 
3660
+
3424
3661
  <xsl:choose>
3425
3662
  <xsl:when test="ancestor::un:annex and $depth &gt;= 2">9.5</xsl:when>
3426
3663
  <xsl:when test="ancestor::un:sections">9.5</xsl:when>
@@ -3554,6 +3791,21 @@
3554
3791
  </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
3555
3792
  <!-- 0xA0 to space replacement -->
3556
3793
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
3794
+ </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
3795
+ <fo:block-container margin-left="0mm">
3796
+ <xsl:if test="parent::*[local-name() = 'note']">
3797
+ <xsl:attribute name="margin-left">
3798
+ <xsl:choose>
3799
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
3800
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
3801
+ </xsl:choose>
3802
+ </xsl:attribute>
3803
+
3804
+ </xsl:if>
3805
+ <fo:block-container margin-left="0mm">
3806
+ <xsl:apply-templates select="." mode="ul_ol"/>
3807
+ </fo:block-container>
3808
+ </fo:block-container>
3557
3809
  </xsl:template><xsl:template match="*[local-name() = 'errata']">
3558
3810
  <!-- <row>
3559
3811
  <date>05-07-2013</date>
@@ -3586,7 +3838,28 @@
3586
3838
  <fo:block><xsl:apply-templates/></fo:block>
3587
3839
  </fo:table-cell>
3588
3840
  </xsl:template><xsl:template name="processBibitem">
3841
+
3842
+
3589
3843
 
3844
+
3845
+ </xsl:template><xsl:template name="processBibitemDocId">
3846
+ <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')]"/>
3847
+ <xsl:choose>
3848
+ <xsl:when test="normalize-space($_doc_ident) != ''">
3849
+ <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"/>
3850
+ <xsl:if test="$type != '' and not(contains($_doc_ident, $type))">
3851
+ <xsl:value-of select="$type"/><xsl:text> </xsl:text>
3852
+ </xsl:if>
3853
+ <xsl:value-of select="$_doc_ident"/>
3854
+ </xsl:when>
3855
+ <xsl:otherwise>
3856
+ <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]/@type"/>
3857
+ <xsl:if test="$type != ''">
3858
+ <xsl:value-of select="$type"/><xsl:text> </xsl:text>
3859
+ </xsl:if>
3860
+ <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
3861
+ </xsl:otherwise>
3862
+ </xsl:choose>
3590
3863
  </xsl:template><xsl:template name="processPersonalAuthor">
3591
3864
  <xsl:choose>
3592
3865
  <xsl:when test="*[local-name() = 'name']/*[local-name() = 'completename']">