metanorma-ogc 1.5.4 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +4 -32
  3. data/.gitignore +11 -0
  4. data/Gemfile +0 -1
  5. data/lib/isodoc/ogc/biblio.rb +7 -6
  6. data/lib/isodoc/ogc/html/htmlstyle.css +48 -28
  7. data/lib/isodoc/ogc/html/htmlstyle.scss +18 -11
  8. data/lib/isodoc/ogc/html/wordstyle.css +30 -18
  9. data/lib/isodoc/ogc/html/wordstyle.scss +30 -18
  10. data/lib/isodoc/ogc/html/wordstyle_wp.css +22 -12
  11. data/lib/isodoc/ogc/html/wordstyle_wp.scss +22 -12
  12. data/lib/isodoc/ogc/metadata.rb +1 -0
  13. data/lib/isodoc/ogc/ogc.abstract-specification-topic.xsl +1520 -1369
  14. data/lib/isodoc/ogc/ogc.best-practice.xsl +1520 -1369
  15. data/lib/isodoc/ogc/ogc.change-request-supporting-document.xsl +1520 -1369
  16. data/lib/isodoc/ogc/ogc.community-practice.xsl +1520 -1369
  17. data/lib/isodoc/ogc/ogc.community-standard.xsl +1520 -1369
  18. data/lib/isodoc/ogc/ogc.discussion-paper.xsl +1520 -1369
  19. data/lib/isodoc/ogc/ogc.engineering-report.xsl +1520 -1369
  20. data/lib/isodoc/ogc/ogc.other.xsl +1520 -1369
  21. data/lib/isodoc/ogc/ogc.policy.xsl +1520 -1369
  22. data/lib/isodoc/ogc/ogc.reference-model.xsl +1520 -1369
  23. data/lib/isodoc/ogc/ogc.release-notes.xsl +1520 -1369
  24. data/lib/isodoc/ogc/ogc.standard.xsl +1520 -1369
  25. data/lib/isodoc/ogc/ogc.test-suite.xsl +1520 -1369
  26. data/lib/isodoc/ogc/ogc.user-guide.xsl +1520 -1369
  27. data/lib/isodoc/ogc/ogc.white-paper.xsl +1496 -1349
  28. data/lib/isodoc/ogc/presentation_xml_convert.rb +24 -8
  29. data/lib/isodoc/ogc/reqt.rb +17 -3
  30. data/lib/{asciidoctor → metanorma}/ogc/basicdoc.rng +0 -0
  31. data/lib/{asciidoctor → metanorma}/ogc/biblio.rng +0 -0
  32. data/lib/{asciidoctor → metanorma}/ogc/boilerplate.xml +0 -0
  33. data/lib/{asciidoctor → metanorma}/ogc/cleanup.rb +54 -10
  34. data/lib/{asciidoctor → metanorma}/ogc/converter.rb +13 -3
  35. data/lib/{asciidoctor → metanorma}/ogc/front.rb +2 -2
  36. data/lib/{asciidoctor → metanorma}/ogc/isodoc.rng +35 -2
  37. data/lib/{asciidoctor → metanorma}/ogc/ogc.rng +0 -0
  38. data/lib/{asciidoctor → metanorma}/ogc/reqt.rng +0 -0
  39. data/lib/{asciidoctor → metanorma}/ogc/validate.rb +39 -1
  40. data/lib/metanorma/ogc/version.rb +1 -1
  41. data/lib/metanorma/ogc.rb +1 -0
  42. data/lib/metanorma-ogc.rb +0 -1
  43. data/metanorma-ogc.gemspec +1 -1
  44. metadata +14 -15
  45. data/lib/asciidoctor/ogc.rb +0 -6
@@ -125,7 +125,7 @@
125
125
 
126
126
  <xsl:template match="/">
127
127
  <xsl:call-template name="namespaceCheck"/>
128
- <fo:root font-family="Arial, STIX Two Math, Source Han Sans" font-size="11pt" xml:lang="{$lang}">
128
+ <fo:root xsl:use-attribute-sets="root-style" xml:lang="{$lang}">
129
129
  <fo:layout-master-set>
130
130
 
131
131
  <!-- Document pages -->
@@ -241,7 +241,9 @@
241
241
  <fo:block-container line-height="1.08" font-family="Lato">
242
242
  <fo:block role="TOC">
243
243
  <fo:block xsl:use-attribute-sets="title-toc-style" role="H1">
244
- <xsl:text>Table of Contents</xsl:text>
244
+ <xsl:call-template name="getTitle">
245
+ <xsl:with-param name="name" select="'title-toc'"/>
246
+ </xsl:call-template>
245
247
  </fo:block>
246
248
  <xsl:variable name="margin-left">3.9</xsl:variable>
247
249
  <xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true']">
@@ -372,9 +374,6 @@
372
374
  <!-- ============================= -->
373
375
  <!-- CONTENTS -->
374
376
  <!-- ============================= -->
375
- <xsl:template match="node()" mode="contents">
376
- <xsl:apply-templates mode="contents"/>
377
- </xsl:template>
378
377
 
379
378
  <!-- element with title -->
380
379
  <xsl:template match="*[ogc:title]" mode="contents">
@@ -530,7 +529,7 @@
530
529
  </fo:block>
531
530
  </xsl:template>
532
531
 
533
- <xsl:template match="ogc:title">
532
+ <xsl:template match="ogc:title" name="title">
534
533
 
535
534
  <xsl:variable name="level">
536
535
  <xsl:call-template name="getLevel"/>
@@ -652,46 +651,6 @@
652
651
  </xsl:template>
653
652
 
654
653
 
655
- <xsl:template match="ogc:bibitem">
656
- <fo:block id="{@id}" margin-bottom="12pt" start-indent="12mm" text-indent="-12mm" line-height="115%">
657
- <xsl:if test=".//ogc:fn">
658
- <xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
659
- </xsl:if>
660
- <xsl:call-template name="processBibitem"/>
661
- </fo:block>
662
- </xsl:template>
663
-
664
-
665
- <xsl:template match="ogc:bibitem/ogc:note" priority="2">
666
- <fo:footnote>
667
- <xsl:variable name="number">
668
- <xsl:choose>
669
- <xsl:when test="ancestor::ogc:references[preceding-sibling::ogc:references]">
670
- <xsl:number level="any" count="ogc:references[preceding-sibling::ogc:references]//ogc:bibitem/ogc:note"/>
671
- </xsl:when>
672
- <xsl:otherwise>
673
- <xsl:number level="any" count="ogc:bibitem/ogc:note"/>
674
- </xsl:otherwise>
675
- </xsl:choose>
676
- </xsl:variable>
677
- <fo:inline font-size="65%" keep-with-previous.within-line="always" vertical-align="super"> <!-- 60% baseline-shift="35%" -->
678
- <fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
679
- <xsl:value-of select="$number"/><!-- <xsl:text>)</xsl:text> -->
680
- </fo:basic-link>
681
- </fo:inline>
682
- <fo:footnote-body>
683
- <fo:block font-size="10pt" margin-bottom="12pt" start-indent="0pt">
684
- <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" -->
685
- <xsl:value-of select="$number"/><!-- <xsl:text>)</xsl:text> -->
686
- </fo:inline>
687
- <xsl:apply-templates/>
688
- </fo:block>
689
- </fo:footnote-body>
690
- </fo:footnote>
691
- </xsl:template>
692
-
693
-
694
-
695
654
  <xsl:template match="ogc:ul | ogc:ol" mode="ul_ol">
696
655
  <fo:list-block provisional-distance-between-starts="6.5mm" margin-bottom="12pt" line-height="115%">
697
656
  <xsl:if test="ancestor::ogc:ul | ancestor::ogc:ol">
@@ -709,7 +668,9 @@
709
668
  <fo:list-item-label end-indent="label-end()">
710
669
  <fo:block>
711
670
  <xsl:choose>
712
- <xsl:when test="local-name(..) = 'ul'">—</xsl:when> <!-- dash -->
671
+ <xsl:when test="local-name(..) = 'ul'">
672
+ <xsl:call-template name="setULLabel"/>
673
+ </xsl:when>
713
674
  <xsl:otherwise> <!-- for ordered lists -->
714
675
  <xsl:choose>
715
676
  <xsl:when test="../@class = 'steps'">
@@ -749,8 +710,8 @@
749
710
  <fo:list-item-label><fo:block/></fo:list-item-label>
750
711
  <fo:list-item-body>
751
712
  <fo:block>
752
- <xsl:apply-templates select="ogc:name" mode="presentation"/>
753
- <xsl:apply-templates/>
713
+ <xsl:apply-templates select="ogc:name"/>
714
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
754
715
  </fo:block>
755
716
  </fo:list-item-body>
756
717
  </fo:list-item>
@@ -773,7 +734,7 @@
773
734
  </xsl:variable>
774
735
  <fo:block font-size="{$font-size}" role="H{$levelTerm}">
775
736
  <fo:block font-weight="bold" keep-with-next="always">
776
- <xsl:apply-templates select="ancestor::ogc:term[1]/ogc:name" mode="presentation"/>
737
+ <xsl:apply-templates select="ancestor::ogc:term[1]/ogc:name"/>
777
738
  </fo:block>
778
739
  <fo:block font-weight="bold" keep-with-next="always" line-height="1">
779
740
  <xsl:call-template name="setStyle_preferred"/>
@@ -783,65 +744,6 @@
783
744
  </xsl:template>
784
745
 
785
746
 
786
-
787
- <!-- [position() &gt; 1] -->
788
- <xsl:template match="ogc:references[not(@normative='true')]">
789
- <fo:block break-after="page"/>
790
- <fo:block id="{@id}" line-height="120%">
791
- <xsl:apply-templates/>
792
- </fo:block>
793
- </xsl:template>
794
-
795
- <xsl:template match="ogc:annex//ogc:references">
796
- <fo:block id="{@id}">
797
- <xsl:apply-templates/>
798
- </fo:block>
799
- </xsl:template>
800
-
801
- <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
802
- <xsl:template match="ogc:references[not(@normative='true')]/ogc:bibitem">
803
- <fo:list-block id="{@id}" margin-bottom="12pt" provisional-distance-between-starts="12mm">
804
- <fo:list-item>
805
- <fo:list-item-label end-indent="label-end()">
806
- <fo:block>
807
- <fo:inline>
808
- <xsl:number format="[1]"/>
809
- </fo:inline>
810
- </fo:block>
811
- </fo:list-item-label>
812
- <fo:list-item-body start-indent="body-start()">
813
- <fo:block>
814
- <xsl:call-template name="processBibitem"/>
815
- </fo:block>
816
- </fo:list-item-body>
817
- </fo:list-item>
818
- </fo:list-block>
819
- </xsl:template>
820
-
821
- <xsl:template match="ogc:references[not(@normative='true')]/ogc:bibitem" mode="contents"/>
822
-
823
- <xsl:template match="ogc:bibitem/ogc:title">
824
- <fo:inline font-style="italic">
825
- <xsl:apply-templates/>
826
- </fo:inline>
827
- </xsl:template>
828
-
829
-
830
-
831
- <xsl:template match="ogc:admonition">
832
- <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">
833
- <fo:block-container margin-left="0mm" margin-right="0mm" padding="2mm" padding-top="3mm">
834
- <fo:block font-size="11pt" margin-bottom="6pt" font-weight="bold" font-style="italic" text-align="center">
835
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(@type))"/>
836
- </fo:block>
837
- <fo:block font-style="italic">
838
- <xsl:apply-templates/>
839
- </fo:block>
840
- </fo:block-container>
841
- </fo:block-container>
842
- </xsl:template>
843
-
844
-
845
747
  <xsl:template match="ogc:formula/ogc:stem">
846
748
  <fo:block margin-top="6pt" margin-bottom="12pt">
847
749
  <fo:table table-layout="fixed" width="100%">
@@ -856,7 +758,7 @@
856
758
  </fo:table-cell>
857
759
  <fo:table-cell display-align="center">
858
760
  <fo:block text-align="right">
859
- <xsl:apply-templates select="../ogc:name" mode="presentation"/>
761
+ <xsl:apply-templates select="../ogc:name" mode="formula_number"/>
860
762
  </fo:block>
861
763
  </fo:table-cell>
862
764
  </fo:table-row>
@@ -946,55 +848,34 @@
946
848
  </xsl:choose>
947
849
  </xsl:template>
948
850
 
949
- <xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
950
-
951
- <title-annex lang="en">Annex </title-annex>
952
- <title-annex lang="fr">Annexe </title-annex>
953
-
954
- <title-annex lang="zh">Annex </title-annex>
955
-
956
-
851
+ <xsl:variable name="titles_">
957
852
 
958
853
  <title-edition lang="en">
959
854
 
960
-
961
- <xsl:text>Version</xsl:text>
962
-
855
+ <xsl:text>Version</xsl:text>
856
+
963
857
  </title-edition>
964
858
 
965
859
  <title-edition lang="fr">
966
-
967
- <xsl:text>Édition </xsl:text>
968
-
860
+ <xsl:text>Édition </xsl:text>
969
861
  </title-edition>
970
862
 
971
-
863
+ <!-- These titles of Table of contents renders different than determined in localized-strings -->
972
864
  <title-toc lang="en">
973
865
 
974
- <xsl:text>Contents</xsl:text>
975
866
 
867
+ <xsl:text>Table of Contents</xsl:text>
976
868
 
977
869
 
978
870
  </title-toc>
979
871
  <title-toc lang="fr">
872
+ <xsl:text>Sommaire</xsl:text>
873
+ </title-toc>
874
+ <title-toc lang="zh">
980
875
 
981
- <xsl:text>Sommaire</xsl:text>
982
-
983
-
984
- </title-toc>
985
-
986
- <title-toc lang="zh">Contents</title-toc>
987
-
988
-
989
-
990
- <title-page lang="en">Page</title-page>
991
- <title-page lang="fr">Page</title-page>
992
-
993
- <title-key lang="en">Key</title-key>
994
- <title-key lang="fr">Légende</title-key>
995
-
996
- <title-where lang="en">where</title-where>
997
- <title-where lang="fr">où</title-where>
876
+ <xsl:text>Contents</xsl:text>
877
+
878
+ </title-toc>
998
879
 
999
880
  <title-descriptors lang="en">Descriptors</title-descriptors>
1000
881
 
@@ -1010,32 +891,9 @@
1010
891
  </title-part>
1011
892
  <title-part lang="zh">第 # 部分:</title-part>
1012
893
 
1013
- <title-subpart lang="en">
1014
-
1015
- </title-subpart>
1016
- <title-subpart lang="fr">
1017
-
1018
- </title-subpart>
1019
-
1020
- <title-modified lang="en">modified</title-modified>
1021
- <title-modified lang="fr">modifiée</title-modified>
1022
-
1023
- <title-modified lang="zh">modified</title-modified>
894
+ <title-subpart lang="en">Sub-part #</title-subpart>
895
+ <title-subpart lang="fr">Partie de sub #</title-subpart>
1024
896
 
1025
-
1026
-
1027
- <title-source lang="en">
1028
-
1029
- <xsl:text>SOURCE</xsl:text>
1030
-
1031
-
1032
- </title-source>
1033
-
1034
- <title-keywords lang="en">Keywords</title-keywords>
1035
-
1036
- <title-deprecated lang="en">DEPRECATED</title-deprecated>
1037
- <title-deprecated lang="fr">DEPRECATED</title-deprecated>
1038
-
1039
897
  <title-list-tables lang="en">List of Tables</title-list-tables>
1040
898
 
1041
899
  <title-list-figures lang="en">List of Figures</title-list-figures>
@@ -1044,41 +902,12 @@
1044
902
 
1045
903
  <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
1046
904
 
1047
- <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
1048
-
1049
- <title-abstract lang="en">Abstract</title-abstract>
1050
-
1051
905
  <title-summary lang="en">Summary</title-summary>
1052
906
 
1053
- <title-in lang="en">in </title-in>
1054
-
1055
- <title-partly-supercedes lang="en">Partly Supercedes </title-partly-supercedes>
1056
- <title-partly-supercedes lang="zh">部分代替 </title-partly-supercedes>
1057
-
1058
- <title-completion-date lang="en">Completion date for this manuscript</title-completion-date>
1059
- <title-completion-date lang="zh">本稿完成日期</title-completion-date>
1060
-
1061
- <title-issuance-date lang="en">Issuance Date: #</title-issuance-date>
1062
- <title-issuance-date lang="zh"># 发布</title-issuance-date>
1063
-
1064
- <title-implementation-date lang="en">Implementation Date: #</title-implementation-date>
1065
- <title-implementation-date lang="zh"># 实施</title-implementation-date>
1066
-
1067
- <title-obligation-normative lang="en">normative</title-obligation-normative>
1068
- <title-obligation-normative lang="zh">规范性附录</title-obligation-normative>
1069
-
1070
- <title-caution lang="en">CAUTION</title-caution>
1071
- <title-caution lang="zh">注意</title-caution>
1072
-
1073
- <title-warning lang="en">WARNING</title-warning>
1074
- <title-warning lang="zh">警告</title-warning>
1075
-
1076
- <title-amendment lang="en">AMENDMENT</title-amendment>
1077
-
1078
907
  <title-continued lang="en">(continued)</title-continued>
1079
908
  <title-continued lang="fr">(continué)</title-continued>
1080
909
 
1081
- </xsl:variable><xsl:variable name="bibdata">
910
+ </xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="bibdata">
1082
911
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
1083
912
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
1084
913
  </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
@@ -1107,6 +936,23 @@
1107
936
  </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">
1108
937
 
1109
938
 
939
+
940
+
941
+
942
+
943
+
944
+
945
+
946
+
947
+
948
+
949
+
950
+
951
+ <xsl:attribute name="font-family">Arial, STIX Two Math, Source Han Sans</xsl:attribute>
952
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
953
+
954
+
955
+
1110
956
  </xsl:attribute-set><xsl:attribute-set name="link-style">
1111
957
 
1112
958
 
@@ -1116,6 +962,9 @@
1116
962
 
1117
963
 
1118
964
 
965
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-container-style">
966
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
967
+
1119
968
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
1120
969
  <xsl:attribute name="white-space">pre</xsl:attribute>
1121
970
  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
@@ -1125,6 +974,11 @@
1125
974
 
1126
975
 
1127
976
 
977
+
978
+
979
+
980
+
981
+
1128
982
 
1129
983
 
1130
984
 
@@ -1134,6 +988,8 @@
1134
988
  <xsl:attribute name="line-height">113%</xsl:attribute>
1135
989
 
1136
990
 
991
+
992
+
1137
993
  </xsl:attribute-set><xsl:attribute-set name="permission-style">
1138
994
 
1139
995
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
@@ -1220,6 +1076,7 @@
1220
1076
 
1221
1077
 
1222
1078
 
1079
+
1223
1080
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1224
1081
  <xsl:attribute name="margin-left">12.5mm</xsl:attribute>
1225
1082
  <xsl:attribute name="margin-right">12.5mm</xsl:attribute>
@@ -1232,7 +1089,9 @@
1232
1089
 
1233
1090
 
1234
1091
 
1092
+
1235
1093
  </xsl:attribute-set><xsl:attribute-set name="example-name-style">
1094
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1236
1095
 
1237
1096
 
1238
1097
 
@@ -1249,7 +1108,6 @@
1249
1108
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
1250
1109
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1251
1110
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1252
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
1253
1111
 
1254
1112
 
1255
1113
 
@@ -1266,6 +1124,7 @@
1266
1124
 
1267
1125
 
1268
1126
 
1127
+
1269
1128
 
1270
1129
  <xsl:attribute name="margin-bottom">14pt</xsl:attribute>
1271
1130
 
@@ -1284,202 +1143,191 @@
1284
1143
 
1285
1144
  </xsl:attribute-set><xsl:variable name="table-border_">
1286
1145
 
1287
- </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-name-style">
1288
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
1289
-
1146
+ </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
1147
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1148
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1290
1149
 
1291
1150
 
1292
1151
 
1293
1152
 
1294
-
1295
1153
 
1296
1154
 
1297
1155
 
1298
- <xsl:attribute name="font-size">11pt</xsl:attribute>
1299
- <xsl:attribute name="text-align">left</xsl:attribute>
1300
- <xsl:attribute name="color">rgb(68, 84, 106)</xsl:attribute>
1301
- <xsl:attribute name="font-weight">normal</xsl:attribute>
1302
- <xsl:attribute name="font-style">italic</xsl:attribute>
1303
- <xsl:attribute name="margin-top">0pt</xsl:attribute>
1304
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1305
- <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1306
1156
 
1307
-
1308
1157
 
1309
1158
 
1310
1159
 
1311
1160
 
1312
- </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
1313
1161
 
1314
- </xsl:attribute-set><xsl:attribute-set name="appendix-style">
1315
-
1316
- <xsl:attribute name="font-size">12pt</xsl:attribute>
1317
- <xsl:attribute name="font-weight">bold</xsl:attribute>
1318
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
1319
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1320
1162
 
1321
1163
 
1322
1164
 
1323
- </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
1324
1165
 
1325
- <xsl:attribute name="font-size">10pt</xsl:attribute>
1326
- <xsl:attribute name="margin-top">8pt</xsl:attribute>
1327
- <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
1166
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1167
+ <xsl:attribute name="space-after">12pt</xsl:attribute>
1328
1168
 
1329
1169
 
1170
+
1330
1171
 
1331
- </xsl:attribute-set><xsl:attribute-set name="xref-style">
1332
1172
 
1173
+ </xsl:attribute-set><xsl:attribute-set name="table-style">
1174
+ <xsl:attribute name="table-omit-footer-at-break">true</xsl:attribute>
1175
+ <xsl:attribute name="table-layout">fixed</xsl:attribute>
1176
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1177
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1333
1178
 
1334
1179
 
1335
- <xsl:attribute name="color">blue</xsl:attribute>
1336
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
1337
1180
 
1338
1181
 
1339
1182
 
1340
- </xsl:attribute-set><xsl:attribute-set name="eref-style">
1341
1183
 
1342
1184
 
1343
1185
 
1344
- <xsl:attribute name="color">blue</xsl:attribute>
1345
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
1346
1186
 
1347
1187
 
1348
1188
 
1349
1189
 
1350
- </xsl:attribute-set><xsl:attribute-set name="note-style">
1351
1190
 
1352
1191
 
1353
1192
 
1354
1193
 
1355
-
1356
1194
 
1195
+
1357
1196
 
1358
1197
 
1359
1198
 
1360
1199
 
1200
+ </xsl:attribute-set><xsl:attribute-set name="table-name-style">
1201
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1202
+
1361
1203
 
1362
1204
 
1363
- <xsl:attribute name="font-size">10pt</xsl:attribute>
1364
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
1365
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1366
- <xsl:attribute name="line-height">115%</xsl:attribute>
1367
1205
 
1368
1206
 
1207
+
1369
1208
 
1370
1209
 
1371
1210
 
1372
- </xsl:attribute-set><xsl:variable name="note-body-indent">10mm</xsl:variable><xsl:variable name="note-body-indent-table">5mm</xsl:variable><xsl:attribute-set name="note-name-style">
1211
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1212
+ <xsl:attribute name="text-align">left</xsl:attribute>
1213
+ <xsl:attribute name="color">rgb(68, 84, 106)</xsl:attribute>
1214
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
1215
+ <xsl:attribute name="font-style">italic</xsl:attribute>
1216
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
1217
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1218
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1373
1219
 
1220
+
1374
1221
 
1375
1222
 
1376
1223
 
1377
1224
 
1225
+ </xsl:attribute-set><xsl:attribute-set name="table-row-style">
1226
+ <xsl:attribute name="min-height">4mm</xsl:attribute>
1378
1227
 
1379
1228
 
1380
1229
 
1381
1230
 
1231
+ </xsl:attribute-set><xsl:attribute-set name="table-header-row-style" use-attribute-sets="table-row-style">
1232
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1382
1233
 
1383
1234
 
1384
- <xsl:attribute name="padding-right">4mm</xsl:attribute>
1385
1235
 
1386
1236
 
1387
1237
 
1388
- </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
1389
1238
 
1390
1239
 
1240
+
1391
1241
 
1242
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-row-style" use-attribute-sets="table-row-style">
1392
1243
 
1393
- </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1394
1244
 
1395
1245
 
1246
+ </xsl:attribute-set><xsl:attribute-set name="table-body-row-style" use-attribute-sets="table-row-style">
1247
+
1248
+ </xsl:attribute-set><xsl:attribute-set name="table-header-cell-style">
1249
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1250
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1251
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
1252
+ <xsl:attribute name="display-align">center</xsl:attribute>
1396
1253
 
1397
-
1398
1254
 
1399
1255
 
1400
1256
 
1401
1257
 
1402
1258
 
1403
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
1404
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1405
1259
 
1406
1260
 
1407
1261
 
1408
1262
 
1263
+ <xsl:attribute name="padding">1mm</xsl:attribute>
1264
+ <xsl:attribute name="background-color">rgb(0, 51, 102)</xsl:attribute>
1265
+ <xsl:attribute name="color">white</xsl:attribute>
1266
+ <xsl:attribute name="border">solid 0.5pt rgb(153, 153, 153)</xsl:attribute>
1267
+ <xsl:attribute name="height">5mm</xsl:attribute>
1409
1268
 
1410
- </xsl:attribute-set><xsl:attribute-set name="termnote-style">
1411
1269
 
1412
1270
 
1413
- <xsl:attribute name="font-size">10pt</xsl:attribute>
1414
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1415
1271
 
1272
+ </xsl:attribute-set><xsl:attribute-set name="table-cell-style">
1273
+ <xsl:attribute name="display-align">center</xsl:attribute>
1274
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1275
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
1416
1276
 
1417
1277
 
1418
1278
 
1419
1279
 
1420
1280
 
1421
- </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
1422
1281
 
1423
-
1424
1282
 
1425
1283
 
1426
- </xsl:attribute-set><xsl:attribute-set name="quote-style">
1427
- <xsl:attribute name="role">BlockQuote</xsl:attribute>
1428
1284
 
1429
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
1430
- <xsl:attribute name="margin-left">13mm</xsl:attribute>
1431
- <xsl:attribute name="margin-right">12mm</xsl:attribute>
1432
1285
 
1286
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
1287
+ <xsl:attribute name="border">solid 0.5pt rgb(153, 153, 153)</xsl:attribute>
1288
+ <xsl:attribute name="height">5mm</xsl:attribute>
1433
1289
 
1434
1290
 
1435
1291
 
1436
1292
 
1293
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
1294
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1295
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
1296
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
1297
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
1437
1298
 
1438
1299
 
1439
- </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
1440
1300
 
1441
- <xsl:attribute name="text-align">right</xsl:attribute>
1442
- <xsl:attribute name="margin-right">25mm</xsl:attribute>
1443
1301
 
1444
-
1445
-
1446
- </xsl:attribute-set><xsl:attribute-set name="termsource-style">
1447
1302
 
1448
1303
 
1449
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1450
- <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1451
1304
 
1305
+
1452
1306
 
1453
1307
 
1454
1308
 
1309
+ </xsl:attribute-set><xsl:attribute-set name="table-note-style">
1310
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1311
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1455
1312
 
1456
1313
 
1457
- </xsl:attribute-set><xsl:attribute-set name="origin-style">
1458
1314
 
1459
1315
 
1460
- <xsl:attribute name="color">blue</xsl:attribute>
1461
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
1462
1316
 
1463
1317
 
1464
1318
 
1465
- </xsl:attribute-set><xsl:attribute-set name="term-style">
1466
1319
 
1467
- </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
1320
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-style">
1321
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1468
1322
 
1469
1323
 
1470
-
1471
1324
 
1472
1325
 
1473
- <xsl:attribute name="font-size">11pt</xsl:attribute>
1474
- <xsl:attribute name="text-align">left</xsl:attribute>
1475
- <xsl:attribute name="color">rgb(68, 84, 106)</xsl:attribute>
1476
- <xsl:attribute name="font-weight">normal</xsl:attribute>
1477
- <xsl:attribute name="font-style">italic</xsl:attribute>
1478
- <xsl:attribute name="margin-top">0pt</xsl:attribute>
1479
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1480
- <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1481
1326
 
1482
1327
 
1328
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
1329
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1330
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
1483
1331
 
1484
1332
 
1485
1333
 
@@ -1489,141 +1337,561 @@
1489
1337
 
1490
1338
 
1491
1339
 
1492
-
1493
1340
 
1494
1341
 
1342
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1495
1343
 
1496
-
1497
- </xsl:attribute-set><xsl:attribute-set name="formula-style">
1498
1344
 
1499
- </xsl:attribute-set><xsl:attribute-set name="image-style">
1500
- <xsl:attribute name="text-align">center</xsl:attribute>
1345
+ </xsl:attribute-set><xsl:attribute-set name="fn-container-body-style">
1346
+ <xsl:attribute name="text-indent">0</xsl:attribute>
1347
+ <xsl:attribute name="start-indent">0</xsl:attribute>
1501
1348
 
1502
1349
 
1350
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-body-style">
1503
1351
 
1504
- <xsl:attribute name="space-before">12pt</xsl:attribute>
1505
- <xsl:attribute name="space-after">0pt</xsl:attribute>
1352
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-number-style">
1353
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1354
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
1355
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1506
1356
 
1357
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-body-style">
1358
+ <xsl:attribute name="text-align">justify</xsl:attribute>
1359
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1507
1360
 
1361
+ </xsl:attribute-set><xsl:attribute-set name="dt-row-style">
1508
1362
 
1509
1363
 
1510
- </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
1364
+ </xsl:attribute-set><xsl:attribute-set name="dt-style">
1365
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1511
1366
 
1512
- </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
1513
1367
 
1514
1368
 
1515
- <xsl:attribute name="width">100%</xsl:attribute>
1516
- <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
1369
+
1370
+
1371
+
1372
+
1373
+
1374
+
1375
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
1376
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1377
+
1378
+
1379
+ </xsl:attribute-set><xsl:attribute-set name="appendix-style">
1380
+
1381
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
1382
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1383
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
1384
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1385
+
1386
+
1387
+
1388
+ </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
1389
+
1390
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1391
+ <xsl:attribute name="margin-top">8pt</xsl:attribute>
1392
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
1393
+
1394
+
1395
+
1396
+ </xsl:attribute-set><xsl:attribute-set name="xref-style">
1397
+
1398
+
1399
+
1400
+ <xsl:attribute name="color">blue</xsl:attribute>
1401
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
1402
+
1403
+
1404
+
1405
+ </xsl:attribute-set><xsl:attribute-set name="eref-style">
1406
+
1407
+
1408
+
1409
+ <xsl:attribute name="color">blue</xsl:attribute>
1410
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
1411
+
1412
+
1413
+
1414
+
1415
+ </xsl:attribute-set><xsl:attribute-set name="note-style">
1416
+
1417
+
1418
+
1419
+
1420
+
1421
+
1422
+
1423
+
1424
+
1425
+
1426
+
1427
+
1428
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1429
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
1430
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1431
+ <xsl:attribute name="line-height">115%</xsl:attribute>
1432
+
1433
+
1434
+
1435
+
1436
+
1437
+ </xsl:attribute-set><xsl:variable name="note-body-indent">10mm</xsl:variable><xsl:variable name="note-body-indent-table">5mm</xsl:variable><xsl:attribute-set name="note-name-style">
1438
+
1439
+
1440
+
1441
+
1442
+
1443
+
1444
+
1445
+
1446
+
1447
+
1448
+
1449
+ <xsl:attribute name="padding-right">4mm</xsl:attribute>
1450
+
1451
+
1452
+
1453
+ </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
1454
+ <xsl:attribute name="padding-right">2mm</xsl:attribute>
1455
+
1456
+
1457
+
1458
+
1459
+ </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1460
+
1461
+
1462
+
1463
+
1464
+
1465
+
1466
+
1467
+
1468
+
1469
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
1470
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1471
+
1472
+
1473
+
1474
+
1475
+
1476
+ </xsl:attribute-set><xsl:attribute-set name="termnote-style">
1477
+
1478
+
1479
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1480
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1481
+
1482
+
1483
+
1484
+
1485
+
1486
+
1487
+ </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
1488
+
1489
+
1490
+
1491
+
1492
+ </xsl:attribute-set><xsl:attribute-set name="quote-style">
1493
+ <xsl:attribute name="role">BlockQuote</xsl:attribute>
1494
+
1495
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
1496
+ <xsl:attribute name="margin-left">13mm</xsl:attribute>
1497
+ <xsl:attribute name="margin-right">12mm</xsl:attribute>
1498
+
1499
+
1500
+
1501
+
1502
+
1503
+
1504
+
1505
+ </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
1506
+
1507
+ <xsl:attribute name="text-align">right</xsl:attribute>
1508
+ <xsl:attribute name="margin-right">25mm</xsl:attribute>
1509
+
1510
+
1511
+
1512
+ </xsl:attribute-set><xsl:attribute-set name="termsource-style">
1513
+
1514
+
1515
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1516
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1517
+
1518
+
1519
+
1520
+
1521
+
1522
+
1523
+ </xsl:attribute-set><xsl:attribute-set name="termsource-text-style">
1524
+
1525
+
1526
+ </xsl:attribute-set><xsl:attribute-set name="origin-style">
1527
+
1528
+
1529
+ <xsl:attribute name="color">blue</xsl:attribute>
1530
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
1531
+
1532
+
1533
+
1534
+ </xsl:attribute-set><xsl:attribute-set name="term-style">
1535
+
1536
+ </xsl:attribute-set><xsl:attribute-set name="figure-style">
1537
+
1538
+ </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
1539
+
1540
+
1541
+
1542
+
1543
+
1544
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1545
+ <xsl:attribute name="text-align">left</xsl:attribute>
1546
+ <xsl:attribute name="color">rgb(68, 84, 106)</xsl:attribute>
1547
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
1548
+ <xsl:attribute name="font-style">italic</xsl:attribute>
1549
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
1550
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1551
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1552
+
1553
+
1554
+
1555
+
1556
+
1557
+
1558
+
1559
+
1560
+
1561
+
1562
+
1563
+
1564
+
1565
+
1566
+
1567
+
1568
+ </xsl:attribute-set><xsl:attribute-set name="formula-style">
1569
+
1570
+ </xsl:attribute-set><xsl:attribute-set name="image-style">
1571
+ <xsl:attribute name="text-align">center</xsl:attribute>
1572
+
1573
+
1574
+
1575
+ <xsl:attribute name="space-before">12pt</xsl:attribute>
1576
+ <xsl:attribute name="space-after">0pt</xsl:attribute>
1577
+
1578
+
1579
+
1580
+
1581
+ </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
1582
+
1583
+ </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
1584
+
1585
+
1586
+ <xsl:attribute name="width">100%</xsl:attribute>
1587
+ <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
1517
1588
  <xsl:attribute name="scaling">uniform</xsl:attribute>
1518
1589
 
1519
1590
 
1520
1591
 
1521
-
1522
-
1523
- </xsl:attribute-set><xsl:attribute-set name="tt-style">
1592
+
1593
+
1594
+ </xsl:attribute-set><xsl:attribute-set name="tt-style">
1595
+
1596
+
1597
+ <xsl:attribute name="font-family">Courier New</xsl:attribute>
1598
+
1599
+
1600
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
1601
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1602
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1603
+ <xsl:attribute name="text-align">center</xsl:attribute>
1604
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1605
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1606
+
1607
+ </xsl:attribute-set><xsl:attribute-set name="domain-style">
1608
+
1609
+ </xsl:attribute-set><xsl:attribute-set name="admitted-style">
1610
+
1611
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1612
+
1613
+
1614
+
1615
+ </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
1616
+
1617
+
1618
+ </xsl:attribute-set><xsl:attribute-set name="definition-style">
1619
+
1620
+ <xsl:attribute name="space-after">6pt</xsl:attribute>
1621
+
1622
+
1623
+
1624
+ </xsl:attribute-set><xsl:variable name="color-added-text">
1625
+ <xsl:text>rgb(0, 255, 0)</xsl:text>
1626
+ </xsl:variable><xsl:attribute-set name="add-style">
1627
+ <xsl:attribute name="color">red</xsl:attribute>
1628
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
1629
+ <!-- <xsl:attribute name="color">black</xsl:attribute>
1630
+ <xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
1631
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
1632
+ <xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
1633
+ </xsl:attribute-set><xsl:variable name="color-deleted-text">
1634
+ <xsl:text>red</xsl:text>
1635
+ </xsl:variable><xsl:attribute-set name="del-style">
1636
+ <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
1637
+ <xsl:attribute name="text-decoration">line-through</xsl:attribute>
1638
+ </xsl:attribute-set><xsl:attribute-set name="mathml-style">
1639
+ <xsl:attribute name="font-family">STIX Two Math</xsl:attribute>
1640
+
1641
+
1642
+ </xsl:attribute-set><xsl:attribute-set name="list-style">
1643
+
1644
+ </xsl:attribute-set><xsl:attribute-set name="toc-style">
1645
+ <xsl:attribute name="line-height">135%</xsl:attribute>
1646
+ </xsl:attribute-set><xsl:attribute-set name="fn-reference-style">
1647
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1648
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1649
+
1650
+
1651
+
1652
+
1653
+
1654
+
1655
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1656
+ <xsl:attribute name="color">blue</xsl:attribute>
1657
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
1658
+
1659
+
1660
+
1661
+ </xsl:attribute-set><xsl:attribute-set name="fn-style">
1662
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1663
+ </xsl:attribute-set><xsl:attribute-set name="fn-num-style">
1664
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1665
+
1666
+
1667
+
1668
+
1669
+
1670
+
1671
+
1672
+
1673
+
1674
+
1675
+
1676
+
1677
+
1678
+ <xsl:attribute name="font-size">65%</xsl:attribute>
1679
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1680
+
1681
+
1682
+
1683
+
1684
+ </xsl:attribute-set><xsl:attribute-set name="fn-body-style">
1685
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
1686
+ <xsl:attribute name="font-style">normal</xsl:attribute>
1687
+ <xsl:attribute name="text-indent">0</xsl:attribute>
1688
+ <xsl:attribute name="start-indent">0</xsl:attribute>
1689
+
1690
+
1691
+
1692
+
1693
+
1694
+
1695
+
1696
+
1697
+
1698
+
1699
+
1700
+
1701
+
1702
+
1703
+
1704
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1705
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1706
+ <xsl:attribute name="color">black</xsl:attribute>
1707
+ <xsl:attribute name="text-align">justify</xsl:attribute>
1708
+
1709
+
1710
+
1711
+
1712
+ </xsl:attribute-set><xsl:attribute-set name="fn-body-num-style">
1713
+ <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
1714
+
1715
+
1716
+
1717
+
1718
+
1719
+
1720
+
1721
+
1722
+
1723
+
1724
+
1725
+
1726
+
1727
+
1728
+ <xsl:attribute name="font-size">60%</xsl:attribute>
1729
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1730
+
1731
+
1732
+
1733
+
1734
+ </xsl:attribute-set><xsl:attribute-set name="admonition-style">
1735
+
1736
+
1737
+
1738
+
1739
+
1740
+
1741
+
1742
+
1743
+
1744
+
1745
+
1746
+ <xsl:attribute name="border">0.5pt solid rgb(79, 129, 189)</xsl:attribute>
1747
+ <xsl:attribute name="color">rgb(79, 129, 189)</xsl:attribute>
1748
+ <xsl:attribute name="margin-left">16mm</xsl:attribute>
1749
+ <xsl:attribute name="margin-right">16mm</xsl:attribute>
1750
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1751
+
1752
+
1753
+
1754
+
1755
+ </xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
1756
+
1757
+
1758
+
1759
+
1760
+
1761
+
1762
+
1763
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1764
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1765
+ <xsl:attribute name="padding">2mm</xsl:attribute>
1766
+ <xsl:attribute name="padding-top">3mm</xsl:attribute>
1767
+
1768
+
1769
+
1770
+
1771
+ </xsl:attribute-set><xsl:attribute-set name="admonition-name-style">
1772
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1773
+
1774
+
1775
+
1776
+
1777
+
1778
+
1779
+
1780
+
1781
+
1782
+
1783
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1784
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1785
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1786
+ <xsl:attribute name="font-style">italic</xsl:attribute>
1787
+ <xsl:attribute name="text-align">center</xsl:attribute>
1788
+
1789
+
1790
+
1791
+
1792
+ </xsl:attribute-set><xsl:attribute-set name="admonition-p-style">
1793
+
1794
+
1795
+
1796
+
1797
+
1798
+
1799
+
1800
+
1801
+ <xsl:attribute name="font-style">italic</xsl:attribute>
1802
+
1803
+
1804
+
1805
+
1806
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-style">
1807
+
1808
+
1809
+
1810
+
1811
+
1812
+
1524
1813
 
1525
1814
 
1526
- <xsl:attribute name="font-family">Courier New</xsl:attribute>
1527
1815
 
1528
1816
 
1529
- </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
1530
- <xsl:attribute name="font-size">11pt</xsl:attribute>
1531
- <xsl:attribute name="font-weight">bold</xsl:attribute>
1532
- <xsl:attribute name="text-align">center</xsl:attribute>
1533
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1534
- <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1535
1817
 
1536
- </xsl:attribute-set><xsl:attribute-set name="domain-style">
1537
-
1538
- </xsl:attribute-set><xsl:attribute-set name="admitted-style">
1539
1818
 
1540
- <xsl:attribute name="font-size">11pt</xsl:attribute>
1541
1819
 
1542
1820
 
1543
1821
 
1544
- </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
1545
1822
 
1823
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1824
+ <xsl:attribute name="start-indent">12mm</xsl:attribute>
1825
+ <xsl:attribute name="text-indent">-12mm</xsl:attribute>
1826
+ <xsl:attribute name="line-height">115%</xsl:attribute>
1546
1827
 
1547
- </xsl:attribute-set><xsl:attribute-set name="definition-style">
1548
1828
 
1549
- <xsl:attribute name="space-after">6pt</xsl:attribute>
1550
1829
 
1830
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-style">
1831
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
1832
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1551
1833
 
1552
1834
 
1553
- </xsl:attribute-set><xsl:variable name="color-added-text">
1554
- <xsl:text>rgb(0, 255, 0)</xsl:text>
1555
- </xsl:variable><xsl:attribute-set name="add-style">
1556
- <xsl:attribute name="color">red</xsl:attribute>
1557
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
1558
- <!-- <xsl:attribute name="color">black</xsl:attribute>
1559
- <xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
1560
- <xsl:attribute name="padding-top">1mm</xsl:attribute>
1561
- <xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
1562
- </xsl:attribute-set><xsl:variable name="color-deleted-text">
1563
- <xsl:text>red</xsl:text>
1564
- </xsl:variable><xsl:attribute-set name="del-style">
1565
- <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
1566
- <xsl:attribute name="text-decoration">line-through</xsl:attribute>
1567
- </xsl:attribute-set><xsl:attribute-set name="mathml-style">
1568
- <xsl:attribute name="font-family">STIX Two Math</xsl:attribute>
1569
1835
 
1570
1836
 
1571
- </xsl:attribute-set><xsl:attribute-set name="list-style">
1572
1837
 
1573
- </xsl:attribute-set><xsl:attribute-set name="toc-style">
1574
- <xsl:attribute name="line-height">135%</xsl:attribute>
1575
- </xsl:attribute-set><xsl:attribute-set name="fn-style">
1576
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1577
- </xsl:attribute-set><xsl:attribute-set name="fn-num-style">
1578
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1579
1838
 
1580
1839
 
1581
1840
 
1582
1841
 
1583
1842
 
1843
+
1584
1844
 
1585
1845
 
1846
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-style">
1586
1847
 
1587
1848
 
1588
1849
 
1589
1850
 
1851
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-style">
1852
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
1853
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1590
1854
 
1591
1855
 
1592
- <xsl:attribute name="font-size">65%</xsl:attribute>
1593
- <xsl:attribute name="vertical-align">super</xsl:attribute>
1594
1856
 
1595
1857
 
1596
1858
 
1597
1859
 
1598
- </xsl:attribute-set><xsl:attribute-set name="fn-body-style">
1599
- <xsl:attribute name="font-weight">normal</xsl:attribute>
1600
- <xsl:attribute name="font-style">normal</xsl:attribute>
1601
- <xsl:attribute name="text-indent">0</xsl:attribute>
1602
- <xsl:attribute name="start-indent">0</xsl:attribute>
1603
1860
 
1604
1861
 
1605
1862
 
1606
1863
 
1864
+
1607
1865
 
1608
1866
 
1867
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
1609
1868
 
1610
1869
 
1870
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-body-style">
1611
1871
 
1612
1872
 
1873
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-style">
1874
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1875
+ <xsl:attribute name="font-size">65%</xsl:attribute>
1613
1876
 
1614
1877
 
1615
1878
 
1616
1879
 
1617
1880
 
1618
- <xsl:attribute name="font-size">10pt</xsl:attribute>
1619
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1620
- <xsl:attribute name="color">black</xsl:attribute>
1621
- <xsl:attribute name="text-align">justify</xsl:attribute>
1622
1881
 
1623
1882
 
1624
1883
 
1625
1884
 
1626
- </xsl:attribute-set><xsl:attribute-set name="fn-body-num-style">
1885
+
1886
+
1887
+
1888
+
1889
+
1890
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1891
+
1892
+
1893
+
1894
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-number-style">
1627
1895
  <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
1628
1896
 
1629
1897
 
@@ -1644,31 +1912,32 @@
1644
1912
 
1645
1913
 
1646
1914
 
1915
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-body-style">
1916
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1917
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1918
+ <xsl:attribute name="start-indent">0pt</xsl:attribute>
1919
+
1920
+
1921
+
1922
+
1923
+
1924
+
1925
+
1926
+
1927
+
1928
+
1929
+
1930
+ </xsl:attribute-set><xsl:attribute-set name="references-non-normative-style">
1647
1931
 
1648
- </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">
1649
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
1650
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
1651
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
1652
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
1653
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
1654
- </xsl:template><xsl:template name="processPrefaceSectionsDefault_Contents">
1932
+
1933
+
1934
+ <xsl:attribute name="line-height">120%</xsl:attribute>
1935
+
1936
+ </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">
1655
1937
  <xsl:for-each select="/*/*[local-name()='preface']/*">
1656
1938
  <xsl:sort select="@displayorder" data-type="number"/>
1657
1939
  <xsl:apply-templates select="." mode="contents"/>
1658
1940
  </xsl:for-each>
1659
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault_Contents">
1660
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
1661
-
1662
- <!-- Normative references -->
1663
- <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"/>
1664
- <!-- Terms and definitions -->
1665
- <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"/>
1666
- <!-- Another main sections -->
1667
- <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"/>
1668
- <xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
1669
- <!-- Bibliography -->
1670
- <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"/>
1671
-
1672
1941
  </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
1673
1942
 
1674
1943
  <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']]">
@@ -1685,29 +1954,11 @@
1685
1954
  <xsl:sort select="@displayorder" data-type="number"/>
1686
1955
  <xsl:apply-templates select="." mode="contents"/>
1687
1956
  </xsl:for-each>
1688
- </xsl:template><xsl:template name="OLD_processPrefaceSectionsDefault">
1689
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
1690
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
1691
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
1692
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
1693
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
1694
1957
  </xsl:template><xsl:template name="processPrefaceSectionsDefault">
1695
1958
  <xsl:for-each select="/*/*[local-name()='preface']/*">
1696
1959
  <xsl:sort select="@displayorder" data-type="number"/>
1697
1960
  <xsl:apply-templates select="."/>
1698
1961
  </xsl:for-each>
1699
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault">
1700
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
1701
-
1702
- <!-- Normative references -->
1703
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
1704
- <!-- Terms and definitions -->
1705
- <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']]"/>
1706
- <!-- Another main sections -->
1707
- <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'])]"/>
1708
- <xsl:apply-templates select="/*/*[local-name()='annex']"/>
1709
- <!-- Bibliography -->
1710
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
1711
1962
  </xsl:template><xsl:template name="processMainSectionsDefault">
1712
1963
  <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
1713
1964
  <xsl:sort select="@displayorder" data-type="number"/>
@@ -1744,41 +1995,17 @@
1744
1995
  <xsl:call-template name="getSimpleTable"/>
1745
1996
  </xsl:variable>
1746
1997
 
1747
- <!-- <xsl:if test="$namespace = 'bipm'">
1748
- <fo:block>&#xA0;</fo:block>
1749
- </xsl:if> -->
1750
-
1751
1998
 
1752
1999
  <!-- Display table's name before table as standalone block -->
1753
2000
  <!-- $namespace = 'iso' or -->
1754
2001
 
1755
2002
 
1756
2003
 
1757
-
1758
-
1759
- <xsl:call-template name="fn_name_display"/>
1760
-
2004
+ <xsl:call-template name="table_name_fn_display"/>
1761
2005
 
1762
2006
 
1763
2007
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)/*/tr[1]/td)"/>
1764
2008
 
1765
- <!-- <xsl:variable name="cols-count">
1766
- <xsl:choose>
1767
- <xsl:when test="*[local-name()='thead']">
1768
- <xsl:call-template name="calculate-columns-numbers">
1769
- <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
1770
- </xsl:call-template>
1771
- </xsl:when>
1772
- <xsl:otherwise>
1773
- <xsl:call-template name="calculate-columns-numbers">
1774
- <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
1775
- </xsl:call-template>
1776
- </xsl:otherwise>
1777
- </xsl:choose>
1778
- </xsl:variable> -->
1779
- <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
1780
- <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
1781
-
1782
2009
  <xsl:variable name="colwidths">
1783
2010
  <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
1784
2011
  <xsl:call-template name="calculate-column-widths">
@@ -1789,17 +2016,8 @@
1789
2016
  </xsl:variable>
1790
2017
  <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
1791
2018
 
1792
- <!-- <xsl:variable name="colwidths2">
1793
- <xsl:call-template name="calculate-column-widths">
1794
- <xsl:with-param name="cols-count" select="$cols-count"/>
1795
- </xsl:call-template>
1796
- </xsl:variable> -->
1797
-
1798
- <!-- cols-count=<xsl:copy-of select="$cols-count"/>
1799
- colwidthsNew=<xsl:copy-of select="$colwidths"/>
1800
- colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
1801
2019
 
1802
- <xsl:variable name="margin-left">
2020
+ <xsl:variable name="margin-side">
1803
2021
  <xsl:choose>
1804
2022
  <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
1805
2023
  <xsl:otherwise>0</xsl:otherwise>
@@ -1807,77 +2025,66 @@
1807
2025
  </xsl:variable>
1808
2026
 
1809
2027
 
1810
- <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
1811
-
1812
-
1813
- <xsl:attribute name="font-size">10pt</xsl:attribute>
1814
-
1815
-
1816
-
1817
-
1818
-
1819
-
1820
-
2028
+ <fo:block-container xsl:use-attribute-sets="table-container-style">
2029
+
1821
2030
 
1822
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
1823
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
1824
- <xsl:attribute name="space-after">12pt</xsl:attribute>
1825
-
2031
+
1826
2032
 
2033
+
1827
2034
 
2035
+
1828
2036
 
1829
2037
 
1830
2038
 
2039
+
1831
2040
 
1832
2041
 
1833
2042
 
1834
2043
 
1835
2044
 
2045
+ <!-- end table block-container attributes -->
1836
2046
 
1837
2047
  <!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
1838
2048
 
1839
2049
 
2050
+ <xsl:variable name="table_width_default">100%</xsl:variable>
1840
2051
  <xsl:variable name="table_width">
1841
2052
  <!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
1842
2053
 
1843
-
1844
-
1845
- <xsl:choose>
1846
- <xsl:when test="@width"><xsl:value-of select="@width"/></xsl:when>
1847
- <xsl:otherwise>100%</xsl:otherwise>
1848
- </xsl:choose>
1849
-
2054
+ <xsl:choose>
2055
+ <xsl:when test="@width"><xsl:value-of select="@width"/></xsl:when>
2056
+ <xsl:otherwise><xsl:value-of select="$table_width_default"/></xsl:otherwise>
2057
+ </xsl:choose>
2058
+
1850
2059
  </xsl:variable>
1851
2060
 
2061
+
1852
2062
  <xsl:variable name="table_attributes">
1853
- <attribute name="table-layout">fixed</attribute>
1854
- <attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
1855
- <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
1856
- <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
1857
-
1858
-
1859
-
1860
-
1861
-
1862
-
1863
-
1864
-
1865
- <attribute name="margin-left">0mm</attribute>
1866
- <attribute name="margin-right">0mm</attribute>
1867
-
1868
-
1869
-
1870
-
1871
-
1872
-
1873
-
2063
+
2064
+ <xsl:element name="table_attributes" use-attribute-sets="table-style">
2065
+ <xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
2066
+
2067
+
2068
+
2069
+
2070
+
2071
+
2072
+
2073
+
2074
+
2075
+
2076
+
2077
+
2078
+
2079
+
2080
+ </xsl:element>
1874
2081
  </xsl:variable>
1875
2082
 
1876
2083
 
1877
- <fo:table id="{@id}" table-omit-footer-at-break="true">
2084
+ <fo:table id="{@id}">
1878
2085
 
1879
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
1880
- <xsl:attribute name="{@name}">
2086
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
2087
+ <xsl:attribute name="{local-name()}">
1881
2088
  <xsl:value-of select="."/>
1882
2089
  </xsl:attribute>
1883
2090
  </xsl:for-each>
@@ -1888,7 +2095,6 @@
1888
2095
  </xsl:if>
1889
2096
 
1890
2097
 
1891
-
1892
2098
  <xsl:choose>
1893
2099
  <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
1894
2100
  <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
@@ -1914,7 +2120,7 @@
1914
2120
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
1915
2121
  </xsl:when>
1916
2122
  <xsl:otherwise>
1917
- <xsl:apply-templates/>
2123
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
1918
2124
  </xsl:otherwise>
1919
2125
  </xsl:choose>
1920
2126
 
@@ -1929,30 +2135,11 @@
1929
2135
  </xsl:call-template>
1930
2136
  </xsl:for-each>
1931
2137
 
1932
- <!-- insert footer as table -->
1933
- <!-- <fo:table>
1934
- <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
1935
- <xsl:attribute name="{@name}">
1936
- <xsl:value-of select="."/>
1937
- </xsl:attribute>
1938
- </xsl:for-each>
1939
-
1940
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
1941
- <xsl:choose>
1942
- <xsl:when test=". = 1 or . = 0">
1943
- <fo:table-column column-width="proportional-column-width(2)"/>
1944
- </xsl:when>
1945
- <xsl:otherwise>
1946
- <fo:table-column column-width="proportional-column-width({.})"/>
1947
- </xsl:otherwise>
1948
- </xsl:choose>
1949
- </xsl:for-each>
1950
- </fo:table>-->
1951
2138
 
1952
2139
 
1953
2140
 
1954
2141
 
1955
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
2142
+ <xsl:apply-templates select="*[local-name()='name']"/>
1956
2143
 
1957
2144
 
1958
2145
  </fo:block-container>
@@ -2007,18 +2194,17 @@
2007
2194
  </xsl:otherwise>
2008
2195
  </xsl:choose>
2009
2196
 
2010
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
2197
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
2011
2198
  <xsl:param name="continued"/>
2012
2199
  <xsl:if test="normalize-space() != ''">
2013
2200
  <fo:block xsl:use-attribute-sets="table-name-style">
2014
-
2201
+
2015
2202
 
2016
2203
 
2017
2204
 
2018
2205
 
2019
2206
  <xsl:choose>
2020
2207
  <xsl:when test="$continued = 'true'">
2021
- <!-- <xsl:if test="$namespace = 'bsi'"></xsl:if> -->
2022
2208
 
2023
2209
  </xsl:when>
2024
2210
  <xsl:otherwise>
@@ -2081,13 +2267,6 @@
2081
2267
  <xsl:for-each select="xalan:nodeset($table)/*/tr">
2082
2268
  <xsl:variable name="td_text">
2083
2269
  <xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
2084
-
2085
- <!-- <xsl:if test="$namespace = 'bipm'">
2086
- <xsl:for-each select="*[local-name()='td'][$curr-col]//*[local-name()='math']">
2087
- <word><xsl:value-of select="normalize-space(.)"/></word>
2088
- </xsl:for-each>
2089
- </xsl:if> -->
2090
-
2091
2270
  </xsl:variable>
2092
2271
  <xsl:variable name="words">
2093
2272
  <xsl:variable name="string_with_added_zerospaces">
@@ -2124,7 +2303,6 @@
2124
2303
  </xsl:otherwise>
2125
2304
  </xsl:choose>
2126
2305
  </xsl:variable>
2127
-
2128
2306
 
2129
2307
  <column>
2130
2308
  <xsl:for-each select="xalan:nodeset($widths)//width">
@@ -2160,7 +2338,6 @@
2160
2338
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
2161
2339
  </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
2162
2340
  <xsl:param name="cols-count"/>
2163
- <!-- font-weight="bold" -->
2164
2341
  <fo:table-header>
2165
2342
 
2166
2343
 
@@ -2172,13 +2349,12 @@
2172
2349
  <fo:table-row>
2173
2350
  <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">
2174
2351
 
2175
- <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation">
2352
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
2176
2353
  <xsl:with-param name="continued">true</xsl:with-param>
2177
2354
  </xsl:apply-templates>
2178
2355
 
2179
2356
 
2180
2357
 
2181
-
2182
2358
  </fo:table-cell>
2183
2359
  </fo:table-row>
2184
2360
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
@@ -2194,64 +2370,6 @@
2194
2370
  <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
2195
2371
  </fo:table-footer>
2196
2372
  </xsl:if>
2197
- </xsl:template><xsl:template name="insertTableFooter2">
2198
- <xsl:param name="cols-count"/>
2199
- <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
2200
- <xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
2201
-
2202
- <fo:table-footer>
2203
-
2204
- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
2205
-
2206
- <!-- if there are note(s) or fn(s) then create footer row -->
2207
- <xsl:if test="$isNoteOrFnExist = 'true'">
2208
-
2209
-
2210
-
2211
- <fo:table-row>
2212
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
2213
-
2214
-
2215
-
2216
- <!-- fn will be processed inside 'note' processing -->
2217
-
2218
-
2219
-
2220
-
2221
-
2222
-
2223
- <!-- except gb -->
2224
-
2225
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2226
-
2227
-
2228
- <!-- show Note under table in preface (ex. abstract) sections -->
2229
- <!-- empty, because notes show at page side in main sections -->
2230
- <!-- <xsl:if test="$namespace = 'bipm'">
2231
- <xsl:choose>
2232
- <xsl:when test="ancestor::*[local-name()='preface']">
2233
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2234
- </xsl:when>
2235
- <xsl:otherwise>
2236
- <fo:block/>
2237
- </xsl:otherwise>
2238
- </xsl:choose>
2239
- </xsl:if> -->
2240
-
2241
-
2242
- <!-- horizontal row separator -->
2243
-
2244
-
2245
- <!-- fn processing -->
2246
- <xsl:call-template name="fn_display"/>
2247
-
2248
- </fo:table-cell>
2249
- </fo:table-row>
2250
-
2251
- </xsl:if>
2252
- </fo:table-footer>
2253
-
2254
- </xsl:if>
2255
2373
  </xsl:template><xsl:template name="insertTableFooterInSeparateTable">
2256
2374
  <xsl:param name="table_attributes"/>
2257
2375
  <xsl:param name="colwidths"/>
@@ -2277,17 +2395,18 @@
2277
2395
  </xsl:variable>
2278
2396
 
2279
2397
  <fo:table keep-with-previous="always">
2280
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
2398
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
2399
+ <xsl:variable name="name" select="local-name()"/>
2281
2400
  <xsl:choose>
2282
- <xsl:when test="@name = 'border-top'">
2283
- <xsl:attribute name="{@name}">0pt solid black</xsl:attribute>
2401
+ <xsl:when test="$name = 'border-top'">
2402
+ <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
2284
2403
  </xsl:when>
2285
- <xsl:when test="@name = 'border'">
2286
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
2404
+ <xsl:when test="$name = 'border'">
2405
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
2287
2406
  <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
2288
2407
  </xsl:when>
2289
2408
  <xsl:otherwise>
2290
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
2409
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
2291
2410
  </xsl:otherwise>
2292
2411
  </xsl:choose>
2293
2412
  </xsl:for-each>
@@ -2316,9 +2435,10 @@
2316
2435
 
2317
2436
  <fo:table-body>
2318
2437
  <fo:table-row>
2319
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
2438
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
2320
2439
 
2321
2440
 
2441
+
2322
2442
 
2323
2443
 
2324
2444
  <!-- fn will be processed inside 'note' processing -->
@@ -2328,37 +2448,20 @@
2328
2448
 
2329
2449
 
2330
2450
 
2331
-
2332
-
2333
-
2334
2451
  <!-- for BSI (not PAS) display Notes before footnotes -->
2335
2452
 
2336
2453
 
2337
- <!-- except gb -->
2338
-
2339
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2454
+ <!-- except gb and bsi -->
2340
2455
 
2341
-
2342
- <!-- <xsl:if test="$namespace = 'bipm'">
2343
- <xsl:choose>
2344
- <xsl:when test="ancestor::*[local-name()='preface']">
2345
- show Note under table in preface (ex. abstract) sections
2346
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2347
- </xsl:when>
2348
- <xsl:otherwise>
2349
- empty, because notes show at page side in main sections
2350
- <fo:block/>
2351
- </xsl:otherwise>
2352
- </xsl:choose>
2353
- </xsl:if> -->
2456
+ <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2457
+
2354
2458
 
2355
2459
 
2356
2460
  <!-- horizontal row separator -->
2357
2461
 
2358
2462
 
2359
2463
  <!-- fn processing -->
2360
- <xsl:call-template name="fn_display"/>
2361
-
2464
+ <xsl:call-template name="table_fn_display"/>
2362
2465
 
2363
2466
  <!-- for PAS display Notes after footnotes -->
2364
2467
 
@@ -2388,96 +2491,69 @@
2388
2491
 
2389
2492
 
2390
2493
 
2391
- <xsl:apply-templates select="../*[local-name()='thead']" mode="process">
2392
- <xsl:with-param name="cols-count" select="$cols-count"/>
2393
- </xsl:apply-templates>
2494
+ <xsl:apply-templates select="../*[local-name()='thead']" mode="process">
2495
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2496
+ </xsl:apply-templates>
2497
+
2498
+ <xsl:call-template name="insertTableFooter">
2499
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2500
+ </xsl:call-template>
2501
+
2502
+ <fo:table-body>
2503
+
2504
+
2505
+ <xsl:apply-templates/>
2506
+
2507
+ </fo:table-body>
2508
+
2509
+ </xsl:template><xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
2510
+ <fo:table-row xsl:use-attribute-sets="table-header-row-style">
2511
+
2512
+
2513
+
2514
+
2515
+
2516
+
2517
+
2518
+ <xsl:call-template name="setTableRowAttributes"/>
2519
+
2520
+ <xsl:apply-templates/>
2521
+ </fo:table-row>
2522
+ </xsl:template><xsl:template match="*[local-name()='tfoot']/*[local-name()='tr']" priority="2">
2523
+ <fo:table-row xsl:use-attribute-sets="table-footer-row-style">
2524
+
2525
+ <xsl:call-template name="setTableRowAttributes"/>
2526
+ <xsl:apply-templates/>
2527
+ </fo:table-row>
2528
+ </xsl:template><xsl:template match="*[local-name()='tr']">
2529
+ <fo:table-row xsl:use-attribute-sets="table-body-row-style">
2530
+
2531
+
2532
+
2533
+
2534
+
2535
+ <xsl:call-template name="setTableRowAttributes"/>
2536
+ <xsl:apply-templates/>
2537
+ </fo:table-row>
2538
+ </xsl:template><xsl:template name="setTableRowAttributes">
2539
+
2394
2540
 
2395
- <xsl:call-template name="insertTableFooter">
2396
- <xsl:with-param name="cols-count" select="$cols-count"/>
2397
- </xsl:call-template>
2541
+
2398
2542
 
2399
- <fo:table-body>
2400
-
2401
2543
 
2402
- <xsl:apply-templates/>
2403
- <!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
2404
2544
 
2405
- </fo:table-body>
2406
2545
 
2407
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/text()[1]" priority="2" mode="presentation_name">
2408
- <xsl:choose>
2409
- <xsl:when test="substring-after(., '—') != ''">
2410
- <xsl:text>—</xsl:text><xsl:value-of select="substring-after(., '—')"/>
2411
- </xsl:when>
2412
- <xsl:otherwise>
2413
- <xsl:value-of select="."/>
2414
- </xsl:otherwise>
2415
- </xsl:choose>
2416
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="presentation_name">
2417
- <xsl:apply-templates mode="presentation_name"/>
2418
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/node()" mode="presentation_name">
2419
- <xsl:apply-templates select="."/>
2420
- </xsl:template><xsl:template match="*[local-name()='tr']">
2421
- <xsl:variable name="parent-name" select="local-name(..)"/>
2422
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
2423
- <fo:table-row min-height="4mm">
2424
- <xsl:if test="$parent-name = 'thead'">
2425
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2426
-
2427
-
2428
-
2429
-
2430
-
2431
-
2432
-
2433
-
2434
- </xsl:if>
2435
- <xsl:if test="$parent-name = 'tfoot'">
2436
-
2437
-
2438
-
2439
- </xsl:if>
2440
-
2441
-
2442
-
2443
-
2444
-
2445
-
2446
-
2447
-
2448
-
2449
-
2450
- <!-- <xsl:if test="$namespace = 'bipm'">
2451
- <xsl:attribute name="height">8mm</xsl:attribute>
2452
- </xsl:if> -->
2453
-
2454
- <xsl:apply-templates/>
2455
- </fo:table-row>
2546
+
2456
2547
  </xsl:template><xsl:template match="*[local-name()='th']">
2457
- <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
2458
- <xsl:attribute name="text-align">
2459
- <xsl:choose>
2460
- <xsl:when test="@align">
2461
- <xsl:call-template name="setAlignment"/>
2462
- <!-- <xsl:value-of select="@align"/> -->
2463
- </xsl:when>
2464
- <xsl:otherwise>center</xsl:otherwise>
2465
- </xsl:choose>
2466
- </xsl:attribute>
2467
-
2468
-
2469
-
2470
-
2471
-
2548
+ <fo:table-cell xsl:use-attribute-sets="table-header-cell-style"> <!-- text-align="{@align}" -->
2549
+ <xsl:call-template name="setTextAlignment">
2550
+ <xsl:with-param name="default">center</xsl:with-param>
2551
+ </xsl:call-template>
2472
2552
 
2473
2553
 
2474
- <xsl:attribute name="padding">1mm</xsl:attribute>
2475
- <xsl:attribute name="background-color">rgb(0, 51, 102)</xsl:attribute>
2476
- <xsl:attribute name="color">white</xsl:attribute>
2477
- <xsl:attribute name="border">solid 0.5pt rgb(153, 153, 153)</xsl:attribute>
2478
- <xsl:attribute name="height">5mm</xsl:attribute>
2479
2554
 
2480
2555
 
2556
+
2481
2557
 
2482
2558
 
2483
2559
 
@@ -2486,21 +2562,25 @@
2486
2562
  <xsl:if test="$lang = 'ar'">
2487
2563
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2488
2564
  </xsl:if>
2489
- <xsl:if test="@colspan">
2490
- <xsl:attribute name="number-columns-spanned">
2491
- <xsl:value-of select="@colspan"/>
2492
- </xsl:attribute>
2493
- </xsl:if>
2494
- <xsl:if test="@rowspan">
2495
- <xsl:attribute name="number-rows-spanned">
2496
- <xsl:value-of select="@rowspan"/>
2497
- </xsl:attribute>
2498
- </xsl:if>
2499
- <xsl:call-template name="display-align"/>
2565
+
2566
+ <xsl:call-template name="setTableCellAttributes"/>
2567
+
2500
2568
  <fo:block>
2501
2569
  <xsl:apply-templates/>
2502
2570
  </fo:block>
2503
2571
  </fo:table-cell>
2572
+ </xsl:template><xsl:template name="setTableCellAttributes">
2573
+ <xsl:if test="@colspan">
2574
+ <xsl:attribute name="number-columns-spanned">
2575
+ <xsl:value-of select="@colspan"/>
2576
+ </xsl:attribute>
2577
+ </xsl:if>
2578
+ <xsl:if test="@rowspan">
2579
+ <xsl:attribute name="number-rows-spanned">
2580
+ <xsl:value-of select="@rowspan"/>
2581
+ </xsl:attribute>
2582
+ </xsl:if>
2583
+ <xsl:call-template name="display-align"/>
2504
2584
  </xsl:template><xsl:template name="display-align">
2505
2585
  <xsl:if test="@valign">
2506
2586
  <xsl:attribute name="display-align">
@@ -2513,63 +2593,56 @@
2513
2593
  </xsl:attribute>
2514
2594
  </xsl:if>
2515
2595
  </xsl:template><xsl:template match="*[local-name()='td']">
2516
- <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
2517
- <xsl:attribute name="text-align">
2518
- <xsl:choose>
2519
- <xsl:when test="@align">
2520
- <xsl:call-template name="setAlignment"/>
2521
- <!-- <xsl:value-of select="@align"/> -->
2522
- </xsl:when>
2523
- <xsl:otherwise>left</xsl:otherwise>
2524
- </xsl:choose>
2525
- </xsl:attribute>
2596
+ <fo:table-cell xsl:use-attribute-sets="table-cell-style"> <!-- text-align="{@align}" -->
2597
+ <xsl:call-template name="setTextAlignment">
2598
+ <xsl:with-param name="default">left</xsl:with-param>
2599
+ </xsl:call-template>
2600
+
2526
2601
  <xsl:if test="$lang = 'ar'">
2527
2602
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2528
2603
  </xsl:if>
2529
2604
 
2530
2605
 
2531
2606
 
2607
+ <!-- bsi -->
2532
2608
 
2533
2609
 
2534
2610
 
2535
2611
 
2536
2612
 
2537
2613
 
2538
- <xsl:attribute name="padding-top">1mm</xsl:attribute>
2539
- <xsl:attribute name="border">solid 0.5pt rgb(153, 153, 153)</xsl:attribute>
2540
- <xsl:attribute name="height">5mm</xsl:attribute>
2541
2614
 
2542
2615
 
2616
+
2543
2617
 
2544
2618
 
2545
2619
 
2546
2620
 
2547
2621
 
2548
2622
 
2549
- <xsl:if test=".//*[local-name() = 'table']">
2623
+ <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
2550
2624
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2551
2625
  </xsl:if>
2552
- <xsl:if test="@colspan">
2553
- <xsl:attribute name="number-columns-spanned">
2554
- <xsl:value-of select="@colspan"/>
2555
- </xsl:attribute>
2556
- </xsl:if>
2557
- <xsl:if test="@rowspan">
2558
- <xsl:attribute name="number-rows-spanned">
2559
- <xsl:value-of select="@rowspan"/>
2560
- </xsl:attribute>
2561
- </xsl:if>
2562
- <xsl:call-template name="display-align"/>
2626
+
2627
+ <xsl:call-template name="setTableCellAttributes"/>
2628
+
2563
2629
  <fo:block>
2564
-
2630
+
2631
+
2632
+
2565
2633
  <xsl:apply-templates/>
2566
2634
  </fo:block>
2567
2635
  </fo:table-cell>
2568
2636
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
2637
+
2638
+ <fo:block xsl:use-attribute-sets="table-note-style">
2639
+
2640
+
2641
+
2642
+
2569
2643
 
2570
-
2571
- <fo:block font-size="10pt" margin-bottom="12pt">
2572
-
2644
+ <!-- Table's note name (NOTE, for example) -->
2645
+ <fo:inline xsl:use-attribute-sets="table-note-name-style">
2573
2646
 
2574
2647
 
2575
2648
 
@@ -2577,22 +2650,14 @@
2577
2650
 
2578
2651
 
2579
2652
 
2580
- <!-- Table's note name (NOTE, for example) -->
2581
-
2582
- <fo:inline padding-right="2mm" xsl:use-attribute-sets="table-note-name-style">
2583
-
2653
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
2584
2654
 
2585
-
2586
-
2587
-
2588
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
2589
-
2590
- </fo:inline>
2591
-
2592
-
2593
-
2594
- <xsl:apply-templates mode="process"/>
2595
- </fo:block>
2655
+ </fo:inline>
2656
+
2657
+
2658
+
2659
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]" mode="process"/>
2660
+ </fo:block>
2596
2661
 
2597
2662
  </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">
2598
2663
  <xsl:apply-templates/>
@@ -2672,8 +2737,7 @@
2672
2737
  <xsl:copy-of select="$footnote_inline"/>
2673
2738
  <fo:footnote-body>
2674
2739
 
2675
- <fo:block-container text-indent="0" start-indent="0">
2676
-
2740
+ <fo:block-container xsl:use-attribute-sets="fn-container-body-style">
2677
2741
 
2678
2742
  <fo:block xsl:use-attribute-sets="fn-body-style">
2679
2743
 
@@ -2692,7 +2756,7 @@
2692
2756
  <xsl:copy-of select="$footnote_inline"/>
2693
2757
  </xsl:otherwise>
2694
2758
  </xsl:choose>
2695
- </xsl:template><xsl:template name="fn_display">
2759
+ </xsl:template><xsl:template name="table_fn_display">
2696
2760
  <xsl:variable name="references">
2697
2761
 
2698
2762
  <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
@@ -2703,33 +2767,26 @@
2703
2767
  <xsl:for-each select="xalan:nodeset($references)//fn">
2704
2768
  <xsl:variable name="reference" select="@reference"/>
2705
2769
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
2706
- <fo:block margin-bottom="12pt">
2770
+ <fo:block xsl:use-attribute-sets="table-fn-style">
2707
2771
 
2708
2772
 
2709
2773
 
2710
-
2711
-
2712
-
2713
-
2714
- <fo:inline font-size="80%" padding-right="5mm" id="{@id}">
2774
+ <fo:inline id="{@id}" xsl:use-attribute-sets="table-fn-number-style">
2715
2775
 
2716
- <xsl:attribute name="vertical-align">super</xsl:attribute>
2717
2776
 
2718
2777
 
2719
2778
 
2720
2779
 
2780
+ <xsl:value-of select="@reference"/>
2721
2781
 
2722
2782
 
2723
2783
 
2724
2784
 
2725
- <xsl:value-of select="@reference"/>
2726
2785
 
2727
2786
 
2728
2787
 
2729
2788
  </fo:inline>
2730
- <fo:inline>
2731
-
2732
- <!-- <xsl:apply-templates /> -->
2789
+ <fo:inline xsl:use-attribute-sets="table-fn-body-style">
2733
2790
  <xsl:copy-of select="./node()"/>
2734
2791
  </fo:inline>
2735
2792
  </fo:block>
@@ -2747,15 +2804,7 @@
2747
2804
 
2748
2805
  <xsl:apply-templates/>
2749
2806
  </fn>
2750
- </xsl:template><xsl:template name="fn_name_display">
2751
- <!-- <xsl:variable name="references">
2752
- <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
2753
- <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
2754
- <xsl:apply-templates />
2755
- </fn>
2756
- </xsl:for-each>
2757
- </xsl:variable>
2758
- $references=<xsl:copy-of select="$references"/> -->
2807
+ </xsl:template><xsl:template name="table_name_fn_display">
2759
2808
  <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
2760
2809
  <xsl:variable name="reference" select="@reference"/>
2761
2810
  <fo:block id="{@reference}_{ancestor::*[@id][1]/@id}"><xsl:value-of select="@reference"/></fo:block>
@@ -2764,9 +2813,7 @@
2764
2813
  </fo:block>
2765
2814
  </xsl:for-each>
2766
2815
  </xsl:template><xsl:template name="fn_display_figure">
2767
- <xsl:variable name="key_iso">
2768
- <!-- and (not(@class) or @class !='pseudocode') -->
2769
- </xsl:variable>
2816
+
2770
2817
  <xsl:variable name="references">
2771
2818
  <xsl:for-each select=".//*[local-name()='fn'][not(parent::*[local-name()='name'])]">
2772
2819
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
@@ -2774,50 +2821,52 @@
2774
2821
  </fn>
2775
2822
  </xsl:for-each>
2776
2823
  </xsl:variable>
2824
+
2825
+ <xsl:if test="xalan:nodeset($references)//fn">
2777
2826
 
2778
- <!-- current hierarchy is 'figure' element -->
2779
- <xsl:variable name="following_dl_colwidths">
2780
- <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
2781
- <xsl:variable name="html-table">
2782
- <xsl:variable name="doc_ns">
2827
+ <xsl:variable name="key_iso">
2828
+
2829
+ </xsl:variable>
2830
+
2831
+ <!-- current hierarchy is 'figure' element -->
2832
+ <xsl:variable name="following_dl_colwidths">
2833
+ <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
2834
+ <xsl:variable name="html-table">
2835
+ <xsl:variable name="doc_ns">
2836
+
2837
+ </xsl:variable>
2838
+ <xsl:variable name="ns">
2839
+ <xsl:choose>
2840
+ <xsl:when test="normalize-space($doc_ns) != ''">
2841
+ <xsl:value-of select="normalize-space($doc_ns)"/>
2842
+ </xsl:when>
2843
+ <xsl:otherwise>
2844
+ <xsl:value-of select="substring-before(name(/*), '-')"/>
2845
+ </xsl:otherwise>
2846
+ </xsl:choose>
2847
+ </xsl:variable>
2783
2848
 
2784
- </xsl:variable>
2785
- <xsl:variable name="ns">
2786
- <xsl:choose>
2787
- <xsl:when test="normalize-space($doc_ns) != ''">
2788
- <xsl:value-of select="normalize-space($doc_ns)"/>
2789
- </xsl:when>
2790
- <xsl:otherwise>
2791
- <xsl:value-of select="substring-before(name(/*), '-')"/>
2792
- </xsl:otherwise>
2793
- </xsl:choose>
2794
- </xsl:variable>
2795
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
2796
- <!-- <xsl:element name="{$ns}:table"> -->
2797
2849
  <xsl:for-each select="*[local-name() = 'dl'][1]">
2798
2850
  <tbody>
2799
2851
  <xsl:apply-templates mode="dl"/>
2800
2852
  </tbody>
2801
2853
  </xsl:for-each>
2802
- <!-- </xsl:element> -->
2803
- </xsl:variable>
2804
-
2805
- <xsl:call-template name="calculate-column-widths">
2806
- <xsl:with-param name="cols-count" select="2"/>
2807
- <xsl:with-param name="table" select="$html-table"/>
2808
- </xsl:call-template>
2809
-
2810
- </xsl:if>
2811
- </xsl:variable>
2812
-
2813
-
2814
- <xsl:variable name="maxlength_dt">
2815
- <xsl:for-each select="*[local-name() = 'dl'][1]">
2816
- <xsl:call-template name="getMaxLength_dt"/>
2817
- </xsl:for-each>
2818
- </xsl:variable>
2819
-
2820
- <xsl:if test="xalan:nodeset($references)//fn">
2854
+ </xsl:variable>
2855
+
2856
+ <xsl:call-template name="calculate-column-widths">
2857
+ <xsl:with-param name="cols-count" select="2"/>
2858
+ <xsl:with-param name="table" select="$html-table"/>
2859
+ </xsl:call-template>
2860
+
2861
+ </xsl:if>
2862
+ </xsl:variable>
2863
+
2864
+ <xsl:variable name="maxlength_dt">
2865
+ <xsl:for-each select="*[local-name() = 'dl'][1]">
2866
+ <xsl:call-template name="getMaxLength_dt"/>
2867
+ </xsl:for-each>
2868
+ </xsl:variable>
2869
+
2821
2870
  <fo:block>
2822
2871
  <fo:table width="95%" table-layout="fixed">
2823
2872
  <xsl:if test="normalize-space($key_iso) = 'true'">
@@ -2844,20 +2893,18 @@
2844
2893
  <fo:table-row>
2845
2894
  <fo:table-cell>
2846
2895
  <fo:block>
2847
- <fo:inline font-size="80%" padding-right="5mm" vertical-align="super" id="{@id}">
2848
-
2896
+ <fo:inline id="{@id}" xsl:use-attribute-sets="figure-fn-number-style">
2849
2897
  <xsl:value-of select="@reference"/>
2850
2898
  </fo:inline>
2851
2899
  </fo:block>
2852
2900
  </fo:table-cell>
2853
2901
  <fo:table-cell>
2854
- <fo:block text-align="justify" margin-bottom="12pt">
2855
-
2902
+ <fo:block xsl:use-attribute-sets="figure-fn-body-style">
2856
2903
  <xsl:if test="normalize-space($key_iso) = 'true'">
2857
- <xsl:attribute name="margin-bottom">0</xsl:attribute>
2904
+
2905
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
2906
+
2858
2907
  </xsl:if>
2859
-
2860
- <!-- <xsl:apply-templates /> -->
2861
2908
  <xsl:copy-of select="./node()"/>
2862
2909
  </fo:block>
2863
2910
  </fo:table-cell>
@@ -2870,20 +2917,9 @@
2870
2917
  </xsl:if>
2871
2918
 
2872
2919
  </xsl:template><xsl:template match="*[local-name()='fn']">
2873
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
2874
- <fo:inline font-size="80%" keep-with-previous.within-line="always">
2875
-
2876
-
2877
-
2878
-
2879
-
2880
-
2881
-
2882
- <xsl:attribute name="vertical-align">super</xsl:attribute>
2883
- <xsl:attribute name="color">blue</xsl:attribute>
2884
-
2920
+ <fo:inline xsl:use-attribute-sets="fn-reference-style">
2921
+
2885
2922
 
2886
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
2887
2923
 
2888
2924
 
2889
2925
 
@@ -2911,10 +2947,10 @@
2911
2947
  <xsl:variable name="isDeleted" select="@deleted"/>
2912
2948
  <fo:block-container>
2913
2949
 
2914
- <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
2915
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2916
- </xsl:if>
2917
-
2950
+ <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
2951
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2952
+ </xsl:if>
2953
+
2918
2954
 
2919
2955
  <xsl:if test="parent::*[local-name() = 'note']">
2920
2956
  <xsl:attribute name="margin-left">
@@ -2931,11 +2967,11 @@
2931
2967
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
2932
2968
  </xsl:call-template>
2933
2969
 
2934
- <fo:block-container>
2935
-
2936
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2937
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
2970
+ <fo:block-container margin-left="0mm">
2971
+
2938
2972
 
2973
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2974
+
2939
2975
 
2940
2976
  <xsl:variable name="parent" select="local-name(..)"/>
2941
2977
 
@@ -2946,23 +2982,19 @@
2946
2982
  <xsl:choose>
2947
2983
  <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
2948
2984
 
2949
-
2950
- <fo:block margin-bottom="12pt" text-align="left">
2951
-
2952
- <xsl:variable name="title-where">
2953
-
2985
+ <fo:block margin-bottom="12pt" text-align="left">
2954
2986
 
2955
- <xsl:call-template name="getTitle">
2956
- <xsl:with-param name="name" select="'title-where'"/>
2987
+ <xsl:variable name="title-where">
2988
+ <xsl:call-template name="getLocalizedString">
2989
+ <xsl:with-param name="key">where</xsl:with-param>
2957
2990
  </xsl:call-template>
2958
-
2959
- </xsl:variable>
2960
- <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
2961
- <xsl:apply-templates select="*[local-name()='dt']/*"/>
2962
- <xsl:text/>
2963
- <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
2964
- </fo:block>
2965
-
2991
+ </xsl:variable>
2992
+ <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
2993
+ <xsl:apply-templates select="*[local-name()='dt']/*"/>
2994
+ <xsl:text/>
2995
+ <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
2996
+ </fo:block>
2997
+
2966
2998
  </xsl:when>
2967
2999
  <xsl:when test="$parent = 'formula'"> <!-- a few components -->
2968
3000
  <fo:block margin-bottom="12pt" text-align="left">
@@ -2971,12 +3003,9 @@
2971
3003
 
2972
3004
 
2973
3005
  <xsl:variable name="title-where">
2974
-
2975
-
2976
- <xsl:call-template name="getTitle">
2977
- <xsl:with-param name="name" select="'title-where'"/>
2978
- </xsl:call-template>
2979
-
3006
+ <xsl:call-template name="getLocalizedString">
3007
+ <xsl:with-param name="key">where</xsl:with-param>
3008
+ </xsl:call-template>
2980
3009
  </xsl:variable>
2981
3010
  <xsl:value-of select="$title-where"/>
2982
3011
  </fo:block>
@@ -2988,12 +3017,9 @@
2988
3017
 
2989
3018
 
2990
3019
  <xsl:variable name="title-key">
2991
-
2992
-
2993
- <xsl:call-template name="getTitle">
2994
- <xsl:with-param name="name" select="'title-key'"/>
2995
- </xsl:call-template>
2996
-
3020
+ <xsl:call-template name="getLocalizedString">
3021
+ <xsl:with-param name="key">key</xsl:with-param>
3022
+ </xsl:call-template>
2997
3023
  </xsl:variable>
2998
3024
  <xsl:value-of select="$title-key"/>
2999
3025
  </fo:block>
@@ -3015,9 +3041,7 @@
3015
3041
  <fo:table width="95%" table-layout="fixed">
3016
3042
 
3017
3043
  <xsl:choose>
3018
- <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
3019
- <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
3020
- </xsl:when>
3044
+ <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'"/>
3021
3045
  <xsl:when test="normalize-space($key_iso) = 'true'">
3022
3046
  <xsl:attribute name="font-size">10pt</xsl:attribute>
3023
3047
 
@@ -3038,12 +3062,9 @@
3038
3062
  </xsl:otherwise>
3039
3063
  </xsl:choose>
3040
3064
  </xsl:variable>
3041
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
3042
- <!-- <xsl:element name="{$ns}:table"> -->
3043
- <tbody>
3044
- <xsl:apply-templates mode="dl"/>
3045
- </tbody>
3046
- <!-- </xsl:element> -->
3065
+ <tbody>
3066
+ <xsl:apply-templates mode="dl"/>
3067
+ </tbody>
3047
3068
  </xsl:variable>
3048
3069
  <!-- html-table<xsl:copy-of select="$html-table"/> -->
3049
3070
  <xsl:variable name="colwidths">
@@ -3123,8 +3144,6 @@
3123
3144
  </xsl:for-each>
3124
3145
  </xsl:otherwise>
3125
3146
  </xsl:choose>
3126
- <!-- <fo:table-column column-width="15%"/>
3127
- <fo:table-column column-width="85%"/> -->
3128
3147
  </xsl:otherwise>
3129
3148
  </xsl:choose>
3130
3149
  </xsl:template><xsl:template name="getMaxLength_dt">
@@ -3139,12 +3158,6 @@
3139
3158
  </xsl:for-each>
3140
3159
  </xsl:variable>
3141
3160
  <xsl:variable name="maxLength">
3142
- <!-- <xsl:for-each select="*[local-name()='dt']">
3143
- <xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
3144
- <xsl:if test="position() = 1">
3145
- <xsl:value-of select="string-length(normalize-space(.))"/>
3146
- </xsl:if>
3147
- </xsl:for-each> -->
3148
3161
  <xsl:for-each select="xalan:nodeset($lengths)/length">
3149
3162
  <xsl:sort select="." data-type="number" order="descending"/>
3150
3163
  <xsl:if test="position() = 1">
@@ -3170,12 +3183,12 @@
3170
3183
  <xsl:if test="normalize-space($key_iso) = 'true'">
3171
3184
  <xsl:attribute name="margin-top">0</xsl:attribute>
3172
3185
  </xsl:if>
3173
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3186
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3174
3187
  </fo:block>
3175
3188
  </fo:table-cell>
3176
3189
  <fo:table-cell>
3177
3190
  <fo:block>
3178
- <xsl:apply-templates/>
3191
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3179
3192
  </fo:block>
3180
3193
  </fo:table-cell>
3181
3194
  </fo:table-row>
@@ -3186,82 +3199,41 @@
3186
3199
  </td>
3187
3200
  <td>
3188
3201
 
3189
-
3190
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3191
-
3202
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3203
+
3192
3204
  </td>
3193
3205
  </tr>
3194
3206
 
3195
3207
  </xsl:template><xsl:template match="*[local-name()='dt']">
3196
3208
  <xsl:param name="key_iso"/>
3197
3209
 
3198
- <fo:table-row>
3199
-
3200
-
3210
+ <fo:table-row xsl:use-attribute-sets="dt-row-style">
3201
3211
  <fo:table-cell>
3202
3212
 
3203
- <fo:block margin-top="6pt">
3213
+ <fo:block xsl:use-attribute-sets="dt-style">
3204
3214
  <xsl:copy-of select="@id"/>
3205
3215
 
3206
-
3207
3216
  <xsl:if test="normalize-space($key_iso) = 'true'">
3208
3217
  <xsl:attribute name="margin-top">0</xsl:attribute>
3209
-
3210
3218
  </xsl:if>
3211
3219
 
3212
3220
 
3213
3221
 
3214
-
3215
-
3216
- <xsl:attribute name="margin-top">0pt</xsl:attribute>
3217
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
3218
-
3219
-
3220
-
3221
3222
  <xsl:apply-templates/>
3222
- <!-- <xsl:if test="$namespace = 'gb'">
3223
- <xsl:if test="ancestor::*[local-name()='formula']">
3224
- <xsl:text>—</xsl:text>
3225
- </xsl:if>
3226
- </xsl:if> -->
3227
3223
  </fo:block>
3228
3224
  </fo:table-cell>
3229
3225
  <fo:table-cell>
3230
3226
  <fo:block>
3231
3227
 
3232
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
3233
- <xsl:if test="local-name(*[1]) != 'stem'">
3234
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3235
- </xsl:if>
3236
- </xsl:if> -->
3237
-
3238
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3239
-
3228
+
3229
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3240
3230
  </fo:block>
3241
3231
  </fo:table-cell>
3242
3232
  </fo:table-row>
3243
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
3244
- <xsl:if test="local-name(*[1]) = 'stem'">
3245
- <fo:table-row>
3246
- <fo:table-cell>
3247
- <fo:block margin-top="6pt">
3248
- <xsl:if test="normalize-space($key_iso) = 'true'">
3249
- <xsl:attribute name="margin-top">0</xsl:attribute>
3250
- </xsl:if>
3251
- <xsl:text>&#xA0;</xsl:text>
3252
- </fo:block>
3253
- </fo:table-cell>
3254
- <fo:table-cell>
3255
- <fo:block>
3256
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3257
- </fo:block>
3258
- </fo:table-cell>
3259
- </fo:table-row>
3260
- </xsl:if>
3261
- </xsl:if> -->
3262
3233
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
3263
3234
  <xsl:apply-templates/>
3264
3235
  </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
3236
+ <xsl:apply-templates select="@language"/>
3265
3237
  <xsl:apply-templates/>
3266
3238
  </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
3267
3239
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
@@ -3286,6 +3258,7 @@
3286
3258
  </fo:inline>
3287
3259
  </xsl:template><xsl:template match="*[local-name()='tt']">
3288
3260
  <fo:inline xsl:use-attribute-sets="tt-style">
3261
+
3289
3262
  <xsl:variable name="_font-size">
3290
3263
 
3291
3264
 
@@ -3322,7 +3295,22 @@
3322
3295
  <xsl:apply-templates/>
3323
3296
  </fo:inline>
3324
3297
  </xsl:template><xsl:template match="*[local-name()='add']">
3298
+ <xsl:param name="skip">true</xsl:param>
3325
3299
  <xsl:choose>
3300
+ <xsl:when test="starts-with(., $ace_tag)"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start -->
3301
+ <xsl:choose>
3302
+ <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>
3303
+ <xsl:otherwise>
3304
+ <fo:inline>
3305
+ <xsl:call-template name="insertTag">
3306
+ <xsl:with-param name="type" select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end -->
3307
+ <xsl:with-param name="kind" select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
3308
+ <xsl:with-param name="value" select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
3309
+ </xsl:call-template>
3310
+ </fo:inline>
3311
+ </xsl:otherwise>
3312
+ </xsl:choose>
3313
+ </xsl:when>
3326
3314
  <xsl:when test="@amendment">
3327
3315
  <fo:inline>
3328
3316
  <xsl:call-template name="insertTag">
@@ -3357,7 +3345,6 @@
3357
3345
  </fo:inline>
3358
3346
  </xsl:otherwise>
3359
3347
  </xsl:choose>
3360
-
3361
3348
  </xsl:template><xsl:template name="insertTag">
3362
3349
  <xsl:param name="type"/>
3363
3350
  <xsl:param name="kind"/>
@@ -3365,22 +3352,20 @@
3365
3352
  <xsl:variable name="add_width" select="string-length($value) * 20"/>
3366
3353
  <xsl:variable name="maxwidth" select="60 + $add_width"/>
3367
3354
  <fo:instream-foreign-object fox:alt-text="OpeningTag" baseline-shift="-20%"><!-- alignment-baseline="middle" -->
3368
- <!-- <xsl:attribute name="width">7mm</xsl:attribute>
3369
- <xsl:attribute name="content-height">100%</xsl:attribute> -->
3370
3355
  <xsl:attribute name="height">5mm</xsl:attribute>
3371
3356
  <xsl:attribute name="content-width">100%</xsl:attribute>
3372
3357
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
3373
3358
  <xsl:attribute name="scaling">uniform</xsl:attribute>
3374
3359
  <svg xmlns="http://www.w3.org/2000/svg" width="{$maxwidth + 32}" height="80">
3375
3360
  <g>
3376
- <xsl:if test="$type = 'closing'">
3361
+ <xsl:if test="$type = 'closing' or $type = 'end'">
3377
3362
  <xsl:attribute name="transform">scale(-1 1) translate(-<xsl:value-of select="$maxwidth + 32"/>,0)</xsl:attribute>
3378
3363
  </xsl:if>
3379
3364
  <polyline points="0,0 {$maxwidth},0 {$maxwidth + 30},40 {$maxwidth},80 0,80 " stroke="black" stroke-width="5" fill="white"/>
3380
3365
  <line x1="0" y1="0" x2="0" y2="80" stroke="black" stroke-width="20"/>
3381
3366
  </g>
3382
3367
  <text font-family="Arial" x="15" y="57" font-size="40pt">
3383
- <xsl:if test="$type = 'closing'">
3368
+ <xsl:if test="$type = 'closing' or $type = 'end'">
3384
3369
  <xsl:attribute name="x">25</xsl:attribute>
3385
3370
  </xsl:if>
3386
3371
  <xsl:value-of select="$kind"/><tspan dy="10" font-size="30pt"><xsl:value-of select="$value"/></tspan>
@@ -3584,14 +3569,6 @@
3584
3569
 
3585
3570
  <xsl:copy-of select="xalan:nodeset($simple-table-rowspan)"/>
3586
3571
 
3587
- <!-- <xsl:choose>
3588
- <xsl:when test="current()//*[local-name()='th'][@colspan] or current()//*[local-name()='td'][@colspan] ">
3589
-
3590
- </xsl:when>
3591
- <xsl:otherwise>
3592
- <xsl:copy-of select="current()"/>
3593
- </xsl:otherwise>
3594
- </xsl:choose> -->
3595
3572
  </xsl:variable>
3596
3573
  <xsl:copy-of select="$simple-table"/>
3597
3574
  </xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
@@ -3710,8 +3687,6 @@
3710
3687
  <xsl:choose>
3711
3688
  <xsl:when test="contains($str2, ' ')">
3712
3689
  <xsl:variable name="substr" select="substring-before($str2, ' ')"/>
3713
- <!-- <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
3714
- <xsl:value-of select="substring($substr, 2)"/> -->
3715
3690
  <xsl:call-template name="capitalize">
3716
3691
  <xsl:with-param name="str" select="$substr"/>
3717
3692
  </xsl:call-template>
@@ -3721,8 +3696,6 @@
3721
3696
  </xsl:call-template>
3722
3697
  </xsl:when>
3723
3698
  <xsl:otherwise>
3724
- <!-- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
3725
- <xsl:value-of select="substring($str2, 2)"/> -->
3726
3699
  <xsl:call-template name="capitalize">
3727
3700
  <xsl:with-param name="str" select="$str2"/>
3728
3701
  </xsl:call-template>
@@ -3750,6 +3723,7 @@
3750
3723
  <xsl:apply-templates select="." mode="mathml"/>
3751
3724
  </xsl:variable>
3752
3725
  <fo:instream-foreign-object fox:alt-text="Math">
3726
+
3753
3727
 
3754
3728
 
3755
3729
  <xsl:variable name="comment_text_following" select="following-sibling::node()[1][self::comment()]"/>
@@ -3781,7 +3755,7 @@
3781
3755
  </xsl:attribute>
3782
3756
 
3783
3757
 
3784
- <!-- <xsl:copy-of select="."/> -->
3758
+
3785
3759
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
3786
3760
  </fo:instream-foreign-object>
3787
3761
  </fo:inline>
@@ -3840,6 +3814,10 @@
3840
3814
 
3841
3815
 
3842
3816
 
3817
+
3818
+
3819
+
3820
+
3843
3821
  <xsl:choose>
3844
3822
  <xsl:when test="$target_text = ''">
3845
3823
  <xsl:apply-templates/>
@@ -3873,9 +3851,9 @@
3873
3851
  <fo:inline role="H{$level}"><xsl:apply-templates/></fo:inline>
3874
3852
  </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']" priority="2">
3875
3853
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
3876
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3854
+ <xsl:apply-templates select="*[local-name()='name']"/>
3877
3855
  </fo:block>
3878
- <xsl:apply-templates/>
3856
+ <xsl:apply-templates select="node()[not(local-name()='name')]"/>
3879
3857
  </xsl:template><xsl:template match="*[local-name() = 'callout']">
3880
3858
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
3881
3859
  </xsl:template><xsl:template match="*[local-name() = 'annotation']">
@@ -3897,7 +3875,6 @@
3897
3875
  </fo:inline>
3898
3876
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
3899
3877
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
3900
-
3901
3878
  <xsl:apply-templates/>
3902
3879
  </fo:basic-link>
3903
3880
  </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
@@ -3925,13 +3902,17 @@
3925
3902
  <fo:inline>
3926
3903
  <xsl:apply-templates/>
3927
3904
  </fo:inline>
3928
- </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="presentation">
3905
+ </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 -->
3929
3906
  <xsl:if test="normalize-space() != ''">
3930
3907
  <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
3931
3908
  </xsl:if>
3932
3909
  </xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
3933
3910
 
3934
3911
  <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
3912
+
3913
+
3914
+
3915
+
3935
3916
 
3936
3917
 
3937
3918
  <xsl:if test="ancestor::ogc:ul or ancestor::ogc:ol and not(ancestor::ogc:note[1]/following-sibling::*)">
@@ -3940,38 +3921,49 @@
3940
3921
 
3941
3922
 
3942
3923
 
3924
+
3925
+
3943
3926
 
3944
3927
  <fo:block-container margin-left="0mm">
3928
+
3945
3929
 
3946
3930
 
3947
3931
 
3932
+
3948
3933
 
3949
-
3950
-
3951
-
3952
-
3953
- <fo:block>
3954
-
3955
-
3956
-
3957
-
3958
-
3934
+ <fo:block>
3935
+
3936
+
3959
3937
 
3960
- <fo:inline xsl:use-attribute-sets="note-name-style">
3961
3938
 
3962
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3963
- </fo:inline>
3964
- <xsl:apply-templates/>
3965
- </fo:block>
3966
-
3967
-
3939
+
3940
+
3941
+
3942
+ <fo:inline xsl:use-attribute-sets="note-name-style">
3943
+
3944
+
3945
+
3946
+ <!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
3947
+ <xsl:if test="count(*[not(local-name() = 'name')]) = 1 and *[not(local-name() = 'name')]/node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
3948
+ <xsl:apply-templates select="*[not(local-name() = 'name')]/node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
3949
+ <xsl:with-param name="skip">false</xsl:with-param>
3950
+ </xsl:apply-templates>
3951
+ </xsl:if>
3952
+
3953
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3954
+
3955
+ </fo:inline>
3956
+
3957
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3958
+ </fo:block>
3959
+
3968
3960
  </fo:block-container>
3969
3961
  </fo:block-container>
3970
3962
 
3971
3963
  </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
3972
3964
  <xsl:variable name="num"><xsl:number/></xsl:variable>
3973
3965
  <xsl:choose>
3974
- <xsl:when test="$num = 1">
3966
+ <xsl:when test="$num = 1"> <!-- display first NOTE's paragraph in the same line with label NOTE -->
3975
3967
  <fo:inline xsl:use-attribute-sets="note-p-style">
3976
3968
  <xsl:apply-templates/>
3977
3969
  </fo:inline>
@@ -3986,12 +3978,16 @@
3986
3978
  <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
3987
3979
 
3988
3980
  <fo:inline xsl:use-attribute-sets="termnote-name-style">
3981
+
3982
+
3983
+
3984
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3989
3985
 
3990
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3991
3986
  </fo:inline>
3992
- <xsl:apply-templates/>
3987
+
3988
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3993
3989
  </fo:block>
3994
- </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">
3990
+ </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']">
3995
3991
  <xsl:param name="sfx"/>
3996
3992
  <xsl:variable name="suffix">
3997
3993
  <xsl:choose>
@@ -4008,7 +4004,7 @@
4008
4004
  <xsl:apply-templates/>
4009
4005
  <xsl:value-of select="$suffix"/>
4010
4006
  </xsl:if>
4011
- </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']" mode="presentation">
4007
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']">
4012
4008
  <xsl:param name="sfx"/>
4013
4009
  <xsl:variable name="suffix">
4014
4010
  <xsl:choose>
@@ -4035,25 +4031,23 @@
4035
4031
  <xsl:apply-templates/>
4036
4032
  </fo:block>
4037
4033
  </xsl:template><xsl:template match="*[local-name() = 'term']">
4038
- <!-- <xsl:message>'term' <xsl:number/> processing, name=<xsl:value-of select="iso:name"/>, preferred=<xsl:value-of select="iso:preferred"/>...</xsl:message> -->
4039
4034
  <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
4040
4035
 
4041
4036
 
4037
+
4038
+
4042
4039
  <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'term'])">
4043
4040
 
4044
4041
  </xsl:if>
4045
- <xsl:apply-templates/>
4042
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4046
4043
  </fo:block>
4047
- </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
4044
+ </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']">
4048
4045
  <xsl:if test="normalize-space() != ''">
4049
4046
  <xsl:variable name="level">
4050
4047
  <xsl:call-template name="getLevelTermName"/>
4051
4048
  </xsl:variable>
4052
4049
  <fo:inline role="H{$level}">
4053
4050
  <xsl:apply-templates/>
4054
- <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
4055
- <xsl:text>.</xsl:text>
4056
- </xsl:if> -->
4057
4051
  </fo:inline>
4058
4052
  </xsl:if>
4059
4053
  </xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
@@ -4066,9 +4060,10 @@
4066
4060
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
4067
4061
  </xsl:call-template>
4068
4062
 
4069
- <fo:block>
4070
-
4071
- <xsl:apply-templates/>
4063
+
4064
+
4065
+ <fo:block xsl:use-attribute-sets="figure-style">
4066
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4072
4067
  </fo:block>
4073
4068
  <xsl:call-template name="fn_display_figure"/>
4074
4069
  <xsl:for-each select="*[local-name() = 'note']">
@@ -4076,14 +4071,15 @@
4076
4071
  </xsl:for-each>
4077
4072
 
4078
4073
 
4079
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4074
+ <xsl:apply-templates select="*[local-name() = 'name']"/> <!-- show figure's name AFTER image -->
4075
+
4080
4076
 
4081
4077
  </fo:block-container>
4082
4078
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
4083
4079
  <fo:block id="{@id}">
4084
- <xsl:apply-templates/>
4080
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4085
4081
  </fo:block>
4086
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4082
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
4087
4083
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
4088
4084
  <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
4089
4085
  <xsl:apply-templates/>
@@ -4190,9 +4186,7 @@
4190
4186
  <xsl:variable name="bis" select="java:java.io.ByteArrayInputStream.new($fileContent)"/>
4191
4187
  <xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($bis)"/>
4192
4188
  <xsl:variable name="width" select="java:getWidth($bufferedImage)"/>
4193
- <!-- width=<xsl:value-of select="$width"/> -->
4194
4189
  <xsl:variable name="height" select="java:getHeight($bufferedImage)"/>
4195
- <!-- height=<xsl:value-of select="$height"/> -->
4196
4190
  <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">
4197
4191
  <image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="{@src}" height="{$height}" width="{$width}" style="overflow:visible;"/>
4198
4192
  <xsl:call-template name="svg_cross">
@@ -4462,7 +4456,7 @@
4462
4456
  </fo:basic-link>
4463
4457
  </fo:block>
4464
4458
  </fo:block-container>
4465
- </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">
4459
+ </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">
4466
4460
  <xsl:apply-templates mode="contents"/>
4467
4461
  <xsl:text> </xsl:text>
4468
4462
  </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">
@@ -4474,11 +4468,58 @@
4474
4468
  <xsl:value-of select="."/>
4475
4469
  </xsl:template><xsl:template match="node()" mode="contents">
4476
4470
  <xsl:apply-templates mode="contents"/>
4471
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="2" mode="contents">
4472
+ <xsl:variable name="level">
4473
+ <xsl:call-template name="getLevel">
4474
+ <xsl:with-param name="depth" select="@depth"/>
4475
+ </xsl:call-template>
4476
+ </xsl:variable>
4477
+
4478
+ <xsl:variable name="section">
4479
+ <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
4480
+ </xsl:variable>
4481
+
4482
+ <xsl:variable name="type">floating-title</xsl:variable>
4483
+
4484
+ <xsl:variable name="display">
4485
+ <xsl:choose>
4486
+ <xsl:when test="normalize-space(@id) = ''">false</xsl:when>
4487
+ <xsl:when test="$level &lt;= $toc_level">true</xsl:when>
4488
+ <xsl:otherwise>false</xsl:otherwise>
4489
+ </xsl:choose>
4490
+ </xsl:variable>
4491
+
4492
+ <xsl:variable name="skip">false</xsl:variable>
4493
+
4494
+ <xsl:if test="$skip = 'false'">
4495
+
4496
+ <xsl:variable name="title">
4497
+ <xsl:choose>
4498
+ <xsl:when test="*[local-name() = 'tab']">
4499
+ <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
4500
+ </xsl:when>
4501
+ <xsl:otherwise>
4502
+ <xsl:copy-of select="node()"/>
4503
+ </xsl:otherwise>
4504
+ </xsl:choose>
4505
+ </xsl:variable>
4506
+
4507
+ <xsl:variable name="root">
4508
+ <xsl:if test="ancestor-or-self::*[local-name() = 'preface']">preface</xsl:if>
4509
+ <xsl:if test="ancestor-or-self::*[local-name() = 'annex']">annex</xsl:if>
4510
+ </xsl:variable>
4511
+
4512
+ <item id="{@id}" level="{$level}" section="{$section}" type="{$type}" root="{$root}" display="{$display}">
4513
+ <title>
4514
+ <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
4515
+ </title>
4516
+ </item>
4517
+ </xsl:if>
4477
4518
  </xsl:template><xsl:template match="node()" mode="bookmarks">
4478
4519
  <xsl:apply-templates mode="bookmarks"/>
4479
4520
  </xsl:template><xsl:template match="*[local-name() = 'title' or local-name() = 'name']//*[local-name() = 'stem']" mode="contents">
4480
4521
  <xsl:apply-templates select="."/>
4481
- </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
4522
+ </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">
4482
4523
  <xsl:apply-templates mode="bookmarks"/>
4483
4524
  </xsl:template><xsl:template name="addBookmarks">
4484
4525
  <xsl:param name="contents"/>
@@ -4567,8 +4608,6 @@
4567
4608
 
4568
4609
 
4569
4610
 
4570
-
4571
-
4572
4611
  <xsl:variable name="list_of_tables_figures_">
4573
4612
  <xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name']] | //*[local-name() = 'figure'][@id and *[local-name() = 'name']]">
4574
4613
  <table_figure id="{@id}"><xsl:apply-templates select="*[local-name() = 'name']" mode="bookmarks"/></table_figure>
@@ -4586,12 +4625,9 @@
4586
4625
  <xsl:if test="$list_of_tables_figures//table_figure">
4587
4626
  <fo:bookmark internal-destination="empty_bookmark" starting-state="hide"> <!-- {$list_of_figures//figure[1]/@id} -->
4588
4627
  <fo:bookmark-title>
4589
-
4590
-
4591
- <xsl:call-template name="getTitle">
4592
- <xsl:with-param name="name" select="'title-table-figures'"/>
4593
- </xsl:call-template>
4594
-
4628
+ <xsl:call-template name="getTitle">
4629
+ <xsl:with-param name="name" select="'title-table-figures'"/>
4630
+ </xsl:call-template>
4595
4631
  </fo:bookmark-title>
4596
4632
  <xsl:for-each select="$list_of_tables_figures//table_figure">
4597
4633
  <fo:bookmark internal-destination="{@id}">
@@ -4673,7 +4709,7 @@
4673
4709
  <xsl:apply-templates mode="bookmark"/>
4674
4710
  </xsl:otherwise>
4675
4711
  </xsl:choose>
4676
- </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">
4712
+ </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']">
4677
4713
  <xsl:if test="normalize-space() != ''">
4678
4714
  <fo:block xsl:use-attribute-sets="figure-name-style">
4679
4715
 
@@ -4682,16 +4718,13 @@
4682
4718
  </fo:block>
4683
4719
  </xsl:if>
4684
4720
  </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">
4685
- <xsl:apply-templates mode="contents_item"/>
4721
+ <xsl:param name="mode">bookmarks</xsl:param>
4722
+ <xsl:apply-templates mode="contents_item">
4723
+ <xsl:with-param name="mode" select="$mode"/>
4724
+ </xsl:apply-templates>
4686
4725
  <!-- <xsl:text> </xsl:text> -->
4687
4726
  </xsl:template><xsl:template name="getSection">
4688
4727
  <xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
4689
- <!--
4690
- <xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
4691
- <xsl:value-of select="."/>
4692
- </xsl:for-each>
4693
- -->
4694
-
4695
4728
  </xsl:template><xsl:template name="getName">
4696
4729
  <xsl:choose>
4697
4730
  <xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
@@ -4755,9 +4788,26 @@
4755
4788
  <xsl:copy-of select="."/>
4756
4789
  </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
4757
4790
  <xsl:text> </xsl:text>
4791
+ </xsl:template><xsl:template match="*[local-name() = 'name']" mode="contents_item">
4792
+ <xsl:param name="mode">bookmarks</xsl:param>
4793
+ <xsl:apply-templates mode="contents_item">
4794
+ <xsl:with-param name="mode" select="$mode"/>
4795
+ </xsl:apply-templates>
4796
+ </xsl:template><xsl:template match="*[local-name() = 'add']" mode="contents_item">
4797
+ <xsl:param name="mode">bookmarks</xsl:param>
4798
+ <xsl:choose>
4799
+ <xsl:when test="starts-with(text(), $ace_tag)">
4800
+ <xsl:if test="$mode = 'contents'">
4801
+ <xsl:copy>
4802
+ <xsl:apply-templates mode="contents_item"/>
4803
+ </xsl:copy>
4804
+ </xsl:if>
4805
+ </xsl:when>
4806
+ <xsl:otherwise><xsl:apply-templates mode="contents_item"/></xsl:otherwise>
4807
+ </xsl:choose>
4758
4808
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
4759
4809
 
4760
- <fo:block-container margin-left="0mm">
4810
+ <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
4761
4811
  <xsl:copy-of select="@id"/>
4762
4812
 
4763
4813
  <xsl:if test="parent::*[local-name() = 'note']">
@@ -4794,6 +4844,7 @@
4794
4844
 
4795
4845
 
4796
4846
  </xsl:variable>
4847
+
4797
4848
  <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
4798
4849
  <xsl:if test="$font-size != ''">
4799
4850
  <xsl:attribute name="font-size">
@@ -4810,11 +4861,11 @@
4810
4861
 
4811
4862
 
4812
4863
 
4813
- <xsl:apply-templates/>
4864
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4814
4865
  </fo:block>
4815
4866
 
4816
4867
 
4817
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4868
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- show sourcecode's name AFTER content -->
4818
4869
 
4819
4870
 
4820
4871
 
@@ -4828,7 +4879,7 @@
4828
4879
  <xsl:call-template name="add-zero-spaces-java">
4829
4880
  <xsl:with-param name="text" select="$text"/>
4830
4881
  </xsl:call-template>
4831
- </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
4882
+ </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']">
4832
4883
  <xsl:if test="normalize-space() != ''">
4833
4884
  <fo:block xsl:use-attribute-sets="sourcecode-name-style">
4834
4885
  <xsl:apply-templates/>
@@ -4836,10 +4887,10 @@
4836
4887
  </xsl:if>
4837
4888
  </xsl:template><xsl:template match="*[local-name() = 'permission']">
4838
4889
  <fo:block id="{@id}" xsl:use-attribute-sets="permission-style">
4839
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4840
- <xsl:apply-templates/>
4890
+ <xsl:apply-templates select="*[local-name()='name']"/>
4891
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4841
4892
  </fo:block>
4842
- </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']" mode="presentation">
4893
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']">
4843
4894
  <xsl:if test="normalize-space() != ''">
4844
4895
  <fo:block xsl:use-attribute-sets="permission-name-style">
4845
4896
  <xsl:apply-templates/>
@@ -4854,13 +4905,13 @@
4854
4905
  </fo:block>
4855
4906
  </xsl:template><xsl:template match="*[local-name() = 'requirement']">
4856
4907
  <fo:block id="{@id}" xsl:use-attribute-sets="requirement-style">
4857
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4858
- <xsl:apply-templates select="*[local-name()='label']" mode="presentation"/>
4859
- <xsl:apply-templates select="@obligation" mode="presentation"/>
4860
- <xsl:apply-templates select="*[local-name()='subject']" mode="presentation"/>
4861
- <xsl:apply-templates/>
4908
+ <xsl:apply-templates select="*[local-name()='name']"/>
4909
+ <xsl:apply-templates select="*[local-name()='label']"/>
4910
+ <xsl:apply-templates select="@obligation"/>
4911
+ <xsl:apply-templates select="*[local-name()='subject']"/>
4912
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'label') and not(local-name() = 'subject')]"/>
4862
4913
  </fo:block>
4863
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']" mode="presentation">
4914
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']">
4864
4915
  <xsl:if test="normalize-space() != ''">
4865
4916
  <fo:block xsl:use-attribute-sets="requirement-name-style">
4866
4917
 
@@ -4874,20 +4925,24 @@
4874
4925
 
4875
4926
  </fo:block>
4876
4927
  </xsl:if>
4877
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']" mode="presentation">
4928
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']">
4878
4929
  <fo:block xsl:use-attribute-sets="requirement-label-style">
4879
4930
  <xsl:apply-templates/>
4880
4931
  </fo:block>
4881
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation" mode="presentation">
4932
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation">
4882
4933
  <fo:block>
4883
4934
  <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
4884
4935
  </fo:block>
4936
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2">
4937
+ <fo:block xsl:use-attribute-sets="subject-style">
4938
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4939
+ </fo:block>
4885
4940
  </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
4886
4941
  <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
4887
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4888
- <xsl:apply-templates/>
4942
+ <xsl:apply-templates select="*[local-name()='name']"/>
4943
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4889
4944
  </fo:block>
4890
- </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']" mode="presentation">
4945
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']">
4891
4946
  <xsl:if test="normalize-space() != ''">
4892
4947
  <fo:block xsl:use-attribute-sets="recommendation-name-style">
4893
4948
  <xsl:apply-templates/>
@@ -4898,10 +4953,6 @@
4898
4953
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
4899
4954
  <xsl:apply-templates/>
4900
4955
  </fo:block>
4901
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
4902
- <fo:block xsl:use-attribute-sets="subject-style">
4903
- <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4904
- </fo:block>
4905
4956
  </xsl:template><xsl:template match="*[local-name() = 'subject']">
4906
4957
  <fo:block xsl:use-attribute-sets="subject-style">
4907
4958
  <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
@@ -4945,8 +4996,6 @@
4945
4996
  </xsl:variable>
4946
4997
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
4947
4998
  <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
4948
- <!-- <fo:table-column column-width="35mm"/>
4949
- <fo:table-column column-width="115mm"/> -->
4950
4999
  <fo:table-column column-width="30%"/>
4951
5000
  <fo:table-column column-width="70%"/>
4952
5001
  </xsl:if>
@@ -4956,7 +5005,7 @@
4956
5005
  <xsl:if test=".//*[local-name() = 'fn']">
4957
5006
  <xsl:for-each select="*[local-name() = 'tbody']">
4958
5007
  <fo:block font-size="90%" border-bottom="1pt solid black">
4959
- <xsl:call-template name="fn_display"/>
5008
+ <xsl:call-template name="table_fn_display"/>
4960
5009
  </fo:block>
4961
5010
  </xsl:for-each>
4962
5011
  </xsl:if>
@@ -4973,7 +5022,6 @@
4973
5022
  </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
4974
5023
  <fo:table-row height="7mm" border-bottom="0.5pt solid grey">
4975
5024
  <xsl:if test="parent::*[local-name()='thead']"> <!-- and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']) -->
4976
- <!-- <xsl:attribute name="border">1pt solid black</xsl:attribute> -->
4977
5025
  <xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute>
4978
5026
  </xsl:if>
4979
5027
  <xsl:if test="starts-with(*[local-name()='td'][1], 'Requirement ')">
@@ -4986,34 +5034,11 @@
4986
5034
  </fo:table-row>
4987
5035
  </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
4988
5036
  <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
4989
- <xsl:attribute name="text-align">
4990
- <xsl:choose>
4991
- <xsl:when test="@align">
4992
- <xsl:value-of select="@align"/>
4993
- </xsl:when>
4994
- <xsl:otherwise>left</xsl:otherwise>
4995
- </xsl:choose>
4996
- </xsl:attribute>
4997
- <xsl:if test="@colspan">
4998
- <xsl:attribute name="number-columns-spanned">
4999
- <xsl:value-of select="@colspan"/>
5000
- </xsl:attribute>
5001
- </xsl:if>
5002
- <xsl:if test="@rowspan">
5003
- <xsl:attribute name="number-rows-spanned">
5004
- <xsl:value-of select="@rowspan"/>
5005
- </xsl:attribute>
5006
- </xsl:if>
5007
- <xsl:call-template name="display-align"/>
5037
+ <xsl:call-template name="setTextAlignment">
5038
+ <xsl:with-param name="default">left</xsl:with-param>
5039
+ </xsl:call-template>
5008
5040
 
5009
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
5010
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
5011
- <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
5012
- </xsl:if>
5013
- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
5014
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
5015
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
5016
- </xsl:if> -->
5041
+ <xsl:call-template name="setTableCellAttributes"/>
5017
5042
 
5018
5043
  <fo:block>
5019
5044
  <xsl:apply-templates/>
@@ -5025,37 +5050,15 @@
5025
5050
  <xsl:attribute name="padding">0mm</xsl:attribute>
5026
5051
  <xsl:attribute name="padding-left">0mm</xsl:attribute>
5027
5052
  </xsl:if>
5028
- <xsl:attribute name="text-align">
5029
- <xsl:choose>
5030
- <xsl:when test="@align">
5031
- <xsl:value-of select="@align"/>
5032
- </xsl:when>
5033
- <xsl:otherwise>left</xsl:otherwise>
5034
- </xsl:choose>
5035
- </xsl:attribute>
5053
+ <xsl:call-template name="setTextAlignment">
5054
+ <xsl:with-param name="default">left</xsl:with-param>
5055
+ </xsl:call-template>
5056
+
5036
5057
  <xsl:if test="following-sibling::*[local-name()='td'] and not(preceding-sibling::*[local-name()='td'])">
5037
5058
  <xsl:attribute name="font-weight">bold</xsl:attribute>
5038
5059
  </xsl:if>
5039
- <xsl:if test="@colspan">
5040
- <xsl:attribute name="number-columns-spanned">
5041
- <xsl:value-of select="@colspan"/>
5042
- </xsl:attribute>
5043
- </xsl:if>
5044
- <xsl:if test="@rowspan">
5045
- <xsl:attribute name="number-rows-spanned">
5046
- <xsl:value-of select="@rowspan"/>
5047
- </xsl:attribute>
5048
- </xsl:if>
5049
- <xsl:call-template name="display-align"/>
5050
5060
 
5051
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
5052
- <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
5053
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
5054
- <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])">
5055
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
5056
- </xsl:if>
5057
- </xsl:if> -->
5058
- <!-- 2nd line and below -->
5061
+ <xsl:call-template name="setTableCellAttributes"/>
5059
5062
 
5060
5063
  <fo:block>
5061
5064
  <xsl:apply-templates/>
@@ -5069,15 +5072,15 @@
5069
5072
  <xsl:apply-templates/>
5070
5073
  </fo:block>
5071
5074
  </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
5072
- <fo:block> <!-- margin-bottom="10pt" -->
5075
+ <fo:block>
5073
5076
  <xsl:apply-templates/>
5074
5077
  </fo:block>
5075
5078
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
5076
5079
  <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
5077
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5078
- <xsl:apply-templates/>
5080
+ <xsl:apply-templates select="*[local-name()='name']"/>
5081
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5079
5082
  </fo:block>
5080
- </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']" mode="presentation">
5083
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']">
5081
5084
  <xsl:if test="normalize-space() != ''">
5082
5085
  <fo:inline xsl:use-attribute-sets="termexample-name-style">
5083
5086
  <xsl:apply-templates/>
@@ -5101,42 +5104,46 @@
5101
5104
  <fo:block id="{@id}" xsl:use-attribute-sets="example-style">
5102
5105
 
5103
5106
 
5104
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5105
-
5106
- <xsl:variable name="element">
5107
- block
5108
-
5109
- <xsl:if test=".//*[local-name() = 'table']">block</xsl:if>
5107
+ <xsl:variable name="fo_element">
5108
+ <xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl']">block</xsl:if>
5109
+ block
5110
5110
  </xsl:variable>
5111
5111
 
5112
+ <!-- display 'EXAMPLE' -->
5113
+ <xsl:apply-templates select="*[local-name()='name']">
5114
+ <xsl:with-param name="fo_element" select="$fo_element"/>
5115
+ </xsl:apply-templates>
5116
+
5112
5117
  <xsl:choose>
5113
- <xsl:when test="contains(normalize-space($element), 'block')">
5114
- <fo:block xsl:use-attribute-sets="example-body-style">
5115
- <xsl:apply-templates/>
5116
- </fo:block>
5118
+ <xsl:when test="contains(normalize-space($fo_element), 'block')">
5119
+ <fo:block-container xsl:use-attribute-sets="example-body-style">
5120
+ <fo:block-container margin-left="0mm" margin-right="0mm">
5121
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
5122
+ <xsl:with-param name="fo_element" select="$fo_element"/>
5123
+ </xsl:apply-templates>
5124
+ </fo:block-container>
5125
+ </fo:block-container>
5117
5126
  </xsl:when>
5118
5127
  <xsl:otherwise>
5119
5128
  <fo:inline>
5120
- <xsl:apply-templates/>
5129
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
5130
+ <xsl:with-param name="fo_element" select="$fo_element"/>
5131
+ </xsl:apply-templates>
5121
5132
  </fo:inline>
5122
5133
  </xsl:otherwise>
5123
5134
  </xsl:choose>
5124
5135
 
5125
5136
  </fo:block>
5126
- </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']" mode="presentation">
5127
-
5128
- <xsl:variable name="element">
5129
- block
5130
-
5131
- <xsl:if test="following-sibling::*[1][local-name() = 'table']">block</xsl:if>
5132
- </xsl:variable>
5137
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']">
5138
+ <xsl:param name="fo_element">block</xsl:param>
5139
+
5133
5140
  <xsl:choose>
5134
5141
  <xsl:when test="ancestor::*[local-name() = 'appendix']">
5135
5142
  <fo:inline>
5136
5143
  <xsl:apply-templates/>
5137
5144
  </fo:inline>
5138
5145
  </xsl:when>
5139
- <xsl:when test="contains(normalize-space($element), 'block')">
5146
+ <xsl:when test="contains(normalize-space($fo_element), 'block')">
5140
5147
  <fo:block xsl:use-attribute-sets="example-name-style">
5141
5148
  <xsl:apply-templates/>
5142
5149
  </fo:block>
@@ -5149,14 +5156,15 @@
5149
5156
  </xsl:choose>
5150
5157
 
5151
5158
  </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
5159
+ <xsl:param name="fo_element">block</xsl:param>
5160
+
5152
5161
  <xsl:variable name="num"><xsl:number/></xsl:variable>
5153
5162
  <xsl:variable name="element">
5154
- block
5155
-
5156
5163
 
5164
+ <xsl:value-of select="$fo_element"/>
5157
5165
  </xsl:variable>
5158
5166
  <xsl:choose>
5159
- <xsl:when test="normalize-space($element) = 'block'">
5167
+ <xsl:when test="starts-with(normalize-space($element), 'block')">
5160
5168
  <fo:block xsl:use-attribute-sets="example-p-style">
5161
5169
 
5162
5170
  <xsl:apply-templates/>
@@ -5171,6 +5179,8 @@
5171
5179
  </xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
5172
5180
  <fo:block xsl:use-attribute-sets="termsource-style">
5173
5181
 
5182
+
5183
+
5174
5184
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
5175
5185
  <xsl:variable name="termsource_text">
5176
5186
  <xsl:apply-templates/>
@@ -5208,9 +5218,7 @@
5208
5218
  <xsl:value-of select="."/>
5209
5219
  </xsl:if>
5210
5220
  </xsl:template><xsl:template match="*[local-name() = 'termsource']/*[local-name() = 'strong'][1][following-sibling::*[1][local-name() = 'origin']]/text()">
5211
- <fo:inline>
5212
-
5213
-
5221
+ <fo:inline xsl:use-attribute-sets="termsource-text-style">
5214
5222
  <xsl:value-of select="."/>
5215
5223
  </fo:inline>
5216
5224
  </xsl:template><xsl:template match="*[local-name() = 'origin']">
@@ -5224,12 +5232,9 @@
5224
5232
  </fo:basic-link>
5225
5233
  </xsl:template><xsl:template match="*[local-name() = 'modification']">
5226
5234
  <xsl:variable name="title-modified">
5227
-
5228
-
5229
- <xsl:call-template name="getTitle">
5230
- <xsl:with-param name="name" select="'title-modified'"/>
5231
- </xsl:call-template>
5232
-
5235
+ <xsl:call-template name="getLocalizedString">
5236
+ <xsl:with-param name="key">modified</xsl:with-param>
5237
+ </xsl:call-template>
5233
5238
  </xsl:variable>
5234
5239
 
5235
5240
  <xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
@@ -5256,7 +5261,6 @@
5256
5261
  <fo:block-container margin-left="0mm">
5257
5262
 
5258
5263
  <fo:block xsl:use-attribute-sets="quote-style">
5259
- <!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
5260
5264
 
5261
5265
  <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
5262
5266
  </fo:block>
@@ -5299,15 +5303,13 @@
5299
5303
  </xsl:variable>
5300
5304
 
5301
5305
  <xsl:choose>
5302
- <xsl:when test="normalize-space($bibitemid) != ''">
5306
+ <xsl:when test="normalize-space($bibitemid) != ''"> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link -->
5303
5307
  <fo:inline xsl:use-attribute-sets="eref-style">
5304
5308
  <xsl:if test="@type = 'footnote'">
5305
-
5306
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5307
- <xsl:attribute name="font-size">80%</xsl:attribute>
5308
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
5309
- <xsl:attribute name="vertical-align">super</xsl:attribute>
5310
-
5309
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5310
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
5311
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
5312
+ <xsl:attribute name="font-size">80%</xsl:attribute>
5311
5313
 
5312
5314
  </xsl:if>
5313
5315
 
@@ -5327,7 +5329,6 @@
5327
5329
 
5328
5330
 
5329
5331
 
5330
-
5331
5332
  </xsl:if>
5332
5333
 
5333
5334
 
@@ -5389,8 +5390,6 @@
5389
5390
  </xsl:choose>
5390
5391
  </xsl:variable>
5391
5392
 
5392
- <!-- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/> -->
5393
-
5394
5393
  <xsl:choose>
5395
5394
  <xsl:when test="$lang = 'zh'">
5396
5395
  <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
@@ -5425,12 +5424,9 @@
5425
5424
  </fo:block>
5426
5425
  </xsl:template><xsl:template match="*[local-name() = 'deprecates']">
5427
5426
  <xsl:variable name="title-deprecated">
5428
-
5429
- <xsl:call-template name="getLocalizedString">
5430
- <xsl:with-param name="key">deprecated</xsl:with-param>
5431
- </xsl:call-template>
5432
-
5433
-
5427
+ <xsl:call-template name="getLocalizedString">
5428
+ <xsl:with-param name="key">deprecated</xsl:with-param>
5429
+ </xsl:call-template>
5434
5430
  </xsl:variable>
5435
5431
  <fo:block xsl:use-attribute-sets="deprecates-style">
5436
5432
  <xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/>
@@ -5439,6 +5435,8 @@
5439
5435
  <xsl:if test="*[local-name() = 'strong']">
5440
5436
  <xsl:attribute name="font-weight">normal</xsl:attribute>
5441
5437
  </xsl:if>
5438
+ </xsl:template><xsl:template match="*[local-name() = 'preferred']/text()[contains(., ';')] | *[local-name() = 'preferred']/*[local-name() = 'strong']/text()[contains(., ';')]">
5439
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.), ';', $linebreak)"/>
5442
5440
  </xsl:template><xsl:template match="*[local-name() = 'definition']">
5443
5441
  <fo:block xsl:use-attribute-sets="definition-style">
5444
5442
  <xsl:apply-templates/>
@@ -5447,7 +5445,6 @@
5447
5445
  <xsl:apply-templates/>
5448
5446
  </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]/*[local-name() = 'p'][1]">
5449
5447
  <fo:inline> <xsl:apply-templates/></fo:inline>
5450
- <!-- <fo:block>&#xA0;</fo:block> -->
5451
5448
  <fo:block/>
5452
5449
  </xsl:template><xsl:template match="/*/*[local-name() = 'sections']/*" priority="2">
5453
5450
 
@@ -5488,11 +5485,6 @@
5488
5485
  <xsl:apply-templates/>
5489
5486
  </fo:block>
5490
5487
  </xsl:template><xsl:template match="*[local-name() = 'definitions']">
5491
- <fo:block id="{@id}">
5492
- <xsl:apply-templates/>
5493
- </fo:block>
5494
- </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']">
5495
-
5496
5488
  <fo:block id="{@id}">
5497
5489
  <xsl:apply-templates/>
5498
5490
  </fo:block>
@@ -5509,6 +5501,51 @@
5509
5501
  </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
5510
5502
  <!-- 0xA0 to space replacement -->
5511
5503
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
5504
+ </xsl:template><xsl:variable name="ul_labels_">
5505
+
5506
+
5507
+
5508
+
5509
+
5510
+
5511
+
5512
+
5513
+
5514
+
5515
+
5516
+
5517
+
5518
+
5519
+ <label>—</label> <!-- em dash -->
5520
+
5521
+
5522
+
5523
+
5524
+ </xsl:variable><xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/><xsl:template name="setULLabel">
5525
+ <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
5526
+ <xsl:variable name="list_level">
5527
+ <xsl:choose>
5528
+ <xsl:when test="$list_level_ &lt;= 3"><xsl:value-of select="$list_level_"/></xsl:when>
5529
+ <xsl:otherwise><xsl:value-of select="$list_level_ mod 3"/></xsl:otherwise>
5530
+ </xsl:choose>
5531
+ </xsl:variable>
5532
+ <xsl:choose>
5533
+ <xsl:when test="$ul_labels/label[not(@level)]"> <!-- one label for all levels -->
5534
+ <xsl:apply-templates select="$ul_labels/label[not(@level)]" mode="ul_labels"/>
5535
+ </xsl:when>
5536
+ <xsl:when test="$list_level mod 3 = 0">
5537
+ <xsl:apply-templates select="$ul_labels/label[@level = 3]" mode="ul_labels"/>
5538
+ </xsl:when>
5539
+ <xsl:when test="$list_level mod 2 = 0">
5540
+ <xsl:apply-templates select="$ul_labels/label[@level = 2]" mode="ul_labels"/>
5541
+ </xsl:when>
5542
+ <xsl:otherwise>
5543
+ <xsl:apply-templates select="$ul_labels/label[@level = 1]" mode="ul_labels"/>
5544
+ </xsl:otherwise>
5545
+ </xsl:choose>
5546
+ </xsl:template><xsl:template match="label" mode="ul_labels">
5547
+ <xsl:copy-of select="@*[not(local-name() = 'level')]"/>
5548
+ <xsl:value-of select="."/>
5512
5549
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
5513
5550
  <xsl:choose>
5514
5551
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
@@ -5715,160 +5752,218 @@
5715
5752
  <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
5716
5753
  <fo:block><xsl:apply-templates/></fo:block>
5717
5754
  </fo:table-cell>
5718
- </xsl:template><xsl:template name="processBibitem">
5755
+ </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">
5756
+
5757
+
5758
+
5759
+ <fo:block id="{@id}">
5760
+ <xsl:apply-templates/>
5761
+ </fo:block>
5762
+ </xsl:template><xsl:template match="*[local-name() = 'references']">
5763
+ <xsl:if test="not(ancestor::*[local-name() = 'annex'])">
5764
+
5765
+ <fo:block break-after="page"/>
5766
+
5767
+ </xsl:if>
5768
+
5769
+ <!-- <xsl:if test="ancestor::*[local-name() = 'annex']">
5770
+ <xsl:if test="$namespace = 'csa' or $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'itu'">
5771
+ <fo:block break-after="page"/>
5772
+ </xsl:if>
5773
+ </xsl:if> -->
5774
+
5775
+ <fo:block id="{@id}" xsl:use-attribute-sets="references-non-normative-style">
5776
+ <xsl:apply-templates/>
5777
+ </fo:block>
5778
+
5779
+
5719
5780
 
5720
5781
 
5782
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']">
5783
+ <xsl:call-template name="bibitem"/>
5784
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@normative='true']/*[local-name() = 'bibitem']" name="bibitem" priority="2">
5721
5785
 
5786
+ <fo:block id="{@id}" xsl:use-attribute-sets="bibitem-normative-style">
5787
+ <xsl:call-template name="processBibitem"/>
5788
+ </fo:block>
5789
+
5790
+
5791
+ </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
5792
+
5793
+ <!-- $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'jcgm' or $namespace = 'm3d' or
5794
+ $namespace = 'mpfd' or $namespace = 'ogc' or $namespace = 'ogc-white-paper' -->
5795
+ <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
5796
+ <fo:list-block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-style">
5797
+ <fo:list-item>
5798
+ <fo:list-item-label end-indent="label-end()">
5799
+ <fo:block>
5800
+ <fo:inline>
5801
+
5802
+ <xsl:value-of select="*[local-name()='docidentifier'][@type = 'metanorma-ordinal']"/>
5803
+ <xsl:if test="not(*[local-name()='docidentifier'][@type = 'metanorma-ordinal'])">
5804
+ <xsl:number format="[1]"/>
5805
+ </xsl:if>
5806
+
5807
+ </fo:inline>
5808
+ </fo:block>
5809
+ </fo:list-item-label>
5810
+ <fo:list-item-body start-indent="body-start()">
5811
+ <fo:block xsl:use-attribute-sets="bibitem-non-normative-list-body-style">
5812
+ <xsl:call-template name="processBibitem"/>
5813
+ </fo:block>
5814
+ </fo:list-item-body>
5815
+ </fo:list-item>
5816
+ </fo:list-block>
5817
+
5722
5818
 
5723
- <!-- start OGC bibtem processing -->
5724
- <xsl:choose>
5725
- <xsl:when test="*[local-name() = 'formattedref']">
5726
- <xsl:apply-templates select="*[local-name() = 'formattedref']"/>
5727
- </xsl:when>
5728
- <xsl:otherwise>
5729
- <xsl:variable name="personalAuthors">
5730
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']/*[local-name() = 'person']">
5731
- <xsl:call-template name="processPersonalAuthor"/>
5732
- </xsl:for-each>
5733
- <xsl:if test="not(*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']/*[local-name() = 'person'])">
5734
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='editor']/*[local-name() = 'person']">
5819
+ </xsl:template><xsl:template name="processBibitem">
5820
+
5821
+
5822
+ <!-- start OGC bibitem processing -->
5823
+ <xsl:if test=".//ogc:fn">
5824
+ <xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
5825
+ </xsl:if>
5826
+ <xsl:choose>
5827
+ <xsl:when test="*[local-name() = 'formattedref']">
5828
+ <xsl:apply-templates select="*[local-name() = 'formattedref']"/>
5829
+ </xsl:when>
5830
+ <xsl:otherwise>
5831
+ <xsl:variable name="personalAuthors">
5832
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']/*[local-name() = 'person']">
5735
5833
  <xsl:call-template name="processPersonalAuthor"/>
5736
5834
  </xsl:for-each>
5737
- </xsl:if>
5738
- </xsl:variable>
5739
-
5740
- <xsl:variable name="city" select="*[local-name() = 'place']"/>
5741
- <xsl:variable name="year">
5835
+ <xsl:if test="not(*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']/*[local-name() = 'person'])">
5836
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='editor']/*[local-name() = 'person']">
5837
+ <xsl:call-template name="processPersonalAuthor"/>
5838
+ </xsl:for-each>
5839
+ </xsl:if>
5840
+ </xsl:variable>
5841
+
5842
+ <xsl:variable name="city" select="*[local-name() = 'place']"/>
5843
+ <xsl:variable name="year">
5844
+ <xsl:choose>
5845
+ <xsl:when test="*[local-name() = 'date'][@type = 'published']">
5846
+ <xsl:for-each select="*[local-name() = 'date'][@type = 'published']">
5847
+ <xsl:call-template name="renderDate"/>
5848
+ </xsl:for-each>
5849
+ </xsl:when>
5850
+ <xsl:when test="*[local-name() = 'date'][@type = 'issued']">
5851
+ <xsl:for-each select="*[local-name() = 'date'][@type = 'issued']">
5852
+ <xsl:call-template name="renderDate"/>
5853
+ </xsl:for-each>
5854
+ </xsl:when>
5855
+ <xsl:when test="*[local-name() = 'date'][@type = 'circulated']">
5856
+ <xsl:for-each select="*[local-name() = 'date'][@type = 'circulated']">
5857
+ <xsl:call-template name="renderDate"/>
5858
+ </xsl:for-each>
5859
+ </xsl:when>
5860
+ <xsl:otherwise>
5861
+ <xsl:for-each select="*[local-name() = 'date']">
5862
+ <xsl:call-template name="renderDate"/>
5863
+ </xsl:for-each>
5864
+ </xsl:otherwise>
5865
+ </xsl:choose>
5866
+ </xsl:variable>
5867
+
5868
+ <xsl:variable name="uri" select="*[local-name() = 'uri']"/>
5869
+
5870
+
5871
+ <!-- citation structure:
5872
+ {personal names | organisation}: {document identifier}, {title}. {publisher}, {city} ({year})
5873
+ -->
5874
+
5875
+ <!-- Author(s) -->
5742
5876
  <xsl:choose>
5743
- <xsl:when test="*[local-name() = 'date'][@type = 'published']">
5744
- <xsl:for-each select="*[local-name() = 'date'][@type = 'published']">
5745
- <xsl:call-template name="renderDate"/>
5746
- </xsl:for-each>
5877
+ <xsl:when test="xalan:nodeset($personalAuthors)//author">
5878
+ <xsl:for-each select="xalan:nodeset($personalAuthors)//author">
5879
+ <xsl:apply-templates/>
5880
+ <xsl:if test="position() != last()">, </xsl:if>
5881
+ </xsl:for-each>
5882
+ <xsl:text>: </xsl:text>
5883
+ </xsl:when>
5884
+ <xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'abbreviation']">
5885
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'abbreviation']">
5886
+ <xsl:value-of select="."/>
5887
+ <xsl:if test="position() != last()">/</xsl:if>
5888
+ </xsl:for-each>
5889
+ <xsl:text>: </xsl:text>
5747
5890
  </xsl:when>
5748
- <xsl:when test="*[local-name() = 'date'][@type = 'issued']">
5749
- <xsl:for-each select="*[local-name() = 'date'][@type = 'issued']">
5750
- <xsl:call-template name="renderDate"/>
5891
+ <xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name']">
5892
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name']">
5893
+ <xsl:value-of select="."/>
5894
+ <xsl:if test="position() != last()">, </xsl:if>
5751
5895
  </xsl:for-each>
5896
+ <xsl:text>: </xsl:text>
5752
5897
  </xsl:when>
5753
- <xsl:when test="*[local-name() = 'date'][@type = 'circulated']">
5754
- <xsl:for-each select="*[local-name() = 'date'][@type = 'circulated']">
5755
- <xsl:call-template name="renderDate"/>
5756
- </xsl:for-each>
5898
+ </xsl:choose>
5899
+
5900
+
5901
+ <xsl:variable name="document_identifier">
5902
+ <xsl:call-template name="processBibitemDocId"/>
5903
+ </xsl:variable>
5904
+
5905
+ <xsl:value-of select="$document_identifier"/>
5906
+
5907
+ <xsl:apply-templates select="*[local-name() = 'note']"/>
5908
+
5909
+ <xsl:variable name="isDraft">
5910
+ <xsl:variable name="stage" select="normalize-space(*[local-name() = 'status']/*[local-name() = 'stage'])"/>
5911
+ <xsl:if test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization'][*[local-name() = 'name']/text() = 'Open Geospatial Consortium'] and $stage != '' and $stage != 'published' and $stage != 'deprecated' and $stage != 'retired'">true</xsl:if>
5912
+ </xsl:variable>
5913
+
5914
+ <xsl:if test="$isDraft = 'true'">
5915
+ <xsl:text> (Draft)</xsl:text>
5916
+ </xsl:if>
5917
+
5918
+ <xsl:text>, </xsl:text>
5919
+
5920
+ <xsl:choose>
5921
+ <xsl:when test="*[local-name() = 'title'][@type = 'main' and @language = 'en']">
5922
+ <xsl:apply-templates select="*[local-name() = 'title'][@type = 'main' and @language = 'en']"/>
5757
5923
  </xsl:when>
5758
5924
  <xsl:otherwise>
5759
- <xsl:for-each select="*[local-name() = 'date']">
5760
- <xsl:call-template name="renderDate"/>
5761
- </xsl:for-each>
5925
+ <xsl:apply-templates select="*[local-name() = 'title']"/>
5762
5926
  </xsl:otherwise>
5763
5927
  </xsl:choose>
5764
- </xsl:variable>
5765
-
5766
- <xsl:variable name="uri" select="*[local-name() = 'uri']"/>
5767
-
5768
-
5769
- <!-- citation structure:
5770
- {personal names | organisation}: {document identifier}, {title}. {publisher}, {city} ({year})
5771
- -->
5772
-
5773
- <!-- Author(s) -->
5774
- <xsl:choose>
5775
- <xsl:when test="xalan:nodeset($personalAuthors)//author">
5776
- <xsl:for-each select="xalan:nodeset($personalAuthors)//author">
5777
- <xsl:apply-templates/>
5778
- <xsl:if test="position() != last()">, </xsl:if>
5779
- </xsl:for-each>
5780
- <xsl:text>: </xsl:text>
5781
- </xsl:when>
5782
- <xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'abbreviation']">
5783
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'abbreviation']">
5784
- <xsl:value-of select="."/>
5785
- <xsl:if test="position() != last()">/</xsl:if>
5786
- </xsl:for-each>
5787
- <xsl:text>: </xsl:text>
5788
- </xsl:when>
5789
- <xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name']">
5928
+
5929
+ <xsl:text>. </xsl:text>
5930
+
5931
+ <xsl:if test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name']">
5790
5932
  <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name']">
5791
5933
  <xsl:value-of select="."/>
5792
5934
  <xsl:if test="position() != last()">, </xsl:if>
5793
5935
  </xsl:for-each>
5794
- <xsl:text>: </xsl:text>
5795
- </xsl:when>
5796
- </xsl:choose>
5797
-
5798
-
5799
- <xsl:variable name="document_identifier">
5800
- <xsl:call-template name="processBibitemDocId"/>
5801
- </xsl:variable>
5802
-
5803
- <xsl:value-of select="$document_identifier"/>
5804
-
5805
- <xsl:apply-templates select="*[local-name() = 'note']"/>
5806
-
5807
- <xsl:variable name="isDraft">
5808
- <xsl:variable name="stage" select="normalize-space(*[local-name() = 'status']/*[local-name() = 'stage'])"/>
5809
- <xsl:if test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization'][*[local-name() = 'name']/text() = 'Open Geospatial Consortium'] and $stage != '' and $stage != 'published' and $stage != 'deprecated' and $stage != 'retired'">true</xsl:if>
5810
- </xsl:variable>
5811
-
5812
- <xsl:if test="$isDraft = 'true'">
5813
- <xsl:text> (Draft)</xsl:text>
5814
- </xsl:if>
5815
-
5816
- <xsl:text>, </xsl:text>
5817
-
5818
- <xsl:choose>
5819
- <xsl:when test="*[local-name() = 'title'][@type = 'main' and @language = 'en']">
5820
- <xsl:apply-templates select="*[local-name() = 'title'][@type = 'main' and @language = 'en']"/>
5821
- </xsl:when>
5822
- <xsl:otherwise>
5823
- <xsl:apply-templates select="*[local-name() = 'title']"/>
5824
- </xsl:otherwise>
5825
- </xsl:choose>
5826
-
5827
- <xsl:text>. </xsl:text>
5828
-
5829
- <xsl:if test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name']">
5830
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name']">
5831
- <xsl:value-of select="."/>
5832
- <xsl:if test="position() != last()">, </xsl:if>
5833
- </xsl:for-each>
5834
- <xsl:if test="normalize-space($city) != ''">, </xsl:if>
5835
- </xsl:if>
5836
-
5837
- <xsl:value-of select="$city"/>
5838
-
5839
- <xsl:if test="(*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name'] or normalize-space($city) != '') and normalize-space($year) != ''">
5840
- <xsl:text> </xsl:text>
5841
- </xsl:if>
5842
-
5843
- <xsl:if test="normalize-space($year) != ''">
5844
- <xsl:text>(</xsl:text>
5845
- <xsl:value-of select="$year"/>
5846
- <xsl:text>). </xsl:text>
5847
- </xsl:if>
5848
-
5849
- <xsl:if test="normalize-space($uri) != ''">
5850
- <fo:inline>
5851
-
5936
+ <xsl:if test="normalize-space($city) != ''">, </xsl:if>
5937
+ </xsl:if>
5938
+
5939
+ <xsl:value-of select="$city"/>
5940
+
5941
+ <xsl:if test="(*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name'] or normalize-space($city) != '') and normalize-space($year) != ''">
5852
5942
  <xsl:text> </xsl:text>
5853
- <fo:basic-link external-destination="{$uri}" fox:alt-text="{$uri}">
5854
- <xsl:value-of select="$uri"/>
5855
- </fo:basic-link>
5856
- </fo:inline>
5857
- </xsl:if>
5858
-
5859
- </xsl:otherwise>
5860
- </xsl:choose>
5861
- <!-- end OGC bibitem processing-->
5862
-
5863
-
5864
-
5865
-
5866
-
5867
-
5868
-
5869
-
5943
+ </xsl:if>
5944
+
5945
+ <xsl:if test="normalize-space($year) != ''">
5946
+ <xsl:text>(</xsl:text>
5947
+ <xsl:value-of select="$year"/>
5948
+ <xsl:text>). </xsl:text>
5949
+ </xsl:if>
5950
+
5951
+ <xsl:if test="normalize-space($uri) != ''">
5952
+ <fo:inline>
5953
+
5954
+ <xsl:text> </xsl:text>
5955
+ <fo:basic-link external-destination="{$uri}" fox:alt-text="{$uri}">
5956
+ <xsl:value-of select="$uri"/>
5957
+ </fo:basic-link>
5958
+ </fo:inline>
5959
+ </xsl:if>
5960
+
5961
+ </xsl:otherwise>
5962
+ </xsl:choose>
5963
+ <!-- end OGC bibitem processing-->
5964
+
5870
5965
  </xsl:template><xsl:template name="processBibitemDocId">
5871
- <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')]"/>
5966
+ <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')]"/>
5872
5967
  <xsl:choose>
5873
5968
  <xsl:when test="normalize-space($_doc_ident) != ''">
5874
5969
  <!-- <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"/>
@@ -5882,7 +5977,7 @@
5882
5977
  <xsl:if test="$type != ''">
5883
5978
  <xsl:value-of select="$type"/><xsl:text> </xsl:text>
5884
5979
  </xsl:if> -->
5885
- <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
5980
+ <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma') and not(@type = 'metanorma-ordinal')]"/>
5886
5981
  </xsl:otherwise>
5887
5982
  </xsl:choose>
5888
5983
  </xsl:template><xsl:template name="processPersonalAuthor">
@@ -5923,6 +6018,55 @@
5923
6018
  <xsl:value-of select="substring(.,1,1)"/>
5924
6019
  </xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
5925
6020
  <fo:inline><xsl:apply-templates/></fo:inline>
6021
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'title']" priority="2">
6022
+ <!-- <fo:inline><xsl:apply-templates /></fo:inline> -->
6023
+ <fo:inline font-style="italic"> <!-- BIPM BSI CSD CSA GB IEC IHO ISO ITU JCGM -->
6024
+ <xsl:apply-templates/>
6025
+ </fo:inline>
6026
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
6027
+ <fo:footnote>
6028
+ <xsl:variable name="number">
6029
+
6030
+ <xsl:choose>
6031
+ <xsl:when test="ancestor::*[local-name() = 'references'][preceding-sibling::*[local-name() = 'references']]">
6032
+ <xsl:number level="any" count="*[local-name() = 'references'][preceding-sibling::*[local-name() = 'references']]//*[local-name() = 'bibitem']/*[local-name() = 'note']"/>
6033
+ </xsl:when>
6034
+ <xsl:otherwise>
6035
+ <xsl:number level="any" count="*[local-name() = 'bibitem']/*[local-name() = 'note']"/>
6036
+ </xsl:otherwise>
6037
+ </xsl:choose>
6038
+
6039
+ </xsl:variable>
6040
+ <fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
6041
+ <fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
6042
+ <xsl:value-of select="$number"/>
6043
+
6044
+ </fo:basic-link>
6045
+ </fo:inline>
6046
+ <fo:footnote-body>
6047
+ <fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
6048
+ <fo:inline id="{generate-id()}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
6049
+ <xsl:value-of select="$number"/>
6050
+
6051
+ </fo:inline>
6052
+ <xsl:apply-templates/>
6053
+ </fo:block>
6054
+ </fo:footnote-body>
6055
+ </fo:footnote>
6056
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'edition']"> <!-- for iho -->
6057
+ <xsl:text> edition </xsl:text>
6058
+ <xsl:value-of select="."/>
6059
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'uri']"> <!-- for iho -->
6060
+ <xsl:text> (</xsl:text>
6061
+ <fo:inline xsl:use-attribute-sets="link-style">
6062
+ <fo:basic-link external-destination="." fox:alt-text=".">
6063
+ <xsl:value-of select="."/>
6064
+ </fo:basic-link>
6065
+ </fo:inline>
6066
+ <xsl:text>)</xsl:text>
6067
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'docidentifier']"/><xsl:template match="*[local-name() = 'formattedref']">
6068
+
6069
+ <xsl:apply-templates/>
5926
6070
  </xsl:template><xsl:template match="*[local-name() = 'form']">
5927
6071
  <fo:block>
5928
6072
  <xsl:apply-templates/>
@@ -5988,27 +6132,14 @@
5988
6132
  <fo:block> </fo:block>
5989
6133
  </fo:block-container>
5990
6134
  </xsl:template><xsl:variable name="toc_level">
6135
+ <!-- https://www.metanorma.org/author/ref/document-attributes/ -->
6136
+ <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:-->
6137
+ <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 -->
5991
6138
  <xsl:choose>
5992
- <xsl:when test="1 = 2"/> <!-- to do https://github.com/metanorma/mn-native-pdf/issues/337: if there is value in xml -->
6139
+ <xsl:when test="$htmltoclevels != ''"><xsl:value-of select="number($htmltoclevels)"/></xsl:when> <!-- if there is value in xml -->
6140
+ <xsl:when test="$toclevels != ''"><xsl:value-of select="number($toclevels)"/></xsl:when> <!-- if there is value in xml -->
5993
6141
  <xsl:otherwise><!-- default value -->
5994
-
5995
-
5996
-
5997
-
5998
-
5999
-
6000
-
6001
-
6002
-
6003
-
6004
-
6005
-
6006
-
6007
-
6008
6142
  3
6009
-
6010
-
6011
-
6012
6143
  </xsl:otherwise>
6013
6144
  </xsl:choose>
6014
6145
  </xsl:variable><xsl:template match="*[local-name() = 'toc']">
@@ -6091,7 +6222,7 @@
6091
6222
  </td>
6092
6223
  </xsl:for-each>
6093
6224
  <td>333</td> <!-- page number, just for fill -->
6094
- </xsl:template><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
6225
+ </xsl:template><xsl:template match="*[local-name() = 'variant-title']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
6095
6226
  <fo:inline padding-right="5mm"> </fo:inline>
6096
6227
  <fo:inline><xsl:apply-templates/></fo:inline>
6097
6228
  </xsl:template><xsl:template match="*[local-name() = 'blacksquare']" name="blacksquare">
@@ -6102,6 +6233,66 @@
6102
6233
  </svg>
6103
6234
  </fo:instream-foreign-object>
6104
6235
  </fo:inline>
6236
+ </xsl:template><xsl:template match="@language">
6237
+ <xsl:copy-of select="."/>
6238
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="4">
6239
+ <xsl:call-template name="title"/>
6240
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']">
6241
+
6242
+
6243
+
6244
+
6245
+
6246
+ <!-- text in the box -->
6247
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="admonition-style">
6248
+
6249
+
6250
+
6251
+
6252
+
6253
+ <fo:block-container xsl:use-attribute-sets="admonition-container-style">
6254
+
6255
+
6256
+ <fo:block xsl:use-attribute-sets="admonition-name-style">
6257
+ <xsl:call-template name="displayAdmonitionName"/>
6258
+ </fo:block>
6259
+ <fo:block xsl:use-attribute-sets="admonition-p-style">
6260
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
6261
+ </fo:block>
6262
+
6263
+ </fo:block-container>
6264
+
6265
+ </fo:block-container>
6266
+
6267
+ </xsl:template><xsl:template name="displayAdmonitionName">
6268
+
6269
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
6270
+ <xsl:if test="not(*[local-name() = 'name'])">
6271
+ <xsl:apply-templates select="@type"/>
6272
+ </xsl:if>
6273
+
6274
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
6275
+ <xsl:apply-templates/>
6276
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/@type">
6277
+ <xsl:variable name="admonition_type_">
6278
+ <xsl:call-template name="getLocalizedString">
6279
+ <xsl:with-param name="key">admonition.<xsl:value-of select="."/></xsl:with-param>
6280
+ </xsl:call-template>
6281
+ </xsl:variable>
6282
+ <xsl:variable name="admonition_type" select="normalize-space(java:toUpperCase(java:java.lang.String.new($admonition_type_)))"/>
6283
+ <xsl:value-of select="$admonition_type"/>
6284
+ <xsl:if test="$admonition_type = ''">
6285
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
6286
+ </xsl:if>
6287
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'p']">
6288
+
6289
+ <fo:block xsl:use-attribute-sets="admonition-p-style">
6290
+
6291
+
6292
+
6293
+ <xsl:apply-templates/>
6294
+ </fo:block>
6295
+
6105
6296
  </xsl:template><xsl:template name="convertDate">
6106
6297
  <xsl:param name="date"/>
6107
6298
  <xsl:param name="format" select="'short'"/>
@@ -6110,78 +6301,39 @@
6110
6301
  <xsl:variable name="day" select="substring($date, 9, 2)"/>
6111
6302
  <xsl:variable name="monthStr">
6112
6303
  <xsl:choose>
6113
- <xsl:when test="$month = '01'">January</xsl:when>
6114
- <xsl:when test="$month = '02'">February</xsl:when>
6115
- <xsl:when test="$month = '03'">March</xsl:when>
6116
- <xsl:when test="$month = '04'">April</xsl:when>
6117
- <xsl:when test="$month = '05'">May</xsl:when>
6118
- <xsl:when test="$month = '06'">June</xsl:when>
6119
- <xsl:when test="$month = '07'">July</xsl:when>
6120
- <xsl:when test="$month = '08'">August</xsl:when>
6121
- <xsl:when test="$month = '09'">September</xsl:when>
6122
- <xsl:when test="$month = '10'">October</xsl:when>
6123
- <xsl:when test="$month = '11'">November</xsl:when>
6124
- <xsl:when test="$month = '12'">December</xsl:when>
6125
- </xsl:choose>
6126
- </xsl:variable>
6127
- <xsl:variable name="result">
6128
- <xsl:choose>
6129
- <xsl:when test="$format = 'ddMMyyyy'">
6130
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
6131
- <xsl:text> </xsl:text>
6132
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
6133
- </xsl:when>
6134
- <xsl:when test="$format = 'ddMM'">
6135
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
6136
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
6137
- </xsl:when>
6138
- <xsl:when test="$format = 'short' or $day = ''">
6139
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
6140
- </xsl:when>
6141
- <xsl:otherwise>
6142
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
6143
- </xsl:otherwise>
6304
+ <xsl:when test="$month = '01'">january</xsl:when>
6305
+ <xsl:when test="$month = '02'">february</xsl:when>
6306
+ <xsl:when test="$month = '03'">march</xsl:when>
6307
+ <xsl:when test="$month = '04'">april</xsl:when>
6308
+ <xsl:when test="$month = '05'">may</xsl:when>
6309
+ <xsl:when test="$month = '06'">june</xsl:when>
6310
+ <xsl:when test="$month = '07'">july</xsl:when>
6311
+ <xsl:when test="$month = '08'">august</xsl:when>
6312
+ <xsl:when test="$month = '09'">september</xsl:when>
6313
+ <xsl:when test="$month = '10'">october</xsl:when>
6314
+ <xsl:when test="$month = '11'">november</xsl:when>
6315
+ <xsl:when test="$month = '12'">december</xsl:when>
6144
6316
  </xsl:choose>
6145
6317
  </xsl:variable>
6146
- <xsl:value-of select="$result"/>
6147
- </xsl:template><xsl:template name="convertDateLocalized">
6148
- <xsl:param name="date"/>
6149
- <xsl:param name="format" select="'short'"/>
6150
- <xsl:variable name="year" select="substring($date, 1, 4)"/>
6151
- <xsl:variable name="month" select="substring($date, 6, 2)"/>
6152
- <xsl:variable name="day" select="substring($date, 9, 2)"/>
6153
- <xsl:variable name="monthStr">
6154
- <xsl:choose>
6155
- <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>
6156
- <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>
6157
- <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>
6158
- <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>
6159
- <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>
6160
- <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>
6161
- <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>
6162
- <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>
6163
- <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>
6164
- <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>
6165
- <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>
6166
- <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>
6167
- </xsl:choose>
6318
+ <xsl:variable name="monthStr_localized">
6319
+ <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>
6168
6320
  </xsl:variable>
6169
6321
  <xsl:variable name="result">
6170
6322
  <xsl:choose>
6171
6323
  <xsl:when test="$format = 'ddMMyyyy'">
6172
6324
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
6173
6325
  <xsl:text> </xsl:text>
6174
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
6326
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ' , $year))"/>
6175
6327
  </xsl:when>
6176
6328
  <xsl:when test="$format = 'ddMM'">
6177
6329
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
6178
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
6330
+ <xsl:text> </xsl:text><xsl:value-of select="$monthStr_localized"/>
6179
6331
  </xsl:when>
6180
6332
  <xsl:when test="$format = 'short' or $day = ''">
6181
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
6333
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $year))"/>
6182
6334
  </xsl:when>
6183
6335
  <xsl:otherwise>
6184
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
6336
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $day, ', ' , $year))"/>
6185
6337
  </xsl:otherwise>
6186
6338
  </xsl:choose>
6187
6339
  </xsl:variable>
@@ -6233,14 +6385,9 @@
6233
6385
  <dc:title>
6234
6386
  <xsl:variable name="title">
6235
6387
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
6236
-
6237
-
6238
-
6239
-
6240
- <xsl:value-of select="*[local-name() = 'title'][@language = $lang]"/>
6241
-
6242
-
6243
6388
 
6389
+ <xsl:value-of select="*[local-name() = 'title'][@language = $lang]"/>
6390
+
6244
6391
  </xsl:for-each>
6245
6392
  </xsl:variable>
6246
6393
  <xsl:choose>
@@ -6255,21 +6402,18 @@
6255
6402
  <dc:creator>
6256
6403
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
6257
6404
 
6258
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
6259
- <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
6260
- <xsl:if test="position() != last()">; </xsl:if>
6261
- </xsl:for-each>
6262
-
6263
-
6264
-
6405
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
6406
+ <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
6407
+ <xsl:if test="position() != last()">; </xsl:if>
6408
+ </xsl:for-each>
6409
+
6265
6410
  </xsl:for-each>
6266
6411
  </dc:creator>
6267
6412
  <dc:description>
6268
6413
  <xsl:variable name="abstract">
6269
6414
 
6270
- <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
6271
-
6272
-
6415
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
6416
+
6273
6417
  </xsl:variable>
6274
6418
  <xsl:value-of select="normalize-space($abstract)"/>
6275
6419
  </dc:description>
@@ -6289,7 +6433,6 @@
6289
6433
  <xsl:value-of select="../@id"/>
6290
6434
  </xsl:when>
6291
6435
  <xsl:otherwise>
6292
- <!-- <xsl:value-of select="concat(local-name(..), '_', text())"/> -->
6293
6436
  <xsl:value-of select="concat(generate-id(..), '_', text())"/>
6294
6437
  </xsl:otherwise>
6295
6438
  </xsl:choose>
@@ -6315,9 +6458,6 @@
6315
6458
  <xsl:when test="ancestor::*[local-name() = 'preface']">
6316
6459
  <xsl:value-of select="$level_total - 2"/>
6317
6460
  </xsl:when>
6318
- <!-- <xsl:when test="parent::*[local-name() = 'sections']">
6319
- <xsl:value-of select="$level_total - 1"/>
6320
- </xsl:when> -->
6321
6461
  <xsl:when test="ancestor::*[local-name() = 'sections']">
6322
6462
  <xsl:value-of select="$level_total - 1"/>
6323
6463
  </xsl:when>
@@ -6459,9 +6599,15 @@
6459
6599
  </xsl:template><xsl:template name="getLocalizedString">
6460
6600
  <xsl:param name="key"/>
6461
6601
  <xsl:param name="formatted">false</xsl:param>
6602
+ <xsl:param name="lang"/>
6462
6603
 
6463
6604
  <xsl:variable name="curr_lang">
6464
- <xsl:call-template name="getLang"/>
6605
+ <xsl:choose>
6606
+ <xsl:when test="$lang != ''"><xsl:value-of select="$lang"/></xsl:when>
6607
+ <xsl:otherwise>
6608
+ <xsl:call-template name="getLang"/>
6609
+ </xsl:otherwise>
6610
+ </xsl:choose>
6465
6611
  </xsl:variable>
6466
6612
 
6467
6613
  <xsl:variable name="data_value">
@@ -6501,7 +6647,6 @@
6501
6647
  <xsl:value-of select="$key_"/>
6502
6648
  </xsl:otherwise>
6503
6649
  </xsl:choose>
6504
-
6505
6650
  </xsl:template><xsl:template name="setTrackChangesStyles">
6506
6651
  <xsl:param name="isAdded"/>
6507
6652
  <xsl:param name="isDeleted"/>
@@ -6524,7 +6669,6 @@
6524
6669
  <xsl:if test="local-name() = 'table'">
6525
6670
  <xsl:attribute name="background-color">rgb(255, 185, 185)</xsl:attribute>
6526
6671
  </xsl:if>
6527
- <!-- <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute> -->
6528
6672
  <xsl:attribute name="padding">2mm</xsl:attribute>
6529
6673
  </xsl:if>
6530
6674
  </xsl:otherwise>
@@ -6544,15 +6688,18 @@
6544
6688
  </xsl:choose>
6545
6689
  </xsl:template><xsl:template name="setTextAlignment">
6546
6690
  <xsl:param name="default">left</xsl:param>
6691
+ <xsl:variable name="align" select="normalize-space(@align)"/>
6547
6692
  <xsl:attribute name="text-align">
6548
6693
  <xsl:choose>
6549
- <xsl:when test="@align and not(@align = 'indent')"><xsl:value-of select="@align"/></xsl:when>
6694
+ <xsl:when test="$lang = 'ar' and $align = 'left'">start</xsl:when>
6695
+ <xsl:when test="$lang = 'ar' and $align = 'right'">end</xsl:when>
6696
+ <xsl:when test="$align != '' and not($align = 'indent')"><xsl:value-of select="$align"/></xsl:when>
6550
6697
  <xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
6551
6698
  <xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
6552
6699
  <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
6553
6700
  </xsl:choose>
6554
6701
  </xsl:attribute>
6555
- <xsl:if test="@align = 'indent'">
6702
+ <xsl:if test="$align = 'indent'">
6556
6703
  <xsl:attribute name="margin-left">7mm</xsl:attribute>
6557
6704
  </xsl:if>
6558
6705
  </xsl:template><xsl:template name="number-to-words">