metanorma-csa 2.1.1 → 2.1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -574,14 +574,41 @@
574
574
  <xsl:text>iVBORw0KGgoAAAANSUhEUgAAASEAAAEhCAYAAAAwHRYbAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplYWRhN2RlNC04YzAyLTQ1N2UtYjUwNy0zNGYzY2RjNWE2ZGQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDUyNzBENDc3NjVCMTFFQTlDMDhGMEI2ODhENjUxQkIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDUyNzBENDY3NjVCMTFFQTlDMDhGMEI2ODhENjUxQkIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSW5EZXNpZ24gMTQuMCAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ1dWlkOmZiZjFiODZmLTIzMjMtM2U0OS1hMDMzLTVlOGQxYThlNmI1YiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmlkOjFlMzVjZTE3LWU5NzAtNDQ1OS05ZjI0LTM1NzcwZWYzMjNjMiIvPiA8L3Jk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</xsl:text>
575
575
  </xsl:variable>
576
576
 
577
- <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_">
577
+ <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_">
578
+ <xsl:for-each select="$table_widths_from_if//table">
579
+ <xsl:copy>
580
+ <xsl:copy-of select="@*"/>
581
+ <xsl:call-template name="calculate-column-widths-autolayout-algorithm"/>
582
+ </xsl:copy>
583
+ </xsl:for-each>
584
+ </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_">
578
585
  false
579
586
  </xsl:variable><xsl:variable name="isGenerateTableIF" select="normalize-space($isGenerateTableIF_)"/><xsl:variable name="lang">
580
587
  <xsl:call-template name="getLang"/>
581
- </xsl:variable><xsl:variable name="pageWidth_">
582
- 215.9
588
+ </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_">
589
+ <xsl:choose>
590
+ <xsl:when test="$papersize = 'letter'">215.9</xsl:when>
591
+ <xsl:when test="$papersize = 'a4'">210</xsl:when>
592
+ </xsl:choose>
593
+ </xsl:variable><xsl:variable name="papersize_width" select="normalize-space($papersize_width_)"/><xsl:variable name="papersize_height_">
594
+ <xsl:choose>
595
+ <xsl:when test="$papersize = 'letter'">279.4</xsl:when>
596
+ <xsl:when test="$papersize = 'a4'">297</xsl:when>
597
+ </xsl:choose>
598
+ </xsl:variable><xsl:variable name="papersize_height" select="normalize-space($papersize_height_)"/><xsl:variable name="pageWidth_">
599
+ <xsl:choose>
600
+ <xsl:when test="$papersize_width != ''"><xsl:value-of select="$papersize_width"/></xsl:when>
601
+ <xsl:otherwise>
602
+ 215.9
603
+ </xsl:otherwise>
604
+ </xsl:choose>
583
605
  </xsl:variable><xsl:variable name="pageWidth" select="normalize-space($pageWidth_)"/><xsl:variable name="pageHeight_">
584
- 279.4
606
+ <xsl:choose>
607
+ <xsl:when test="$papersize_height != ''"><xsl:value-of select="$papersize_height"/></xsl:when>
608
+ <xsl:otherwise>
609
+ 279.4
610
+ </xsl:otherwise>
611
+ </xsl:choose>
585
612
  </xsl:variable><xsl:variable name="pageHeight" select="normalize-space($pageHeight_)"/><xsl:variable name="marginLeftRight1_">
586
613
  25
587
614
  </xsl:variable><xsl:variable name="marginLeftRight1" select="normalize-space($marginLeftRight1_)"/><xsl:variable name="marginLeftRight2_">
@@ -695,11 +722,12 @@
695
722
  <xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
696
723
  </xsl:otherwise>
697
724
  </xsl:choose>
698
- </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">
725
+ </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">
699
726
 
700
727
 
701
728
 
702
- <xsl:attribute name="font-family">Azo Sans, STIX Two Math</xsl:attribute>
729
+ <xsl:attribute name="font-family">Azo Sans, STIX Two Math, <xsl:value-of select="$font_noto_sans"/></xsl:attribute>
730
+ <xsl:attribute name="font-family-generic">Sans</xsl:attribute>
703
731
  <xsl:attribute name="font-size">10pt</xsl:attribute>
704
732
 
705
733
 
@@ -715,6 +743,7 @@
715
743
 
716
744
 
717
745
 
746
+
718
747
  </xsl:attribute-set><xsl:template name="insertRootStyle">
719
748
  <xsl:param name="root-style"/>
720
749
  <xsl:variable name="root-style_" select="xalan:nodeset($root-style)"/>
@@ -726,17 +755,60 @@
726
755
  </xsl:variable>
727
756
  <xsl:variable name="additional_fonts" select="normalize-space($additional_fonts_)"/>
728
757
 
758
+ <xsl:variable name="font_family_generic" select="$root-style_/root-style/@font-family-generic"/>
759
+
729
760
  <xsl:for-each select="$root-style_/root-style/@*">
761
+
730
762
  <xsl:choose>
731
- <xsl:when test="local-name() = 'font-family' and $additional_fonts != ''">
763
+ <xsl:when test="local-name() = 'font-family-generic'"><!-- skip, it's using for determine 'sans' or 'serif' --></xsl:when>
764
+ <xsl:when test="local-name() = 'font-family'">
765
+
766
+ <xsl:variable name="font_regional_prefix">
767
+ <xsl:choose>
768
+ <xsl:when test="$font_family_generic = 'Sans'">Noto Sans</xsl:when>
769
+ <xsl:otherwise>Noto Serif</xsl:otherwise>
770
+ </xsl:choose>
771
+ </xsl:variable>
772
+
732
773
  <xsl:attribute name="{local-name()}">
733
- <xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
774
+
775
+ <xsl:variable name="font_extended">
776
+ <xsl:choose>
777
+ <xsl:when test="$lang = 'zh'"><xsl:value-of select="$font_regional_prefix"/> SC</xsl:when>
778
+ <xsl:when test="$lang = 'hk'"><xsl:value-of select="$font_regional_prefix"/> HK</xsl:when>
779
+ <xsl:when test="$lang = 'jp'"><xsl:value-of select="$font_regional_prefix"/> JP</xsl:when>
780
+ <xsl:when test="$lang = 'kr'"><xsl:value-of select="$font_regional_prefix"/> KR</xsl:when>
781
+ <xsl:when test="$lang = 'sc'"><xsl:value-of select="$font_regional_prefix"/> SC</xsl:when>
782
+ <xsl:when test="$lang = 'tc'"><xsl:value-of select="$font_regional_prefix"/> TC</xsl:when>
783
+ </xsl:choose>
784
+ </xsl:variable>
785
+ <xsl:if test="normalize-space($font_extended) != ''">
786
+ <xsl:value-of select="$font_regional_prefix"/><xsl:text>, </xsl:text>
787
+ <xsl:value-of select="$font_extended"/><xsl:text>, </xsl:text>
788
+ </xsl:if>
789
+
790
+ <xsl:value-of select="."/>
791
+
792
+ <xsl:if test="$additional_fonts != ''">
793
+ <xsl:text>, </xsl:text><xsl:value-of select="$additional_fonts"/>
794
+ </xsl:if>
734
795
  </xsl:attribute>
735
796
  </xsl:when>
736
797
  <xsl:otherwise>
737
798
  <xsl:copy-of select="."/>
738
799
  </xsl:otherwise>
739
800
  </xsl:choose>
801
+
802
+ <!-- <xsl:choose>
803
+ <xsl:when test="local-name() = 'font-family'">
804
+ <xsl:attribute name="{local-name()}">
805
+ <xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
806
+ </xsl:attribute>
807
+ </xsl:when>
808
+ <xsl:otherwise>
809
+ <xsl:copy-of select="."/>
810
+ </xsl:otherwise>
811
+ </xsl:choose> -->
740
812
  </xsl:for-each>
741
813
  </xsl:template><xsl:attribute-set name="copyright-statement-style">
742
814
 
@@ -802,7 +874,7 @@
802
874
  <xsl:attribute name="role">Code</xsl:attribute>
803
875
 
804
876
 
805
- <xsl:attribute name="font-family">Source Code Pro</xsl:attribute>
877
+ <xsl:attribute name="font-family">Source Code Pro, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
806
878
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
807
879
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
808
880
  <xsl:attribute name="line-height">113%</xsl:attribute>
@@ -815,6 +887,7 @@
815
887
 
816
888
 
817
889
 
890
+
818
891
 
819
892
 
820
893
 
@@ -829,7 +902,10 @@
829
902
 
830
903
  </xsl:attribute-set><xsl:attribute-set name="requirement-style">
831
904
 
905
+
832
906
  </xsl:attribute-set><xsl:attribute-set name="requirement-name-style">
907
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
908
+
833
909
 
834
910
  </xsl:attribute-set><xsl:attribute-set name="requirement-label-style">
835
911
 
@@ -858,6 +934,7 @@
858
934
 
859
935
 
860
936
 
937
+
861
938
 
862
939
  </xsl:attribute-set><xsl:attribute-set name="example-style">
863
940
 
@@ -875,6 +952,7 @@
875
952
 
876
953
 
877
954
 
955
+
878
956
  </xsl:attribute-set><xsl:attribute-set name="example-body-style">
879
957
 
880
958
  <xsl:attribute name="margin-left">12.5mm</xsl:attribute>
@@ -902,6 +980,7 @@
902
980
 
903
981
 
904
982
 
983
+
905
984
 
906
985
 
907
986
 
@@ -932,10 +1011,12 @@
932
1011
 
933
1012
 
934
1013
 
1014
+
935
1015
 
936
1016
 
937
1017
  </xsl:attribute-set><xsl:variable name="table-border_">
938
1018
 
1019
+
939
1020
  </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
940
1021
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
941
1022
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
@@ -958,6 +1039,7 @@
958
1039
 
959
1040
 
960
1041
 
1042
+
961
1043
 
962
1044
 
963
1045
 
@@ -987,6 +1069,7 @@
987
1069
 
988
1070
 
989
1071
 
1072
+
990
1073
 
991
1074
 
992
1075
  </xsl:attribute-set><xsl:attribute-set name="table-name-style">
@@ -995,6 +1078,7 @@
995
1078
 
996
1079
 
997
1080
 
1081
+
998
1082
 
999
1083
 
1000
1084
 
@@ -1065,6 +1149,7 @@
1065
1149
 
1066
1150
 
1067
1151
 
1152
+
1068
1153
  </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
1069
1154
  <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1070
1155
  <xsl:attribute name="padding-left">1mm</xsl:attribute>
@@ -1077,7 +1162,7 @@
1077
1162
 
1078
1163
 
1079
1164
 
1080
-
1165
+
1081
1166
 
1082
1167
 
1083
1168
 
@@ -1092,6 +1177,7 @@
1092
1177
 
1093
1178
 
1094
1179
 
1180
+
1095
1181
  </xsl:attribute-set><xsl:attribute-set name="table-fn-style">
1096
1182
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1097
1183
 
@@ -1100,6 +1186,8 @@
1100
1186
 
1101
1187
 
1102
1188
 
1189
+
1190
+
1103
1191
  </xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
1104
1192
  <xsl:attribute name="font-size">80%</xsl:attribute>
1105
1193
  <xsl:attribute name="padding-right">5mm</xsl:attribute>
@@ -1115,6 +1203,7 @@
1115
1203
 
1116
1204
 
1117
1205
 
1206
+
1118
1207
  </xsl:attribute-set><xsl:attribute-set name="fn-container-body-style">
1119
1208
  <xsl:attribute name="text-indent">0</xsl:attribute>
1120
1209
  <xsl:attribute name="start-indent">0</xsl:attribute>
@@ -1147,6 +1236,25 @@
1147
1236
 
1148
1237
 
1149
1238
 
1239
+
1240
+ </xsl:attribute-set><xsl:attribute-set name="dl-name-style">
1241
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1242
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1243
+
1244
+
1245
+
1246
+
1247
+
1248
+
1249
+
1250
+
1251
+
1252
+
1253
+
1254
+
1255
+
1256
+
1257
+
1150
1258
  </xsl:attribute-set><xsl:attribute-set name="dd-cell-style">
1151
1259
  <xsl:attribute name="padding-left">2mm</xsl:attribute>
1152
1260
  </xsl:attribute-set><xsl:attribute-set name="appendix-style">
@@ -1186,6 +1294,7 @@
1186
1294
 
1187
1295
 
1188
1296
 
1297
+
1189
1298
 
1190
1299
 
1191
1300
 
@@ -1226,7 +1335,8 @@
1226
1335
 
1227
1336
 
1228
1337
 
1229
-
1338
+
1339
+
1230
1340
 
1231
1341
 
1232
1342
 
@@ -1242,6 +1352,7 @@
1242
1352
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1243
1353
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1244
1354
 
1355
+
1245
1356
 
1246
1357
 
1247
1358
 
@@ -1252,6 +1363,8 @@
1252
1363
 
1253
1364
 
1254
1365
 
1366
+ </xsl:attribute-set><xsl:attribute-set name="termnote-p-style">
1367
+
1255
1368
  </xsl:attribute-set><xsl:attribute-set name="quote-style">
1256
1369
  <xsl:attribute name="margin-left">12mm</xsl:attribute>
1257
1370
  <xsl:attribute name="margin-right">12mm</xsl:attribute>
@@ -1310,6 +1423,7 @@
1310
1423
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
1311
1424
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1312
1425
  <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1426
+
1313
1427
 
1314
1428
 
1315
1429
 
@@ -1353,6 +1467,7 @@
1353
1467
 
1354
1468
 
1355
1469
 
1470
+
1356
1471
  </xsl:attribute-set><xsl:attribute-set name="formula-stem-number-style">
1357
1472
  <xsl:attribute name="text-align">right</xsl:attribute>
1358
1473
 
@@ -1371,19 +1486,19 @@
1371
1486
  </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
1372
1487
 
1373
1488
  </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
1489
+ <xsl:attribute name="width">100%</xsl:attribute>
1490
+ <xsl:attribute name="content-height">100%</xsl:attribute>
1491
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
1374
1492
 
1375
1493
 
1376
- <xsl:attribute name="width">100%</xsl:attribute>
1377
1494
  <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
1378
- <xsl:attribute name="scaling">uniform</xsl:attribute>
1379
1495
 
1380
1496
 
1381
1497
 
1382
-
1383
-
1498
+
1384
1499
  </xsl:attribute-set><xsl:attribute-set name="tt-style">
1385
1500
 
1386
- <xsl:attribute name="font-family">Source Code Pro</xsl:attribute>
1501
+ <xsl:attribute name="font-family">Source Code Pro, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
1387
1502
 
1388
1503
 
1389
1504
 
@@ -1468,6 +1583,23 @@
1468
1583
 
1469
1584
 
1470
1585
 
1586
+
1587
+ </xsl:attribute-set><xsl:attribute-set name="list-name-style">
1588
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1589
+
1590
+
1591
+
1592
+
1593
+
1594
+
1595
+
1596
+
1597
+
1598
+
1599
+
1600
+
1601
+
1602
+
1471
1603
  </xsl:attribute-set><xsl:attribute-set name="list-item-style">
1472
1604
 
1473
1605
 
@@ -1517,6 +1649,7 @@
1517
1649
 
1518
1650
 
1519
1651
 
1652
+
1520
1653
  </xsl:attribute-set><xsl:attribute-set name="fn-body-style">
1521
1654
  <xsl:attribute name="font-weight">normal</xsl:attribute>
1522
1655
  <xsl:attribute name="font-style">normal</xsl:attribute>
@@ -1546,6 +1679,7 @@
1546
1679
 
1547
1680
 
1548
1681
 
1682
+
1549
1683
  </xsl:attribute-set><xsl:attribute-set name="fn-body-num-style">
1550
1684
  <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
1551
1685
 
@@ -1568,6 +1702,7 @@
1568
1702
 
1569
1703
 
1570
1704
 
1705
+
1571
1706
  </xsl:attribute-set><xsl:attribute-set name="admonition-style">
1572
1707
 
1573
1708
  <xsl:attribute name="border">0.5pt solid rgb(79, 129, 189)</xsl:attribute>
@@ -1589,10 +1724,11 @@
1589
1724
 
1590
1725
 
1591
1726
 
1727
+
1592
1728
  </xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
1729
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1730
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1593
1731
 
1594
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
1595
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
1596
1732
  <xsl:attribute name="padding">2mm</xsl:attribute>
1597
1733
  <xsl:attribute name="padding-top">3mm</xsl:attribute>
1598
1734
 
@@ -1605,6 +1741,7 @@
1605
1741
 
1606
1742
 
1607
1743
 
1744
+
1608
1745
  </xsl:attribute-set><xsl:attribute-set name="admonition-name-style">
1609
1746
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1610
1747
 
@@ -1640,6 +1777,7 @@
1640
1777
 
1641
1778
 
1642
1779
 
1780
+
1643
1781
  </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-style">
1644
1782
 
1645
1783
 
@@ -1671,6 +1809,10 @@
1671
1809
 
1672
1810
 
1673
1811
 
1812
+ <!-- <xsl:if test="$namespace = 'ieee'">
1813
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1814
+ <xsl:attribute name="provisional-distance-between-starts">9.5mm</xsl:attribute>
1815
+ </xsl:if> -->
1674
1816
 
1675
1817
 
1676
1818
 
@@ -1700,6 +1842,7 @@
1700
1842
 
1701
1843
 
1702
1844
 
1845
+
1703
1846
  </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
1704
1847
 
1705
1848
 
@@ -1728,6 +1871,7 @@
1728
1871
 
1729
1872
 
1730
1873
 
1874
+
1731
1875
  </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-number-style">
1732
1876
  <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
1733
1877
 
@@ -1749,6 +1893,7 @@
1749
1893
 
1750
1894
 
1751
1895
 
1896
+
1752
1897
  </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-body-style">
1753
1898
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1754
1899
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
@@ -1767,6 +1912,7 @@
1767
1912
 
1768
1913
 
1769
1914
 
1915
+
1770
1916
  </xsl:attribute-set><xsl:attribute-set name="references-non-normative-style">
1771
1917
 
1772
1918
 
@@ -1880,13 +2026,13 @@
1880
2026
 
1881
2027
  </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">
1882
2028
  <xsl:variable name="nodes_preface_">
1883
- <xsl:for-each select="/*/*[local-name()='preface']/*">
2029
+ <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
1884
2030
  <node id="{@id}"/>
1885
2031
  </xsl:for-each>
1886
2032
  </xsl:variable>
1887
2033
  <xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
1888
2034
 
1889
- <xsl:for-each select="/*/*[local-name()='preface']/*">
2035
+ <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
1890
2036
  <xsl:sort select="@displayorder" data-type="number"/>
1891
2037
 
1892
2038
  <!-- process Section's title -->
@@ -1952,7 +2098,7 @@
1952
2098
  </xsl:for-each>
1953
2099
  </figures>
1954
2100
  </xsl:template><xsl:template name="processPrefaceSectionsDefault">
1955
- <xsl:for-each select="/*/*[local-name()='preface']/*">
2101
+ <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
1956
2102
  <xsl:sort select="@displayorder" data-type="number"/>
1957
2103
  <xsl:apply-templates select="."/>
1958
2104
  </xsl:for-each>
@@ -2198,6 +2344,8 @@
2198
2344
 
2199
2345
 
2200
2346
 
2347
+
2348
+
2201
2349
 
2202
2350
 
2203
2351
 
@@ -2237,6 +2385,8 @@
2237
2385
 
2238
2386
 
2239
2387
 
2388
+
2389
+
2240
2390
  </xsl:element>
2241
2391
  </xsl:variable>
2242
2392
 
@@ -2382,23 +2532,29 @@
2382
2532
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
2383
2533
  <xsl:param name="continued"/>
2384
2534
  <xsl:if test="normalize-space() != ''">
2385
- <fo:block xsl:use-attribute-sets="table-name-style">
2386
-
2387
-
2388
-
2389
-
2535
+
2536
+
2390
2537
 
2391
- <xsl:choose>
2392
- <xsl:when test="$continued = 'true'">
2538
+ <fo:block xsl:use-attribute-sets="table-name-style">
2539
+
2393
2540
 
2394
- </xsl:when>
2395
- <xsl:otherwise>
2396
- <xsl:apply-templates/>
2397
- </xsl:otherwise>
2398
- </xsl:choose>
2399
-
2541
+
2542
+
2543
+
2544
+ <xsl:choose>
2545
+ <xsl:when test="$continued = 'true'">
2546
+
2547
+ </xsl:when>
2548
+ <xsl:otherwise>
2549
+ <xsl:apply-templates/>
2550
+ </xsl:otherwise>
2551
+ </xsl:choose>
2552
+
2553
+
2554
+ </fo:block>
2555
+
2400
2556
 
2401
- </fo:block>
2557
+
2402
2558
  </xsl:if>
2403
2559
  </xsl:template><xsl:template name="calculate-columns-numbers">
2404
2560
  <xsl:param name="table-row"/>
@@ -2561,8 +2717,9 @@
2561
2717
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
2562
2718
  </xsl:if>
2563
2719
  </xsl:template><xsl:template name="calculate-column-widths-autolayout-algorithm">
2564
- <xsl:param name="table"/>
2565
- <xsl:param name="if">false</xsl:param> <!-- via intermediate format -->
2720
+ <xsl:param name="parent_table_page-width"/> <!-- for nested tables, in re-calculate step -->
2721
+
2722
+ <!-- via intermediate format -->
2566
2723
 
2567
2724
  <!-- The algorithm uses two passes through the table data and scales linearly with the size of the table -->
2568
2725
 
@@ -2573,9 +2730,8 @@
2573
2730
  <!-- get current table id -->
2574
2731
  <xsl:variable name="table_id" select="@id"/>
2575
2732
  <!-- find table by id in the file 'table_widths' -->
2576
- <xsl:variable name="table-if_" select="$table_widths_from_if//table[@id = $table_id]"/>
2577
- <xsl:variable name="table-if" select="xalan:nodeset($table-if_)"/>
2578
-
2733
+ <!-- <xsl:variable name="table-if_" select="$table_widths_from_if//table[@id = $table_id]"/>
2734
+ <xsl:variable name="table-if" select="xalan:nodeset($table-if_)"/> -->
2579
2735
 
2580
2736
  <!-- table='<xsl:copy-of select="$table"/>' -->
2581
2737
  <!-- table_id='<xsl:value-of select="$table_id"/>\ -->
@@ -2583,24 +2739,13 @@
2583
2739
  <!-- table_widths_from_if='<xsl:copy-of select="$table_widths_from_if"/>' -->
2584
2740
 
2585
2741
  <xsl:variable name="table_with_cell_widths_">
2586
- <xsl:choose>
2587
- <xsl:when test="$if = 'true' and normalize-space($table-if) != ''"> <!-- if we read column's width from IF and there is table in IF -->
2588
-
2589
- <!-- Example: <column>10</column>
2590
- <column>11</column>
2591
- -->
2592
- <xsl:apply-templates select="$table-if" mode="determine_cell_widths-if"/>
2593
- </xsl:when>
2594
- <xsl:otherwise>
2595
- <xsl:apply-templates select="xalan:nodeset($table)" mode="determine_cell_widths"/>
2596
- </xsl:otherwise>
2597
- </xsl:choose>
2742
+ <xsl:apply-templates select="." mode="determine_cell_widths-if"/> <!-- read column's width from IF -->
2598
2743
  </xsl:variable>
2599
2744
  <xsl:variable name="table_with_cell_widths" select="xalan:nodeset($table_with_cell_widths_)"/>
2600
2745
 
2601
- <xsl:if test="$table_if_debug = 'true'">
2746
+ <!-- <xsl:if test="$table_if_debug = 'true'">
2602
2747
  <xsl:copy-of select="$table_with_cell_widths"/>
2603
- </xsl:if>
2748
+ </xsl:if> -->
2604
2749
 
2605
2750
 
2606
2751
  <!-- The minimum and maximum cell widths are then used to determine the corresponding minimum and maximum widths for the columns. -->
@@ -2646,8 +2791,12 @@
2646
2791
 
2647
2792
  <xsl:variable name="page_width">
2648
2793
  <xsl:choose>
2649
- <xsl:when test="$if = 'true'"><xsl:value-of select="$table-if/@page-width"/></xsl:when>
2650
- <xsl:otherwise>75</xsl:otherwise>
2794
+ <xsl:when test="$parent_table_page-width != ''">
2795
+ <xsl:value-of select="$parent_table_page-width"/>
2796
+ </xsl:when>
2797
+ <xsl:otherwise>
2798
+ <xsl:value-of select="@page-width"/>
2799
+ </xsl:otherwise>
2651
2800
  </xsl:choose>
2652
2801
  </xsl:variable>
2653
2802
 
@@ -2655,9 +2804,6 @@
2655
2804
  <table_width>
2656
2805
  <xsl:copy-of select="$table_widths"/>
2657
2806
  </table_width>
2658
- <!-- <debug>$table_widths/@width_min=<xsl:value-of select="$table_widths/table/@width_min"/></debug>
2659
- <debug>$table_widths/@width_max=<xsl:value-of select="$table_widths/table/@width_max"/></debug>
2660
- -->
2661
2807
  <debug>$page_width=<xsl:value-of select="$page_width"/></debug>
2662
2808
  </xsl:if>
2663
2809
 
@@ -2668,11 +2814,11 @@
2668
2814
  <xsl:when test="$table_widths/table/@width_min &gt;= $page_width and 1 = 2"> <!-- this condition isn't working see case 3 below -->
2669
2815
  <!-- call old algorithm -->
2670
2816
  <case1/>
2671
- <xsl:variable name="cols-count" select="count(xalan:nodeset($table)/*/tr[1]/td)"/>
2817
+ <!-- <xsl:variable name="cols-count" select="count(xalan:nodeset($table)/*/tr[1]/td)"/>
2672
2818
  <xsl:call-template name="calculate-column-widths-proportional">
2673
2819
  <xsl:with-param name="cols-count" select="$cols-count"/>
2674
2820
  <xsl:with-param name="table" select="$table"/>
2675
- </xsl:call-template>
2821
+ </xsl:call-template> -->
2676
2822
  </xsl:when>
2677
2823
  <!-- 2. The maximum table width fits within the available space. In this case, set the columns to their maximum widths. -->
2678
2824
  <xsl:when test="$table_widths/table/@width_max &lt;= $page_width">
@@ -2716,95 +2862,49 @@
2716
2862
  <xsl:otherwise><unknown_case/></xsl:otherwise>
2717
2863
  </xsl:choose>
2718
2864
 
2865
+ </xsl:template><xsl:template name="get-calculated-column-widths-autolayout-algorithm">
2719
2866
 
2720
- </xsl:template><xsl:template match="@*|node()" mode="determine_cell_widths">
2721
- <xsl:copy>
2722
- <xsl:apply-templates select="@*|node()" mode="determine_cell_widths"/>
2723
- </xsl:copy>
2724
- </xsl:template><xsl:template match="td | th" mode="determine_cell_widths">
2725
- <xsl:copy>
2726
- <xsl:copy-of select="@*"/>
2867
+ <!-- if nested 'dl' or 'table' -->
2868
+ <xsl:variable name="parent_table_id" select="normalize-space(ancestor::*[local-name() = 'table' or local-name() = 'dl'][1]/@id)"/>
2869
+ <parent_table_id><xsl:value-of select="$parent_table_id"/></parent_table_id>
2727
2870
 
2728
- <!-- The maximum width is given by the widest line. -->
2729
- <xsl:variable name="widths_max">
2730
- <xsl:for-each select=".//*[local-name() = 'p']">
2731
- <xsl:call-template name="add_width"/>
2732
- </xsl:for-each>
2733
- <xsl:if test="not(*[local-name() = 'p'])">
2734
- <xsl:call-template name="add_width"/>
2735
- </xsl:if>
2736
- </xsl:variable>
2737
- <xsl:variable name="width_max">
2738
- <xsl:for-each select="xalan:nodeset($widths_max)//width">
2739
- <xsl:sort select="." data-type="number" order="descending"/>
2740
- <xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
2741
- </xsl:for-each>
2742
- </xsl:variable>
2743
- <xsl:attribute name="width_max">
2744
- <xsl:value-of select="$width_max"/>
2745
- </xsl:attribute>
2871
+ <parent_element><xsl:value-of select="local-name(..)"/></parent_element>
2746
2872
 
2747
- <!-- The minimum width is given by the widest text element (word, image, etc.) -->
2748
- <!-- To do: image width -->
2749
- <xsl:variable name="td_text">
2750
- <xsl:apply-templates select="." mode="td_text"/>
2751
- </xsl:variable>
2752
- <xsl:variable name="words">
2753
- <xsl:variable name="string_with_added_zerospaces">
2754
- <xsl:call-template name="add-zero-spaces-java">
2755
- <xsl:with-param name="text" select="$td_text"/>
2756
- </xsl:call-template>
2873
+ <xsl:variable name="parent_table_page-width_">
2874
+ <xsl:if test="$parent_table_id != ''">
2875
+ <!-- determine column number in the parent table -->
2876
+ <xsl:variable name="parent_table_column_number">
2877
+ <xsl:choose>
2878
+ <xsl:when test="parent::*[local-name() = 'dd']">2</xsl:when>
2879
+ <xsl:otherwise> <!-- parent is table -->
2880
+ <xsl:value-of select="count(ancestor::*[local-name() = 'td'][1]/preceding-sibling::*[local-name() = 'td']) + 1"/>
2881
+ </xsl:otherwise>
2882
+ </xsl:choose>
2757
2883
  </xsl:variable>
2758
- <xsl:call-template name="tokenize">
2759
- <xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '​­', ' '))"/> <!-- replace zero-width-space and soft-hyphen to space -->
2760
- </xsl:call-template>
2761
- </xsl:variable>
2762
-
2763
- <xsl:variable name="max_word_length">
2764
- <xsl:call-template name="max_length">
2765
- <xsl:with-param name="words" select="xalan:nodeset($words)"/>
2766
- </xsl:call-template>
2767
- </xsl:variable>
2768
- <xsl:variable name="width_min">
2769
- <xsl:value-of select="$max_word_length"/>
2770
- </xsl:variable>
2771
- <xsl:attribute name="width_min">
2772
- <xsl:value-of select="$width_min"/>
2773
- </xsl:attribute>
2774
- <!-- width_max="1" width_min="1.5"> --> <!-- see 'tokenize' template, multiply 1.5 for all latin capitals -->
2775
- <xsl:if test="$width_min &gt; $width_max">
2776
- <xsl:attribute name="width_max">
2777
- <xsl:value-of select="$width_min"/>
2778
- </xsl:attribute>
2884
+ <!-- find table by id in the file 'table_widths' and get all Nth `<column>...</column> -->
2885
+ <xsl:value-of select="$table_widths_from_if_calculated//table[@id = $parent_table_id]/column[number($parent_table_column_number)]"/>
2779
2886
  </xsl:if>
2780
- <xsl:if test="$width_min = 0">
2781
- <xsl:attribute name="width_min">1</xsl:attribute>
2782
- </xsl:if>
2783
-
2784
- <xsl:apply-templates select="node()" mode="determine_cell_widths"/>
2785
-
2786
- </xsl:copy>
2787
- </xsl:template><xsl:template name="add_width">
2788
- <xsl:variable name="p_text"><xsl:apply-templates select="." mode="td_text"/></xsl:variable>
2789
- <xsl:variable name="p_text_len_" select="string-length(normalize-space($p_text))"/>
2790
-
2791
- <xsl:variable name="p_text_len">
2792
- <xsl:choose>
2793
- <xsl:when test="normalize-space(translate($p_text, concat($upper,'0123456789'), '')) = ''"> <!-- english word in CAPITAL letters -->
2794
- <xsl:value-of select="$p_text_len_ * 1.5"/>
2795
- </xsl:when>
2796
- <xsl:otherwise><xsl:value-of select="$p_text_len_"/></xsl:otherwise>
2797
- </xsl:choose>
2798
2887
  </xsl:variable>
2888
+ <xsl:variable name="parent_table_page-width" select="normalize-space($parent_table_page-width_)"/>
2799
2889
 
2800
- <xsl:variable name="math_addon_text">
2801
- <xsl:for-each select=".//*[local-name() = 'math']">
2802
- <xsl:apply-templates mode="td_text"/>
2803
- </xsl:for-each>
2804
- </xsl:variable>
2805
- <xsl:variable name="math_addon_length" select="string-length(normalize-space($math_addon_text)) * 0.2"/> <!-- plus 20% -->
2890
+ <!-- get current table id -->
2891
+ <xsl:variable name="table_id" select="@id"/>
2892
+
2893
+ <xsl:choose>
2894
+ <xsl:when test="$parent_table_id = '' or $parent_table_page-width = ''">
2895
+ <!-- find table by id in the file 'table_widths' and get all `<column>...</column> -->
2896
+ <xsl:copy-of select="$table_widths_from_if_calculated//table[@id = $table_id]/node()"/>
2897
+ </xsl:when>
2898
+ <xsl:otherwise>
2899
+ <!-- recalculate columns width based on parent table width -->
2900
+ <xsl:for-each select="$table_widths_from_if//table[@id = $table_id]">
2901
+ <xsl:call-template name="calculate-column-widths-autolayout-algorithm">
2902
+ <xsl:with-param name="parent_table_page-width" select="$parent_table_page-width"/> <!-- padding-left = 2mm = 50000-->
2903
+ </xsl:call-template>
2904
+ </xsl:for-each>
2905
+ </xsl:otherwise>
2906
+ </xsl:choose>
2806
2907
 
2807
- <width><xsl:value-of select="$p_text_len + $math_addon_length"/></width>
2808
2908
  </xsl:template><xsl:template match="@*|node()" mode="determine_cell_widths-if">
2809
2909
  <xsl:copy>
2810
2910
  <xsl:apply-templates select="@*|node()" mode="determine_cell_widths-if"/>
@@ -2852,12 +2952,18 @@
2852
2952
  <fo:table-row>
2853
2953
  <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">
2854
2954
 
2855
- <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
2856
- <xsl:with-param name="continued">true</xsl:with-param>
2857
- </xsl:apply-templates>
2858
2955
 
2859
2956
 
2860
2957
 
2958
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
2959
+ <xsl:with-param name="continued">true</xsl:with-param>
2960
+ </xsl:apply-templates>
2961
+
2962
+
2963
+
2964
+
2965
+
2966
+
2861
2967
  </fo:table-cell>
2862
2968
  </fo:table-row>
2863
2969
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
@@ -2897,77 +3003,91 @@
2897
3003
  </xsl:choose>
2898
3004
  </xsl:variable>
2899
3005
 
2900
- <fo:table keep-with-previous="always">
2901
- <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
2902
- <xsl:variable name="name" select="local-name()"/>
3006
+
3007
+ <xsl:variable name="tableWithNotesAndFootnotes">
3008
+
3009
+ <fo:table keep-with-previous="always">
3010
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3011
+ <xsl:variable name="name" select="local-name()"/>
3012
+ <xsl:choose>
3013
+ <xsl:when test="$name = 'border-top'">
3014
+ <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
3015
+ </xsl:when>
3016
+ <xsl:when test="$name = 'border'">
3017
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3018
+ <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3019
+ </xsl:when>
3020
+ <xsl:otherwise>
3021
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3022
+ </xsl:otherwise>
3023
+ </xsl:choose>
3024
+ </xsl:for-each>
3025
+
3026
+
3027
+
2903
3028
  <xsl:choose>
2904
- <xsl:when test="$name = 'border-top'">
2905
- <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
2906
- </xsl:when>
2907
- <xsl:when test="$name = 'border'">
2908
- <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
2909
- <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3029
+ <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
3030
+ <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
3031
+ <fo:table-column column-width="{@width}"/>
3032
+ </xsl:for-each>
2910
3033
  </xsl:when>
2911
3034
  <xsl:otherwise>
2912
- <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3035
+ <!-- $colwidths=<xsl:copy-of select="$colwidths"/> -->
3036
+ <xsl:call-template name="insertTableColumnWidth">
3037
+ <xsl:with-param name="colwidths" select="$colwidths"/>
3038
+ </xsl:call-template>
2913
3039
  </xsl:otherwise>
2914
3040
  </xsl:choose>
2915
- </xsl:for-each>
2916
-
2917
-
2918
-
2919
- <xsl:choose>
2920
- <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
2921
- <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
2922
- <fo:table-column column-width="{@width}"/>
2923
- </xsl:for-each>
2924
- </xsl:when>
2925
- <xsl:otherwise>
2926
- <!-- $colwidths=<xsl:copy-of select="$colwidths"/> -->
2927
- <xsl:call-template name="insertTableColumnWidth">
2928
- <xsl:with-param name="colwidths" select="$colwidths"/>
2929
- </xsl:call-template>
2930
- </xsl:otherwise>
2931
- </xsl:choose>
2932
-
2933
- <fo:table-body>
2934
- <fo:table-row>
2935
- <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
2936
-
2937
-
3041
+
3042
+ <fo:table-body>
3043
+ <fo:table-row>
3044
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
3045
+
3046
+
2938
3047
 
2939
-
2940
-
2941
- <!-- fn will be processed inside 'note' processing -->
2942
-
2943
-
2944
-
2945
-
2946
-
2947
-
2948
- <!-- for BSI (not PAS) display Notes before footnotes -->
2949
-
2950
-
2951
- <!-- except gb and bsi -->
2952
-
2953
- <xsl:apply-templates select="../*[local-name()='note']"/>
2954
3048
 
2955
-
2956
-
2957
- <!-- horizontal row separator -->
2958
-
2959
-
2960
- <!-- fn processing -->
2961
- <xsl:call-template name="table_fn_display"/>
2962
-
2963
- <!-- for PAS display Notes after footnotes -->
2964
-
2965
-
2966
- </fo:table-cell>
2967
- </fo:table-row>
2968
- </fo:table-body>
2969
-
2970
- </fo:table>
3049
+
3050
+ <!-- fn will be processed inside 'note' processing -->
3051
+
3052
+
3053
+
3054
+
3055
+
3056
+
3057
+ <!-- for BSI (not PAS) display Notes before footnotes -->
3058
+
3059
+
3060
+ <!-- except gb and bsi -->
3061
+
3062
+ <xsl:apply-templates select="../*[local-name()='note']"/>
3063
+
3064
+
3065
+
3066
+ <!-- horizontal row separator -->
3067
+
3068
+
3069
+ <!-- fn processing -->
3070
+
3071
+ <xsl:call-template name="table_fn_display"/>
3072
+
3073
+
3074
+
3075
+ <!-- for PAS display Notes after footnotes -->
3076
+
3077
+
3078
+ </fo:table-cell>
3079
+ </fo:table-row>
3080
+ </fo:table-body>
3081
+
3082
+ </fo:table>
3083
+ </xsl:variable>
3084
+
3085
+ <xsl:if test="normalize-space($tableWithNotesAndFootnotes) != ''">
3086
+ <xsl:copy-of select="$tableWithNotesAndFootnotes"/>
3087
+ </xsl:if>
3088
+
3089
+
3090
+
2971
3091
  </xsl:if>
2972
3092
  </xsl:template><xsl:template match="*[local-name()='tbody']">
2973
3093
 
@@ -3056,6 +3176,9 @@
3056
3176
 
3057
3177
 
3058
3178
 
3179
+
3180
+
3181
+
3059
3182
 
3060
3183
 
3061
3184
  <xsl:call-template name="setTableRowAttributes"/>
@@ -3075,6 +3198,8 @@
3075
3198
 
3076
3199
 
3077
3200
 
3201
+
3202
+
3078
3203
  <xsl:call-template name="setTableRowAttributes"/>
3079
3204
  <xsl:apply-templates/>
3080
3205
  </fo:table-row>
@@ -3156,6 +3281,8 @@
3156
3281
 
3157
3282
 
3158
3283
 
3284
+
3285
+
3159
3286
 
3160
3287
 
3161
3288
 
@@ -3227,7 +3354,11 @@
3227
3354
 
3228
3355
  <xsl:variable name="gen_id" select="generate-id(.)"/>
3229
3356
  <xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
3230
- <xsl:variable name="reference" select="@reference"/>
3357
+ <xsl:variable name="reference_">
3358
+ <xsl:value-of select="@reference"/>
3359
+ <xsl:if test="normalize-space(@reference) = ''"><xsl:value-of select="$gen_id"/></xsl:if>
3360
+ </xsl:variable>
3361
+ <xsl:variable name="reference" select="normalize-space($reference_)"/>
3231
3362
  <!-- fn sequence number in document -->
3232
3363
  <xsl:variable name="current_fn_number">
3233
3364
  <xsl:choose>
@@ -3247,6 +3378,7 @@
3247
3378
  <xsl:variable name="footnote_inline">
3248
3379
  <fo:inline xsl:use-attribute-sets="fn-num-style">
3249
3380
 
3381
+
3250
3382
  <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
3251
3383
  <xsl:value-of select="$current_fn_number_text"/>
3252
3384
  </fo:basic-link>
@@ -3268,8 +3400,12 @@
3268
3400
  <fo:block xsl:use-attribute-sets="fn-body-style">
3269
3401
 
3270
3402
 
3403
+
3271
3404
  <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
3272
3405
 
3406
+
3407
+
3408
+
3273
3409
  <xsl:value-of select="$current_fn_number_text"/>
3274
3410
  </fo:inline>
3275
3411
  <xsl:apply-templates/>
@@ -3302,7 +3438,7 @@
3302
3438
  <xsl:copy-of select="node()"/>
3303
3439
  </fn>
3304
3440
  </xsl:for-each>
3305
- <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']/*">
3441
+ <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']/*">
3306
3442
  <xsl:sort select="@displayorder" data-type="number"/>
3307
3443
  <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])]">
3308
3444
  <!-- copy unique fn -->
@@ -3582,11 +3718,19 @@
3582
3718
 
3583
3719
 
3584
3720
 
3721
+
3722
+ <xsl:if test="ancestor::*[local-name() = 'dd' or local-name() = 'td']">
3723
+ <xsl:attribute name="margin-top">0</xsl:attribute>
3724
+ </xsl:if>
3725
+
3585
3726
  <fo:block>
3586
3727
 
3587
3728
 
3588
3729
 
3589
3730
 
3731
+ <xsl:apply-templates select="*[local-name() = 'name']">
3732
+ <xsl:with-param name="process">true</xsl:with-param>
3733
+ </xsl:apply-templates>
3590
3734
 
3591
3735
  <xsl:if test="$isGenerateTableIF = 'true'">
3592
3736
  <!-- to determine start of table -->
@@ -3609,6 +3753,7 @@
3609
3753
  </xsl:choose>
3610
3754
 
3611
3755
 
3756
+
3612
3757
  <xsl:choose>
3613
3758
  <xsl:when test="$isGenerateTableIF = 'true'">
3614
3759
  <!-- generate IF for table widths -->
@@ -3737,6 +3882,18 @@
3737
3882
  </xsl:if> <!-- END: a few components -->
3738
3883
  </fo:block-container>
3739
3884
  </fo:block-container>
3885
+
3886
+ <xsl:if test="$isGenerateTableIF = 'true'"> <!-- process nested 'dl' -->
3887
+ <xsl:apply-templates select="*[local-name() = 'dd']/*[local-name() = 'dl']"/>
3888
+ </xsl:if>
3889
+
3890
+ </xsl:template><xsl:template match="*[local-name() = 'dl']/*[local-name() = 'name']">
3891
+ <xsl:param name="process">false</xsl:param>
3892
+ <xsl:if test="$process = 'true'">
3893
+ <fo:block xsl:use-attribute-sets="dl-name-style">
3894
+ <xsl:apply-templates/>
3895
+ </fo:block>
3896
+ </xsl:if>
3740
3897
  </xsl:template><xsl:template name="setColumnWidth_dl">
3741
3898
  <xsl:param name="colwidths"/>
3742
3899
  <xsl:param name="maxlength_dt"/>
@@ -3745,6 +3902,11 @@
3745
3902
  <!-- <colwidths><xsl:copy-of select="$colwidths"/></colwidths> -->
3746
3903
 
3747
3904
  <xsl:choose>
3905
+ <xsl:when test="xalan:nodeset($colwidths)/autolayout">
3906
+ <xsl:call-template name="insertTableColumnWidth">
3907
+ <xsl:with-param name="colwidths" select="$colwidths"/>
3908
+ </xsl:call-template>
3909
+ </xsl:when>
3748
3910
  <xsl:when test="ancestor::*[local-name()='dl']"><!-- second level, i.e. inlined table -->
3749
3911
  <fo:table-column column-width="50%"/>
3750
3912
  <fo:table-column column-width="50%"/>
@@ -3997,12 +4159,24 @@
3997
4159
  </td>
3998
4160
  <td>
3999
4161
 
4000
- <xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/node()"/>
4162
+ <xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/node()[not(local-name() = 'dl')]"/>
4163
+
4164
+ <!-- get paragraphs from nested 'dl' -->
4165
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'dl']" mode="dl_if_nested"/>
4166
+
4001
4167
 
4002
4168
  </td>
4003
4169
  </tr>
4004
4170
 
4005
- </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl_if"/><xsl:template match="*[local-name()='em']">
4171
+ </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl_if"/><xsl:template match="*[local-name()='dl']" mode="dl_if_nested">
4172
+ <xsl:for-each select="*[local-name() = 'dt']">
4173
+ <p>
4174
+ <xsl:copy-of select="node()"/>
4175
+ <xsl:text> </xsl:text>
4176
+ <xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'p']/node()"/>
4177
+ </p>
4178
+ </xsl:for-each>
4179
+ </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl_if_nested"/><xsl:template match="*[local-name()='em']">
4006
4180
  <fo:inline font-style="italic">
4007
4181
  <xsl:apply-templates/>
4008
4182
  </fo:inline>
@@ -4033,7 +4207,7 @@
4033
4207
 
4034
4208
 
4035
4209
 
4036
-
4210
+ <!-- 10 -->
4037
4211
 
4038
4212
 
4039
4213
 
@@ -4905,6 +5079,13 @@
4905
5079
  </xsl:variable>
4906
5080
  <fo:inline xsl:use-attribute-sets="link-style">
4907
5081
 
5082
+ <xsl:if test="starts-with(normalize-space(@target), 'mailto:')">
5083
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5084
+ </xsl:if>
5085
+
5086
+
5087
+
5088
+
4908
5089
 
4909
5090
 
4910
5091
 
@@ -5122,6 +5303,7 @@
5122
5303
 
5123
5304
 
5124
5305
 
5306
+
5125
5307
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
5126
5308
  <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
5127
5309
  <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
@@ -5144,6 +5326,7 @@
5144
5326
  <xsl:otherwise>
5145
5327
 
5146
5328
 
5329
+
5147
5330
  </xsl:otherwise>
5148
5331
  </xsl:choose>
5149
5332
  </xsl:variable>
@@ -5161,6 +5344,7 @@
5161
5344
  <xsl:otherwise>
5162
5345
 
5163
5346
 
5347
+
5164
5348
  </xsl:otherwise>
5165
5349
  </xsl:choose>
5166
5350
  </xsl:variable>
@@ -5169,7 +5353,19 @@
5169
5353
  <xsl:value-of select="$suffix"/>
5170
5354
  </xsl:if>
5171
5355
  </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
5172
- <fo:inline><xsl:apply-templates/></fo:inline>
5356
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
5357
+ <xsl:choose>
5358
+ <xsl:when test="$num = 1"> <!-- first paragraph renders in the same line as titlenote name -->
5359
+ <fo:inline xsl:use-attribute-sets="termnote-p-style">
5360
+ <xsl:apply-templates/>
5361
+ </fo:inline>
5362
+ </xsl:when>
5363
+ <xsl:otherwise>
5364
+ <fo:block xsl:use-attribute-sets="termnote-p-style">
5365
+ <xsl:apply-templates/>
5366
+ </fo:block>
5367
+ </xsl:otherwise>
5368
+ </xsl:choose>
5173
5369
  </xsl:template><xsl:template match="*[local-name() = 'terms']">
5174
5370
  <!-- <xsl:message>'terms' <xsl:number/> processing...</xsl:message> -->
5175
5371
  <fo:block id="{@id}">
@@ -5924,6 +6120,9 @@
5924
6120
  <fo:block xsl:use-attribute-sets="figure-name-style">
5925
6121
 
5926
6122
 
6123
+
6124
+
6125
+
5927
6126
  <xsl:apply-templates/>
5928
6127
  </fo:block>
5929
6128
  </xsl:if>
@@ -5984,9 +6183,9 @@
5984
6183
  <xsl:apply-templates/>
5985
6184
  </xsl:otherwise>
5986
6185
  </xsl:choose>
5987
- </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">
6186
+ </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">
5988
6187
  <xsl:value-of select="."/>
5989
- </xsl:template><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
6188
+ </xsl:template><xsl:template match="*[local-name() = 'review']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
5990
6189
  <xsl:text> </xsl:text>
5991
6190
  </xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
5992
6191
  <xsl:copy>
@@ -6057,9 +6256,12 @@
6057
6256
 
6058
6257
 
6059
6258
 
6259
+ <!-- 9 -->
6060
6260
 
6061
6261
 
6062
-
6262
+ <!-- <xsl:if test="$namespace = 'ieee'">
6263
+ <xsl:if test="$doctype = 'standard' and $stage = 'published'">8</xsl:if>
6264
+ </xsl:if> -->
6063
6265
 
6064
6266
 
6065
6267
 
@@ -6141,7 +6343,7 @@
6141
6343
  <xsl:for-each select="xalan:nodeset($text_step4)/node()">
6142
6344
  <xsl:choose>
6143
6345
  <xsl:when test="local-name() = 'interspers'"> <!-- word with length more than 30 will be interspersed with zero-width space -->
6144
- <xsl:call-template name="interspers">
6346
+ <xsl:call-template name="interspers-java">
6145
6347
  <xsl:with-param name="str" select="."/>
6146
6348
  </xsl:call-template>
6147
6349
  </xsl:when>
@@ -6191,6 +6393,10 @@
6191
6393
  <xsl:with-param name="char" select="$char"/>
6192
6394
  </xsl:call-template>
6193
6395
  </xsl:if>
6396
+ </xsl:template><xsl:template name="interspers-java">
6397
+ <xsl:param name="str"/>
6398
+ <xsl:param name="char" select="$zero_width_space"/>
6399
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new($str),'([^ -.:=_—])',concat('$1', $char))"/> <!-- insert $char after each char excep space, - . : = _ etc. -->
6194
6400
  </xsl:template><xsl:template match="*" mode="syntax_highlight">
6195
6401
  <xsl:apply-templates mode="syntax_highlight"/>
6196
6402
  </xsl:template><xsl:variable name="syntax_highlight_styles_">
@@ -6500,10 +6706,14 @@
6500
6706
  </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'p']">
6501
6707
  <xsl:variable name="element">inline
6502
6708
 
6709
+
6503
6710
  </xsl:variable>
6504
6711
  <xsl:choose>
6505
6712
  <xsl:when test="contains($element, 'block')">
6506
6713
  <fo:block xsl:use-attribute-sets="example-p-style">
6714
+
6715
+
6716
+
6507
6717
  <xsl:apply-templates/>
6508
6718
  </fo:block>
6509
6719
  </xsl:when>
@@ -6611,6 +6821,7 @@
6611
6821
  </xsl:if>
6612
6822
  <fo:block xsl:use-attribute-sets="example-p-style">
6613
6823
 
6824
+
6614
6825
  <xsl:apply-templates/>
6615
6826
  </fo:block>
6616
6827
  </fo:block-container>
@@ -6767,6 +6978,8 @@
6767
6978
 
6768
6979
 
6769
6980
 
6981
+
6982
+
6770
6983
  <fo:basic-link fox:alt-text="{@citeas}">
6771
6984
  <xsl:if test="normalize-space(@citeas) = ''">
6772
6985
  <xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
@@ -6832,6 +7045,7 @@
6832
7045
 
6833
7046
 
6834
7047
 
7048
+
6835
7049
  </xsl:variable>
6836
7050
 
6837
7051
  <xsl:variable name="padding-right">
@@ -7141,6 +7355,11 @@
7141
7355
  </xsl:otherwise>
7142
7356
  </xsl:choose>
7143
7357
  </xsl:template><xsl:template match="*[local-name()='ul'] | *[local-name()='ol']" mode="list" name="list">
7358
+
7359
+ <xsl:apply-templates select="*[local-name() = 'name']">
7360
+ <xsl:with-param name="process">true</xsl:with-param>
7361
+ </xsl:apply-templates>
7362
+
7144
7363
  <fo:list-block xsl:use-attribute-sets="list-style">
7145
7364
 
7146
7365
 
@@ -7151,12 +7370,23 @@
7151
7370
 
7152
7371
 
7153
7372
 
7373
+ <xsl:if test="*[local-name() = 'name']">
7374
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
7375
+ </xsl:if>
7376
+
7154
7377
  <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
7155
7378
  </fo:list-block>
7156
7379
  <!-- <xsl:for-each select="./iho:note">
7157
7380
  <xsl:call-template name="note"/>
7158
7381
  </xsl:for-each> -->
7159
7382
  <xsl:apply-templates select="./*[local-name() = 'note']"/>
7383
+ </xsl:template><xsl:template match="*[local-name() = 'ol' or local-name() = 'ul']/*[local-name() = 'name']">
7384
+ <xsl:param name="process">false</xsl:param>
7385
+ <xsl:if test="$process = 'true'">
7386
+ <fo:block xsl:use-attribute-sets="list-name-style">
7387
+ <xsl:apply-templates/>
7388
+ </fo:block>
7389
+ </xsl:if>
7160
7390
  </xsl:template><xsl:template match="*[local-name()='li']">
7161
7391
  <fo:list-item xsl:use-attribute-sets="list-item-style">
7162
7392
  <xsl:copy-of select="@id"/>
@@ -7168,6 +7398,8 @@
7168
7398
 
7169
7399
 
7170
7400
 
7401
+
7402
+
7171
7403
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
7172
7404
  <xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
7173
7405
  <xsl:call-template name="append_add-style"/>
@@ -7425,111 +7657,55 @@
7425
7657
  </fo:block>
7426
7658
 
7427
7659
 
7428
- </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
7660
+ </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" name="bibitem_non_normative" priority="2">
7429
7661
 
7430
7662
 
7431
- <fo:block xsl:use-attribute-sets="bibitem-non-normative-style">
7432
- <fo:inline id="{@id}">
7663
+ <!-- start CSA bibitem processing -->
7664
+ <fo:block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-style">
7665
+
7666
+ <xsl:variable name="docidentifier">
7433
7667
  <xsl:value-of select="csa:docidentifier[@type = 'metanorma-ordinal']"/>
7434
7668
  <xsl:if test="not(csa:docidentifier[@type = 'metanorma-ordinal'])">
7435
- <xsl:number format="[1]"/>
7669
+ <xsl:number format="[1]" count="*[local-name()='bibitem'][not(@hidden = 'true')]"/>
7436
7670
  </xsl:if>
7437
- </fo:inline>
7438
-
7439
- <xsl:if test="not(csa:formattedref)">
7440
- <xsl:choose>
7441
- <xsl:when test="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:abbreviation">
7442
- <xsl:for-each select="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:abbreviation">
7443
- <xsl:value-of select="."/>
7444
- <xsl:if test="position() != last()">/</xsl:if>
7445
- </xsl:for-each>
7446
- <xsl:text>: </xsl:text>
7447
- </xsl:when>
7448
- <xsl:when test="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name">
7449
- <xsl:value-of select="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name"/>
7450
- <xsl:text>: </xsl:text>
7451
- </xsl:when>
7452
- </xsl:choose>
7453
-
7454
- </xsl:if>
7455
-
7456
- <xsl:if test="csa:docidentifier[not(@type = 'metanorma-ordinal')]">
7457
- <xsl:choose>
7458
- <xsl:when test="csa:docidentifier/@type = 'ISO' and csa:formattedref"/>
7459
- <xsl:when test="csa:docidentifier/@type = 'OGC' and csa:formattedref"/>
7460
- <xsl:otherwise><fo:inline>
7461
- <!-- <xsl:if test="csa:docidentifier/@type = 'OGC'">OGC </xsl:if> -->
7462
- <xsl:value-of select="csa:docidentifier[not(@type = 'metanorma-ordinal')]"/><xsl:apply-templates select="csa:note"/>, </fo:inline></xsl:otherwise>
7463
- </xsl:choose>
7464
- </xsl:if>
7465
-
7466
- <xsl:choose>
7467
- <xsl:when test="csa:title[@type = 'main' and @language = 'en']">
7468
- <xsl:apply-templates select="csa:title[@type = 'main' and @language = 'en']"/>
7469
- </xsl:when>
7470
- <xsl:otherwise>
7471
- <xsl:apply-templates select="csa:title"/>
7472
- </xsl:otherwise>
7473
- </xsl:choose>
7474
- <xsl:if test="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name">
7475
- <xsl:text>, </xsl:text>
7476
- <xsl:for-each select="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name">
7477
- <xsl:if test="position() != last()">and </xsl:if>
7478
- <xsl:value-of select="."/>
7479
- </xsl:for-each>
7480
-
7481
- </xsl:if>
7482
- <xsl:if test="csa:place">
7483
- <xsl:text>, </xsl:text>
7484
- <xsl:value-of select="csa:place"/>
7485
- </xsl:if>
7486
- <xsl:if test="csa:date[@type='published']/csa:on">
7487
- <xsl:text> (</xsl:text><xsl:value-of select="csa:date[@type='published']/csa:on"/><xsl:text>).</xsl:text>
7488
- </xsl:if>
7671
+ </xsl:variable>
7672
+
7673
+ <xsl:value-of select="$docidentifier"/>
7674
+ <xsl:apply-templates select="*[local-name() = 'note']"/>
7675
+ <xsl:text> </xsl:text>
7676
+
7489
7677
  <xsl:apply-templates select="csa:formattedref"/>
7490
7678
 
7491
7679
  </fo:block>
7680
+ <!-- END CSA bibitem processing -->
7492
7681
 
7493
7682
 
7494
7683
  </xsl:template><xsl:template name="processBibitem">
7495
7684
 
7496
7685
 
7497
- <!-- start CSA bibitem processing -->
7498
- <xsl:if test=".//csa:fn">
7686
+ <!-- start bibitem processing -->
7687
+ <xsl:if test=".//*[local-name() = 'fn']">
7499
7688
  <xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
7500
7689
  </xsl:if>
7501
- <xsl:choose>
7502
- <xsl:when test="csa:formattedref">
7503
- <xsl:apply-templates select="csa:formattedref"/>
7504
- </xsl:when>
7505
- <xsl:otherwise>
7506
- <xsl:for-each select="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name">
7507
- <xsl:apply-templates/>
7508
- <xsl:if test="position() != last()">, </xsl:if>
7509
- <xsl:if test="position() = last()">: </xsl:if>
7510
- </xsl:for-each>
7511
- <!-- csa:docidentifier -->
7512
- <xsl:value-of select="csa:docidentifier[not(@type = 'metanorma-ordinal')]"/>
7513
- <xsl:apply-templates select="csa:note"/>
7514
- <xsl:if test="csa:docidentifier[not(@type = 'metanorma-ordinal')]">, </xsl:if>
7515
- <xsl:choose>
7516
- <xsl:when test="csa:title[@type = 'main' and @language = 'en']">
7517
- <fo:inline><xsl:apply-templates select="csa:title[@type = 'main' and @language = 'en']"/><xsl:text>. </xsl:text></fo:inline>
7518
- </xsl:when>
7519
- <xsl:otherwise>
7520
- <fo:inline><xsl:apply-templates select="csa:title"/><xsl:text>. </xsl:text></fo:inline>
7521
- </xsl:otherwise>
7522
- </xsl:choose>
7523
- <xsl:for-each select="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name">
7524
- <xsl:apply-templates/>
7525
- <xsl:if test="position() != last()">, </xsl:if>
7526
- </xsl:for-each>
7527
- <xsl:if test="csa:date[@type='published']/csa:on">
7528
- <xsl:text>(</xsl:text><xsl:value-of select="csa:date[@type='published']/csa:on"/><xsl:text>)</xsl:text>
7529
- </xsl:if>
7530
- </xsl:otherwise>
7531
- </xsl:choose>
7532
- <!-- end CSA bibitem processing -->
7690
+
7691
+ <!-- display document identifier, not number [1] -->
7692
+ <xsl:variable name="docidentifier">
7693
+ <xsl:choose>
7694
+ <xsl:when test="*[local-name() = 'docidentifier']/@type = 'metanorma'"/>
7695
+ <xsl:otherwise><xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma-ordinal')]"/></xsl:otherwise>
7696
+ </xsl:choose>
7697
+ </xsl:variable>
7698
+ <xsl:value-of select="$docidentifier"/>
7699
+
7700
+ <xsl:apply-templates select="*[local-name() = 'note']"/>
7701
+
7702
+ <xsl:if test="normalize-space($docidentifier) != '' and *[local-name() = 'formattedref']">
7703
+
7704
+ <xsl:text> </xsl:text>
7705
+ </xsl:if>
7706
+
7707
+ <xsl:apply-templates select="*[local-name() = 'formattedref']"/>
7708
+ <!-- end bibitem processing -->
7533
7709
 
7534
7710
  </xsl:template><xsl:template name="processBibitemDocId">
7535
7711
  <xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'metanorma-ordinal' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
@@ -7838,12 +8014,16 @@
7838
8014
  <fo:block-container id="{@id}" xsl:use-attribute-sets="admonition-style">
7839
8015
 
7840
8016
 
8017
+
8018
+
7841
8019
 
7842
8020
 
7843
8021
 
7844
8022
  <fo:block-container xsl:use-attribute-sets="admonition-container-style">
7845
8023
 
7846
8024
 
8025
+
8026
+
7847
8027
  <fo:block-container margin-left="0mm" margin-right="0mm">
7848
8028
  <fo:block>
7849
8029
  <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
@@ -7855,25 +8035,32 @@
7855
8035
  </fo:block-container>
7856
8036
 
7857
8037
  </xsl:template><xsl:template name="displayAdmonitionName">
7858
-
8038
+ <xsl:param name="sep"/> <!-- Example: ' - ' -->
8039
+ <!-- <xsl:choose>
8040
+ <xsl:when test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
8041
+ <xsl:choose>
8042
+ <xsl:when test="@type='important'"><xsl:apply-templates select="@type"/></xsl:when>
8043
+ <xsl:otherwise>
8044
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
8045
+ </xsl:otherwise>
8046
+ </xsl:choose>
8047
+ </xsl:when>
8048
+ <xsl:otherwise>
7859
8049
  <xsl:apply-templates select="*[local-name() = 'name']"/>
7860
8050
  <xsl:if test="not(*[local-name() = 'name'])">
7861
8051
  <xsl:apply-templates select="@type"/>
7862
8052
  </xsl:if>
7863
-
7864
- </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
7865
- <xsl:apply-templates/>
7866
- </xsl:template><xsl:template match="*[local-name() = 'admonition']/@type">
7867
- <xsl:variable name="admonition_type_">
7868
- <xsl:call-template name="getLocalizedString">
7869
- <xsl:with-param name="key">admonition.<xsl:value-of select="."/></xsl:with-param>
7870
- </xsl:call-template>
8053
+ </xsl:otherwise>
8054
+ </xsl:choose> -->
8055
+ <xsl:variable name="name">
8056
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
7871
8057
  </xsl:variable>
7872
- <xsl:variable name="admonition_type" select="normalize-space(java:toUpperCase(java:java.lang.String.new($admonition_type_)))"/>
7873
- <xsl:value-of select="$admonition_type"/>
7874
- <xsl:if test="$admonition_type = ''">
7875
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
8058
+ <xsl:copy-of select="$name"/>
8059
+ <xsl:if test="normalize-space($name) != ''">
8060
+ <xsl:value-of select="$sep"/>
7876
8061
  </xsl:if>
8062
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
8063
+ <xsl:apply-templates/>
7877
8064
  </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'p']">
7878
8065
  <!-- processing for admonition/p found in the template for 'p' -->
7879
8066
  <xsl:call-template name="paragraph"/>
@@ -8039,6 +8226,8 @@
8039
8226
  </xsl:when>
8040
8227
  <xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
8041
8228
  </xsl:choose>
8229
+ </xsl:template><xsl:template match="*[local-name() = 'lang_none']">
8230
+ <fo:inline xml:lang="none"><xsl:value-of select="."/></fo:inline>
8042
8231
  </xsl:template><xsl:template name="printEdition">
8043
8232
  <xsl:variable name="edition_i18n" select="normalize-space((//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) != ''])"/>
8044
8233
  <xsl:text> </xsl:text>
@@ -8145,6 +8334,27 @@
8145
8334
  </xsl:when>
8146
8335
  <xsl:otherwise><xsl:value-of select="$monthStr_"/></xsl:otherwise>
8147
8336
  </xsl:choose>
8337
+ </xsl:template><xsl:template name="getMonthLocalizedByNum">
8338
+ <xsl:param name="num"/>
8339
+ <xsl:variable name="monthStr">
8340
+ <xsl:choose>
8341
+ <xsl:when test="$num = '01'">january</xsl:when>
8342
+ <xsl:when test="$num = '02'">february</xsl:when>
8343
+ <xsl:when test="$num = '03'">march</xsl:when>
8344
+ <xsl:when test="$num = '04'">april</xsl:when>
8345
+ <xsl:when test="$num = '05'">may</xsl:when>
8346
+ <xsl:when test="$num = '06'">june</xsl:when>
8347
+ <xsl:when test="$num = '07'">july</xsl:when>
8348
+ <xsl:when test="$num = '08'">august</xsl:when>
8349
+ <xsl:when test="$num = '09'">september</xsl:when>
8350
+ <xsl:when test="$num = '10'">october</xsl:when>
8351
+ <xsl:when test="$num = '11'">november</xsl:when>
8352
+ <xsl:when test="$num = '12'">december</xsl:when>
8353
+ </xsl:choose>
8354
+ </xsl:variable>
8355
+ <xsl:call-template name="getLocalizedString">
8356
+ <xsl:with-param name="key">month_<xsl:value-of select="$monthStr"/></xsl:with-param>
8357
+ </xsl:call-template>
8148
8358
  </xsl:template><xsl:template name="insertKeywords">
8149
8359
  <xsl:param name="sorting" select="'true'"/>
8150
8360
  <xsl:param name="charAtEnd" select="'.'"/>
@@ -8216,7 +8426,7 @@
8216
8426
  <dc:description>
8217
8427
  <xsl:variable name="abstract">
8218
8428
 
8219
- <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
8429
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()[not(ancestor::*[local-name() = 'title'])]"/>
8220
8430
 
8221
8431
  </xsl:variable>
8222
8432
  <xsl:value-of select="normalize-space($abstract)"/>
@@ -8342,6 +8552,7 @@
8342
8552
 
8343
8553
 
8344
8554
 
8555
+
8345
8556
  <xsl:value-of select="document('')//*/namespace::csa"/>
8346
8557
 
8347
8558