metanorma-un 0.9.2 → 0.9.5

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