metanorma-un 0.9.2 → 0.9.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.
@@ -904,7 +904,7 @@
904
904
  <xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
905
905
  </xsl:otherwise>
906
906
  </xsl:choose>
907
- </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:attribute-set name="root-style">
907
+ </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="font_noto_sans">Noto Sans, Noto Sans HK, Noto Sans JP, Noto Sans KR, Noto Sans SC, Noto Sans TC</xsl:variable><xsl:variable name="font_noto_sans_mono">Noto Sans Mono, Noto Sans Mono CJK HK, Noto Sans Mono CJK JP, Noto Sans Mono CJK KR, Noto Sans Mono CJK SC, Noto Sans Mono CJK TC</xsl:variable><xsl:variable name="font_noto_serif">Noto Serif, Noto Serif HK, Noto Serif JP, Noto Serif KR, Noto Serif SC, Noto Serif TC</xsl:variable><xsl:attribute-set name="root-style">
908
908
 
909
909
 
910
910
 
@@ -921,7 +921,9 @@
921
921
 
922
922
 
923
923
 
924
- <xsl:attribute name="font-family">Times New Roman, STIX Two Math, Source Han Sans</xsl:attribute>
924
+
925
+ <xsl:attribute name="font-family">Times New Roman, STIX Two Math, <xsl:value-of select="$font_noto_serif"/></xsl:attribute>
926
+ <xsl:attribute name="font-family-generic">Serif</xsl:attribute>
925
927
  <xsl:attribute name="font-size">10pt</xsl:attribute>
926
928
 
927
929
  </xsl:attribute-set><xsl:template name="insertRootStyle">
@@ -935,17 +937,60 @@
935
937
  </xsl:variable>
936
938
  <xsl:variable name="additional_fonts" select="normalize-space($additional_fonts_)"/>
937
939
 
940
+ <xsl:variable name="font_family_generic" select="$root-style_/root-style/@font-family-generic"/>
941
+
938
942
  <xsl:for-each select="$root-style_/root-style/@*">
943
+
939
944
  <xsl:choose>
940
- <xsl:when test="local-name() = 'font-family' and $additional_fonts != ''">
945
+ <xsl:when test="local-name() = 'font-family-generic'"><!-- skip, it's using for determine 'sans' or 'serif' --></xsl:when>
946
+ <xsl:when test="local-name() = 'font-family'">
947
+
948
+ <xsl:variable name="font_regional_prefix">
949
+ <xsl:choose>
950
+ <xsl:when test="$font_family_generic = 'Sans'">Noto Sans</xsl:when>
951
+ <xsl:otherwise>Noto Serif</xsl:otherwise>
952
+ </xsl:choose>
953
+ </xsl:variable>
954
+
941
955
  <xsl:attribute name="{local-name()}">
942
- <xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
956
+
957
+ <xsl:variable name="font_extended">
958
+ <xsl:choose>
959
+ <xsl:when test="$lang = 'zh'"><xsl:value-of select="$font_regional_prefix"/> SC</xsl:when>
960
+ <xsl:when test="$lang = 'hk'"><xsl:value-of select="$font_regional_prefix"/> HK</xsl:when>
961
+ <xsl:when test="$lang = 'jp'"><xsl:value-of select="$font_regional_prefix"/> JP</xsl:when>
962
+ <xsl:when test="$lang = 'kr'"><xsl:value-of select="$font_regional_prefix"/> KR</xsl:when>
963
+ <xsl:when test="$lang = 'sc'"><xsl:value-of select="$font_regional_prefix"/> SC</xsl:when>
964
+ <xsl:when test="$lang = 'tc'"><xsl:value-of select="$font_regional_prefix"/> TC</xsl:when>
965
+ </xsl:choose>
966
+ </xsl:variable>
967
+ <xsl:if test="normalize-space($font_extended) != ''">
968
+ <xsl:value-of select="$font_regional_prefix"/><xsl:text>, </xsl:text>
969
+ <xsl:value-of select="$font_extended"/><xsl:text>, </xsl:text>
970
+ </xsl:if>
971
+
972
+ <xsl:value-of select="."/>
973
+
974
+ <xsl:if test="$additional_fonts != ''">
975
+ <xsl:text>, </xsl:text><xsl:value-of select="$additional_fonts"/>
976
+ </xsl:if>
943
977
  </xsl:attribute>
944
978
  </xsl:when>
945
979
  <xsl:otherwise>
946
980
  <xsl:copy-of select="."/>
947
981
  </xsl:otherwise>
948
982
  </xsl:choose>
983
+
984
+ <!-- <xsl:choose>
985
+ <xsl:when test="local-name() = 'font-family'">
986
+ <xsl:attribute name="{local-name()}">
987
+ <xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
988
+ </xsl:attribute>
989
+ </xsl:when>
990
+ <xsl:otherwise>
991
+ <xsl:copy-of select="."/>
992
+ </xsl:otherwise>
993
+ </xsl:choose> -->
949
994
  </xsl:for-each>
950
995
  </xsl:template><xsl:attribute-set name="copyright-statement-style">
951
996
 
@@ -1016,13 +1061,14 @@
1016
1061
 
1017
1062
 
1018
1063
 
1064
+
1019
1065
 
1020
1066
 
1021
1067
 
1022
1068
 
1023
1069
 
1024
1070
 
1025
- <xsl:attribute name="font-family">Courier New</xsl:attribute>
1071
+ <xsl:attribute name="font-family">Courier New, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
1026
1072
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
1027
1073
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1028
1074
 
@@ -1034,7 +1080,10 @@
1034
1080
 
1035
1081
  </xsl:attribute-set><xsl:attribute-set name="requirement-style">
1036
1082
 
1083
+
1037
1084
  </xsl:attribute-set><xsl:attribute-set name="requirement-name-style">
1085
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1086
+
1038
1087
 
1039
1088
  </xsl:attribute-set><xsl:attribute-set name="requirement-label-style">
1040
1089
 
@@ -1060,6 +1109,7 @@
1060
1109
 
1061
1110
 
1062
1111
 
1112
+
1063
1113
 
1064
1114
  </xsl:attribute-set><xsl:attribute-set name="example-style">
1065
1115
 
@@ -1075,6 +1125,7 @@
1075
1125
 
1076
1126
 
1077
1127
 
1128
+
1078
1129
  </xsl:attribute-set><xsl:attribute-set name="example-body-style">
1079
1130
 
1080
1131
 
@@ -1094,6 +1145,7 @@
1094
1145
 
1095
1146
 
1096
1147
 
1148
+
1097
1149
 
1098
1150
 
1099
1151
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
@@ -1130,10 +1182,12 @@
1130
1182
 
1131
1183
 
1132
1184
 
1185
+
1133
1186
 
1134
1187
 
1135
1188
  </xsl:attribute-set><xsl:variable name="table-border_">
1136
1189
 
1190
+
1137
1191
  </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
1138
1192
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
1139
1193
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
@@ -1156,6 +1210,7 @@
1156
1210
 
1157
1211
 
1158
1212
 
1213
+
1159
1214
  <xsl:attribute name="margin-bottom">18pt</xsl:attribute>
1160
1215
  <xsl:attribute name="font-size">8pt</xsl:attribute>
1161
1216
 
@@ -1185,6 +1240,7 @@
1185
1240
 
1186
1241
 
1187
1242
 
1243
+
1188
1244
  <xsl:attribute name="border-top">0.5pt solid black</xsl:attribute>
1189
1245
 
1190
1246
 
@@ -1194,6 +1250,7 @@
1194
1250
 
1195
1251
 
1196
1252
 
1253
+
1197
1254
 
1198
1255
 
1199
1256
 
@@ -1280,6 +1337,7 @@
1280
1337
 
1281
1338
 
1282
1339
 
1340
+
1283
1341
  <xsl:attribute name="display-align">before</xsl:attribute>
1284
1342
  <xsl:attribute name="padding-left">0mm</xsl:attribute>
1285
1343
  <xsl:attribute name="padding-top">2mm</xsl:attribute>
@@ -1301,7 +1359,7 @@
1301
1359
 
1302
1360
 
1303
1361
 
1304
-
1362
+
1305
1363
 
1306
1364
 
1307
1365
 
@@ -1316,6 +1374,7 @@
1316
1374
 
1317
1375
 
1318
1376
 
1377
+
1319
1378
  </xsl:attribute-set><xsl:attribute-set name="table-fn-style">
1320
1379
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1321
1380
 
@@ -1324,6 +1383,8 @@
1324
1383
 
1325
1384
 
1326
1385
 
1386
+
1387
+
1327
1388
  </xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
1328
1389
  <xsl:attribute name="font-size">80%</xsl:attribute>
1329
1390
  <xsl:attribute name="padding-right">5mm</xsl:attribute>
@@ -1339,6 +1400,7 @@
1339
1400
 
1340
1401
 
1341
1402
 
1403
+
1342
1404
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1343
1405
 
1344
1406
  </xsl:attribute-set><xsl:attribute-set name="fn-container-body-style">
@@ -1375,6 +1437,7 @@
1375
1437
 
1376
1438
 
1377
1439
 
1440
+
1378
1441
  </xsl:attribute-set><xsl:attribute-set name="dl-name-style">
1379
1442
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1380
1443
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
@@ -1383,6 +1446,7 @@
1383
1446
 
1384
1447
 
1385
1448
 
1449
+
1386
1450
 
1387
1451
 
1388
1452
 
@@ -1425,6 +1489,7 @@
1425
1489
 
1426
1490
 
1427
1491
 
1492
+
1428
1493
 
1429
1494
 
1430
1495
 
@@ -1464,7 +1529,8 @@
1464
1529
 
1465
1530
 
1466
1531
 
1467
-
1532
+
1533
+
1468
1534
 
1469
1535
 
1470
1536
 
@@ -1480,6 +1546,7 @@
1480
1546
  </xsl:attribute-set><xsl:attribute-set name="termnote-style">
1481
1547
 
1482
1548
 
1549
+
1483
1550
 
1484
1551
 
1485
1552
 
@@ -1492,6 +1559,8 @@
1492
1559
 
1493
1560
 
1494
1561
 
1562
+ </xsl:attribute-set><xsl:attribute-set name="termnote-p-style">
1563
+
1495
1564
  </xsl:attribute-set><xsl:attribute-set name="quote-style">
1496
1565
  <xsl:attribute name="margin-left">12mm</xsl:attribute>
1497
1566
  <xsl:attribute name="margin-right">12mm</xsl:attribute>
@@ -1532,6 +1601,7 @@
1532
1601
  </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
1533
1602
 
1534
1603
 
1604
+
1535
1605
 
1536
1606
 
1537
1607
 
@@ -1576,6 +1646,7 @@
1576
1646
 
1577
1647
 
1578
1648
 
1649
+
1579
1650
  </xsl:attribute-set><xsl:attribute-set name="formula-stem-number-style">
1580
1651
  <xsl:attribute name="text-align">right</xsl:attribute>
1581
1652
 
@@ -1598,17 +1669,16 @@
1598
1669
  </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
1599
1670
 
1600
1671
  </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
1672
+ <xsl:attribute name="width">100%</xsl:attribute>
1673
+ <xsl:attribute name="content-height">100%</xsl:attribute>
1674
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
1601
1675
 
1602
1676
 
1603
1677
 
1604
- <xsl:attribute name="width">100%</xsl:attribute>
1605
- <xsl:attribute name="content-height">100%</xsl:attribute>
1606
1678
  <xsl:attribute name="content-width">scale-to-fit</xsl:attribute>
1607
- <xsl:attribute name="scaling">uniform</xsl:attribute>
1608
1679
 
1609
1680
 
1610
-
1611
-
1681
+
1612
1682
  </xsl:attribute-set><xsl:attribute-set name="tt-style">
1613
1683
 
1614
1684
 
@@ -1686,6 +1756,7 @@
1686
1756
 
1687
1757
 
1688
1758
 
1759
+
1689
1760
  <xsl:attribute name="provisional-distance-between-starts">4mm</xsl:attribute>
1690
1761
  <xsl:attribute name="margin-left">-8mm</xsl:attribute>
1691
1762
 
@@ -1751,6 +1822,7 @@
1751
1822
 
1752
1823
 
1753
1824
 
1825
+
1754
1826
  <xsl:attribute name="font-size">60%</xsl:attribute>
1755
1827
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1756
1828
 
@@ -1777,6 +1849,7 @@
1777
1849
 
1778
1850
 
1779
1851
 
1852
+
1780
1853
  <xsl:attribute name="font-size">9pt</xsl:attribute>
1781
1854
  <xsl:attribute name="text-align">justify</xsl:attribute>
1782
1855
  <xsl:attribute name="line-height">125%</xsl:attribute>
@@ -1801,6 +1874,7 @@
1801
1874
 
1802
1875
 
1803
1876
 
1877
+
1804
1878
  <xsl:attribute name="font-size">60%</xsl:attribute>
1805
1879
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1806
1880
  <xsl:attribute name="padding-right">8mm</xsl:attribute>
@@ -1820,6 +1894,7 @@
1820
1894
 
1821
1895
 
1822
1896
 
1897
+
1823
1898
  <xsl:attribute name="border">0.25pt solid black</xsl:attribute>
1824
1899
  <xsl:attribute name="margin-left">-3mm</xsl:attribute>
1825
1900
  <xsl:attribute name="margin-right">-3mm</xsl:attribute>
@@ -1828,6 +1903,9 @@
1828
1903
 
1829
1904
 
1830
1905
  </xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
1906
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1907
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1908
+
1831
1909
 
1832
1910
 
1833
1911
 
@@ -1872,6 +1950,7 @@
1872
1950
 
1873
1951
 
1874
1952
 
1953
+
1875
1954
  <xsl:attribute name="text-align">justify</xsl:attribute>
1876
1955
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1877
1956
  <xsl:attribute name="line-height">122%</xsl:attribute>
@@ -1907,6 +1986,10 @@
1907
1986
 
1908
1987
 
1909
1988
 
1989
+ <!-- <xsl:if test="$namespace = 'ieee'">
1990
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1991
+ <xsl:attribute name="provisional-distance-between-starts">9.5mm</xsl:attribute>
1992
+ </xsl:if> -->
1910
1993
 
1911
1994
 
1912
1995
 
@@ -1933,13 +2016,16 @@
1933
2016
 
1934
2017
 
1935
2018
 
2019
+
1936
2020
  </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
1937
2021
 
1938
2022
 
2023
+
1939
2024
  </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-body-style">
1940
2025
 
1941
2026
 
1942
2027
 
2028
+
1943
2029
  </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-style">
1944
2030
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1945
2031
  <xsl:attribute name="font-size">65%</xsl:attribute>
@@ -1959,6 +2045,7 @@
1959
2045
 
1960
2046
 
1961
2047
 
2048
+
1962
2049
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1963
2050
 
1964
2051
  </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-number-style">
@@ -1979,6 +2066,7 @@
1979
2066
 
1980
2067
 
1981
2068
 
2069
+
1982
2070
  <xsl:attribute name="font-size">60%</xsl:attribute>
1983
2071
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1984
2072
 
@@ -1997,6 +2085,7 @@
1997
2085
 
1998
2086
 
1999
2087
 
2088
+
2000
2089
  </xsl:attribute-set><xsl:attribute-set name="references-non-normative-style">
2001
2090
 
2002
2091
 
@@ -2428,6 +2517,8 @@
2428
2517
 
2429
2518
 
2430
2519
 
2520
+
2521
+
2431
2522
 
2432
2523
 
2433
2524
 
@@ -2472,6 +2563,8 @@
2472
2563
 
2473
2564
 
2474
2565
 
2566
+
2567
+
2475
2568
  </xsl:element>
2476
2569
  </xsl:variable>
2477
2570
 
@@ -2559,6 +2652,14 @@
2559
2652
 
2560
2653
 
2561
2654
 
2655
+ <xsl:if test="*[local-name()='bookmark']"> <!-- special case: table/bookmark -->
2656
+ <fo:block keep-with-previous="always" line-height="0.1">
2657
+ <xsl:for-each select="*[local-name()='bookmark']">
2658
+ <xsl:call-template name="bookmark"/>
2659
+ </xsl:for-each>
2660
+ </fo:block>
2661
+ </xsl:if>
2662
+
2562
2663
  </fo:block-container>
2563
2664
  </xsl:variable>
2564
2665
 
@@ -2614,23 +2715,29 @@
2614
2715
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
2615
2716
  <xsl:param name="continued"/>
2616
2717
  <xsl:if test="normalize-space() != ''">
2617
- <fo:block xsl:use-attribute-sets="table-name-style">
2618
-
2619
-
2620
-
2621
-
2718
+
2719
+
2622
2720
 
2623
- <xsl:choose>
2624
- <xsl:when test="$continued = 'true'">
2721
+ <fo:block xsl:use-attribute-sets="table-name-style">
2722
+
2625
2723
 
2626
- </xsl:when>
2627
- <xsl:otherwise>
2628
- <xsl:apply-templates/>
2629
- </xsl:otherwise>
2630
- </xsl:choose>
2631
-
2724
+
2725
+
2726
+
2727
+ <xsl:choose>
2728
+ <xsl:when test="$continued = 'true'">
2729
+
2730
+ </xsl:when>
2731
+ <xsl:otherwise>
2732
+ <xsl:apply-templates/>
2733
+ </xsl:otherwise>
2734
+ </xsl:choose>
2735
+
2736
+
2737
+ </fo:block>
2738
+
2632
2739
 
2633
- </fo:block>
2740
+
2634
2741
  </xsl:if>
2635
2742
  </xsl:template><xsl:template name="calculate-columns-numbers">
2636
2743
  <xsl:param name="table-row"/>
@@ -3028,12 +3135,18 @@
3028
3135
  <fo:table-row>
3029
3136
  <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">
3030
3137
 
3031
- <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
3032
- <xsl:with-param name="continued">true</xsl:with-param>
3033
- </xsl:apply-templates>
3034
3138
 
3035
3139
 
3036
3140
 
3141
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
3142
+ <xsl:with-param name="continued">true</xsl:with-param>
3143
+ </xsl:apply-templates>
3144
+
3145
+
3146
+
3147
+
3148
+
3149
+
3037
3150
  </fo:table-cell>
3038
3151
  </fo:table-row>
3039
3152
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
@@ -3073,77 +3186,91 @@
3073
3186
  </xsl:choose>
3074
3187
  </xsl:variable>
3075
3188
 
3076
- <fo:table keep-with-previous="always">
3077
- <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3078
- <xsl:variable name="name" select="local-name()"/>
3189
+
3190
+ <xsl:variable name="tableWithNotesAndFootnotes">
3191
+
3192
+ <fo:table keep-with-previous="always">
3193
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3194
+ <xsl:variable name="name" select="local-name()"/>
3195
+ <xsl:choose>
3196
+ <xsl:when test="$name = 'border-top'">
3197
+ <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
3198
+ </xsl:when>
3199
+ <xsl:when test="$name = 'border'">
3200
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3201
+ <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3202
+ </xsl:when>
3203
+ <xsl:otherwise>
3204
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3205
+ </xsl:otherwise>
3206
+ </xsl:choose>
3207
+ </xsl:for-each>
3208
+
3209
+
3210
+
3079
3211
  <xsl:choose>
3080
- <xsl:when test="$name = 'border-top'">
3081
- <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
3082
- </xsl:when>
3083
- <xsl:when test="$name = 'border'">
3084
- <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3085
- <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3212
+ <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
3213
+ <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
3214
+ <fo:table-column column-width="{@width}"/>
3215
+ </xsl:for-each>
3086
3216
  </xsl:when>
3087
3217
  <xsl:otherwise>
3088
- <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3218
+ <!-- $colwidths=<xsl:copy-of select="$colwidths"/> -->
3219
+ <xsl:call-template name="insertTableColumnWidth">
3220
+ <xsl:with-param name="colwidths" select="$colwidths"/>
3221
+ </xsl:call-template>
3089
3222
  </xsl:otherwise>
3090
3223
  </xsl:choose>
3091
- </xsl:for-each>
3092
-
3093
-
3094
-
3095
- <xsl:choose>
3096
- <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
3097
- <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
3098
- <fo:table-column column-width="{@width}"/>
3099
- </xsl:for-each>
3100
- </xsl:when>
3101
- <xsl:otherwise>
3102
- <!-- $colwidths=<xsl:copy-of select="$colwidths"/> -->
3103
- <xsl:call-template name="insertTableColumnWidth">
3104
- <xsl:with-param name="colwidths" select="$colwidths"/>
3105
- </xsl:call-template>
3106
- </xsl:otherwise>
3107
- </xsl:choose>
3108
-
3109
- <fo:table-body>
3110
- <fo:table-row>
3111
- <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
3112
-
3113
-
3224
+
3225
+ <fo:table-body>
3226
+ <fo:table-row>
3227
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
3228
+
3229
+
3114
3230
 
3115
-
3116
-
3117
- <!-- fn will be processed inside 'note' processing -->
3118
-
3119
-
3120
-
3121
-
3122
-
3123
-
3124
- <!-- for BSI (not PAS) display Notes before footnotes -->
3125
-
3126
-
3127
- <!-- except gb and bsi -->
3128
-
3129
- <xsl:apply-templates select="../*[local-name()='note']"/>
3130
3231
 
3131
-
3132
-
3133
- <!-- horizontal row separator -->
3134
-
3135
-
3136
- <!-- fn processing -->
3137
- <xsl:call-template name="table_fn_display"/>
3138
-
3139
- <!-- for PAS display Notes after footnotes -->
3140
-
3141
-
3142
- </fo:table-cell>
3143
- </fo:table-row>
3144
- </fo:table-body>
3145
-
3146
- </fo:table>
3232
+
3233
+ <!-- fn will be processed inside 'note' processing -->
3234
+
3235
+
3236
+
3237
+
3238
+
3239
+
3240
+ <!-- for BSI (not PAS) display Notes before footnotes -->
3241
+
3242
+
3243
+ <!-- except gb and bsi -->
3244
+
3245
+ <xsl:apply-templates select="../*[local-name()='note']"/>
3246
+
3247
+
3248
+
3249
+ <!-- horizontal row separator -->
3250
+
3251
+
3252
+ <!-- fn processing -->
3253
+
3254
+ <xsl:call-template name="table_fn_display"/>
3255
+
3256
+
3257
+
3258
+ <!-- for PAS display Notes after footnotes -->
3259
+
3260
+
3261
+ </fo:table-cell>
3262
+ </fo:table-row>
3263
+ </fo:table-body>
3264
+
3265
+ </fo:table>
3266
+ </xsl:variable>
3267
+
3268
+ <xsl:if test="normalize-space($tableWithNotesAndFootnotes) != ''">
3269
+ <xsl:copy-of select="$tableWithNotesAndFootnotes"/>
3270
+ </xsl:if>
3271
+
3272
+
3273
+
3147
3274
  </xsl:if>
3148
3275
  </xsl:template><xsl:template match="*[local-name()='tbody']">
3149
3276
 
@@ -3232,6 +3359,9 @@
3232
3359
 
3233
3360
 
3234
3361
 
3362
+
3363
+
3364
+
3235
3365
 
3236
3366
 
3237
3367
  <xsl:call-template name="setTableRowAttributes"/>
@@ -3251,6 +3381,8 @@
3251
3381
 
3252
3382
 
3253
3383
 
3384
+
3385
+
3254
3386
  <xsl:call-template name="setTableRowAttributes"/>
3255
3387
  <xsl:apply-templates/>
3256
3388
  </fo:table-row>
@@ -3336,6 +3468,8 @@
3336
3468
 
3337
3469
 
3338
3470
 
3471
+
3472
+
3339
3473
 
3340
3474
 
3341
3475
 
@@ -3411,7 +3545,11 @@
3411
3545
 
3412
3546
  <xsl:variable name="gen_id" select="generate-id(.)"/>
3413
3547
  <xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
3414
- <xsl:variable name="reference" select="@reference"/>
3548
+ <xsl:variable name="reference_">
3549
+ <xsl:value-of select="@reference"/>
3550
+ <xsl:if test="normalize-space(@reference) = ''"><xsl:value-of select="$gen_id"/></xsl:if>
3551
+ </xsl:variable>
3552
+ <xsl:variable name="reference" select="normalize-space($reference_)"/>
3415
3553
  <!-- fn sequence number in document -->
3416
3554
  <xsl:variable name="current_fn_number">
3417
3555
  <xsl:choose>
@@ -3431,6 +3569,7 @@
3431
3569
  <xsl:variable name="footnote_inline">
3432
3570
  <fo:inline xsl:use-attribute-sets="fn-num-style">
3433
3571
 
3572
+
3434
3573
  <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
3435
3574
  <xsl:value-of select="$current_fn_number_text"/>
3436
3575
  </fo:basic-link>
@@ -3452,8 +3591,12 @@
3452
3591
  <fo:block xsl:use-attribute-sets="fn-body-style">
3453
3592
 
3454
3593
 
3594
+
3455
3595
  <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
3456
3596
 
3597
+
3598
+
3599
+
3457
3600
  <xsl:value-of select="$current_fn_number_text"/>
3458
3601
  </fo:inline>
3459
3602
  <xsl:apply-templates/>
@@ -3486,7 +3629,7 @@
3486
3629
  <xsl:copy-of select="node()"/>
3487
3630
  </fn>
3488
3631
  </xsl:for-each>
3489
- <xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='preface']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='sections']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='annex'] | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*">
3632
+ <xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='boilerplate']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='preface']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='sections']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='annex'] | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*">
3490
3633
  <xsl:sort select="@displayorder" data-type="number"/>
3491
3634
  <xsl:for-each select=".//*[local-name() = 'bibitem'][ancestor::*[local-name() = 'references']]/*[local-name() = 'note'] | .//*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
3492
3635
  <!-- copy unique fn -->
@@ -5127,6 +5270,13 @@
5127
5270
  </xsl:variable>
5128
5271
  <fo:inline xsl:use-attribute-sets="link-style">
5129
5272
 
5273
+ <xsl:if test="starts-with(normalize-space(@target), 'mailto:')">
5274
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5275
+ </xsl:if>
5276
+
5277
+
5278
+
5279
+
5130
5280
 
5131
5281
 
5132
5282
 
@@ -5354,6 +5504,7 @@
5354
5504
 
5355
5505
 
5356
5506
 
5507
+
5357
5508
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
5358
5509
  <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
5359
5510
  <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
@@ -5375,6 +5526,7 @@
5375
5526
  </xsl:when>
5376
5527
  <xsl:otherwise>
5377
5528
 
5529
+
5378
5530
  <xsl:text>:</xsl:text>
5379
5531
 
5380
5532
 
@@ -5394,6 +5546,7 @@
5394
5546
  </xsl:when>
5395
5547
  <xsl:otherwise>
5396
5548
 
5549
+
5397
5550
 
5398
5551
  <xsl:text> – </xsl:text>
5399
5552
 
@@ -5405,7 +5558,19 @@
5405
5558
  <xsl:value-of select="$suffix"/>
5406
5559
  </xsl:if>
5407
5560
  </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
5408
- <fo:inline><xsl:apply-templates/></fo:inline>
5561
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
5562
+ <xsl:choose>
5563
+ <xsl:when test="$num = 1"> <!-- first paragraph renders in the same line as titlenote name -->
5564
+ <fo:inline xsl:use-attribute-sets="termnote-p-style">
5565
+ <xsl:apply-templates/>
5566
+ </fo:inline>
5567
+ </xsl:when>
5568
+ <xsl:otherwise>
5569
+ <fo:block xsl:use-attribute-sets="termnote-p-style">
5570
+ <xsl:apply-templates/>
5571
+ </fo:block>
5572
+ </xsl:otherwise>
5573
+ </xsl:choose>
5409
5574
  </xsl:template><xsl:template match="*[local-name() = 'terms']">
5410
5575
  <!-- <xsl:message>'terms' <xsl:number/> processing...</xsl:message> -->
5411
5576
  <fo:block id="{@id}">
@@ -6160,6 +6325,9 @@
6160
6325
  <fo:block xsl:use-attribute-sets="figure-name-style">
6161
6326
 
6162
6327
 
6328
+
6329
+
6330
+
6163
6331
  <xsl:apply-templates/>
6164
6332
  </fo:block>
6165
6333
  </xsl:if>
@@ -6220,9 +6388,9 @@
6220
6388
  <xsl:apply-templates/>
6221
6389
  </xsl:otherwise>
6222
6390
  </xsl:choose>
6223
- </xsl:template><xsl:template match="*[local-name() = 'fn']" mode="contents"/><xsl:template match="*[local-name() = 'fn']" mode="bookmarks"/><xsl:template match="*[local-name() = 'fn']" mode="contents_item"/><xsl:template match="*[local-name() = 'xref']" mode="contents">
6391
+ </xsl:template><xsl:template match="*[local-name() = 'fn']" mode="contents"/><xsl:template match="*[local-name() = 'fn']" mode="bookmarks"/><xsl:template match="*[local-name() = 'fn']" mode="contents_item"/><xsl:template match="*[local-name() = 'xref'] | *[local-name() = 'eref']" mode="contents">
6224
6392
  <xsl:value-of select="."/>
6225
- </xsl:template><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
6393
+ </xsl:template><xsl:template match="*[local-name() = 'review']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
6226
6394
  <xsl:text> </xsl:text>
6227
6395
  </xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
6228
6396
  <xsl:copy>
@@ -6296,6 +6464,9 @@
6296
6464
  <!-- 9 -->
6297
6465
 
6298
6466
 
6467
+ <!-- <xsl:if test="$namespace = 'ieee'">
6468
+ <xsl:if test="$current_template = 'standard'">8</xsl:if>
6469
+ </xsl:if> -->
6299
6470
 
6300
6471
 
6301
6472
 
@@ -6740,10 +6911,14 @@
6740
6911
  </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'p']">
6741
6912
  <xsl:variable name="element">inline
6742
6913
 
6914
+
6743
6915
  </xsl:variable>
6744
6916
  <xsl:choose>
6745
6917
  <xsl:when test="contains($element, 'block')">
6746
6918
  <fo:block xsl:use-attribute-sets="example-p-style">
6919
+
6920
+
6921
+
6747
6922
  <xsl:apply-templates/>
6748
6923
  </fo:block>
6749
6924
  </xsl:when>
@@ -6851,6 +7026,7 @@
6851
7026
  </xsl:if>
6852
7027
  <fo:block xsl:use-attribute-sets="example-p-style">
6853
7028
 
7029
+
6854
7030
  <xsl:if test="$num = 1">
6855
7031
  <xsl:attribute name="margin-left">5mm</xsl:attribute>
6856
7032
  </xsl:if>
@@ -7011,6 +7187,8 @@
7011
7187
 
7012
7188
 
7013
7189
 
7190
+
7191
+
7014
7192
  <fo:basic-link fox:alt-text="{@citeas}">
7015
7193
  <xsl:if test="normalize-space(@citeas) = ''">
7016
7194
  <xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
@@ -7075,6 +7253,7 @@
7075
7253
 
7076
7254
 
7077
7255
 
7256
+
7078
7257
  <xsl:choose>
7079
7258
  <xsl:when test="ancestor::un:sections and $depth = 1">12</xsl:when>
7080
7259
  <xsl:when test="ancestor::un:sections">8</xsl:when>
@@ -7433,6 +7612,8 @@
7433
7612
 
7434
7613
 
7435
7614
 
7615
+
7616
+
7436
7617
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
7437
7618
  <xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
7438
7619
  <xsl:call-template name="append_add-style"/>
@@ -7617,7 +7798,7 @@
7617
7798
  </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']/text()">
7618
7799
  <!-- to split by '_' and other chars -->
7619
7800
  <xsl:call-template name="add-zero-spaces-java"/>
7620
- </xsl:template><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
7801
+ </xsl:template><xsl:template match="*[local-name() = 'table']/*[local-name() = 'bookmark']" priority="2"/><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
7621
7802
  <!-- <fo:inline id="{@id}" font-size="1pt"/> -->
7622
7803
  <fo:inline id="{@id}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:inline>
7623
7804
  <!-- we need to add zero-width space, otherwise this fo:inline is missing in IF xml -->
@@ -7688,7 +7869,7 @@
7688
7869
  </fo:block>
7689
7870
 
7690
7871
 
7691
- </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
7872
+ </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" name="bibitem_non_normative" priority="2">
7692
7873
 
7693
7874
 
7694
7875
  <fo:block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-style">
@@ -8011,12 +8192,16 @@
8011
8192
  <fo:block-container id="{@id}" xsl:use-attribute-sets="admonition-style">
8012
8193
 
8013
8194
 
8195
+
8196
+
8014
8197
 
8015
8198
 
8016
8199
 
8017
8200
  <fo:block-container xsl:use-attribute-sets="admonition-container-style">
8018
8201
 
8019
8202
 
8203
+
8204
+
8020
8205
  <fo:block-container margin-left="0mm" margin-right="0mm">
8021
8206
  <fo:block>
8022
8207
  <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
@@ -8224,6 +8409,8 @@
8224
8409
  </xsl:when>
8225
8410
  <xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
8226
8411
  </xsl:choose>
8412
+ </xsl:template><xsl:template match="*[local-name() = 'lang_none']">
8413
+ <fo:inline xml:lang="none"><xsl:value-of select="."/></fo:inline>
8227
8414
  </xsl:template><xsl:template name="printEdition">
8228
8415
  <xsl:variable name="edition_i18n" select="normalize-space((//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) != ''])"/>
8229
8416
  <xsl:text> </xsl:text>
@@ -8330,8 +8517,30 @@
8330
8517
  </xsl:when>
8331
8518
  <xsl:otherwise><xsl:value-of select="$monthStr_"/></xsl:otherwise>
8332
8519
  </xsl:choose>
8520
+ </xsl:template><xsl:template name="getMonthLocalizedByNum">
8521
+ <xsl:param name="num"/>
8522
+ <xsl:variable name="monthStr">
8523
+ <xsl:choose>
8524
+ <xsl:when test="$num = '01'">january</xsl:when>
8525
+ <xsl:when test="$num = '02'">february</xsl:when>
8526
+ <xsl:when test="$num = '03'">march</xsl:when>
8527
+ <xsl:when test="$num = '04'">april</xsl:when>
8528
+ <xsl:when test="$num = '05'">may</xsl:when>
8529
+ <xsl:when test="$num = '06'">june</xsl:when>
8530
+ <xsl:when test="$num = '07'">july</xsl:when>
8531
+ <xsl:when test="$num = '08'">august</xsl:when>
8532
+ <xsl:when test="$num = '09'">september</xsl:when>
8533
+ <xsl:when test="$num = '10'">october</xsl:when>
8534
+ <xsl:when test="$num = '11'">november</xsl:when>
8535
+ <xsl:when test="$num = '12'">december</xsl:when>
8536
+ </xsl:choose>
8537
+ </xsl:variable>
8538
+ <xsl:call-template name="getLocalizedString">
8539
+ <xsl:with-param name="key">month_<xsl:value-of select="$monthStr"/></xsl:with-param>
8540
+ </xsl:call-template>
8333
8541
  </xsl:template><xsl:template name="insertKeywords">
8334
8542
  <xsl:param name="sorting" select="'true'"/>
8543
+ <xsl:param name="meta" select="'false'"/>
8335
8544
  <xsl:param name="charAtEnd" select="'.'"/>
8336
8545
  <xsl:param name="charDelim" select="', '"/>
8337
8546
  <xsl:choose>
@@ -8339,6 +8548,7 @@
8339
8548
  <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
8340
8549
  <xsl:sort data-type="text" order="ascending"/>
8341
8550
  <xsl:call-template name="insertKeyword">
8551
+ <xsl:with-param name="meta" select="$meta"/>
8342
8552
  <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
8343
8553
  <xsl:with-param name="charDelim" select="$charDelim"/>
8344
8554
  </xsl:call-template>
@@ -8347,6 +8557,7 @@
8347
8557
  <xsl:otherwise>
8348
8558
  <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
8349
8559
  <xsl:call-template name="insertKeyword">
8560
+ <xsl:with-param name="meta" select="$meta"/>
8350
8561
  <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
8351
8562
  <xsl:with-param name="charDelim" select="$charDelim"/>
8352
8563
  </xsl:call-template>
@@ -8356,7 +8567,15 @@
8356
8567
  </xsl:template><xsl:template name="insertKeyword">
8357
8568
  <xsl:param name="charAtEnd"/>
8358
8569
  <xsl:param name="charDelim"/>
8359
- <xsl:apply-templates/>
8570
+ <xsl:param name="meta"/>
8571
+ <xsl:choose>
8572
+ <xsl:when test="$meta = 'true'">
8573
+ <xsl:value-of select="."/>
8574
+ </xsl:when>
8575
+ <xsl:otherwise>
8576
+ <xsl:apply-templates/>
8577
+ </xsl:otherwise>
8578
+ </xsl:choose>
8360
8579
  <xsl:choose>
8361
8580
  <xsl:when test="position() != last()"><xsl:value-of select="$charDelim"/></xsl:when>
8362
8581
  <xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
@@ -8401,13 +8620,15 @@
8401
8620
  <dc:description>
8402
8621
  <xsl:variable name="abstract">
8403
8622
 
8404
- <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
8623
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()[not(ancestor::*[local-name() = 'title'])]"/>
8405
8624
 
8406
8625
  </xsl:variable>
8407
8626
  <xsl:value-of select="normalize-space($abstract)"/>
8408
8627
  </dc:description>
8409
8628
  <pdf:Keywords>
8410
- <xsl:call-template name="insertKeywords"/>
8629
+ <xsl:call-template name="insertKeywords">
8630
+ <xsl:with-param name="meta">true</xsl:with-param>
8631
+ </xsl:call-template>
8411
8632
  </pdf:Keywords>
8412
8633
  </rdf:Description>
8413
8634
  <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
@@ -8523,6 +8744,7 @@
8523
8744
 
8524
8745
 
8525
8746
 
8747
+
8526
8748
  <xsl:value-of select="document('')//*/namespace::un"/>
8527
8749
 
8528
8750