metanorma-ribose 1.8.4 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -8,9 +8,7 @@
8
8
  <xsl:param name="basepath"/>
9
9
 
10
10
  <xsl:key name="kfn" match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])]" use="@reference"/>
11
-
12
- <xsl:variable name="pageWidth" select="215.9"/>
13
- <xsl:variable name="pageHeight" select="279.4"/>
11
+
14
12
  <xsl:variable name="marginLeftRight1" select="29"/>
15
13
  <xsl:variable name="marginLeftRight2" select="29"/>
16
14
  <xsl:variable name="marginTop" select="14"/>
@@ -68,7 +66,7 @@
68
66
 
69
67
  <xsl:template match="/">
70
68
  <xsl:call-template name="namespaceCheck"/>
71
- <fo:root font-family="OpenSans, STIX Two Math" font-weight="300" font-size="11pt" color="rgb(88, 88, 90)" xml:lang="{$lang}">
69
+ <fo:root xsl:use-attribute-sets="root-style" xml:lang="{$lang}">
72
70
  <fo:layout-master-set>
73
71
 
74
72
  <!-- Cover page -->
@@ -360,7 +358,7 @@
360
358
  <fo:block>
361
359
  <xsl:apply-templates select="/rsd:rsd-standard/rsd:bibdata/rsd:ext/rsd:security"/>
362
360
  <fo:block>
363
- <xsl:call-template name="convertDateLocalized">
361
+ <xsl:call-template name="convertDate">
364
362
  <xsl:with-param name="date" select="/rsd:rsd-standard/rsd:bibdata/rsd:date[@type = 'published']/rsd:on"/>
365
363
  <xsl:with-param name="format" select="'Month DD, YYYY'"/>
366
364
  </xsl:call-template>
@@ -524,10 +522,6 @@
524
522
  <!-- ============================= -->
525
523
  <!-- CONTENTS -->
526
524
  <!-- ============================= -->
527
- <xsl:template match="node()" mode="contents">
528
- <xsl:apply-templates mode="contents"/>
529
- </xsl:template>
530
-
531
525
 
532
526
  <!-- element with title -->
533
527
  <xsl:template match="*[rsd:title]" mode="contents">
@@ -593,67 +587,19 @@
593
587
  </fo:block>
594
588
  </xsl:template>
595
589
 
596
- <xsl:template match="rsd:license-statement//rsd:title">
597
- <xsl:variable name="level">
598
- <xsl:call-template name="getLevel"/>
599
- </xsl:variable>
600
- <fo:block text-align="center" font-weight="normal" margin-top="4pt" role="H{$level}">
601
- <xsl:apply-templates/>
602
- </fo:block>
603
- </xsl:template>
604
-
605
- <xsl:template match="rsd:license-statement//rsd:p">
606
- <fo:block font-size="8pt" margin-top="14pt" line-height="115%">
607
- <xsl:if test="following-sibling::rsd:p">
608
- <xsl:attribute name="margin-bottom">14pt</xsl:attribute>
609
- </xsl:if>
610
- <xsl:apply-templates/>
611
- </fo:block>
612
- </xsl:template>
613
590
 
614
- <xsl:template match="rsd:feedback-statement">
591
+ <xsl:template match="rsd:feedback-statement" priority="2">
615
592
  <fo:block-container border="1pt solid black" padding="1mm" padding-left="2mm">
616
593
  <fo:block>
617
594
  <xsl:apply-templates/>
618
595
  </fo:block>
619
596
  </fo:block-container>
620
597
  </xsl:template>
621
-
622
- <xsl:template match="rsd:copyright-statement//rsd:title">
623
- <xsl:variable name="level">
624
- <xsl:call-template name="getLevel"/>
625
- </xsl:variable>
626
- <fo:block font-weight="normal" text-align="center" role="H{$level}">
627
- <xsl:apply-templates/>
628
- </fo:block>
629
- </xsl:template>
630
- <xsl:template match="rsd:copyright-statement//rsd:p">
631
- <fo:block margin-bottom="12pt">
632
- <xsl:if test="not(following-sibling::p)">
633
- <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
634
- </xsl:if>
635
- <xsl:attribute name="text-align">
636
- <xsl:choose>
637
- <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
638
- <xsl:otherwise>left</xsl:otherwise>
639
- </xsl:choose>
640
- </xsl:attribute>
641
- <xsl:apply-templates/>
642
- </fo:block>
643
- </xsl:template>
598
+
644
599
 
645
- <xsl:template match="rsd:legal-statement">
600
+ <xsl:template match="rsd:legal-statement" priority="2">
646
601
  <xsl:apply-templates/>
647
602
  </xsl:template>
648
-
649
- <xsl:template match="rsd:legal-statement//rsd:title">
650
- <xsl:variable name="level">
651
- <xsl:call-template name="getLevel"/>
652
- </xsl:variable>
653
- <fo:block font-weight="normal" padding-top="2mm" margin-bottom="6pt" role="H{$level}">
654
- <xsl:apply-templates/>
655
- </fo:block>
656
- </xsl:template>
657
603
 
658
604
 
659
605
  <!-- ====== -->
@@ -796,7 +742,7 @@
796
742
  </fo:block>
797
743
  </xsl:template>
798
744
 
799
- <xsl:template match="rsd:p">
745
+ <xsl:template match="rsd:p" name="paragraph">
800
746
  <xsl:param name="inline" select="'false'"/>
801
747
  <xsl:variable name="previous-element" select="local-name(preceding-sibling::*[1])"/>
802
748
  <xsl:variable name="element-name">
@@ -853,117 +799,6 @@
853
799
  </xsl:template>
854
800
 
855
801
 
856
-
857
- <xsl:template match="rsd:bibitem">
858
- <fo:block id="{@id}" margin-bottom="12pt" font-weight="normal"> <!-- start-indent="12mm" text-indent="-12mm" -->
859
- <xsl:if test=".//rsd:fn">
860
- <xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
861
- </xsl:if>
862
- <!-- <xsl:if test="rsd:docidentifier">
863
- <xsl:if test="rsd:docidentifier/@type != 'IETF' and rsd:docidentifier/@type != 'ISO'">
864
- <xsl:value-of select="rsd:docidentifier/@type"/><xsl:text> </xsl:text>
865
- </xsl:if>
866
- <xsl:value-of select="rsd:docidentifier"/>
867
- </xsl:if> -->
868
- <xsl:value-of select="rsd:docidentifier"/>
869
- <xsl:apply-templates select="rsd:note"/>
870
- <xsl:if test="rsd:docidentifier">, </xsl:if>
871
- <xsl:choose>
872
- <xsl:when test="rsd:formattedref">
873
- <xsl:apply-templates select="rsd:formattedref"/>
874
- </xsl:when>
875
- <xsl:otherwise>
876
- <xsl:for-each select="rsd:contributor[rsd:role/@type='publisher']/rsd:organization/rsd:name">
877
- <xsl:apply-templates/>
878
- <xsl:if test="position() != last()">, </xsl:if>
879
- <xsl:if test="position() = last()">: </xsl:if>
880
- </xsl:for-each>
881
- <!-- rsd:docidentifier -->
882
-
883
- <fo:inline font-style="italic">
884
- <xsl:choose>
885
- <xsl:when test="rsd:title[@type = 'main' and @language = 'en']">
886
- <xsl:value-of select="rsd:title[@type = 'main' and @language = 'en']"/><xsl:text>. </xsl:text>
887
- </xsl:when>
888
- <xsl:otherwise>
889
- <xsl:value-of select="rsd:title"/><xsl:text>. </xsl:text>
890
- </xsl:otherwise>
891
- </xsl:choose>
892
- </fo:inline>
893
- <xsl:for-each select="rsd:contributor[rsd:role/@type='publisher']/rsd:organization/rsd:name">
894
- <xsl:apply-templates/>
895
- <xsl:if test="position() != last()">, </xsl:if>
896
- </xsl:for-each>
897
- <xsl:if test="rsd:date[@type='published']/rsd:on">
898
- <xsl:text> (</xsl:text><xsl:value-of select="rsd:date[@type='published']/rsd:on"/><xsl:text>)</xsl:text>
899
- </xsl:if>
900
- </xsl:otherwise>
901
- </xsl:choose>
902
- </fo:block>
903
- </xsl:template>
904
-
905
-
906
- <xsl:template match="rsd:bibitem/rsd:note" priority="2">
907
- <fo:footnote>
908
- <xsl:variable name="number">
909
- <xsl:choose>
910
- <xsl:when test="ancestor::rsd:references[preceding-sibling::rsd:references]">
911
- <xsl:number level="any" count="rsd:references[preceding-sibling::rsd:references]//rsd:bibitem/rsd:note"/>
912
- </xsl:when>
913
- <xsl:otherwise>
914
- <xsl:number level="any" count="rsd:bibitem/rsd:note"/>
915
- </xsl:otherwise>
916
- </xsl:choose>
917
- </xsl:variable>
918
- <fo:inline font-size="65%" keep-with-previous.within-line="always" vertical-align="super"> <!-- 60% baseline-shift="35%" -->
919
- <fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
920
- <xsl:value-of select="$number"/><!-- <xsl:text>)</xsl:text> -->
921
- </fo:basic-link>
922
- </fo:inline>
923
- <fo:footnote-body>
924
- <fo:block font-size="10pt" margin-bottom="12pt" start-indent="0pt" color="rgb(168, 170, 173)">
925
- <fo:inline id="{generate-id()}" keep-with-next.within-line="always" font-size="60%" vertical-align="super"><!-- baseline-shift="30%" padding-right="9mm" alignment-baseline="hanging" -->
926
- <xsl:value-of select="$number"/><!-- <xsl:text>)</xsl:text> -->
927
- </fo:inline>
928
- <xsl:apply-templates/>
929
- </fo:block>
930
- </fo:footnote-body>
931
- </fo:footnote>
932
- </xsl:template>
933
-
934
-
935
- <xsl:template match="rsd:references[not(@normative='true')]/rsd:bibitem">
936
- <fo:list-block margin-bottom="4pt" provisional-distance-between-starts="8mm">
937
- <fo:list-item>
938
- <fo:list-item-label end-indent="label-end()">
939
- <fo:block>
940
- <fo:inline id="{@id}">
941
- <xsl:number format="1."/> <!-- [1] -->
942
- </fo:inline>
943
- </fo:block>
944
- </fo:list-item-label>
945
- <fo:list-item-body start-indent="body-start()">
946
- <fo:block>
947
- <xsl:if test="rsd:docidentifier">
948
- <xsl:choose>
949
- <xsl:when test="rsd:docidentifier/@type = 'metanorma'"/>
950
- <xsl:otherwise><fo:inline><xsl:value-of select="rsd:docidentifier"/>, </fo:inline></xsl:otherwise>
951
- </xsl:choose>
952
- </xsl:if>
953
- <xsl:choose>
954
- <xsl:when test="rsd:title[@type = 'main' and @language = 'en']">
955
- <xsl:apply-templates select="rsd:title[@type = 'main' and @language = 'en']"/>
956
- </xsl:when>
957
- <xsl:otherwise>
958
- <xsl:apply-templates select="rsd:title"/>
959
- </xsl:otherwise>
960
- </xsl:choose>
961
- <xsl:apply-templates select="rsd:formattedref"/>
962
- </fo:block>
963
- </fo:list-item-body>
964
- </fo:list-item>
965
- </fo:list-block>
966
- </xsl:template>
967
802
 
968
803
 
969
804
 
@@ -976,7 +811,7 @@
976
811
  <fo:block-container>
977
812
  <xsl:if test="$level &gt;= 3">
978
813
  <!-- <xsl:variable name="list_level" select="count(ancestor-or-self::rsd:ul) + count(ancestor-or-self::rsd:ul)"/> -->
979
- <xsl:attribute name="margin-left">13mm</xsl:attribute>
814
+ <!-- <xsl:attribute name="margin-left">13mm</xsl:attribute> -->
980
815
  </xsl:if>
981
816
  <fo:block-container margin-left="0mm">
982
817
  <xsl:choose>
@@ -994,7 +829,7 @@
994
829
  </xsl:template>
995
830
 
996
831
  <xsl:template name="listProcessing">
997
- <fo:list-block provisional-distance-between-starts="12mm">
832
+ <fo:list-block provisional-distance-between-starts="6mm"> <!-- 12mm -->
998
833
  <xsl:if test="ancestor::rsd:ul | ancestor::rsd:ol">
999
834
  <!-- <xsl:attribute name="margin-bottom">0pt</xsl:attribute> -->
1000
835
  </xsl:if>
@@ -1005,13 +840,17 @@
1005
840
  </fo:list-block>
1006
841
  </xsl:template>
1007
842
 
843
+
1008
844
  <xsl:template match="rsd:li">
1009
845
  <fo:list-item space-after="4pt">
1010
846
  <fo:list-item-label end-indent="label-end()">
1011
847
  <fo:block color="{$color_blue}" font-weight="bold">
1012
848
  <xsl:choose>
1013
- <xsl:when test="local-name(..) = 'ul' and (../ancestor::rsd:ul or ../ancestor::rsd:ol)">-</xsl:when> <!-- &#x2014; dash -->
1014
- <xsl:when test="local-name(..) = 'ul'">•</xsl:when> <!-- &#x2014; dash -->
849
+ <xsl:when test="local-name(..) = 'ul'">
850
+ <xsl:call-template name="setULLabel"/>
851
+ </xsl:when>
852
+ <!-- <xsl:when test="local-name(..) = 'ul' and (../ancestor::rsd:ul or ../ancestor::rsd:ol)">&#x2014;</xsl:when> --> <!-- - &#x2014; dash -->
853
+ <!-- <xsl:when test="local-name(..) = 'ul'">•</xsl:when> -->
1015
854
  <xsl:otherwise> <!-- for ordered lists -->
1016
855
  <xsl:choose>
1017
856
  <xsl:when test="../@type = 'arabic'">
@@ -1050,8 +889,8 @@
1050
889
  <fo:list-item-label><fo:block/></fo:list-item-label>
1051
890
  <fo:list-item-body>
1052
891
  <fo:block>
1053
- <xsl:apply-templates select="rsd:name" mode="presentation"/>
1054
- <xsl:apply-templates/>
892
+ <xsl:apply-templates select="rsd:name"/>
893
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
1055
894
  </fo:block>
1056
895
  </fo:list-item-body>
1057
896
  </fo:list-item>
@@ -1076,7 +915,7 @@
1076
915
  <xsl:if test="preceding-sibling::*[1][self::rsd:name]">
1077
916
  <xsl:attribute name="space-before">11mm</xsl:attribute>
1078
917
  <fo:inline padding-right="1mm">
1079
- <xsl:apply-templates select="ancestor::rsd:term[1]/rsd:name" mode="presentation"/>
918
+ <xsl:apply-templates select="ancestor::rsd:term[1]/rsd:name"/>
1080
919
  </fo:inline>
1081
920
  </xsl:if>
1082
921
 
@@ -1112,9 +951,7 @@
1112
951
  </fo:block>
1113
952
  </xsl:template>
1114
953
 
1115
-
1116
- <xsl:template match="rsd:references[not(@normative='true')]/rsd:title" priority="2"/>
1117
- <xsl:template match="rsd:references[not(@normative='true')]">
954
+ <xsl:template match="rsd:references[not(@normative='true')]" priority="3">
1118
955
  <fo:block break-after="page"/>
1119
956
  <fo:block id="{@id}">
1120
957
  <fo:table width="100%" table-layout="fixed">
@@ -1137,7 +974,7 @@
1137
974
  <fo:table-row>
1138
975
  <fo:table-cell text-align="left">
1139
976
  <fo:block>
1140
- <xsl:apply-templates/>
977
+ <xsl:apply-templates select="node()[not(local-name() = 'title')]"/>
1141
978
  </fo:block>
1142
979
  </fo:table-cell>
1143
980
  </fo:table-row>
@@ -1146,43 +983,7 @@
1146
983
 
1147
984
  </fo:block>
1148
985
  </xsl:template>
1149
-
1150
- <xsl:template match="rsd:references[not(@normative='true')]/rsd:bibitem" mode="contents"/>
1151
-
1152
- <!-- <xsl:template match="rsd:references[@id = '_bibliography']/rsd:bibitem/rsd:title"> [position() &gt; 1]-->
1153
- <xsl:template match="rsd:references[not(@normative='true')]/rsd:bibitem/rsd:title">
1154
- <fo:inline font-style="italic">
1155
- <xsl:apply-templates/>
1156
- </fo:inline>
1157
- </xsl:template>
1158
-
1159
-
1160
- <!-- <xsl:template match="rsd:note/rsd:p" name="note">
1161
- <fo:block font-size="10pt" margin-top="12pt" margin-bottom="12pt" line-height="115%">
1162
- <xsl:if test="ancestor::rsd:ul or ancestor::rsd:ol and not(ancestor::rsd:note[1]/following-sibling::*)">
1163
- <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
1164
- </xsl:if>
1165
- <fo:inline padding-right="4mm">
1166
- <xsl:apply-templates select="../rsd:name" mode="presentation"/>
1167
- </fo:inline>
1168
- <xsl:apply-templates />
1169
- </fo:block>
1170
- </xsl:template>
1171
- -->
1172
-
1173
986
 
1174
- <xsl:template match="rsd:admonition">
1175
- <fo:block-container border="0.5pt solid rgb(79, 129, 189)" color="rgb(79, 129, 189)" margin-left="16mm" margin-right="16mm" margin-bottom="12pt">
1176
- <fo:block-container margin-left="0mm" margin-right="0mm" padding="2mm" padding-top="3mm">
1177
- <fo:block font-size="11pt" margin-bottom="6pt" font-weight="normal" font-style="italic" text-align="center">
1178
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(@type))"/>
1179
- </fo:block>
1180
- <fo:block font-style="italic">
1181
- <xsl:apply-templates/>
1182
- </fo:block>
1183
- </fo:block-container>
1184
- </fo:block-container>
1185
- </xsl:template>
1186
987
 
1187
988
  <xsl:template match="rsd:formula/rsd:stem">
1188
989
  <fo:block margin-top="6pt" margin-bottom="12pt">
@@ -1198,7 +999,7 @@
1198
999
  </fo:table-cell>
1199
1000
  <fo:table-cell display-align="center">
1200
1001
  <fo:block text-align="right">
1201
- <xsl:apply-templates select="../rsd:name" mode="presentation"/>
1002
+ <xsl:apply-templates select="../rsd:name" mode="formula_number"/>
1202
1003
  </fo:block>
1203
1004
  </fo:table-cell>
1204
1005
  </fo:table-row>
@@ -1207,11 +1008,6 @@
1207
1008
  </fo:block>
1208
1009
  </xsl:template>
1209
1010
 
1210
- <xsl:template match="rsd:pagebreak">
1211
- <fo:block break-after="page"/>
1212
- <fo:block> </fo:block>
1213
- <fo:block break-after="page"/>
1214
- </xsl:template>
1215
1011
 
1216
1012
  <xsl:template match="*[local-name()='table' or local-name()='figure' or local-name()='sourcecode']/*[local-name() = 'name']/node()[1][self::text()]" priority="2">
1217
1013
  <xsl:choose>
@@ -1461,55 +1257,36 @@
1461
1257
 
1462
1258
 
1463
1259
 
1464
- <xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
1465
-
1466
- <title-annex lang="en">Annex </title-annex>
1467
- <title-annex lang="fr">Annexe </title-annex>
1468
-
1469
- <title-annex lang="zh">Annex </title-annex>
1470
-
1471
-
1260
+ <xsl:variable name="pageWidth_">
1261
+ 215.9
1262
+ </xsl:variable><xsl:variable name="pageWidth" select="normalize-space($pageWidth_)"/><xsl:variable name="pageHeight_">
1263
+ 279.4
1264
+ </xsl:variable><xsl:variable name="pageHeight" select="normalize-space($pageHeight_)"/><xsl:variable name="titles_">
1472
1265
 
1473
1266
  <title-edition lang="en">
1474
1267
 
1475
-
1476
- <xsl:text>Version</xsl:text>
1477
-
1268
+ <xsl:text>Version</xsl:text>
1269
+
1478
1270
  </title-edition>
1479
1271
 
1480
1272
  <title-edition lang="fr">
1481
-
1482
- <xsl:text>Édition </xsl:text>
1483
-
1273
+ <xsl:text>Édition </xsl:text>
1484
1274
  </title-edition>
1485
1275
 
1486
-
1276
+ <!-- These titles of Table of contents renders different than determined in localized-strings -->
1487
1277
  <title-toc lang="en">
1488
1278
 
1489
- <xsl:text>Contents</xsl:text>
1490
-
1491
1279
 
1492
1280
 
1493
1281
  </title-toc>
1494
1282
  <title-toc lang="fr">
1283
+ <xsl:text>Sommaire</xsl:text>
1284
+ </title-toc>
1285
+ <title-toc lang="zh">
1495
1286
 
1496
- <xsl:text>Sommaire</xsl:text>
1497
-
1498
-
1499
- </title-toc>
1500
-
1501
- <title-toc lang="zh">Contents</title-toc>
1502
-
1503
-
1504
-
1505
- <title-page lang="en">Page</title-page>
1506
- <title-page lang="fr">Page</title-page>
1507
-
1508
- <title-key lang="en">Key</title-key>
1509
- <title-key lang="fr">Légende</title-key>
1510
-
1511
- <title-where lang="en">where</title-where>
1512
- <title-where lang="fr">où</title-where>
1287
+ <xsl:text>Contents</xsl:text>
1288
+
1289
+ </title-toc>
1513
1290
 
1514
1291
  <title-descriptors lang="en">Descriptors</title-descriptors>
1515
1292
 
@@ -1525,32 +1302,9 @@
1525
1302
  </title-part>
1526
1303
  <title-part lang="zh">第 # 部分:</title-part>
1527
1304
 
1528
- <title-subpart lang="en">
1529
-
1530
- </title-subpart>
1531
- <title-subpart lang="fr">
1532
-
1533
- </title-subpart>
1534
-
1535
- <title-modified lang="en">modified</title-modified>
1536
- <title-modified lang="fr">modifiée</title-modified>
1537
-
1538
- <title-modified lang="zh">modified</title-modified>
1539
-
1540
-
1541
-
1542
- <title-source lang="en">
1543
-
1544
- <xsl:text>SOURCE</xsl:text>
1545
-
1546
-
1547
- </title-source>
1305
+ <title-subpart lang="en">Sub-part #</title-subpart>
1306
+ <title-subpart lang="fr">Partie de sub #</title-subpart>
1548
1307
 
1549
- <title-keywords lang="en">Keywords</title-keywords>
1550
-
1551
- <title-deprecated lang="en">DEPRECATED</title-deprecated>
1552
- <title-deprecated lang="fr">DEPRECATED</title-deprecated>
1553
-
1554
1308
  <title-list-tables lang="en">List of Tables</title-list-tables>
1555
1309
 
1556
1310
  <title-list-figures lang="en">List of Figures</title-list-figures>
@@ -1559,41 +1313,12 @@
1559
1313
 
1560
1314
  <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
1561
1315
 
1562
- <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
1563
-
1564
- <title-abstract lang="en">Abstract</title-abstract>
1565
-
1566
1316
  <title-summary lang="en">Summary</title-summary>
1567
1317
 
1568
- <title-in lang="en">in </title-in>
1569
-
1570
- <title-partly-supercedes lang="en">Partly Supercedes </title-partly-supercedes>
1571
- <title-partly-supercedes lang="zh">部分代替 </title-partly-supercedes>
1572
-
1573
- <title-completion-date lang="en">Completion date for this manuscript</title-completion-date>
1574
- <title-completion-date lang="zh">本稿完成日期</title-completion-date>
1575
-
1576
- <title-issuance-date lang="en">Issuance Date: #</title-issuance-date>
1577
- <title-issuance-date lang="zh"># 发布</title-issuance-date>
1578
-
1579
- <title-implementation-date lang="en">Implementation Date: #</title-implementation-date>
1580
- <title-implementation-date lang="zh"># 实施</title-implementation-date>
1581
-
1582
- <title-obligation-normative lang="en">normative</title-obligation-normative>
1583
- <title-obligation-normative lang="zh">规范性附录</title-obligation-normative>
1584
-
1585
- <title-caution lang="en">CAUTION</title-caution>
1586
- <title-caution lang="zh">注意</title-caution>
1587
-
1588
- <title-warning lang="en">WARNING</title-warning>
1589
- <title-warning lang="zh">警告</title-warning>
1590
-
1591
- <title-amendment lang="en">AMENDMENT</title-amendment>
1592
-
1593
1318
  <title-continued lang="en">(continued)</title-continued>
1594
1319
  <title-continued lang="fr">(continué)</title-continued>
1595
1320
 
1596
- </xsl:variable><xsl:variable name="bibdata">
1321
+ </xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="bibdata">
1597
1322
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
1598
1323
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
1599
1324
  </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
@@ -1622,6 +1347,76 @@
1622
1347
  </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="linebreak" select="'&#8232;'"/><xsl:attribute-set name="root-style">
1623
1348
 
1624
1349
 
1350
+
1351
+
1352
+
1353
+
1354
+
1355
+
1356
+
1357
+
1358
+
1359
+
1360
+
1361
+
1362
+
1363
+ <xsl:attribute name="font-family">OpenSans, STIX Two Math</xsl:attribute>
1364
+ <xsl:attribute name="font-weight">300</xsl:attribute>
1365
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1366
+ <xsl:attribute name="color">rgb(88, 88, 90)</xsl:attribute>
1367
+
1368
+
1369
+ </xsl:attribute-set><xsl:attribute-set name="copyright-statement-style">
1370
+
1371
+ </xsl:attribute-set><xsl:attribute-set name="copyright-statement-title-style">
1372
+
1373
+
1374
+ </xsl:attribute-set><xsl:attribute-set name="copyright-statement-p-style">
1375
+
1376
+
1377
+
1378
+ </xsl:attribute-set><xsl:attribute-set name="license-statement-style">
1379
+
1380
+
1381
+ </xsl:attribute-set><xsl:attribute-set name="license-statement-title-style">
1382
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1383
+
1384
+
1385
+
1386
+
1387
+
1388
+
1389
+ </xsl:attribute-set><xsl:attribute-set name="license-statement-p-style">
1390
+
1391
+
1392
+
1393
+
1394
+ </xsl:attribute-set><xsl:attribute-set name="legal-statement-style">
1395
+
1396
+
1397
+
1398
+ </xsl:attribute-set><xsl:attribute-set name="legal-statement-title-style">
1399
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1400
+
1401
+
1402
+
1403
+
1404
+
1405
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
1406
+ <xsl:attribute name="padding-top">2mm</xsl:attribute>
1407
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1408
+
1409
+ </xsl:attribute-set><xsl:attribute-set name="legal-statement-p-style">
1410
+
1411
+ </xsl:attribute-set><xsl:attribute-set name="feedback-statement-style">
1412
+
1413
+
1414
+ </xsl:attribute-set><xsl:attribute-set name="feedback-statement-title-style">
1415
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1416
+
1417
+ </xsl:attribute-set><xsl:attribute-set name="feedback-statement-p-style">
1418
+
1419
+
1625
1420
  </xsl:attribute-set><xsl:attribute-set name="link-style">
1626
1421
 
1627
1422
 
@@ -1632,16 +1427,21 @@
1632
1427
 
1633
1428
 
1634
1429
 
1430
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-container-style">
1431
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1432
+
1433
+ <xsl:attribute name="space-after">12pt</xsl:attribute>
1434
+
1635
1435
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
1636
1436
  <xsl:attribute name="white-space">pre</xsl:attribute>
1637
1437
  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
1638
1438
  <xsl:attribute name="role">Code</xsl:attribute>
1639
1439
 
1640
1440
 
1641
- <xsl:attribute name="font-family">Source Code Pro</xsl:attribute>
1642
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1643
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
1644
- <xsl:attribute name="line-height">113%</xsl:attribute>
1441
+
1442
+
1443
+
1444
+
1645
1445
 
1646
1446
 
1647
1447
 
@@ -1650,6 +1450,13 @@
1650
1450
 
1651
1451
 
1652
1452
 
1453
+ <xsl:attribute name="font-family">Source Code Pro</xsl:attribute>
1454
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1455
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1456
+ <xsl:attribute name="line-height">113%</xsl:attribute>
1457
+
1458
+
1459
+
1653
1460
  </xsl:attribute-set><xsl:attribute-set name="permission-style">
1654
1461
 
1655
1462
  </xsl:attribute-set><xsl:attribute-set name="permission-name-style">
@@ -1700,6 +1507,7 @@
1700
1507
 
1701
1508
 
1702
1509
 
1510
+
1703
1511
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
1704
1512
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1705
1513
 
@@ -1707,7 +1515,9 @@
1707
1515
 
1708
1516
 
1709
1517
 
1518
+
1710
1519
  </xsl:attribute-set><xsl:attribute-set name="example-name-style">
1520
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1711
1521
 
1712
1522
 
1713
1523
 
@@ -1738,6 +1548,7 @@
1738
1548
 
1739
1549
 
1740
1550
 
1551
+
1741
1552
 
1742
1553
  <xsl:attribute name="margin-bottom">14pt</xsl:attribute>
1743
1554
 
@@ -1758,7 +1569,61 @@
1758
1569
 
1759
1570
  </xsl:attribute-set><xsl:variable name="table-border_">
1760
1571
 
1761
- </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-name-style">
1572
+ </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
1573
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1574
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1575
+
1576
+
1577
+
1578
+
1579
+
1580
+
1581
+
1582
+
1583
+
1584
+
1585
+
1586
+
1587
+
1588
+
1589
+
1590
+
1591
+
1592
+
1593
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1594
+
1595
+
1596
+
1597
+
1598
+ </xsl:attribute-set><xsl:attribute-set name="table-style">
1599
+ <xsl:attribute name="table-omit-footer-at-break">true</xsl:attribute>
1600
+ <xsl:attribute name="table-layout">fixed</xsl:attribute>
1601
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1602
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1603
+
1604
+
1605
+
1606
+
1607
+
1608
+
1609
+
1610
+
1611
+
1612
+
1613
+
1614
+
1615
+
1616
+
1617
+
1618
+
1619
+
1620
+
1621
+ <xsl:attribute name="border">0pt solid black</xsl:attribute>
1622
+ <xsl:attribute name="font-size">9.5pt</xsl:attribute> <!-- 8pt -->
1623
+
1624
+
1625
+
1626
+ </xsl:attribute-set><xsl:attribute-set name="table-name-style">
1762
1627
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1763
1628
 
1764
1629
 
@@ -1781,10 +1646,167 @@
1781
1646
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
1782
1647
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1783
1648
 
1649
+ </xsl:attribute-set><xsl:attribute-set name="table-row-style">
1650
+ <xsl:attribute name="min-height">4mm</xsl:attribute>
1651
+
1652
+
1653
+
1654
+
1655
+ <xsl:attribute name="min-height">8.5mm</xsl:attribute>
1656
+
1657
+ </xsl:attribute-set><xsl:attribute-set name="table-header-row-style" use-attribute-sets="table-row-style">
1658
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1659
+
1660
+
1661
+
1662
+
1663
+
1664
+
1665
+
1666
+
1667
+
1668
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
1669
+ <xsl:attribute name="background-color">rgb(32, 98, 169)</xsl:attribute>
1670
+ <xsl:attribute name="color">white</xsl:attribute>
1671
+
1672
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-row-style" use-attribute-sets="table-row-style">
1673
+
1674
+
1675
+
1676
+ </xsl:attribute-set><xsl:attribute-set name="table-body-row-style" use-attribute-sets="table-row-style">
1677
+
1678
+ </xsl:attribute-set><xsl:attribute-set name="table-header-cell-style">
1679
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1680
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1681
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
1682
+ <xsl:attribute name="display-align">center</xsl:attribute>
1683
+
1684
+
1685
+
1686
+
1687
+
1688
+
1689
+
1690
+
1691
+
1692
+
1693
+
1694
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
1695
+ <xsl:attribute name="border">0pt solid black</xsl:attribute>
1696
+
1697
+
1698
+
1699
+ </xsl:attribute-set><xsl:attribute-set name="table-cell-style">
1700
+ <xsl:attribute name="display-align">center</xsl:attribute>
1701
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1702
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
1703
+
1704
+
1705
+
1706
+
1707
+
1708
+
1709
+
1710
+
1711
+
1712
+
1713
+
1714
+ <xsl:attribute name="border">0pt solid black</xsl:attribute>
1715
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
1716
+
1717
+
1718
+
1784
1719
  </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
1720
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1721
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
1722
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
1723
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
1724
+
1725
+
1726
+
1727
+
1728
+
1729
+
1730
+
1731
+
1732
+
1733
+
1785
1734
 
1786
1735
  <xsl:attribute name="border">solid black 0pt</xsl:attribute>
1787
1736
 
1737
+ </xsl:attribute-set><xsl:attribute-set name="table-note-style">
1738
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1739
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1740
+
1741
+
1742
+
1743
+
1744
+
1745
+
1746
+
1747
+
1748
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
1749
+
1750
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-style">
1751
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1752
+
1753
+
1754
+
1755
+
1756
+
1757
+
1758
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
1759
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1760
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
1761
+
1762
+
1763
+
1764
+
1765
+
1766
+
1767
+
1768
+
1769
+
1770
+
1771
+
1772
+
1773
+ </xsl:attribute-set><xsl:attribute-set name="fn-container-body-style">
1774
+ <xsl:attribute name="text-indent">0</xsl:attribute>
1775
+ <xsl:attribute name="start-indent">0</xsl:attribute>
1776
+
1777
+
1778
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-body-style">
1779
+
1780
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-number-style">
1781
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1782
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
1783
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1784
+
1785
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-body-style">
1786
+ <xsl:attribute name="text-align">justify</xsl:attribute>
1787
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1788
+
1789
+ </xsl:attribute-set><xsl:attribute-set name="dt-row-style">
1790
+
1791
+
1792
+ <xsl:attribute name="min-height">7mm</xsl:attribute>
1793
+
1794
+ </xsl:attribute-set><xsl:attribute-set name="dt-style">
1795
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1796
+
1797
+
1798
+
1799
+
1800
+
1801
+
1802
+
1803
+
1804
+
1805
+
1806
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
1807
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1808
+ <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
1809
+
1788
1810
  </xsl:attribute-set><xsl:attribute-set name="appendix-style">
1789
1811
 
1790
1812
 
@@ -1857,13 +1879,13 @@
1857
1879
  <xsl:attribute name="padding-right">0.5mm</xsl:attribute>
1858
1880
 
1859
1881
  </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
1882
+ <xsl:attribute name="padding-right">2mm</xsl:attribute>
1860
1883
 
1861
1884
 
1862
1885
 
1863
1886
 
1864
1887
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1865
1888
  <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
1866
- <xsl:attribute name="padding-right">0.5mm</xsl:attribute>
1867
1889
 
1868
1890
  </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1869
1891
 
@@ -1931,6 +1953,11 @@
1931
1953
 
1932
1954
  <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1933
1955
 
1956
+ </xsl:attribute-set><xsl:attribute-set name="termsource-text-style">
1957
+
1958
+ <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
1959
+
1960
+
1934
1961
  </xsl:attribute-set><xsl:attribute-set name="origin-style">
1935
1962
 
1936
1963
 
@@ -1939,6 +1966,17 @@
1939
1966
 
1940
1967
  </xsl:attribute-set><xsl:attribute-set name="term-style">
1941
1968
 
1969
+ </xsl:attribute-set><xsl:attribute-set name="figure-style">
1970
+ <!-- background for image -->
1971
+ <xsl:attribute name="background-color">rgb(236,242,246)</xsl:attribute>
1972
+ <xsl:attribute name="padding-left">11mm</xsl:attribute>
1973
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1974
+ <xsl:attribute name="padding-right">11mm</xsl:attribute>
1975
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1976
+ <xsl:attribute name="padding-top">7.5mm</xsl:attribute>
1977
+ <xsl:attribute name="padding-bottom">7.5mm</xsl:attribute>
1978
+ <xsl:attribute name="margin-bottom">3mm</xsl:attribute>
1979
+
1942
1980
  </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
1943
1981
 
1944
1982
 
@@ -2057,6 +2095,21 @@
2057
2095
 
2058
2096
  </xsl:attribute-set><xsl:attribute-set name="toc-style">
2059
2097
  <xsl:attribute name="line-height">135%</xsl:attribute>
2098
+ </xsl:attribute-set><xsl:attribute-set name="fn-reference-style">
2099
+ <xsl:attribute name="font-size">80%</xsl:attribute>
2100
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2101
+
2102
+
2103
+
2104
+
2105
+
2106
+
2107
+
2108
+ <xsl:attribute name="font-size">70%</xsl:attribute>
2109
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2110
+ <xsl:attribute name="font-style">italic</xsl:attribute>
2111
+
2112
+
2060
2113
  </xsl:attribute-set><xsl:attribute-set name="fn-style">
2061
2114
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2062
2115
  </xsl:attribute-set><xsl:attribute-set name="fn-num-style">
@@ -2130,30 +2183,214 @@
2130
2183
 
2131
2184
 
2132
2185
 
2133
- </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:template name="OLD_processPrefaceSectionsDefault_Contents">
2134
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
2135
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
2136
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
2137
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
2138
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
2139
- </xsl:template><xsl:template name="processPrefaceSectionsDefault_Contents">
2186
+ </xsl:attribute-set><xsl:attribute-set name="admonition-style">
2187
+
2188
+
2189
+
2190
+
2191
+
2192
+
2193
+
2194
+
2195
+
2196
+
2197
+
2198
+
2199
+ <xsl:attribute name="border">0.5pt solid rgb(79, 129, 189)</xsl:attribute>
2200
+ <xsl:attribute name="color">rgb(79, 129, 189)</xsl:attribute>
2201
+ <xsl:attribute name="margin-left">16mm</xsl:attribute>
2202
+ <xsl:attribute name="margin-right">16mm</xsl:attribute>
2203
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2204
+
2205
+
2206
+
2207
+ </xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
2208
+
2209
+
2210
+
2211
+
2212
+
2213
+
2214
+
2215
+
2216
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2217
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2218
+ <xsl:attribute name="padding">2mm</xsl:attribute>
2219
+ <xsl:attribute name="padding-top">3mm</xsl:attribute>
2220
+
2221
+
2222
+
2223
+ </xsl:attribute-set><xsl:attribute-set name="admonition-name-style">
2224
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2225
+
2226
+
2227
+
2228
+
2229
+
2230
+
2231
+
2232
+
2233
+
2234
+
2235
+
2236
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
2237
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2238
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
2239
+ <xsl:attribute name="font-style">italic</xsl:attribute>
2240
+ <xsl:attribute name="text-align">center</xsl:attribute>
2241
+
2242
+
2243
+
2244
+ </xsl:attribute-set><xsl:attribute-set name="admonition-p-style">
2245
+
2246
+
2247
+
2248
+
2249
+
2250
+
2251
+
2252
+
2253
+
2254
+ <xsl:attribute name="font-style">italic</xsl:attribute>
2255
+
2256
+
2257
+
2258
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-style">
2259
+
2260
+
2261
+
2262
+
2263
+
2264
+
2265
+
2266
+
2267
+
2268
+
2269
+
2270
+
2271
+
2272
+
2273
+
2274
+
2275
+
2276
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2277
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
2278
+
2279
+
2280
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-style">
2281
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
2282
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2283
+
2284
+
2285
+
2286
+
2287
+
2288
+
2289
+
2290
+
2291
+
2292
+
2293
+
2294
+ <xsl:attribute name="margin-bottom">4pt</xsl:attribute>
2295
+ <xsl:attribute name="provisional-distance-between-starts">8mm</xsl:attribute>
2296
+
2297
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-style">
2298
+
2299
+
2300
+
2301
+
2302
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-style">
2303
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
2304
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2305
+
2306
+
2307
+
2308
+
2309
+
2310
+
2311
+
2312
+
2313
+
2314
+
2315
+
2316
+ <xsl:attribute name="margin-bottom">4pt</xsl:attribute>
2317
+ <xsl:attribute name="provisional-distance-between-starts">8mm</xsl:attribute>
2318
+
2319
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
2320
+
2321
+
2322
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-body-style">
2323
+
2324
+
2325
+
2326
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-style">
2327
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2328
+ <xsl:attribute name="font-size">65%</xsl:attribute>
2329
+
2330
+
2331
+
2332
+
2333
+
2334
+
2335
+
2336
+
2337
+
2338
+
2339
+
2340
+
2341
+
2342
+
2343
+
2344
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2345
+
2346
+
2347
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-number-style">
2348
+ <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
2349
+
2350
+
2351
+
2352
+
2353
+
2354
+
2355
+
2356
+
2357
+
2358
+
2359
+
2360
+
2361
+
2362
+
2363
+
2364
+ <xsl:attribute name="font-size">60%</xsl:attribute>
2365
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2366
+
2367
+
2368
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-body-style">
2369
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2370
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2371
+ <xsl:attribute name="start-indent">0pt</xsl:attribute>
2372
+
2373
+
2374
+
2375
+
2376
+
2377
+
2378
+
2379
+
2380
+
2381
+
2382
+
2383
+ <xsl:attribute name="color">rgb(168, 170, 173)</xsl:attribute>
2384
+
2385
+ </xsl:attribute-set><xsl:attribute-set name="references-non-normative-style">
2386
+
2387
+
2388
+
2389
+ </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">
2140
2390
  <xsl:for-each select="/*/*[local-name()='preface']/*">
2141
2391
  <xsl:sort select="@displayorder" data-type="number"/>
2142
2392
  <xsl:apply-templates select="." mode="contents"/>
2143
2393
  </xsl:for-each>
2144
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault_Contents">
2145
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
2146
-
2147
- <!-- Normative references -->
2148
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true'] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][@normative='true']]" mode="contents"/>
2149
- <!-- Terms and definitions -->
2150
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]" mode="contents"/>
2151
- <!-- Another main sections -->
2152
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]" mode="contents"/>
2153
- <xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
2154
- <!-- Bibliography -->
2155
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]]" mode="contents"/>
2156
-
2157
2394
  </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
2158
2395
 
2159
2396
  <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true'] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][@normative='true']]">
@@ -2170,29 +2407,11 @@
2170
2407
  <xsl:sort select="@displayorder" data-type="number"/>
2171
2408
  <xsl:apply-templates select="." mode="contents"/>
2172
2409
  </xsl:for-each>
2173
- </xsl:template><xsl:template name="OLD_processPrefaceSectionsDefault">
2174
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
2175
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
2176
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
2177
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
2178
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
2179
2410
  </xsl:template><xsl:template name="processPrefaceSectionsDefault">
2180
2411
  <xsl:for-each select="/*/*[local-name()='preface']/*">
2181
2412
  <xsl:sort select="@displayorder" data-type="number"/>
2182
2413
  <xsl:apply-templates select="."/>
2183
2414
  </xsl:for-each>
2184
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault">
2185
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
2186
-
2187
- <!-- Normative references -->
2188
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
2189
- <!-- Terms and definitions -->
2190
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]"/>
2191
- <!-- Another main sections -->
2192
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]"/>
2193
- <xsl:apply-templates select="/*/*[local-name()='annex']"/>
2194
- <!-- Bibliography -->
2195
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
2196
2415
  </xsl:template><xsl:template name="processMainSectionsDefault">
2197
2416
  <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
2198
2417
  <xsl:sort select="@displayorder" data-type="number"/>
@@ -2213,6 +2432,69 @@
2213
2432
  <xsl:value-of select="."/>
2214
2433
  </xsl:template><xsl:template match="*[local-name()='br']">
2215
2434
  <xsl:value-of select="$linebreak"/>
2435
+ </xsl:template><xsl:template match="*[local-name()='copyright-statement']">
2436
+ <fo:block xsl:use-attribute-sets="copyright-statement-style">
2437
+ <xsl:apply-templates/>
2438
+ </fo:block>
2439
+ </xsl:template><xsl:template match="*[local-name()='copyright-statement']//*[local-name()='title']">
2440
+
2441
+ <!-- process in the template 'title' -->
2442
+ <xsl:call-template name="title"/>
2443
+
2444
+ </xsl:template><xsl:template match="*[local-name()='copyright-statement']//*[local-name()='p']">
2445
+
2446
+
2447
+ <!-- process in the template 'paragraph' -->
2448
+ <xsl:call-template name="paragraph"/>
2449
+
2450
+ </xsl:template><xsl:template match="*[local-name()='license-statement']">
2451
+ <fo:block xsl:use-attribute-sets="license-statement-style">
2452
+ <xsl:apply-templates/>
2453
+ </fo:block>
2454
+ </xsl:template><xsl:template match="*[local-name()='license-statement']//*[local-name()='title']">
2455
+
2456
+ <!-- process in the template 'title' -->
2457
+ <xsl:call-template name="title"/>
2458
+
2459
+ </xsl:template><xsl:template match="*[local-name()='license-statement']//*[local-name()='p']">
2460
+
2461
+ <!-- process in the template 'paragraph' -->
2462
+ <xsl:call-template name="paragraph"/>
2463
+
2464
+ </xsl:template><xsl:template match="*[local-name()='legal-statement']">
2465
+ <fo:block xsl:use-attribute-sets="legal-statement-style">
2466
+ <xsl:apply-templates/>
2467
+ </fo:block>
2468
+ </xsl:template><xsl:template match="*[local-name()='legal-statement']//*[local-name()='title']">
2469
+
2470
+ <!-- ogc-white-paper rsd -->
2471
+ <xsl:variable name="level">
2472
+ <xsl:call-template name="getLevel"/>
2473
+ </xsl:variable>
2474
+ <fo:block role="H{$level}" xsl:use-attribute-sets="legal-statement-title-style">
2475
+ <xsl:apply-templates/>
2476
+ </fo:block>
2477
+
2478
+
2479
+ </xsl:template><xsl:template match="*[local-name()='legal-statement']//*[local-name()='p']">
2480
+
2481
+ <!-- process in the template 'paragraph' -->
2482
+ <xsl:call-template name="paragraph"/>
2483
+
2484
+ </xsl:template><xsl:template match="*[local-name()='feedback-statement']">
2485
+ <fo:block xsl:use-attribute-sets="feedback-statement-style">
2486
+ <xsl:apply-templates/>
2487
+ </fo:block>
2488
+ </xsl:template><xsl:template match="*[local-name()='feedback-statement']//*[local-name()='title']">
2489
+
2490
+ <!-- process in the template 'title' -->
2491
+ <xsl:call-template name="title"/>
2492
+
2493
+ </xsl:template><xsl:template match="*[local-name()='feedback-statement']//*[local-name()='p']">
2494
+
2495
+ <!-- process in the template 'paragraph' -->
2496
+ <xsl:call-template name="paragraph"/>
2497
+
2216
2498
  </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
2217
2499
  <!-- <xsl:call-template name="add-zero-spaces"/> -->
2218
2500
  <xsl:call-template name="add-zero-spaces-java"/>
@@ -2229,41 +2511,17 @@
2229
2511
  <xsl:call-template name="getSimpleTable"/>
2230
2512
  </xsl:variable>
2231
2513
 
2232
- <!-- <xsl:if test="$namespace = 'bipm'">
2233
- <fo:block>&#xA0;</fo:block>
2234
- </xsl:if> -->
2235
-
2236
2514
 
2237
2515
  <!-- Display table's name before table as standalone block -->
2238
2516
  <!-- $namespace = 'iso' or -->
2239
2517
 
2240
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
2241
-
2242
-
2243
-
2518
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- table's title rendered before table -->
2519
+
2244
2520
 
2245
2521
 
2246
-
2247
2522
 
2248
2523
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)/*/tr[1]/td)"/>
2249
2524
 
2250
- <!-- <xsl:variable name="cols-count">
2251
- <xsl:choose>
2252
- <xsl:when test="*[local-name()='thead']">
2253
- <xsl:call-template name="calculate-columns-numbers">
2254
- <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
2255
- </xsl:call-template>
2256
- </xsl:when>
2257
- <xsl:otherwise>
2258
- <xsl:call-template name="calculate-columns-numbers">
2259
- <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
2260
- </xsl:call-template>
2261
- </xsl:otherwise>
2262
- </xsl:choose>
2263
- </xsl:variable> -->
2264
- <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
2265
- <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
2266
-
2267
2525
  <xsl:variable name="colwidths">
2268
2526
  <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
2269
2527
  <xsl:call-template name="calculate-column-widths">
@@ -2274,17 +2532,8 @@
2274
2532
  </xsl:variable>
2275
2533
  <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
2276
2534
 
2277
- <!-- <xsl:variable name="colwidths2">
2278
- <xsl:call-template name="calculate-column-widths">
2279
- <xsl:with-param name="cols-count" select="$cols-count"/>
2280
- </xsl:call-template>
2281
- </xsl:variable> -->
2282
2535
 
2283
- <!-- cols-count=<xsl:copy-of select="$cols-count"/>
2284
- colwidthsNew=<xsl:copy-of select="$colwidths"/>
2285
- colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
2286
-
2287
- <xsl:variable name="margin-left">
2536
+ <xsl:variable name="margin-side">
2288
2537
  <xsl:choose>
2289
2538
  <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
2290
2539
  <xsl:otherwise>0</xsl:otherwise>
@@ -2292,70 +2541,61 @@
2292
2541
  </xsl:variable>
2293
2542
 
2294
2543
 
2295
- <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
2296
-
2297
-
2298
-
2299
-
2300
-
2301
-
2302
-
2303
-
2304
-
2544
+ <fo:block-container xsl:use-attribute-sets="table-container-style">
2545
+
2305
2546
 
2547
+
2306
2548
 
2549
+
2307
2550
 
2551
+
2308
2552
 
2309
2553
 
2310
2554
 
2555
+
2311
2556
 
2312
2557
 
2313
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2314
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
2315
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2316
2558
 
2317
2559
 
2318
2560
 
2561
+ <!-- end table block-container attributes -->
2319
2562
 
2320
2563
  <!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
2321
2564
 
2322
2565
 
2566
+ <xsl:variable name="table_width_default">100%</xsl:variable>
2323
2567
  <xsl:variable name="table_width">
2324
2568
  <!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
2325
- 100%
2326
-
2327
-
2569
+ <xsl:value-of select="$table_width_default"/>
2328
2570
  </xsl:variable>
2329
2571
 
2572
+
2330
2573
  <xsl:variable name="table_attributes">
2331
- <attribute name="table-layout">fixed</attribute>
2332
- <attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
2333
- <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
2334
- <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
2335
-
2336
-
2337
-
2338
-
2339
-
2340
-
2341
-
2342
-
2343
-
2344
-
2345
-
2346
-
2347
-
2348
-
2349
- <attribute name="border">0pt solid black</attribute>
2350
- <attribute name="font-size">8pt</attribute>
2351
-
2574
+
2575
+ <xsl:element name="table_attributes" use-attribute-sets="table-style">
2576
+ <xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
2577
+
2578
+
2579
+
2580
+
2581
+
2582
+
2583
+
2584
+
2585
+
2586
+
2587
+
2588
+
2589
+
2590
+
2591
+ </xsl:element>
2352
2592
  </xsl:variable>
2353
2593
 
2354
2594
 
2355
- <fo:table id="{@id}" table-omit-footer-at-break="true">
2595
+ <fo:table id="{@id}">
2356
2596
 
2357
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
2358
- <xsl:attribute name="{@name}">
2597
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
2598
+ <xsl:attribute name="{local-name()}">
2359
2599
  <xsl:value-of select="."/>
2360
2600
  </xsl:attribute>
2361
2601
  </xsl:for-each>
@@ -2366,7 +2606,6 @@
2366
2606
  </xsl:if>
2367
2607
 
2368
2608
 
2369
-
2370
2609
  <xsl:choose>
2371
2610
  <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
2372
2611
  <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
@@ -2392,7 +2631,7 @@
2392
2631
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
2393
2632
  </xsl:when>
2394
2633
  <xsl:otherwise>
2395
- <xsl:apply-templates/>
2634
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer and note that renders separaterely -->
2396
2635
  </xsl:otherwise>
2397
2636
  </xsl:choose>
2398
2637
 
@@ -2407,25 +2646,6 @@
2407
2646
  </xsl:call-template>
2408
2647
  </xsl:for-each>
2409
2648
 
2410
- <!-- insert footer as table -->
2411
- <!-- <fo:table>
2412
- <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
2413
- <xsl:attribute name="{@name}">
2414
- <xsl:value-of select="."/>
2415
- </xsl:attribute>
2416
- </xsl:for-each>
2417
-
2418
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
2419
- <xsl:choose>
2420
- <xsl:when test=". = 1 or . = 0">
2421
- <fo:table-column column-width="proportional-column-width(2)"/>
2422
- </xsl:when>
2423
- <xsl:otherwise>
2424
- <fo:table-column column-width="proportional-column-width({.})"/>
2425
- </xsl:otherwise>
2426
- </xsl:choose>
2427
- </xsl:for-each>
2428
- </fo:table>-->
2429
2649
 
2430
2650
 
2431
2651
 
@@ -2486,18 +2706,17 @@
2486
2706
  </xsl:otherwise>
2487
2707
  </xsl:choose>
2488
2708
 
2489
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
2709
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
2490
2710
  <xsl:param name="continued"/>
2491
2711
  <xsl:if test="normalize-space() != ''">
2492
2712
  <fo:block xsl:use-attribute-sets="table-name-style">
2493
-
2713
+
2494
2714
 
2495
2715
 
2496
2716
 
2497
2717
 
2498
2718
  <xsl:choose>
2499
2719
  <xsl:when test="$continued = 'true'">
2500
- <!-- <xsl:if test="$namespace = 'bsi'"></xsl:if> -->
2501
2720
 
2502
2721
  </xsl:when>
2503
2722
  <xsl:otherwise>
@@ -2560,13 +2779,6 @@
2560
2779
  <xsl:for-each select="xalan:nodeset($table)/*/tr">
2561
2780
  <xsl:variable name="td_text">
2562
2781
  <xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
2563
-
2564
- <!-- <xsl:if test="$namespace = 'bipm'">
2565
- <xsl:for-each select="*[local-name()='td'][$curr-col]//*[local-name()='math']">
2566
- <word><xsl:value-of select="normalize-space(.)"/></word>
2567
- </xsl:for-each>
2568
- </xsl:if> -->
2569
-
2570
2782
  </xsl:variable>
2571
2783
  <xsl:variable name="words">
2572
2784
  <xsl:variable name="string_with_added_zerospaces">
@@ -2603,7 +2815,6 @@
2603
2815
  </xsl:otherwise>
2604
2816
  </xsl:choose>
2605
2817
  </xsl:variable>
2606
-
2607
2818
 
2608
2819
  <column>
2609
2820
  <xsl:for-each select="xalan:nodeset($widths)//width">
@@ -2637,9 +2848,8 @@
2637
2848
 
2638
2849
  <xsl:variable name="math_text" select="normalize-space(xalan:nodeset($mathml))"/>
2639
2850
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
2640
- </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
2851
+ </xsl:template><xsl:template match="*[local-name()='thead']">
2641
2852
  <xsl:param name="cols-count"/>
2642
- <!-- font-weight="bold" -->
2643
2853
  <fo:table-header>
2644
2854
 
2645
2855
 
@@ -2651,85 +2861,26 @@
2651
2861
  <fo:table-row>
2652
2862
  <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">
2653
2863
 
2654
- <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation">
2864
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
2655
2865
  <xsl:with-param name="continued">true</xsl:with-param>
2656
2866
  </xsl:apply-templates>
2657
2867
 
2658
2868
 
2659
2869
 
2660
-
2661
2870
  </fo:table-cell>
2662
2871
  </fo:table-row>
2663
2872
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
2664
2873
  <fo:table-body>
2665
2874
  <xsl:apply-templates/>
2666
2875
  </fo:table-body>
2667
- </xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
2876
+ </xsl:template><xsl:template match="*[local-name()='tfoot']">
2668
2877
  <xsl:apply-templates/>
2669
2878
  </xsl:template><xsl:template name="insertTableFooter">
2670
2879
  <xsl:param name="cols-count"/>
2671
2880
  <xsl:if test="../*[local-name()='tfoot']">
2672
2881
  <fo:table-footer>
2673
- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
2674
- </fo:table-footer>
2675
- </xsl:if>
2676
- </xsl:template><xsl:template name="insertTableFooter2">
2677
- <xsl:param name="cols-count"/>
2678
- <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
2679
- <xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
2680
-
2681
- <fo:table-footer>
2682
-
2683
- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
2684
-
2685
- <!-- if there are note(s) or fn(s) then create footer row -->
2686
- <xsl:if test="$isNoteOrFnExist = 'true'">
2687
-
2688
-
2689
-
2690
- <fo:table-row>
2691
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
2692
-
2693
-
2694
-
2695
- <!-- fn will be processed inside 'note' processing -->
2696
-
2697
-
2698
-
2699
-
2700
-
2701
-
2702
- <!-- except gb -->
2703
-
2704
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2705
-
2706
-
2707
- <!-- show Note under table in preface (ex. abstract) sections -->
2708
- <!-- empty, because notes show at page side in main sections -->
2709
- <!-- <xsl:if test="$namespace = 'bipm'">
2710
- <xsl:choose>
2711
- <xsl:when test="ancestor::*[local-name()='preface']">
2712
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2713
- </xsl:when>
2714
- <xsl:otherwise>
2715
- <fo:block/>
2716
- </xsl:otherwise>
2717
- </xsl:choose>
2718
- </xsl:if> -->
2719
-
2720
-
2721
- <!-- horizontal row separator -->
2722
-
2723
-
2724
- <!-- fn processing -->
2725
- <xsl:call-template name="fn_display"/>
2726
-
2727
- </fo:table-cell>
2728
- </fo:table-row>
2729
-
2730
- </xsl:if>
2882
+ <xsl:apply-templates select="../*[local-name()='tfoot']"/>
2731
2883
  </fo:table-footer>
2732
-
2733
2884
  </xsl:if>
2734
2885
  </xsl:template><xsl:template name="insertTableFooterInSeparateTable">
2735
2886
  <xsl:param name="table_attributes"/>
@@ -2756,17 +2907,18 @@
2756
2907
  </xsl:variable>
2757
2908
 
2758
2909
  <fo:table keep-with-previous="always">
2759
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
2910
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
2911
+ <xsl:variable name="name" select="local-name()"/>
2760
2912
  <xsl:choose>
2761
- <xsl:when test="@name = 'border-top'">
2762
- <xsl:attribute name="{@name}">0pt solid black</xsl:attribute>
2913
+ <xsl:when test="$name = 'border-top'">
2914
+ <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
2763
2915
  </xsl:when>
2764
- <xsl:when test="@name = 'border'">
2765
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
2916
+ <xsl:when test="$name = 'border'">
2917
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
2766
2918
  <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
2767
2919
  </xsl:when>
2768
2920
  <xsl:otherwise>
2769
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
2921
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
2770
2922
  </xsl:otherwise>
2771
2923
  </xsl:choose>
2772
2924
  </xsl:for-each>
@@ -2795,9 +2947,10 @@
2795
2947
 
2796
2948
  <fo:table-body>
2797
2949
  <fo:table-row>
2798
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
2950
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
2799
2951
 
2800
2952
 
2953
+
2801
2954
 
2802
2955
 
2803
2956
  <!-- fn will be processed inside 'note' processing -->
@@ -2807,39 +2960,20 @@
2807
2960
 
2808
2961
 
2809
2962
 
2810
- <xsl:attribute name="border">solid black 0pt</xsl:attribute>
2811
-
2812
-
2813
-
2814
-
2815
2963
  <!-- for BSI (not PAS) display Notes before footnotes -->
2816
2964
 
2817
2965
 
2818
- <!-- except gb -->
2819
-
2820
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2821
-
2966
+ <!-- except gb and bsi -->
2822
2967
 
2823
- <!-- <xsl:if test="$namespace = 'bipm'">
2824
- <xsl:choose>
2825
- <xsl:when test="ancestor::*[local-name()='preface']">
2826
- show Note under table in preface (ex. abstract) sections
2827
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2828
- </xsl:when>
2829
- <xsl:otherwise>
2830
- empty, because notes show at page side in main sections
2831
- <fo:block/>
2832
- </xsl:otherwise>
2833
- </xsl:choose>
2834
- </xsl:if> -->
2968
+ <xsl:apply-templates select="../*[local-name()='note']"/>
2969
+
2835
2970
 
2836
2971
 
2837
2972
  <!-- horizontal row separator -->
2838
2973
 
2839
2974
 
2840
2975
  <!-- fn processing -->
2841
- <xsl:call-template name="fn_display"/>
2842
-
2976
+ <xsl:call-template name="table_fn_display"/>
2843
2977
 
2844
2978
  <!-- for PAS display Notes after footnotes -->
2845
2979
 
@@ -2869,7 +3003,7 @@
2869
3003
 
2870
3004
 
2871
3005
 
2872
- <xsl:apply-templates select="../*[local-name()='thead']" mode="process">
3006
+ <xsl:apply-templates select="../*[local-name()='thead']">
2873
3007
  <xsl:with-param name="cols-count" select="$cols-count"/>
2874
3008
  </xsl:apply-templates>
2875
3009
 
@@ -2881,119 +3015,89 @@
2881
3015
 
2882
3016
 
2883
3017
  <xsl:apply-templates/>
2884
- <!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
2885
-
3018
+
2886
3019
  </fo:table-body>
2887
3020
 
2888
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/text()[1]" priority="2" mode="presentation_name">
2889
- <xsl:choose>
2890
- <xsl:when test="substring-after(., '—') != ''">
2891
- <xsl:text>—</xsl:text><xsl:value-of select="substring-after(., '—')"/>
2892
- </xsl:when>
2893
- <xsl:otherwise>
2894
- <xsl:value-of select="."/>
2895
- </xsl:otherwise>
2896
- </xsl:choose>
2897
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="presentation_name">
2898
- <xsl:apply-templates mode="presentation_name"/>
2899
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/node()" mode="presentation_name">
2900
- <xsl:apply-templates select="."/>
2901
- </xsl:template><xsl:template match="*[local-name()='tr']">
2902
- <xsl:variable name="parent-name" select="local-name(..)"/>
2903
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
2904
- <fo:table-row min-height="4mm">
2905
- <xsl:if test="$parent-name = 'thead'">
2906
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2907
-
2908
-
2909
-
2910
-
2911
-
2912
-
2913
- <xsl:attribute name="font-weight">normal</xsl:attribute>
2914
- <xsl:attribute name="color">black</xsl:attribute>
2915
-
2916
-
2917
-
2918
- </xsl:if>
2919
- <xsl:if test="$parent-name = 'tfoot'">
2920
-
2921
-
2922
-
2923
- </xsl:if>
2924
-
2925
-
2926
-
2927
-
2928
-
2929
- <xsl:attribute name="min-height">8.5mm</xsl:attribute>
2930
- <xsl:if test="$parent-name = 'thead'">
2931
- <xsl:attribute name="background-color">rgb(32, 98, 169)</xsl:attribute>
2932
- <xsl:attribute name="color">white</xsl:attribute>
2933
- </xsl:if>
2934
- <xsl:if test="$parent-name = 'tbody'">
2935
- <xsl:variable name="number"><xsl:number/></xsl:variable>
2936
- <xsl:if test="$number mod 2 = 0">
2937
- <xsl:attribute name="background-color">rgb(254, 247, 228)</xsl:attribute>
2938
- </xsl:if>
2939
- </xsl:if>
2940
-
2941
-
2942
-
2943
-
2944
-
2945
-
2946
- <!-- <xsl:if test="$namespace = 'bipm'">
2947
- <xsl:attribute name="height">8mm</xsl:attribute>
2948
- </xsl:if> -->
2949
-
3021
+ </xsl:template><xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
3022
+ <fo:table-row xsl:use-attribute-sets="table-header-row-style">
3023
+
3024
+
3025
+
3026
+
3027
+
3028
+
3029
+
3030
+ <xsl:call-template name="setTableRowAttributes"/>
3031
+
2950
3032
  <xsl:apply-templates/>
2951
3033
  </fo:table-row>
2952
- </xsl:template><xsl:template match="*[local-name()='th']">
2953
- <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
2954
- <xsl:attribute name="text-align">
2955
- <xsl:choose>
2956
- <xsl:when test="@align">
2957
- <xsl:call-template name="setAlignment"/>
2958
- <!-- <xsl:value-of select="@align"/> -->
2959
- </xsl:when>
2960
- <xsl:otherwise>center</xsl:otherwise>
2961
- </xsl:choose>
2962
- </xsl:attribute>
2963
-
3034
+ </xsl:template><xsl:template match="*[local-name()='tfoot']/*[local-name()='tr']" priority="2">
3035
+ <fo:table-row xsl:use-attribute-sets="table-footer-row-style">
2964
3036
 
3037
+ <xsl:call-template name="setTableRowAttributes"/>
3038
+ <xsl:apply-templates/>
3039
+ </fo:table-row>
3040
+ </xsl:template><xsl:template match="*[local-name()='tr']">
3041
+ <fo:table-row xsl:use-attribute-sets="table-body-row-style">
3042
+
2965
3043
 
3044
+
2966
3045
 
3046
+ <xsl:variable name="number"><xsl:number/></xsl:variable>
3047
+ <xsl:if test="$number mod 2 = 0">
3048
+ <xsl:attribute name="background-color">rgb(254, 247, 228)</xsl:attribute>
3049
+ </xsl:if>
2967
3050
 
3051
+
3052
+ <xsl:call-template name="setTableRowAttributes"/>
3053
+ <xsl:apply-templates/>
3054
+ </fo:table-row>
3055
+ </xsl:template><xsl:template name="setTableRowAttributes">
3056
+
3057
+
3058
+
3059
+
3060
+
3061
+
3062
+
3063
+
3064
+ </xsl:template><xsl:template match="*[local-name()='th']">
3065
+ <fo:table-cell xsl:use-attribute-sets="table-header-cell-style"> <!-- text-align="{@align}" -->
3066
+ <xsl:call-template name="setTextAlignment">
3067
+ <xsl:with-param name="default">center</xsl:with-param>
3068
+ </xsl:call-template>
2968
3069
 
2969
3070
 
2970
3071
 
2971
3072
 
3073
+
2972
3074
 
2973
3075
 
2974
3076
 
2975
3077
 
2976
- <xsl:attribute name="font-weight">normal</xsl:attribute>
2977
- <xsl:attribute name="border">0pt solid black</xsl:attribute>
2978
3078
 
2979
3079
  <xsl:if test="$lang = 'ar'">
2980
3080
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2981
3081
  </xsl:if>
2982
- <xsl:if test="@colspan">
2983
- <xsl:attribute name="number-columns-spanned">
2984
- <xsl:value-of select="@colspan"/>
2985
- </xsl:attribute>
2986
- </xsl:if>
2987
- <xsl:if test="@rowspan">
2988
- <xsl:attribute name="number-rows-spanned">
2989
- <xsl:value-of select="@rowspan"/>
2990
- </xsl:attribute>
2991
- </xsl:if>
2992
- <xsl:call-template name="display-align"/>
3082
+
3083
+ <xsl:call-template name="setTableCellAttributes"/>
3084
+
2993
3085
  <fo:block>
2994
3086
  <xsl:apply-templates/>
2995
3087
  </fo:block>
2996
3088
  </fo:table-cell>
3089
+ </xsl:template><xsl:template name="setTableCellAttributes">
3090
+ <xsl:if test="@colspan">
3091
+ <xsl:attribute name="number-columns-spanned">
3092
+ <xsl:value-of select="@colspan"/>
3093
+ </xsl:attribute>
3094
+ </xsl:if>
3095
+ <xsl:if test="@rowspan">
3096
+ <xsl:attribute name="number-rows-spanned">
3097
+ <xsl:value-of select="@rowspan"/>
3098
+ </xsl:attribute>
3099
+ </xsl:if>
3100
+ <xsl:call-template name="display-align"/>
2997
3101
  </xsl:template><xsl:template name="display-align">
2998
3102
  <xsl:if test="@valign">
2999
3103
  <xsl:attribute name="display-align">
@@ -3006,22 +3110,18 @@
3006
3110
  </xsl:attribute>
3007
3111
  </xsl:if>
3008
3112
  </xsl:template><xsl:template match="*[local-name()='td']">
3009
- <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
3010
- <xsl:attribute name="text-align">
3011
- <xsl:choose>
3012
- <xsl:when test="@align">
3013
- <xsl:call-template name="setAlignment"/>
3014
- <!-- <xsl:value-of select="@align"/> -->
3015
- </xsl:when>
3016
- <xsl:otherwise>left</xsl:otherwise>
3017
- </xsl:choose>
3018
- </xsl:attribute>
3113
+ <fo:table-cell xsl:use-attribute-sets="table-cell-style"> <!-- text-align="{@align}" -->
3114
+ <xsl:call-template name="setTextAlignment">
3115
+ <xsl:with-param name="default">left</xsl:with-param>
3116
+ </xsl:call-template>
3117
+
3019
3118
  <xsl:if test="$lang = 'ar'">
3020
3119
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3021
3120
  </xsl:if>
3022
3121
 
3023
3122
 
3024
3123
 
3124
+ <!-- bsi -->
3025
3125
 
3026
3126
 
3027
3127
 
@@ -3030,65 +3130,53 @@
3030
3130
 
3031
3131
 
3032
3132
 
3133
+
3033
3134
 
3034
3135
 
3035
3136
 
3036
- <xsl:attribute name="border">0pt solid black</xsl:attribute>
3037
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3038
3137
 
3039
3138
 
3040
3139
 
3041
- <xsl:if test=".//*[local-name() = 'table']">
3140
+ <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
3042
3141
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3043
3142
  </xsl:if>
3044
- <xsl:if test="@colspan">
3045
- <xsl:attribute name="number-columns-spanned">
3046
- <xsl:value-of select="@colspan"/>
3047
- </xsl:attribute>
3048
- </xsl:if>
3049
- <xsl:if test="@rowspan">
3050
- <xsl:attribute name="number-rows-spanned">
3051
- <xsl:value-of select="@rowspan"/>
3052
- </xsl:attribute>
3053
- </xsl:if>
3054
- <xsl:call-template name="display-align"/>
3143
+
3144
+ <xsl:call-template name="setTableCellAttributes"/>
3145
+
3055
3146
  <fo:block>
3056
-
3147
+
3148
+
3149
+
3057
3150
  <xsl:apply-templates/>
3058
3151
  </fo:block>
3059
3152
  </fo:table-cell>
3060
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
3061
-
3153
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2">
3154
+
3155
+ <fo:block xsl:use-attribute-sets="table-note-style">
3156
+
3157
+
3158
+
3159
+
3062
3160
 
3063
- <fo:block font-size="10pt" margin-bottom="12pt">
3064
-
3161
+ <!-- Table's note name (NOTE, for example) -->
3162
+ <fo:inline xsl:use-attribute-sets="table-note-name-style">
3065
3163
 
3066
3164
 
3067
3165
 
3068
3166
 
3069
3167
 
3070
3168
 
3071
- <xsl:attribute name="font-size">8pt</xsl:attribute>
3072
3169
 
3073
-
3074
- <!-- Table's note name (NOTE, for example) -->
3075
-
3076
- <fo:inline padding-right="2mm" xsl:use-attribute-sets="table-note-name-style">
3077
-
3078
-
3170
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3079
3171
 
3080
-
3081
-
3082
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3083
-
3084
- </fo:inline>
3085
-
3086
-
3087
-
3088
- <xsl:apply-templates mode="process"/>
3089
- </fo:block>
3172
+ </fo:inline>
3173
+
3174
+
3175
+
3176
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3177
+ </fo:block>
3090
3178
 
3091
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='name']" mode="process"/><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
3179
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" priority="2">
3092
3180
  <xsl:apply-templates/>
3093
3181
  </xsl:template><xsl:template match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])]" priority="2" name="fn">
3094
3182
 
@@ -3166,8 +3254,7 @@
3166
3254
  <xsl:copy-of select="$footnote_inline"/>
3167
3255
  <fo:footnote-body>
3168
3256
 
3169
- <fo:block-container text-indent="0" start-indent="0">
3170
-
3257
+ <fo:block-container xsl:use-attribute-sets="fn-container-body-style">
3171
3258
 
3172
3259
  <fo:block xsl:use-attribute-sets="fn-body-style">
3173
3260
 
@@ -3186,7 +3273,7 @@
3186
3273
  <xsl:copy-of select="$footnote_inline"/>
3187
3274
  </xsl:otherwise>
3188
3275
  </xsl:choose>
3189
- </xsl:template><xsl:template name="fn_display">
3276
+ </xsl:template><xsl:template name="table_fn_display">
3190
3277
  <xsl:variable name="references">
3191
3278
 
3192
3279
  <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
@@ -3197,31 +3284,26 @@
3197
3284
  <xsl:for-each select="xalan:nodeset($references)//fn">
3198
3285
  <xsl:variable name="reference" select="@reference"/>
3199
3286
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
3200
- <fo:block margin-bottom="12pt">
3287
+ <fo:block xsl:use-attribute-sets="table-fn-style">
3201
3288
 
3202
3289
 
3203
3290
 
3204
-
3205
-
3206
-
3207
-
3208
- <fo:inline font-size="80%" padding-right="5mm" id="{@id}">
3291
+ <fo:inline id="{@id}" xsl:use-attribute-sets="table-fn-number-style">
3209
3292
 
3210
3293
 
3211
3294
 
3212
3295
 
3213
3296
 
3297
+ <xsl:value-of select="@reference"/>
3214
3298
 
3215
3299
 
3216
3300
 
3217
- <xsl:value-of select="@reference"/>
3218
3301
 
3219
3302
 
3220
3303
 
3221
- </fo:inline>
3222
- <fo:inline>
3223
3304
 
3224
- <!-- <xsl:apply-templates /> -->
3305
+ </fo:inline>
3306
+ <fo:inline xsl:use-attribute-sets="table-fn-body-style">
3225
3307
  <xsl:copy-of select="./node()"/>
3226
3308
  </fo:inline>
3227
3309
  </fo:block>
@@ -3233,15 +3315,7 @@
3233
3315
 
3234
3316
  <xsl:apply-templates/>
3235
3317
  </fn>
3236
- </xsl:template><xsl:template name="fn_name_display">
3237
- <!-- <xsl:variable name="references">
3238
- <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3239
- <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3240
- <xsl:apply-templates />
3241
- </fn>
3242
- </xsl:for-each>
3243
- </xsl:variable>
3244
- $references=<xsl:copy-of select="$references"/> -->
3318
+ </xsl:template><xsl:template name="table_name_fn_display">
3245
3319
  <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3246
3320
  <xsl:variable name="reference" select="@reference"/>
3247
3321
  <fo:block id="{@reference}_{ancestor::*[@id][1]/@id}"><xsl:value-of select="@reference"/></fo:block>
@@ -3250,9 +3324,7 @@
3250
3324
  </fo:block>
3251
3325
  </xsl:for-each>
3252
3326
  </xsl:template><xsl:template name="fn_display_figure">
3253
- <xsl:variable name="key_iso">
3254
- <!-- and (not(@class) or @class !='pseudocode') -->
3255
- </xsl:variable>
3327
+
3256
3328
  <xsl:variable name="references">
3257
3329
  <xsl:for-each select=".//*[local-name()='fn'][not(parent::*[local-name()='name'])]">
3258
3330
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
@@ -3260,50 +3332,52 @@
3260
3332
  </fn>
3261
3333
  </xsl:for-each>
3262
3334
  </xsl:variable>
3335
+
3336
+ <xsl:if test="xalan:nodeset($references)//fn">
3263
3337
 
3264
- <!-- current hierarchy is 'figure' element -->
3265
- <xsl:variable name="following_dl_colwidths">
3266
- <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
3267
- <xsl:variable name="html-table">
3268
- <xsl:variable name="doc_ns">
3338
+ <xsl:variable name="key_iso">
3339
+
3340
+ </xsl:variable>
3341
+
3342
+ <!-- current hierarchy is 'figure' element -->
3343
+ <xsl:variable name="following_dl_colwidths">
3344
+ <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
3345
+ <xsl:variable name="html-table">
3346
+ <xsl:variable name="doc_ns">
3347
+
3348
+ </xsl:variable>
3349
+ <xsl:variable name="ns">
3350
+ <xsl:choose>
3351
+ <xsl:when test="normalize-space($doc_ns) != ''">
3352
+ <xsl:value-of select="normalize-space($doc_ns)"/>
3353
+ </xsl:when>
3354
+ <xsl:otherwise>
3355
+ <xsl:value-of select="substring-before(name(/*), '-')"/>
3356
+ </xsl:otherwise>
3357
+ </xsl:choose>
3358
+ </xsl:variable>
3269
3359
 
3270
- </xsl:variable>
3271
- <xsl:variable name="ns">
3272
- <xsl:choose>
3273
- <xsl:when test="normalize-space($doc_ns) != ''">
3274
- <xsl:value-of select="normalize-space($doc_ns)"/>
3275
- </xsl:when>
3276
- <xsl:otherwise>
3277
- <xsl:value-of select="substring-before(name(/*), '-')"/>
3278
- </xsl:otherwise>
3279
- </xsl:choose>
3280
- </xsl:variable>
3281
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
3282
- <!-- <xsl:element name="{$ns}:table"> -->
3283
3360
  <xsl:for-each select="*[local-name() = 'dl'][1]">
3284
3361
  <tbody>
3285
3362
  <xsl:apply-templates mode="dl"/>
3286
3363
  </tbody>
3287
3364
  </xsl:for-each>
3288
- <!-- </xsl:element> -->
3289
- </xsl:variable>
3290
-
3291
- <xsl:call-template name="calculate-column-widths">
3292
- <xsl:with-param name="cols-count" select="2"/>
3293
- <xsl:with-param name="table" select="$html-table"/>
3294
- </xsl:call-template>
3295
-
3296
- </xsl:if>
3297
- </xsl:variable>
3298
-
3299
-
3300
- <xsl:variable name="maxlength_dt">
3301
- <xsl:for-each select="*[local-name() = 'dl'][1]">
3302
- <xsl:call-template name="getMaxLength_dt"/>
3303
- </xsl:for-each>
3304
- </xsl:variable>
3305
-
3306
- <xsl:if test="xalan:nodeset($references)//fn">
3365
+ </xsl:variable>
3366
+
3367
+ <xsl:call-template name="calculate-column-widths">
3368
+ <xsl:with-param name="cols-count" select="2"/>
3369
+ <xsl:with-param name="table" select="$html-table"/>
3370
+ </xsl:call-template>
3371
+
3372
+ </xsl:if>
3373
+ </xsl:variable>
3374
+
3375
+ <xsl:variable name="maxlength_dt">
3376
+ <xsl:for-each select="*[local-name() = 'dl'][1]">
3377
+ <xsl:call-template name="getMaxLength_dt"/>
3378
+ </xsl:for-each>
3379
+ </xsl:variable>
3380
+
3307
3381
  <fo:block>
3308
3382
  <fo:table width="95%" table-layout="fixed">
3309
3383
  <xsl:if test="normalize-space($key_iso) = 'true'">
@@ -3330,20 +3404,18 @@
3330
3404
  <fo:table-row>
3331
3405
  <fo:table-cell>
3332
3406
  <fo:block>
3333
- <fo:inline font-size="80%" padding-right="5mm" vertical-align="super" id="{@id}">
3334
-
3407
+ <fo:inline id="{@id}" xsl:use-attribute-sets="figure-fn-number-style">
3335
3408
  <xsl:value-of select="@reference"/>
3336
3409
  </fo:inline>
3337
3410
  </fo:block>
3338
3411
  </fo:table-cell>
3339
3412
  <fo:table-cell>
3340
- <fo:block text-align="justify" margin-bottom="12pt">
3341
-
3413
+ <fo:block xsl:use-attribute-sets="figure-fn-body-style">
3342
3414
  <xsl:if test="normalize-space($key_iso) = 'true'">
3343
- <xsl:attribute name="margin-bottom">0</xsl:attribute>
3415
+
3416
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
3417
+
3344
3418
  </xsl:if>
3345
-
3346
- <!-- <xsl:apply-templates /> -->
3347
3419
  <xsl:copy-of select="./node()"/>
3348
3420
  </fo:block>
3349
3421
  </fo:table-cell>
@@ -3356,21 +3428,11 @@
3356
3428
  </xsl:if>
3357
3429
 
3358
3430
  </xsl:template><xsl:template match="*[local-name()='fn']">
3359
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3360
- <fo:inline font-size="80%" keep-with-previous.within-line="always">
3361
-
3362
-
3363
-
3364
-
3365
-
3366
-
3367
-
3431
+ <fo:inline xsl:use-attribute-sets="fn-reference-style">
3432
+
3368
3433
 
3369
3434
 
3370
3435
 
3371
- <xsl:attribute name="font-size">70%</xsl:attribute>
3372
- <xsl:attribute name="vertical-align">super</xsl:attribute>
3373
- <xsl:attribute name="font-style">italic</xsl:attribute>
3374
3436
 
3375
3437
  <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
3376
3438
 
@@ -3391,10 +3453,10 @@
3391
3453
  <xsl:variable name="isDeleted" select="@deleted"/>
3392
3454
  <fo:block-container>
3393
3455
 
3394
- <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
3395
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
3396
- </xsl:if>
3397
-
3456
+ <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
3457
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
3458
+ </xsl:if>
3459
+
3398
3460
 
3399
3461
  <xsl:if test="parent::*[local-name() = 'note']">
3400
3462
  <xsl:attribute name="margin-left">
@@ -3411,11 +3473,11 @@
3411
3473
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
3412
3474
  </xsl:call-template>
3413
3475
 
3414
- <fo:block-container>
3415
-
3416
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
3417
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
3476
+ <fo:block-container margin-left="0mm">
3477
+
3418
3478
 
3479
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
3480
+
3419
3481
 
3420
3482
  <xsl:variable name="parent" select="local-name(..)"/>
3421
3483
 
@@ -3426,23 +3488,19 @@
3426
3488
  <xsl:choose>
3427
3489
  <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
3428
3490
 
3429
-
3430
- <fo:block margin-bottom="12pt" text-align="left">
3431
-
3432
- <xsl:variable name="title-where">
3491
+ <fo:block margin-bottom="12pt" text-align="left">
3433
3492
 
3434
-
3435
- <xsl:call-template name="getTitle">
3436
- <xsl:with-param name="name" select="'title-where'"/>
3493
+ <xsl:variable name="title-where">
3494
+ <xsl:call-template name="getLocalizedString">
3495
+ <xsl:with-param name="key">where</xsl:with-param>
3437
3496
  </xsl:call-template>
3438
-
3439
- </xsl:variable>
3440
- <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
3441
- <xsl:apply-templates select="*[local-name()='dt']/*"/>
3442
- <xsl:text/>
3443
- <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
3444
- </fo:block>
3445
-
3497
+ </xsl:variable>
3498
+ <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
3499
+ <xsl:apply-templates select="*[local-name()='dt']/*"/>
3500
+ <xsl:text/>
3501
+ <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
3502
+ </fo:block>
3503
+
3446
3504
  </xsl:when>
3447
3505
  <xsl:when test="$parent = 'formula'"> <!-- a few components -->
3448
3506
  <fo:block margin-bottom="12pt" text-align="left">
@@ -3451,12 +3509,9 @@
3451
3509
 
3452
3510
 
3453
3511
  <xsl:variable name="title-where">
3454
-
3455
-
3456
- <xsl:call-template name="getTitle">
3457
- <xsl:with-param name="name" select="'title-where'"/>
3458
- </xsl:call-template>
3459
-
3512
+ <xsl:call-template name="getLocalizedString">
3513
+ <xsl:with-param name="key">where</xsl:with-param>
3514
+ </xsl:call-template>
3460
3515
  </xsl:variable>
3461
3516
  <xsl:value-of select="$title-where"/>
3462
3517
  </fo:block>
@@ -3471,12 +3526,9 @@
3471
3526
  <xsl:attribute name="color">black</xsl:attribute>
3472
3527
 
3473
3528
  <xsl:variable name="title-key">
3474
-
3475
-
3476
- <xsl:call-template name="getTitle">
3477
- <xsl:with-param name="name" select="'title-key'"/>
3478
- </xsl:call-template>
3479
-
3529
+ <xsl:call-template name="getLocalizedString">
3530
+ <xsl:with-param name="key">key</xsl:with-param>
3531
+ </xsl:call-template>
3480
3532
  </xsl:variable>
3481
3533
  <xsl:value-of select="$title-key"/>
3482
3534
  </fo:block>
@@ -3498,9 +3550,7 @@
3498
3550
  <fo:table width="95%" table-layout="fixed">
3499
3551
 
3500
3552
  <xsl:choose>
3501
- <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
3502
- <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
3503
- </xsl:when>
3553
+ <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'"/>
3504
3554
  <xsl:when test="normalize-space($key_iso) = 'true'">
3505
3555
  <xsl:attribute name="font-size">10pt</xsl:attribute>
3506
3556
 
@@ -3521,12 +3571,9 @@
3521
3571
  </xsl:otherwise>
3522
3572
  </xsl:choose>
3523
3573
  </xsl:variable>
3524
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
3525
- <!-- <xsl:element name="{$ns}:table"> -->
3526
- <tbody>
3527
- <xsl:apply-templates mode="dl"/>
3528
- </tbody>
3529
- <!-- </xsl:element> -->
3574
+ <tbody>
3575
+ <xsl:apply-templates mode="dl"/>
3576
+ </tbody>
3530
3577
  </xsl:variable>
3531
3578
  <!-- html-table<xsl:copy-of select="$html-table"/> -->
3532
3579
  <xsl:variable name="colwidths">
@@ -3606,8 +3653,6 @@
3606
3653
  </xsl:for-each>
3607
3654
  </xsl:otherwise>
3608
3655
  </xsl:choose>
3609
- <!-- <fo:table-column column-width="15%"/>
3610
- <fo:table-column column-width="85%"/> -->
3611
3656
  </xsl:otherwise>
3612
3657
  </xsl:choose>
3613
3658
  </xsl:template><xsl:template name="getMaxLength_dt">
@@ -3622,12 +3667,6 @@
3622
3667
  </xsl:for-each>
3623
3668
  </xsl:variable>
3624
3669
  <xsl:variable name="maxLength">
3625
- <!-- <xsl:for-each select="*[local-name()='dt']">
3626
- <xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
3627
- <xsl:if test="position() = 1">
3628
- <xsl:value-of select="string-length(normalize-space(.))"/>
3629
- </xsl:if>
3630
- </xsl:for-each> -->
3631
3670
  <xsl:for-each select="xalan:nodeset($lengths)/length">
3632
3671
  <xsl:sort select="." data-type="number" order="descending"/>
3633
3672
  <xsl:if test="position() = 1">
@@ -3653,12 +3692,12 @@
3653
3692
  <xsl:if test="normalize-space($key_iso) = 'true'">
3654
3693
  <xsl:attribute name="margin-top">0</xsl:attribute>
3655
3694
  </xsl:if>
3656
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3695
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3657
3696
  </fo:block>
3658
3697
  </fo:table-cell>
3659
3698
  <fo:table-cell>
3660
3699
  <fo:block>
3661
- <xsl:apply-templates/>
3700
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3662
3701
  </fo:block>
3663
3702
  </fo:table-cell>
3664
3703
  </fo:table-row>
@@ -3669,86 +3708,49 @@
3669
3708
  </td>
3670
3709
  <td>
3671
3710
 
3672
-
3673
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3674
-
3711
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]">
3712
+ <xsl:with-param name="process">true</xsl:with-param>
3713
+ </xsl:apply-templates>
3714
+
3675
3715
  </td>
3676
3716
  </tr>
3677
3717
 
3678
3718
  </xsl:template><xsl:template match="*[local-name()='dt']">
3679
3719
  <xsl:param name="key_iso"/>
3680
3720
 
3681
- <fo:table-row>
3682
-
3683
-
3684
- <xsl:attribute name="min-height">7mm</xsl:attribute>
3685
-
3721
+ <fo:table-row xsl:use-attribute-sets="dt-row-style">
3686
3722
  <fo:table-cell>
3687
3723
 
3688
- <fo:block margin-top="6pt">
3724
+ <fo:block xsl:use-attribute-sets="dt-style">
3689
3725
  <xsl:copy-of select="@id"/>
3690
3726
 
3691
-
3692
3727
  <xsl:if test="normalize-space($key_iso) = 'true'">
3693
3728
  <xsl:attribute name="margin-top">0</xsl:attribute>
3694
-
3695
3729
  </xsl:if>
3696
3730
 
3697
3731
 
3698
3732
 
3699
-
3700
-
3701
-
3702
-
3703
- <xsl:attribute name="margin-top">0pt</xsl:attribute>
3704
- <xsl:attribute name="font-weight">bold</xsl:attribute>
3705
- <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
3706
-
3707
3733
  <xsl:apply-templates/>
3708
- <!-- <xsl:if test="$namespace = 'gb'">
3709
- <xsl:if test="ancestor::*[local-name()='formula']">
3710
- <xsl:text>—</xsl:text>
3711
- </xsl:if>
3712
- </xsl:if> -->
3713
3734
  </fo:block>
3714
3735
  </fo:table-cell>
3715
3736
  <fo:table-cell>
3716
3737
  <fo:block>
3717
3738
 
3718
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
3719
- <xsl:if test="local-name(*[1]) != 'stem'">
3720
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3721
- </xsl:if>
3722
- </xsl:if> -->
3723
-
3724
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3725
-
3739
+
3740
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]">
3741
+ <xsl:with-param name="process">true</xsl:with-param>
3742
+ </xsl:apply-templates>
3726
3743
  </fo:block>
3727
3744
  </fo:table-cell>
3728
3745
  </fo:table-row>
3729
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
3730
- <xsl:if test="local-name(*[1]) = 'stem'">
3731
- <fo:table-row>
3732
- <fo:table-cell>
3733
- <fo:block margin-top="6pt">
3734
- <xsl:if test="normalize-space($key_iso) = 'true'">
3735
- <xsl:attribute name="margin-top">0</xsl:attribute>
3736
- </xsl:if>
3737
- <xsl:text>&#xA0;</xsl:text>
3738
- </fo:block>
3739
- </fo:table-cell>
3740
- <fo:table-cell>
3741
- <fo:block>
3742
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3743
- </fo:block>
3744
- </fo:table-cell>
3745
- </fo:table-row>
3746
- </xsl:if>
3747
- </xsl:if> -->
3748
3746
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
3749
3747
  <xsl:apply-templates/>
3750
- </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
3751
- <xsl:apply-templates/>
3748
+ </xsl:template><xsl:template match="*[local-name()='dd']">
3749
+ <xsl:param name="process">false</xsl:param>
3750
+ <xsl:if test="$process = 'true'">
3751
+ <xsl:apply-templates select="@language"/>
3752
+ <xsl:apply-templates/>
3753
+ </xsl:if>
3752
3754
  </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
3753
3755
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
3754
3756
  </xsl:template><xsl:template match="*[local-name()='em']">
@@ -3777,6 +3779,7 @@
3777
3779
  </fo:inline>
3778
3780
  </xsl:template><xsl:template match="*[local-name()='tt']">
3779
3781
  <fo:inline xsl:use-attribute-sets="tt-style">
3782
+
3780
3783
  <xsl:variable name="_font-size">
3781
3784
 
3782
3785
 
@@ -3795,7 +3798,7 @@
3795
3798
 
3796
3799
  <xsl:choose>
3797
3800
  <xsl:when test="ancestor::*[local-name() = 'table']">inherit</xsl:when>
3798
- <xsl:otherwise>110%</xsl:otherwise>
3801
+ <xsl:otherwise>95%</xsl:otherwise> <!-- 110% -->
3799
3802
  </xsl:choose>
3800
3803
 
3801
3804
 
@@ -3818,7 +3821,22 @@
3818
3821
  <xsl:apply-templates/>
3819
3822
  </fo:inline>
3820
3823
  </xsl:template><xsl:template match="*[local-name()='add']">
3824
+ <xsl:param name="skip">true</xsl:param>
3821
3825
  <xsl:choose>
3826
+ <xsl:when test="starts-with(., $ace_tag)"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start -->
3827
+ <xsl:choose>
3828
+ <xsl:when test="$skip = 'true' and ((local-name(../..) = 'note' and not(preceding-sibling::node())) or (local-name(..) = 'title' and preceding-sibling::node()[1][local-name() = 'tab'])) and ../node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]"><!-- start tag displayed in template name="note" and title --></xsl:when>
3829
+ <xsl:otherwise>
3830
+ <fo:inline>
3831
+ <xsl:call-template name="insertTag">
3832
+ <xsl:with-param name="type" select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end -->
3833
+ <xsl:with-param name="kind" select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
3834
+ <xsl:with-param name="value" select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
3835
+ </xsl:call-template>
3836
+ </fo:inline>
3837
+ </xsl:otherwise>
3838
+ </xsl:choose>
3839
+ </xsl:when>
3822
3840
  <xsl:when test="@amendment">
3823
3841
  <fo:inline>
3824
3842
  <xsl:call-template name="insertTag">
@@ -3853,7 +3871,6 @@
3853
3871
  </fo:inline>
3854
3872
  </xsl:otherwise>
3855
3873
  </xsl:choose>
3856
-
3857
3874
  </xsl:template><xsl:template name="insertTag">
3858
3875
  <xsl:param name="type"/>
3859
3876
  <xsl:param name="kind"/>
@@ -3861,22 +3878,20 @@
3861
3878
  <xsl:variable name="add_width" select="string-length($value) * 20"/>
3862
3879
  <xsl:variable name="maxwidth" select="60 + $add_width"/>
3863
3880
  <fo:instream-foreign-object fox:alt-text="OpeningTag" baseline-shift="-20%"><!-- alignment-baseline="middle" -->
3864
- <!-- <xsl:attribute name="width">7mm</xsl:attribute>
3865
- <xsl:attribute name="content-height">100%</xsl:attribute> -->
3866
3881
  <xsl:attribute name="height">5mm</xsl:attribute>
3867
3882
  <xsl:attribute name="content-width">100%</xsl:attribute>
3868
3883
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
3869
3884
  <xsl:attribute name="scaling">uniform</xsl:attribute>
3870
3885
  <svg xmlns="http://www.w3.org/2000/svg" width="{$maxwidth + 32}" height="80">
3871
3886
  <g>
3872
- <xsl:if test="$type = 'closing'">
3887
+ <xsl:if test="$type = 'closing' or $type = 'end'">
3873
3888
  <xsl:attribute name="transform">scale(-1 1) translate(-<xsl:value-of select="$maxwidth + 32"/>,0)</xsl:attribute>
3874
3889
  </xsl:if>
3875
3890
  <polyline points="0,0 {$maxwidth},0 {$maxwidth + 30},40 {$maxwidth},80 0,80 " stroke="black" stroke-width="5" fill="white"/>
3876
3891
  <line x1="0" y1="0" x2="0" y2="80" stroke="black" stroke-width="20"/>
3877
3892
  </g>
3878
3893
  <text font-family="Arial" x="15" y="57" font-size="40pt">
3879
- <xsl:if test="$type = 'closing'">
3894
+ <xsl:if test="$type = 'closing' or $type = 'end'">
3880
3895
  <xsl:attribute name="x">25</xsl:attribute>
3881
3896
  </xsl:if>
3882
3897
  <xsl:value-of select="$kind"/><tspan dy="10" font-size="30pt"><xsl:value-of select="$value"/></tspan>
@@ -3920,7 +3935,11 @@
3920
3935
  <xsl:with-param name="text" select="substring($text,2)"/>
3921
3936
  </xsl:call-template>
3922
3937
  </xsl:if>
3923
- </xsl:template><xsl:template name="tokenize">
3938
+ </xsl:template><xsl:template match="*[local-name() = 'pagebreak']">
3939
+ <fo:block break-after="page"/>
3940
+ <fo:block> </fo:block>
3941
+ <fo:block break-after="page"/>
3942
+ </xsl:template><xsl:template name="tokenize">
3924
3943
  <xsl:param name="text"/>
3925
3944
  <xsl:param name="separator" select="' '"/>
3926
3945
  <xsl:choose>
@@ -4080,14 +4099,6 @@
4080
4099
 
4081
4100
  <xsl:copy-of select="xalan:nodeset($simple-table-rowspan)"/>
4082
4101
 
4083
- <!-- <xsl:choose>
4084
- <xsl:when test="current()//*[local-name()='th'][@colspan] or current()//*[local-name()='td'][@colspan] ">
4085
-
4086
- </xsl:when>
4087
- <xsl:otherwise>
4088
- <xsl:copy-of select="current()"/>
4089
- </xsl:otherwise>
4090
- </xsl:choose> -->
4091
4102
  </xsl:variable>
4092
4103
  <xsl:copy-of select="$simple-table"/>
4093
4104
  </xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
@@ -4206,8 +4217,6 @@
4206
4217
  <xsl:choose>
4207
4218
  <xsl:when test="contains($str2, ' ')">
4208
4219
  <xsl:variable name="substr" select="substring-before($str2, ' ')"/>
4209
- <!-- <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
4210
- <xsl:value-of select="substring($substr, 2)"/> -->
4211
4220
  <xsl:call-template name="capitalize">
4212
4221
  <xsl:with-param name="str" select="$substr"/>
4213
4222
  </xsl:call-template>
@@ -4217,8 +4226,6 @@
4217
4226
  </xsl:call-template>
4218
4227
  </xsl:when>
4219
4228
  <xsl:otherwise>
4220
- <!-- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
4221
- <xsl:value-of select="substring($str2, 2)"/> -->
4222
4229
  <xsl:call-template name="capitalize">
4223
4230
  <xsl:with-param name="str" select="$str2"/>
4224
4231
  </xsl:call-template>
@@ -4246,6 +4253,7 @@
4246
4253
  <xsl:apply-templates select="." mode="mathml"/>
4247
4254
  </xsl:variable>
4248
4255
  <fo:instream-foreign-object fox:alt-text="Math">
4256
+
4249
4257
 
4250
4258
 
4251
4259
  <xsl:variable name="comment_text_following" select="following-sibling::node()[1][self::comment()]"/>
@@ -4277,7 +4285,7 @@
4277
4285
  </xsl:attribute>
4278
4286
 
4279
4287
 
4280
- <!-- <xsl:copy-of select="."/> -->
4288
+
4281
4289
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
4282
4290
  </fo:instream-foreign-object>
4283
4291
  </fo:inline>
@@ -4335,6 +4343,10 @@
4335
4343
  <fo:inline xsl:use-attribute-sets="link-style">
4336
4344
 
4337
4345
 
4346
+
4347
+
4348
+
4349
+
4338
4350
  <xsl:if test="ancestor::*[local-name() = 'bibitem']">
4339
4351
  <xsl:attribute name="color">black</xsl:attribute>
4340
4352
  <xsl:attribute name="text-decoration">none</xsl:attribute>
@@ -4365,19 +4377,19 @@
4365
4377
  </fo:inline>
4366
4378
  </xsl:template><xsl:template match="*[local-name()='appendix']">
4367
4379
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
4368
- <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
4380
+ <xsl:apply-templates select="*[local-name()='title']"/>
4369
4381
  </fo:block>
4370
- <xsl:apply-templates/>
4371
- </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
4382
+ <xsl:apply-templates select="node()[not(local-name()='title')]"/>
4383
+ </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" priority="2">
4372
4384
  <xsl:variable name="level">
4373
4385
  <xsl:call-template name="getLevel"/>
4374
4386
  </xsl:variable>
4375
4387
  <fo:inline role="H{$level}"><xsl:apply-templates/></fo:inline>
4376
4388
  </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']" priority="2">
4377
4389
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
4378
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4390
+ <xsl:apply-templates select="*[local-name()='name']"/>
4379
4391
  </fo:block>
4380
- <xsl:apply-templates/>
4392
+ <xsl:apply-templates select="node()[not(local-name()='name')]"/>
4381
4393
  </xsl:template><xsl:template match="*[local-name() = 'callout']">
4382
4394
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
4383
4395
  </xsl:template><xsl:template match="*[local-name() = 'annotation']">
@@ -4399,7 +4411,6 @@
4399
4411
  </fo:inline>
4400
4412
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
4401
4413
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
4402
-
4403
4414
  <xsl:apply-templates/>
4404
4415
  </fo:basic-link>
4405
4416
  </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
@@ -4427,13 +4438,18 @@
4427
4438
  <fo:inline>
4428
4439
  <xsl:apply-templates/>
4429
4440
  </fo:inline>
4430
- </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="presentation">
4441
+ </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="formula_number"> <!-- show by demand -->
4431
4442
  <xsl:if test="normalize-space() != ''">
4432
4443
  <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
4433
4444
  </xsl:if>
4434
4445
  </xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
4435
4446
 
4436
4447
  <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
4448
+
4449
+
4450
+
4451
+
4452
+
4437
4453
 
4438
4454
 
4439
4455
 
@@ -4442,39 +4458,49 @@
4442
4458
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
4443
4459
  </xsl:if>
4444
4460
 
4461
+
4445
4462
 
4446
4463
 
4447
4464
  <fo:block-container margin-left="0mm">
4465
+
4448
4466
 
4449
4467
 
4450
4468
 
4469
+
4451
4470
 
4452
-
4453
-
4454
-
4455
-
4456
- <fo:block>
4457
-
4458
-
4459
-
4460
-
4461
-
4471
+ <fo:block>
4472
+
4473
+
4462
4474
 
4463
- <fo:inline xsl:use-attribute-sets="note-name-style">
4464
4475
 
4465
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4466
- </fo:inline>
4467
- <xsl:apply-templates/>
4468
- </fo:block>
4469
-
4470
-
4476
+
4477
+
4478
+
4479
+ <fo:inline xsl:use-attribute-sets="note-name-style">
4480
+
4481
+
4482
+
4483
+ <!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
4484
+ <xsl:if test="count(*[not(local-name() = 'name')]) = 1 and *[not(local-name() = 'name')]/node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
4485
+ <xsl:apply-templates select="*[not(local-name() = 'name')]/node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
4486
+ <xsl:with-param name="skip">false</xsl:with-param>
4487
+ </xsl:apply-templates>
4488
+ </xsl:if>
4489
+
4490
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
4491
+
4492
+ </fo:inline>
4493
+
4494
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4495
+ </fo:block>
4496
+
4471
4497
  </fo:block-container>
4472
4498
  </fo:block-container>
4473
4499
 
4474
4500
  </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
4475
4501
  <xsl:variable name="num"><xsl:number/></xsl:variable>
4476
4502
  <xsl:choose>
4477
- <xsl:when test="$num = 1">
4503
+ <xsl:when test="$num = 1"> <!-- display first NOTE's paragraph in the same line with label NOTE -->
4478
4504
  <fo:inline xsl:use-attribute-sets="note-p-style">
4479
4505
  <xsl:apply-templates/>
4480
4506
  </fo:inline>
@@ -4489,12 +4515,16 @@
4489
4515
  <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
4490
4516
 
4491
4517
  <fo:inline xsl:use-attribute-sets="termnote-name-style">
4518
+
4519
+
4520
+
4521
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
4492
4522
 
4493
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4494
4523
  </fo:inline>
4495
- <xsl:apply-templates/>
4524
+
4525
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4496
4526
  </fo:block>
4497
- </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name'] | *[local-name() = 'termnote']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']" mode="presentation">
4527
+ </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']">
4498
4528
  <xsl:param name="sfx"/>
4499
4529
  <xsl:variable name="suffix">
4500
4530
  <xsl:choose>
@@ -4513,7 +4543,7 @@
4513
4543
  <xsl:apply-templates/>
4514
4544
  <xsl:value-of select="$suffix"/>
4515
4545
  </xsl:if>
4516
- </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']" mode="presentation">
4546
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']">
4517
4547
  <xsl:param name="sfx"/>
4518
4548
  <xsl:variable name="suffix">
4519
4549
  <xsl:choose>
@@ -4540,25 +4570,23 @@
4540
4570
  <xsl:apply-templates/>
4541
4571
  </fo:block>
4542
4572
  </xsl:template><xsl:template match="*[local-name() = 'term']">
4543
- <!-- <xsl:message>'term' <xsl:number/> processing, name=<xsl:value-of select="iso:name"/>, preferred=<xsl:value-of select="iso:preferred"/>...</xsl:message> -->
4544
4573
  <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
4545
4574
 
4546
4575
 
4576
+
4577
+
4547
4578
  <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'term'])">
4548
4579
 
4549
4580
  </xsl:if>
4550
- <xsl:apply-templates/>
4581
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4551
4582
  </fo:block>
4552
- </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
4583
+ </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']">
4553
4584
  <xsl:if test="normalize-space() != ''">
4554
4585
  <xsl:variable name="level">
4555
4586
  <xsl:call-template name="getLevelTermName"/>
4556
4587
  </xsl:variable>
4557
4588
  <fo:inline role="H{$level}">
4558
4589
  <xsl:apply-templates/>
4559
- <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
4560
- <xsl:text>.</xsl:text>
4561
- </xsl:if> -->
4562
4590
  </fo:inline>
4563
4591
  </xsl:if>
4564
4592
  </xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
@@ -4571,20 +4599,12 @@
4571
4599
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
4572
4600
  </xsl:call-template>
4573
4601
 
4574
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4602
+ <!-- show figure's name BEFORE image -->
4603
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
4575
4604
 
4576
- <fo:block>
4577
- <!-- background for image -->
4578
- <xsl:attribute name="background-color">rgb(236,242,246)</xsl:attribute>
4579
- <xsl:attribute name="padding-left">11mm</xsl:attribute>
4580
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
4581
- <xsl:attribute name="padding-right">11mm</xsl:attribute>
4582
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
4583
- <xsl:attribute name="padding-top">7.5mm</xsl:attribute>
4584
- <xsl:attribute name="padding-bottom">7.5mm</xsl:attribute>
4585
- <xsl:attribute name="margin-bottom">3mm</xsl:attribute>
4586
-
4587
- <xsl:apply-templates/>
4605
+
4606
+ <fo:block xsl:use-attribute-sets="figure-style">
4607
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4588
4608
  </fo:block>
4589
4609
  <xsl:call-template name="fn_display_figure"/>
4590
4610
  <xsl:for-each select="*[local-name() = 'note']">
@@ -4592,12 +4612,13 @@
4592
4612
  </xsl:for-each>
4593
4613
 
4594
4614
 
4615
+
4595
4616
  </fo:block-container>
4596
4617
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
4597
4618
  <fo:block id="{@id}">
4598
- <xsl:apply-templates/>
4619
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4599
4620
  </fo:block>
4600
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4621
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
4601
4622
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
4602
4623
  <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
4603
4624
  <xsl:apply-templates/>
@@ -4704,9 +4725,7 @@
4704
4725
  <xsl:variable name="bis" select="java:java.io.ByteArrayInputStream.new($fileContent)"/>
4705
4726
  <xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($bis)"/>
4706
4727
  <xsl:variable name="width" select="java:getWidth($bufferedImage)"/>
4707
- <!-- width=<xsl:value-of select="$width"/> -->
4708
4728
  <xsl:variable name="height" select="java:getHeight($bufferedImage)"/>
4709
- <!-- height=<xsl:value-of select="$height"/> -->
4710
4729
  <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 595.28 841.89;" height="{$height}" width="{$width}" viewBox="0 0 {$width} {$height}" y="0px" x="0px" id="Layer_1" version="1.1">
4711
4730
  <image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="{@src}" height="{$height}" width="{$width}" style="overflow:visible;"/>
4712
4731
  <xsl:call-template name="svg_cross">
@@ -4976,7 +4995,7 @@
4976
4995
  </fo:basic-link>
4977
4996
  </fo:block>
4978
4997
  </fo:block-container>
4979
- </xsl:template><xsl:template match="*[local-name() = 'emf']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
4998
+ </xsl:template><xsl:template match="*[local-name() = 'emf']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
4980
4999
  <xsl:apply-templates mode="contents"/>
4981
5000
  <xsl:text> </xsl:text>
4982
5001
  </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name'] | *[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="bookmarks">
@@ -4988,11 +5007,72 @@
4988
5007
  <xsl:value-of select="."/>
4989
5008
  </xsl:template><xsl:template match="node()" mode="contents">
4990
5009
  <xsl:apply-templates mode="contents"/>
5010
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="2" mode="contents">
5011
+ <xsl:variable name="level">
5012
+ <xsl:call-template name="getLevel">
5013
+ <xsl:with-param name="depth" select="@depth"/>
5014
+ </xsl:call-template>
5015
+ </xsl:variable>
5016
+
5017
+ <xsl:variable name="section">
5018
+ <xsl:choose>
5019
+ <xsl:when test="@type = 'section-title'"/>
5020
+ <xsl:otherwise>
5021
+ <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5022
+ </xsl:otherwise>
5023
+ </xsl:choose>
5024
+ </xsl:variable>
5025
+
5026
+ <xsl:variable name="type"><xsl:value-of select="@type"/></xsl:variable>
5027
+
5028
+ <xsl:variable name="display">
5029
+ <xsl:choose>
5030
+ <xsl:when test="normalize-space(@id) = ''">false</xsl:when>
5031
+ <xsl:when test="$level &lt;= $toc_level">true</xsl:when>
5032
+ <xsl:otherwise>false</xsl:otherwise>
5033
+ </xsl:choose>
5034
+ </xsl:variable>
5035
+
5036
+ <xsl:variable name="skip">false</xsl:variable>
5037
+
5038
+ <xsl:if test="$skip = 'false'">
5039
+
5040
+ <xsl:variable name="title">
5041
+ <xsl:choose>
5042
+ <xsl:when test="*[local-name() = 'tab']">
5043
+ <xsl:choose>
5044
+ <xsl:when test="@type = 'section-title'">
5045
+ <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5046
+ <xsl:text>: </xsl:text>
5047
+ <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
5048
+ </xsl:when>
5049
+ <xsl:otherwise>
5050
+ <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
5051
+ </xsl:otherwise>
5052
+ </xsl:choose>
5053
+ </xsl:when>
5054
+ <xsl:otherwise>
5055
+ <xsl:copy-of select="node()"/>
5056
+ </xsl:otherwise>
5057
+ </xsl:choose>
5058
+ </xsl:variable>
5059
+
5060
+ <xsl:variable name="root">
5061
+ <xsl:if test="ancestor-or-self::*[local-name() = 'preface']">preface</xsl:if>
5062
+ <xsl:if test="ancestor-or-self::*[local-name() = 'annex']">annex</xsl:if>
5063
+ </xsl:variable>
5064
+
5065
+ <item id="{@id}" level="{$level}" section="{$section}" type="{$type}" root="{$root}" display="{$display}">
5066
+ <title>
5067
+ <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
5068
+ </title>
5069
+ </item>
5070
+ </xsl:if>
4991
5071
  </xsl:template><xsl:template match="node()" mode="bookmarks">
4992
5072
  <xsl:apply-templates mode="bookmarks"/>
4993
5073
  </xsl:template><xsl:template match="*[local-name() = 'title' or local-name() = 'name']//*[local-name() = 'stem']" mode="contents">
4994
5074
  <xsl:apply-templates select="."/>
4995
- </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
5075
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'references']/*[local-name() = 'bibitem']" mode="contents"/><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
4996
5076
  <xsl:apply-templates mode="bookmarks"/>
4997
5077
  </xsl:template><xsl:template name="addBookmarks">
4998
5078
  <xsl:param name="contents"/>
@@ -5082,8 +5162,6 @@
5082
5162
 
5083
5163
 
5084
5164
 
5085
-
5086
-
5087
5165
  </fo:bookmark-tree>
5088
5166
  </xsl:if>
5089
5167
  </xsl:template><xsl:template name="insertFigureBookmarks">
@@ -5154,7 +5232,7 @@
5154
5232
  <xsl:apply-templates mode="bookmark"/>
5155
5233
  </xsl:otherwise>
5156
5234
  </xsl:choose>
5157
- </xsl:template><xsl:template match="title" mode="bookmark"/><xsl:template match="text()" mode="bookmark"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']" mode="presentation">
5235
+ </xsl:template><xsl:template match="title" mode="bookmark"/><xsl:template match="text()" mode="bookmark"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']">
5158
5236
  <xsl:if test="normalize-space() != ''">
5159
5237
  <fo:block xsl:use-attribute-sets="figure-name-style">
5160
5238
 
@@ -5163,16 +5241,13 @@
5163
5241
  </fo:block>
5164
5242
  </xsl:if>
5165
5243
  </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'note']"/><xsl:template match="*[local-name() = 'title']" mode="contents_item">
5166
- <xsl:apply-templates mode="contents_item"/>
5244
+ <xsl:param name="mode">bookmarks</xsl:param>
5245
+ <xsl:apply-templates mode="contents_item">
5246
+ <xsl:with-param name="mode" select="$mode"/>
5247
+ </xsl:apply-templates>
5167
5248
  <!-- <xsl:text> </xsl:text> -->
5168
5249
  </xsl:template><xsl:template name="getSection">
5169
5250
  <xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5170
- <!--
5171
- <xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
5172
- <xsl:value-of select="."/>
5173
- </xsl:for-each>
5174
- -->
5175
-
5176
5251
  </xsl:template><xsl:template name="getName">
5177
5252
  <xsl:choose>
5178
5253
  <xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
@@ -5236,11 +5311,28 @@
5236
5311
  <xsl:copy-of select="."/>
5237
5312
  </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
5238
5313
  <xsl:text> </xsl:text>
5314
+ </xsl:template><xsl:template match="*[local-name() = 'name']" mode="contents_item">
5315
+ <xsl:param name="mode">bookmarks</xsl:param>
5316
+ <xsl:apply-templates mode="contents_item">
5317
+ <xsl:with-param name="mode" select="$mode"/>
5318
+ </xsl:apply-templates>
5319
+ </xsl:template><xsl:template match="*[local-name() = 'add']" mode="contents_item">
5320
+ <xsl:param name="mode">bookmarks</xsl:param>
5321
+ <xsl:choose>
5322
+ <xsl:when test="starts-with(text(), $ace_tag)">
5323
+ <xsl:if test="$mode = 'contents'">
5324
+ <xsl:copy>
5325
+ <xsl:apply-templates mode="contents_item"/>
5326
+ </xsl:copy>
5327
+ </xsl:if>
5328
+ </xsl:when>
5329
+ <xsl:otherwise><xsl:apply-templates mode="contents_item"/></xsl:otherwise>
5330
+ </xsl:choose>
5239
5331
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
5240
5332
 
5241
- <fo:block-container margin-left="0mm">
5333
+ <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
5242
5334
  <xsl:copy-of select="@id"/>
5243
- <xsl:attribute name="space-after">12pt</xsl:attribute>
5335
+
5244
5336
  <xsl:if test="parent::*[local-name() = 'note']">
5245
5337
  <xsl:attribute name="margin-left">
5246
5338
  <xsl:choose>
@@ -5253,7 +5345,7 @@
5253
5345
  <fo:block-container margin-left="0mm">
5254
5346
 
5255
5347
 
5256
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5348
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- show sourcecode's name BEFORE content -->
5257
5349
 
5258
5350
 
5259
5351
 
@@ -5277,11 +5369,12 @@
5277
5369
 
5278
5370
  <xsl:choose>
5279
5371
  <xsl:when test="ancestor::*[local-name() = 'table']">inherit</xsl:when>
5280
- <xsl:otherwise>110%</xsl:otherwise>
5372
+ <xsl:otherwise>95%</xsl:otherwise><!-- 110% -->
5281
5373
  </xsl:choose>
5282
5374
 
5283
5375
 
5284
5376
  </xsl:variable>
5377
+
5285
5378
  <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
5286
5379
  <xsl:if test="$font-size != ''">
5287
5380
  <xsl:attribute name="font-size">
@@ -5303,7 +5396,6 @@
5303
5396
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
5304
5397
  <xsl:attribute name="padding-top">7.5mm</xsl:attribute>
5305
5398
  <xsl:attribute name="padding-bottom">7.5mm</xsl:attribute>
5306
- <!-- <xsl:attribute name="margin-bottom">3mm</xsl:attribute> -->
5307
5399
  <xsl:if test="following-sibling::*[1][local-name() = 'sourcecode'] and starts-with(*[local-name() = 'name']/text()[1], 'Figure ')">
5308
5400
  <xsl:attribute name="margin-bottom">16pt</xsl:attribute>
5309
5401
  </xsl:if>
@@ -5312,10 +5404,10 @@
5312
5404
 
5313
5405
 
5314
5406
 
5315
- <xsl:apply-templates/>
5407
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5316
5408
  </fo:block>
5317
5409
 
5318
-
5410
+
5319
5411
 
5320
5412
 
5321
5413
 
@@ -5328,7 +5420,7 @@
5328
5420
  <xsl:call-template name="add-zero-spaces-java">
5329
5421
  <xsl:with-param name="text" select="$text"/>
5330
5422
  </xsl:call-template>
5331
- </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
5423
+ </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']">
5332
5424
  <xsl:if test="normalize-space() != ''">
5333
5425
  <fo:block xsl:use-attribute-sets="sourcecode-name-style">
5334
5426
  <xsl:apply-templates/>
@@ -5336,10 +5428,10 @@
5336
5428
  </xsl:if>
5337
5429
  </xsl:template><xsl:template match="*[local-name() = 'permission']">
5338
5430
  <fo:block id="{@id}" xsl:use-attribute-sets="permission-style">
5339
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5340
- <xsl:apply-templates/>
5431
+ <xsl:apply-templates select="*[local-name()='name']"/>
5432
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5341
5433
  </fo:block>
5342
- </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']" mode="presentation">
5434
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']">
5343
5435
  <xsl:if test="normalize-space() != ''">
5344
5436
  <fo:block xsl:use-attribute-sets="permission-name-style">
5345
5437
  <xsl:apply-templates/>
@@ -5352,13 +5444,13 @@
5352
5444
  </fo:block>
5353
5445
  </xsl:template><xsl:template match="*[local-name() = 'requirement']">
5354
5446
  <fo:block id="{@id}" xsl:use-attribute-sets="requirement-style">
5355
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5356
- <xsl:apply-templates select="*[local-name()='label']" mode="presentation"/>
5357
- <xsl:apply-templates select="@obligation" mode="presentation"/>
5358
- <xsl:apply-templates select="*[local-name()='subject']" mode="presentation"/>
5359
- <xsl:apply-templates/>
5447
+ <xsl:apply-templates select="*[local-name()='name']"/>
5448
+ <xsl:apply-templates select="*[local-name()='label']"/>
5449
+ <xsl:apply-templates select="@obligation"/>
5450
+ <xsl:apply-templates select="*[local-name()='subject']"/>
5451
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'label') and not(local-name() = 'subject')]"/>
5360
5452
  </fo:block>
5361
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']" mode="presentation">
5453
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']">
5362
5454
  <xsl:if test="normalize-space() != ''">
5363
5455
  <fo:block xsl:use-attribute-sets="requirement-name-style">
5364
5456
 
@@ -5366,20 +5458,24 @@
5366
5458
 
5367
5459
  </fo:block>
5368
5460
  </xsl:if>
5369
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']" mode="presentation">
5461
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']">
5370
5462
  <fo:block xsl:use-attribute-sets="requirement-label-style">
5371
5463
  <xsl:apply-templates/>
5372
5464
  </fo:block>
5373
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation" mode="presentation">
5465
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation">
5374
5466
  <fo:block>
5375
5467
  <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
5376
5468
  </fo:block>
5469
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2">
5470
+ <fo:block xsl:use-attribute-sets="subject-style">
5471
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
5472
+ </fo:block>
5377
5473
  </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
5378
5474
  <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
5379
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5380
- <xsl:apply-templates/>
5475
+ <xsl:apply-templates select="*[local-name()='name']"/>
5476
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5381
5477
  </fo:block>
5382
- </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']" mode="presentation">
5478
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']">
5383
5479
  <xsl:if test="normalize-space() != ''">
5384
5480
  <fo:block xsl:use-attribute-sets="recommendation-name-style">
5385
5481
  <xsl:apply-templates/>
@@ -5390,10 +5486,6 @@
5390
5486
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
5391
5487
  <xsl:apply-templates/>
5392
5488
  </fo:block>
5393
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
5394
- <fo:block xsl:use-attribute-sets="subject-style">
5395
- <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
5396
- </fo:block>
5397
5489
  </xsl:template><xsl:template match="*[local-name() = 'subject']">
5398
5490
  <fo:block xsl:use-attribute-sets="subject-style">
5399
5491
  <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
@@ -5437,8 +5529,6 @@
5437
5529
  </xsl:variable>
5438
5530
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
5439
5531
  <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
5440
- <!-- <fo:table-column column-width="35mm"/>
5441
- <fo:table-column column-width="115mm"/> -->
5442
5532
  <fo:table-column column-width="30%"/>
5443
5533
  <fo:table-column column-width="70%"/>
5444
5534
  </xsl:if>
@@ -5448,7 +5538,7 @@
5448
5538
  <xsl:if test=".//*[local-name() = 'fn']">
5449
5539
  <xsl:for-each select="*[local-name() = 'tbody']">
5450
5540
  <fo:block font-size="90%" border-bottom="1pt solid black">
5451
- <xsl:call-template name="fn_display"/>
5541
+ <xsl:call-template name="table_fn_display"/>
5452
5542
  </fo:block>
5453
5543
  </xsl:for-each>
5454
5544
  </xsl:if>
@@ -5465,7 +5555,6 @@
5465
5555
  </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
5466
5556
  <fo:table-row height="7mm" border-bottom="0.5pt solid grey">
5467
5557
  <xsl:if test="parent::*[local-name()='thead']"> <!-- and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']) -->
5468
- <!-- <xsl:attribute name="border">1pt solid black</xsl:attribute> -->
5469
5558
  <xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute>
5470
5559
  </xsl:if>
5471
5560
  <xsl:if test="starts-with(*[local-name()='td'][1], 'Requirement ')">
@@ -5478,34 +5567,11 @@
5478
5567
  </fo:table-row>
5479
5568
  </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
5480
5569
  <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
5481
- <xsl:attribute name="text-align">
5482
- <xsl:choose>
5483
- <xsl:when test="@align">
5484
- <xsl:value-of select="@align"/>
5485
- </xsl:when>
5486
- <xsl:otherwise>left</xsl:otherwise>
5487
- </xsl:choose>
5488
- </xsl:attribute>
5489
- <xsl:if test="@colspan">
5490
- <xsl:attribute name="number-columns-spanned">
5491
- <xsl:value-of select="@colspan"/>
5492
- </xsl:attribute>
5493
- </xsl:if>
5494
- <xsl:if test="@rowspan">
5495
- <xsl:attribute name="number-rows-spanned">
5496
- <xsl:value-of select="@rowspan"/>
5497
- </xsl:attribute>
5498
- </xsl:if>
5499
- <xsl:call-template name="display-align"/>
5570
+ <xsl:call-template name="setTextAlignment">
5571
+ <xsl:with-param name="default">left</xsl:with-param>
5572
+ </xsl:call-template>
5500
5573
 
5501
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
5502
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
5503
- <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
5504
- </xsl:if>
5505
- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
5506
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
5507
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
5508
- </xsl:if> -->
5574
+ <xsl:call-template name="setTableCellAttributes"/>
5509
5575
 
5510
5576
  <fo:block>
5511
5577
  <xsl:apply-templates/>
@@ -5517,37 +5583,15 @@
5517
5583
  <xsl:attribute name="padding">0mm</xsl:attribute>
5518
5584
  <xsl:attribute name="padding-left">0mm</xsl:attribute>
5519
5585
  </xsl:if>
5520
- <xsl:attribute name="text-align">
5521
- <xsl:choose>
5522
- <xsl:when test="@align">
5523
- <xsl:value-of select="@align"/>
5524
- </xsl:when>
5525
- <xsl:otherwise>left</xsl:otherwise>
5526
- </xsl:choose>
5527
- </xsl:attribute>
5586
+ <xsl:call-template name="setTextAlignment">
5587
+ <xsl:with-param name="default">left</xsl:with-param>
5588
+ </xsl:call-template>
5589
+
5528
5590
  <xsl:if test="following-sibling::*[local-name()='td'] and not(preceding-sibling::*[local-name()='td'])">
5529
5591
  <xsl:attribute name="font-weight">bold</xsl:attribute>
5530
5592
  </xsl:if>
5531
- <xsl:if test="@colspan">
5532
- <xsl:attribute name="number-columns-spanned">
5533
- <xsl:value-of select="@colspan"/>
5534
- </xsl:attribute>
5535
- </xsl:if>
5536
- <xsl:if test="@rowspan">
5537
- <xsl:attribute name="number-rows-spanned">
5538
- <xsl:value-of select="@rowspan"/>
5539
- </xsl:attribute>
5540
- </xsl:if>
5541
- <xsl:call-template name="display-align"/>
5542
5593
 
5543
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
5544
- <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
5545
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
5546
- <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])">
5547
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
5548
- </xsl:if>
5549
- </xsl:if> -->
5550
- <!-- 2nd line and below -->
5594
+ <xsl:call-template name="setTableCellAttributes"/>
5551
5595
 
5552
5596
  <fo:block>
5553
5597
  <xsl:apply-templates/>
@@ -5559,15 +5603,15 @@
5559
5603
  <xsl:apply-templates/>
5560
5604
  </fo:block>
5561
5605
  </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
5562
- <fo:block> <!-- margin-bottom="10pt" -->
5606
+ <fo:block>
5563
5607
  <xsl:apply-templates/>
5564
5608
  </fo:block>
5565
5609
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
5566
5610
  <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
5567
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5568
- <xsl:apply-templates/>
5611
+ <xsl:apply-templates select="*[local-name()='name']"/>
5612
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5569
5613
  </fo:block>
5570
- </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']" mode="presentation">
5614
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']">
5571
5615
  <xsl:if test="normalize-space() != ''">
5572
5616
  <fo:inline xsl:use-attribute-sets="termexample-name-style">
5573
5617
  <xsl:apply-templates/>:
@@ -5596,42 +5640,46 @@
5596
5640
  </xsl:if>
5597
5641
 
5598
5642
 
5599
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5600
-
5601
- <xsl:variable name="element">
5602
-
5643
+ <xsl:variable name="fo_element">
5644
+ <xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl']">block</xsl:if>
5603
5645
  inline
5604
- <xsl:if test=".//*[local-name() = 'table']">block</xsl:if>
5605
5646
  </xsl:variable>
5606
5647
 
5648
+ <!-- display 'EXAMPLE' -->
5649
+ <xsl:apply-templates select="*[local-name()='name']">
5650
+ <xsl:with-param name="fo_element" select="$fo_element"/>
5651
+ </xsl:apply-templates>
5652
+
5607
5653
  <xsl:choose>
5608
- <xsl:when test="contains(normalize-space($element), 'block')">
5609
- <fo:block xsl:use-attribute-sets="example-body-style">
5610
- <xsl:apply-templates/>
5611
- </fo:block>
5654
+ <xsl:when test="contains(normalize-space($fo_element), 'block')">
5655
+ <fo:block-container xsl:use-attribute-sets="example-body-style">
5656
+ <fo:block-container margin-left="0mm" margin-right="0mm">
5657
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
5658
+ <xsl:with-param name="fo_element" select="$fo_element"/>
5659
+ </xsl:apply-templates>
5660
+ </fo:block-container>
5661
+ </fo:block-container>
5612
5662
  </xsl:when>
5613
5663
  <xsl:otherwise>
5614
5664
  <fo:inline>
5615
- <xsl:apply-templates/>
5665
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
5666
+ <xsl:with-param name="fo_element" select="$fo_element"/>
5667
+ </xsl:apply-templates>
5616
5668
  </fo:inline>
5617
5669
  </xsl:otherwise>
5618
5670
  </xsl:choose>
5619
5671
 
5620
5672
  </fo:block>
5621
- </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']" mode="presentation">
5622
-
5623
- <xsl:variable name="element">
5624
-
5625
- inline
5626
- <xsl:if test="following-sibling::*[1][local-name() = 'table']">block</xsl:if>
5627
- </xsl:variable>
5673
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']">
5674
+ <xsl:param name="fo_element">block</xsl:param>
5675
+
5628
5676
  <xsl:choose>
5629
5677
  <xsl:when test="ancestor::*[local-name() = 'appendix']">
5630
5678
  <fo:inline>
5631
5679
  <xsl:apply-templates/>
5632
5680
  </fo:inline>
5633
5681
  </xsl:when>
5634
- <xsl:when test="contains(normalize-space($element), 'block')">
5682
+ <xsl:when test="contains(normalize-space($fo_element), 'block')">
5635
5683
  <fo:block xsl:use-attribute-sets="example-name-style">
5636
5684
  <xsl:apply-templates/>
5637
5685
  </fo:block>
@@ -5644,19 +5692,20 @@
5644
5692
  </xsl:choose>
5645
5693
 
5646
5694
  </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
5695
+ <xsl:param name="fo_element">block</xsl:param>
5696
+
5647
5697
  <xsl:variable name="num"><xsl:number/></xsl:variable>
5648
5698
  <xsl:variable name="element">
5649
5699
 
5650
-
5651
5700
  <xsl:choose>
5652
5701
  <xsl:when test="$num = 1">inline</xsl:when>
5653
5702
  <xsl:otherwise>block</xsl:otherwise>
5654
5703
  </xsl:choose>
5655
5704
 
5656
-
5705
+ <xsl:value-of select="$fo_element"/>
5657
5706
  </xsl:variable>
5658
5707
  <xsl:choose>
5659
- <xsl:when test="normalize-space($element) = 'block'">
5708
+ <xsl:when test="starts-with(normalize-space($element), 'block')">
5660
5709
  <fo:block xsl:use-attribute-sets="example-p-style">
5661
5710
 
5662
5711
  <xsl:apply-templates/>
@@ -5671,6 +5720,8 @@
5671
5720
  </xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
5672
5721
  <fo:block xsl:use-attribute-sets="termsource-style">
5673
5722
 
5723
+
5724
+
5674
5725
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
5675
5726
  <xsl:variable name="termsource_text">
5676
5727
  <xsl:apply-templates/>
@@ -5708,11 +5759,7 @@
5708
5759
  <xsl:value-of select="."/>
5709
5760
  </xsl:if>
5710
5761
  </xsl:template><xsl:template match="*[local-name() = 'termsource']/*[local-name() = 'strong'][1][following-sibling::*[1][local-name() = 'origin']]/text()">
5711
- <fo:inline>
5712
-
5713
- <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
5714
-
5715
-
5762
+ <fo:inline xsl:use-attribute-sets="termsource-text-style">
5716
5763
  <xsl:value-of select="."/>
5717
5764
  </fo:inline>
5718
5765
  </xsl:template><xsl:template match="*[local-name() = 'origin']">
@@ -5726,12 +5773,9 @@
5726
5773
  </fo:basic-link>
5727
5774
  </xsl:template><xsl:template match="*[local-name() = 'modification']">
5728
5775
  <xsl:variable name="title-modified">
5729
-
5730
-
5731
- <xsl:call-template name="getTitle">
5732
- <xsl:with-param name="name" select="'title-modified'"/>
5733
- </xsl:call-template>
5734
-
5776
+ <xsl:call-template name="getLocalizedString">
5777
+ <xsl:with-param name="key">modified</xsl:with-param>
5778
+ </xsl:call-template>
5735
5779
  </xsl:variable>
5736
5780
 
5737
5781
  <xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
@@ -5758,7 +5802,6 @@
5758
5802
  <fo:block-container margin-left="0mm">
5759
5803
 
5760
5804
  <fo:block xsl:use-attribute-sets="quote-style">
5761
- <!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
5762
5805
 
5763
5806
  <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
5764
5807
  </fo:block>
@@ -5801,15 +5844,13 @@
5801
5844
  </xsl:variable>
5802
5845
 
5803
5846
  <xsl:choose>
5804
- <xsl:when test="normalize-space($bibitemid) != ''">
5847
+ <xsl:when test="normalize-space($bibitemid) != ''"> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link -->
5805
5848
  <fo:inline xsl:use-attribute-sets="eref-style">
5806
5849
  <xsl:if test="@type = 'footnote'">
5807
-
5808
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5809
- <xsl:attribute name="font-size">80%</xsl:attribute>
5810
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
5811
- <xsl:attribute name="vertical-align">super</xsl:attribute>
5812
-
5850
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5851
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
5852
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
5853
+ <xsl:attribute name="font-size">80%</xsl:attribute>
5813
5854
 
5814
5855
  </xsl:if>
5815
5856
 
@@ -5826,7 +5867,6 @@
5826
5867
 
5827
5868
 
5828
5869
 
5829
-
5830
5870
  </xsl:if>
5831
5871
 
5832
5872
 
@@ -5879,8 +5919,6 @@
5879
5919
  </xsl:choose>
5880
5920
  </xsl:variable>
5881
5921
 
5882
- <!-- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/> -->
5883
-
5884
5922
  <xsl:choose>
5885
5923
  <xsl:when test="$lang = 'zh'">
5886
5924
  <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
@@ -5915,12 +5953,9 @@
5915
5953
  </fo:block>
5916
5954
  </xsl:template><xsl:template match="*[local-name() = 'deprecates']">
5917
5955
  <xsl:variable name="title-deprecated">
5918
-
5919
- <xsl:call-template name="getLocalizedString">
5920
- <xsl:with-param name="key">deprecated</xsl:with-param>
5921
- </xsl:call-template>
5922
-
5923
-
5956
+ <xsl:call-template name="getLocalizedString">
5957
+ <xsl:with-param name="key">deprecated</xsl:with-param>
5958
+ </xsl:call-template>
5924
5959
  </xsl:variable>
5925
5960
  <fo:block xsl:use-attribute-sets="deprecates-style">
5926
5961
  <xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/>
@@ -5929,6 +5964,8 @@
5929
5964
  <xsl:if test="*[local-name() = 'strong']">
5930
5965
  <xsl:attribute name="font-weight">normal</xsl:attribute>
5931
5966
  </xsl:if>
5967
+ </xsl:template><xsl:template match="*[local-name() = 'preferred']/text()[contains(., ';')] | *[local-name() = 'preferred']/*[local-name() = 'strong']/text()[contains(., ';')]">
5968
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.), ';', $linebreak)"/>
5932
5969
  </xsl:template><xsl:template match="*[local-name() = 'definition']">
5933
5970
  <fo:block xsl:use-attribute-sets="definition-style">
5934
5971
  <xsl:apply-templates/>
@@ -5937,7 +5974,6 @@
5937
5974
  <xsl:apply-templates/>
5938
5975
  </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]/*[local-name() = 'p'][1]">
5939
5976
  <fo:inline> <xsl:apply-templates/></fo:inline>
5940
- <!-- <fo:block>&#xA0;</fo:block> -->
5941
5977
  <fo:block/>
5942
5978
  </xsl:template><xsl:template match="/*/*[local-name() = 'sections']/*" priority="2">
5943
5979
 
@@ -5978,11 +6014,6 @@
5978
6014
  <xsl:apply-templates/>
5979
6015
  </fo:block>
5980
6016
  </xsl:template><xsl:template match="*[local-name() = 'definitions']">
5981
- <fo:block id="{@id}">
5982
- <xsl:apply-templates/>
5983
- </fo:block>
5984
- </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" priority="3"/><xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3"/><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@normative='true']">
5985
-
5986
6017
  <fo:block id="{@id}">
5987
6018
  <xsl:apply-templates/>
5988
6019
  </fo:block>
@@ -5999,6 +6030,53 @@
5999
6030
  </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
6000
6031
  <!-- 0xA0 to space replacement -->
6001
6032
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
6033
+ </xsl:template><xsl:variable name="ul_labels_">
6034
+
6035
+
6036
+
6037
+
6038
+
6039
+
6040
+
6041
+
6042
+
6043
+
6044
+
6045
+
6046
+
6047
+
6048
+
6049
+ <label level="1" font-size="75%">o</label> <!-- white circle -->
6050
+ <label level="2">—</label> <!-- em dash -->
6051
+ <label level="3" font-size="140%">•</label> <!-- bullet -->
6052
+
6053
+
6054
+
6055
+ </xsl:variable><xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/><xsl:template name="setULLabel">
6056
+ <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
6057
+ <xsl:variable name="list_level">
6058
+ <xsl:choose>
6059
+ <xsl:when test="$list_level_ &lt;= 3"><xsl:value-of select="$list_level_"/></xsl:when>
6060
+ <xsl:otherwise><xsl:value-of select="$list_level_ mod 3"/></xsl:otherwise>
6061
+ </xsl:choose>
6062
+ </xsl:variable>
6063
+ <xsl:choose>
6064
+ <xsl:when test="$ul_labels/label[not(@level)]"> <!-- one label for all levels -->
6065
+ <xsl:apply-templates select="$ul_labels/label[not(@level)]" mode="ul_labels"/>
6066
+ </xsl:when>
6067
+ <xsl:when test="$list_level mod 3 = 0">
6068
+ <xsl:apply-templates select="$ul_labels/label[@level = 3]" mode="ul_labels"/>
6069
+ </xsl:when>
6070
+ <xsl:when test="$list_level mod 2 = 0">
6071
+ <xsl:apply-templates select="$ul_labels/label[@level = 2]" mode="ul_labels"/>
6072
+ </xsl:when>
6073
+ <xsl:otherwise>
6074
+ <xsl:apply-templates select="$ul_labels/label[@level = 1]" mode="ul_labels"/>
6075
+ </xsl:otherwise>
6076
+ </xsl:choose>
6077
+ </xsl:template><xsl:template match="label" mode="ul_labels">
6078
+ <xsl:copy-of select="@*[not(local-name() = 'level')]"/>
6079
+ <xsl:value-of select="."/>
6002
6080
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
6003
6081
  <xsl:choose>
6004
6082
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
@@ -6205,20 +6283,121 @@
6205
6283
  <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
6206
6284
  <fo:block><xsl:apply-templates/></fo:block>
6207
6285
  </fo:table-cell>
6208
- </xsl:template><xsl:template name="processBibitem">
6286
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" priority="3"/><xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3"/><xsl:template match="*[local-name() = 'bibitem'][starts-with(@id, 'hidden_bibitem_')]" priority="3"/><xsl:template match="*[local-name() = 'references'][@normative='true']" priority="2">
6287
+
6288
+
6289
+
6290
+ <fo:block id="{@id}">
6291
+ <xsl:apply-templates/>
6292
+ </fo:block>
6293
+ </xsl:template><xsl:template match="*[local-name() = 'references']">
6294
+ <xsl:if test="not(ancestor::*[local-name() = 'annex'])">
6295
+
6296
+ <fo:block break-after="page"/>
6297
+
6298
+ </xsl:if>
6299
+
6300
+ <!-- <xsl:if test="ancestor::*[local-name() = 'annex']">
6301
+ <xsl:if test="$namespace = 'csa' or $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'itu'">
6302
+ <fo:block break-after="page"/>
6303
+ </xsl:if>
6304
+ </xsl:if> -->
6305
+
6306
+ <fo:block id="{@id}" xsl:use-attribute-sets="references-non-normative-style">
6307
+ <xsl:apply-templates/>
6308
+ </fo:block>
6209
6309
 
6210
6310
 
6211
6311
 
6212
-
6213
6312
 
6313
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']">
6314
+ <xsl:call-template name="bibitem"/>
6315
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@normative='true']/*[local-name() = 'bibitem']" name="bibitem" priority="2">
6316
+
6317
+ <fo:block id="{@id}" xsl:use-attribute-sets="bibitem-normative-style">
6318
+ <xsl:call-template name="processBibitem"/>
6319
+ </fo:block>
6320
+
6321
+
6322
+ </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
6214
6323
 
6215
-
6216
6324
 
6325
+ <fo:list-block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-style">
6326
+ <fo:list-item>
6327
+ <fo:list-item-label end-indent="label-end()">
6328
+ <fo:block>
6329
+ <fo:inline>
6330
+
6331
+ <xsl:number format="1."/>
6332
+
6333
+ </fo:inline>
6334
+ </fo:block>
6335
+ </fo:list-item-label>
6336
+ <fo:list-item-body start-indent="body-start()">
6337
+ <fo:block>
6338
+ <xsl:if test="rsd:docidentifier">
6339
+ <xsl:choose>
6340
+ <xsl:when test="rsd:docidentifier/@type = 'metanorma'"/>
6341
+ <xsl:otherwise><fo:inline><xsl:value-of select="rsd:docidentifier[not(@type = 'metanorma-ordinal')]"/>, </fo:inline></xsl:otherwise>
6342
+ </xsl:choose>
6343
+ </xsl:if>
6344
+ <xsl:choose>
6345
+ <xsl:when test="rsd:title[@type = 'main' and @language = 'en']">
6346
+ <xsl:apply-templates select="rsd:title[@type = 'main' and @language = 'en']"/>
6347
+ </xsl:when>
6348
+ <xsl:otherwise>
6349
+ <xsl:apply-templates select="rsd:title"/>
6350
+ </xsl:otherwise>
6351
+ </xsl:choose>
6352
+ <xsl:apply-templates select="rsd:formattedref"/>
6353
+ </fo:block>
6354
+ </fo:list-item-body>
6355
+ </fo:list-item>
6356
+ </fo:list-block>
6357
+
6217
6358
 
6359
+ </xsl:template><xsl:template name="processBibitem">
6218
6360
 
6219
6361
 
6362
+ <xsl:if test=".//rsd:fn">
6363
+ <xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
6364
+ </xsl:if>
6365
+ <xsl:value-of select="rsd:docidentifier"/>
6366
+ <xsl:apply-templates select="rsd:note"/>
6367
+ <xsl:if test="rsd:docidentifier">, </xsl:if>
6368
+ <xsl:choose>
6369
+ <xsl:when test="rsd:formattedref">
6370
+ <xsl:apply-templates select="rsd:formattedref"/>
6371
+ </xsl:when>
6372
+ <xsl:otherwise>
6373
+ <xsl:for-each select="rsd:contributor[rsd:role/@type='publisher']/rsd:organization/rsd:name">
6374
+ <xsl:apply-templates/>
6375
+ <xsl:if test="position() != last()">, </xsl:if>
6376
+ <xsl:if test="position() = last()">: </xsl:if>
6377
+ </xsl:for-each>
6378
+ <!-- rsd:docidentifier -->
6379
+
6380
+ <xsl:choose>
6381
+ <xsl:when test="rsd:title[@type = 'main' and @language = 'en']">
6382
+ <fo:inline><xsl:apply-templates select="rsd:title[@type = 'main' and @language = 'en']"/><xsl:text>. </xsl:text></fo:inline>
6383
+ </xsl:when>
6384
+ <xsl:otherwise>
6385
+ <fo:inline><xsl:apply-templates select="rsd:title"/><xsl:text>. </xsl:text></fo:inline>
6386
+ </xsl:otherwise>
6387
+ </xsl:choose>
6388
+
6389
+ <xsl:for-each select="rsd:contributor[rsd:role/@type='publisher']/rsd:organization/rsd:name">
6390
+ <xsl:apply-templates/>
6391
+ <xsl:if test="position() != last()">, </xsl:if>
6392
+ </xsl:for-each>
6393
+ <xsl:if test="rsd:date[@type='published']/rsd:on">
6394
+ <xsl:text> (</xsl:text><xsl:value-of select="rsd:date[@type='published']/rsd:on"/><xsl:text>)</xsl:text>
6395
+ </xsl:if>
6396
+ </xsl:otherwise>
6397
+ </xsl:choose>
6398
+
6220
6399
  </xsl:template><xsl:template name="processBibitemDocId">
6221
- <xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
6400
+ <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')]"/>
6222
6401
  <xsl:choose>
6223
6402
  <xsl:when test="normalize-space($_doc_ident) != ''">
6224
6403
  <!-- <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]/@type"/>
@@ -6232,7 +6411,7 @@
6232
6411
  <xsl:if test="$type != ''">
6233
6412
  <xsl:value-of select="$type"/><xsl:text> </xsl:text>
6234
6413
  </xsl:if> -->
6235
- <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
6414
+ <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma') and not(@type = 'metanorma-ordinal')]"/>
6236
6415
  </xsl:otherwise>
6237
6416
  </xsl:choose>
6238
6417
  </xsl:template><xsl:template name="processPersonalAuthor">
@@ -6273,6 +6452,55 @@
6273
6452
  <xsl:value-of select="substring(.,1,1)"/>
6274
6453
  </xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
6275
6454
  <fo:inline><xsl:apply-templates/></fo:inline>
6455
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'title']" priority="2">
6456
+ <!-- <fo:inline><xsl:apply-templates /></fo:inline> -->
6457
+ <fo:inline font-style="italic"> <!-- BIPM BSI CSD CSA GB IEC IHO ISO ITU JCGM -->
6458
+ <xsl:apply-templates/>
6459
+ </fo:inline>
6460
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
6461
+ <fo:footnote>
6462
+ <xsl:variable name="number">
6463
+
6464
+ <xsl:choose>
6465
+ <xsl:when test="ancestor::*[local-name() = 'references'][preceding-sibling::*[local-name() = 'references']]">
6466
+ <xsl:number level="any" count="*[local-name() = 'references'][preceding-sibling::*[local-name() = 'references']]//*[local-name() = 'bibitem']/*[local-name() = 'note']"/>
6467
+ </xsl:when>
6468
+ <xsl:otherwise>
6469
+ <xsl:number level="any" count="*[local-name() = 'bibitem']/*[local-name() = 'note']"/>
6470
+ </xsl:otherwise>
6471
+ </xsl:choose>
6472
+
6473
+ </xsl:variable>
6474
+ <fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
6475
+ <fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
6476
+ <xsl:value-of select="$number"/>
6477
+
6478
+ </fo:basic-link>
6479
+ </fo:inline>
6480
+ <fo:footnote-body>
6481
+ <fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
6482
+ <fo:inline id="{generate-id()}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
6483
+ <xsl:value-of select="$number"/>
6484
+
6485
+ </fo:inline>
6486
+ <xsl:apply-templates/>
6487
+ </fo:block>
6488
+ </fo:footnote-body>
6489
+ </fo:footnote>
6490
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'edition']"> <!-- for iho -->
6491
+ <xsl:text> edition </xsl:text>
6492
+ <xsl:value-of select="."/>
6493
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'uri']"> <!-- for iho -->
6494
+ <xsl:text> (</xsl:text>
6495
+ <fo:inline xsl:use-attribute-sets="link-style">
6496
+ <fo:basic-link external-destination="." fox:alt-text=".">
6497
+ <xsl:value-of select="."/>
6498
+ </fo:basic-link>
6499
+ </fo:inline>
6500
+ <xsl:text>)</xsl:text>
6501
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'docidentifier']"/><xsl:template match="*[local-name() = 'formattedref']">
6502
+
6503
+ <xsl:apply-templates/>
6276
6504
  </xsl:template><xsl:template match="*[local-name() = 'form']">
6277
6505
  <fo:block>
6278
6506
  <xsl:apply-templates/>
@@ -6338,27 +6566,14 @@
6338
6566
  <fo:block> </fo:block>
6339
6567
  </fo:block-container>
6340
6568
  </xsl:template><xsl:variable name="toc_level">
6569
+ <!-- https://www.metanorma.org/author/ref/document-attributes/ -->
6570
+ <xsl:variable name="htmltoclevels" select="normalize-space(//*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'HTML TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- :htmltoclevels Number of table of contents levels to render in HTML/PDF output; used to override :toclevels:-->
6571
+ <xsl:variable name="toclevels" select="normalize-space(//*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- Number of table of contents levels to render -->
6341
6572
  <xsl:choose>
6342
- <xsl:when test="1 = 2"/> <!-- to do https://github.com/metanorma/mn-native-pdf/issues/337: if there is value in xml -->
6573
+ <xsl:when test="$htmltoclevels != ''"><xsl:value-of select="number($htmltoclevels)"/></xsl:when> <!-- if there is value in xml -->
6574
+ <xsl:when test="$toclevels != ''"><xsl:value-of select="number($toclevels)"/></xsl:when> <!-- if there is value in xml -->
6343
6575
  <xsl:otherwise><!-- default value -->
6344
-
6345
-
6346
-
6347
-
6348
-
6349
-
6350
-
6351
-
6352
-
6353
-
6354
-
6355
-
6356
-
6357
-
6358
-
6359
6576
  2
6360
-
6361
-
6362
6577
  </xsl:otherwise>
6363
6578
  </xsl:choose>
6364
6579
  </xsl:variable><xsl:template match="*[local-name() = 'toc']">
@@ -6441,7 +6656,7 @@
6441
6656
  </td>
6442
6657
  </xsl:for-each>
6443
6658
  <td>333</td> <!-- page number, just for fill -->
6444
- </xsl:template><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
6659
+ </xsl:template><xsl:template match="*[local-name() = 'variant-title']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
6445
6660
  <fo:inline padding-right="5mm"> </fo:inline>
6446
6661
  <fo:inline><xsl:apply-templates/></fo:inline>
6447
6662
  </xsl:template><xsl:template match="*[local-name() = 'blacksquare']" name="blacksquare">
@@ -6452,6 +6667,66 @@
6452
6667
  </svg>
6453
6668
  </fo:instream-foreign-object>
6454
6669
  </fo:inline>
6670
+ </xsl:template><xsl:template match="@language">
6671
+ <xsl:copy-of select="."/>
6672
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="4">
6673
+ <xsl:call-template name="title"/>
6674
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']">
6675
+
6676
+
6677
+
6678
+
6679
+
6680
+ <!-- text in the box -->
6681
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="admonition-style">
6682
+
6683
+
6684
+
6685
+
6686
+
6687
+ <fo:block-container xsl:use-attribute-sets="admonition-container-style">
6688
+
6689
+
6690
+ <fo:block xsl:use-attribute-sets="admonition-name-style">
6691
+ <xsl:call-template name="displayAdmonitionName"/>
6692
+ </fo:block>
6693
+ <fo:block xsl:use-attribute-sets="admonition-p-style">
6694
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
6695
+ </fo:block>
6696
+
6697
+ </fo:block-container>
6698
+
6699
+ </fo:block-container>
6700
+
6701
+ </xsl:template><xsl:template name="displayAdmonitionName">
6702
+
6703
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
6704
+ <xsl:if test="not(*[local-name() = 'name'])">
6705
+ <xsl:apply-templates select="@type"/>
6706
+ </xsl:if>
6707
+
6708
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
6709
+ <xsl:apply-templates/>
6710
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/@type">
6711
+ <xsl:variable name="admonition_type_">
6712
+ <xsl:call-template name="getLocalizedString">
6713
+ <xsl:with-param name="key">admonition.<xsl:value-of select="."/></xsl:with-param>
6714
+ </xsl:call-template>
6715
+ </xsl:variable>
6716
+ <xsl:variable name="admonition_type" select="normalize-space(java:toUpperCase(java:java.lang.String.new($admonition_type_)))"/>
6717
+ <xsl:value-of select="$admonition_type"/>
6718
+ <xsl:if test="$admonition_type = ''">
6719
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
6720
+ </xsl:if>
6721
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'p']">
6722
+
6723
+ <fo:block xsl:use-attribute-sets="admonition-p-style">
6724
+
6725
+
6726
+
6727
+ <xsl:apply-templates/>
6728
+ </fo:block>
6729
+
6455
6730
  </xsl:template><xsl:template name="convertDate">
6456
6731
  <xsl:param name="date"/>
6457
6732
  <xsl:param name="format" select="'short'"/>
@@ -6459,83 +6734,80 @@
6459
6734
  <xsl:variable name="month" select="substring($date, 6, 2)"/>
6460
6735
  <xsl:variable name="day" select="substring($date, 9, 2)"/>
6461
6736
  <xsl:variable name="monthStr">
6462
- <xsl:choose>
6463
- <xsl:when test="$month = '01'">January</xsl:when>
6464
- <xsl:when test="$month = '02'">February</xsl:when>
6465
- <xsl:when test="$month = '03'">March</xsl:when>
6466
- <xsl:when test="$month = '04'">April</xsl:when>
6467
- <xsl:when test="$month = '05'">May</xsl:when>
6468
- <xsl:when test="$month = '06'">June</xsl:when>
6469
- <xsl:when test="$month = '07'">July</xsl:when>
6470
- <xsl:when test="$month = '08'">August</xsl:when>
6471
- <xsl:when test="$month = '09'">September</xsl:when>
6472
- <xsl:when test="$month = '10'">October</xsl:when>
6473
- <xsl:when test="$month = '11'">November</xsl:when>
6474
- <xsl:when test="$month = '12'">December</xsl:when>
6475
- </xsl:choose>
6737
+ <xsl:call-template name="getMonthByNum">
6738
+ <xsl:with-param name="num" select="$month"/>
6739
+ <xsl:with-param name="lowercase" select="'true'"/>
6740
+ </xsl:call-template>
6741
+ </xsl:variable>
6742
+ <xsl:variable name="monthStr_localized">
6743
+ <xsl:if test="normalize-space($monthStr) != ''"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_<xsl:value-of select="$monthStr"/></xsl:with-param></xsl:call-template></xsl:if>
6476
6744
  </xsl:variable>
6477
6745
  <xsl:variable name="result">
6478
6746
  <xsl:choose>
6479
- <xsl:when test="$format = 'ddMMyyyy'">
6747
+ <xsl:when test="$format = 'ddMMyyyy'"> <!-- convert date from format 2007-04-01 to 1 April 2007 -->
6480
6748
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
6481
6749
  <xsl:text> </xsl:text>
6482
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
6750
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ' , $year))"/>
6483
6751
  </xsl:when>
6484
6752
  <xsl:when test="$format = 'ddMM'">
6485
6753
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
6486
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
6754
+ <xsl:text> </xsl:text><xsl:value-of select="$monthStr_localized"/>
6487
6755
  </xsl:when>
6488
6756
  <xsl:when test="$format = 'short' or $day = ''">
6489
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
6757
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $year))"/>
6490
6758
  </xsl:when>
6491
6759
  <xsl:otherwise>
6492
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
6760
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $day, ', ' , $year))"/> <!-- January 01, 2022 -->
6493
6761
  </xsl:otherwise>
6494
6762
  </xsl:choose>
6495
6763
  </xsl:variable>
6496
6764
  <xsl:value-of select="$result"/>
6497
- </xsl:template><xsl:template name="convertDateLocalized">
6498
- <xsl:param name="date"/>
6499
- <xsl:param name="format" select="'short'"/>
6500
- <xsl:variable name="year" select="substring($date, 1, 4)"/>
6501
- <xsl:variable name="month" select="substring($date, 6, 2)"/>
6502
- <xsl:variable name="day" select="substring($date, 9, 2)"/>
6503
- <xsl:variable name="monthStr">
6504
- <xsl:choose>
6505
- <xsl:when test="$month = '01'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_january</xsl:with-param></xsl:call-template></xsl:when>
6506
- <xsl:when test="$month = '02'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_february</xsl:with-param></xsl:call-template></xsl:when>
6507
- <xsl:when test="$month = '03'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_march</xsl:with-param></xsl:call-template></xsl:when>
6508
- <xsl:when test="$month = '04'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_april</xsl:with-param></xsl:call-template></xsl:when>
6509
- <xsl:when test="$month = '05'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_may</xsl:with-param></xsl:call-template></xsl:when>
6510
- <xsl:when test="$month = '06'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_june</xsl:with-param></xsl:call-template></xsl:when>
6511
- <xsl:when test="$month = '07'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_july</xsl:with-param></xsl:call-template></xsl:when>
6512
- <xsl:when test="$month = '08'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_august</xsl:with-param></xsl:call-template></xsl:when>
6513
- <xsl:when test="$month = '09'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_september</xsl:with-param></xsl:call-template></xsl:when>
6514
- <xsl:when test="$month = '10'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_october</xsl:with-param></xsl:call-template></xsl:when>
6515
- <xsl:when test="$month = '11'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_november</xsl:with-param></xsl:call-template></xsl:when>
6516
- <xsl:when test="$month = '12'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_december</xsl:with-param></xsl:call-template></xsl:when>
6517
- </xsl:choose>
6518
- </xsl:variable>
6519
- <xsl:variable name="result">
6765
+ </xsl:template><xsl:template name="getMonthByNum">
6766
+ <xsl:param name="num"/>
6767
+ <xsl:param name="lang">en</xsl:param>
6768
+ <xsl:param name="lowercase">false</xsl:param> <!-- return 'january' instead of 'January' -->
6769
+ <xsl:variable name="monthStr_">
6520
6770
  <xsl:choose>
6521
- <xsl:when test="$format = 'ddMMyyyy'">
6522
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
6523
- <xsl:text> </xsl:text>
6524
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
6525
- </xsl:when>
6526
- <xsl:when test="$format = 'ddMM'">
6527
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
6528
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
6529
- </xsl:when>
6530
- <xsl:when test="$format = 'short' or $day = ''">
6531
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
6771
+ <xsl:when test="$lang = 'fr'">
6772
+ <xsl:choose>
6773
+ <xsl:when test="$num = '01'">Janvier</xsl:when>
6774
+ <xsl:when test="$num = '02'">Février</xsl:when>
6775
+ <xsl:when test="$num = '03'">Mars</xsl:when>
6776
+ <xsl:when test="$num = '04'">Avril</xsl:when>
6777
+ <xsl:when test="$num = '05'">Mai</xsl:when>
6778
+ <xsl:when test="$num = '06'">Juin</xsl:when>
6779
+ <xsl:when test="$num = '07'">Juillet</xsl:when>
6780
+ <xsl:when test="$num = '08'">Août</xsl:when>
6781
+ <xsl:when test="$num = '09'">Septembre</xsl:when>
6782
+ <xsl:when test="$num = '10'">Octobre</xsl:when>
6783
+ <xsl:when test="$num = '11'">Novembre</xsl:when>
6784
+ <xsl:when test="$num = '12'">Décembre</xsl:when>
6785
+ </xsl:choose>
6532
6786
  </xsl:when>
6533
6787
  <xsl:otherwise>
6534
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
6788
+ <xsl:choose>
6789
+ <xsl:when test="$num = '01'">January</xsl:when>
6790
+ <xsl:when test="$num = '02'">February</xsl:when>
6791
+ <xsl:when test="$num = '03'">March</xsl:when>
6792
+ <xsl:when test="$num = '04'">April</xsl:when>
6793
+ <xsl:when test="$num = '05'">May</xsl:when>
6794
+ <xsl:when test="$num = '06'">June</xsl:when>
6795
+ <xsl:when test="$num = '07'">July</xsl:when>
6796
+ <xsl:when test="$num = '08'">August</xsl:when>
6797
+ <xsl:when test="$num = '09'">September</xsl:when>
6798
+ <xsl:when test="$num = '10'">October</xsl:when>
6799
+ <xsl:when test="$num = '11'">November</xsl:when>
6800
+ <xsl:when test="$num = '12'">December</xsl:when>
6801
+ </xsl:choose>
6535
6802
  </xsl:otherwise>
6536
6803
  </xsl:choose>
6537
6804
  </xsl:variable>
6538
- <xsl:value-of select="$result"/>
6805
+ <xsl:choose>
6806
+ <xsl:when test="normalize-space($lowercase) = 'true'">
6807
+ <xsl:value-of select="java:toLowerCase(java:java.lang.String.new($monthStr_))"/>
6808
+ </xsl:when>
6809
+ <xsl:otherwise><xsl:value-of select="$monthStr_"/></xsl:otherwise>
6810
+ </xsl:choose>
6539
6811
  </xsl:template><xsl:template name="insertKeywords">
6540
6812
  <xsl:param name="sorting" select="'true'"/>
6541
6813
  <xsl:param name="charAtEnd" select="'.'"/>
@@ -6583,14 +6855,9 @@
6583
6855
  <dc:title>
6584
6856
  <xsl:variable name="title">
6585
6857
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
6586
-
6587
-
6588
-
6589
-
6590
- <xsl:value-of select="*[local-name() = 'title'][@language = $lang]"/>
6591
-
6592
-
6593
6858
 
6859
+ <xsl:value-of select="*[local-name() = 'title'][@language = $lang]"/>
6860
+
6594
6861
  </xsl:for-each>
6595
6862
  </xsl:variable>
6596
6863
  <xsl:choose>
@@ -6605,21 +6872,18 @@
6605
6872
  <dc:creator>
6606
6873
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
6607
6874
 
6608
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
6609
- <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
6610
- <xsl:if test="position() != last()">; </xsl:if>
6611
- </xsl:for-each>
6612
-
6613
-
6614
-
6875
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
6876
+ <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
6877
+ <xsl:if test="position() != last()">; </xsl:if>
6878
+ </xsl:for-each>
6879
+
6615
6880
  </xsl:for-each>
6616
6881
  </dc:creator>
6617
6882
  <dc:description>
6618
6883
  <xsl:variable name="abstract">
6619
6884
 
6620
- <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
6621
-
6622
-
6885
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
6886
+
6623
6887
  </xsl:variable>
6624
6888
  <xsl:value-of select="normalize-space($abstract)"/>
6625
6889
  </dc:description>
@@ -6639,7 +6903,6 @@
6639
6903
  <xsl:value-of select="../@id"/>
6640
6904
  </xsl:when>
6641
6905
  <xsl:otherwise>
6642
- <!-- <xsl:value-of select="concat(local-name(..), '_', text())"/> -->
6643
6906
  <xsl:value-of select="concat(generate-id(..), '_', text())"/>
6644
6907
  </xsl:otherwise>
6645
6908
  </xsl:choose>
@@ -6665,9 +6928,6 @@
6665
6928
  <xsl:when test="ancestor::*[local-name() = 'preface']">
6666
6929
  <xsl:value-of select="$level_total - 2"/>
6667
6930
  </xsl:when>
6668
- <!-- <xsl:when test="parent::*[local-name() = 'sections']">
6669
- <xsl:value-of select="$level_total - 1"/>
6670
- </xsl:when> -->
6671
6931
  <xsl:when test="ancestor::*[local-name() = 'sections']">
6672
6932
  <xsl:value-of select="$level_total - 1"/>
6673
6933
  </xsl:when>
@@ -6809,9 +7069,15 @@
6809
7069
  </xsl:template><xsl:template name="getLocalizedString">
6810
7070
  <xsl:param name="key"/>
6811
7071
  <xsl:param name="formatted">false</xsl:param>
7072
+ <xsl:param name="lang"/>
6812
7073
 
6813
7074
  <xsl:variable name="curr_lang">
6814
- <xsl:call-template name="getLang"/>
7075
+ <xsl:choose>
7076
+ <xsl:when test="$lang != ''"><xsl:value-of select="$lang"/></xsl:when>
7077
+ <xsl:otherwise>
7078
+ <xsl:call-template name="getLang"/>
7079
+ </xsl:otherwise>
7080
+ </xsl:choose>
6815
7081
  </xsl:variable>
6816
7082
 
6817
7083
  <xsl:variable name="data_value">
@@ -6851,7 +7117,6 @@
6851
7117
  <xsl:value-of select="$key_"/>
6852
7118
  </xsl:otherwise>
6853
7119
  </xsl:choose>
6854
-
6855
7120
  </xsl:template><xsl:template name="setTrackChangesStyles">
6856
7121
  <xsl:param name="isAdded"/>
6857
7122
  <xsl:param name="isDeleted"/>
@@ -6874,7 +7139,6 @@
6874
7139
  <xsl:if test="local-name() = 'table'">
6875
7140
  <xsl:attribute name="background-color">rgb(255, 185, 185)</xsl:attribute>
6876
7141
  </xsl:if>
6877
- <!-- <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute> -->
6878
7142
  <xsl:attribute name="padding">2mm</xsl:attribute>
6879
7143
  </xsl:if>
6880
7144
  </xsl:otherwise>
@@ -6894,15 +7158,18 @@
6894
7158
  </xsl:choose>
6895
7159
  </xsl:template><xsl:template name="setTextAlignment">
6896
7160
  <xsl:param name="default">left</xsl:param>
7161
+ <xsl:variable name="align" select="normalize-space(@align)"/>
6897
7162
  <xsl:attribute name="text-align">
6898
7163
  <xsl:choose>
6899
- <xsl:when test="@align and not(@align = 'indent')"><xsl:value-of select="@align"/></xsl:when>
7164
+ <xsl:when test="$lang = 'ar' and $align = 'left'">start</xsl:when>
7165
+ <xsl:when test="$lang = 'ar' and $align = 'right'">end</xsl:when>
7166
+ <xsl:when test="$align != '' and not($align = 'indent')"><xsl:value-of select="$align"/></xsl:when>
6900
7167
  <xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
6901
7168
  <xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
6902
7169
  <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
6903
7170
  </xsl:choose>
6904
7171
  </xsl:attribute>
6905
- <xsl:if test="@align = 'indent'">
7172
+ <xsl:if test="$align = 'indent'">
6906
7173
  <xsl:attribute name="margin-left">7mm</xsl:attribute>
6907
7174
  </xsl:if>
6908
7175
  </xsl:template><xsl:template name="number-to-words">
@@ -7001,6 +7268,25 @@
7001
7268
  </xsl:otherwise>
7002
7269
  </xsl:choose>
7003
7270
  </xsl:if>
7271
+ </xsl:template><xsl:template name="number-to-ordinal">
7272
+ <xsl:param name="number"/>
7273
+ <xsl:param name="curr_lang"/>
7274
+ <xsl:choose>
7275
+ <xsl:when test="$curr_lang = 'fr'">
7276
+ <xsl:choose>
7277
+ <xsl:when test="$number = '1'">re</xsl:when>
7278
+ <xsl:otherwise>e</xsl:otherwise>
7279
+ </xsl:choose>
7280
+ </xsl:when>
7281
+ <xsl:otherwise>
7282
+ <xsl:choose>
7283
+ <xsl:when test="$number = 1">st</xsl:when>
7284
+ <xsl:when test="$number = 2">nd</xsl:when>
7285
+ <xsl:when test="$number = 3">rd</xsl:when>
7286
+ <xsl:otherwise>th</xsl:otherwise>
7287
+ </xsl:choose>
7288
+ </xsl:otherwise>
7289
+ </xsl:choose>
7004
7290
  </xsl:template><xsl:template name="setAltText">
7005
7291
  <xsl:param name="value"/>
7006
7292
  <xsl:attribute name="fox:alt-text">