metanorma-ogc 2.1.2 → 2.1.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -791,7 +791,7 @@
791
791
  <xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
792
792
  </xsl:otherwise>
793
793
  </xsl:choose>
794
- </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">
794
+ </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">
795
795
 
796
796
 
797
797
 
@@ -806,7 +806,9 @@
806
806
 
807
807
 
808
808
 
809
- <xsl:attribute name="font-family">Arial, STIX Two Math, Source Han Sans</xsl:attribute>
809
+
810
+ <xsl:attribute name="font-family">Arial, STIX Two Math, <xsl:value-of select="$font_noto_sans"/></xsl:attribute>
811
+ <xsl:attribute name="font-family-generic">Sans</xsl:attribute>
810
812
  <xsl:attribute name="font-size">11pt</xsl:attribute>
811
813
 
812
814
 
@@ -822,17 +824,60 @@
822
824
  </xsl:variable>
823
825
  <xsl:variable name="additional_fonts" select="normalize-space($additional_fonts_)"/>
824
826
 
827
+ <xsl:variable name="font_family_generic" select="$root-style_/root-style/@font-family-generic"/>
828
+
825
829
  <xsl:for-each select="$root-style_/root-style/@*">
830
+
826
831
  <xsl:choose>
827
- <xsl:when test="local-name() = 'font-family' and $additional_fonts != ''">
832
+ <xsl:when test="local-name() = 'font-family-generic'"><!-- skip, it's using for determine 'sans' or 'serif' --></xsl:when>
833
+ <xsl:when test="local-name() = 'font-family'">
834
+
835
+ <xsl:variable name="font_regional_prefix">
836
+ <xsl:choose>
837
+ <xsl:when test="$font_family_generic = 'Sans'">Noto Sans</xsl:when>
838
+ <xsl:otherwise>Noto Serif</xsl:otherwise>
839
+ </xsl:choose>
840
+ </xsl:variable>
841
+
828
842
  <xsl:attribute name="{local-name()}">
829
- <xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
843
+
844
+ <xsl:variable name="font_extended">
845
+ <xsl:choose>
846
+ <xsl:when test="$lang = 'zh'"><xsl:value-of select="$font_regional_prefix"/> SC</xsl:when>
847
+ <xsl:when test="$lang = 'hk'"><xsl:value-of select="$font_regional_prefix"/> HK</xsl:when>
848
+ <xsl:when test="$lang = 'jp'"><xsl:value-of select="$font_regional_prefix"/> JP</xsl:when>
849
+ <xsl:when test="$lang = 'kr'"><xsl:value-of select="$font_regional_prefix"/> KR</xsl:when>
850
+ <xsl:when test="$lang = 'sc'"><xsl:value-of select="$font_regional_prefix"/> SC</xsl:when>
851
+ <xsl:when test="$lang = 'tc'"><xsl:value-of select="$font_regional_prefix"/> TC</xsl:when>
852
+ </xsl:choose>
853
+ </xsl:variable>
854
+ <xsl:if test="normalize-space($font_extended) != ''">
855
+ <xsl:value-of select="$font_regional_prefix"/><xsl:text>, </xsl:text>
856
+ <xsl:value-of select="$font_extended"/><xsl:text>, </xsl:text>
857
+ </xsl:if>
858
+
859
+ <xsl:value-of select="."/>
860
+
861
+ <xsl:if test="$additional_fonts != ''">
862
+ <xsl:text>, </xsl:text><xsl:value-of select="$additional_fonts"/>
863
+ </xsl:if>
830
864
  </xsl:attribute>
831
865
  </xsl:when>
832
866
  <xsl:otherwise>
833
867
  <xsl:copy-of select="."/>
834
868
  </xsl:otherwise>
835
869
  </xsl:choose>
870
+
871
+ <!-- <xsl:choose>
872
+ <xsl:when test="local-name() = 'font-family'">
873
+ <xsl:attribute name="{local-name()}">
874
+ <xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
875
+ </xsl:attribute>
876
+ </xsl:when>
877
+ <xsl:otherwise>
878
+ <xsl:copy-of select="."/>
879
+ </xsl:otherwise>
880
+ </xsl:choose> -->
836
881
  </xsl:for-each>
837
882
  </xsl:template><xsl:attribute-set name="copyright-statement-style">
838
883
 
@@ -928,10 +973,11 @@
928
973
 
929
974
 
930
975
 
976
+
931
977
 
932
978
 
933
979
 
934
- <xsl:attribute name="font-family">Courier New</xsl:attribute>
980
+ <xsl:attribute name="font-family">Courier New, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
935
981
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
936
982
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
937
983
  <xsl:attribute name="line-height">113%</xsl:attribute>
@@ -960,9 +1006,12 @@
960
1006
 
961
1007
  </xsl:attribute-set><xsl:attribute-set name="requirement-style">
962
1008
 
1009
+
963
1010
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
964
1011
 
965
1012
  </xsl:attribute-set><xsl:attribute-set name="requirement-name-style">
1013
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1014
+
966
1015
 
967
1016
  <xsl:attribute name="font-size">11pt</xsl:attribute>
968
1017
  <xsl:attribute name="font-weight">bold</xsl:attribute>
@@ -971,7 +1020,6 @@
971
1020
  <xsl:attribute name="padding-bottom">1mm</xsl:attribute>
972
1021
  <xsl:attribute name="margin-bottom">1mm</xsl:attribute>
973
1022
  <xsl:attribute name="background-color">rgb(165,165,165)</xsl:attribute>
974
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
975
1023
 
976
1024
  </xsl:attribute-set><xsl:attribute-set name="requirement-label-style">
977
1025
 
@@ -1015,6 +1063,7 @@
1015
1063
 
1016
1064
 
1017
1065
 
1066
+
1018
1067
 
1019
1068
  </xsl:attribute-set><xsl:attribute-set name="example-style">
1020
1069
 
@@ -1026,6 +1075,7 @@
1026
1075
 
1027
1076
 
1028
1077
 
1078
+
1029
1079
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1030
1080
  <xsl:attribute name="margin-left">12.5mm</xsl:attribute>
1031
1081
  <xsl:attribute name="margin-right">12.5mm</xsl:attribute>
@@ -1053,6 +1103,7 @@
1053
1103
 
1054
1104
 
1055
1105
 
1106
+
1056
1107
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1057
1108
  <xsl:attribute name="text-align">center</xsl:attribute>
1058
1109
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
@@ -1089,10 +1140,12 @@
1089
1140
 
1090
1141
 
1091
1142
 
1143
+
1092
1144
 
1093
1145
 
1094
1146
  </xsl:attribute-set><xsl:variable name="table-border_">
1095
1147
 
1148
+
1096
1149
  </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
1097
1150
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
1098
1151
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
@@ -1113,6 +1166,7 @@
1113
1166
 
1114
1167
 
1115
1168
 
1169
+
1116
1170
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1117
1171
  <xsl:attribute name="space-after">12pt</xsl:attribute>
1118
1172
 
@@ -1142,6 +1196,7 @@
1142
1196
 
1143
1197
 
1144
1198
 
1199
+
1145
1200
 
1146
1201
 
1147
1202
 
@@ -1153,6 +1208,7 @@
1153
1208
 
1154
1209
 
1155
1210
 
1211
+
1156
1212
 
1157
1213
 
1158
1214
 
@@ -1235,6 +1291,7 @@
1235
1291
 
1236
1292
 
1237
1293
 
1294
+
1238
1295
  <xsl:attribute name="padding-top">1mm</xsl:attribute>
1239
1296
  <xsl:attribute name="border">solid 0.5pt rgb(153, 153, 153)</xsl:attribute>
1240
1297
  <xsl:attribute name="height">5mm</xsl:attribute>
@@ -1254,7 +1311,7 @@
1254
1311
 
1255
1312
 
1256
1313
 
1257
-
1314
+
1258
1315
 
1259
1316
 
1260
1317
 
@@ -1269,6 +1326,7 @@
1269
1326
 
1270
1327
 
1271
1328
 
1329
+
1272
1330
  </xsl:attribute-set><xsl:attribute-set name="table-fn-style">
1273
1331
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1274
1332
 
@@ -1277,6 +1335,8 @@
1277
1335
 
1278
1336
 
1279
1337
 
1338
+
1339
+
1280
1340
  </xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
1281
1341
  <xsl:attribute name="font-size">80%</xsl:attribute>
1282
1342
  <xsl:attribute name="padding-right">5mm</xsl:attribute>
@@ -1291,6 +1351,7 @@
1291
1351
 
1292
1352
 
1293
1353
 
1354
+
1294
1355
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1295
1356
 
1296
1357
 
@@ -1325,6 +1386,7 @@
1325
1386
 
1326
1387
 
1327
1388
 
1389
+
1328
1390
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
1329
1391
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1330
1392
 
@@ -1337,6 +1399,7 @@
1337
1399
 
1338
1400
 
1339
1401
 
1402
+
1340
1403
 
1341
1404
 
1342
1405
 
@@ -1393,6 +1456,7 @@
1393
1456
 
1394
1457
 
1395
1458
 
1459
+
1396
1460
 
1397
1461
 
1398
1462
 
@@ -1435,7 +1499,8 @@
1435
1499
 
1436
1500
 
1437
1501
 
1438
-
1502
+
1503
+
1439
1504
 
1440
1505
 
1441
1506
 
@@ -1454,6 +1519,7 @@
1454
1519
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1455
1520
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1456
1521
 
1522
+
1457
1523
 
1458
1524
 
1459
1525
 
@@ -1464,6 +1530,10 @@
1464
1530
 
1465
1531
 
1466
1532
 
1533
+ </xsl:attribute-set><xsl:attribute-set name="termnote-p-style">
1534
+
1535
+ <xsl:attribute name="space-before">4pt</xsl:attribute>
1536
+
1467
1537
  </xsl:attribute-set><xsl:attribute-set name="quote-style">
1468
1538
  <xsl:attribute name="margin-left">12mm</xsl:attribute>
1469
1539
  <xsl:attribute name="margin-right">12mm</xsl:attribute>
@@ -1515,6 +1585,7 @@
1515
1585
  </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
1516
1586
 
1517
1587
 
1588
+
1518
1589
 
1519
1590
 
1520
1591
 
@@ -1563,6 +1634,7 @@
1563
1634
 
1564
1635
 
1565
1636
 
1637
+
1566
1638
  <xsl:attribute name="text-align">left</xsl:attribute>
1567
1639
  <xsl:attribute name="margin-left">5mm</xsl:attribute>
1568
1640
 
@@ -1588,20 +1660,20 @@
1588
1660
  </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
1589
1661
 
1590
1662
  </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
1663
+ <xsl:attribute name="width">100%</xsl:attribute>
1664
+ <xsl:attribute name="content-height">100%</xsl:attribute>
1665
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
1591
1666
 
1592
1667
 
1593
- <xsl:attribute name="width">100%</xsl:attribute>
1594
1668
  <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
1595
- <xsl:attribute name="scaling">uniform</xsl:attribute>
1596
1669
 
1597
1670
 
1598
1671
 
1599
-
1600
-
1672
+
1601
1673
  </xsl:attribute-set><xsl:attribute-set name="tt-style">
1602
1674
 
1603
1675
 
1604
- <xsl:attribute name="font-family">Courier New</xsl:attribute>
1676
+ <xsl:attribute name="font-family">Courier New, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
1605
1677
 
1606
1678
 
1607
1679
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
@@ -1682,6 +1754,7 @@
1682
1754
 
1683
1755
 
1684
1756
 
1757
+
1685
1758
  <xsl:attribute name="provisional-distance-between-starts">6.5mm</xsl:attribute>
1686
1759
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1687
1760
  <xsl:attribute name="line-height">115%</xsl:attribute>
@@ -1755,6 +1828,7 @@
1755
1828
 
1756
1829
 
1757
1830
 
1831
+
1758
1832
  <xsl:attribute name="font-size">65%</xsl:attribute>
1759
1833
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1760
1834
 
@@ -1781,6 +1855,7 @@
1781
1855
 
1782
1856
 
1783
1857
 
1858
+
1784
1859
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1785
1860
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1786
1861
  <xsl:attribute name="color">black</xsl:attribute>
@@ -1805,6 +1880,7 @@
1805
1880
 
1806
1881
 
1807
1882
 
1883
+
1808
1884
  <xsl:attribute name="font-size">60%</xsl:attribute>
1809
1885
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1810
1886
 
@@ -1823,6 +1899,7 @@
1823
1899
 
1824
1900
 
1825
1901
 
1902
+
1826
1903
  <xsl:attribute name="border">0.5pt solid rgb(79, 129, 189)</xsl:attribute>
1827
1904
  <xsl:attribute name="color">rgb(79, 129, 189)</xsl:attribute>
1828
1905
  <xsl:attribute name="margin-left">16mm</xsl:attribute>
@@ -1833,6 +1910,9 @@
1833
1910
 
1834
1911
 
1835
1912
  </xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
1913
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1914
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1915
+
1836
1916
 
1837
1917
 
1838
1918
 
@@ -1840,8 +1920,6 @@
1840
1920
 
1841
1921
 
1842
1922
 
1843
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
1844
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
1845
1923
  <xsl:attribute name="padding">2mm</xsl:attribute>
1846
1924
  <xsl:attribute name="padding-top">3mm</xsl:attribute>
1847
1925
 
@@ -1878,6 +1956,7 @@
1878
1956
 
1879
1957
 
1880
1958
 
1959
+
1881
1960
  <xsl:attribute name="font-style">italic</xsl:attribute>
1882
1961
 
1883
1962
 
@@ -1914,6 +1993,10 @@
1914
1993
 
1915
1994
 
1916
1995
 
1996
+ <!-- <xsl:if test="$namespace = 'ieee'">
1997
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1998
+ <xsl:attribute name="provisional-distance-between-starts">9.5mm</xsl:attribute>
1999
+ </xsl:if> -->
1917
2000
 
1918
2001
 
1919
2002
 
@@ -1941,16 +2024,19 @@
1941
2024
 
1942
2025
 
1943
2026
 
2027
+
1944
2028
 
1945
2029
 
1946
2030
 
1947
2031
  </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
1948
2032
 
1949
2033
 
2034
+
1950
2035
  </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-body-style">
1951
2036
 
1952
2037
 
1953
2038
 
2039
+
1954
2040
  </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-style">
1955
2041
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1956
2042
  <xsl:attribute name="font-size">65%</xsl:attribute>
@@ -1968,6 +2054,7 @@
1968
2054
 
1969
2055
 
1970
2056
 
2057
+
1971
2058
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1972
2059
 
1973
2060
 
@@ -1988,6 +2075,7 @@
1988
2075
 
1989
2076
 
1990
2077
 
2078
+
1991
2079
  <xsl:attribute name="font-size">60%</xsl:attribute>
1992
2080
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1993
2081
 
@@ -2008,6 +2096,7 @@
2008
2096
 
2009
2097
 
2010
2098
 
2099
+
2011
2100
  </xsl:attribute-set><xsl:attribute-set name="references-non-normative-style">
2012
2101
 
2013
2102
 
@@ -2479,6 +2568,8 @@
2479
2568
 
2480
2569
 
2481
2570
 
2571
+
2572
+
2482
2573
 
2483
2574
 
2484
2575
 
@@ -2520,6 +2611,8 @@
2520
2611
 
2521
2612
 
2522
2613
 
2614
+
2615
+
2523
2616
  </xsl:element>
2524
2617
  </xsl:variable>
2525
2618
 
@@ -2609,6 +2702,14 @@
2609
2702
  <xsl:apply-templates select="*[local-name()='name']"/>
2610
2703
 
2611
2704
 
2705
+ <xsl:if test="*[local-name()='bookmark']"> <!-- special case: table/bookmark -->
2706
+ <fo:block keep-with-previous="always" line-height="0.1">
2707
+ <xsl:for-each select="*[local-name()='bookmark']">
2708
+ <xsl:call-template name="bookmark"/>
2709
+ </xsl:for-each>
2710
+ </fo:block>
2711
+ </xsl:if>
2712
+
2612
2713
  </fo:block-container>
2613
2714
  </xsl:variable>
2614
2715
 
@@ -2664,23 +2765,29 @@
2664
2765
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
2665
2766
  <xsl:param name="continued"/>
2666
2767
  <xsl:if test="normalize-space() != ''">
2667
- <fo:block xsl:use-attribute-sets="table-name-style">
2668
-
2669
-
2670
-
2671
-
2768
+
2769
+
2672
2770
 
2673
- <xsl:choose>
2674
- <xsl:when test="$continued = 'true'">
2771
+ <fo:block xsl:use-attribute-sets="table-name-style">
2772
+
2675
2773
 
2676
- </xsl:when>
2677
- <xsl:otherwise>
2678
- <xsl:apply-templates/>
2679
- </xsl:otherwise>
2680
- </xsl:choose>
2681
-
2774
+
2775
+
2776
+
2777
+ <xsl:choose>
2778
+ <xsl:when test="$continued = 'true'">
2779
+
2780
+ </xsl:when>
2781
+ <xsl:otherwise>
2782
+ <xsl:apply-templates/>
2783
+ </xsl:otherwise>
2784
+ </xsl:choose>
2785
+
2786
+
2787
+ </fo:block>
2788
+
2682
2789
 
2683
- </fo:block>
2790
+
2684
2791
  </xsl:if>
2685
2792
  </xsl:template><xsl:template name="calculate-columns-numbers">
2686
2793
  <xsl:param name="table-row"/>
@@ -3078,12 +3185,18 @@
3078
3185
  <fo:table-row>
3079
3186
  <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">
3080
3187
 
3081
- <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
3082
- <xsl:with-param name="continued">true</xsl:with-param>
3083
- </xsl:apply-templates>
3084
3188
 
3085
3189
 
3086
3190
 
3191
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
3192
+ <xsl:with-param name="continued">true</xsl:with-param>
3193
+ </xsl:apply-templates>
3194
+
3195
+
3196
+
3197
+
3198
+
3199
+
3087
3200
  </fo:table-cell>
3088
3201
  </fo:table-row>
3089
3202
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
@@ -3123,77 +3236,91 @@
3123
3236
  </xsl:choose>
3124
3237
  </xsl:variable>
3125
3238
 
3126
- <fo:table keep-with-previous="always">
3127
- <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3128
- <xsl:variable name="name" select="local-name()"/>
3239
+
3240
+ <xsl:variable name="tableWithNotesAndFootnotes">
3241
+
3242
+ <fo:table keep-with-previous="always">
3243
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3244
+ <xsl:variable name="name" select="local-name()"/>
3245
+ <xsl:choose>
3246
+ <xsl:when test="$name = 'border-top'">
3247
+ <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
3248
+ </xsl:when>
3249
+ <xsl:when test="$name = 'border'">
3250
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3251
+ <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3252
+ </xsl:when>
3253
+ <xsl:otherwise>
3254
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3255
+ </xsl:otherwise>
3256
+ </xsl:choose>
3257
+ </xsl:for-each>
3258
+
3259
+
3260
+
3129
3261
  <xsl:choose>
3130
- <xsl:when test="$name = 'border-top'">
3131
- <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
3132
- </xsl:when>
3133
- <xsl:when test="$name = 'border'">
3134
- <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3135
- <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3262
+ <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
3263
+ <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
3264
+ <fo:table-column column-width="{@width}"/>
3265
+ </xsl:for-each>
3136
3266
  </xsl:when>
3137
3267
  <xsl:otherwise>
3138
- <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3268
+ <!-- $colwidths=<xsl:copy-of select="$colwidths"/> -->
3269
+ <xsl:call-template name="insertTableColumnWidth">
3270
+ <xsl:with-param name="colwidths" select="$colwidths"/>
3271
+ </xsl:call-template>
3139
3272
  </xsl:otherwise>
3140
3273
  </xsl:choose>
3141
- </xsl:for-each>
3142
-
3143
-
3144
-
3145
- <xsl:choose>
3146
- <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
3147
- <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
3148
- <fo:table-column column-width="{@width}"/>
3149
- </xsl:for-each>
3150
- </xsl:when>
3151
- <xsl:otherwise>
3152
- <!-- $colwidths=<xsl:copy-of select="$colwidths"/> -->
3153
- <xsl:call-template name="insertTableColumnWidth">
3154
- <xsl:with-param name="colwidths" select="$colwidths"/>
3155
- </xsl:call-template>
3156
- </xsl:otherwise>
3157
- </xsl:choose>
3158
-
3159
- <fo:table-body>
3160
- <fo:table-row>
3161
- <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
3162
-
3163
-
3274
+
3275
+ <fo:table-body>
3276
+ <fo:table-row>
3277
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
3278
+
3279
+
3164
3280
 
3165
-
3166
-
3167
- <!-- fn will be processed inside 'note' processing -->
3168
-
3169
-
3170
-
3171
-
3172
-
3173
-
3174
- <!-- for BSI (not PAS) display Notes before footnotes -->
3175
-
3176
-
3177
- <!-- except gb and bsi -->
3178
-
3179
- <xsl:apply-templates select="../*[local-name()='note']"/>
3180
3281
 
3181
-
3182
-
3183
- <!-- horizontal row separator -->
3184
-
3185
-
3186
- <!-- fn processing -->
3187
- <xsl:call-template name="table_fn_display"/>
3188
-
3189
- <!-- for PAS display Notes after footnotes -->
3190
-
3191
-
3192
- </fo:table-cell>
3193
- </fo:table-row>
3194
- </fo:table-body>
3195
-
3196
- </fo:table>
3282
+
3283
+ <!-- fn will be processed inside 'note' processing -->
3284
+
3285
+
3286
+
3287
+
3288
+
3289
+
3290
+ <!-- for BSI (not PAS) display Notes before footnotes -->
3291
+
3292
+
3293
+ <!-- except gb and bsi -->
3294
+
3295
+ <xsl:apply-templates select="../*[local-name()='note']"/>
3296
+
3297
+
3298
+
3299
+ <!-- horizontal row separator -->
3300
+
3301
+
3302
+ <!-- fn processing -->
3303
+
3304
+ <xsl:call-template name="table_fn_display"/>
3305
+
3306
+
3307
+
3308
+ <!-- for PAS display Notes after footnotes -->
3309
+
3310
+
3311
+ </fo:table-cell>
3312
+ </fo:table-row>
3313
+ </fo:table-body>
3314
+
3315
+ </fo:table>
3316
+ </xsl:variable>
3317
+
3318
+ <xsl:if test="normalize-space($tableWithNotesAndFootnotes) != ''">
3319
+ <xsl:copy-of select="$tableWithNotesAndFootnotes"/>
3320
+ </xsl:if>
3321
+
3322
+
3323
+
3197
3324
  </xsl:if>
3198
3325
  </xsl:template><xsl:template match="*[local-name()='tbody']">
3199
3326
 
@@ -3282,6 +3409,9 @@
3282
3409
 
3283
3410
 
3284
3411
 
3412
+
3413
+
3414
+
3285
3415
 
3286
3416
 
3287
3417
  <xsl:call-template name="setTableRowAttributes"/>
@@ -3301,6 +3431,8 @@
3301
3431
 
3302
3432
 
3303
3433
 
3434
+
3435
+
3304
3436
  <xsl:call-template name="setTableRowAttributes"/>
3305
3437
  <xsl:apply-templates/>
3306
3438
  </fo:table-row>
@@ -3382,6 +3514,8 @@
3382
3514
 
3383
3515
 
3384
3516
 
3517
+
3518
+
3385
3519
 
3386
3520
 
3387
3521
 
@@ -3453,7 +3587,11 @@
3453
3587
 
3454
3588
  <xsl:variable name="gen_id" select="generate-id(.)"/>
3455
3589
  <xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
3456
- <xsl:variable name="reference" select="@reference"/>
3590
+ <xsl:variable name="reference_">
3591
+ <xsl:value-of select="@reference"/>
3592
+ <xsl:if test="normalize-space(@reference) = ''"><xsl:value-of select="$gen_id"/></xsl:if>
3593
+ </xsl:variable>
3594
+ <xsl:variable name="reference" select="normalize-space($reference_)"/>
3457
3595
  <!-- fn sequence number in document -->
3458
3596
  <xsl:variable name="current_fn_number">
3459
3597
  <xsl:choose>
@@ -3473,6 +3611,7 @@
3473
3611
  <xsl:variable name="footnote_inline">
3474
3612
  <fo:inline xsl:use-attribute-sets="fn-num-style">
3475
3613
 
3614
+
3476
3615
  <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
3477
3616
  <xsl:value-of select="$current_fn_number_text"/>
3478
3617
  </fo:basic-link>
@@ -3494,8 +3633,12 @@
3494
3633
  <fo:block xsl:use-attribute-sets="fn-body-style">
3495
3634
 
3496
3635
 
3636
+
3497
3637
  <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
3498
3638
 
3639
+
3640
+
3641
+
3499
3642
  <xsl:value-of select="$current_fn_number_text"/>
3500
3643
  </fo:inline>
3501
3644
  <xsl:apply-templates/>
@@ -3528,7 +3671,7 @@
3528
3671
  <xsl:copy-of select="node()"/>
3529
3672
  </fn>
3530
3673
  </xsl:for-each>
3531
- <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']/*">
3674
+ <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']/*">
3532
3675
  <xsl:sort select="@displayorder" data-type="number"/>
3533
3676
  <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])]">
3534
3677
  <!-- copy unique fn -->
@@ -5180,6 +5323,13 @@
5180
5323
  </xsl:variable>
5181
5324
  <fo:inline xsl:use-attribute-sets="link-style">
5182
5325
 
5326
+ <xsl:if test="starts-with(normalize-space(@target), 'mailto:')">
5327
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5328
+ </xsl:if>
5329
+
5330
+
5331
+
5332
+
5183
5333
 
5184
5334
 
5185
5335
 
@@ -5397,6 +5547,7 @@
5397
5547
 
5398
5548
 
5399
5549
 
5550
+
5400
5551
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
5401
5552
  <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
5402
5553
  <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
@@ -5419,6 +5570,7 @@
5419
5570
  <xsl:otherwise>
5420
5571
 
5421
5572
 
5573
+
5422
5574
  </xsl:otherwise>
5423
5575
  </xsl:choose>
5424
5576
  </xsl:variable>
@@ -5435,6 +5587,7 @@
5435
5587
  </xsl:when>
5436
5588
  <xsl:otherwise>
5437
5589
 
5590
+
5438
5591
  <xsl:text>:</xsl:text>
5439
5592
 
5440
5593
 
@@ -5446,7 +5599,19 @@
5446
5599
  <xsl:value-of select="$suffix"/>
5447
5600
  </xsl:if>
5448
5601
  </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
5449
- <fo:inline><xsl:apply-templates/></fo:inline>
5602
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
5603
+ <xsl:choose>
5604
+ <xsl:when test="$num = 1"> <!-- first paragraph renders in the same line as titlenote name -->
5605
+ <fo:inline xsl:use-attribute-sets="termnote-p-style">
5606
+ <xsl:apply-templates/>
5607
+ </fo:inline>
5608
+ </xsl:when>
5609
+ <xsl:otherwise>
5610
+ <fo:block xsl:use-attribute-sets="termnote-p-style">
5611
+ <xsl:apply-templates/>
5612
+ </fo:block>
5613
+ </xsl:otherwise>
5614
+ </xsl:choose>
5450
5615
  </xsl:template><xsl:template match="*[local-name() = 'terms']">
5451
5616
  <!-- <xsl:message>'terms' <xsl:number/> processing...</xsl:message> -->
5452
5617
  <fo:block id="{@id}">
@@ -6190,6 +6355,9 @@
6190
6355
  <fo:block xsl:use-attribute-sets="figure-name-style">
6191
6356
 
6192
6357
 
6358
+
6359
+
6360
+
6193
6361
  <xsl:apply-templates/>
6194
6362
  </fo:block>
6195
6363
  </xsl:if>
@@ -6250,9 +6418,9 @@
6250
6418
  <xsl:apply-templates/>
6251
6419
  </xsl:otherwise>
6252
6420
  </xsl:choose>
6253
- </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">
6421
+ </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">
6254
6422
  <xsl:value-of select="."/>
6255
- </xsl:template><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
6423
+ </xsl:template><xsl:template match="*[local-name() = 'review']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
6256
6424
  <xsl:text> </xsl:text>
6257
6425
  </xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
6258
6426
  <xsl:copy>
@@ -6326,6 +6494,9 @@
6326
6494
  <!-- 9 -->
6327
6495
 
6328
6496
 
6497
+ <!-- <xsl:if test="$namespace = 'ieee'">
6498
+ <xsl:if test="$current_template = 'standard'">8</xsl:if>
6499
+ </xsl:if> -->
6329
6500
 
6330
6501
 
6331
6502
 
@@ -6780,10 +6951,14 @@
6780
6951
  </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'p']">
6781
6952
  <xsl:variable name="element">inline
6782
6953
 
6954
+
6783
6955
  </xsl:variable>
6784
6956
  <xsl:choose>
6785
6957
  <xsl:when test="contains($element, 'block')">
6786
6958
  <fo:block xsl:use-attribute-sets="example-p-style">
6959
+
6960
+
6961
+
6787
6962
  <xsl:apply-templates/>
6788
6963
  </fo:block>
6789
6964
  </xsl:when>
@@ -6891,6 +7066,7 @@
6891
7066
  </xsl:if>
6892
7067
  <fo:block xsl:use-attribute-sets="example-p-style">
6893
7068
 
7069
+
6894
7070
  <xsl:apply-templates/>
6895
7071
  </fo:block>
6896
7072
  </fo:block-container>
@@ -7047,6 +7223,8 @@
7047
7223
 
7048
7224
 
7049
7225
 
7226
+
7227
+
7050
7228
  <fo:basic-link fox:alt-text="{@citeas}">
7051
7229
  <xsl:if test="normalize-space(@citeas) = ''">
7052
7230
  <xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
@@ -7110,6 +7288,7 @@
7110
7288
 
7111
7289
 
7112
7290
 
7291
+
7113
7292
  <xsl:choose>
7114
7293
  <xsl:when test="$depth &gt;= 5"/>
7115
7294
  <xsl:when test="$depth &gt;= 4">5</xsl:when>
@@ -7474,6 +7653,8 @@
7474
7653
 
7475
7654
 
7476
7655
 
7656
+
7657
+
7477
7658
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
7478
7659
  <xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
7479
7660
  <xsl:call-template name="append_add-style"/>
@@ -7658,7 +7839,7 @@
7658
7839
  </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']/text()">
7659
7840
  <!-- to split by '_' and other chars -->
7660
7841
  <xsl:call-template name="add-zero-spaces-java"/>
7661
- </xsl:template><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
7842
+ </xsl:template><xsl:template match="*[local-name() = 'table']/*[local-name() = 'bookmark']" priority="2"/><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
7662
7843
  <!-- <fo:inline id="{@id}" font-size="1pt"/> -->
7663
7844
  <fo:inline id="{@id}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:inline>
7664
7845
  <!-- we need to add zero-width space, otherwise this fo:inline is missing in IF xml -->
@@ -7731,9 +7912,9 @@
7731
7912
  </fo:block>
7732
7913
 
7733
7914
 
7734
- </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
7915
+ </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" name="bibitem_non_normative" priority="2">
7735
7916
 
7736
- <!-- $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'jcgm' or $namespace = 'm3d' or
7917
+ <!-- $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'ieee' or $namespace = 'iso' or $namespace = 'jcgm' or $namespace = 'm3d' or
7737
7918
  $namespace = 'mpfd' or $namespace = 'ogc' or $namespace = 'ogc-white-paper' -->
7738
7919
  <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
7739
7920
  <fo:list-block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-style">
@@ -7744,7 +7925,7 @@
7744
7925
 
7745
7926
  <xsl:value-of select="*[local-name()='docidentifier'][@type = 'metanorma-ordinal']"/>
7746
7927
  <xsl:if test="not(*[local-name()='docidentifier'][@type = 'metanorma-ordinal'])">
7747
- <xsl:number format="[1]"/>
7928
+ <xsl:number format="[1]" count="*[local-name()='bibitem'][not(@hidden = 'true')]"/>
7748
7929
  </xsl:if>
7749
7930
 
7750
7931
  </fo:inline>
@@ -8076,12 +8257,16 @@
8076
8257
  <fo:block-container id="{@id}" xsl:use-attribute-sets="admonition-style">
8077
8258
 
8078
8259
 
8260
+
8261
+
8079
8262
 
8080
8263
 
8081
8264
 
8082
8265
  <fo:block-container xsl:use-attribute-sets="admonition-container-style">
8083
8266
 
8084
8267
 
8268
+
8269
+
8085
8270
  <fo:block xsl:use-attribute-sets="admonition-name-style">
8086
8271
  <xsl:call-template name="displayAdmonitionName"/>
8087
8272
  </fo:block>
@@ -8290,6 +8475,8 @@
8290
8475
  </xsl:when>
8291
8476
  <xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
8292
8477
  </xsl:choose>
8478
+ </xsl:template><xsl:template match="*[local-name() = 'lang_none']">
8479
+ <fo:inline xml:lang="none"><xsl:value-of select="."/></fo:inline>
8293
8480
  </xsl:template><xsl:template name="printEdition">
8294
8481
  <xsl:variable name="edition_i18n" select="normalize-space((//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) != ''])"/>
8295
8482
  <xsl:text> </xsl:text>
@@ -8396,6 +8583,27 @@
8396
8583
  </xsl:when>
8397
8584
  <xsl:otherwise><xsl:value-of select="$monthStr_"/></xsl:otherwise>
8398
8585
  </xsl:choose>
8586
+ </xsl:template><xsl:template name="getMonthLocalizedByNum">
8587
+ <xsl:param name="num"/>
8588
+ <xsl:variable name="monthStr">
8589
+ <xsl:choose>
8590
+ <xsl:when test="$num = '01'">january</xsl:when>
8591
+ <xsl:when test="$num = '02'">february</xsl:when>
8592
+ <xsl:when test="$num = '03'">march</xsl:when>
8593
+ <xsl:when test="$num = '04'">april</xsl:when>
8594
+ <xsl:when test="$num = '05'">may</xsl:when>
8595
+ <xsl:when test="$num = '06'">june</xsl:when>
8596
+ <xsl:when test="$num = '07'">july</xsl:when>
8597
+ <xsl:when test="$num = '08'">august</xsl:when>
8598
+ <xsl:when test="$num = '09'">september</xsl:when>
8599
+ <xsl:when test="$num = '10'">october</xsl:when>
8600
+ <xsl:when test="$num = '11'">november</xsl:when>
8601
+ <xsl:when test="$num = '12'">december</xsl:when>
8602
+ </xsl:choose>
8603
+ </xsl:variable>
8604
+ <xsl:call-template name="getLocalizedString">
8605
+ <xsl:with-param name="key">month_<xsl:value-of select="$monthStr"/></xsl:with-param>
8606
+ </xsl:call-template>
8399
8607
  </xsl:template><xsl:template name="insertKeywords">
8400
8608
  <xsl:param name="sorting" select="'true'"/>
8401
8609
  <xsl:param name="charAtEnd" select="'.'"/>
@@ -8467,7 +8675,7 @@
8467
8675
  <dc:description>
8468
8676
  <xsl:variable name="abstract">
8469
8677
 
8470
- <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
8678
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()[not(ancestor::*[local-name() = 'title'])]"/>
8471
8679
 
8472
8680
  </xsl:variable>
8473
8681
  <xsl:value-of select="normalize-space($abstract)"/>
@@ -8591,6 +8799,7 @@
8591
8799
 
8592
8800
 
8593
8801
 
8802
+
8594
8803
  <xsl:value-of select="document('')//*/namespace::ogc"/>
8595
8804
 
8596
8805