metanorma-iho 0.6.2 → 0.6.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -928,7 +928,7 @@
928
928
  <xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
929
929
  </xsl:otherwise>
930
930
  </xsl:choose>
931
- </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">
931
+ </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">
932
932
 
933
933
 
934
934
 
@@ -936,7 +936,9 @@
936
936
 
937
937
 
938
938
 
939
- <xsl:attribute name="font-family">Arial, Cambria Math</xsl:attribute>
939
+
940
+ <xsl:attribute name="font-family">Arial, Cambria Math, <xsl:value-of select="$font_noto_sans"/></xsl:attribute>
941
+ <xsl:attribute name="font-family-generic">Sans</xsl:attribute>
940
942
  <xsl:attribute name="font-size">12pt</xsl:attribute>
941
943
 
942
944
 
@@ -959,17 +961,60 @@
959
961
  </xsl:variable>
960
962
  <xsl:variable name="additional_fonts" select="normalize-space($additional_fonts_)"/>
961
963
 
964
+ <xsl:variable name="font_family_generic" select="$root-style_/root-style/@font-family-generic"/>
965
+
962
966
  <xsl:for-each select="$root-style_/root-style/@*">
967
+
963
968
  <xsl:choose>
964
- <xsl:when test="local-name() = 'font-family' and $additional_fonts != ''">
969
+ <xsl:when test="local-name() = 'font-family-generic'"><!-- skip, it's using for determine 'sans' or 'serif' --></xsl:when>
970
+ <xsl:when test="local-name() = 'font-family'">
971
+
972
+ <xsl:variable name="font_regional_prefix">
973
+ <xsl:choose>
974
+ <xsl:when test="$font_family_generic = 'Sans'">Noto Sans</xsl:when>
975
+ <xsl:otherwise>Noto Serif</xsl:otherwise>
976
+ </xsl:choose>
977
+ </xsl:variable>
978
+
965
979
  <xsl:attribute name="{local-name()}">
966
- <xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
980
+
981
+ <xsl:variable name="font_extended">
982
+ <xsl:choose>
983
+ <xsl:when test="$lang = 'zh'"><xsl:value-of select="$font_regional_prefix"/> SC</xsl:when>
984
+ <xsl:when test="$lang = 'hk'"><xsl:value-of select="$font_regional_prefix"/> HK</xsl:when>
985
+ <xsl:when test="$lang = 'jp'"><xsl:value-of select="$font_regional_prefix"/> JP</xsl:when>
986
+ <xsl:when test="$lang = 'kr'"><xsl:value-of select="$font_regional_prefix"/> KR</xsl:when>
987
+ <xsl:when test="$lang = 'sc'"><xsl:value-of select="$font_regional_prefix"/> SC</xsl:when>
988
+ <xsl:when test="$lang = 'tc'"><xsl:value-of select="$font_regional_prefix"/> TC</xsl:when>
989
+ </xsl:choose>
990
+ </xsl:variable>
991
+ <xsl:if test="normalize-space($font_extended) != ''">
992
+ <xsl:value-of select="$font_regional_prefix"/><xsl:text>, </xsl:text>
993
+ <xsl:value-of select="$font_extended"/><xsl:text>, </xsl:text>
994
+ </xsl:if>
995
+
996
+ <xsl:value-of select="."/>
997
+
998
+ <xsl:if test="$additional_fonts != ''">
999
+ <xsl:text>, </xsl:text><xsl:value-of select="$additional_fonts"/>
1000
+ </xsl:if>
967
1001
  </xsl:attribute>
968
1002
  </xsl:when>
969
1003
  <xsl:otherwise>
970
1004
  <xsl:copy-of select="."/>
971
1005
  </xsl:otherwise>
972
1006
  </xsl:choose>
1007
+
1008
+ <!-- <xsl:choose>
1009
+ <xsl:when test="local-name() = 'font-family'">
1010
+ <xsl:attribute name="{local-name()}">
1011
+ <xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
1012
+ </xsl:attribute>
1013
+ </xsl:when>
1014
+ <xsl:otherwise>
1015
+ <xsl:copy-of select="."/>
1016
+ </xsl:otherwise>
1017
+ </xsl:choose> -->
973
1018
  </xsl:for-each>
974
1019
  </xsl:template><xsl:attribute-set name="copyright-statement-style">
975
1020
 
@@ -1040,7 +1085,8 @@
1040
1085
 
1041
1086
 
1042
1087
 
1043
- <xsl:attribute name="font-family">Fira Code</xsl:attribute>
1088
+
1089
+ <xsl:attribute name="font-family">Fira Code, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
1044
1090
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1045
1091
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1046
1092
  <xsl:attribute name="line-height">113%</xsl:attribute>
@@ -1062,7 +1108,10 @@
1062
1108
 
1063
1109
  </xsl:attribute-set><xsl:attribute-set name="requirement-style">
1064
1110
 
1111
+
1065
1112
  </xsl:attribute-set><xsl:attribute-set name="requirement-name-style">
1113
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1114
+
1066
1115
 
1067
1116
  </xsl:attribute-set><xsl:attribute-set name="requirement-label-style">
1068
1117
 
@@ -1086,6 +1135,7 @@
1086
1135
 
1087
1136
 
1088
1137
 
1138
+
1089
1139
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1090
1140
  <xsl:attribute name="margin-top">8pt</xsl:attribute>
1091
1141
  <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
@@ -1100,6 +1150,7 @@
1100
1150
 
1101
1151
 
1102
1152
 
1153
+
1103
1154
  <xsl:attribute name="font-size">11pt</xsl:attribute>
1104
1155
  <xsl:attribute name="margin-top">8pt</xsl:attribute>
1105
1156
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
@@ -1125,6 +1176,7 @@
1125
1176
 
1126
1177
 
1127
1178
 
1179
+
1128
1180
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1129
1181
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1130
1182
  <xsl:attribute name="font-weight">bold</xsl:attribute>
@@ -1166,10 +1218,12 @@
1166
1218
 
1167
1219
  <xsl:attribute name="padding-right">5mm</xsl:attribute>
1168
1220
 
1221
+
1169
1222
 
1170
1223
 
1171
1224
  </xsl:attribute-set><xsl:variable name="table-border_">
1172
1225
 
1226
+
1173
1227
  </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
1174
1228
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
1175
1229
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
@@ -1181,6 +1235,7 @@
1181
1235
 
1182
1236
 
1183
1237
 
1238
+
1184
1239
  <xsl:attribute name="space-after">18pt</xsl:attribute>
1185
1240
 
1186
1241
 
@@ -1209,6 +1264,7 @@
1209
1264
 
1210
1265
 
1211
1266
 
1267
+
1212
1268
 
1213
1269
 
1214
1270
 
@@ -1229,6 +1285,7 @@
1229
1285
 
1230
1286
 
1231
1287
 
1288
+
1232
1289
 
1233
1290
  <xsl:attribute name="text-align">center</xsl:attribute>
1234
1291
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
@@ -1297,6 +1354,7 @@
1297
1354
 
1298
1355
 
1299
1356
 
1357
+
1300
1358
  <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
1301
1359
 
1302
1360
 
@@ -1318,7 +1376,7 @@
1318
1376
 
1319
1377
 
1320
1378
 
1321
-
1379
+
1322
1380
 
1323
1381
 
1324
1382
 
@@ -1331,6 +1389,7 @@
1331
1389
 
1332
1390
 
1333
1391
 
1392
+
1334
1393
  <xsl:attribute name="font-size">12pt</xsl:attribute>
1335
1394
 
1336
1395
 
@@ -1343,6 +1402,8 @@
1343
1402
 
1344
1403
 
1345
1404
 
1405
+
1406
+
1346
1407
  </xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
1347
1408
  <xsl:attribute name="font-size">80%</xsl:attribute>
1348
1409
  <xsl:attribute name="padding-right">5mm</xsl:attribute>
@@ -1353,6 +1414,7 @@
1353
1414
 
1354
1415
 
1355
1416
 
1417
+
1356
1418
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1357
1419
 
1358
1420
 
@@ -1387,6 +1449,7 @@
1387
1449
 
1388
1450
 
1389
1451
 
1452
+
1390
1453
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
1391
1454
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1392
1455
 
@@ -1403,6 +1466,7 @@
1403
1466
 
1404
1467
 
1405
1468
 
1469
+
1406
1470
  <xsl:attribute name="font-weight">normal</xsl:attribute>
1407
1471
 
1408
1472
 
@@ -1446,6 +1510,7 @@
1446
1510
 
1447
1511
 
1448
1512
 
1513
+
1449
1514
 
1450
1515
  <xsl:attribute name="font-size">11pt</xsl:attribute>
1451
1516
  <xsl:attribute name="margin-top">8pt</xsl:attribute>
@@ -1491,7 +1556,8 @@
1491
1556
 
1492
1557
 
1493
1558
 
1494
-
1559
+
1560
+
1495
1561
 
1496
1562
  <xsl:attribute name="margin-top">8pt</xsl:attribute>
1497
1563
  <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
@@ -1507,6 +1573,7 @@
1507
1573
  </xsl:attribute-set><xsl:attribute-set name="termnote-style">
1508
1574
 
1509
1575
 
1576
+
1510
1577
 
1511
1578
 
1512
1579
  <xsl:attribute name="font-size">10pt</xsl:attribute>
@@ -1522,6 +1589,8 @@
1522
1589
 
1523
1590
 
1524
1591
 
1592
+ </xsl:attribute-set><xsl:attribute-set name="termnote-p-style">
1593
+
1525
1594
  </xsl:attribute-set><xsl:attribute-set name="quote-style">
1526
1595
  <xsl:attribute name="margin-left">12mm</xsl:attribute>
1527
1596
  <xsl:attribute name="margin-right">12mm</xsl:attribute>
@@ -1572,6 +1641,7 @@
1572
1641
  </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
1573
1642
 
1574
1643
 
1644
+
1575
1645
 
1576
1646
 
1577
1647
 
@@ -1619,6 +1689,7 @@
1619
1689
 
1620
1690
 
1621
1691
 
1692
+
1622
1693
  </xsl:attribute-set><xsl:attribute-set name="formula-stem-number-style">
1623
1694
  <xsl:attribute name="text-align">right</xsl:attribute>
1624
1695
 
@@ -1637,20 +1708,20 @@
1637
1708
  </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
1638
1709
 
1639
1710
  </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
1711
+ <xsl:attribute name="width">100%</xsl:attribute>
1712
+ <xsl:attribute name="content-height">100%</xsl:attribute>
1713
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
1640
1714
 
1641
1715
 
1642
- <xsl:attribute name="width">100%</xsl:attribute>
1643
1716
  <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
1644
- <xsl:attribute name="scaling">uniform</xsl:attribute>
1645
1717
 
1646
1718
 
1647
1719
 
1648
-
1649
-
1720
+
1650
1721
  </xsl:attribute-set><xsl:attribute-set name="tt-style">
1651
1722
 
1652
1723
 
1653
- <xsl:attribute name="font-family">Courier New</xsl:attribute>
1724
+ <xsl:attribute name="font-family">Courier New, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
1654
1725
 
1655
1726
 
1656
1727
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
@@ -1720,6 +1791,7 @@
1720
1791
 
1721
1792
 
1722
1793
 
1794
+
1723
1795
  <xsl:attribute name="provisional-distance-between-starts">6mm</xsl:attribute>
1724
1796
 
1725
1797
 
@@ -1790,6 +1862,7 @@
1790
1862
 
1791
1863
 
1792
1864
 
1865
+
1793
1866
  <xsl:attribute name="font-size">70%</xsl:attribute>
1794
1867
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1795
1868
 
@@ -1814,6 +1887,7 @@
1814
1887
 
1815
1888
 
1816
1889
 
1890
+
1817
1891
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1818
1892
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1819
1893
 
@@ -1837,6 +1911,7 @@
1837
1911
 
1838
1912
 
1839
1913
 
1914
+
1840
1915
  <xsl:attribute name="font-size">60%</xsl:attribute>
1841
1916
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1842
1917
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
@@ -1858,6 +1933,7 @@
1858
1933
 
1859
1934
 
1860
1935
 
1936
+
1861
1937
  <xsl:attribute name="border">0.5pt solid rgb(79, 129, 189)</xsl:attribute>
1862
1938
  <xsl:attribute name="color">rgb(79, 129, 189)</xsl:attribute>
1863
1939
  <xsl:attribute name="margin-left">16mm</xsl:attribute>
@@ -1873,12 +1949,13 @@
1873
1949
 
1874
1950
 
1875
1951
  </xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
1952
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1953
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1954
+
1876
1955
 
1877
1956
 
1878
1957
 
1879
1958
 
1880
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
1881
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
1882
1959
  <xsl:attribute name="padding">2mm</xsl:attribute>
1883
1960
  <xsl:attribute name="padding-top">3mm</xsl:attribute>
1884
1961
 
@@ -1914,6 +1991,7 @@
1914
1991
 
1915
1992
 
1916
1993
 
1994
+
1917
1995
  <xsl:attribute name="font-style">italic</xsl:attribute>
1918
1996
 
1919
1997
 
@@ -1949,6 +2027,10 @@
1949
2027
 
1950
2028
 
1951
2029
 
2030
+ <!-- <xsl:if test="$namespace = 'ieee'">
2031
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2032
+ <xsl:attribute name="provisional-distance-between-starts">9.5mm</xsl:attribute>
2033
+ </xsl:if> -->
1952
2034
 
1953
2035
  <xsl:attribute name="line-height">115%</xsl:attribute>
1954
2036
 
@@ -1971,6 +2053,7 @@
1971
2053
 
1972
2054
 
1973
2055
 
2056
+
1974
2057
  <xsl:attribute name="line-height">115%</xsl:attribute>
1975
2058
 
1976
2059
 
@@ -1982,10 +2065,12 @@
1982
2065
  </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
1983
2066
 
1984
2067
 
2068
+
1985
2069
  </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-body-style">
1986
2070
 
1987
2071
 
1988
2072
 
2073
+
1989
2074
  </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-style">
1990
2075
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1991
2076
  <xsl:attribute name="font-size">65%</xsl:attribute>
@@ -1996,6 +2081,7 @@
1996
2081
 
1997
2082
 
1998
2083
 
2084
+
1999
2085
  <xsl:attribute name="font-size">8pt</xsl:attribute>
2000
2086
  <xsl:attribute name="baseline-shift">30%</xsl:attribute>
2001
2087
 
@@ -2017,6 +2103,7 @@
2017
2103
 
2018
2104
 
2019
2105
 
2106
+
2020
2107
  <xsl:attribute name="alignment-baseline">hanging</xsl:attribute>
2021
2108
  <xsl:attribute name="padding-right">3mm</xsl:attribute>
2022
2109
 
@@ -2038,6 +2125,7 @@
2038
2125
 
2039
2126
 
2040
2127
 
2128
+
2041
2129
  <xsl:attribute name="margin-bottom">4pt</xsl:attribute>
2042
2130
 
2043
2131
 
@@ -2474,6 +2562,8 @@
2474
2562
 
2475
2563
 
2476
2564
 
2565
+
2566
+
2477
2567
 
2478
2568
 
2479
2569
 
@@ -2510,6 +2600,8 @@
2510
2600
 
2511
2601
 
2512
2602
 
2603
+
2604
+
2513
2605
  </xsl:element>
2514
2606
  </xsl:variable>
2515
2607
 
@@ -2597,6 +2689,14 @@
2597
2689
 
2598
2690
 
2599
2691
 
2692
+ <xsl:if test="*[local-name()='bookmark']"> <!-- special case: table/bookmark -->
2693
+ <fo:block keep-with-previous="always" line-height="0.1">
2694
+ <xsl:for-each select="*[local-name()='bookmark']">
2695
+ <xsl:call-template name="bookmark"/>
2696
+ </xsl:for-each>
2697
+ </fo:block>
2698
+ </xsl:if>
2699
+
2600
2700
  </fo:block-container>
2601
2701
  </xsl:variable>
2602
2702
 
@@ -2655,23 +2755,29 @@
2655
2755
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
2656
2756
  <xsl:param name="continued"/>
2657
2757
  <xsl:if test="normalize-space() != ''">
2658
- <fo:block xsl:use-attribute-sets="table-name-style">
2659
-
2660
-
2661
-
2662
-
2758
+
2759
+
2663
2760
 
2664
- <xsl:choose>
2665
- <xsl:when test="$continued = 'true'">
2761
+ <fo:block xsl:use-attribute-sets="table-name-style">
2762
+
2666
2763
 
2667
- </xsl:when>
2668
- <xsl:otherwise>
2669
- <xsl:apply-templates/>
2670
- </xsl:otherwise>
2671
- </xsl:choose>
2672
-
2764
+
2765
+
2766
+
2767
+ <xsl:choose>
2768
+ <xsl:when test="$continued = 'true'">
2769
+
2770
+ </xsl:when>
2771
+ <xsl:otherwise>
2772
+ <xsl:apply-templates/>
2773
+ </xsl:otherwise>
2774
+ </xsl:choose>
2775
+
2776
+
2777
+ </fo:block>
2778
+
2673
2779
 
2674
- </fo:block>
2780
+
2675
2781
  </xsl:if>
2676
2782
  </xsl:template><xsl:template name="calculate-columns-numbers">
2677
2783
  <xsl:param name="table-row"/>
@@ -3069,12 +3175,18 @@
3069
3175
  <fo:table-row>
3070
3176
  <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">
3071
3177
 
3072
- <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
3073
- <xsl:with-param name="continued">true</xsl:with-param>
3074
- </xsl:apply-templates>
3075
3178
 
3076
3179
 
3077
3180
 
3181
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
3182
+ <xsl:with-param name="continued">true</xsl:with-param>
3183
+ </xsl:apply-templates>
3184
+
3185
+
3186
+
3187
+
3188
+
3189
+
3078
3190
  </fo:table-cell>
3079
3191
  </fo:table-row>
3080
3192
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
@@ -3114,77 +3226,91 @@
3114
3226
  </xsl:choose>
3115
3227
  </xsl:variable>
3116
3228
 
3117
- <fo:table keep-with-previous="always">
3118
- <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3119
- <xsl:variable name="name" select="local-name()"/>
3229
+
3230
+ <xsl:variable name="tableWithNotesAndFootnotes">
3231
+
3232
+ <fo:table keep-with-previous="always">
3233
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3234
+ <xsl:variable name="name" select="local-name()"/>
3235
+ <xsl:choose>
3236
+ <xsl:when test="$name = 'border-top'">
3237
+ <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
3238
+ </xsl:when>
3239
+ <xsl:when test="$name = 'border'">
3240
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3241
+ <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3242
+ </xsl:when>
3243
+ <xsl:otherwise>
3244
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3245
+ </xsl:otherwise>
3246
+ </xsl:choose>
3247
+ </xsl:for-each>
3248
+
3249
+
3250
+
3120
3251
  <xsl:choose>
3121
- <xsl:when test="$name = 'border-top'">
3122
- <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
3123
- </xsl:when>
3124
- <xsl:when test="$name = 'border'">
3125
- <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3126
- <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3252
+ <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
3253
+ <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
3254
+ <fo:table-column column-width="{@width}"/>
3255
+ </xsl:for-each>
3127
3256
  </xsl:when>
3128
3257
  <xsl:otherwise>
3129
- <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3258
+ <!-- $colwidths=<xsl:copy-of select="$colwidths"/> -->
3259
+ <xsl:call-template name="insertTableColumnWidth">
3260
+ <xsl:with-param name="colwidths" select="$colwidths"/>
3261
+ </xsl:call-template>
3130
3262
  </xsl:otherwise>
3131
3263
  </xsl:choose>
3132
- </xsl:for-each>
3133
-
3134
-
3135
-
3136
- <xsl:choose>
3137
- <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
3138
- <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
3139
- <fo:table-column column-width="{@width}"/>
3140
- </xsl:for-each>
3141
- </xsl:when>
3142
- <xsl:otherwise>
3143
- <!-- $colwidths=<xsl:copy-of select="$colwidths"/> -->
3144
- <xsl:call-template name="insertTableColumnWidth">
3145
- <xsl:with-param name="colwidths" select="$colwidths"/>
3146
- </xsl:call-template>
3147
- </xsl:otherwise>
3148
- </xsl:choose>
3149
-
3150
- <fo:table-body>
3151
- <fo:table-row>
3152
- <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
3153
-
3154
-
3264
+
3265
+ <fo:table-body>
3266
+ <fo:table-row>
3267
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
3268
+
3269
+
3155
3270
 
3156
-
3157
-
3158
- <!-- fn will be processed inside 'note' processing -->
3159
-
3160
-
3161
-
3162
-
3163
-
3164
-
3165
- <!-- for BSI (not PAS) display Notes before footnotes -->
3166
-
3167
-
3168
- <!-- except gb and bsi -->
3169
-
3170
- <xsl:apply-templates select="../*[local-name()='note']"/>
3171
3271
 
3172
-
3173
-
3174
- <!-- horizontal row separator -->
3175
-
3176
-
3177
- <!-- fn processing -->
3178
- <xsl:call-template name="table_fn_display"/>
3179
-
3180
- <!-- for PAS display Notes after footnotes -->
3181
-
3182
-
3183
- </fo:table-cell>
3184
- </fo:table-row>
3185
- </fo:table-body>
3186
-
3187
- </fo:table>
3272
+
3273
+ <!-- fn will be processed inside 'note' processing -->
3274
+
3275
+
3276
+
3277
+
3278
+
3279
+
3280
+ <!-- for BSI (not PAS) display Notes before footnotes -->
3281
+
3282
+
3283
+ <!-- except gb and bsi -->
3284
+
3285
+ <xsl:apply-templates select="../*[local-name()='note']"/>
3286
+
3287
+
3288
+
3289
+ <!-- horizontal row separator -->
3290
+
3291
+
3292
+ <!-- fn processing -->
3293
+
3294
+ <xsl:call-template name="table_fn_display"/>
3295
+
3296
+
3297
+
3298
+ <!-- for PAS display Notes after footnotes -->
3299
+
3300
+
3301
+ </fo:table-cell>
3302
+ </fo:table-row>
3303
+ </fo:table-body>
3304
+
3305
+ </fo:table>
3306
+ </xsl:variable>
3307
+
3308
+ <xsl:if test="normalize-space($tableWithNotesAndFootnotes) != ''">
3309
+ <xsl:copy-of select="$tableWithNotesAndFootnotes"/>
3310
+ </xsl:if>
3311
+
3312
+
3313
+
3188
3314
  </xsl:if>
3189
3315
  </xsl:template><xsl:template match="*[local-name()='tbody']">
3190
3316
 
@@ -3273,6 +3399,9 @@
3273
3399
 
3274
3400
 
3275
3401
 
3402
+
3403
+
3404
+
3276
3405
 
3277
3406
 
3278
3407
  <xsl:call-template name="setTableRowAttributes"/>
@@ -3292,6 +3421,8 @@
3292
3421
 
3293
3422
 
3294
3423
 
3424
+
3425
+
3295
3426
  <xsl:call-template name="setTableRowAttributes"/>
3296
3427
  <xsl:apply-templates/>
3297
3428
  </fo:table-row>
@@ -3373,6 +3504,8 @@
3373
3504
 
3374
3505
 
3375
3506
 
3507
+
3508
+
3376
3509
 
3377
3510
 
3378
3511
 
@@ -3444,7 +3577,11 @@
3444
3577
 
3445
3578
  <xsl:variable name="gen_id" select="generate-id(.)"/>
3446
3579
  <xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
3447
- <xsl:variable name="reference" select="@reference"/>
3580
+ <xsl:variable name="reference_">
3581
+ <xsl:value-of select="@reference"/>
3582
+ <xsl:if test="normalize-space(@reference) = ''"><xsl:value-of select="$gen_id"/></xsl:if>
3583
+ </xsl:variable>
3584
+ <xsl:variable name="reference" select="normalize-space($reference_)"/>
3448
3585
  <!-- fn sequence number in document -->
3449
3586
  <xsl:variable name="current_fn_number">
3450
3587
  <xsl:choose>
@@ -3464,6 +3601,7 @@
3464
3601
  <xsl:variable name="footnote_inline">
3465
3602
  <fo:inline xsl:use-attribute-sets="fn-num-style">
3466
3603
 
3604
+
3467
3605
  <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
3468
3606
  <xsl:value-of select="$current_fn_number_text"/>
3469
3607
  </fo:basic-link>
@@ -3485,8 +3623,12 @@
3485
3623
  <fo:block xsl:use-attribute-sets="fn-body-style">
3486
3624
 
3487
3625
 
3626
+
3488
3627
  <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
3489
3628
 
3629
+
3630
+
3631
+
3490
3632
  <xsl:value-of select="$current_fn_number_text"/>
3491
3633
  </fo:inline>
3492
3634
  <xsl:apply-templates/>
@@ -3519,7 +3661,7 @@
3519
3661
  <xsl:copy-of select="node()"/>
3520
3662
  </fn>
3521
3663
  </xsl:for-each>
3522
- <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']/*">
3664
+ <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']/*">
3523
3665
  <xsl:sort select="@displayorder" data-type="number"/>
3524
3666
  <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])]">
3525
3667
  <!-- copy unique fn -->
@@ -5164,6 +5306,13 @@
5164
5306
  </xsl:variable>
5165
5307
  <fo:inline xsl:use-attribute-sets="link-style">
5166
5308
 
5309
+ <xsl:if test="starts-with(normalize-space(@target), 'mailto:')">
5310
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5311
+ </xsl:if>
5312
+
5313
+
5314
+
5315
+
5167
5316
 
5168
5317
 
5169
5318
 
@@ -5381,6 +5530,7 @@
5381
5530
 
5382
5531
 
5383
5532
 
5533
+
5384
5534
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
5385
5535
  <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
5386
5536
  <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
@@ -5403,6 +5553,7 @@
5403
5553
  <xsl:otherwise>
5404
5554
 
5405
5555
 
5556
+
5406
5557
  </xsl:otherwise>
5407
5558
  </xsl:choose>
5408
5559
  </xsl:variable>
@@ -5420,6 +5571,7 @@
5420
5571
  <xsl:otherwise>
5421
5572
 
5422
5573
 
5574
+
5423
5575
  </xsl:otherwise>
5424
5576
  </xsl:choose>
5425
5577
  </xsl:variable>
@@ -5428,7 +5580,19 @@
5428
5580
  <xsl:value-of select="$suffix"/>
5429
5581
  </xsl:if>
5430
5582
  </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
5431
- <fo:inline><xsl:apply-templates/></fo:inline>
5583
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
5584
+ <xsl:choose>
5585
+ <xsl:when test="$num = 1"> <!-- first paragraph renders in the same line as titlenote name -->
5586
+ <fo:inline xsl:use-attribute-sets="termnote-p-style">
5587
+ <xsl:apply-templates/>
5588
+ </fo:inline>
5589
+ </xsl:when>
5590
+ <xsl:otherwise>
5591
+ <fo:block xsl:use-attribute-sets="termnote-p-style">
5592
+ <xsl:apply-templates/>
5593
+ </fo:block>
5594
+ </xsl:otherwise>
5595
+ </xsl:choose>
5432
5596
  </xsl:template><xsl:template match="*[local-name() = 'terms']">
5433
5597
  <!-- <xsl:message>'terms' <xsl:number/> processing...</xsl:message> -->
5434
5598
  <fo:block id="{@id}">
@@ -6183,6 +6347,9 @@
6183
6347
  <fo:block xsl:use-attribute-sets="figure-name-style">
6184
6348
 
6185
6349
 
6350
+
6351
+
6352
+
6186
6353
  <xsl:apply-templates/>
6187
6354
  </fo:block>
6188
6355
  </xsl:if>
@@ -6243,9 +6410,9 @@
6243
6410
  <xsl:apply-templates/>
6244
6411
  </xsl:otherwise>
6245
6412
  </xsl:choose>
6246
- </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">
6413
+ </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">
6247
6414
  <xsl:value-of select="."/>
6248
- </xsl:template><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
6415
+ </xsl:template><xsl:template match="*[local-name() = 'review']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
6249
6416
  <xsl:text> </xsl:text>
6250
6417
  </xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
6251
6418
  <xsl:copy>
@@ -6319,6 +6486,9 @@
6319
6486
  <!-- 9 -->
6320
6487
 
6321
6488
 
6489
+ <!-- <xsl:if test="$namespace = 'ieee'">
6490
+ <xsl:if test="$current_template = 'standard'">8</xsl:if>
6491
+ </xsl:if> -->
6322
6492
 
6323
6493
 
6324
6494
 
@@ -6763,10 +6933,14 @@
6763
6933
  </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'p']">
6764
6934
  <xsl:variable name="element">inline
6765
6935
 
6936
+
6766
6937
  </xsl:variable>
6767
6938
  <xsl:choose>
6768
6939
  <xsl:when test="contains($element, 'block')">
6769
6940
  <fo:block xsl:use-attribute-sets="example-p-style">
6941
+
6942
+
6943
+
6770
6944
  <xsl:apply-templates/>
6771
6945
  </fo:block>
6772
6946
  </xsl:when>
@@ -6874,6 +7048,7 @@
6874
7048
  </xsl:if>
6875
7049
  <fo:block xsl:use-attribute-sets="example-p-style">
6876
7050
 
7051
+
6877
7052
  <xsl:apply-templates/>
6878
7053
  </fo:block>
6879
7054
  </fo:block-container>
@@ -7030,6 +7205,8 @@
7030
7205
 
7031
7206
 
7032
7207
 
7208
+
7209
+
7033
7210
  <fo:basic-link fox:alt-text="{@citeas}">
7034
7211
  <xsl:if test="normalize-space(@citeas) = ''">
7035
7212
  <xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
@@ -7104,6 +7281,7 @@
7104
7281
 
7105
7282
 
7106
7283
 
7284
+
7107
7285
  </xsl:variable>
7108
7286
 
7109
7287
  <xsl:variable name="padding-right">
@@ -7444,6 +7622,8 @@
7444
7622
 
7445
7623
 
7446
7624
 
7625
+
7626
+
7447
7627
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
7448
7628
  <xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
7449
7629
  <xsl:call-template name="append_add-style"/>
@@ -7628,7 +7808,7 @@
7628
7808
  </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']/text()">
7629
7809
  <!-- to split by '_' and other chars -->
7630
7810
  <xsl:call-template name="add-zero-spaces-java"/>
7631
- </xsl:template><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
7811
+ </xsl:template><xsl:template match="*[local-name() = 'table']/*[local-name() = 'bookmark']" priority="2"/><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
7632
7812
  <!-- <fo:inline id="{@id}" font-size="1pt"/> -->
7633
7813
  <fo:inline id="{@id}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:inline>
7634
7814
  <!-- we need to add zero-width space, otherwise this fo:inline is missing in IF xml -->
@@ -7695,6 +7875,7 @@
7695
7875
  </xsl:template><xsl:template match="*[local-name() = 'references'][@normative='true']/*[local-name() = 'bibitem']" name="bibitem" priority="2">
7696
7876
 
7697
7877
  <fo:list-block id="{@id}" xsl:use-attribute-sets="bibitem-normative-list-style">
7878
+
7698
7879
  <fo:list-item>
7699
7880
  <fo:list-item-label end-indent="label-end()">
7700
7881
  <fo:block>
@@ -7702,7 +7883,7 @@
7702
7883
 
7703
7884
  <xsl:value-of select="*[local-name() = 'docidentifier'][@type = 'metanorma-ordinal']"/>
7704
7885
  <xsl:if test="not(*[local-name() = 'docidentifier'][@type = 'metanorma-ordinal'])">
7705
- <xsl:number format="[1]"/>
7886
+ <xsl:number format="[1]" count="*[local-name()='bibitem'][not(@hidden = 'true')]"/>
7706
7887
  </xsl:if>
7707
7888
 
7708
7889
  </fo:inline>
@@ -7717,7 +7898,7 @@
7717
7898
  </fo:list-block>
7718
7899
 
7719
7900
 
7720
- </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
7901
+ </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" name="bibitem_non_normative" priority="2">
7721
7902
 
7722
7903
 
7723
7904
  <xsl:call-template name="bibitem"/>
@@ -8032,12 +8213,16 @@
8032
8213
  <fo:block-container id="{@id}" xsl:use-attribute-sets="admonition-style">
8033
8214
 
8034
8215
 
8216
+
8217
+
8035
8218
 
8036
8219
 
8037
8220
 
8038
8221
  <fo:block-container xsl:use-attribute-sets="admonition-container-style">
8039
8222
 
8040
8223
 
8224
+
8225
+
8041
8226
  <fo:block xsl:use-attribute-sets="admonition-name-style">
8042
8227
  <xsl:call-template name="displayAdmonitionName"/>
8043
8228
  </fo:block>
@@ -8241,6 +8426,8 @@
8241
8426
  </xsl:when>
8242
8427
  <xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
8243
8428
  </xsl:choose>
8429
+ </xsl:template><xsl:template match="*[local-name() = 'lang_none']">
8430
+ <fo:inline xml:lang="none"><xsl:value-of select="."/></fo:inline>
8244
8431
  </xsl:template><xsl:template name="printEdition">
8245
8432
  <xsl:variable name="edition_i18n" select="normalize-space((//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) != ''])"/>
8246
8433
  <xsl:text> </xsl:text>
@@ -8347,8 +8534,30 @@
8347
8534
  </xsl:when>
8348
8535
  <xsl:otherwise><xsl:value-of select="$monthStr_"/></xsl:otherwise>
8349
8536
  </xsl:choose>
8537
+ </xsl:template><xsl:template name="getMonthLocalizedByNum">
8538
+ <xsl:param name="num"/>
8539
+ <xsl:variable name="monthStr">
8540
+ <xsl:choose>
8541
+ <xsl:when test="$num = '01'">january</xsl:when>
8542
+ <xsl:when test="$num = '02'">february</xsl:when>
8543
+ <xsl:when test="$num = '03'">march</xsl:when>
8544
+ <xsl:when test="$num = '04'">april</xsl:when>
8545
+ <xsl:when test="$num = '05'">may</xsl:when>
8546
+ <xsl:when test="$num = '06'">june</xsl:when>
8547
+ <xsl:when test="$num = '07'">july</xsl:when>
8548
+ <xsl:when test="$num = '08'">august</xsl:when>
8549
+ <xsl:when test="$num = '09'">september</xsl:when>
8550
+ <xsl:when test="$num = '10'">october</xsl:when>
8551
+ <xsl:when test="$num = '11'">november</xsl:when>
8552
+ <xsl:when test="$num = '12'">december</xsl:when>
8553
+ </xsl:choose>
8554
+ </xsl:variable>
8555
+ <xsl:call-template name="getLocalizedString">
8556
+ <xsl:with-param name="key">month_<xsl:value-of select="$monthStr"/></xsl:with-param>
8557
+ </xsl:call-template>
8350
8558
  </xsl:template><xsl:template name="insertKeywords">
8351
8559
  <xsl:param name="sorting" select="'true'"/>
8560
+ <xsl:param name="meta" select="'false'"/>
8352
8561
  <xsl:param name="charAtEnd" select="'.'"/>
8353
8562
  <xsl:param name="charDelim" select="', '"/>
8354
8563
  <xsl:choose>
@@ -8356,6 +8565,7 @@
8356
8565
  <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
8357
8566
  <xsl:sort data-type="text" order="ascending"/>
8358
8567
  <xsl:call-template name="insertKeyword">
8568
+ <xsl:with-param name="meta" select="$meta"/>
8359
8569
  <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
8360
8570
  <xsl:with-param name="charDelim" select="$charDelim"/>
8361
8571
  </xsl:call-template>
@@ -8364,6 +8574,7 @@
8364
8574
  <xsl:otherwise>
8365
8575
  <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
8366
8576
  <xsl:call-template name="insertKeyword">
8577
+ <xsl:with-param name="meta" select="$meta"/>
8367
8578
  <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
8368
8579
  <xsl:with-param name="charDelim" select="$charDelim"/>
8369
8580
  </xsl:call-template>
@@ -8373,7 +8584,15 @@
8373
8584
  </xsl:template><xsl:template name="insertKeyword">
8374
8585
  <xsl:param name="charAtEnd"/>
8375
8586
  <xsl:param name="charDelim"/>
8376
- <xsl:apply-templates/>
8587
+ <xsl:param name="meta"/>
8588
+ <xsl:choose>
8589
+ <xsl:when test="$meta = 'true'">
8590
+ <xsl:value-of select="."/>
8591
+ </xsl:when>
8592
+ <xsl:otherwise>
8593
+ <xsl:apply-templates/>
8594
+ </xsl:otherwise>
8595
+ </xsl:choose>
8377
8596
  <xsl:choose>
8378
8597
  <xsl:when test="position() != last()"><xsl:value-of select="$charDelim"/></xsl:when>
8379
8598
  <xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
@@ -8418,13 +8637,15 @@
8418
8637
  <dc:description>
8419
8638
  <xsl:variable name="abstract">
8420
8639
 
8421
- <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
8640
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()[not(ancestor::*[local-name() = 'title'])]"/>
8422
8641
 
8423
8642
  </xsl:variable>
8424
8643
  <xsl:value-of select="normalize-space($abstract)"/>
8425
8644
  </dc:description>
8426
8645
  <pdf:Keywords>
8427
- <xsl:call-template name="insertKeywords"/>
8646
+ <xsl:call-template name="insertKeywords">
8647
+ <xsl:with-param name="meta">true</xsl:with-param>
8648
+ </xsl:call-template>
8428
8649
  </pdf:Keywords>
8429
8650
  </rdf:Description>
8430
8651
  <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
@@ -8547,6 +8768,7 @@
8547
8768
 
8548
8769
 
8549
8770
 
8771
+
8550
8772
  <xsl:value-of select="document('')//*/namespace::iho"/>
8551
8773
 
8552
8774