metanorma-m3aawg 2.1.2 → 2.1.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -800,7 +800,7 @@
800
800
  <xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
801
801
  </xsl:otherwise>
802
802
  </xsl:choose>
803
- </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">
803
+ </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">
804
804
 
805
805
 
806
806
 
@@ -811,7 +811,9 @@
811
811
 
812
812
 
813
813
 
814
- <xsl:attribute name="font-family">EB Garamond 12</xsl:attribute>
814
+
815
+ <xsl:attribute name="font-family">EB Garamond 12, <xsl:value-of select="$font_noto_sans"/></xsl:attribute>
816
+ <xsl:attribute name="font-family-generic">Sans</xsl:attribute>
815
817
  <xsl:attribute name="font-size">12pt</xsl:attribute>
816
818
 
817
819
 
@@ -831,17 +833,60 @@
831
833
  </xsl:variable>
832
834
  <xsl:variable name="additional_fonts" select="normalize-space($additional_fonts_)"/>
833
835
 
836
+ <xsl:variable name="font_family_generic" select="$root-style_/root-style/@font-family-generic"/>
837
+
834
838
  <xsl:for-each select="$root-style_/root-style/@*">
839
+
835
840
  <xsl:choose>
836
- <xsl:when test="local-name() = 'font-family' and $additional_fonts != ''">
841
+ <xsl:when test="local-name() = 'font-family-generic'"><!-- skip, it's using for determine 'sans' or 'serif' --></xsl:when>
842
+ <xsl:when test="local-name() = 'font-family'">
843
+
844
+ <xsl:variable name="font_regional_prefix">
845
+ <xsl:choose>
846
+ <xsl:when test="$font_family_generic = 'Sans'">Noto Sans</xsl:when>
847
+ <xsl:otherwise>Noto Serif</xsl:otherwise>
848
+ </xsl:choose>
849
+ </xsl:variable>
850
+
837
851
  <xsl:attribute name="{local-name()}">
838
- <xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
852
+
853
+ <xsl:variable name="font_extended">
854
+ <xsl:choose>
855
+ <xsl:when test="$lang = 'zh'"><xsl:value-of select="$font_regional_prefix"/> SC</xsl:when>
856
+ <xsl:when test="$lang = 'hk'"><xsl:value-of select="$font_regional_prefix"/> HK</xsl:when>
857
+ <xsl:when test="$lang = 'jp'"><xsl:value-of select="$font_regional_prefix"/> JP</xsl:when>
858
+ <xsl:when test="$lang = 'kr'"><xsl:value-of select="$font_regional_prefix"/> KR</xsl:when>
859
+ <xsl:when test="$lang = 'sc'"><xsl:value-of select="$font_regional_prefix"/> SC</xsl:when>
860
+ <xsl:when test="$lang = 'tc'"><xsl:value-of select="$font_regional_prefix"/> TC</xsl:when>
861
+ </xsl:choose>
862
+ </xsl:variable>
863
+ <xsl:if test="normalize-space($font_extended) != ''">
864
+ <xsl:value-of select="$font_regional_prefix"/><xsl:text>, </xsl:text>
865
+ <xsl:value-of select="$font_extended"/><xsl:text>, </xsl:text>
866
+ </xsl:if>
867
+
868
+ <xsl:value-of select="."/>
869
+
870
+ <xsl:if test="$additional_fonts != ''">
871
+ <xsl:text>, </xsl:text><xsl:value-of select="$additional_fonts"/>
872
+ </xsl:if>
839
873
  </xsl:attribute>
840
874
  </xsl:when>
841
875
  <xsl:otherwise>
842
876
  <xsl:copy-of select="."/>
843
877
  </xsl:otherwise>
844
878
  </xsl:choose>
879
+
880
+ <!-- <xsl:choose>
881
+ <xsl:when test="local-name() = 'font-family'">
882
+ <xsl:attribute name="{local-name()}">
883
+ <xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
884
+ </xsl:attribute>
885
+ </xsl:when>
886
+ <xsl:otherwise>
887
+ <xsl:copy-of select="."/>
888
+ </xsl:otherwise>
889
+ </xsl:choose> -->
845
890
  </xsl:for-each>
846
891
  </xsl:template><xsl:attribute-set name="copyright-statement-style">
847
892
 
@@ -916,7 +961,8 @@
916
961
 
917
962
 
918
963
 
919
- <xsl:attribute name="font-family">Courier New</xsl:attribute>
964
+
965
+ <xsl:attribute name="font-family">Courier New, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
920
966
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
921
967
 
922
968
 
@@ -932,7 +978,10 @@
932
978
 
933
979
  </xsl:attribute-set><xsl:attribute-set name="requirement-style">
934
980
 
981
+
935
982
  </xsl:attribute-set><xsl:attribute-set name="requirement-name-style">
983
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
984
+
936
985
 
937
986
  </xsl:attribute-set><xsl:attribute-set name="requirement-label-style">
938
987
 
@@ -956,6 +1005,7 @@
956
1005
 
957
1006
 
958
1007
 
1008
+
959
1009
 
960
1010
  <xsl:attribute name="margin-top">14pt</xsl:attribute>
961
1011
  <xsl:attribute name="margin-bottom">14pt</xsl:attribute>
@@ -971,6 +1021,7 @@
971
1021
 
972
1022
 
973
1023
 
1024
+
974
1025
  <xsl:attribute name="margin-top">8pt</xsl:attribute>
975
1026
  <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
976
1027
 
@@ -995,6 +1046,7 @@
995
1046
 
996
1047
 
997
1048
 
1049
+
998
1050
  <xsl:attribute name="padding-right">5mm</xsl:attribute>
999
1051
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1000
1052
 
@@ -1032,12 +1084,14 @@
1032
1084
 
1033
1085
 
1034
1086
 
1087
+
1035
1088
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
1036
1089
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1037
1090
 
1038
1091
 
1039
1092
  </xsl:attribute-set><xsl:variable name="table-border_">
1040
1093
 
1094
+
1041
1095
  </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
1042
1096
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
1043
1097
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
@@ -1053,6 +1107,7 @@
1053
1107
 
1054
1108
 
1055
1109
 
1110
+
1056
1111
 
1057
1112
 
1058
1113
 
@@ -1081,6 +1136,7 @@
1081
1136
 
1082
1137
 
1083
1138
 
1139
+
1084
1140
 
1085
1141
 
1086
1142
 
@@ -1101,6 +1157,7 @@
1101
1157
 
1102
1158
 
1103
1159
 
1160
+
1104
1161
 
1105
1162
 
1106
1163
 
@@ -1171,6 +1228,7 @@
1171
1228
 
1172
1229
 
1173
1230
 
1231
+
1174
1232
  </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
1175
1233
  <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1176
1234
  <xsl:attribute name="padding-left">1mm</xsl:attribute>
@@ -1183,7 +1241,7 @@
1183
1241
 
1184
1242
 
1185
1243
 
1186
-
1244
+
1187
1245
 
1188
1246
 
1189
1247
 
@@ -1198,6 +1256,7 @@
1198
1256
 
1199
1257
 
1200
1258
 
1259
+
1201
1260
  </xsl:attribute-set><xsl:attribute-set name="table-fn-style">
1202
1261
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1203
1262
 
@@ -1206,6 +1265,8 @@
1206
1265
 
1207
1266
 
1208
1267
 
1268
+
1269
+
1209
1270
  </xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
1210
1271
  <xsl:attribute name="font-size">80%</xsl:attribute>
1211
1272
  <xsl:attribute name="padding-right">5mm</xsl:attribute>
@@ -1218,6 +1279,7 @@
1218
1279
 
1219
1280
 
1220
1281
 
1282
+
1221
1283
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1222
1284
 
1223
1285
 
@@ -1255,6 +1317,7 @@
1255
1317
 
1256
1318
 
1257
1319
 
1320
+
1258
1321
  </xsl:attribute-set><xsl:attribute-set name="dl-name-style">
1259
1322
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1260
1323
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
@@ -1265,6 +1328,7 @@
1265
1328
 
1266
1329
 
1267
1330
 
1331
+
1268
1332
 
1269
1333
 
1270
1334
 
@@ -1312,6 +1376,7 @@
1312
1376
 
1313
1377
 
1314
1378
 
1379
+
1315
1380
 
1316
1381
 
1317
1382
 
@@ -1355,7 +1420,8 @@
1355
1420
 
1356
1421
 
1357
1422
 
1358
-
1423
+
1424
+
1359
1425
 
1360
1426
 
1361
1427
 
@@ -1371,6 +1437,7 @@
1371
1437
  </xsl:attribute-set><xsl:attribute-set name="termnote-style">
1372
1438
 
1373
1439
 
1440
+
1374
1441
 
1375
1442
 
1376
1443
 
@@ -1381,6 +1448,8 @@
1381
1448
 
1382
1449
 
1383
1450
 
1451
+ </xsl:attribute-set><xsl:attribute-set name="termnote-p-style">
1452
+
1384
1453
  </xsl:attribute-set><xsl:attribute-set name="quote-style">
1385
1454
  <xsl:attribute name="margin-left">12mm</xsl:attribute>
1386
1455
  <xsl:attribute name="margin-right">12mm</xsl:attribute>
@@ -1423,6 +1492,7 @@
1423
1492
  </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
1424
1493
 
1425
1494
 
1495
+
1426
1496
 
1427
1497
 
1428
1498
 
@@ -1471,6 +1541,7 @@
1471
1541
 
1472
1542
 
1473
1543
 
1544
+
1474
1545
  </xsl:attribute-set><xsl:attribute-set name="formula-stem-number-style">
1475
1546
  <xsl:attribute name="text-align">right</xsl:attribute>
1476
1547
 
@@ -1491,21 +1562,20 @@
1491
1562
  </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
1492
1563
 
1493
1564
  </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
1565
+ <xsl:attribute name="width">100%</xsl:attribute>
1566
+ <xsl:attribute name="content-height">100%</xsl:attribute>
1567
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
1494
1568
 
1495
1569
 
1496
1570
 
1497
- <xsl:attribute name="width">100%</xsl:attribute>
1498
- <xsl:attribute name="content-height">100%</xsl:attribute>
1499
1571
  <xsl:attribute name="content-width">scale-to-fit</xsl:attribute>
1500
- <xsl:attribute name="scaling">uniform</xsl:attribute>
1501
1572
 
1502
1573
 
1503
-
1504
-
1574
+
1505
1575
  </xsl:attribute-set><xsl:attribute-set name="tt-style">
1506
1576
 
1507
1577
 
1508
- <xsl:attribute name="font-family">Courier New</xsl:attribute>
1578
+ <xsl:attribute name="font-family">Courier New, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
1509
1579
 
1510
1580
 
1511
1581
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
@@ -1576,6 +1646,7 @@
1576
1646
 
1577
1647
 
1578
1648
 
1649
+
1579
1650
  <xsl:attribute name="provisional-distance-between-starts">6mm</xsl:attribute>
1580
1651
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1581
1652
 
@@ -1643,6 +1714,7 @@
1643
1714
 
1644
1715
 
1645
1716
 
1717
+
1646
1718
  <xsl:attribute name="font-size">7pt</xsl:attribute>
1647
1719
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1648
1720
 
@@ -1667,6 +1739,7 @@
1667
1739
 
1668
1740
 
1669
1741
 
1742
+
1670
1743
  <xsl:attribute name="font-size">9pt</xsl:attribute>
1671
1744
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1672
1745
 
@@ -1690,6 +1763,7 @@
1690
1763
 
1691
1764
 
1692
1765
 
1766
+
1693
1767
  <xsl:attribute name="font-size">6pt</xsl:attribute>
1694
1768
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1695
1769
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
@@ -1716,7 +1790,11 @@
1716
1790
 
1717
1791
 
1718
1792
 
1793
+
1719
1794
  </xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
1795
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1796
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1797
+
1720
1798
 
1721
1799
 
1722
1800
 
@@ -1752,6 +1830,7 @@
1752
1830
 
1753
1831
 
1754
1832
 
1833
+
1755
1834
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1756
1835
 
1757
1836
 
@@ -1790,6 +1869,10 @@
1790
1869
 
1791
1870
 
1792
1871
 
1872
+ <!-- <xsl:if test="$namespace = 'ieee'">
1873
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1874
+ <xsl:attribute name="provisional-distance-between-starts">9.5mm</xsl:attribute>
1875
+ </xsl:if> -->
1793
1876
 
1794
1877
 
1795
1878
 
@@ -1816,13 +1899,16 @@
1816
1899
 
1817
1900
 
1818
1901
 
1902
+
1819
1903
  </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
1820
1904
 
1821
1905
 
1906
+
1822
1907
  </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-body-style">
1823
1908
 
1824
1909
 
1825
1910
 
1911
+
1826
1912
  <xsl:attribute name="text-align">justify</xsl:attribute>
1827
1913
 
1828
1914
  </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-style">
@@ -1839,6 +1925,7 @@
1839
1925
 
1840
1926
 
1841
1927
 
1928
+
1842
1929
  <xsl:attribute name="font-size">7pt</xsl:attribute>
1843
1930
  <xsl:attribute name="baseline-shift">30%</xsl:attribute>
1844
1931
 
@@ -1860,6 +1947,7 @@
1860
1947
 
1861
1948
 
1862
1949
 
1950
+
1863
1951
  <xsl:attribute name="font-size">6pt</xsl:attribute>
1864
1952
  <xsl:attribute name="baseline-shift">30%</xsl:attribute>
1865
1953
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
@@ -1882,6 +1970,7 @@
1882
1970
 
1883
1971
 
1884
1972
 
1973
+
1885
1974
  <xsl:attribute name="font-size">9pt</xsl:attribute>
1886
1975
  <xsl:attribute name="margin-bottom">4pt</xsl:attribute>
1887
1976
 
@@ -2324,6 +2413,8 @@
2324
2413
 
2325
2414
 
2326
2415
 
2416
+
2417
+
2327
2418
 
2328
2419
 
2329
2420
 
@@ -2363,6 +2454,8 @@
2363
2454
 
2364
2455
 
2365
2456
 
2457
+
2458
+
2366
2459
  </xsl:element>
2367
2460
  </xsl:variable>
2368
2461
 
@@ -2450,6 +2543,14 @@
2450
2543
 
2451
2544
 
2452
2545
 
2546
+ <xsl:if test="*[local-name()='bookmark']"> <!-- special case: table/bookmark -->
2547
+ <fo:block keep-with-previous="always" line-height="0.1">
2548
+ <xsl:for-each select="*[local-name()='bookmark']">
2549
+ <xsl:call-template name="bookmark"/>
2550
+ </xsl:for-each>
2551
+ </fo:block>
2552
+ </xsl:if>
2553
+
2453
2554
  </fo:block-container>
2454
2555
  </xsl:variable>
2455
2556
 
@@ -2508,23 +2609,29 @@
2508
2609
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
2509
2610
  <xsl:param name="continued"/>
2510
2611
  <xsl:if test="normalize-space() != ''">
2511
- <fo:block xsl:use-attribute-sets="table-name-style">
2512
-
2513
-
2514
-
2515
-
2612
+
2613
+
2516
2614
 
2517
- <xsl:choose>
2518
- <xsl:when test="$continued = 'true'">
2615
+ <fo:block xsl:use-attribute-sets="table-name-style">
2616
+
2519
2617
 
2520
- </xsl:when>
2521
- <xsl:otherwise>
2522
- <xsl:apply-templates/>
2523
- </xsl:otherwise>
2524
- </xsl:choose>
2525
-
2618
+
2619
+
2620
+
2621
+ <xsl:choose>
2622
+ <xsl:when test="$continued = 'true'">
2623
+
2624
+ </xsl:when>
2625
+ <xsl:otherwise>
2626
+ <xsl:apply-templates/>
2627
+ </xsl:otherwise>
2628
+ </xsl:choose>
2629
+
2630
+
2631
+ </fo:block>
2632
+
2526
2633
 
2527
- </fo:block>
2634
+
2528
2635
  </xsl:if>
2529
2636
  </xsl:template><xsl:template name="calculate-columns-numbers">
2530
2637
  <xsl:param name="table-row"/>
@@ -2922,12 +3029,18 @@
2922
3029
  <fo:table-row>
2923
3030
  <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">
2924
3031
 
2925
- <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
2926
- <xsl:with-param name="continued">true</xsl:with-param>
2927
- </xsl:apply-templates>
2928
3032
 
2929
3033
 
2930
3034
 
3035
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
3036
+ <xsl:with-param name="continued">true</xsl:with-param>
3037
+ </xsl:apply-templates>
3038
+
3039
+
3040
+
3041
+
3042
+
3043
+
2931
3044
  </fo:table-cell>
2932
3045
  </fo:table-row>
2933
3046
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
@@ -2967,77 +3080,91 @@
2967
3080
  </xsl:choose>
2968
3081
  </xsl:variable>
2969
3082
 
2970
- <fo:table keep-with-previous="always">
2971
- <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
2972
- <xsl:variable name="name" select="local-name()"/>
3083
+
3084
+ <xsl:variable name="tableWithNotesAndFootnotes">
3085
+
3086
+ <fo:table keep-with-previous="always">
3087
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3088
+ <xsl:variable name="name" select="local-name()"/>
3089
+ <xsl:choose>
3090
+ <xsl:when test="$name = 'border-top'">
3091
+ <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
3092
+ </xsl:when>
3093
+ <xsl:when test="$name = 'border'">
3094
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3095
+ <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3096
+ </xsl:when>
3097
+ <xsl:otherwise>
3098
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3099
+ </xsl:otherwise>
3100
+ </xsl:choose>
3101
+ </xsl:for-each>
3102
+
3103
+
3104
+
2973
3105
  <xsl:choose>
2974
- <xsl:when test="$name = 'border-top'">
2975
- <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
2976
- </xsl:when>
2977
- <xsl:when test="$name = 'border'">
2978
- <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
2979
- <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3106
+ <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
3107
+ <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
3108
+ <fo:table-column column-width="{@width}"/>
3109
+ </xsl:for-each>
2980
3110
  </xsl:when>
2981
3111
  <xsl:otherwise>
2982
- <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3112
+ <!-- $colwidths=<xsl:copy-of select="$colwidths"/> -->
3113
+ <xsl:call-template name="insertTableColumnWidth">
3114
+ <xsl:with-param name="colwidths" select="$colwidths"/>
3115
+ </xsl:call-template>
2983
3116
  </xsl:otherwise>
2984
3117
  </xsl:choose>
2985
- </xsl:for-each>
2986
-
2987
-
2988
-
2989
- <xsl:choose>
2990
- <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
2991
- <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
2992
- <fo:table-column column-width="{@width}"/>
2993
- </xsl:for-each>
2994
- </xsl:when>
2995
- <xsl:otherwise>
2996
- <!-- $colwidths=<xsl:copy-of select="$colwidths"/> -->
2997
- <xsl:call-template name="insertTableColumnWidth">
2998
- <xsl:with-param name="colwidths" select="$colwidths"/>
2999
- </xsl:call-template>
3000
- </xsl:otherwise>
3001
- </xsl:choose>
3002
-
3003
- <fo:table-body>
3004
- <fo:table-row>
3005
- <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
3006
-
3007
-
3118
+
3119
+ <fo:table-body>
3120
+ <fo:table-row>
3121
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
3122
+
3123
+
3008
3124
 
3009
-
3010
-
3011
- <!-- fn will be processed inside 'note' processing -->
3012
-
3013
-
3014
-
3015
-
3016
-
3017
-
3018
- <!-- for BSI (not PAS) display Notes before footnotes -->
3019
-
3020
-
3021
- <!-- except gb and bsi -->
3022
-
3023
- <xsl:apply-templates select="../*[local-name()='note']"/>
3024
3125
 
3025
-
3026
-
3027
- <!-- horizontal row separator -->
3028
-
3029
-
3030
- <!-- fn processing -->
3031
- <xsl:call-template name="table_fn_display"/>
3032
-
3033
- <!-- for PAS display Notes after footnotes -->
3034
-
3035
-
3036
- </fo:table-cell>
3037
- </fo:table-row>
3038
- </fo:table-body>
3039
-
3040
- </fo:table>
3126
+
3127
+ <!-- fn will be processed inside 'note' processing -->
3128
+
3129
+
3130
+
3131
+
3132
+
3133
+
3134
+ <!-- for BSI (not PAS) display Notes before footnotes -->
3135
+
3136
+
3137
+ <!-- except gb and bsi -->
3138
+
3139
+ <xsl:apply-templates select="../*[local-name()='note']"/>
3140
+
3141
+
3142
+
3143
+ <!-- horizontal row separator -->
3144
+
3145
+
3146
+ <!-- fn processing -->
3147
+
3148
+ <xsl:call-template name="table_fn_display"/>
3149
+
3150
+
3151
+
3152
+ <!-- for PAS display Notes after footnotes -->
3153
+
3154
+
3155
+ </fo:table-cell>
3156
+ </fo:table-row>
3157
+ </fo:table-body>
3158
+
3159
+ </fo:table>
3160
+ </xsl:variable>
3161
+
3162
+ <xsl:if test="normalize-space($tableWithNotesAndFootnotes) != ''">
3163
+ <xsl:copy-of select="$tableWithNotesAndFootnotes"/>
3164
+ </xsl:if>
3165
+
3166
+
3167
+
3041
3168
  </xsl:if>
3042
3169
  </xsl:template><xsl:template match="*[local-name()='tbody']">
3043
3170
 
@@ -3126,6 +3253,9 @@
3126
3253
 
3127
3254
 
3128
3255
 
3256
+
3257
+
3258
+
3129
3259
 
3130
3260
 
3131
3261
  <xsl:call-template name="setTableRowAttributes"/>
@@ -3145,6 +3275,8 @@
3145
3275
 
3146
3276
 
3147
3277
 
3278
+
3279
+
3148
3280
  <xsl:call-template name="setTableRowAttributes"/>
3149
3281
  <xsl:apply-templates/>
3150
3282
  </fo:table-row>
@@ -3226,6 +3358,8 @@
3226
3358
 
3227
3359
 
3228
3360
 
3361
+
3362
+
3229
3363
 
3230
3364
 
3231
3365
 
@@ -3297,7 +3431,11 @@
3297
3431
 
3298
3432
  <xsl:variable name="gen_id" select="generate-id(.)"/>
3299
3433
  <xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
3300
- <xsl:variable name="reference" select="@reference"/>
3434
+ <xsl:variable name="reference_">
3435
+ <xsl:value-of select="@reference"/>
3436
+ <xsl:if test="normalize-space(@reference) = ''"><xsl:value-of select="$gen_id"/></xsl:if>
3437
+ </xsl:variable>
3438
+ <xsl:variable name="reference" select="normalize-space($reference_)"/>
3301
3439
  <!-- fn sequence number in document -->
3302
3440
  <xsl:variable name="current_fn_number">
3303
3441
  <xsl:choose>
@@ -3317,6 +3455,7 @@
3317
3455
  <xsl:variable name="footnote_inline">
3318
3456
  <fo:inline xsl:use-attribute-sets="fn-num-style">
3319
3457
 
3458
+
3320
3459
  <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
3321
3460
  <xsl:value-of select="$current_fn_number_text"/>
3322
3461
  </fo:basic-link>
@@ -3338,8 +3477,12 @@
3338
3477
  <fo:block xsl:use-attribute-sets="fn-body-style">
3339
3478
 
3340
3479
 
3480
+
3341
3481
  <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
3342
3482
 
3483
+
3484
+
3485
+
3343
3486
  <xsl:value-of select="$current_fn_number_text"/>
3344
3487
  </fo:inline>
3345
3488
  <xsl:apply-templates/>
@@ -3372,7 +3515,7 @@
3372
3515
  <xsl:copy-of select="node()"/>
3373
3516
  </fn>
3374
3517
  </xsl:for-each>
3375
- <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']/*">
3518
+ <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']/*">
3376
3519
  <xsl:sort select="@displayorder" data-type="number"/>
3377
3520
  <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])]">
3378
3521
  <!-- copy unique fn -->
@@ -5018,6 +5161,13 @@
5018
5161
  </xsl:variable>
5019
5162
  <fo:inline xsl:use-attribute-sets="link-style">
5020
5163
 
5164
+ <xsl:if test="starts-with(normalize-space(@target), 'mailto:')">
5165
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5166
+ </xsl:if>
5167
+
5168
+
5169
+
5170
+
5021
5171
 
5022
5172
 
5023
5173
 
@@ -5231,6 +5381,7 @@
5231
5381
 
5232
5382
 
5233
5383
 
5384
+
5234
5385
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
5235
5386
  <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
5236
5387
  <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
@@ -5252,6 +5403,7 @@
5252
5403
  </xsl:when>
5253
5404
  <xsl:otherwise>
5254
5405
 
5406
+
5255
5407
  <xsl:text>:</xsl:text>
5256
5408
 
5257
5409
 
@@ -5272,6 +5424,7 @@
5272
5424
  <xsl:otherwise>
5273
5425
 
5274
5426
 
5427
+
5275
5428
  </xsl:otherwise>
5276
5429
  </xsl:choose>
5277
5430
  </xsl:variable>
@@ -5280,7 +5433,19 @@
5280
5433
  <xsl:value-of select="$suffix"/>
5281
5434
  </xsl:if>
5282
5435
  </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
5283
- <fo:inline><xsl:apply-templates/></fo:inline>
5436
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
5437
+ <xsl:choose>
5438
+ <xsl:when test="$num = 1"> <!-- first paragraph renders in the same line as titlenote name -->
5439
+ <fo:inline xsl:use-attribute-sets="termnote-p-style">
5440
+ <xsl:apply-templates/>
5441
+ </fo:inline>
5442
+ </xsl:when>
5443
+ <xsl:otherwise>
5444
+ <fo:block xsl:use-attribute-sets="termnote-p-style">
5445
+ <xsl:apply-templates/>
5446
+ </fo:block>
5447
+ </xsl:otherwise>
5448
+ </xsl:choose>
5284
5449
  </xsl:template><xsl:template match="*[local-name() = 'terms']">
5285
5450
  <!-- <xsl:message>'terms' <xsl:number/> processing...</xsl:message> -->
5286
5451
  <fo:block id="{@id}">
@@ -6039,6 +6204,9 @@
6039
6204
  <fo:block xsl:use-attribute-sets="figure-name-style">
6040
6205
 
6041
6206
 
6207
+
6208
+
6209
+
6042
6210
  <xsl:apply-templates/>
6043
6211
  </fo:block>
6044
6212
  </xsl:if>
@@ -6099,9 +6267,9 @@
6099
6267
  <xsl:apply-templates/>
6100
6268
  </xsl:otherwise>
6101
6269
  </xsl:choose>
6102
- </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">
6270
+ </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">
6103
6271
  <xsl:value-of select="."/>
6104
- </xsl:template><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
6272
+ </xsl:template><xsl:template match="*[local-name() = 'review']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
6105
6273
  <xsl:text> </xsl:text>
6106
6274
  </xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
6107
6275
  <xsl:copy>
@@ -6175,6 +6343,9 @@
6175
6343
  <!-- 9 -->
6176
6344
 
6177
6345
 
6346
+ <!-- <xsl:if test="$namespace = 'ieee'">
6347
+ <xsl:if test="$current_template = 'standard'">8</xsl:if>
6348
+ </xsl:if> -->
6178
6349
 
6179
6350
 
6180
6351
 
@@ -6619,10 +6790,14 @@
6619
6790
  </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'p']">
6620
6791
  <xsl:variable name="element">inline
6621
6792
 
6793
+
6622
6794
  </xsl:variable>
6623
6795
  <xsl:choose>
6624
6796
  <xsl:when test="contains($element, 'block')">
6625
6797
  <fo:block xsl:use-attribute-sets="example-p-style">
6798
+
6799
+
6800
+
6626
6801
  <xsl:apply-templates/>
6627
6802
  </fo:block>
6628
6803
  </xsl:when>
@@ -6730,6 +6905,7 @@
6730
6905
  </xsl:if>
6731
6906
  <fo:block xsl:use-attribute-sets="example-p-style">
6732
6907
 
6908
+
6733
6909
  <xsl:apply-templates/>
6734
6910
  </fo:block>
6735
6911
  </fo:block-container>
@@ -6888,6 +7064,8 @@
6888
7064
 
6889
7065
 
6890
7066
 
7067
+
7068
+
6891
7069
  <fo:basic-link fox:alt-text="{@citeas}">
6892
7070
  <xsl:if test="normalize-space(@citeas) = ''">
6893
7071
  <xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
@@ -6942,6 +7120,7 @@
6942
7120
 
6943
7121
 
6944
7122
 
7123
+
6945
7124
 
6946
7125
  <xsl:variable name="references_num_current">
6947
7126
  <xsl:number level="any" count="m3d:references"/>
@@ -7312,6 +7491,8 @@
7312
7491
 
7313
7492
 
7314
7493
 
7494
+
7495
+
7315
7496
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
7316
7497
  <xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
7317
7498
  <xsl:call-template name="append_add-style"/>
@@ -7496,7 +7677,7 @@
7496
7677
  </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']/text()">
7497
7678
  <!-- to split by '_' and other chars -->
7498
7679
  <xsl:call-template name="add-zero-spaces-java"/>
7499
- </xsl:template><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
7680
+ </xsl:template><xsl:template match="*[local-name() = 'table']/*[local-name() = 'bookmark']" priority="2"/><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
7500
7681
  <!-- <fo:inline id="{@id}" font-size="1pt"/> -->
7501
7682
  <fo:inline id="{@id}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:inline>
7502
7683
  <!-- we need to add zero-width space, otherwise this fo:inline is missing in IF xml -->
@@ -7576,9 +7757,9 @@
7576
7757
  </fo:block>
7577
7758
 
7578
7759
 
7579
- </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
7760
+ </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" name="bibitem_non_normative" priority="2">
7580
7761
 
7581
- <!-- $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'jcgm' or $namespace = 'm3d' or
7762
+ <!-- $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'ieee' or $namespace = 'iso' or $namespace = 'jcgm' or $namespace = 'm3d' or
7582
7763
  $namespace = 'mpfd' or $namespace = 'ogc' or $namespace = 'ogc-white-paper' -->
7583
7764
  <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
7584
7765
  <fo:list-block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-style">
@@ -7589,7 +7770,7 @@
7589
7770
 
7590
7771
  <xsl:value-of select="*[local-name()='docidentifier'][@type = 'metanorma-ordinal']"/>
7591
7772
  <xsl:if test="not(*[local-name()='docidentifier'][@type = 'metanorma-ordinal'])">
7592
- <xsl:number format="[1]"/>
7773
+ <xsl:number format="[1]" count="*[local-name()='bibitem'][not(@hidden = 'true')]"/>
7593
7774
  </xsl:if>
7594
7775
 
7595
7776
  </fo:inline>
@@ -7931,12 +8112,16 @@
7931
8112
  <fo:block-container id="{@id}" xsl:use-attribute-sets="admonition-style">
7932
8113
 
7933
8114
 
8115
+
8116
+
7934
8117
 
7935
8118
 
7936
8119
 
7937
8120
  <fo:block-container xsl:use-attribute-sets="admonition-container-style">
7938
8121
 
7939
8122
 
8123
+
8124
+
7940
8125
  <fo:block xsl:use-attribute-sets="admonition-name-style">
7941
8126
  <xsl:call-template name="displayAdmonitionName"/>
7942
8127
  </fo:block>
@@ -8140,6 +8325,8 @@
8140
8325
  </xsl:when>
8141
8326
  <xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
8142
8327
  </xsl:choose>
8328
+ </xsl:template><xsl:template match="*[local-name() = 'lang_none']">
8329
+ <fo:inline xml:lang="none"><xsl:value-of select="."/></fo:inline>
8143
8330
  </xsl:template><xsl:template name="printEdition">
8144
8331
  <xsl:variable name="edition_i18n" select="normalize-space((//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) != ''])"/>
8145
8332
  <xsl:text> </xsl:text>
@@ -8246,8 +8433,30 @@
8246
8433
  </xsl:when>
8247
8434
  <xsl:otherwise><xsl:value-of select="$monthStr_"/></xsl:otherwise>
8248
8435
  </xsl:choose>
8436
+ </xsl:template><xsl:template name="getMonthLocalizedByNum">
8437
+ <xsl:param name="num"/>
8438
+ <xsl:variable name="monthStr">
8439
+ <xsl:choose>
8440
+ <xsl:when test="$num = '01'">january</xsl:when>
8441
+ <xsl:when test="$num = '02'">february</xsl:when>
8442
+ <xsl:when test="$num = '03'">march</xsl:when>
8443
+ <xsl:when test="$num = '04'">april</xsl:when>
8444
+ <xsl:when test="$num = '05'">may</xsl:when>
8445
+ <xsl:when test="$num = '06'">june</xsl:when>
8446
+ <xsl:when test="$num = '07'">july</xsl:when>
8447
+ <xsl:when test="$num = '08'">august</xsl:when>
8448
+ <xsl:when test="$num = '09'">september</xsl:when>
8449
+ <xsl:when test="$num = '10'">october</xsl:when>
8450
+ <xsl:when test="$num = '11'">november</xsl:when>
8451
+ <xsl:when test="$num = '12'">december</xsl:when>
8452
+ </xsl:choose>
8453
+ </xsl:variable>
8454
+ <xsl:call-template name="getLocalizedString">
8455
+ <xsl:with-param name="key">month_<xsl:value-of select="$monthStr"/></xsl:with-param>
8456
+ </xsl:call-template>
8249
8457
  </xsl:template><xsl:template name="insertKeywords">
8250
8458
  <xsl:param name="sorting" select="'true'"/>
8459
+ <xsl:param name="meta" select="'false'"/>
8251
8460
  <xsl:param name="charAtEnd" select="'.'"/>
8252
8461
  <xsl:param name="charDelim" select="', '"/>
8253
8462
  <xsl:choose>
@@ -8255,6 +8464,7 @@
8255
8464
  <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
8256
8465
  <xsl:sort data-type="text" order="ascending"/>
8257
8466
  <xsl:call-template name="insertKeyword">
8467
+ <xsl:with-param name="meta" select="$meta"/>
8258
8468
  <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
8259
8469
  <xsl:with-param name="charDelim" select="$charDelim"/>
8260
8470
  </xsl:call-template>
@@ -8263,6 +8473,7 @@
8263
8473
  <xsl:otherwise>
8264
8474
  <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
8265
8475
  <xsl:call-template name="insertKeyword">
8476
+ <xsl:with-param name="meta" select="$meta"/>
8266
8477
  <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
8267
8478
  <xsl:with-param name="charDelim" select="$charDelim"/>
8268
8479
  </xsl:call-template>
@@ -8272,7 +8483,15 @@
8272
8483
  </xsl:template><xsl:template name="insertKeyword">
8273
8484
  <xsl:param name="charAtEnd"/>
8274
8485
  <xsl:param name="charDelim"/>
8275
- <xsl:apply-templates/>
8486
+ <xsl:param name="meta"/>
8487
+ <xsl:choose>
8488
+ <xsl:when test="$meta = 'true'">
8489
+ <xsl:value-of select="."/>
8490
+ </xsl:when>
8491
+ <xsl:otherwise>
8492
+ <xsl:apply-templates/>
8493
+ </xsl:otherwise>
8494
+ </xsl:choose>
8276
8495
  <xsl:choose>
8277
8496
  <xsl:when test="position() != last()"><xsl:value-of select="$charDelim"/></xsl:when>
8278
8497
  <xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
@@ -8317,13 +8536,15 @@
8317
8536
  <dc:description>
8318
8537
  <xsl:variable name="abstract">
8319
8538
 
8320
- <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
8539
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()[not(ancestor::*[local-name() = 'title'])]"/>
8321
8540
 
8322
8541
  </xsl:variable>
8323
8542
  <xsl:value-of select="normalize-space($abstract)"/>
8324
8543
  </dc:description>
8325
8544
  <pdf:Keywords>
8326
- <xsl:call-template name="insertKeywords"/>
8545
+ <xsl:call-template name="insertKeywords">
8546
+ <xsl:with-param name="meta">true</xsl:with-param>
8547
+ </xsl:call-template>
8327
8548
  </pdf:Keywords>
8328
8549
  </rdf:Description>
8329
8550
  <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
@@ -8445,6 +8666,7 @@
8445
8666
 
8446
8667
 
8447
8668
 
8669
+
8448
8670
  <xsl:value-of select="document('')//*/namespace::m3d"/>
8449
8671
 
8450
8672