metanorma-ogc 2.1.1 → 2.1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -252,7 +252,7 @@
252
252
 
253
253
 
254
254
  <!-- Abstract, Keywords, Preface, Submitting Organizations, Submitters -->
255
- <xsl:for-each select="/*/*[local-name()='preface']/*">
255
+ <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
256
256
  <xsl:sort select="@displayorder" data-type="number"/>
257
257
 
258
258
  <xsl:if test="local-name() = 'abstract' or local-name() = 'foreword' or local-name() = 'introduction'">
@@ -643,14 +643,41 @@
643
643
  </xsl:choose>
644
644
  </xsl:template>
645
645
 
646
- <xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:param name="add_math_as_text">true</xsl:param><xsl:param name="table_if">false</xsl:param><xsl:param name="table_widths"/><xsl:variable name="table_widths_from_if" select="xalan:nodeset($table_widths)"/><xsl:param name="table_if_debug">false</xsl:param><xsl:variable name="isGenerateTableIF_">
646
+ <xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:param name="add_math_as_text">true</xsl:param><xsl:param name="table_if">false</xsl:param><xsl:param name="table_widths"/><xsl:variable name="table_widths_from_if" select="xalan:nodeset($table_widths)"/><xsl:variable name="table_widths_from_if_calculated_">
647
+ <xsl:for-each select="$table_widths_from_if//table">
648
+ <xsl:copy>
649
+ <xsl:copy-of select="@*"/>
650
+ <xsl:call-template name="calculate-column-widths-autolayout-algorithm"/>
651
+ </xsl:copy>
652
+ </xsl:for-each>
653
+ </xsl:variable><xsl:variable name="table_widths_from_if_calculated" select="xalan:nodeset($table_widths_from_if_calculated_)"/><xsl:param name="table_if_debug">false</xsl:param><xsl:variable name="isGenerateTableIF_">
647
654
  false
648
655
  </xsl:variable><xsl:variable name="isGenerateTableIF" select="normalize-space($isGenerateTableIF_)"/><xsl:variable name="lang">
649
656
  <xsl:call-template name="getLang"/>
650
- </xsl:variable><xsl:variable name="pageWidth_">
651
- 215.9
657
+ </xsl:variable><xsl:variable name="papersize" select="java:toLowerCase(java:java.lang.String.new(normalize-space(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata']/*[local-name() = 'papersize'])))"/><xsl:variable name="papersize_width_">
658
+ <xsl:choose>
659
+ <xsl:when test="$papersize = 'letter'">215.9</xsl:when>
660
+ <xsl:when test="$papersize = 'a4'">210</xsl:when>
661
+ </xsl:choose>
662
+ </xsl:variable><xsl:variable name="papersize_width" select="normalize-space($papersize_width_)"/><xsl:variable name="papersize_height_">
663
+ <xsl:choose>
664
+ <xsl:when test="$papersize = 'letter'">279.4</xsl:when>
665
+ <xsl:when test="$papersize = 'a4'">297</xsl:when>
666
+ </xsl:choose>
667
+ </xsl:variable><xsl:variable name="papersize_height" select="normalize-space($papersize_height_)"/><xsl:variable name="pageWidth_">
668
+ <xsl:choose>
669
+ <xsl:when test="$papersize_width != ''"><xsl:value-of select="$papersize_width"/></xsl:when>
670
+ <xsl:otherwise>
671
+ 215.9
672
+ </xsl:otherwise>
673
+ </xsl:choose>
652
674
  </xsl:variable><xsl:variable name="pageWidth" select="normalize-space($pageWidth_)"/><xsl:variable name="pageHeight_">
653
- 279.4
675
+ <xsl:choose>
676
+ <xsl:when test="$papersize_height != ''"><xsl:value-of select="$papersize_height"/></xsl:when>
677
+ <xsl:otherwise>
678
+ 279.4
679
+ </xsl:otherwise>
680
+ </xsl:choose>
654
681
  </xsl:variable><xsl:variable name="pageHeight" select="normalize-space($pageHeight_)"/><xsl:variable name="marginLeftRight1_">
655
682
  25.4
656
683
  </xsl:variable><xsl:variable name="marginLeftRight1" select="normalize-space($marginLeftRight1_)"/><xsl:variable name="marginLeftRight2_">
@@ -764,7 +791,7 @@
764
791
  <xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
765
792
  </xsl:otherwise>
766
793
  </xsl:choose>
767
- </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">
768
795
 
769
796
 
770
797
 
@@ -779,7 +806,9 @@
779
806
 
780
807
 
781
808
 
782
- <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>
783
812
  <xsl:attribute name="font-size">11pt</xsl:attribute>
784
813
 
785
814
 
@@ -795,17 +824,60 @@
795
824
  </xsl:variable>
796
825
  <xsl:variable name="additional_fonts" select="normalize-space($additional_fonts_)"/>
797
826
 
827
+ <xsl:variable name="font_family_generic" select="$root-style_/root-style/@font-family-generic"/>
828
+
798
829
  <xsl:for-each select="$root-style_/root-style/@*">
830
+
799
831
  <xsl:choose>
800
- <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
+
801
842
  <xsl:attribute name="{local-name()}">
802
- <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>
803
864
  </xsl:attribute>
804
865
  </xsl:when>
805
866
  <xsl:otherwise>
806
867
  <xsl:copy-of select="."/>
807
868
  </xsl:otherwise>
808
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> -->
809
881
  </xsl:for-each>
810
882
  </xsl:template><xsl:attribute-set name="copyright-statement-style">
811
883
 
@@ -901,10 +973,11 @@
901
973
 
902
974
 
903
975
 
976
+
904
977
 
905
978
 
906
979
 
907
- <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>
908
981
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
909
982
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
910
983
  <xsl:attribute name="line-height">113%</xsl:attribute>
@@ -933,9 +1006,12 @@
933
1006
 
934
1007
  </xsl:attribute-set><xsl:attribute-set name="requirement-style">
935
1008
 
1009
+
936
1010
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
937
1011
 
938
1012
  </xsl:attribute-set><xsl:attribute-set name="requirement-name-style">
1013
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1014
+
939
1015
 
940
1016
  <xsl:attribute name="font-size">11pt</xsl:attribute>
941
1017
  <xsl:attribute name="font-weight">bold</xsl:attribute>
@@ -944,7 +1020,6 @@
944
1020
  <xsl:attribute name="padding-bottom">1mm</xsl:attribute>
945
1021
  <xsl:attribute name="margin-bottom">1mm</xsl:attribute>
946
1022
  <xsl:attribute name="background-color">rgb(165,165,165)</xsl:attribute>
947
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
948
1023
 
949
1024
  </xsl:attribute-set><xsl:attribute-set name="requirement-label-style">
950
1025
 
@@ -988,6 +1063,7 @@
988
1063
 
989
1064
 
990
1065
 
1066
+
991
1067
 
992
1068
  </xsl:attribute-set><xsl:attribute-set name="example-style">
993
1069
 
@@ -999,6 +1075,7 @@
999
1075
 
1000
1076
 
1001
1077
 
1078
+
1002
1079
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1003
1080
  <xsl:attribute name="margin-left">12.5mm</xsl:attribute>
1004
1081
  <xsl:attribute name="margin-right">12.5mm</xsl:attribute>
@@ -1026,6 +1103,7 @@
1026
1103
 
1027
1104
 
1028
1105
 
1106
+
1029
1107
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1030
1108
  <xsl:attribute name="text-align">center</xsl:attribute>
1031
1109
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
@@ -1062,10 +1140,12 @@
1062
1140
 
1063
1141
 
1064
1142
 
1143
+
1065
1144
 
1066
1145
 
1067
1146
  </xsl:attribute-set><xsl:variable name="table-border_">
1068
1147
 
1148
+
1069
1149
  </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
1070
1150
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
1071
1151
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
@@ -1086,6 +1166,7 @@
1086
1166
 
1087
1167
 
1088
1168
 
1169
+
1089
1170
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1090
1171
  <xsl:attribute name="space-after">12pt</xsl:attribute>
1091
1172
 
@@ -1115,6 +1196,7 @@
1115
1196
 
1116
1197
 
1117
1198
 
1199
+
1118
1200
 
1119
1201
 
1120
1202
 
@@ -1126,6 +1208,7 @@
1126
1208
 
1127
1209
 
1128
1210
 
1211
+
1129
1212
 
1130
1213
 
1131
1214
 
@@ -1208,6 +1291,7 @@
1208
1291
 
1209
1292
 
1210
1293
 
1294
+
1211
1295
  <xsl:attribute name="padding-top">1mm</xsl:attribute>
1212
1296
  <xsl:attribute name="border">solid 0.5pt rgb(153, 153, 153)</xsl:attribute>
1213
1297
  <xsl:attribute name="height">5mm</xsl:attribute>
@@ -1227,7 +1311,7 @@
1227
1311
 
1228
1312
 
1229
1313
 
1230
-
1314
+
1231
1315
 
1232
1316
 
1233
1317
 
@@ -1242,6 +1326,7 @@
1242
1326
 
1243
1327
 
1244
1328
 
1329
+
1245
1330
  </xsl:attribute-set><xsl:attribute-set name="table-fn-style">
1246
1331
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1247
1332
 
@@ -1250,6 +1335,8 @@
1250
1335
 
1251
1336
 
1252
1337
 
1338
+
1339
+
1253
1340
  </xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
1254
1341
  <xsl:attribute name="font-size">80%</xsl:attribute>
1255
1342
  <xsl:attribute name="padding-right">5mm</xsl:attribute>
@@ -1264,6 +1351,7 @@
1264
1351
 
1265
1352
 
1266
1353
 
1354
+
1267
1355
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1268
1356
 
1269
1357
 
@@ -1298,10 +1386,32 @@
1298
1386
 
1299
1387
 
1300
1388
 
1389
+
1301
1390
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
1302
1391
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1303
1392
 
1304
1393
 
1394
+ </xsl:attribute-set><xsl:attribute-set name="dl-name-style">
1395
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1396
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1397
+
1398
+
1399
+
1400
+
1401
+
1402
+
1403
+
1404
+
1405
+
1406
+
1407
+ <xsl:attribute name="color">rgb(68, 84, 106)</xsl:attribute>
1408
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
1409
+
1410
+
1411
+
1412
+
1413
+
1414
+
1305
1415
  </xsl:attribute-set><xsl:attribute-set name="dd-cell-style">
1306
1416
  <xsl:attribute name="padding-left">2mm</xsl:attribute>
1307
1417
  </xsl:attribute-set><xsl:attribute-set name="appendix-style">
@@ -1346,6 +1456,7 @@
1346
1456
 
1347
1457
 
1348
1458
 
1459
+
1349
1460
 
1350
1461
 
1351
1462
 
@@ -1388,7 +1499,8 @@
1388
1499
 
1389
1500
 
1390
1501
 
1391
-
1502
+
1503
+
1392
1504
 
1393
1505
 
1394
1506
 
@@ -1407,6 +1519,7 @@
1407
1519
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1408
1520
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1409
1521
 
1522
+
1410
1523
 
1411
1524
 
1412
1525
 
@@ -1417,6 +1530,10 @@
1417
1530
 
1418
1531
 
1419
1532
 
1533
+ </xsl:attribute-set><xsl:attribute-set name="termnote-p-style">
1534
+
1535
+ <xsl:attribute name="space-before">4pt</xsl:attribute>
1536
+
1420
1537
  </xsl:attribute-set><xsl:attribute-set name="quote-style">
1421
1538
  <xsl:attribute name="margin-left">12mm</xsl:attribute>
1422
1539
  <xsl:attribute name="margin-right">12mm</xsl:attribute>
@@ -1468,6 +1585,7 @@
1468
1585
  </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
1469
1586
 
1470
1587
 
1588
+
1471
1589
 
1472
1590
 
1473
1591
 
@@ -1516,6 +1634,7 @@
1516
1634
 
1517
1635
 
1518
1636
 
1637
+
1519
1638
  <xsl:attribute name="text-align">left</xsl:attribute>
1520
1639
  <xsl:attribute name="margin-left">5mm</xsl:attribute>
1521
1640
 
@@ -1541,20 +1660,20 @@
1541
1660
  </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
1542
1661
 
1543
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>
1544
1666
 
1545
1667
 
1546
- <xsl:attribute name="width">100%</xsl:attribute>
1547
1668
  <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
1548
- <xsl:attribute name="scaling">uniform</xsl:attribute>
1549
1669
 
1550
1670
 
1551
1671
 
1552
-
1553
-
1672
+
1554
1673
  </xsl:attribute-set><xsl:attribute-set name="tt-style">
1555
1674
 
1556
1675
 
1557
- <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>
1558
1677
 
1559
1678
 
1560
1679
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
@@ -1635,6 +1754,7 @@
1635
1754
 
1636
1755
 
1637
1756
 
1757
+
1638
1758
  <xsl:attribute name="provisional-distance-between-starts">6.5mm</xsl:attribute>
1639
1759
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1640
1760
  <xsl:attribute name="line-height">115%</xsl:attribute>
@@ -1642,6 +1762,25 @@
1642
1762
 
1643
1763
 
1644
1764
 
1765
+ </xsl:attribute-set><xsl:attribute-set name="list-name-style">
1766
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1767
+
1768
+
1769
+
1770
+
1771
+
1772
+
1773
+
1774
+
1775
+
1776
+ <xsl:attribute name="color">rgb(68, 84, 106)</xsl:attribute>
1777
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
1778
+
1779
+
1780
+
1781
+
1782
+
1783
+
1645
1784
  </xsl:attribute-set><xsl:attribute-set name="list-item-style">
1646
1785
 
1647
1786
 
@@ -1689,6 +1828,7 @@
1689
1828
 
1690
1829
 
1691
1830
 
1831
+
1692
1832
  <xsl:attribute name="font-size">65%</xsl:attribute>
1693
1833
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1694
1834
 
@@ -1715,6 +1855,7 @@
1715
1855
 
1716
1856
 
1717
1857
 
1858
+
1718
1859
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1719
1860
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1720
1861
  <xsl:attribute name="color">black</xsl:attribute>
@@ -1739,6 +1880,7 @@
1739
1880
 
1740
1881
 
1741
1882
 
1883
+
1742
1884
  <xsl:attribute name="font-size">60%</xsl:attribute>
1743
1885
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1744
1886
 
@@ -1757,6 +1899,7 @@
1757
1899
 
1758
1900
 
1759
1901
 
1902
+
1760
1903
  <xsl:attribute name="border">0.5pt solid rgb(79, 129, 189)</xsl:attribute>
1761
1904
  <xsl:attribute name="color">rgb(79, 129, 189)</xsl:attribute>
1762
1905
  <xsl:attribute name="margin-left">16mm</xsl:attribute>
@@ -1767,6 +1910,9 @@
1767
1910
 
1768
1911
 
1769
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
+
1770
1916
 
1771
1917
 
1772
1918
 
@@ -1774,8 +1920,6 @@
1774
1920
 
1775
1921
 
1776
1922
 
1777
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
1778
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
1779
1923
  <xsl:attribute name="padding">2mm</xsl:attribute>
1780
1924
  <xsl:attribute name="padding-top">3mm</xsl:attribute>
1781
1925
 
@@ -1812,6 +1956,7 @@
1812
1956
 
1813
1957
 
1814
1958
 
1959
+
1815
1960
  <xsl:attribute name="font-style">italic</xsl:attribute>
1816
1961
 
1817
1962
 
@@ -1848,6 +1993,10 @@
1848
1993
 
1849
1994
 
1850
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> -->
1851
2000
 
1852
2001
 
1853
2002
 
@@ -1875,6 +2024,7 @@
1875
2024
 
1876
2025
 
1877
2026
 
2027
+
1878
2028
 
1879
2029
 
1880
2030
 
@@ -1902,6 +2052,7 @@
1902
2052
 
1903
2053
 
1904
2054
 
2055
+
1905
2056
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1906
2057
 
1907
2058
 
@@ -1922,6 +2073,7 @@
1922
2073
 
1923
2074
 
1924
2075
 
2076
+
1925
2077
  <xsl:attribute name="font-size">60%</xsl:attribute>
1926
2078
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1927
2079
 
@@ -1942,6 +2094,7 @@
1942
2094
 
1943
2095
 
1944
2096
 
2097
+
1945
2098
  </xsl:attribute-set><xsl:attribute-set name="references-non-normative-style">
1946
2099
 
1947
2100
 
@@ -2055,13 +2208,13 @@
2055
2208
 
2056
2209
  </xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:variable name="ace_tag">ace-tag_</xsl:variable><xsl:template name="processPrefaceSectionsDefault_Contents">
2057
2210
  <xsl:variable name="nodes_preface_">
2058
- <xsl:for-each select="/*/*[local-name()='preface']/*">
2211
+ <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
2059
2212
  <node id="{@id}"/>
2060
2213
  </xsl:for-each>
2061
2214
  </xsl:variable>
2062
2215
  <xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
2063
2216
 
2064
- <xsl:for-each select="/*/*[local-name()='preface']/*">
2217
+ <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
2065
2218
  <xsl:sort select="@displayorder" data-type="number"/>
2066
2219
 
2067
2220
  <!-- process Section's title -->
@@ -2127,7 +2280,7 @@
2127
2280
  </xsl:for-each>
2128
2281
  </figures>
2129
2282
  </xsl:template><xsl:template name="processPrefaceSectionsDefault">
2130
- <xsl:for-each select="/*/*[local-name()='preface']/*">
2283
+ <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
2131
2284
  <xsl:sort select="@displayorder" data-type="number"/>
2132
2285
  <xsl:apply-templates select="."/>
2133
2286
  </xsl:for-each>
@@ -2413,6 +2566,8 @@
2413
2566
 
2414
2567
 
2415
2568
 
2569
+
2570
+
2416
2571
 
2417
2572
 
2418
2573
 
@@ -2454,6 +2609,8 @@
2454
2609
 
2455
2610
 
2456
2611
 
2612
+
2613
+
2457
2614
  </xsl:element>
2458
2615
  </xsl:variable>
2459
2616
 
@@ -2598,23 +2755,29 @@
2598
2755
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
2599
2756
  <xsl:param name="continued"/>
2600
2757
  <xsl:if test="normalize-space() != ''">
2601
- <fo:block xsl:use-attribute-sets="table-name-style">
2602
-
2603
-
2604
-
2605
-
2758
+
2759
+
2606
2760
 
2607
- <xsl:choose>
2608
- <xsl:when test="$continued = 'true'">
2761
+ <fo:block xsl:use-attribute-sets="table-name-style">
2762
+
2609
2763
 
2610
- </xsl:when>
2611
- <xsl:otherwise>
2612
- <xsl:apply-templates/>
2613
- </xsl:otherwise>
2614
- </xsl:choose>
2615
-
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
+
2616
2779
 
2617
- </fo:block>
2780
+
2618
2781
  </xsl:if>
2619
2782
  </xsl:template><xsl:template name="calculate-columns-numbers">
2620
2783
  <xsl:param name="table-row"/>
@@ -2777,8 +2940,9 @@
2777
2940
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
2778
2941
  </xsl:if>
2779
2942
  </xsl:template><xsl:template name="calculate-column-widths-autolayout-algorithm">
2780
- <xsl:param name="table"/>
2781
- <xsl:param name="if">false</xsl:param> <!-- via intermediate format -->
2943
+ <xsl:param name="parent_table_page-width"/> <!-- for nested tables, in re-calculate step -->
2944
+
2945
+ <!-- via intermediate format -->
2782
2946
 
2783
2947
  <!-- The algorithm uses two passes through the table data and scales linearly with the size of the table -->
2784
2948
 
@@ -2789,9 +2953,8 @@
2789
2953
  <!-- get current table id -->
2790
2954
  <xsl:variable name="table_id" select="@id"/>
2791
2955
  <!-- find table by id in the file 'table_widths' -->
2792
- <xsl:variable name="table-if_" select="$table_widths_from_if//table[@id = $table_id]"/>
2793
- <xsl:variable name="table-if" select="xalan:nodeset($table-if_)"/>
2794
-
2956
+ <!-- <xsl:variable name="table-if_" select="$table_widths_from_if//table[@id = $table_id]"/>
2957
+ <xsl:variable name="table-if" select="xalan:nodeset($table-if_)"/> -->
2795
2958
 
2796
2959
  <!-- table='<xsl:copy-of select="$table"/>' -->
2797
2960
  <!-- table_id='<xsl:value-of select="$table_id"/>\ -->
@@ -2799,24 +2962,13 @@
2799
2962
  <!-- table_widths_from_if='<xsl:copy-of select="$table_widths_from_if"/>' -->
2800
2963
 
2801
2964
  <xsl:variable name="table_with_cell_widths_">
2802
- <xsl:choose>
2803
- <xsl:when test="$if = 'true' and normalize-space($table-if) != ''"> <!-- if we read column's width from IF and there is table in IF -->
2804
-
2805
- <!-- Example: <column>10</column>
2806
- <column>11</column>
2807
- -->
2808
- <xsl:apply-templates select="$table-if" mode="determine_cell_widths-if"/>
2809
- </xsl:when>
2810
- <xsl:otherwise>
2811
- <xsl:apply-templates select="xalan:nodeset($table)" mode="determine_cell_widths"/>
2812
- </xsl:otherwise>
2813
- </xsl:choose>
2965
+ <xsl:apply-templates select="." mode="determine_cell_widths-if"/> <!-- read column's width from IF -->
2814
2966
  </xsl:variable>
2815
2967
  <xsl:variable name="table_with_cell_widths" select="xalan:nodeset($table_with_cell_widths_)"/>
2816
2968
 
2817
- <xsl:if test="$table_if_debug = 'true'">
2969
+ <!-- <xsl:if test="$table_if_debug = 'true'">
2818
2970
  <xsl:copy-of select="$table_with_cell_widths"/>
2819
- </xsl:if>
2971
+ </xsl:if> -->
2820
2972
 
2821
2973
 
2822
2974
  <!-- The minimum and maximum cell widths are then used to determine the corresponding minimum and maximum widths for the columns. -->
@@ -2862,8 +3014,12 @@
2862
3014
 
2863
3015
  <xsl:variable name="page_width">
2864
3016
  <xsl:choose>
2865
- <xsl:when test="$if = 'true'"><xsl:value-of select="$table-if/@page-width"/></xsl:when>
2866
- <xsl:otherwise>75</xsl:otherwise>
3017
+ <xsl:when test="$parent_table_page-width != ''">
3018
+ <xsl:value-of select="$parent_table_page-width"/>
3019
+ </xsl:when>
3020
+ <xsl:otherwise>
3021
+ <xsl:value-of select="@page-width"/>
3022
+ </xsl:otherwise>
2867
3023
  </xsl:choose>
2868
3024
  </xsl:variable>
2869
3025
 
@@ -2871,9 +3027,6 @@
2871
3027
  <table_width>
2872
3028
  <xsl:copy-of select="$table_widths"/>
2873
3029
  </table_width>
2874
- <!-- <debug>$table_widths/@width_min=<xsl:value-of select="$table_widths/table/@width_min"/></debug>
2875
- <debug>$table_widths/@width_max=<xsl:value-of select="$table_widths/table/@width_max"/></debug>
2876
- -->
2877
3030
  <debug>$page_width=<xsl:value-of select="$page_width"/></debug>
2878
3031
  </xsl:if>
2879
3032
 
@@ -2884,11 +3037,11 @@
2884
3037
  <xsl:when test="$table_widths/table/@width_min &gt;= $page_width and 1 = 2"> <!-- this condition isn't working see case 3 below -->
2885
3038
  <!-- call old algorithm -->
2886
3039
  <case1/>
2887
- <xsl:variable name="cols-count" select="count(xalan:nodeset($table)/*/tr[1]/td)"/>
3040
+ <!-- <xsl:variable name="cols-count" select="count(xalan:nodeset($table)/*/tr[1]/td)"/>
2888
3041
  <xsl:call-template name="calculate-column-widths-proportional">
2889
3042
  <xsl:with-param name="cols-count" select="$cols-count"/>
2890
3043
  <xsl:with-param name="table" select="$table"/>
2891
- </xsl:call-template>
3044
+ </xsl:call-template> -->
2892
3045
  </xsl:when>
2893
3046
  <!-- 2. The maximum table width fits within the available space. In this case, set the columns to their maximum widths. -->
2894
3047
  <xsl:when test="$table_widths/table/@width_max &lt;= $page_width">
@@ -2932,95 +3085,49 @@
2932
3085
  <xsl:otherwise><unknown_case/></xsl:otherwise>
2933
3086
  </xsl:choose>
2934
3087
 
3088
+ </xsl:template><xsl:template name="get-calculated-column-widths-autolayout-algorithm">
2935
3089
 
2936
- </xsl:template><xsl:template match="@*|node()" mode="determine_cell_widths">
2937
- <xsl:copy>
2938
- <xsl:apply-templates select="@*|node()" mode="determine_cell_widths"/>
2939
- </xsl:copy>
2940
- </xsl:template><xsl:template match="td | th" mode="determine_cell_widths">
2941
- <xsl:copy>
2942
- <xsl:copy-of select="@*"/>
3090
+ <!-- if nested 'dl' or 'table' -->
3091
+ <xsl:variable name="parent_table_id" select="normalize-space(ancestor::*[local-name() = 'table' or local-name() = 'dl'][1]/@id)"/>
3092
+ <parent_table_id><xsl:value-of select="$parent_table_id"/></parent_table_id>
2943
3093
 
2944
- <!-- The maximum width is given by the widest line. -->
2945
- <xsl:variable name="widths_max">
2946
- <xsl:for-each select=".//*[local-name() = 'p']">
2947
- <xsl:call-template name="add_width"/>
2948
- </xsl:for-each>
2949
- <xsl:if test="not(*[local-name() = 'p'])">
2950
- <xsl:call-template name="add_width"/>
2951
- </xsl:if>
2952
- </xsl:variable>
2953
- <xsl:variable name="width_max">
2954
- <xsl:for-each select="xalan:nodeset($widths_max)//width">
2955
- <xsl:sort select="." data-type="number" order="descending"/>
2956
- <xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
2957
- </xsl:for-each>
2958
- </xsl:variable>
2959
- <xsl:attribute name="width_max">
2960
- <xsl:value-of select="$width_max"/>
2961
- </xsl:attribute>
3094
+ <parent_element><xsl:value-of select="local-name(..)"/></parent_element>
2962
3095
 
2963
- <!-- The minimum width is given by the widest text element (word, image, etc.) -->
2964
- <!-- To do: image width -->
2965
- <xsl:variable name="td_text">
2966
- <xsl:apply-templates select="." mode="td_text"/>
2967
- </xsl:variable>
2968
- <xsl:variable name="words">
2969
- <xsl:variable name="string_with_added_zerospaces">
2970
- <xsl:call-template name="add-zero-spaces-java">
2971
- <xsl:with-param name="text" select="$td_text"/>
2972
- </xsl:call-template>
3096
+ <xsl:variable name="parent_table_page-width_">
3097
+ <xsl:if test="$parent_table_id != ''">
3098
+ <!-- determine column number in the parent table -->
3099
+ <xsl:variable name="parent_table_column_number">
3100
+ <xsl:choose>
3101
+ <xsl:when test="parent::*[local-name() = 'dd']">2</xsl:when>
3102
+ <xsl:otherwise> <!-- parent is table -->
3103
+ <xsl:value-of select="count(ancestor::*[local-name() = 'td'][1]/preceding-sibling::*[local-name() = 'td']) + 1"/>
3104
+ </xsl:otherwise>
3105
+ </xsl:choose>
2973
3106
  </xsl:variable>
2974
- <xsl:call-template name="tokenize">
2975
- <xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '​­', ' '))"/> <!-- replace zero-width-space and soft-hyphen to space -->
2976
- </xsl:call-template>
2977
- </xsl:variable>
2978
-
2979
- <xsl:variable name="max_word_length">
2980
- <xsl:call-template name="max_length">
2981
- <xsl:with-param name="words" select="xalan:nodeset($words)"/>
2982
- </xsl:call-template>
2983
- </xsl:variable>
2984
- <xsl:variable name="width_min">
2985
- <xsl:value-of select="$max_word_length"/>
2986
- </xsl:variable>
2987
- <xsl:attribute name="width_min">
2988
- <xsl:value-of select="$width_min"/>
2989
- </xsl:attribute>
2990
- <!-- width_max="1" width_min="1.5"> --> <!-- see 'tokenize' template, multiply 1.5 for all latin capitals -->
2991
- <xsl:if test="$width_min &gt; $width_max">
2992
- <xsl:attribute name="width_max">
2993
- <xsl:value-of select="$width_min"/>
2994
- </xsl:attribute>
2995
- </xsl:if>
2996
- <xsl:if test="$width_min = 0">
2997
- <xsl:attribute name="width_min">1</xsl:attribute>
3107
+ <!-- find table by id in the file 'table_widths' and get all Nth `<column>...</column> -->
3108
+ <xsl:value-of select="$table_widths_from_if_calculated//table[@id = $parent_table_id]/column[number($parent_table_column_number)]"/>
2998
3109
  </xsl:if>
2999
-
3000
- <xsl:apply-templates select="node()" mode="determine_cell_widths"/>
3001
-
3002
- </xsl:copy>
3003
- </xsl:template><xsl:template name="add_width">
3004
- <xsl:variable name="p_text"><xsl:apply-templates select="." mode="td_text"/></xsl:variable>
3005
- <xsl:variable name="p_text_len_" select="string-length(normalize-space($p_text))"/>
3006
-
3007
- <xsl:variable name="p_text_len">
3008
- <xsl:choose>
3009
- <xsl:when test="normalize-space(translate($p_text, concat($upper,'0123456789'), '')) = ''"> <!-- english word in CAPITAL letters -->
3010
- <xsl:value-of select="$p_text_len_ * 1.5"/>
3011
- </xsl:when>
3012
- <xsl:otherwise><xsl:value-of select="$p_text_len_"/></xsl:otherwise>
3013
- </xsl:choose>
3014
3110
  </xsl:variable>
3111
+ <xsl:variable name="parent_table_page-width" select="normalize-space($parent_table_page-width_)"/>
3015
3112
 
3016
- <xsl:variable name="math_addon_text">
3017
- <xsl:for-each select=".//*[local-name() = 'math']">
3018
- <xsl:apply-templates mode="td_text"/>
3019
- </xsl:for-each>
3020
- </xsl:variable>
3021
- <xsl:variable name="math_addon_length" select="string-length(normalize-space($math_addon_text)) * 0.2"/> <!-- plus 20% -->
3113
+ <!-- get current table id -->
3114
+ <xsl:variable name="table_id" select="@id"/>
3115
+
3116
+ <xsl:choose>
3117
+ <xsl:when test="$parent_table_id = '' or $parent_table_page-width = ''">
3118
+ <!-- find table by id in the file 'table_widths' and get all `<column>...</column> -->
3119
+ <xsl:copy-of select="$table_widths_from_if_calculated//table[@id = $table_id]/node()"/>
3120
+ </xsl:when>
3121
+ <xsl:otherwise>
3122
+ <!-- recalculate columns width based on parent table width -->
3123
+ <xsl:for-each select="$table_widths_from_if//table[@id = $table_id]">
3124
+ <xsl:call-template name="calculate-column-widths-autolayout-algorithm">
3125
+ <xsl:with-param name="parent_table_page-width" select="$parent_table_page-width"/> <!-- padding-left = 2mm = 50000-->
3126
+ </xsl:call-template>
3127
+ </xsl:for-each>
3128
+ </xsl:otherwise>
3129
+ </xsl:choose>
3022
3130
 
3023
- <width><xsl:value-of select="$p_text_len + $math_addon_length"/></width>
3024
3131
  </xsl:template><xsl:template match="@*|node()" mode="determine_cell_widths-if">
3025
3132
  <xsl:copy>
3026
3133
  <xsl:apply-templates select="@*|node()" mode="determine_cell_widths-if"/>
@@ -3068,12 +3175,18 @@
3068
3175
  <fo:table-row>
3069
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">
3070
3177
 
3071
- <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
3072
- <xsl:with-param name="continued">true</xsl:with-param>
3073
- </xsl:apply-templates>
3074
3178
 
3075
3179
 
3076
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
+
3077
3190
  </fo:table-cell>
3078
3191
  </fo:table-row>
3079
3192
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
@@ -3113,77 +3226,91 @@
3113
3226
  </xsl:choose>
3114
3227
  </xsl:variable>
3115
3228
 
3116
- <fo:table keep-with-previous="always">
3117
- <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3118
- <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
+
3119
3251
  <xsl:choose>
3120
- <xsl:when test="$name = 'border-top'">
3121
- <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
3122
- </xsl:when>
3123
- <xsl:when test="$name = 'border'">
3124
- <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3125
- <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>
3126
3256
  </xsl:when>
3127
3257
  <xsl:otherwise>
3128
- <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>
3129
3262
  </xsl:otherwise>
3130
3263
  </xsl:choose>
3131
- </xsl:for-each>
3132
-
3133
-
3134
-
3135
- <xsl:choose>
3136
- <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
3137
- <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
3138
- <fo:table-column column-width="{@width}"/>
3139
- </xsl:for-each>
3140
- </xsl:when>
3141
- <xsl:otherwise>
3142
- <!-- $colwidths=<xsl:copy-of select="$colwidths"/> -->
3143
- <xsl:call-template name="insertTableColumnWidth">
3144
- <xsl:with-param name="colwidths" select="$colwidths"/>
3145
- </xsl:call-template>
3146
- </xsl:otherwise>
3147
- </xsl:choose>
3148
-
3149
- <fo:table-body>
3150
- <fo:table-row>
3151
- <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
3152
-
3153
-
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
+
3154
3270
 
3155
-
3156
-
3157
- <!-- fn will be processed inside 'note' processing -->
3158
-
3159
-
3160
-
3161
-
3162
-
3163
-
3164
- <!-- for BSI (not PAS) display Notes before footnotes -->
3165
-
3166
-
3167
- <!-- except gb and bsi -->
3168
-
3169
- <xsl:apply-templates select="../*[local-name()='note']"/>
3170
3271
 
3171
-
3172
-
3173
- <!-- horizontal row separator -->
3174
-
3175
-
3176
- <!-- fn processing -->
3177
- <xsl:call-template name="table_fn_display"/>
3178
-
3179
- <!-- for PAS display Notes after footnotes -->
3180
-
3181
-
3182
- </fo:table-cell>
3183
- </fo:table-row>
3184
- </fo:table-body>
3185
-
3186
- </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
+
3187
3314
  </xsl:if>
3188
3315
  </xsl:template><xsl:template match="*[local-name()='tbody']">
3189
3316
 
@@ -3272,6 +3399,9 @@
3272
3399
 
3273
3400
 
3274
3401
 
3402
+
3403
+
3404
+
3275
3405
 
3276
3406
 
3277
3407
  <xsl:call-template name="setTableRowAttributes"/>
@@ -3291,6 +3421,8 @@
3291
3421
 
3292
3422
 
3293
3423
 
3424
+
3425
+
3294
3426
  <xsl:call-template name="setTableRowAttributes"/>
3295
3427
  <xsl:apply-templates/>
3296
3428
  </fo:table-row>
@@ -3372,6 +3504,8 @@
3372
3504
 
3373
3505
 
3374
3506
 
3507
+
3508
+
3375
3509
 
3376
3510
 
3377
3511
 
@@ -3443,7 +3577,11 @@
3443
3577
 
3444
3578
  <xsl:variable name="gen_id" select="generate-id(.)"/>
3445
3579
  <xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
3446
- <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_)"/>
3447
3585
  <!-- fn sequence number in document -->
3448
3586
  <xsl:variable name="current_fn_number">
3449
3587
  <xsl:choose>
@@ -3463,6 +3601,7 @@
3463
3601
  <xsl:variable name="footnote_inline">
3464
3602
  <fo:inline xsl:use-attribute-sets="fn-num-style">
3465
3603
 
3604
+
3466
3605
  <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
3467
3606
  <xsl:value-of select="$current_fn_number_text"/>
3468
3607
  </fo:basic-link>
@@ -3484,8 +3623,12 @@
3484
3623
  <fo:block xsl:use-attribute-sets="fn-body-style">
3485
3624
 
3486
3625
 
3626
+
3487
3627
  <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
3488
3628
 
3629
+
3630
+
3631
+
3489
3632
  <xsl:value-of select="$current_fn_number_text"/>
3490
3633
  </fo:inline>
3491
3634
  <xsl:apply-templates/>
@@ -3518,7 +3661,7 @@
3518
3661
  <xsl:copy-of select="node()"/>
3519
3662
  </fn>
3520
3663
  </xsl:for-each>
3521
- <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']/*">
3522
3665
  <xsl:sort select="@displayorder" data-type="number"/>
3523
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])]">
3524
3667
  <!-- copy unique fn -->
@@ -3809,11 +3952,19 @@
3809
3952
 
3810
3953
 
3811
3954
 
3955
+
3956
+ <xsl:if test="ancestor::*[local-name() = 'dd' or local-name() = 'td']">
3957
+ <xsl:attribute name="margin-top">0</xsl:attribute>
3958
+ </xsl:if>
3959
+
3812
3960
  <fo:block>
3813
3961
 
3814
3962
 
3815
3963
 
3816
3964
 
3965
+ <xsl:apply-templates select="*[local-name() = 'name']">
3966
+ <xsl:with-param name="process">true</xsl:with-param>
3967
+ </xsl:apply-templates>
3817
3968
 
3818
3969
  <xsl:if test="$isGenerateTableIF = 'true'">
3819
3970
  <!-- to determine start of table -->
@@ -3836,6 +3987,7 @@
3836
3987
  </xsl:choose>
3837
3988
 
3838
3989
 
3990
+
3839
3991
  <xsl:choose>
3840
3992
  <xsl:when test="$isGenerateTableIF = 'true'">
3841
3993
  <!-- generate IF for table widths -->
@@ -3964,6 +4116,18 @@
3964
4116
  </xsl:if> <!-- END: a few components -->
3965
4117
  </fo:block-container>
3966
4118
  </fo:block-container>
4119
+
4120
+ <xsl:if test="$isGenerateTableIF = 'true'"> <!-- process nested 'dl' -->
4121
+ <xsl:apply-templates select="*[local-name() = 'dd']/*[local-name() = 'dl']"/>
4122
+ </xsl:if>
4123
+
4124
+ </xsl:template><xsl:template match="*[local-name() = 'dl']/*[local-name() = 'name']">
4125
+ <xsl:param name="process">false</xsl:param>
4126
+ <xsl:if test="$process = 'true'">
4127
+ <fo:block xsl:use-attribute-sets="dl-name-style">
4128
+ <xsl:apply-templates/>
4129
+ </fo:block>
4130
+ </xsl:if>
3967
4131
  </xsl:template><xsl:template name="setColumnWidth_dl">
3968
4132
  <xsl:param name="colwidths"/>
3969
4133
  <xsl:param name="maxlength_dt"/>
@@ -3972,6 +4136,11 @@
3972
4136
  <!-- <colwidths><xsl:copy-of select="$colwidths"/></colwidths> -->
3973
4137
 
3974
4138
  <xsl:choose>
4139
+ <xsl:when test="xalan:nodeset($colwidths)/autolayout">
4140
+ <xsl:call-template name="insertTableColumnWidth">
4141
+ <xsl:with-param name="colwidths" select="$colwidths"/>
4142
+ </xsl:call-template>
4143
+ </xsl:when>
3975
4144
  <xsl:when test="ancestor::*[local-name()='dl']"><!-- second level, i.e. inlined table -->
3976
4145
  <fo:table-column column-width="50%"/>
3977
4146
  <fo:table-column column-width="50%"/>
@@ -4224,12 +4393,24 @@
4224
4393
  </td>
4225
4394
  <td>
4226
4395
 
4227
- <xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/node()"/>
4396
+ <xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/node()[not(local-name() = 'dl')]"/>
4397
+
4398
+ <!-- get paragraphs from nested 'dl' -->
4399
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'dl']" mode="dl_if_nested"/>
4400
+
4228
4401
 
4229
4402
  </td>
4230
4403
  </tr>
4231
4404
 
4232
- </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl_if"/><xsl:template match="*[local-name()='em']">
4405
+ </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl_if"/><xsl:template match="*[local-name()='dl']" mode="dl_if_nested">
4406
+ <xsl:for-each select="*[local-name() = 'dt']">
4407
+ <p>
4408
+ <xsl:copy-of select="node()"/>
4409
+ <xsl:text> </xsl:text>
4410
+ <xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'p']/node()"/>
4411
+ </p>
4412
+ </xsl:for-each>
4413
+ </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl_if_nested"/><xsl:template match="*[local-name()='em']">
4233
4414
  <fo:inline font-style="italic">
4234
4415
  <xsl:apply-templates/>
4235
4416
  </fo:inline>
@@ -4260,7 +4441,7 @@
4260
4441
 
4261
4442
 
4262
4443
 
4263
-
4444
+ <!-- 10 -->
4264
4445
 
4265
4446
 
4266
4447
 
@@ -5132,6 +5313,13 @@
5132
5313
  </xsl:variable>
5133
5314
  <fo:inline xsl:use-attribute-sets="link-style">
5134
5315
 
5316
+ <xsl:if test="starts-with(normalize-space(@target), 'mailto:')">
5317
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5318
+ </xsl:if>
5319
+
5320
+
5321
+
5322
+
5135
5323
 
5136
5324
 
5137
5325
 
@@ -5349,6 +5537,7 @@
5349
5537
 
5350
5538
 
5351
5539
 
5540
+
5352
5541
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
5353
5542
  <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
5354
5543
  <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
@@ -5371,6 +5560,7 @@
5371
5560
  <xsl:otherwise>
5372
5561
 
5373
5562
 
5563
+
5374
5564
  </xsl:otherwise>
5375
5565
  </xsl:choose>
5376
5566
  </xsl:variable>
@@ -5387,6 +5577,7 @@
5387
5577
  </xsl:when>
5388
5578
  <xsl:otherwise>
5389
5579
 
5580
+
5390
5581
  <xsl:text>:</xsl:text>
5391
5582
 
5392
5583
 
@@ -5398,7 +5589,19 @@
5398
5589
  <xsl:value-of select="$suffix"/>
5399
5590
  </xsl:if>
5400
5591
  </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
5401
- <fo:inline><xsl:apply-templates/></fo:inline>
5592
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
5593
+ <xsl:choose>
5594
+ <xsl:when test="$num = 1"> <!-- first paragraph renders in the same line as titlenote name -->
5595
+ <fo:inline xsl:use-attribute-sets="termnote-p-style">
5596
+ <xsl:apply-templates/>
5597
+ </fo:inline>
5598
+ </xsl:when>
5599
+ <xsl:otherwise>
5600
+ <fo:block xsl:use-attribute-sets="termnote-p-style">
5601
+ <xsl:apply-templates/>
5602
+ </fo:block>
5603
+ </xsl:otherwise>
5604
+ </xsl:choose>
5402
5605
  </xsl:template><xsl:template match="*[local-name() = 'terms']">
5403
5606
  <!-- <xsl:message>'terms' <xsl:number/> processing...</xsl:message> -->
5404
5607
  <fo:block id="{@id}">
@@ -6142,6 +6345,9 @@
6142
6345
  <fo:block xsl:use-attribute-sets="figure-name-style">
6143
6346
 
6144
6347
 
6348
+
6349
+
6350
+
6145
6351
  <xsl:apply-templates/>
6146
6352
  </fo:block>
6147
6353
  </xsl:if>
@@ -6202,9 +6408,9 @@
6202
6408
  <xsl:apply-templates/>
6203
6409
  </xsl:otherwise>
6204
6410
  </xsl:choose>
6205
- </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">
6411
+ </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">
6206
6412
  <xsl:value-of select="."/>
6207
- </xsl:template><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
6413
+ </xsl:template><xsl:template match="*[local-name() = 'review']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
6208
6414
  <xsl:text> </xsl:text>
6209
6415
  </xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
6210
6416
  <xsl:copy>
@@ -6275,9 +6481,12 @@
6275
6481
 
6276
6482
 
6277
6483
 
6484
+ <!-- 9 -->
6278
6485
 
6279
6486
 
6280
-
6487
+ <!-- <xsl:if test="$namespace = 'ieee'">
6488
+ <xsl:if test="$doctype = 'standard' and $stage = 'published'">8</xsl:if>
6489
+ </xsl:if> -->
6281
6490
 
6282
6491
 
6283
6492
 
@@ -6359,7 +6568,7 @@
6359
6568
  <xsl:for-each select="xalan:nodeset($text_step4)/node()">
6360
6569
  <xsl:choose>
6361
6570
  <xsl:when test="local-name() = 'interspers'"> <!-- word with length more than 30 will be interspersed with zero-width space -->
6362
- <xsl:call-template name="interspers">
6571
+ <xsl:call-template name="interspers-java">
6363
6572
  <xsl:with-param name="str" select="."/>
6364
6573
  </xsl:call-template>
6365
6574
  </xsl:when>
@@ -6409,6 +6618,10 @@
6409
6618
  <xsl:with-param name="char" select="$char"/>
6410
6619
  </xsl:call-template>
6411
6620
  </xsl:if>
6621
+ </xsl:template><xsl:template name="interspers-java">
6622
+ <xsl:param name="str"/>
6623
+ <xsl:param name="char" select="$zero_width_space"/>
6624
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new($str),'([^ -.:=_—])',concat('$1', $char))"/> <!-- insert $char after each char excep space, - . : = _ etc. -->
6412
6625
  </xsl:template><xsl:template match="*" mode="syntax_highlight">
6413
6626
  <xsl:apply-templates mode="syntax_highlight"/>
6414
6627
  </xsl:template><xsl:variable name="syntax_highlight_styles_">
@@ -6728,10 +6941,14 @@
6728
6941
  </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'p']">
6729
6942
  <xsl:variable name="element">inline
6730
6943
 
6944
+
6731
6945
  </xsl:variable>
6732
6946
  <xsl:choose>
6733
6947
  <xsl:when test="contains($element, 'block')">
6734
6948
  <fo:block xsl:use-attribute-sets="example-p-style">
6949
+
6950
+
6951
+
6735
6952
  <xsl:apply-templates/>
6736
6953
  </fo:block>
6737
6954
  </xsl:when>
@@ -6839,6 +7056,7 @@
6839
7056
  </xsl:if>
6840
7057
  <fo:block xsl:use-attribute-sets="example-p-style">
6841
7058
 
7059
+
6842
7060
  <xsl:apply-templates/>
6843
7061
  </fo:block>
6844
7062
  </fo:block-container>
@@ -6995,6 +7213,8 @@
6995
7213
 
6996
7214
 
6997
7215
 
7216
+
7217
+
6998
7218
  <fo:basic-link fox:alt-text="{@citeas}">
6999
7219
  <xsl:if test="normalize-space(@citeas) = ''">
7000
7220
  <xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
@@ -7058,6 +7278,7 @@
7058
7278
 
7059
7279
 
7060
7280
 
7281
+
7061
7282
  <xsl:choose>
7062
7283
  <xsl:when test="$depth &gt;= 5"/>
7063
7284
  <xsl:when test="$depth &gt;= 4">5</xsl:when>
@@ -7379,6 +7600,11 @@
7379
7600
  </xsl:otherwise>
7380
7601
  </xsl:choose>
7381
7602
  </xsl:template><xsl:template match="*[local-name()='ul'] | *[local-name()='ol']" mode="list" name="list">
7603
+
7604
+ <xsl:apply-templates select="*[local-name() = 'name']">
7605
+ <xsl:with-param name="process">true</xsl:with-param>
7606
+ </xsl:apply-templates>
7607
+
7382
7608
  <fo:list-block xsl:use-attribute-sets="list-style">
7383
7609
 
7384
7610
 
@@ -7389,12 +7615,23 @@
7389
7615
 
7390
7616
 
7391
7617
 
7618
+ <xsl:if test="*[local-name() = 'name']">
7619
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
7620
+ </xsl:if>
7621
+
7392
7622
  <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
7393
7623
  </fo:list-block>
7394
7624
  <!-- <xsl:for-each select="./iho:note">
7395
7625
  <xsl:call-template name="note"/>
7396
7626
  </xsl:for-each> -->
7397
7627
  <xsl:apply-templates select="./*[local-name() = 'note']"/>
7628
+ </xsl:template><xsl:template match="*[local-name() = 'ol' or local-name() = 'ul']/*[local-name() = 'name']">
7629
+ <xsl:param name="process">false</xsl:param>
7630
+ <xsl:if test="$process = 'true'">
7631
+ <fo:block xsl:use-attribute-sets="list-name-style">
7632
+ <xsl:apply-templates/>
7633
+ </fo:block>
7634
+ </xsl:if>
7398
7635
  </xsl:template><xsl:template match="*[local-name()='li']">
7399
7636
  <fo:list-item xsl:use-attribute-sets="list-item-style">
7400
7637
  <xsl:copy-of select="@id"/>
@@ -7406,6 +7643,8 @@
7406
7643
 
7407
7644
 
7408
7645
 
7646
+
7647
+
7409
7648
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
7410
7649
  <xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
7411
7650
  <xsl:call-template name="append_add-style"/>
@@ -7663,9 +7902,9 @@
7663
7902
  </fo:block>
7664
7903
 
7665
7904
 
7666
- </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
7905
+ </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" name="bibitem_non_normative" priority="2">
7667
7906
 
7668
- <!-- $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'jcgm' or $namespace = 'm3d' or
7907
+ <!-- $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'ieee' or $namespace = 'iso' or $namespace = 'jcgm' or $namespace = 'm3d' or
7669
7908
  $namespace = 'mpfd' or $namespace = 'ogc' or $namespace = 'ogc-white-paper' -->
7670
7909
  <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
7671
7910
  <fo:list-block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-style">
@@ -7676,7 +7915,7 @@
7676
7915
 
7677
7916
  <xsl:value-of select="*[local-name()='docidentifier'][@type = 'metanorma-ordinal']"/>
7678
7917
  <xsl:if test="not(*[local-name()='docidentifier'][@type = 'metanorma-ordinal'])">
7679
- <xsl:number format="[1]"/>
7918
+ <xsl:number format="[1]" count="*[local-name()='bibitem'][not(@hidden = 'true')]"/>
7680
7919
  </xsl:if>
7681
7920
 
7682
7921
  </fo:inline>
@@ -7698,143 +7937,7 @@
7698
7937
  <xsl:if test=".//ogc:fn">
7699
7938
  <xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
7700
7939
  </xsl:if>
7701
- <xsl:choose>
7702
- <xsl:when test="*[local-name() = 'formattedref']">
7703
- <xsl:apply-templates select="*[local-name() = 'formattedref']"/>
7704
- </xsl:when>
7705
- <xsl:otherwise>
7706
- <xsl:variable name="personalAuthors">
7707
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']/*[local-name() = 'person']">
7708
- <xsl:call-template name="processPersonalAuthor"/>
7709
- </xsl:for-each>
7710
- <xsl:if test="not(*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']/*[local-name() = 'person'])">
7711
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='editor']/*[local-name() = 'person']">
7712
- <xsl:call-template name="processPersonalAuthor"/>
7713
- </xsl:for-each>
7714
- </xsl:if>
7715
- </xsl:variable>
7716
-
7717
- <xsl:variable name="city" select="*[local-name() = 'place']"/>
7718
- <xsl:variable name="year">
7719
- <xsl:choose>
7720
- <xsl:when test="*[local-name() = 'date'][@type = 'published']">
7721
- <xsl:for-each select="*[local-name() = 'date'][@type = 'published']">
7722
- <xsl:call-template name="renderDate"/>
7723
- </xsl:for-each>
7724
- </xsl:when>
7725
- <xsl:when test="*[local-name() = 'date'][@type = 'issued']">
7726
- <xsl:for-each select="*[local-name() = 'date'][@type = 'issued']">
7727
- <xsl:call-template name="renderDate"/>
7728
- </xsl:for-each>
7729
- </xsl:when>
7730
- <xsl:when test="*[local-name() = 'date'][@type = 'circulated']">
7731
- <xsl:for-each select="*[local-name() = 'date'][@type = 'circulated']">
7732
- <xsl:call-template name="renderDate"/>
7733
- </xsl:for-each>
7734
- </xsl:when>
7735
- <xsl:otherwise>
7736
- <xsl:for-each select="*[local-name() = 'date']">
7737
- <xsl:call-template name="renderDate"/>
7738
- </xsl:for-each>
7739
- </xsl:otherwise>
7740
- </xsl:choose>
7741
- </xsl:variable>
7742
-
7743
- <xsl:variable name="uri" select="*[local-name() = 'uri']"/>
7744
-
7745
-
7746
- <!-- citation structure:
7747
- {personal names | organisation}: {document identifier}, {title}. {publisher}, {city} ({year})
7748
- -->
7749
-
7750
- <!-- Author(s) -->
7751
- <xsl:choose>
7752
- <xsl:when test="xalan:nodeset($personalAuthors)//author">
7753
- <xsl:for-each select="xalan:nodeset($personalAuthors)//author">
7754
- <xsl:apply-templates/>
7755
- <xsl:if test="position() != last()">, </xsl:if>
7756
- </xsl:for-each>
7757
- <xsl:text>: </xsl:text>
7758
- </xsl:when>
7759
- <xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'abbreviation']">
7760
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'abbreviation']">
7761
- <xsl:value-of select="."/>
7762
- <xsl:if test="position() != last()">/</xsl:if>
7763
- </xsl:for-each>
7764
- <xsl:text>: </xsl:text>
7765
- </xsl:when>
7766
- <xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name']">
7767
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name']">
7768
- <xsl:value-of select="."/>
7769
- <xsl:if test="position() != last()">, </xsl:if>
7770
- </xsl:for-each>
7771
- <xsl:text>: </xsl:text>
7772
- </xsl:when>
7773
- </xsl:choose>
7774
-
7775
-
7776
- <xsl:variable name="document_identifier">
7777
- <xsl:call-template name="processBibitemDocId"/>
7778
- </xsl:variable>
7779
-
7780
- <xsl:value-of select="$document_identifier"/>
7781
-
7782
- <xsl:apply-templates select="*[local-name() = 'note']"/>
7783
-
7784
- <xsl:variable name="isDraft">
7785
- <xsl:variable name="stage" select="normalize-space(*[local-name() = 'status']/*[local-name() = 'stage'])"/>
7786
- <xsl:if test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization'][*[local-name() = 'name']/text() = 'Open Geospatial Consortium'] and $stage != '' and $stage != 'published' and $stage != 'deprecated' and $stage != 'retired'">true</xsl:if>
7787
- </xsl:variable>
7788
-
7789
- <xsl:if test="$isDraft = 'true'">
7790
- <xsl:text> (Draft)</xsl:text>
7791
- </xsl:if>
7792
-
7793
- <xsl:text>, </xsl:text>
7794
-
7795
- <xsl:choose>
7796
- <xsl:when test="*[local-name() = 'title'][@type = 'main' and @language = 'en']">
7797
- <xsl:apply-templates select="*[local-name() = 'title'][@type = 'main' and @language = 'en']"/>
7798
- </xsl:when>
7799
- <xsl:otherwise>
7800
- <xsl:apply-templates select="*[local-name() = 'title']"/>
7801
- </xsl:otherwise>
7802
- </xsl:choose>
7803
-
7804
- <xsl:text>. </xsl:text>
7805
-
7806
- <xsl:if test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name']">
7807
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name']">
7808
- <xsl:value-of select="."/>
7809
- <xsl:if test="position() != last()">, </xsl:if>
7810
- </xsl:for-each>
7811
- <xsl:if test="normalize-space($city) != ''">, </xsl:if>
7812
- </xsl:if>
7813
-
7814
- <xsl:value-of select="$city"/>
7815
-
7816
- <xsl:if test="(*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name'] or normalize-space($city) != '') and normalize-space($year) != ''">
7817
- <xsl:text> </xsl:text>
7818
- </xsl:if>
7819
-
7820
- <xsl:if test="normalize-space($year) != ''">
7821
- <xsl:text>(</xsl:text>
7822
- <xsl:value-of select="$year"/>
7823
- <xsl:text>). </xsl:text>
7824
- </xsl:if>
7825
-
7826
- <xsl:if test="normalize-space($uri) != ''">
7827
- <fo:inline>
7828
-
7829
- <xsl:text> </xsl:text>
7830
- <fo:basic-link external-destination="{$uri}" fox:alt-text="{$uri}">
7831
- <xsl:value-of select="$uri"/>
7832
- </fo:basic-link>
7833
- </fo:inline>
7834
- </xsl:if>
7835
-
7836
- </xsl:otherwise>
7837
- </xsl:choose>
7940
+ <xsl:apply-templates select="*[local-name() = 'formattedref']"/>
7838
7941
  <!-- end OGC bibitem processing-->
7839
7942
 
7840
7943
  </xsl:template><xsl:template name="processBibitemDocId">
@@ -8144,12 +8247,16 @@
8144
8247
  <fo:block-container id="{@id}" xsl:use-attribute-sets="admonition-style">
8145
8248
 
8146
8249
 
8250
+
8251
+
8147
8252
 
8148
8253
 
8149
8254
 
8150
8255
  <fo:block-container xsl:use-attribute-sets="admonition-container-style">
8151
8256
 
8152
8257
 
8258
+
8259
+
8153
8260
  <fo:block xsl:use-attribute-sets="admonition-name-style">
8154
8261
  <xsl:call-template name="displayAdmonitionName"/>
8155
8262
  </fo:block>
@@ -8162,25 +8269,32 @@
8162
8269
  </fo:block-container>
8163
8270
 
8164
8271
  </xsl:template><xsl:template name="displayAdmonitionName">
8165
-
8272
+ <xsl:param name="sep"/> <!-- Example: ' - ' -->
8273
+ <!-- <xsl:choose>
8274
+ <xsl:when test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
8275
+ <xsl:choose>
8276
+ <xsl:when test="@type='important'"><xsl:apply-templates select="@type"/></xsl:when>
8277
+ <xsl:otherwise>
8278
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
8279
+ </xsl:otherwise>
8280
+ </xsl:choose>
8281
+ </xsl:when>
8282
+ <xsl:otherwise>
8166
8283
  <xsl:apply-templates select="*[local-name() = 'name']"/>
8167
8284
  <xsl:if test="not(*[local-name() = 'name'])">
8168
8285
  <xsl:apply-templates select="@type"/>
8169
8286
  </xsl:if>
8170
-
8171
- </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
8172
- <xsl:apply-templates/>
8173
- </xsl:template><xsl:template match="*[local-name() = 'admonition']/@type">
8174
- <xsl:variable name="admonition_type_">
8175
- <xsl:call-template name="getLocalizedString">
8176
- <xsl:with-param name="key">admonition.<xsl:value-of select="."/></xsl:with-param>
8177
- </xsl:call-template>
8287
+ </xsl:otherwise>
8288
+ </xsl:choose> -->
8289
+ <xsl:variable name="name">
8290
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
8178
8291
  </xsl:variable>
8179
- <xsl:variable name="admonition_type" select="normalize-space(java:toUpperCase(java:java.lang.String.new($admonition_type_)))"/>
8180
- <xsl:value-of select="$admonition_type"/>
8181
- <xsl:if test="$admonition_type = ''">
8182
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
8292
+ <xsl:copy-of select="$name"/>
8293
+ <xsl:if test="normalize-space($name) != ''">
8294
+ <xsl:value-of select="$sep"/>
8183
8295
  </xsl:if>
8296
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
8297
+ <xsl:apply-templates/>
8184
8298
  </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'p']">
8185
8299
 
8186
8300
  <fo:block xsl:use-attribute-sets="admonition-p-style">
@@ -8351,6 +8465,8 @@
8351
8465
  </xsl:when>
8352
8466
  <xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
8353
8467
  </xsl:choose>
8468
+ </xsl:template><xsl:template match="*[local-name() = 'lang_none']">
8469
+ <fo:inline xml:lang="none"><xsl:value-of select="."/></fo:inline>
8354
8470
  </xsl:template><xsl:template name="printEdition">
8355
8471
  <xsl:variable name="edition_i18n" select="normalize-space((//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) != ''])"/>
8356
8472
  <xsl:text> </xsl:text>
@@ -8457,6 +8573,27 @@
8457
8573
  </xsl:when>
8458
8574
  <xsl:otherwise><xsl:value-of select="$monthStr_"/></xsl:otherwise>
8459
8575
  </xsl:choose>
8576
+ </xsl:template><xsl:template name="getMonthLocalizedByNum">
8577
+ <xsl:param name="num"/>
8578
+ <xsl:variable name="monthStr">
8579
+ <xsl:choose>
8580
+ <xsl:when test="$num = '01'">january</xsl:when>
8581
+ <xsl:when test="$num = '02'">february</xsl:when>
8582
+ <xsl:when test="$num = '03'">march</xsl:when>
8583
+ <xsl:when test="$num = '04'">april</xsl:when>
8584
+ <xsl:when test="$num = '05'">may</xsl:when>
8585
+ <xsl:when test="$num = '06'">june</xsl:when>
8586
+ <xsl:when test="$num = '07'">july</xsl:when>
8587
+ <xsl:when test="$num = '08'">august</xsl:when>
8588
+ <xsl:when test="$num = '09'">september</xsl:when>
8589
+ <xsl:when test="$num = '10'">october</xsl:when>
8590
+ <xsl:when test="$num = '11'">november</xsl:when>
8591
+ <xsl:when test="$num = '12'">december</xsl:when>
8592
+ </xsl:choose>
8593
+ </xsl:variable>
8594
+ <xsl:call-template name="getLocalizedString">
8595
+ <xsl:with-param name="key">month_<xsl:value-of select="$monthStr"/></xsl:with-param>
8596
+ </xsl:call-template>
8460
8597
  </xsl:template><xsl:template name="insertKeywords">
8461
8598
  <xsl:param name="sorting" select="'true'"/>
8462
8599
  <xsl:param name="charAtEnd" select="'.'"/>
@@ -8528,7 +8665,7 @@
8528
8665
  <dc:description>
8529
8666
  <xsl:variable name="abstract">
8530
8667
 
8531
- <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
8668
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()[not(ancestor::*[local-name() = 'title'])]"/>
8532
8669
 
8533
8670
  </xsl:variable>
8534
8671
  <xsl:value-of select="normalize-space($abstract)"/>
@@ -8652,6 +8789,7 @@
8652
8789
 
8653
8790
 
8654
8791
 
8792
+
8655
8793
  <xsl:value-of select="document('')//*/namespace::ogc"/>
8656
8794
 
8657
8795