metanorma-un 0.7.3 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,6 +7,8 @@
7
7
  <xsl:variable name="images" select="document($svg_images)"/>
8
8
  <xsl:param name="basepath"/>
9
9
 
10
+ <xsl:key name="kfn" match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])]" use="@reference"/>
11
+
10
12
 
11
13
 
12
14
 
@@ -45,7 +47,7 @@
45
47
 
46
48
  <xsl:template match="/">
47
49
  <xsl:call-template name="namespaceCheck"/>
48
- <fo:root font-family="Times New Roman, STIX Two Math, Source Han Sans" font-size="10pt" xml:lang="{$lang}">
50
+ <fo:root xsl:use-attribute-sets="root-style" xml:lang="{$lang}">
49
51
  <fo:layout-master-set>
50
52
  <!-- Cover page -->
51
53
  <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
@@ -101,7 +103,7 @@
101
103
  <fo:page-sequence master-reference="cover-page" force-page-count="even">
102
104
  <fo:flow flow-name="xsl-region-body">
103
105
  <fo:block-container absolute-position="fixed" left="0mm" top="72mm">
104
- <fo:block>
106
+ <fo:block>
105
107
  <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Front))}" width="188mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image Front"/>
106
108
  </fo:block>
107
109
  </fo:block-container>
@@ -202,8 +204,9 @@
202
204
  </xsl:variable>
203
205
  <fo:block font-size="14pt" margin-top="4pt" margin-bottom="8pt" role="H1"><xsl:value-of select="$title-toc"/></fo:block>
204
206
  <xsl:variable name="title-page">
205
- <xsl:call-template name="getTitle">
206
- <xsl:with-param name="name" select="'title-page'"/>
207
+ <xsl:call-template name="getLocalizedString">
208
+ <xsl:with-param name="key">locality.page</xsl:with-param>
209
+ <xsl:with-param name="lang" select="$lang"/>
207
210
  </xsl:call-template>
208
211
  </xsl:variable>
209
212
  <fo:block font-size="9pt" text-align="right" font-style="italic" margin-bottom="6pt"><xsl:value-of select="$title-page"/></fo:block>
@@ -217,7 +220,7 @@
217
220
  <xsl:attribute name="margin-left">20mm</xsl:attribute>
218
221
  </xsl:if>
219
222
  <xsl:if test="@level &gt;= 3 and @section != ''">
220
- <xsl:attribute name="margin-left">28mm</xsl:attribute>
223
+ <xsl:attribute name="margin-left"><xsl:value-of select="(@level - 2) * 28"/>mm</xsl:attribute>
221
224
  </xsl:if>
222
225
  <fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
223
226
  <xsl:if test="@section != ''">
@@ -321,10 +324,10 @@
321
324
  <!-- Back Page -->
322
325
  <fo:page-sequence master-reference="cover-page" force-page-count="no-force">
323
326
  <fo:flow flow-name="xsl-region-body">
324
- <fo:block> </fo:block>
325
- <fo:block break-after="page"/>
327
+ <fo:block> </fo:block>
328
+ <fo:block break-after="page"/>
326
329
  <fo:block-container absolute-position="fixed" left="0mm" top="72mm">
327
- <fo:block>
330
+ <fo:block>
328
331
  <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Back))}" width="210mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image Front"/>
329
332
  </fo:block>
330
333
  </fo:block-container>
@@ -341,9 +344,6 @@
341
344
  <!-- ============================= -->
342
345
  <!-- CONTENTS -->
343
346
  <!-- ============================= -->
344
- <xsl:template match="node()" mode="contents">
345
- <xsl:apply-templates mode="contents"/>
346
- </xsl:template>
347
347
 
348
348
  <xsl:template match="un:un-standard/un:sections/*" mode="contents">
349
349
  <xsl:apply-templates mode="contents"/>
@@ -362,7 +362,7 @@
362
362
  <xsl:variable name="display">
363
363
  <xsl:choose>
364
364
  <xsl:when test="ancestor-or-self::un:annex and $level &gt;= 2">false</xsl:when>
365
- <xsl:when test="$level &gt; 3">false</xsl:when>
365
+ <xsl:when test="$level &gt; $toc_level">false</xsl:when>
366
366
  <xsl:when test="@inline-header='true'">false</xsl:when>
367
367
  <xsl:otherwise>true</xsl:otherwise>
368
368
  </xsl:choose>
@@ -410,9 +410,6 @@
410
410
  <fo:inline> </fo:inline>
411
411
  </xsl:template>
412
412
 
413
-
414
- <xsl:template match="un:bibitem" mode="contents"/>
415
-
416
413
  <xsl:template match="un:references" mode="contents">
417
414
  <xsl:apply-templates mode="contents"/>
418
415
  </xsl:template>
@@ -593,31 +590,6 @@
593
590
  </fo:block>
594
591
  </xsl:template>
595
592
 
596
-
597
- <!-- un:fn[not(ancestor::un:un-standard)] means fn element in virtual variable $title -->
598
- <xsl:template match="un:title//un:fn | un:p/un:fn[not(ancestor::un:table)]" priority="2">
599
- <fo:footnote keep-with-previous.within-line="always">
600
- <xsl:variable name="number">
601
- <xsl:number level="any" count="un:fn[not(ancestor::un:table)]"/>
602
- </xsl:variable>
603
- <fo:inline font-size="55%" keep-with-previous.within-line="always" vertical-align="super"> <!-- 60% -->
604
- <fo:basic-link internal-destination="footnote_{@reference}_{$number}" fox:alt-text="footnote {@reference} {$number}">
605
- <xsl:value-of select="$number + count(//un:bibitem/un:note)"/>
606
- </fo:basic-link>
607
- </fo:inline>
608
- <fo:footnote-body>
609
- <fo:block font-size="9pt" line-height="125%" font-weight="normal" text-indent="0">
610
- <fo:inline id="footnote_{@reference}_{$number}" font-size="60%" padding-right="1mm" keep-with-next.within-line="always" vertical-align="super"> <!-- alignment-baseline="hanging" -->
611
- <xsl:value-of select="$number + count(//un:bibitem/un:note)"/>
612
- </fo:inline>
613
- <xsl:for-each select="un:p">
614
- <xsl:apply-templates/>
615
- </xsl:for-each>
616
- </fo:block>
617
- </fo:footnote-body>
618
- </fo:footnote>
619
- </xsl:template>
620
-
621
593
  <xsl:template match="un:fn/un:p">
622
594
  <fo:block>
623
595
  <xsl:apply-templates/>
@@ -636,7 +608,7 @@
636
608
 
637
609
  <xsl:template match="un:ul//un:note/un:p | un:ol//un:note/un:p" mode="process" priority="2">
638
610
  <fo:block margin-top="4pt">
639
- <xsl:apply-templates select="../un:name" mode="presentation"/>
611
+ <xsl:apply-templates select="../un:name"/>
640
612
  <xsl:apply-templates/>
641
613
  </fo:block>
642
614
  </xsl:template>
@@ -653,8 +625,9 @@
653
625
  <fo:list-item-label end-indent="label-end()">
654
626
  <fo:block>
655
627
  <xsl:choose>
656
- <!-- <xsl:when test="local-name(..) = 'ul'">&#x2014;</xsl:when> --> <!-- dash -->
657
- <xsl:when test="local-name(..) = 'ul'">•</xsl:when>
628
+ <xsl:when test="local-name(..) = 'ul'">
629
+ <xsl:call-template name="setULLabel"/>
630
+ </xsl:when>
658
631
  <xsl:otherwise> <!-- for ordered lists -->
659
632
  <xsl:choose>
660
633
  <xsl:when test="../@type = 'arabic'">
@@ -700,30 +673,6 @@
700
673
  </xsl:template>
701
674
 
702
675
 
703
- <xsl:template match="un:admonition">
704
- <fo:block break-after="page"/>
705
- <fo:block-container border="0.25pt solid black" margin-top="7mm" margin-left="-9mm" margin-right="-14mm" padding-top="3mm">
706
- <fo:block id="{@id}" font-weight="bold" margin-left="20mm" margin-right="25mm" text-align="center" margin-top="6pt" margin-bottom="12pt" keep-with-next="always">
707
- <xsl:apply-templates select="un:name" mode="process"/>
708
- </fo:block>
709
- <fo:block-container margin-left="20mm" margin-right="20mm">
710
- <fo:block-container margin-left="0mm" margin-right="0mm" text-indent="0mm">
711
- <xsl:apply-templates/>
712
- </fo:block-container>
713
- </fo:block-container>
714
- </fo:block-container>
715
- <fo:block margin-bottom="6pt"> </fo:block>
716
- </xsl:template>
717
-
718
- <xsl:template match="un:admonition/un:name"/>
719
- <xsl:template match="un:admonition/un:name" mode="process">
720
- <xsl:apply-templates/>
721
- </xsl:template>
722
-
723
- <xsl:template match="un:admonition/un:p">
724
- <fo:block text-align="justify" margin-bottom="6pt"><xsl:apply-templates/></fo:block>
725
- </xsl:template>
726
-
727
676
  <!-- ============================= -->
728
677
  <!-- ============================= -->
729
678
 
@@ -786,7 +735,7 @@
786
735
 
787
736
  <xsl:template match="un:title[parent::un:clause[@inline-header = 'true']]" priority="3"/>
788
737
 
789
- <xsl:template match="un:title">
738
+ <xsl:template match="un:title" name="title">
790
739
 
791
740
  <xsl:variable name="level">
792
741
  <xsl:call-template name="getLevel"/>
@@ -839,33 +788,6 @@
839
788
  <!-- ============================ -->
840
789
 
841
790
 
842
- <xsl:template match="un:bibitem">
843
- <fo:block id="{@id}" margin-top="6pt" margin-left="14mm" text-indent="-14mm">
844
- <fo:inline padding-right="5mm">[<xsl:value-of select="un:docidentifier"/>]</fo:inline><xsl:value-of select="un:docidentifier"/>
845
- <xsl:if test="un:title">
846
- <fo:inline font-style="italic">
847
- <xsl:text>, </xsl:text>
848
- <xsl:choose>
849
- <xsl:when test="un:title[@type = 'main' and @language = 'en']">
850
- <xsl:value-of select="un:title[@type = 'main' and @language = 'en']"/>
851
- </xsl:when>
852
- <xsl:otherwise>
853
- <xsl:value-of select="un:title"/>
854
- </xsl:otherwise>
855
- </xsl:choose>
856
- </fo:inline>
857
- </xsl:if>
858
- <xsl:apply-templates select="un:formattedref"/>
859
- </fo:block>
860
- </xsl:template>
861
- <xsl:template match="un:bibitem/un:docidentifier"/>
862
-
863
- <xsl:template match="un:bibitem/un:title"/>
864
-
865
- <xsl:template match="un:formattedref">
866
- <xsl:text>, </xsl:text><xsl:apply-templates/>
867
- </xsl:template>
868
-
869
791
 
870
792
  <xsl:template match="un:figure" priority="2">
871
793
  <fo:block-container id="{@id}">
@@ -873,9 +795,9 @@
873
795
  <xsl:attribute name="margin-left">-5mm</xsl:attribute>
874
796
  <xsl:attribute name="margin-right">-5mm</xsl:attribute>
875
797
  </xsl:if>
876
- <xsl:apply-templates select="un:name" mode="presentation"/>
798
+ <xsl:apply-templates select="un:name"/>
877
799
  <fo:block>
878
- <xsl:apply-templates/>
800
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
879
801
  </fo:block>
880
802
  <xsl:call-template name="fn_display_figure"/>
881
803
  <xsl:for-each select="un:note">
@@ -915,7 +837,7 @@
915
837
  </xsl:when>
916
838
  <xsl:otherwise>
917
839
  <xsl:apply-templates select="un:formattedref"/>
918
- <xsl:apply-templates select="un:docidentifier[@type != 'metanorma' or not(@type)]" mode="process"/>
840
+ <xsl:apply-templates select="un:docidentifier[(@type != 'metanorma' and @type != 'metanorma-ordinal') or not(@type)]" mode="process"/>
919
841
  </xsl:otherwise>
920
842
  </xsl:choose>
921
843
  </xsl:if>
@@ -955,10 +877,10 @@
955
877
  <xsl:apply-templates/>
956
878
  </xsl:template>
957
879
 
958
- <xsl:template match="un:docidentifier[@type = 'metanorma']" mode="process">
880
+ <xsl:template match="un:docidentifier[@type = 'metanorma' or @type = 'metanorma-ordinal']" mode="process">
959
881
  <xsl:apply-templates/>
960
882
  </xsl:template>
961
- <xsl:template match="un:docidentifier[@type != 'metanorma' or not(@type)]" mode="process">
883
+ <xsl:template match="un:docidentifier[(@type != 'metanorma' and @type != 'metanorma-ordinal') or not(@type)]" mode="process">
962
884
  <xsl:text> [</xsl:text><xsl:apply-templates/><xsl:text>]</xsl:text>
963
885
  </xsl:template>
964
886
  <xsl:template match="un:docidentifier"/>
@@ -990,12 +912,12 @@
990
912
  <xsl:attribute name="text-align">left</xsl:attribute>
991
913
  <xsl:attribute name="margin-left">7mm</xsl:attribute>
992
914
  </xsl:if>
993
- <xsl:apply-templates/>
915
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
994
916
  </fo:block>
995
917
  </fo:table-cell>
996
918
  <fo:table-cell> <!-- display-align="center" -->
997
919
  <fo:block text-align="right">
998
- <xsl:apply-templates select="un:name" mode="presentation"/>
920
+ <xsl:apply-templates select="un:name"/>
999
921
  </fo:block>
1000
922
  </fo:table-cell>
1001
923
  </fo:table-row>
@@ -1012,16 +934,8 @@
1012
934
  <xsl:call-template name="formula-un"/>
1013
935
  </xsl:template>
1014
936
 
1015
-
1016
-
1017
- <xsl:template match="un:references">
1018
- <fo:block>
1019
- <xsl:if test="not(un:title)">
1020
- <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
1021
- </xsl:if>
1022
- <xsl:apply-templates/>
1023
- </fo:block>
1024
- </xsl:template>
937
+
938
+
1025
939
  <!-- ============================ -->
1026
940
  <!-- ============================ -->
1027
941
 
@@ -1068,29 +982,19 @@
1068
982
  <xsl:text>iVBORw0KGgoAAAANSUhEUgAAAUgAAAEfCAYAAAAjn198AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA8BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4M0JCQjMxNzJBNjcxMUVBQjQ3MkM1NDNGQjcxMjlFQyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4M0JCQjMxNjJBNjcxMUVBQjQ3MkM1NDNGQjcxMjlFQyIgeG1wOkNyZWF0b3JUb29sPSJBY3JvYmF0IFBERk1ha2VyIDE4IGZvciBXb3JkIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InV1aWQ6OTM1MzU0ZmUtYzRmYS00Y2I4LTlkOGMtYjk0M2E4OTk2YzhiIiBzdFJlZjpkb2N1bWVudElEPSJ1dWlkOjhlMzkwMGEzLTMwZWUtNGRlNy04NDc0LTlhZTA5ZTFjZjhmMiIvPiA8ZGM6Y3JlYXRvcj4gPHJkZjpTZXE+IDxyZGY6bGk+U3RlcGhl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</xsl:text>
1069
983
  </xsl:variable>
1070
984
 
1071
- <xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
1072
-
1073
- <title-annex lang="en">Annex </title-annex>
1074
- <title-annex lang="fr">Annexe </title-annex>
1075
-
1076
- <title-annex lang="zh">Annex </title-annex>
1077
-
1078
-
985
+ <xsl:variable name="titles_">
1079
986
 
1080
987
  <title-edition lang="en">
1081
988
 
1082
- <xsl:text>Edition </xsl:text>
1083
-
1084
-
989
+ <xsl:text>Edition </xsl:text>
990
+
1085
991
  </title-edition>
1086
992
 
1087
993
  <title-edition lang="fr">
1088
-
1089
- <xsl:text>Édition </xsl:text>
1090
-
994
+ <xsl:text>Édition </xsl:text>
1091
995
  </title-edition>
1092
996
 
1093
-
997
+ <!-- These titles of Table of contents renders different than determined in localized-strings -->
1094
998
  <title-toc lang="en">
1095
999
 
1096
1000
  <xsl:text>Contents</xsl:text>
@@ -1099,24 +1003,13 @@
1099
1003
 
1100
1004
  </title-toc>
1101
1005
  <title-toc lang="fr">
1006
+ <xsl:text>Sommaire</xsl:text>
1007
+ </title-toc>
1008
+ <title-toc lang="zh">
1102
1009
 
1103
- <xsl:text>Sommaire</xsl:text>
1104
-
1105
-
1106
- </title-toc>
1107
-
1108
- <title-toc lang="zh">Contents</title-toc>
1109
-
1110
-
1111
-
1112
- <title-page lang="en">Page</title-page>
1113
- <title-page lang="fr">Page</title-page>
1114
-
1115
- <title-key lang="en">Key</title-key>
1116
- <title-key lang="fr">Légende</title-key>
1117
-
1118
- <title-where lang="en">where</title-where>
1119
- <title-where lang="fr">où</title-where>
1010
+ <xsl:text>Contents</xsl:text>
1011
+
1012
+ </title-toc>
1120
1013
 
1121
1014
  <title-descriptors lang="en">Descriptors</title-descriptors>
1122
1015
 
@@ -1132,32 +1025,9 @@
1132
1025
  </title-part>
1133
1026
  <title-part lang="zh">第 # 部分:</title-part>
1134
1027
 
1135
- <title-subpart lang="en">
1136
-
1137
- </title-subpart>
1138
- <title-subpart lang="fr">
1139
-
1140
- </title-subpart>
1141
-
1142
- <title-modified lang="en">modified</title-modified>
1143
- <title-modified lang="fr">modifiée</title-modified>
1144
-
1145
- <title-modified lang="zh">modified</title-modified>
1146
-
1147
-
1148
-
1149
- <title-source lang="en">
1150
-
1151
- <xsl:text>SOURCE</xsl:text>
1152
-
1153
-
1154
- </title-source>
1155
-
1156
- <title-keywords lang="en">Keywords</title-keywords>
1028
+ <title-subpart lang="en">Sub-part #</title-subpart>
1029
+ <title-subpart lang="fr">Partie de sub #</title-subpart>
1157
1030
 
1158
- <title-deprecated lang="en">DEPRECATED</title-deprecated>
1159
- <title-deprecated lang="fr">DEPRECATED</title-deprecated>
1160
-
1161
1031
  <title-list-tables lang="en">List of Tables</title-list-tables>
1162
1032
 
1163
1033
  <title-list-figures lang="en">List of Figures</title-list-figures>
@@ -1166,41 +1036,12 @@
1166
1036
 
1167
1037
  <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
1168
1038
 
1169
- <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
1170
-
1171
- <title-abstract lang="en">Abstract</title-abstract>
1172
-
1173
1039
  <title-summary lang="en">Summary</title-summary>
1174
1040
 
1175
- <title-in lang="en">in </title-in>
1176
-
1177
- <title-partly-supercedes lang="en">Partly Supercedes </title-partly-supercedes>
1178
- <title-partly-supercedes lang="zh">部分代替 </title-partly-supercedes>
1179
-
1180
- <title-completion-date lang="en">Completion date for this manuscript</title-completion-date>
1181
- <title-completion-date lang="zh">本稿完成日期</title-completion-date>
1182
-
1183
- <title-issuance-date lang="en">Issuance Date: #</title-issuance-date>
1184
- <title-issuance-date lang="zh"># 发布</title-issuance-date>
1185
-
1186
- <title-implementation-date lang="en">Implementation Date: #</title-implementation-date>
1187
- <title-implementation-date lang="zh"># 实施</title-implementation-date>
1188
-
1189
- <title-obligation-normative lang="en">normative</title-obligation-normative>
1190
- <title-obligation-normative lang="zh">规范性附录</title-obligation-normative>
1191
-
1192
- <title-caution lang="en">CAUTION</title-caution>
1193
- <title-caution lang="zh">注意</title-caution>
1194
-
1195
- <title-warning lang="en">WARNING</title-warning>
1196
- <title-warning lang="zh">警告</title-warning>
1197
-
1198
- <title-amendment lang="en">AMENDMENT</title-amendment>
1199
-
1200
1041
  <title-continued lang="en">(continued)</title-continued>
1201
1042
  <title-continued lang="fr">(continué)</title-continued>
1202
1043
 
1203
- </xsl:variable><xsl:variable name="bibdata">
1044
+ </xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="bibdata">
1204
1045
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
1205
1046
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
1206
1047
  </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
@@ -1229,12 +1070,32 @@
1229
1070
  </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">
1230
1071
 
1231
1072
 
1073
+
1074
+
1075
+
1076
+
1077
+
1078
+
1079
+
1080
+
1081
+
1082
+
1083
+
1084
+
1085
+
1086
+
1087
+ <xsl:attribute name="font-family">Times New Roman, STIX Two Math, Source Han Sans</xsl:attribute>
1088
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1089
+
1232
1090
  </xsl:attribute-set><xsl:attribute-set name="link-style">
1233
1091
 
1234
1092
 
1235
1093
 
1236
1094
 
1237
1095
 
1096
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-container-style">
1097
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1098
+
1238
1099
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
1239
1100
  <xsl:attribute name="white-space">pre</xsl:attribute>
1240
1101
  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
@@ -1244,14 +1105,21 @@
1244
1105
 
1245
1106
 
1246
1107
 
1247
- <xsl:attribute name="font-family">Courier New</xsl:attribute>
1248
- <xsl:attribute name="margin-top">6pt</xsl:attribute>
1249
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1108
+
1109
+
1110
+
1111
+
1250
1112
 
1251
1113
 
1252
1114
 
1253
1115
 
1254
1116
 
1117
+
1118
+
1119
+ <xsl:attribute name="font-family">Courier New</xsl:attribute>
1120
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1121
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1122
+
1255
1123
  </xsl:attribute-set><xsl:attribute-set name="permission-style">
1256
1124
 
1257
1125
  </xsl:attribute-set><xsl:attribute-set name="permission-name-style">
@@ -1300,11 +1168,14 @@
1300
1168
 
1301
1169
 
1302
1170
 
1171
+
1303
1172
  </xsl:attribute-set><xsl:attribute-set name="example-body-style">
1304
1173
 
1305
1174
 
1306
1175
 
1176
+
1307
1177
  </xsl:attribute-set><xsl:attribute-set name="example-name-style">
1178
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1308
1179
 
1309
1180
 
1310
1181
 
@@ -1321,7 +1192,6 @@
1321
1192
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1322
1193
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1323
1194
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1324
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
1325
1195
 
1326
1196
 
1327
1197
 
@@ -1339,6 +1209,7 @@
1339
1209
 
1340
1210
 
1341
1211
 
1212
+
1342
1213
  <xsl:attribute name="font-size">11pt</xsl:attribute>
1343
1214
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
1344
1215
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
@@ -1355,53 +1226,62 @@
1355
1226
 
1356
1227
  </xsl:attribute-set><xsl:variable name="table-border_">
1357
1228
 
1358
- </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-name-style">
1359
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
1360
-
1229
+ </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
1230
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1231
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1361
1232
 
1362
1233
 
1363
1234
 
1364
1235
 
1365
-
1366
1236
 
1367
1237
 
1368
1238
 
1369
-
1370
1239
 
1371
- <xsl:attribute name="font-weight">bold</xsl:attribute>
1372
- <xsl:attribute name="text-align">left</xsl:attribute>
1373
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
1374
- <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
1375
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
1376
- <xsl:attribute name="text-indent">0mm</xsl:attribute>
1377
1240
 
1378
1241
 
1379
1242
 
1380
1243
 
1381
- </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
1382
1244
 
1383
- </xsl:attribute-set><xsl:attribute-set name="appendix-style">
1384
1245
 
1385
1246
 
1386
1247
 
1387
- </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
1388
1248
 
1389
1249
 
1250
+
1390
1251
 
1391
- </xsl:attribute-set><xsl:attribute-set name="xref-style">
1392
1252
 
1253
+ <xsl:attribute name="space-after">12pt</xsl:attribute>
1393
1254
 
1255
+ </xsl:attribute-set><xsl:attribute-set name="table-style">
1256
+ <xsl:attribute name="table-omit-footer-at-break">true</xsl:attribute>
1257
+ <xsl:attribute name="table-layout">fixed</xsl:attribute>
1258
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1259
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1394
1260
 
1395
1261
 
1396
1262
 
1397
- </xsl:attribute-set><xsl:attribute-set name="eref-style">
1398
1263
 
1399
1264
 
1400
1265
 
1401
1266
 
1402
1267
 
1403
1268
 
1404
- </xsl:attribute-set><xsl:attribute-set name="note-style">
1269
+
1270
+
1271
+
1272
+
1273
+
1274
+
1275
+
1276
+
1277
+
1278
+
1279
+
1280
+
1281
+
1282
+ </xsl:attribute-set><xsl:attribute-set name="table-name-style">
1283
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1284
+
1405
1285
 
1406
1286
 
1407
1287
 
@@ -1410,19 +1290,26 @@
1410
1290
 
1411
1291
 
1412
1292
 
1293
+
1413
1294
 
1295
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1296
+ <xsl:attribute name="text-align">left</xsl:attribute>
1297
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
1298
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
1299
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1300
+ <xsl:attribute name="text-indent">0mm</xsl:attribute>
1414
1301
 
1415
1302
 
1416
1303
 
1417
1304
 
1305
+ </xsl:attribute-set><xsl:attribute-set name="table-row-style">
1306
+ <xsl:attribute name="min-height">4mm</xsl:attribute>
1418
1307
 
1419
- <xsl:attribute name="margin-top">3pt</xsl:attribute>
1420
- <xsl:attribute name="border-top">0.1mm solid black</xsl:attribute>
1421
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1422
1308
 
1423
1309
 
1424
1310
 
1425
- </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">
1311
+ </xsl:attribute-set><xsl:attribute-set name="table-header-row-style" use-attribute-sets="table-row-style">
1312
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1426
1313
 
1427
1314
 
1428
1315
 
@@ -1430,85 +1317,92 @@
1430
1317
 
1431
1318
 
1432
1319
 
1320
+
1433
1321
 
1322
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-row-style" use-attribute-sets="table-row-style">
1434
1323
 
1435
1324
 
1436
1325
 
1326
+ </xsl:attribute-set><xsl:attribute-set name="table-body-row-style" use-attribute-sets="table-row-style">
1327
+
1328
+ </xsl:attribute-set><xsl:attribute-set name="table-header-cell-style">
1329
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1330
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1331
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
1332
+ <xsl:attribute name="display-align">center</xsl:attribute>
1437
1333
 
1438
1334
 
1439
- </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
1440
1335
 
1441
1336
 
1442
1337
 
1443
1338
 
1444
- </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1445
1339
 
1446
1340
 
1447
1341
 
1448
-
1449
1342
 
1450
1343
 
1451
1344
 
1452
1345
 
1346
+ <xsl:attribute name="text-indent">0mm</xsl:attribute>
1453
1347
 
1348
+ </xsl:attribute-set><xsl:attribute-set name="table-cell-style">
1349
+ <xsl:attribute name="display-align">center</xsl:attribute>
1350
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1351
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
1454
1352
 
1455
1353
 
1456
- <xsl:attribute name="margin-top">3pt</xsl:attribute>
1457
- <!-- <xsl:attribute name="border-top">0.1mm solid black</xsl:attribute> -->
1458
- <xsl:attribute name="space-after">12pt</xsl:attribute>
1459
- <xsl:attribute name="text-indent">0</xsl:attribute>
1460
- <xsl:attribute name="padding-top">1.5mm</xsl:attribute>
1461
1354
 
1462
1355
 
1463
1356
 
1464
- </xsl:attribute-set><xsl:attribute-set name="termnote-style">
1465
1357
 
1466
1358
 
1467
1359
 
1468
1360
 
1469
-
1470
- <xsl:attribute name="margin-top">4pt</xsl:attribute>
1471
1361
 
1472
1362
 
1473
1363
 
1474
- </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
1475
1364
 
1476
-
1365
+ <xsl:attribute name="text-indent">0mm</xsl:attribute>
1366
+
1477
1367
 
1368
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
1369
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1370
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
1371
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
1372
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
1478
1373
 
1479
- </xsl:attribute-set><xsl:attribute-set name="quote-style">
1480
- <xsl:attribute name="role">BlockQuote</xsl:attribute>
1481
1374
 
1482
1375
 
1483
1376
 
1484
1377
 
1485
1378
 
1486
1379
 
1380
+
1487
1381
 
1488
- </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
1489
1382
 
1490
-
1491
-
1492
- </xsl:attribute-set><xsl:attribute-set name="termsource-style">
1493
1383
 
1384
+ </xsl:attribute-set><xsl:attribute-set name="table-note-style">
1385
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1386
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1494
1387
 
1495
1388
 
1496
1389
 
1497
1390
 
1498
1391
 
1499
1392
 
1500
- </xsl:attribute-set><xsl:attribute-set name="origin-style">
1501
1393
 
1502
1394
 
1395
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-style">
1396
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1503
1397
 
1504
1398
 
1505
- </xsl:attribute-set><xsl:attribute-set name="term-style">
1506
1399
 
1507
- </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
1508
1400
 
1509
1401
 
1510
-
1511
1402
 
1403
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
1404
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1405
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
1512
1406
 
1513
1407
 
1514
1408
 
@@ -1520,64 +1414,244 @@
1520
1414
 
1521
1415
 
1522
1416
 
1523
-
1524
1417
 
1418
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1525
1419
 
1420
+ </xsl:attribute-set><xsl:attribute-set name="fn-container-body-style">
1421
+ <xsl:attribute name="text-indent">0</xsl:attribute>
1422
+ <xsl:attribute name="start-indent">0</xsl:attribute>
1526
1423
 
1527
- <xsl:attribute name="text-align">center</xsl:attribute>
1528
- <xsl:attribute name="font-size">9pt</xsl:attribute>
1529
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1530
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
1531
- <xsl:attribute name="keep-together.within-column">always</xsl:attribute>
1532
1424
 
1533
-
1534
- </xsl:attribute-set><xsl:attribute-set name="formula-style">
1425
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-body-style">
1535
1426
 
1536
- </xsl:attribute-set><xsl:attribute-set name="image-style">
1537
- <xsl:attribute name="text-align">center</xsl:attribute>
1427
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-number-style">
1428
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1429
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
1430
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1538
1431
 
1432
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-body-style">
1433
+ <xsl:attribute name="text-align">justify</xsl:attribute>
1434
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1539
1435
 
1436
+ </xsl:attribute-set><xsl:attribute-set name="dt-row-style">
1540
1437
 
1541
1438
 
1439
+ </xsl:attribute-set><xsl:attribute-set name="dt-style">
1440
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1542
1441
 
1543
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1544
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
1545
1442
 
1546
1443
 
1547
- </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
1548
1444
 
1549
- </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
1550
1445
 
1551
1446
 
1552
- <xsl:attribute name="width">100%</xsl:attribute>
1553
- <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
1554
- <xsl:attribute name="scaling">uniform</xsl:attribute>
1555
1447
 
1556
1448
 
1557
1449
 
1558
-
1559
-
1560
- </xsl:attribute-set><xsl:attribute-set name="tt-style">
1561
1450
 
1451
+ </xsl:attribute-set><xsl:attribute-set name="appendix-style">
1562
1452
 
1563
1453
 
1564
- </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
1565
- <xsl:attribute name="font-size">11pt</xsl:attribute>
1566
- <xsl:attribute name="font-weight">bold</xsl:attribute>
1567
- <xsl:attribute name="text-align">center</xsl:attribute>
1568
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1569
- <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1570
1454
 
1571
- </xsl:attribute-set><xsl:attribute-set name="domain-style">
1572
-
1573
- </xsl:attribute-set><xsl:attribute-set name="admitted-style">
1455
+ </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
1574
1456
 
1575
1457
 
1576
1458
 
1577
- </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
1459
+ </xsl:attribute-set><xsl:attribute-set name="xref-style">
1578
1460
 
1579
1461
 
1580
- </xsl:attribute-set><xsl:attribute-set name="definition-style">
1462
+
1463
+
1464
+
1465
+ </xsl:attribute-set><xsl:attribute-set name="eref-style">
1466
+
1467
+
1468
+
1469
+
1470
+
1471
+
1472
+ </xsl:attribute-set><xsl:attribute-set name="note-style">
1473
+
1474
+
1475
+
1476
+
1477
+
1478
+
1479
+
1480
+
1481
+
1482
+
1483
+
1484
+
1485
+
1486
+
1487
+ <xsl:attribute name="margin-top">3pt</xsl:attribute>
1488
+ <xsl:attribute name="border-top">0.1mm solid black</xsl:attribute>
1489
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1490
+
1491
+
1492
+
1493
+ </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">
1494
+
1495
+
1496
+
1497
+
1498
+
1499
+
1500
+
1501
+
1502
+
1503
+
1504
+
1505
+
1506
+
1507
+ </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
1508
+ <xsl:attribute name="padding-right">2mm</xsl:attribute>
1509
+
1510
+
1511
+
1512
+
1513
+ </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1514
+
1515
+
1516
+
1517
+
1518
+
1519
+
1520
+
1521
+
1522
+
1523
+
1524
+
1525
+ <xsl:attribute name="margin-top">3pt</xsl:attribute>
1526
+ <!-- <xsl:attribute name="border-top">0.1mm solid black</xsl:attribute> -->
1527
+ <xsl:attribute name="space-after">12pt</xsl:attribute>
1528
+ <xsl:attribute name="text-indent">0</xsl:attribute>
1529
+ <xsl:attribute name="padding-top">1.5mm</xsl:attribute>
1530
+
1531
+
1532
+
1533
+ </xsl:attribute-set><xsl:attribute-set name="termnote-style">
1534
+
1535
+
1536
+
1537
+
1538
+
1539
+ <xsl:attribute name="margin-top">4pt</xsl:attribute>
1540
+
1541
+
1542
+
1543
+ </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
1544
+
1545
+
1546
+
1547
+
1548
+ </xsl:attribute-set><xsl:attribute-set name="quote-style">
1549
+ <xsl:attribute name="role">BlockQuote</xsl:attribute>
1550
+
1551
+
1552
+
1553
+
1554
+
1555
+
1556
+
1557
+ </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
1558
+
1559
+
1560
+
1561
+ </xsl:attribute-set><xsl:attribute-set name="termsource-style">
1562
+
1563
+
1564
+
1565
+
1566
+
1567
+
1568
+
1569
+ </xsl:attribute-set><xsl:attribute-set name="termsource-text-style">
1570
+
1571
+
1572
+ </xsl:attribute-set><xsl:attribute-set name="origin-style">
1573
+
1574
+
1575
+
1576
+
1577
+ </xsl:attribute-set><xsl:attribute-set name="term-style">
1578
+
1579
+ </xsl:attribute-set><xsl:attribute-set name="figure-style">
1580
+
1581
+ </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
1582
+
1583
+
1584
+
1585
+
1586
+
1587
+
1588
+
1589
+
1590
+
1591
+
1592
+
1593
+
1594
+
1595
+
1596
+
1597
+
1598
+
1599
+
1600
+
1601
+ <xsl:attribute name="text-align">center</xsl:attribute>
1602
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
1603
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1604
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1605
+ <xsl:attribute name="keep-together.within-column">always</xsl:attribute>
1606
+
1607
+
1608
+ </xsl:attribute-set><xsl:attribute-set name="formula-style">
1609
+
1610
+ </xsl:attribute-set><xsl:attribute-set name="image-style">
1611
+ <xsl:attribute name="text-align">center</xsl:attribute>
1612
+
1613
+
1614
+
1615
+
1616
+
1617
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1618
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1619
+
1620
+
1621
+ </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
1622
+
1623
+ </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
1624
+
1625
+
1626
+ <xsl:attribute name="width">100%</xsl:attribute>
1627
+ <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
1628
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
1629
+
1630
+
1631
+
1632
+
1633
+
1634
+ </xsl:attribute-set><xsl:attribute-set name="tt-style">
1635
+
1636
+
1637
+
1638
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
1639
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1640
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1641
+ <xsl:attribute name="text-align">center</xsl:attribute>
1642
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1643
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1644
+
1645
+ </xsl:attribute-set><xsl:attribute-set name="domain-style">
1646
+
1647
+ </xsl:attribute-set><xsl:attribute-set name="admitted-style">
1648
+
1649
+
1650
+
1651
+ </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
1652
+
1653
+
1654
+ </xsl:attribute-set><xsl:attribute-set name="definition-style">
1581
1655
 
1582
1656
 
1583
1657
 
@@ -1599,34 +1673,296 @@
1599
1673
  <xsl:attribute name="font-family">STIX Two Math</xsl:attribute>
1600
1674
 
1601
1675
 
1602
- </xsl:attribute-set><xsl:attribute-set name="list-style">
1676
+ </xsl:attribute-set><xsl:attribute-set name="list-style">
1677
+
1678
+ </xsl:attribute-set><xsl:attribute-set name="toc-style">
1679
+ <xsl:attribute name="line-height">135%</xsl:attribute>
1680
+ </xsl:attribute-set><xsl:attribute-set name="fn-reference-style">
1681
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1682
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1683
+
1684
+
1685
+
1686
+
1687
+
1688
+
1689
+
1690
+
1691
+ </xsl:attribute-set><xsl:attribute-set name="fn-style">
1692
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1693
+ </xsl:attribute-set><xsl:attribute-set name="fn-num-style">
1694
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1695
+
1696
+
1697
+
1698
+
1699
+
1700
+
1701
+
1702
+
1703
+
1704
+
1705
+
1706
+
1707
+
1708
+
1709
+
1710
+
1711
+ <xsl:attribute name="font-size">55%</xsl:attribute>
1712
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1713
+
1714
+ </xsl:attribute-set><xsl:attribute-set name="fn-body-style">
1715
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
1716
+ <xsl:attribute name="font-style">normal</xsl:attribute>
1717
+ <xsl:attribute name="text-indent">0</xsl:attribute>
1718
+ <xsl:attribute name="start-indent">0</xsl:attribute>
1719
+
1720
+
1721
+
1722
+
1723
+
1724
+
1725
+
1726
+
1727
+
1728
+
1729
+
1730
+
1731
+
1732
+
1733
+
1734
+
1735
+
1736
+
1737
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
1738
+ <xsl:attribute name="line-height">125%</xsl:attribute>
1739
+
1740
+ </xsl:attribute-set><xsl:attribute-set name="fn-body-num-style">
1741
+ <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
1742
+
1743
+
1744
+
1745
+
1746
+
1747
+
1748
+
1749
+
1750
+
1751
+
1752
+
1753
+
1754
+
1755
+
1756
+
1757
+
1758
+
1759
+ <xsl:attribute name="font-size">60%</xsl:attribute>
1760
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
1761
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1762
+
1763
+ </xsl:attribute-set><xsl:attribute-set name="admonition-style">
1764
+
1765
+
1766
+
1767
+
1768
+
1769
+
1770
+
1771
+
1772
+
1773
+
1774
+
1775
+
1776
+
1777
+
1778
+ <xsl:attribute name="border">0.25pt solid black</xsl:attribute>
1779
+ <xsl:attribute name="margin-top">7mm</xsl:attribute>
1780
+ <xsl:attribute name="margin-left">-9mm</xsl:attribute>
1781
+ <xsl:attribute name="margin-right">-14mm</xsl:attribute>
1782
+ <xsl:attribute name="padding-top">3mm</xsl:attribute>
1783
+ <xsl:attribute name="margin-bottom">16pt</xsl:attribute>
1784
+
1785
+ </xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
1786
+
1787
+
1788
+
1789
+
1790
+
1791
+
1792
+
1793
+
1794
+
1795
+
1796
+ <xsl:attribute name="margin-left">20mm</xsl:attribute>
1797
+ <xsl:attribute name="margin-right">20mm</xsl:attribute>
1798
+ <xsl:attribute name="text-indent">0mm</xsl:attribute>
1799
+
1800
+ </xsl:attribute-set><xsl:attribute-set name="admonition-name-style">
1801
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1802
+
1803
+
1804
+
1805
+
1806
+
1807
+
1808
+
1809
+
1810
+
1811
+
1812
+
1813
+
1814
+
1815
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1816
+ <xsl:attribute name="margin-left">20mm</xsl:attribute>
1817
+ <xsl:attribute name="margin-right">25mm</xsl:attribute>
1818
+ <xsl:attribute name="text-align">center</xsl:attribute>
1819
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1820
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1821
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1822
+
1823
+ </xsl:attribute-set><xsl:attribute-set name="admonition-p-style">
1824
+
1825
+
1826
+
1827
+
1828
+
1829
+
1830
+
1831
+
1832
+
1833
+
1834
+
1835
+ <xsl:attribute name="text-align">justify</xsl:attribute>
1836
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1837
+
1838
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-style">
1839
+
1840
+
1841
+
1842
+
1603
1843
 
1604
- </xsl:attribute-set><xsl:attribute-set name="toc-style">
1605
- <xsl:attribute name="line-height">135%</xsl:attribute>
1606
- </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">
1607
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
1608
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
1609
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
1610
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
1611
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
1612
- </xsl:template><xsl:template name="processPrefaceSectionsDefault_Contents">
1844
+
1845
+
1846
+
1847
+
1848
+
1849
+
1850
+
1851
+
1852
+
1853
+
1854
+
1855
+
1856
+
1857
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1858
+ <xsl:attribute name="margin-left">14mm</xsl:attribute>
1859
+ <xsl:attribute name="text-indent">-14mm</xsl:attribute>
1860
+
1861
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-style">
1862
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
1863
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1864
+
1865
+
1866
+
1867
+
1868
+
1869
+
1870
+
1871
+
1872
+
1873
+
1874
+
1875
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-style">
1876
+
1877
+
1878
+
1879
+
1880
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-style">
1881
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
1882
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1883
+
1884
+
1885
+
1886
+
1887
+
1888
+
1889
+
1890
+
1891
+
1892
+
1893
+
1894
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
1895
+
1896
+
1897
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-body-style">
1898
+
1899
+
1900
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-style">
1901
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1902
+ <xsl:attribute name="font-size">65%</xsl:attribute>
1903
+
1904
+
1905
+
1906
+
1907
+
1908
+
1909
+
1910
+
1911
+
1912
+
1913
+
1914
+
1915
+
1916
+
1917
+
1918
+
1919
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1920
+
1921
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-number-style">
1922
+ <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
1923
+
1924
+
1925
+
1926
+
1927
+
1928
+
1929
+
1930
+
1931
+
1932
+
1933
+
1934
+
1935
+
1936
+
1937
+
1938
+
1939
+ <xsl:attribute name="font-size">60%</xsl:attribute>
1940
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1941
+
1942
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-body-style">
1943
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1944
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1945
+ <xsl:attribute name="start-indent">0pt</xsl:attribute>
1946
+
1947
+
1948
+
1949
+
1950
+
1951
+
1952
+
1953
+
1954
+
1955
+
1956
+
1957
+ </xsl:attribute-set><xsl:attribute-set name="references-non-normative-style">
1958
+
1959
+
1960
+
1961
+ </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">
1613
1962
  <xsl:for-each select="/*/*[local-name()='preface']/*">
1614
1963
  <xsl:sort select="@displayorder" data-type="number"/>
1615
1964
  <xsl:apply-templates select="." mode="contents"/>
1616
1965
  </xsl:for-each>
1617
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault_Contents">
1618
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
1619
-
1620
- <!-- Normative references -->
1621
- <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"/>
1622
- <!-- Terms and definitions -->
1623
- <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"/>
1624
- <!-- Another main sections -->
1625
- <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"/>
1626
- <xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
1627
- <!-- Bibliography -->
1628
- <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"/>
1629
-
1630
1966
  </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
1631
1967
 
1632
1968
  <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']]">
@@ -1643,29 +1979,11 @@
1643
1979
  <xsl:sort select="@displayorder" data-type="number"/>
1644
1980
  <xsl:apply-templates select="." mode="contents"/>
1645
1981
  </xsl:for-each>
1646
- </xsl:template><xsl:template name="OLD_processPrefaceSectionsDefault">
1647
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
1648
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
1649
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
1650
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
1651
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
1652
1982
  </xsl:template><xsl:template name="processPrefaceSectionsDefault">
1653
1983
  <xsl:for-each select="/*/*[local-name()='preface']/*">
1654
1984
  <xsl:sort select="@displayorder" data-type="number"/>
1655
1985
  <xsl:apply-templates select="."/>
1656
1986
  </xsl:for-each>
1657
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault">
1658
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
1659
-
1660
- <!-- Normative references -->
1661
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
1662
- <!-- Terms and definitions -->
1663
- <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']]"/>
1664
- <!-- Another main sections -->
1665
- <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'])]"/>
1666
- <xsl:apply-templates select="/*/*[local-name()='annex']"/>
1667
- <!-- Bibliography -->
1668
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
1669
1987
  </xsl:template><xsl:template name="processMainSectionsDefault">
1670
1988
  <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
1671
1989
  <xsl:sort select="@displayorder" data-type="number"/>
@@ -1702,43 +2020,19 @@
1702
2020
  <xsl:call-template name="getSimpleTable"/>
1703
2021
  </xsl:variable>
1704
2022
 
1705
- <!-- <xsl:if test="$namespace = 'bipm'">
1706
- <fo:block>&#xA0;</fo:block>
1707
- </xsl:if> -->
1708
-
1709
2023
 
1710
2024
  <!-- Display table's name before table as standalone block -->
1711
2025
  <!-- $namespace = 'iso' or -->
1712
2026
 
1713
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
1714
-
1715
-
1716
-
1717
-
2027
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- table's title rendered before table -->
2028
+
1718
2029
 
1719
- <xsl:call-template name="fn_name_display"/>
1720
2030
 
2031
+ <xsl:call-template name="table_name_fn_display"/>
1721
2032
 
1722
2033
 
1723
2034
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)/*/tr[1]/td)"/>
1724
2035
 
1725
- <!-- <xsl:variable name="cols-count">
1726
- <xsl:choose>
1727
- <xsl:when test="*[local-name()='thead']">
1728
- <xsl:call-template name="calculate-columns-numbers">
1729
- <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
1730
- </xsl:call-template>
1731
- </xsl:when>
1732
- <xsl:otherwise>
1733
- <xsl:call-template name="calculate-columns-numbers">
1734
- <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
1735
- </xsl:call-template>
1736
- </xsl:otherwise>
1737
- </xsl:choose>
1738
- </xsl:variable> -->
1739
- <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
1740
- <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
1741
-
1742
2036
  <xsl:variable name="colwidths">
1743
2037
  <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
1744
2038
  <xsl:call-template name="calculate-column-widths">
@@ -1749,17 +2043,8 @@
1749
2043
  </xsl:variable>
1750
2044
  <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
1751
2045
 
1752
- <!-- <xsl:variable name="colwidths2">
1753
- <xsl:call-template name="calculate-column-widths">
1754
- <xsl:with-param name="cols-count" select="$cols-count"/>
1755
- </xsl:call-template>
1756
- </xsl:variable> -->
1757
-
1758
- <!-- cols-count=<xsl:copy-of select="$cols-count"/>
1759
- colwidthsNew=<xsl:copy-of select="$colwidths"/>
1760
- colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
1761
2046
 
1762
- <xsl:variable name="margin-left">
2047
+ <xsl:variable name="margin-side">
1763
2048
  <xsl:choose>
1764
2049
  <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
1765
2050
  <xsl:otherwise>0</xsl:otherwise>
@@ -1767,78 +2052,81 @@
1767
2052
  </xsl:variable>
1768
2053
 
1769
2054
 
1770
- <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
1771
-
1772
-
1773
-
1774
-
2055
+ <fo:block-container xsl:use-attribute-sets="table-container-style">
2056
+
1775
2057
 
1776
- <xsl:attribute name="space-after">12pt</xsl:attribute>
1777
- <xsl:if test="not(ancestor::*[local-name()='sections'])">
1778
- <xsl:attribute name="font-size">10pt</xsl:attribute>
1779
- </xsl:if>
1780
-
1781
-
2058
+ <xsl:attribute name="margin-left"><xsl:value-of select="-$margin-side"/>mm</xsl:attribute>
2059
+ <xsl:attribute name="margin-right"><xsl:value-of select="-$margin-side"/>mm</xsl:attribute>
1782
2060
 
2061
+
1783
2062
 
1784
-
2063
+
1785
2064
 
2065
+
1786
2066
 
1787
2067
 
1788
2068
 
2069
+
1789
2070
 
1790
2071
 
1791
2072
 
1792
2073
 
1793
2074
 
2075
+ <xsl:if test="not(ancestor::*[local-name()='sections'])">
2076
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2077
+ </xsl:if>
1794
2078
 
2079
+ <!-- end table block-container attributes -->
1795
2080
 
1796
2081
  <!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
1797
2082
 
1798
2083
 
2084
+ <xsl:variable name="table_width_default">100%</xsl:variable>
1799
2085
  <xsl:variable name="table_width">
1800
2086
  <!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
1801
2087
 
1802
-
1803
-
1804
- <xsl:choose>
1805
- <xsl:when test="@width"><xsl:value-of select="@width"/></xsl:when>
1806
- <xsl:otherwise>100%</xsl:otherwise>
1807
- </xsl:choose>
1808
-
2088
+ <xsl:choose>
2089
+ <xsl:when test="@width"><xsl:value-of select="@width"/></xsl:when>
2090
+ <xsl:otherwise><xsl:value-of select="$table_width_default"/></xsl:otherwise>
2091
+ </xsl:choose>
2092
+
1809
2093
  </xsl:variable>
1810
2094
 
2095
+
1811
2096
  <xsl:variable name="table_attributes">
1812
- <attribute name="table-layout">fixed</attribute>
1813
- <attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
1814
- <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
1815
- <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
1816
-
1817
-
1818
-
1819
-
1820
-
1821
-
1822
-
1823
-
1824
-
1825
- <xsl:if test="ancestor::*[local-name()='sections']">
1826
- <attribute name="border-top">1.5pt solid black</attribute>
1827
- <attribute name="border-bottom">1.5pt solid black</attribute>
1828
- </xsl:if>
1829
-
1830
-
1831
-
1832
-
1833
-
1834
-
2097
+
2098
+ <xsl:element name="table_attributes" use-attribute-sets="table-style">
2099
+ <xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
2100
+
2101
+
2102
+ <xsl:attribute name="margin-left"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
2103
+ <xsl:attribute name="margin-right"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
2104
+
2105
+
2106
+
2107
+
2108
+
2109
+
2110
+
2111
+
2112
+
2113
+
2114
+
2115
+
2116
+
2117
+ <xsl:if test="ancestor::*[local-name()='sections']">
2118
+ <xsl:attribute name="border-top">1.5pt solid black</xsl:attribute>
2119
+ <xsl:attribute name="border-bottom">1.5pt solid black</xsl:attribute>
2120
+ </xsl:if>
2121
+
2122
+ </xsl:element>
1835
2123
  </xsl:variable>
1836
2124
 
1837
2125
 
1838
- <fo:table id="{@id}" table-omit-footer-at-break="true">
2126
+ <fo:table id="{@id}">
1839
2127
 
1840
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
1841
- <xsl:attribute name="{@name}">
2128
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
2129
+ <xsl:attribute name="{local-name()}">
1842
2130
  <xsl:value-of select="."/>
1843
2131
  </xsl:attribute>
1844
2132
  </xsl:for-each>
@@ -1849,7 +2137,6 @@
1849
2137
  </xsl:if>
1850
2138
 
1851
2139
 
1852
-
1853
2140
  <xsl:choose>
1854
2141
  <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
1855
2142
  <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
@@ -1875,7 +2162,7 @@
1875
2162
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
1876
2163
  </xsl:when>
1877
2164
  <xsl:otherwise>
1878
- <xsl:apply-templates/>
2165
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
1879
2166
  </xsl:otherwise>
1880
2167
  </xsl:choose>
1881
2168
 
@@ -1890,25 +2177,6 @@
1890
2177
  </xsl:call-template>
1891
2178
  </xsl:for-each>
1892
2179
 
1893
- <!-- insert footer as table -->
1894
- <!-- <fo:table>
1895
- <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
1896
- <xsl:attribute name="{@name}">
1897
- <xsl:value-of select="."/>
1898
- </xsl:attribute>
1899
- </xsl:for-each>
1900
-
1901
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
1902
- <xsl:choose>
1903
- <xsl:when test=". = 1 or . = 0">
1904
- <fo:table-column column-width="proportional-column-width(2)"/>
1905
- </xsl:when>
1906
- <xsl:otherwise>
1907
- <fo:table-column column-width="proportional-column-width({.})"/>
1908
- </xsl:otherwise>
1909
- </xsl:choose>
1910
- </xsl:for-each>
1911
- </fo:table>-->
1912
2180
 
1913
2181
 
1914
2182
 
@@ -1966,18 +2234,17 @@
1966
2234
  </xsl:otherwise>
1967
2235
  </xsl:choose>
1968
2236
 
1969
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
2237
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
1970
2238
  <xsl:param name="continued"/>
1971
2239
  <xsl:if test="normalize-space() != ''">
1972
2240
  <fo:block xsl:use-attribute-sets="table-name-style">
1973
-
2241
+
1974
2242
 
1975
2243
 
1976
2244
 
1977
2245
 
1978
2246
  <xsl:choose>
1979
2247
  <xsl:when test="$continued = 'true'">
1980
- <!-- <xsl:if test="$namespace = 'bsi'"></xsl:if> -->
1981
2248
 
1982
2249
  </xsl:when>
1983
2250
  <xsl:otherwise>
@@ -2040,13 +2307,6 @@
2040
2307
  <xsl:for-each select="xalan:nodeset($table)/*/tr">
2041
2308
  <xsl:variable name="td_text">
2042
2309
  <xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
2043
-
2044
- <!-- <xsl:if test="$namespace = 'bipm'">
2045
- <xsl:for-each select="*[local-name()='td'][$curr-col]//*[local-name()='math']">
2046
- <word><xsl:value-of select="normalize-space(.)"/></word>
2047
- </xsl:for-each>
2048
- </xsl:if> -->
2049
-
2050
2310
  </xsl:variable>
2051
2311
  <xsl:variable name="words">
2052
2312
  <xsl:variable name="string_with_added_zerospaces">
@@ -2083,7 +2343,6 @@
2083
2343
  </xsl:otherwise>
2084
2344
  </xsl:choose>
2085
2345
  </xsl:variable>
2086
-
2087
2346
 
2088
2347
  <column>
2089
2348
  <xsl:for-each select="xalan:nodeset($widths)//width">
@@ -2119,7 +2378,6 @@
2119
2378
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
2120
2379
  </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
2121
2380
  <xsl:param name="cols-count"/>
2122
- <!-- font-weight="bold" -->
2123
2381
  <fo:table-header>
2124
2382
 
2125
2383
 
@@ -2128,88 +2386,29 @@
2128
2386
  </xsl:template><xsl:template name="table-header-title">
2129
2387
  <xsl:param name="cols-count"/>
2130
2388
  <!-- row for title -->
2131
- <fo:table-row>
2132
- <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">
2133
-
2134
- <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation">
2135
- <xsl:with-param name="continued">true</xsl:with-param>
2136
- </xsl:apply-templates>
2137
-
2138
-
2139
-
2140
-
2141
- </fo:table-cell>
2142
- </fo:table-row>
2143
- </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
2144
- <fo:table-body>
2145
- <xsl:apply-templates/>
2146
- </fo:table-body>
2147
- </xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
2148
- <xsl:apply-templates/>
2149
- </xsl:template><xsl:template name="insertTableFooter">
2150
- <xsl:param name="cols-count"/>
2151
- <xsl:if test="../*[local-name()='tfoot']">
2152
- <fo:table-footer>
2153
- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
2154
- </fo:table-footer>
2155
- </xsl:if>
2156
- </xsl:template><xsl:template name="insertTableFooter2">
2157
- <xsl:param name="cols-count"/>
2158
- <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
2159
- <xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
2160
-
2161
- <fo:table-footer>
2162
-
2163
- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
2164
-
2165
- <!-- if there are note(s) or fn(s) then create footer row -->
2166
- <xsl:if test="$isNoteOrFnExist = 'true'">
2167
-
2168
-
2169
-
2170
- <fo:table-row>
2171
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
2172
-
2173
-
2174
-
2175
- <!-- fn will be processed inside 'note' processing -->
2176
-
2177
-
2178
-
2179
-
2180
-
2181
-
2182
- <!-- except gb -->
2183
-
2184
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2185
-
2186
-
2187
- <!-- show Note under table in preface (ex. abstract) sections -->
2188
- <!-- empty, because notes show at page side in main sections -->
2189
- <!-- <xsl:if test="$namespace = 'bipm'">
2190
- <xsl:choose>
2191
- <xsl:when test="ancestor::*[local-name()='preface']">
2192
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2193
- </xsl:when>
2194
- <xsl:otherwise>
2195
- <fo:block/>
2196
- </xsl:otherwise>
2197
- </xsl:choose>
2198
- </xsl:if> -->
2199
-
2200
-
2201
- <!-- horizontal row separator -->
2202
-
2203
-
2204
- <!-- fn processing -->
2205
- <xsl:call-template name="fn_display"/>
2206
-
2207
- </fo:table-cell>
2208
- </fo:table-row>
2209
-
2210
- </xsl:if>
2389
+ <fo:table-row>
2390
+ <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">
2391
+
2392
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
2393
+ <xsl:with-param name="continued">true</xsl:with-param>
2394
+ </xsl:apply-templates>
2395
+
2396
+
2397
+
2398
+ </fo:table-cell>
2399
+ </fo:table-row>
2400
+ </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
2401
+ <fo:table-body>
2402
+ <xsl:apply-templates/>
2403
+ </fo:table-body>
2404
+ </xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
2405
+ <xsl:apply-templates/>
2406
+ </xsl:template><xsl:template name="insertTableFooter">
2407
+ <xsl:param name="cols-count"/>
2408
+ <xsl:if test="../*[local-name()='tfoot']">
2409
+ <fo:table-footer>
2410
+ <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
2211
2411
  </fo:table-footer>
2212
-
2213
2412
  </xsl:if>
2214
2413
  </xsl:template><xsl:template name="insertTableFooterInSeparateTable">
2215
2414
  <xsl:param name="table_attributes"/>
@@ -2236,17 +2435,18 @@
2236
2435
  </xsl:variable>
2237
2436
 
2238
2437
  <fo:table keep-with-previous="always">
2239
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
2438
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
2439
+ <xsl:variable name="name" select="local-name()"/>
2240
2440
  <xsl:choose>
2241
- <xsl:when test="@name = 'border-top'">
2242
- <xsl:attribute name="{@name}">0pt solid black</xsl:attribute>
2441
+ <xsl:when test="$name = 'border-top'">
2442
+ <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
2243
2443
  </xsl:when>
2244
- <xsl:when test="@name = 'border'">
2245
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
2444
+ <xsl:when test="$name = 'border'">
2445
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
2246
2446
  <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
2247
2447
  </xsl:when>
2248
2448
  <xsl:otherwise>
2249
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
2449
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
2250
2450
  </xsl:otherwise>
2251
2451
  </xsl:choose>
2252
2452
  </xsl:for-each>
@@ -2275,9 +2475,10 @@
2275
2475
 
2276
2476
  <fo:table-body>
2277
2477
  <fo:table-row>
2278
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
2478
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
2279
2479
 
2280
2480
 
2481
+
2281
2482
 
2282
2483
 
2283
2484
  <!-- fn will be processed inside 'note' processing -->
@@ -2287,37 +2488,20 @@
2287
2488
 
2288
2489
 
2289
2490
 
2290
-
2291
-
2292
-
2293
2491
  <!-- for BSI (not PAS) display Notes before footnotes -->
2294
2492
 
2295
2493
 
2296
- <!-- except gb -->
2297
-
2298
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2299
-
2494
+ <!-- except gb and bsi -->
2300
2495
 
2301
- <!-- <xsl:if test="$namespace = 'bipm'">
2302
- <xsl:choose>
2303
- <xsl:when test="ancestor::*[local-name()='preface']">
2304
- show Note under table in preface (ex. abstract) sections
2305
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2306
- </xsl:when>
2307
- <xsl:otherwise>
2308
- empty, because notes show at page side in main sections
2309
- <fo:block/>
2310
- </xsl:otherwise>
2311
- </xsl:choose>
2312
- </xsl:if> -->
2496
+ <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2497
+
2313
2498
 
2314
2499
 
2315
2500
  <!-- horizontal row separator -->
2316
2501
 
2317
2502
 
2318
2503
  <!-- fn processing -->
2319
- <xsl:call-template name="fn_display"/>
2320
-
2504
+ <xsl:call-template name="table_fn_display"/>
2321
2505
 
2322
2506
  <!-- for PAS display Notes after footnotes -->
2323
2507
 
@@ -2359,75 +2543,57 @@
2359
2543
 
2360
2544
 
2361
2545
  <xsl:apply-templates/>
2362
- <!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
2363
-
2546
+
2364
2547
  </fo:table-body>
2365
2548
 
2366
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/text()[1]" priority="2" mode="presentation_name">
2367
- <xsl:choose>
2368
- <xsl:when test="substring-after(., '—') != ''">
2369
- <xsl:text>—</xsl:text><xsl:value-of select="substring-after(., '—')"/>
2370
- </xsl:when>
2371
- <xsl:otherwise>
2372
- <xsl:value-of select="."/>
2373
- </xsl:otherwise>
2374
- </xsl:choose>
2375
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="presentation_name">
2376
- <xsl:apply-templates mode="presentation_name"/>
2377
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/node()" mode="presentation_name">
2378
- <xsl:apply-templates select="."/>
2549
+ </xsl:template><xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
2550
+ <fo:table-row xsl:use-attribute-sets="table-header-row-style">
2551
+
2552
+
2553
+
2554
+
2555
+
2556
+
2557
+
2558
+ <xsl:call-template name="setTableRowAttributes"/>
2559
+
2560
+ <xsl:apply-templates/>
2561
+ </fo:table-row>
2562
+ </xsl:template><xsl:template match="*[local-name()='tfoot']/*[local-name()='tr']" priority="2">
2563
+ <fo:table-row xsl:use-attribute-sets="table-footer-row-style">
2564
+
2565
+ <xsl:call-template name="setTableRowAttributes"/>
2566
+ <xsl:apply-templates/>
2567
+ </fo:table-row>
2379
2568
  </xsl:template><xsl:template match="*[local-name()='tr']">
2380
- <xsl:variable name="parent-name" select="local-name(..)"/>
2381
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
2382
- <fo:table-row min-height="4mm">
2383
- <xsl:if test="$parent-name = 'thead'">
2384
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2385
-
2386
-
2387
-
2388
-
2389
-
2390
-
2391
-
2392
-
2393
- </xsl:if>
2394
- <xsl:if test="$parent-name = 'tfoot'">
2395
-
2396
-
2397
-
2398
- </xsl:if>
2399
-
2400
-
2401
-
2402
-
2403
-
2404
-
2405
-
2406
-
2407
-
2408
-
2409
- <!-- <xsl:if test="$namespace = 'bipm'">
2410
- <xsl:attribute name="height">8mm</xsl:attribute>
2411
- </xsl:if> -->
2412
-
2569
+ <fo:table-row xsl:use-attribute-sets="table-body-row-style">
2570
+
2571
+
2572
+
2573
+
2574
+
2575
+ <xsl:call-template name="setTableRowAttributes"/>
2413
2576
  <xsl:apply-templates/>
2414
2577
  </fo:table-row>
2578
+ </xsl:template><xsl:template name="setTableRowAttributes">
2579
+
2580
+
2581
+
2582
+
2583
+
2584
+
2585
+
2586
+
2415
2587
  </xsl:template><xsl:template match="*[local-name()='th']">
2416
- <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
2417
- <xsl:attribute name="text-align">
2418
- <xsl:choose>
2419
- <xsl:when test="@align">
2420
- <xsl:call-template name="setAlignment"/>
2421
- <!-- <xsl:value-of select="@align"/> -->
2422
- </xsl:when>
2423
- <xsl:otherwise>center</xsl:otherwise>
2424
- </xsl:choose>
2425
- </xsl:attribute>
2426
-
2588
+ <fo:table-cell xsl:use-attribute-sets="table-header-cell-style"> <!-- text-align="{@align}" -->
2589
+ <xsl:call-template name="setTextAlignment">
2590
+ <xsl:with-param name="default">center</xsl:with-param>
2591
+ </xsl:call-template>
2427
2592
 
2428
2593
 
2429
2594
 
2430
2595
 
2596
+
2431
2597
 
2432
2598
 
2433
2599
 
@@ -2446,30 +2612,30 @@
2446
2612
  <xsl:attribute name="font-weight">bold</xsl:attribute>
2447
2613
  </xsl:if>
2448
2614
  </xsl:if>
2449
- <xsl:attribute name="text-indent">0mm</xsl:attribute>
2450
-
2451
-
2452
-
2453
2615
 
2454
2616
 
2455
2617
  <xsl:if test="$lang = 'ar'">
2456
2618
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2457
2619
  </xsl:if>
2458
- <xsl:if test="@colspan">
2459
- <xsl:attribute name="number-columns-spanned">
2460
- <xsl:value-of select="@colspan"/>
2461
- </xsl:attribute>
2462
- </xsl:if>
2463
- <xsl:if test="@rowspan">
2464
- <xsl:attribute name="number-rows-spanned">
2465
- <xsl:value-of select="@rowspan"/>
2466
- </xsl:attribute>
2467
- </xsl:if>
2468
- <xsl:call-template name="display-align"/>
2620
+
2621
+ <xsl:call-template name="setTableCellAttributes"/>
2622
+
2469
2623
  <fo:block>
2470
2624
  <xsl:apply-templates/>
2471
2625
  </fo:block>
2472
2626
  </fo:table-cell>
2627
+ </xsl:template><xsl:template name="setTableCellAttributes">
2628
+ <xsl:if test="@colspan">
2629
+ <xsl:attribute name="number-columns-spanned">
2630
+ <xsl:value-of select="@colspan"/>
2631
+ </xsl:attribute>
2632
+ </xsl:if>
2633
+ <xsl:if test="@rowspan">
2634
+ <xsl:attribute name="number-rows-spanned">
2635
+ <xsl:value-of select="@rowspan"/>
2636
+ </xsl:attribute>
2637
+ </xsl:if>
2638
+ <xsl:call-template name="display-align"/>
2473
2639
  </xsl:template><xsl:template name="display-align">
2474
2640
  <xsl:if test="@valign">
2475
2641
  <xsl:attribute name="display-align">
@@ -2482,22 +2648,18 @@
2482
2648
  </xsl:attribute>
2483
2649
  </xsl:if>
2484
2650
  </xsl:template><xsl:template match="*[local-name()='td']">
2485
- <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
2486
- <xsl:attribute name="text-align">
2487
- <xsl:choose>
2488
- <xsl:when test="@align">
2489
- <xsl:call-template name="setAlignment"/>
2490
- <!-- <xsl:value-of select="@align"/> -->
2491
- </xsl:when>
2492
- <xsl:otherwise>left</xsl:otherwise>
2493
- </xsl:choose>
2494
- </xsl:attribute>
2651
+ <fo:table-cell xsl:use-attribute-sets="table-cell-style"> <!-- text-align="{@align}" -->
2652
+ <xsl:call-template name="setTextAlignment">
2653
+ <xsl:with-param name="default">left</xsl:with-param>
2654
+ </xsl:call-template>
2655
+
2495
2656
  <xsl:if test="$lang = 'ar'">
2496
2657
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2497
2658
  </xsl:if>
2498
2659
 
2499
2660
 
2500
2661
 
2662
+ <!-- bsi -->
2501
2663
 
2502
2664
 
2503
2665
 
@@ -2505,79 +2667,160 @@
2505
2667
 
2506
2668
 
2507
2669
 
2508
- <xsl:if test="ancestor::*[local-name()='sections']">
2509
- <xsl:attribute name="border">solid black 0pt</xsl:attribute>
2510
- <xsl:attribute name="padding-top">1mm</xsl:attribute>
2511
- </xsl:if>
2512
- <xsl:attribute name="text-indent">0mm</xsl:attribute>
2670
+
2671
+
2513
2672
 
2514
2673
 
2515
2674
 
2516
2675
 
2517
2676
 
2677
+ <xsl:if test="ancestor::*[local-name()='sections']">
2678
+ <xsl:attribute name="border">solid black 0pt</xsl:attribute>
2679
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
2680
+ </xsl:if>
2518
2681
 
2519
2682
 
2520
- <xsl:if test=".//*[local-name() = 'table']">
2683
+ <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
2521
2684
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2522
2685
  </xsl:if>
2523
- <xsl:if test="@colspan">
2524
- <xsl:attribute name="number-columns-spanned">
2525
- <xsl:value-of select="@colspan"/>
2526
- </xsl:attribute>
2527
- </xsl:if>
2528
- <xsl:if test="@rowspan">
2529
- <xsl:attribute name="number-rows-spanned">
2530
- <xsl:value-of select="@rowspan"/>
2531
- </xsl:attribute>
2532
- </xsl:if>
2533
- <xsl:call-template name="display-align"/>
2686
+
2687
+ <xsl:call-template name="setTableCellAttributes"/>
2688
+
2534
2689
  <fo:block>
2535
-
2690
+
2691
+
2692
+
2536
2693
  <xsl:apply-templates/>
2537
2694
  </fo:block>
2538
2695
  </fo:table-cell>
2539
2696
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
2697
+
2698
+ <fo:block xsl:use-attribute-sets="table-note-style">
2699
+
2700
+
2701
+
2702
+
2540
2703
 
2541
-
2542
- <fo:block font-size="10pt" margin-bottom="12pt">
2704
+ <!-- Table's note name (NOTE, for example) -->
2705
+ <fo:inline xsl:use-attribute-sets="table-note-name-style">
2543
2706
 
2544
2707
 
2545
2708
 
2546
2709
 
2547
2710
 
2548
2711
 
2712
+ <xsl:if test="@type = 'source' or @type = 'abbreviation'">
2713
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
2714
+ </xsl:if>
2549
2715
 
2550
2716
 
2551
- <!-- Table's note name (NOTE, for example) -->
2552
-
2553
- <fo:inline padding-right="2mm" xsl:use-attribute-sets="table-note-name-style">
2717
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
2554
2718
 
2555
-
2556
-
2557
- <xsl:if test="@type = 'source' or @type = 'abbreviation'">
2558
- <xsl:attribute name="font-size">9pt</xsl:attribute>
2559
- <!-- <fo:inline>
2560
- <xsl:call-template name="capitalize">
2561
- <xsl:with-param name="str" select="@type"/>
2562
- </xsl:call-template>
2563
- <xsl:text>: </xsl:text>
2564
- </fo:inline> -->
2565
- </xsl:if>
2566
-
2567
-
2568
-
2569
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
2570
-
2571
- </fo:inline>
2572
-
2573
-
2574
-
2575
- <xsl:apply-templates mode="process"/>
2576
- </fo:block>
2719
+ </fo:inline>
2720
+
2721
+
2722
+
2723
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]" mode="process"/>
2724
+ </fo:block>
2577
2725
 
2578
2726
  </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">
2579
2727
  <xsl:apply-templates/>
2580
- </xsl:template><xsl:template name="fn_display">
2728
+ </xsl:template><xsl:template match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])]" priority="2" name="fn">
2729
+
2730
+ <!-- list of footnotes to calculate actual footnotes number -->
2731
+ <xsl:variable name="p_fn_">
2732
+ <xsl:choose>
2733
+ <xsl:when test="@current_fn_number"> <!-- for BSI, footnote reference number calculated already -->
2734
+ <fn gen_id="{generate-id(.)}">
2735
+ <xsl:copy-of select="@*"/>
2736
+ <xsl:copy-of select="node()"/>
2737
+ </fn>
2738
+ </xsl:when>
2739
+ <xsl:otherwise>
2740
+ <!-- itetation for:
2741
+ footnotes in bibdata/title
2742
+ footnotes in bibliography
2743
+ footnotes in document's body (except table's head/body/foot and figure text)
2744
+ -->
2745
+ <xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'note'][@type='title-footnote']">
2746
+ <fn gen_id="{generate-id(.)}">
2747
+ <xsl:copy-of select="@*"/>
2748
+ <xsl:copy-of select="node()"/>
2749
+ </fn>
2750
+ </xsl:for-each>
2751
+ <xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='preface']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='sections']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='annex'] | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*">
2752
+ <xsl:sort select="@displayorder" data-type="number"/>
2753
+ <xsl:for-each select=".//*[local-name() = 'bibitem'][ancestor::*[local-name() = 'references']]/*[local-name() = 'note'] | .//*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
2754
+ <!-- copy unique fn -->
2755
+ <fn gen_id="{generate-id(.)}">
2756
+ <xsl:copy-of select="@*"/>
2757
+ <xsl:copy-of select="node()"/>
2758
+ </fn>
2759
+ </xsl:for-each>
2760
+ </xsl:for-each>
2761
+ </xsl:otherwise>
2762
+ </xsl:choose>
2763
+ </xsl:variable>
2764
+ <xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
2765
+
2766
+ <xsl:variable name="gen_id" select="generate-id(.)"/>
2767
+ <xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
2768
+ <xsl:variable name="reference" select="@reference"/>
2769
+ <!-- fn sequence number in document -->
2770
+ <xsl:variable name="current_fn_number">
2771
+ <xsl:choose>
2772
+ <xsl:when test="@current_fn_number"><xsl:value-of select="@current_fn_number"/></xsl:when> <!-- for BSI -->
2773
+ <xsl:otherwise>
2774
+ <xsl:value-of select="count($p_fn//fn[@reference = $reference]/preceding-sibling::fn) + 1"/>
2775
+ </xsl:otherwise>
2776
+ </xsl:choose>
2777
+ </xsl:variable>
2778
+ <xsl:variable name="current_fn_number_text">
2779
+ <xsl:value-of select="$current_fn_number"/>
2780
+
2781
+
2782
+ </xsl:variable>
2783
+
2784
+ <xsl:variable name="ref_id" select="concat('footnote_', $lang, '_', $reference, '_', $current_fn_number)"/>
2785
+ <xsl:variable name="footnote_inline">
2786
+ <fo:inline xsl:use-attribute-sets="fn-num-style">
2787
+
2788
+ <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
2789
+ <xsl:value-of select="$current_fn_number_text"/>
2790
+ </fo:basic-link>
2791
+ </fo:inline>
2792
+ </xsl:variable>
2793
+ <!-- DEBUG: p_fn=<xsl:copy-of select="$p_fn"/>
2794
+ gen_id=<xsl:value-of select="$gen_id"/> -->
2795
+ <xsl:choose>
2796
+ <xsl:when test="normalize-space(@skip_footnote_body) = 'true'">
2797
+ <xsl:copy-of select="$footnote_inline"/>
2798
+ </xsl:when>
2799
+ <xsl:when test="$p_fn//fn[@gen_id = $gen_id] or normalize-space(@skip_footnote_body) = 'false'">
2800
+ <fo:footnote xsl:use-attribute-sets="fn-style">
2801
+ <xsl:copy-of select="$footnote_inline"/>
2802
+ <fo:footnote-body>
2803
+
2804
+ <fo:block-container xsl:use-attribute-sets="fn-container-body-style">
2805
+
2806
+ <fo:block xsl:use-attribute-sets="fn-body-style">
2807
+
2808
+
2809
+ <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
2810
+
2811
+ <xsl:value-of select="$current_fn_number_text"/>
2812
+ </fo:inline>
2813
+ <xsl:apply-templates/>
2814
+ </fo:block>
2815
+ </fo:block-container>
2816
+ </fo:footnote-body>
2817
+ </fo:footnote>
2818
+ </xsl:when>
2819
+ <xsl:otherwise>
2820
+ <xsl:copy-of select="$footnote_inline"/>
2821
+ </xsl:otherwise>
2822
+ </xsl:choose>
2823
+ </xsl:template><xsl:template name="table_fn_display">
2581
2824
  <xsl:variable name="references">
2582
2825
 
2583
2826
  <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
@@ -2588,33 +2831,26 @@
2588
2831
  <xsl:for-each select="xalan:nodeset($references)//fn">
2589
2832
  <xsl:variable name="reference" select="@reference"/>
2590
2833
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
2591
- <fo:block margin-bottom="12pt">
2834
+ <fo:block xsl:use-attribute-sets="table-fn-style">
2592
2835
 
2593
2836
 
2594
2837
 
2595
-
2596
-
2597
-
2598
-
2599
- <fo:inline font-size="80%" padding-right="5mm" id="{@id}">
2838
+ <fo:inline id="{@id}" xsl:use-attribute-sets="table-fn-number-style">
2600
2839
 
2601
- <xsl:attribute name="vertical-align">super</xsl:attribute>
2602
2840
 
2603
2841
 
2604
2842
 
2605
2843
 
2844
+ <xsl:value-of select="@reference"/>
2606
2845
 
2607
2846
 
2608
2847
 
2609
2848
 
2610
- <xsl:value-of select="@reference"/>
2611
2849
 
2612
2850
 
2613
2851
 
2614
2852
  </fo:inline>
2615
- <fo:inline>
2616
-
2617
- <!-- <xsl:apply-templates /> -->
2853
+ <fo:inline xsl:use-attribute-sets="table-fn-body-style">
2618
2854
  <xsl:copy-of select="./node()"/>
2619
2855
  </fo:inline>
2620
2856
  </fo:block>
@@ -2626,15 +2862,7 @@
2626
2862
 
2627
2863
  <xsl:apply-templates/>
2628
2864
  </fn>
2629
- </xsl:template><xsl:template name="fn_name_display">
2630
- <!-- <xsl:variable name="references">
2631
- <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
2632
- <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
2633
- <xsl:apply-templates />
2634
- </fn>
2635
- </xsl:for-each>
2636
- </xsl:variable>
2637
- $references=<xsl:copy-of select="$references"/> -->
2865
+ </xsl:template><xsl:template name="table_name_fn_display">
2638
2866
  <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
2639
2867
  <xsl:variable name="reference" select="@reference"/>
2640
2868
  <fo:block id="{@reference}_{ancestor::*[@id][1]/@id}"><xsl:value-of select="@reference"/></fo:block>
@@ -2643,9 +2871,7 @@
2643
2871
  </fo:block>
2644
2872
  </xsl:for-each>
2645
2873
  </xsl:template><xsl:template name="fn_display_figure">
2646
- <xsl:variable name="key_iso">
2647
- <!-- and (not(@class) or @class !='pseudocode') -->
2648
- </xsl:variable>
2874
+
2649
2875
  <xsl:variable name="references">
2650
2876
  <xsl:for-each select=".//*[local-name()='fn'][not(parent::*[local-name()='name'])]">
2651
2877
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
@@ -2653,50 +2879,52 @@
2653
2879
  </fn>
2654
2880
  </xsl:for-each>
2655
2881
  </xsl:variable>
2882
+
2883
+ <xsl:if test="xalan:nodeset($references)//fn">
2656
2884
 
2657
- <!-- current hierarchy is 'figure' element -->
2658
- <xsl:variable name="following_dl_colwidths">
2659
- <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
2660
- <xsl:variable name="html-table">
2661
- <xsl:variable name="doc_ns">
2885
+ <xsl:variable name="key_iso">
2886
+
2887
+ </xsl:variable>
2888
+
2889
+ <!-- current hierarchy is 'figure' element -->
2890
+ <xsl:variable name="following_dl_colwidths">
2891
+ <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
2892
+ <xsl:variable name="html-table">
2893
+ <xsl:variable name="doc_ns">
2894
+
2895
+ </xsl:variable>
2896
+ <xsl:variable name="ns">
2897
+ <xsl:choose>
2898
+ <xsl:when test="normalize-space($doc_ns) != ''">
2899
+ <xsl:value-of select="normalize-space($doc_ns)"/>
2900
+ </xsl:when>
2901
+ <xsl:otherwise>
2902
+ <xsl:value-of select="substring-before(name(/*), '-')"/>
2903
+ </xsl:otherwise>
2904
+ </xsl:choose>
2905
+ </xsl:variable>
2662
2906
 
2663
- </xsl:variable>
2664
- <xsl:variable name="ns">
2665
- <xsl:choose>
2666
- <xsl:when test="normalize-space($doc_ns) != ''">
2667
- <xsl:value-of select="normalize-space($doc_ns)"/>
2668
- </xsl:when>
2669
- <xsl:otherwise>
2670
- <xsl:value-of select="substring-before(name(/*), '-')"/>
2671
- </xsl:otherwise>
2672
- </xsl:choose>
2673
- </xsl:variable>
2674
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
2675
- <!-- <xsl:element name="{$ns}:table"> -->
2676
2907
  <xsl:for-each select="*[local-name() = 'dl'][1]">
2677
2908
  <tbody>
2678
2909
  <xsl:apply-templates mode="dl"/>
2679
2910
  </tbody>
2680
2911
  </xsl:for-each>
2681
- <!-- </xsl:element> -->
2682
- </xsl:variable>
2683
-
2684
- <xsl:call-template name="calculate-column-widths">
2685
- <xsl:with-param name="cols-count" select="2"/>
2686
- <xsl:with-param name="table" select="$html-table"/>
2687
- </xsl:call-template>
2688
-
2689
- </xsl:if>
2690
- </xsl:variable>
2691
-
2692
-
2693
- <xsl:variable name="maxlength_dt">
2694
- <xsl:for-each select="*[local-name() = 'dl'][1]">
2695
- <xsl:call-template name="getMaxLength_dt"/>
2696
- </xsl:for-each>
2697
- </xsl:variable>
2698
-
2699
- <xsl:if test="xalan:nodeset($references)//fn">
2912
+ </xsl:variable>
2913
+
2914
+ <xsl:call-template name="calculate-column-widths">
2915
+ <xsl:with-param name="cols-count" select="2"/>
2916
+ <xsl:with-param name="table" select="$html-table"/>
2917
+ </xsl:call-template>
2918
+
2919
+ </xsl:if>
2920
+ </xsl:variable>
2921
+
2922
+ <xsl:variable name="maxlength_dt">
2923
+ <xsl:for-each select="*[local-name() = 'dl'][1]">
2924
+ <xsl:call-template name="getMaxLength_dt"/>
2925
+ </xsl:for-each>
2926
+ </xsl:variable>
2927
+
2700
2928
  <fo:block>
2701
2929
  <fo:table width="95%" table-layout="fixed">
2702
2930
  <xsl:if test="normalize-space($key_iso) = 'true'">
@@ -2723,20 +2951,18 @@
2723
2951
  <fo:table-row>
2724
2952
  <fo:table-cell>
2725
2953
  <fo:block>
2726
- <fo:inline font-size="80%" padding-right="5mm" vertical-align="super" id="{@id}">
2727
-
2954
+ <fo:inline id="{@id}" xsl:use-attribute-sets="figure-fn-number-style">
2728
2955
  <xsl:value-of select="@reference"/>
2729
2956
  </fo:inline>
2730
2957
  </fo:block>
2731
2958
  </fo:table-cell>
2732
2959
  <fo:table-cell>
2733
- <fo:block text-align="justify" margin-bottom="12pt">
2734
-
2960
+ <fo:block xsl:use-attribute-sets="figure-fn-body-style">
2735
2961
  <xsl:if test="normalize-space($key_iso) = 'true'">
2736
- <xsl:attribute name="margin-bottom">0</xsl:attribute>
2962
+
2963
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
2964
+
2737
2965
  </xsl:if>
2738
-
2739
- <!-- <xsl:apply-templates /> -->
2740
2966
  <xsl:copy-of select="./node()"/>
2741
2967
  </fo:block>
2742
2968
  </fo:table-cell>
@@ -2749,14 +2975,8 @@
2749
2975
  </xsl:if>
2750
2976
 
2751
2977
  </xsl:template><xsl:template match="*[local-name()='fn']">
2752
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
2753
- <fo:inline font-size="80%" keep-with-previous.within-line="always">
2754
-
2755
-
2756
-
2757
-
2758
-
2759
-
2978
+ <fo:inline xsl:use-attribute-sets="fn-reference-style">
2979
+
2760
2980
 
2761
2981
 
2762
2982
 
@@ -2769,6 +2989,8 @@
2769
2989
 
2770
2990
  </fo:basic-link>
2771
2991
  </fo:inline>
2992
+ </xsl:template><xsl:template match="*[local-name()='fn']/text()[normalize-space() != '']">
2993
+ <fo:inline><xsl:value-of select="."/></fo:inline>
2772
2994
  </xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
2773
2995
  <fo:inline>
2774
2996
  <xsl:apply-templates/>
@@ -2778,10 +3000,10 @@
2778
3000
  <xsl:variable name="isDeleted" select="@deleted"/>
2779
3001
  <fo:block-container>
2780
3002
 
2781
- <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
2782
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2783
- </xsl:if>
2784
-
3003
+ <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
3004
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
3005
+ </xsl:if>
3006
+
2785
3007
 
2786
3008
  <xsl:if test="parent::*[local-name() = 'note']">
2787
3009
  <xsl:attribute name="margin-left">
@@ -2798,11 +3020,11 @@
2798
3020
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
2799
3021
  </xsl:call-template>
2800
3022
 
2801
- <fo:block-container>
2802
-
2803
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2804
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
3023
+ <fo:block-container margin-left="0mm">
3024
+
2805
3025
 
3026
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
3027
+
2806
3028
 
2807
3029
  <xsl:variable name="parent" select="local-name(..)"/>
2808
3030
 
@@ -2813,23 +3035,19 @@
2813
3035
  <xsl:choose>
2814
3036
  <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
2815
3037
 
2816
-
2817
- <fo:block margin-bottom="12pt" text-align="left">
2818
-
2819
- <xsl:variable name="title-where">
2820
-
3038
+ <fo:block margin-bottom="12pt" text-align="left">
2821
3039
 
2822
- <xsl:call-template name="getTitle">
2823
- <xsl:with-param name="name" select="'title-where'"/>
3040
+ <xsl:variable name="title-where">
3041
+ <xsl:call-template name="getLocalizedString">
3042
+ <xsl:with-param name="key">where</xsl:with-param>
2824
3043
  </xsl:call-template>
2825
-
2826
- </xsl:variable>
2827
- <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
2828
- <xsl:apply-templates select="*[local-name()='dt']/*"/>
2829
- <xsl:text/>
2830
- <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
2831
- </fo:block>
2832
-
3044
+ </xsl:variable>
3045
+ <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
3046
+ <xsl:apply-templates select="*[local-name()='dt']/*"/>
3047
+ <xsl:text/>
3048
+ <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
3049
+ </fo:block>
3050
+
2833
3051
  </xsl:when>
2834
3052
  <xsl:when test="$parent = 'formula'"> <!-- a few components -->
2835
3053
  <fo:block margin-bottom="12pt" text-align="left">
@@ -2838,12 +3056,9 @@
2838
3056
 
2839
3057
 
2840
3058
  <xsl:variable name="title-where">
2841
-
2842
-
2843
- <xsl:call-template name="getTitle">
2844
- <xsl:with-param name="name" select="'title-where'"/>
2845
- </xsl:call-template>
2846
-
3059
+ <xsl:call-template name="getLocalizedString">
3060
+ <xsl:with-param name="key">where</xsl:with-param>
3061
+ </xsl:call-template>
2847
3062
  </xsl:variable>
2848
3063
  <xsl:value-of select="$title-where"/>
2849
3064
  </fo:block>
@@ -2855,12 +3070,9 @@
2855
3070
 
2856
3071
 
2857
3072
  <xsl:variable name="title-key">
2858
-
2859
-
2860
- <xsl:call-template name="getTitle">
2861
- <xsl:with-param name="name" select="'title-key'"/>
2862
- </xsl:call-template>
2863
-
3073
+ <xsl:call-template name="getLocalizedString">
3074
+ <xsl:with-param name="key">key</xsl:with-param>
3075
+ </xsl:call-template>
2864
3076
  </xsl:variable>
2865
3077
  <xsl:value-of select="$title-key"/>
2866
3078
  </fo:block>
@@ -2882,9 +3094,7 @@
2882
3094
  <fo:table width="95%" table-layout="fixed">
2883
3095
 
2884
3096
  <xsl:choose>
2885
- <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
2886
- <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
2887
- </xsl:when>
3097
+ <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'"/>
2888
3098
  <xsl:when test="normalize-space($key_iso) = 'true'">
2889
3099
  <xsl:attribute name="font-size">10pt</xsl:attribute>
2890
3100
 
@@ -2905,12 +3115,9 @@
2905
3115
  </xsl:otherwise>
2906
3116
  </xsl:choose>
2907
3117
  </xsl:variable>
2908
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
2909
- <!-- <xsl:element name="{$ns}:table"> -->
2910
- <tbody>
2911
- <xsl:apply-templates mode="dl"/>
2912
- </tbody>
2913
- <!-- </xsl:element> -->
3118
+ <tbody>
3119
+ <xsl:apply-templates mode="dl"/>
3120
+ </tbody>
2914
3121
  </xsl:variable>
2915
3122
  <!-- html-table<xsl:copy-of select="$html-table"/> -->
2916
3123
  <xsl:variable name="colwidths">
@@ -2990,8 +3197,6 @@
2990
3197
  </xsl:for-each>
2991
3198
  </xsl:otherwise>
2992
3199
  </xsl:choose>
2993
- <!-- <fo:table-column column-width="15%"/>
2994
- <fo:table-column column-width="85%"/> -->
2995
3200
  </xsl:otherwise>
2996
3201
  </xsl:choose>
2997
3202
  </xsl:template><xsl:template name="getMaxLength_dt">
@@ -3006,12 +3211,6 @@
3006
3211
  </xsl:for-each>
3007
3212
  </xsl:variable>
3008
3213
  <xsl:variable name="maxLength">
3009
- <!-- <xsl:for-each select="*[local-name()='dt']">
3010
- <xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
3011
- <xsl:if test="position() = 1">
3012
- <xsl:value-of select="string-length(normalize-space(.))"/>
3013
- </xsl:if>
3014
- </xsl:for-each> -->
3015
3214
  <xsl:for-each select="xalan:nodeset($lengths)/length">
3016
3215
  <xsl:sort select="." data-type="number" order="descending"/>
3017
3216
  <xsl:if test="position() = 1">
@@ -3037,12 +3236,12 @@
3037
3236
  <xsl:if test="normalize-space($key_iso) = 'true'">
3038
3237
  <xsl:attribute name="margin-top">0</xsl:attribute>
3039
3238
  </xsl:if>
3040
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3239
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3041
3240
  </fo:block>
3042
3241
  </fo:table-cell>
3043
3242
  <fo:table-cell>
3044
3243
  <fo:block>
3045
- <xsl:apply-templates/>
3244
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3046
3245
  </fo:block>
3047
3246
  </fo:table-cell>
3048
3247
  </fo:table-row>
@@ -3053,79 +3252,41 @@
3053
3252
  </td>
3054
3253
  <td>
3055
3254
 
3056
-
3057
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3058
-
3255
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3256
+
3059
3257
  </td>
3060
3258
  </tr>
3061
3259
 
3062
3260
  </xsl:template><xsl:template match="*[local-name()='dt']">
3063
3261
  <xsl:param name="key_iso"/>
3064
3262
 
3065
- <fo:table-row>
3066
-
3067
-
3263
+ <fo:table-row xsl:use-attribute-sets="dt-row-style">
3068
3264
  <fo:table-cell>
3069
3265
 
3070
- <fo:block margin-top="6pt">
3266
+ <fo:block xsl:use-attribute-sets="dt-style">
3071
3267
  <xsl:copy-of select="@id"/>
3072
3268
 
3073
-
3074
3269
  <xsl:if test="normalize-space($key_iso) = 'true'">
3075
3270
  <xsl:attribute name="margin-top">0</xsl:attribute>
3076
-
3077
3271
  </xsl:if>
3078
3272
 
3079
3273
 
3080
3274
 
3081
-
3082
-
3083
-
3084
-
3085
3275
  <xsl:apply-templates/>
3086
- <!-- <xsl:if test="$namespace = 'gb'">
3087
- <xsl:if test="ancestor::*[local-name()='formula']">
3088
- <xsl:text>—</xsl:text>
3089
- </xsl:if>
3090
- </xsl:if> -->
3091
3276
  </fo:block>
3092
3277
  </fo:table-cell>
3093
3278
  <fo:table-cell>
3094
3279
  <fo:block>
3095
3280
 
3096
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
3097
- <xsl:if test="local-name(*[1]) != 'stem'">
3098
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3099
- </xsl:if>
3100
- </xsl:if> -->
3101
-
3102
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3103
-
3281
+
3282
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3104
3283
  </fo:block>
3105
3284
  </fo:table-cell>
3106
3285
  </fo:table-row>
3107
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
3108
- <xsl:if test="local-name(*[1]) = 'stem'">
3109
- <fo:table-row>
3110
- <fo:table-cell>
3111
- <fo:block margin-top="6pt">
3112
- <xsl:if test="normalize-space($key_iso) = 'true'">
3113
- <xsl:attribute name="margin-top">0</xsl:attribute>
3114
- </xsl:if>
3115
- <xsl:text>&#xA0;</xsl:text>
3116
- </fo:block>
3117
- </fo:table-cell>
3118
- <fo:table-cell>
3119
- <fo:block>
3120
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3121
- </fo:block>
3122
- </fo:table-cell>
3123
- </fo:table-row>
3124
- </xsl:if>
3125
- </xsl:if> -->
3126
3286
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
3127
3287
  <xsl:apply-templates/>
3128
3288
  </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
3289
+ <xsl:apply-templates select="@language"/>
3129
3290
  <xsl:apply-templates/>
3130
3291
  </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
3131
3292
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
@@ -3150,6 +3311,7 @@
3150
3311
  </fo:inline>
3151
3312
  </xsl:template><xsl:template match="*[local-name()='tt']">
3152
3313
  <fo:inline xsl:use-attribute-sets="tt-style">
3314
+
3153
3315
  <xsl:variable name="_font-size">
3154
3316
 
3155
3317
 
@@ -3186,7 +3348,22 @@
3186
3348
  <xsl:apply-templates/>
3187
3349
  </fo:inline>
3188
3350
  </xsl:template><xsl:template match="*[local-name()='add']">
3351
+ <xsl:param name="skip">true</xsl:param>
3189
3352
  <xsl:choose>
3353
+ <xsl:when test="starts-with(., $ace_tag)"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start -->
3354
+ <xsl:choose>
3355
+ <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>
3356
+ <xsl:otherwise>
3357
+ <fo:inline>
3358
+ <xsl:call-template name="insertTag">
3359
+ <xsl:with-param name="type" select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end -->
3360
+ <xsl:with-param name="kind" select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
3361
+ <xsl:with-param name="value" select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
3362
+ </xsl:call-template>
3363
+ </fo:inline>
3364
+ </xsl:otherwise>
3365
+ </xsl:choose>
3366
+ </xsl:when>
3190
3367
  <xsl:when test="@amendment">
3191
3368
  <fo:inline>
3192
3369
  <xsl:call-template name="insertTag">
@@ -3221,7 +3398,6 @@
3221
3398
  </fo:inline>
3222
3399
  </xsl:otherwise>
3223
3400
  </xsl:choose>
3224
-
3225
3401
  </xsl:template><xsl:template name="insertTag">
3226
3402
  <xsl:param name="type"/>
3227
3403
  <xsl:param name="kind"/>
@@ -3229,22 +3405,20 @@
3229
3405
  <xsl:variable name="add_width" select="string-length($value) * 20"/>
3230
3406
  <xsl:variable name="maxwidth" select="60 + $add_width"/>
3231
3407
  <fo:instream-foreign-object fox:alt-text="OpeningTag" baseline-shift="-20%"><!-- alignment-baseline="middle" -->
3232
- <!-- <xsl:attribute name="width">7mm</xsl:attribute>
3233
- <xsl:attribute name="content-height">100%</xsl:attribute> -->
3234
3408
  <xsl:attribute name="height">5mm</xsl:attribute>
3235
3409
  <xsl:attribute name="content-width">100%</xsl:attribute>
3236
3410
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
3237
3411
  <xsl:attribute name="scaling">uniform</xsl:attribute>
3238
3412
  <svg xmlns="http://www.w3.org/2000/svg" width="{$maxwidth + 32}" height="80">
3239
3413
  <g>
3240
- <xsl:if test="$type = 'closing'">
3414
+ <xsl:if test="$type = 'closing' or $type = 'end'">
3241
3415
  <xsl:attribute name="transform">scale(-1 1) translate(-<xsl:value-of select="$maxwidth + 32"/>,0)</xsl:attribute>
3242
3416
  </xsl:if>
3243
3417
  <polyline points="0,0 {$maxwidth},0 {$maxwidth + 30},40 {$maxwidth},80 0,80 " stroke="black" stroke-width="5" fill="white"/>
3244
3418
  <line x1="0" y1="0" x2="0" y2="80" stroke="black" stroke-width="20"/>
3245
3419
  </g>
3246
3420
  <text font-family="Arial" x="15" y="57" font-size="40pt">
3247
- <xsl:if test="$type = 'closing'">
3421
+ <xsl:if test="$type = 'closing' or $type = 'end'">
3248
3422
  <xsl:attribute name="x">25</xsl:attribute>
3249
3423
  </xsl:if>
3250
3424
  <xsl:value-of select="$kind"/><tspan dy="10" font-size="30pt"><xsl:value-of select="$value"/></tspan>
@@ -3448,14 +3622,6 @@
3448
3622
 
3449
3623
  <xsl:copy-of select="xalan:nodeset($simple-table-rowspan)"/>
3450
3624
 
3451
- <!-- <xsl:choose>
3452
- <xsl:when test="current()//*[local-name()='th'][@colspan] or current()//*[local-name()='td'][@colspan] ">
3453
-
3454
- </xsl:when>
3455
- <xsl:otherwise>
3456
- <xsl:copy-of select="current()"/>
3457
- </xsl:otherwise>
3458
- </xsl:choose> -->
3459
3625
  </xsl:variable>
3460
3626
  <xsl:copy-of select="$simple-table"/>
3461
3627
  </xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
@@ -3574,8 +3740,6 @@
3574
3740
  <xsl:choose>
3575
3741
  <xsl:when test="contains($str2, ' ')">
3576
3742
  <xsl:variable name="substr" select="substring-before($str2, ' ')"/>
3577
- <!-- <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
3578
- <xsl:value-of select="substring($substr, 2)"/> -->
3579
3743
  <xsl:call-template name="capitalize">
3580
3744
  <xsl:with-param name="str" select="$substr"/>
3581
3745
  </xsl:call-template>
@@ -3585,8 +3749,6 @@
3585
3749
  </xsl:call-template>
3586
3750
  </xsl:when>
3587
3751
  <xsl:otherwise>
3588
- <!-- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
3589
- <xsl:value-of select="substring($str2, 2)"/> -->
3590
3752
  <xsl:call-template name="capitalize">
3591
3753
  <xsl:with-param name="str" select="$str2"/>
3592
3754
  </xsl:call-template>
@@ -3614,6 +3776,7 @@
3614
3776
  <xsl:apply-templates select="." mode="mathml"/>
3615
3777
  </xsl:variable>
3616
3778
  <fo:instream-foreign-object fox:alt-text="Math">
3779
+
3617
3780
 
3618
3781
 
3619
3782
  <xsl:variable name="comment_text_following" select="following-sibling::node()[1][self::comment()]"/>
@@ -3645,7 +3808,7 @@
3645
3808
  </xsl:attribute>
3646
3809
 
3647
3810
 
3648
- <!-- <xsl:copy-of select="."/> -->
3811
+
3649
3812
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
3650
3813
  </fo:instream-foreign-object>
3651
3814
  </fo:inline>
@@ -3704,6 +3867,10 @@
3704
3867
 
3705
3868
 
3706
3869
 
3870
+
3871
+
3872
+
3873
+
3707
3874
  <xsl:choose>
3708
3875
  <xsl:when test="$target_text = ''">
3709
3876
  <xsl:apply-templates/>
@@ -3737,9 +3904,9 @@
3737
3904
  <fo:inline role="H{$level}"><xsl:apply-templates/></fo:inline>
3738
3905
  </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']" priority="2">
3739
3906
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
3740
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3907
+ <xsl:apply-templates select="*[local-name()='name']"/>
3741
3908
  </fo:block>
3742
- <xsl:apply-templates/>
3909
+ <xsl:apply-templates select="node()[not(local-name()='name')]"/>
3743
3910
  </xsl:template><xsl:template match="*[local-name() = 'callout']">
3744
3911
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
3745
3912
  </xsl:template><xsl:template match="*[local-name() = 'annotation']">
@@ -3759,25 +3926,8 @@
3759
3926
  <xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if>
3760
3927
  <xsl:apply-templates/>
3761
3928
  </fo:inline>
3762
- </xsl:template><xsl:template match="*[local-name() = 'modification']">
3763
- <xsl:variable name="title-modified">
3764
-
3765
-
3766
- <xsl:call-template name="getTitle">
3767
- <xsl:with-param name="name" select="'title-modified'"/>
3768
- </xsl:call-template>
3769
-
3770
- </xsl:variable>
3771
-
3772
- <xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
3773
- <xsl:choose>
3774
- <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:if test="normalize-space($text) != ''"><xsl:text>—</xsl:text></xsl:if></xsl:when>
3775
- <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:if test="normalize-space($text) != ''"><xsl:text> — </xsl:text></xsl:if></xsl:otherwise>
3776
- </xsl:choose>
3777
- <xsl:apply-templates/>
3778
3929
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
3779
3930
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
3780
-
3781
3931
  <xsl:apply-templates/>
3782
3932
  </fo:basic-link>
3783
3933
  </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
@@ -3805,62 +3955,77 @@
3805
3955
  <fo:inline>
3806
3956
  <xsl:apply-templates/>
3807
3957
  </fo:inline>
3808
- </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="presentation">
3958
+ </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 -->
3809
3959
  <xsl:if test="normalize-space() != ''">
3810
3960
  <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
3811
3961
  </xsl:if>
3812
3962
  </xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
3813
3963
 
3814
3964
  <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
3965
+
3966
+
3967
+
3815
3968
 
3816
- <xsl:if test="../@type = 'source' or ../@type = 'abbreviation'">
3817
- <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3818
- </xsl:if>
3819
3969
 
3820
3970
 
3821
3971
 
3822
3972
 
3973
+
3974
+
3975
+ <xsl:if test="../@type = 'source' or ../@type = 'abbreviation'">
3976
+ <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3977
+ </xsl:if>
3978
+
3823
3979
 
3824
3980
  <fo:block-container margin-left="0mm">
3981
+
3825
3982
 
3826
3983
 
3827
3984
 
3985
+
3828
3986
 
3829
-
3830
-
3831
-
3832
-
3833
- <fo:block>
3834
-
3835
-
3836
- <xsl:attribute name="font-size">10pt</xsl:attribute>
3837
- <xsl:attribute name="text-indent">0</xsl:attribute>
3838
- <xsl:attribute name="padding-top">1.5mm</xsl:attribute>
3839
- <xsl:if test="../@type = 'source' or ../@type = 'abbreviation'">
3840
- <xsl:attribute name="font-size">9pt</xsl:attribute>
3841
- <xsl:attribute name="text-align">justify</xsl:attribute>
3842
- <xsl:attribute name="padding-top">0mm</xsl:attribute>
3843
- </xsl:if>
3844
-
3845
-
3846
-
3847
-
3987
+ <fo:block>
3988
+
3989
+
3848
3990
 
3849
- <fo:inline xsl:use-attribute-sets="note-name-style">
3850
3991
 
3851
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3852
- </fo:inline>
3853
- <xsl:apply-templates/>
3854
- </fo:block>
3855
-
3856
-
3992
+
3993
+
3994
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
3995
+ <xsl:attribute name="text-indent">0</xsl:attribute>
3996
+ <xsl:attribute name="padding-top">1.5mm</xsl:attribute>
3997
+ <xsl:if test="../@type = 'source' or ../@type = 'abbreviation'">
3998
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
3999
+ <xsl:attribute name="text-align">justify</xsl:attribute>
4000
+ <xsl:attribute name="padding-top">0mm</xsl:attribute>
4001
+ </xsl:if>
4002
+
4003
+
4004
+ <fo:inline xsl:use-attribute-sets="note-name-style">
4005
+
4006
+
4007
+
4008
+ <!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
4009
+ <xsl:if test="count(*[not(local-name() = 'name')]) = 1 and *[not(local-name() = 'name')]/node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
4010
+ <xsl:apply-templates select="*[not(local-name() = 'name')]/node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
4011
+ <xsl:with-param name="skip">false</xsl:with-param>
4012
+ </xsl:apply-templates>
4013
+ </xsl:if>
4014
+
4015
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
4016
+
4017
+ </fo:inline>
4018
+
4019
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4020
+ </fo:block>
4021
+
3857
4022
  </fo:block-container>
3858
4023
  </fo:block-container>
3859
4024
 
3860
4025
  </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
3861
4026
  <xsl:variable name="num"><xsl:number/></xsl:variable>
3862
4027
  <xsl:choose>
3863
- <xsl:when test="$num = 1">
4028
+ <xsl:when test="$num = 1"> <!-- display first NOTE's paragraph in the same line with label NOTE -->
3864
4029
  <fo:inline xsl:use-attribute-sets="note-p-style">
3865
4030
  <xsl:apply-templates/>
3866
4031
  </fo:inline>
@@ -3875,12 +4040,16 @@
3875
4040
  <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
3876
4041
 
3877
4042
  <fo:inline xsl:use-attribute-sets="termnote-name-style">
4043
+
4044
+
4045
+
4046
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3878
4047
 
3879
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3880
4048
  </fo:inline>
3881
- <xsl:apply-templates/>
4049
+
4050
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3882
4051
  </fo:block>
3883
- </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">
4052
+ </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']">
3884
4053
  <xsl:param name="sfx"/>
3885
4054
  <xsl:variable name="suffix">
3886
4055
  <xsl:choose>
@@ -3899,7 +4068,7 @@
3899
4068
  <xsl:apply-templates/>
3900
4069
  <xsl:value-of select="$suffix"/>
3901
4070
  </xsl:if>
3902
- </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']" mode="presentation">
4071
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']">
3903
4072
  <xsl:param name="sfx"/>
3904
4073
  <xsl:variable name="suffix">
3905
4074
  <xsl:choose>
@@ -3926,25 +4095,23 @@
3926
4095
  <xsl:apply-templates/>
3927
4096
  </fo:block>
3928
4097
  </xsl:template><xsl:template match="*[local-name() = 'term']">
3929
- <!-- <xsl:message>'term' <xsl:number/> processing, name=<xsl:value-of select="iso:name"/>, preferred=<xsl:value-of select="iso:preferred"/>...</xsl:message> -->
3930
4098
  <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
3931
4099
 
3932
4100
 
4101
+
4102
+
3933
4103
  <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'term'])">
3934
4104
 
3935
4105
  </xsl:if>
3936
- <xsl:apply-templates/>
4106
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3937
4107
  </fo:block>
3938
- </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
4108
+ </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']">
3939
4109
  <xsl:if test="normalize-space() != ''">
3940
4110
  <xsl:variable name="level">
3941
4111
  <xsl:call-template name="getLevelTermName"/>
3942
4112
  </xsl:variable>
3943
4113
  <fo:inline role="H{$level}">
3944
4114
  <xsl:apply-templates/>
3945
- <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
3946
- <xsl:text>.</xsl:text>
3947
- </xsl:if> -->
3948
4115
  </fo:inline>
3949
4116
  </xsl:if>
3950
4117
  </xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
@@ -3957,9 +4124,10 @@
3957
4124
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
3958
4125
  </xsl:call-template>
3959
4126
 
3960
- <fo:block>
3961
-
3962
- <xsl:apply-templates/>
4127
+
4128
+
4129
+ <fo:block xsl:use-attribute-sets="figure-style">
4130
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3963
4131
  </fo:block>
3964
4132
  <xsl:call-template name="fn_display_figure"/>
3965
4133
  <xsl:for-each select="*[local-name() = 'note']">
@@ -3967,14 +4135,15 @@
3967
4135
  </xsl:for-each>
3968
4136
 
3969
4137
 
3970
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4138
+ <xsl:apply-templates select="*[local-name() = 'name']"/> <!-- show figure's name AFTER image -->
4139
+
3971
4140
 
3972
4141
  </fo:block-container>
3973
4142
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
3974
4143
  <fo:block id="{@id}">
3975
- <xsl:apply-templates/>
4144
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3976
4145
  </fo:block>
3977
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4146
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3978
4147
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
3979
4148
  <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
3980
4149
  <xsl:apply-templates/>
@@ -4086,9 +4255,7 @@
4086
4255
  <xsl:variable name="bis" select="java:java.io.ByteArrayInputStream.new($fileContent)"/>
4087
4256
  <xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($bis)"/>
4088
4257
  <xsl:variable name="width" select="java:getWidth($bufferedImage)"/>
4089
- <!-- width=<xsl:value-of select="$width"/> -->
4090
4258
  <xsl:variable name="height" select="java:getHeight($bufferedImage)"/>
4091
- <!-- height=<xsl:value-of select="$height"/> -->
4092
4259
  <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">
4093
4260
  <image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="{@src}" height="{$height}" width="{$width}" style="overflow:visible;"/>
4094
4261
  <xsl:call-template name="svg_cross">
@@ -4358,7 +4525,7 @@
4358
4525
  </fo:basic-link>
4359
4526
  </fo:block>
4360
4527
  </fo:block-container>
4361
- </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">
4528
+ </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">
4362
4529
  <xsl:apply-templates mode="contents"/>
4363
4530
  <xsl:text> </xsl:text>
4364
4531
  </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">
@@ -4370,11 +4537,58 @@
4370
4537
  <xsl:value-of select="."/>
4371
4538
  </xsl:template><xsl:template match="node()" mode="contents">
4372
4539
  <xsl:apply-templates mode="contents"/>
4540
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="2" mode="contents">
4541
+ <xsl:variable name="level">
4542
+ <xsl:call-template name="getLevel">
4543
+ <xsl:with-param name="depth" select="@depth"/>
4544
+ </xsl:call-template>
4545
+ </xsl:variable>
4546
+
4547
+ <xsl:variable name="section">
4548
+ <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
4549
+ </xsl:variable>
4550
+
4551
+ <xsl:variable name="type">floating-title</xsl:variable>
4552
+
4553
+ <xsl:variable name="display">
4554
+ <xsl:choose>
4555
+ <xsl:when test="normalize-space(@id) = ''">false</xsl:when>
4556
+ <xsl:when test="$level &lt;= $toc_level">true</xsl:when>
4557
+ <xsl:otherwise>false</xsl:otherwise>
4558
+ </xsl:choose>
4559
+ </xsl:variable>
4560
+
4561
+ <xsl:variable name="skip">false</xsl:variable>
4562
+
4563
+ <xsl:if test="$skip = 'false'">
4564
+
4565
+ <xsl:variable name="title">
4566
+ <xsl:choose>
4567
+ <xsl:when test="*[local-name() = 'tab']">
4568
+ <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
4569
+ </xsl:when>
4570
+ <xsl:otherwise>
4571
+ <xsl:copy-of select="node()"/>
4572
+ </xsl:otherwise>
4573
+ </xsl:choose>
4574
+ </xsl:variable>
4575
+
4576
+ <xsl:variable name="root">
4577
+ <xsl:if test="ancestor-or-self::*[local-name() = 'preface']">preface</xsl:if>
4578
+ <xsl:if test="ancestor-or-self::*[local-name() = 'annex']">annex</xsl:if>
4579
+ </xsl:variable>
4580
+
4581
+ <item id="{@id}" level="{$level}" section="{$section}" type="{$type}" root="{$root}" display="{$display}">
4582
+ <title>
4583
+ <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
4584
+ </title>
4585
+ </item>
4586
+ </xsl:if>
4373
4587
  </xsl:template><xsl:template match="node()" mode="bookmarks">
4374
4588
  <xsl:apply-templates mode="bookmarks"/>
4375
4589
  </xsl:template><xsl:template match="*[local-name() = 'title' or local-name() = 'name']//*[local-name() = 'stem']" mode="contents">
4376
4590
  <xsl:apply-templates select="."/>
4377
- </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
4591
+ </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">
4378
4592
  <xsl:apply-templates mode="bookmarks"/>
4379
4593
  </xsl:template><xsl:template name="addBookmarks">
4380
4594
  <xsl:param name="contents"/>
@@ -4464,8 +4678,6 @@
4464
4678
 
4465
4679
 
4466
4680
 
4467
-
4468
-
4469
4681
  </fo:bookmark-tree>
4470
4682
  </xsl:if>
4471
4683
  </xsl:template><xsl:template name="insertFigureBookmarks">
@@ -4536,7 +4748,7 @@
4536
4748
  <xsl:apply-templates mode="bookmark"/>
4537
4749
  </xsl:otherwise>
4538
4750
  </xsl:choose>
4539
- </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">
4751
+ </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']">
4540
4752
  <xsl:if test="normalize-space() != ''">
4541
4753
  <fo:block xsl:use-attribute-sets="figure-name-style">
4542
4754
 
@@ -4545,16 +4757,13 @@
4545
4757
  </fo:block>
4546
4758
  </xsl:if>
4547
4759
  </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">
4548
- <xsl:apply-templates mode="contents_item"/>
4760
+ <xsl:param name="mode">bookmarks</xsl:param>
4761
+ <xsl:apply-templates mode="contents_item">
4762
+ <xsl:with-param name="mode" select="$mode"/>
4763
+ </xsl:apply-templates>
4549
4764
  <!-- <xsl:text> </xsl:text> -->
4550
4765
  </xsl:template><xsl:template name="getSection">
4551
4766
  <xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
4552
- <!--
4553
- <xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
4554
- <xsl:value-of select="."/>
4555
- </xsl:for-each>
4556
- -->
4557
-
4558
4767
  </xsl:template><xsl:template name="getName">
4559
4768
  <xsl:choose>
4560
4769
  <xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
@@ -4618,9 +4827,26 @@
4618
4827
  <xsl:copy-of select="."/>
4619
4828
  </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
4620
4829
  <xsl:text> </xsl:text>
4830
+ </xsl:template><xsl:template match="*[local-name() = 'name']" mode="contents_item">
4831
+ <xsl:param name="mode">bookmarks</xsl:param>
4832
+ <xsl:apply-templates mode="contents_item">
4833
+ <xsl:with-param name="mode" select="$mode"/>
4834
+ </xsl:apply-templates>
4835
+ </xsl:template><xsl:template match="*[local-name() = 'add']" mode="contents_item">
4836
+ <xsl:param name="mode">bookmarks</xsl:param>
4837
+ <xsl:choose>
4838
+ <xsl:when test="starts-with(text(), $ace_tag)">
4839
+ <xsl:if test="$mode = 'contents'">
4840
+ <xsl:copy>
4841
+ <xsl:apply-templates mode="contents_item"/>
4842
+ </xsl:copy>
4843
+ </xsl:if>
4844
+ </xsl:when>
4845
+ <xsl:otherwise><xsl:apply-templates mode="contents_item"/></xsl:otherwise>
4846
+ </xsl:choose>
4621
4847
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
4622
4848
 
4623
- <fo:block-container margin-left="0mm">
4849
+ <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
4624
4850
  <xsl:copy-of select="@id"/>
4625
4851
 
4626
4852
  <xsl:if test="parent::*[local-name() = 'note']">
@@ -4657,6 +4883,7 @@
4657
4883
 
4658
4884
  10
4659
4885
  </xsl:variable>
4886
+
4660
4887
  <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
4661
4888
  <xsl:if test="$font-size != ''">
4662
4889
  <xsl:attribute name="font-size">
@@ -4673,11 +4900,11 @@
4673
4900
 
4674
4901
 
4675
4902
 
4676
- <xsl:apply-templates/>
4903
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4677
4904
  </fo:block>
4678
4905
 
4679
4906
 
4680
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4907
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- show sourcecode's name AFTER content -->
4681
4908
 
4682
4909
 
4683
4910
 
@@ -4691,7 +4918,7 @@
4691
4918
  <xsl:call-template name="add-zero-spaces-java">
4692
4919
  <xsl:with-param name="text" select="$text"/>
4693
4920
  </xsl:call-template>
4694
- </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
4921
+ </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']">
4695
4922
  <xsl:if test="normalize-space() != ''">
4696
4923
  <fo:block xsl:use-attribute-sets="sourcecode-name-style">
4697
4924
  <xsl:apply-templates/>
@@ -4699,10 +4926,10 @@
4699
4926
  </xsl:if>
4700
4927
  </xsl:template><xsl:template match="*[local-name() = 'permission']">
4701
4928
  <fo:block id="{@id}" xsl:use-attribute-sets="permission-style">
4702
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4703
- <xsl:apply-templates/>
4929
+ <xsl:apply-templates select="*[local-name()='name']"/>
4930
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4704
4931
  </fo:block>
4705
- </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']" mode="presentation">
4932
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']">
4706
4933
  <xsl:if test="normalize-space() != ''">
4707
4934
  <fo:block xsl:use-attribute-sets="permission-name-style">
4708
4935
  <xsl:apply-templates/>
@@ -4715,13 +4942,13 @@
4715
4942
  </fo:block>
4716
4943
  </xsl:template><xsl:template match="*[local-name() = 'requirement']">
4717
4944
  <fo:block id="{@id}" xsl:use-attribute-sets="requirement-style">
4718
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4719
- <xsl:apply-templates select="*[local-name()='label']" mode="presentation"/>
4720
- <xsl:apply-templates select="@obligation" mode="presentation"/>
4721
- <xsl:apply-templates select="*[local-name()='subject']" mode="presentation"/>
4722
- <xsl:apply-templates/>
4945
+ <xsl:apply-templates select="*[local-name()='name']"/>
4946
+ <xsl:apply-templates select="*[local-name()='label']"/>
4947
+ <xsl:apply-templates select="@obligation"/>
4948
+ <xsl:apply-templates select="*[local-name()='subject']"/>
4949
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'label') and not(local-name() = 'subject')]"/>
4723
4950
  </fo:block>
4724
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']" mode="presentation">
4951
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']">
4725
4952
  <xsl:if test="normalize-space() != ''">
4726
4953
  <fo:block xsl:use-attribute-sets="requirement-name-style">
4727
4954
 
@@ -4729,20 +4956,24 @@
4729
4956
 
4730
4957
  </fo:block>
4731
4958
  </xsl:if>
4732
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']" mode="presentation">
4959
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']">
4733
4960
  <fo:block xsl:use-attribute-sets="requirement-label-style">
4734
4961
  <xsl:apply-templates/>
4735
4962
  </fo:block>
4736
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation" mode="presentation">
4963
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation">
4737
4964
  <fo:block>
4738
4965
  <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
4739
4966
  </fo:block>
4967
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2">
4968
+ <fo:block xsl:use-attribute-sets="subject-style">
4969
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4970
+ </fo:block>
4740
4971
  </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
4741
4972
  <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
4742
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4743
- <xsl:apply-templates/>
4973
+ <xsl:apply-templates select="*[local-name()='name']"/>
4974
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4744
4975
  </fo:block>
4745
- </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']" mode="presentation">
4976
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']">
4746
4977
  <xsl:if test="normalize-space() != ''">
4747
4978
  <fo:block xsl:use-attribute-sets="recommendation-name-style">
4748
4979
  <xsl:apply-templates/>
@@ -4753,10 +4984,6 @@
4753
4984
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
4754
4985
  <xsl:apply-templates/>
4755
4986
  </fo:block>
4756
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
4757
- <fo:block xsl:use-attribute-sets="subject-style">
4758
- <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4759
- </fo:block>
4760
4987
  </xsl:template><xsl:template match="*[local-name() = 'subject']">
4761
4988
  <fo:block xsl:use-attribute-sets="subject-style">
4762
4989
  <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
@@ -4800,8 +5027,6 @@
4800
5027
  </xsl:variable>
4801
5028
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
4802
5029
  <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
4803
- <!-- <fo:table-column column-width="35mm"/>
4804
- <fo:table-column column-width="115mm"/> -->
4805
5030
  <fo:table-column column-width="30%"/>
4806
5031
  <fo:table-column column-width="70%"/>
4807
5032
  </xsl:if>
@@ -4811,7 +5036,7 @@
4811
5036
  <xsl:if test=".//*[local-name() = 'fn']">
4812
5037
  <xsl:for-each select="*[local-name() = 'tbody']">
4813
5038
  <fo:block font-size="90%" border-bottom="1pt solid black">
4814
- <xsl:call-template name="fn_display"/>
5039
+ <xsl:call-template name="table_fn_display"/>
4815
5040
  </fo:block>
4816
5041
  </xsl:for-each>
4817
5042
  </xsl:if>
@@ -4828,7 +5053,6 @@
4828
5053
  </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
4829
5054
  <fo:table-row height="7mm" border-bottom="0.5pt solid grey">
4830
5055
  <xsl:if test="parent::*[local-name()='thead']"> <!-- and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']) -->
4831
- <!-- <xsl:attribute name="border">1pt solid black</xsl:attribute> -->
4832
5056
  <xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute>
4833
5057
  </xsl:if>
4834
5058
  <xsl:if test="starts-with(*[local-name()='td'][1], 'Requirement ')">
@@ -4841,34 +5065,11 @@
4841
5065
  </fo:table-row>
4842
5066
  </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
4843
5067
  <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
4844
- <xsl:attribute name="text-align">
4845
- <xsl:choose>
4846
- <xsl:when test="@align">
4847
- <xsl:value-of select="@align"/>
4848
- </xsl:when>
4849
- <xsl:otherwise>left</xsl:otherwise>
4850
- </xsl:choose>
4851
- </xsl:attribute>
4852
- <xsl:if test="@colspan">
4853
- <xsl:attribute name="number-columns-spanned">
4854
- <xsl:value-of select="@colspan"/>
4855
- </xsl:attribute>
4856
- </xsl:if>
4857
- <xsl:if test="@rowspan">
4858
- <xsl:attribute name="number-rows-spanned">
4859
- <xsl:value-of select="@rowspan"/>
4860
- </xsl:attribute>
4861
- </xsl:if>
4862
- <xsl:call-template name="display-align"/>
5068
+ <xsl:call-template name="setTextAlignment">
5069
+ <xsl:with-param name="default">left</xsl:with-param>
5070
+ </xsl:call-template>
4863
5071
 
4864
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
4865
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
4866
- <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
4867
- </xsl:if>
4868
- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
4869
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
4870
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
4871
- </xsl:if> -->
5072
+ <xsl:call-template name="setTableCellAttributes"/>
4872
5073
 
4873
5074
  <fo:block>
4874
5075
  <xsl:apply-templates/>
@@ -4880,37 +5081,15 @@
4880
5081
  <xsl:attribute name="padding">0mm</xsl:attribute>
4881
5082
  <xsl:attribute name="padding-left">0mm</xsl:attribute>
4882
5083
  </xsl:if>
4883
- <xsl:attribute name="text-align">
4884
- <xsl:choose>
4885
- <xsl:when test="@align">
4886
- <xsl:value-of select="@align"/>
4887
- </xsl:when>
4888
- <xsl:otherwise>left</xsl:otherwise>
4889
- </xsl:choose>
4890
- </xsl:attribute>
5084
+ <xsl:call-template name="setTextAlignment">
5085
+ <xsl:with-param name="default">left</xsl:with-param>
5086
+ </xsl:call-template>
5087
+
4891
5088
  <xsl:if test="following-sibling::*[local-name()='td'] and not(preceding-sibling::*[local-name()='td'])">
4892
5089
  <xsl:attribute name="font-weight">bold</xsl:attribute>
4893
5090
  </xsl:if>
4894
- <xsl:if test="@colspan">
4895
- <xsl:attribute name="number-columns-spanned">
4896
- <xsl:value-of select="@colspan"/>
4897
- </xsl:attribute>
4898
- </xsl:if>
4899
- <xsl:if test="@rowspan">
4900
- <xsl:attribute name="number-rows-spanned">
4901
- <xsl:value-of select="@rowspan"/>
4902
- </xsl:attribute>
4903
- </xsl:if>
4904
- <xsl:call-template name="display-align"/>
4905
5091
 
4906
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
4907
- <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
4908
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
4909
- <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])">
4910
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
4911
- </xsl:if>
4912
- </xsl:if> -->
4913
- <!-- 2nd line and below -->
5092
+ <xsl:call-template name="setTableCellAttributes"/>
4914
5093
 
4915
5094
  <fo:block>
4916
5095
  <xsl:apply-templates/>
@@ -4922,15 +5101,15 @@
4922
5101
  <xsl:apply-templates/>
4923
5102
  </fo:block>
4924
5103
  </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
4925
- <fo:block> <!-- margin-bottom="10pt" -->
5104
+ <fo:block>
4926
5105
  <xsl:apply-templates/>
4927
5106
  </fo:block>
4928
5107
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
4929
5108
  <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
4930
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4931
- <xsl:apply-templates/>
5109
+ <xsl:apply-templates select="*[local-name()='name']"/>
5110
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4932
5111
  </fo:block>
4933
- </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']" mode="presentation">
5112
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']">
4934
5113
  <xsl:if test="normalize-space() != ''">
4935
5114
  <fo:inline xsl:use-attribute-sets="termexample-name-style">
4936
5115
  <xsl:apply-templates/>
@@ -4954,42 +5133,46 @@
4954
5133
  <fo:block id="{@id}" xsl:use-attribute-sets="example-style">
4955
5134
 
4956
5135
 
4957
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4958
-
4959
- <xsl:variable name="element">
4960
- block
4961
-
4962
- <xsl:if test=".//*[local-name() = 'table']">block</xsl:if>
5136
+ <xsl:variable name="fo_element">
5137
+ <xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl']">block</xsl:if>
5138
+ block
4963
5139
  </xsl:variable>
4964
5140
 
5141
+ <!-- display 'EXAMPLE' -->
5142
+ <xsl:apply-templates select="*[local-name()='name']">
5143
+ <xsl:with-param name="fo_element" select="$fo_element"/>
5144
+ </xsl:apply-templates>
5145
+
4965
5146
  <xsl:choose>
4966
- <xsl:when test="contains(normalize-space($element), 'block')">
4967
- <fo:block xsl:use-attribute-sets="example-body-style">
4968
- <xsl:apply-templates/>
4969
- </fo:block>
5147
+ <xsl:when test="contains(normalize-space($fo_element), 'block')">
5148
+ <fo:block-container xsl:use-attribute-sets="example-body-style">
5149
+ <fo:block-container margin-left="0mm" margin-right="0mm">
5150
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
5151
+ <xsl:with-param name="fo_element" select="$fo_element"/>
5152
+ </xsl:apply-templates>
5153
+ </fo:block-container>
5154
+ </fo:block-container>
4970
5155
  </xsl:when>
4971
5156
  <xsl:otherwise>
4972
5157
  <fo:inline>
4973
- <xsl:apply-templates/>
5158
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
5159
+ <xsl:with-param name="fo_element" select="$fo_element"/>
5160
+ </xsl:apply-templates>
4974
5161
  </fo:inline>
4975
5162
  </xsl:otherwise>
4976
5163
  </xsl:choose>
4977
5164
 
4978
5165
  </fo:block>
4979
- </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']" mode="presentation">
4980
-
4981
- <xsl:variable name="element">
4982
- block
4983
-
4984
- <xsl:if test="following-sibling::*[1][local-name() = 'table']">block</xsl:if>
4985
- </xsl:variable>
5166
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']">
5167
+ <xsl:param name="fo_element">block</xsl:param>
5168
+
4986
5169
  <xsl:choose>
4987
5170
  <xsl:when test="ancestor::*[local-name() = 'appendix']">
4988
5171
  <fo:inline>
4989
5172
  <xsl:apply-templates/>
4990
5173
  </fo:inline>
4991
5174
  </xsl:when>
4992
- <xsl:when test="contains(normalize-space($element), 'block')">
5175
+ <xsl:when test="contains(normalize-space($fo_element), 'block')">
4993
5176
  <fo:block xsl:use-attribute-sets="example-name-style">
4994
5177
  <xsl:apply-templates/>
4995
5178
  </fo:block>
@@ -5002,17 +5185,17 @@
5002
5185
  </xsl:choose>
5003
5186
 
5004
5187
  </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
5188
+ <xsl:param name="fo_element">block</xsl:param>
5189
+
5005
5190
  <xsl:variable name="num"><xsl:number/></xsl:variable>
5006
5191
  <xsl:variable name="element">
5007
- block
5008
-
5009
5192
 
5193
+ <xsl:value-of select="$fo_element"/>
5010
5194
  </xsl:variable>
5011
5195
  <xsl:choose>
5012
- <xsl:when test="normalize-space($element) = 'block'">
5196
+ <xsl:when test="starts-with(normalize-space($element), 'block')">
5013
5197
  <fo:block xsl:use-attribute-sets="example-p-style">
5014
5198
 
5015
- <xsl:variable name="num"><xsl:number/></xsl:variable>
5016
5199
  <xsl:if test="$num = 1">
5017
5200
  <xsl:attribute name="margin-left">5mm</xsl:attribute>
5018
5201
  </xsl:if>
@@ -5029,49 +5212,70 @@
5029
5212
  </xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
5030
5213
  <fo:block xsl:use-attribute-sets="termsource-style">
5031
5214
 
5215
+
5216
+
5032
5217
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
5033
5218
  <xsl:variable name="termsource_text">
5034
5219
  <xsl:apply-templates/>
5035
5220
  </xsl:variable>
5036
-
5037
- <xsl:choose>
5221
+ <xsl:copy-of select="$termsource_text"/>
5222
+ <!-- <xsl:choose>
5038
5223
  <xsl:when test="starts-with(normalize-space($termsource_text), '[')">
5039
- <!-- <xsl:apply-templates /> -->
5040
5224
  <xsl:copy-of select="$termsource_text"/>
5041
5225
  </xsl:when>
5042
5226
  <xsl:otherwise>
5043
-
5044
-
5227
+ <xsl:if test="$namespace = 'bsi'">
5228
+ <xsl:choose>
5229
+ <xsl:when test="$document_type = 'PAS' and starts-with(*[local-name() = 'origin']/@citeas, '[')"><xsl:text>{</xsl:text></xsl:when>
5230
+ <xsl:otherwise><xsl:text>[</xsl:text></xsl:otherwise>
5231
+ </xsl:choose>
5232
+ </xsl:if>
5233
+ <xsl:if test="$namespace = 'gb' or $namespace = 'iso' or $namespace = 'iec' or $namespace = 'itu' or $namespace = 'unece' or $namespace = 'unece-rec' or $namespace = 'nist-cswp' or $namespace = 'nist-sp' or $namespace = 'ogc-white-paper' or $namespace = 'csa' or $namespace = 'csd' or $namespace = 'm3d' or $namespace = 'iho' or $namespace = 'bipm' or $namespace = 'jcgm'">
5045
5234
  <xsl:text>[</xsl:text>
5046
-
5047
- <!-- <xsl:apply-templates /> -->
5235
+ </xsl:if>
5048
5236
  <xsl:copy-of select="$termsource_text"/>
5049
-
5050
-
5237
+ <xsl:if test="$namespace = 'bsi'">
5238
+ <xsl:choose>
5239
+ <xsl:when test="$document_type = 'PAS' and starts-with(*[local-name() = 'origin']/@citeas, '[')"><xsl:text>}</xsl:text></xsl:when>
5240
+ <xsl:otherwise><xsl:text>]</xsl:text></xsl:otherwise>
5241
+ </xsl:choose>
5242
+ </xsl:if>
5243
+ <xsl:if test="$namespace = 'gb' or $namespace = 'iso' or $namespace = 'iec' or $namespace = 'itu' or $namespace = 'unece' or $namespace = 'unece-rec' or $namespace = 'nist-cswp' or $namespace = 'nist-sp' or $namespace = 'ogc-white-paper' or $namespace = 'csa' or $namespace = 'csd' or $namespace = 'm3d' or $namespace = 'iho' or $namespace = 'bipm' or $namespace = 'jcgm'">
5051
5244
  <xsl:text>]</xsl:text>
5052
-
5245
+ </xsl:if>
5053
5246
  </xsl:otherwise>
5054
- </xsl:choose>
5247
+ </xsl:choose> -->
5055
5248
  </fo:block>
5056
5249
  </xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
5057
5250
  <xsl:if test="normalize-space() != ''">
5058
5251
  <xsl:value-of select="."/>
5059
5252
  </xsl:if>
5060
- </xsl:template><xsl:variable name="localized.source">
5061
- <xsl:call-template name="getLocalizedString">
5062
- <xsl:with-param name="key">source</xsl:with-param>
5063
- </xsl:call-template>
5064
- </xsl:variable><xsl:template match="*[local-name() = 'origin']">
5253
+ </xsl:template><xsl:template match="*[local-name() = 'termsource']/*[local-name() = 'strong'][1][following-sibling::*[1][local-name() = 'origin']]/text()">
5254
+ <fo:inline xsl:use-attribute-sets="termsource-text-style">
5255
+ <xsl:value-of select="."/>
5256
+ </fo:inline>
5257
+ </xsl:template><xsl:template match="*[local-name() = 'origin']">
5065
5258
  <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
5066
5259
  <xsl:if test="normalize-space(@citeas) = ''">
5067
5260
  <xsl:attribute name="fox:alt-text"><xsl:value-of select="@bibitemid"/></xsl:attribute>
5068
5261
  </xsl:if>
5069
-
5070
5262
  <fo:inline xsl:use-attribute-sets="origin-style">
5071
5263
  <xsl:apply-templates/>
5072
5264
  </fo:inline>
5073
-
5074
- </fo:basic-link>
5265
+ </fo:basic-link>
5266
+ </xsl:template><xsl:template match="*[local-name() = 'modification']">
5267
+ <xsl:variable name="title-modified">
5268
+ <xsl:call-template name="getLocalizedString">
5269
+ <xsl:with-param name="key">modified</xsl:with-param>
5270
+ </xsl:call-template>
5271
+ </xsl:variable>
5272
+
5273
+ <xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
5274
+ <xsl:choose>
5275
+ <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:if test="normalize-space($text) != ''"><xsl:text>—</xsl:text></xsl:if></xsl:when>
5276
+ <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:if test="normalize-space($text) != ''"><xsl:text> — </xsl:text></xsl:if></xsl:otherwise>
5277
+ </xsl:choose>
5278
+ <xsl:apply-templates/>
5075
5279
  </xsl:template><xsl:template match="*[local-name() = 'modification']/*[local-name() = 'p']">
5076
5280
  <fo:inline><xsl:apply-templates/></fo:inline>
5077
5281
  </xsl:template><xsl:template match="*[local-name() = 'modification']/text()">
@@ -5090,7 +5294,6 @@
5090
5294
  <fo:block-container margin-left="0mm">
5091
5295
 
5092
5296
  <fo:block xsl:use-attribute-sets="quote-style">
5093
- <!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
5094
5297
 
5095
5298
  <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
5096
5299
  </fo:block>
@@ -5133,15 +5336,13 @@
5133
5336
  </xsl:variable>
5134
5337
 
5135
5338
  <xsl:choose>
5136
- <xsl:when test="normalize-space($bibitemid) != ''">
5339
+ <xsl:when test="normalize-space($bibitemid) != ''"> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link -->
5137
5340
  <fo:inline xsl:use-attribute-sets="eref-style">
5138
5341
  <xsl:if test="@type = 'footnote'">
5139
-
5140
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5141
- <xsl:attribute name="font-size">80%</xsl:attribute>
5142
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
5143
- <xsl:attribute name="vertical-align">super</xsl:attribute>
5144
-
5342
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5343
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
5344
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
5345
+ <xsl:attribute name="font-size">80%</xsl:attribute>
5145
5346
 
5146
5347
  </xsl:if>
5147
5348
 
@@ -5158,7 +5359,6 @@
5158
5359
 
5159
5360
 
5160
5361
 
5161
-
5162
5362
  </xsl:if>
5163
5363
 
5164
5364
 
@@ -5216,8 +5416,6 @@
5216
5416
  </xsl:choose>
5217
5417
  </xsl:variable>
5218
5418
 
5219
- <!-- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/> -->
5220
-
5221
5419
  <xsl:choose>
5222
5420
  <xsl:when test="$lang = 'zh'">
5223
5421
  <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
@@ -5252,12 +5450,9 @@
5252
5450
  </fo:block>
5253
5451
  </xsl:template><xsl:template match="*[local-name() = 'deprecates']">
5254
5452
  <xsl:variable name="title-deprecated">
5255
-
5256
-
5257
- <xsl:call-template name="getTitle">
5258
- <xsl:with-param name="name" select="'title-deprecated'"/>
5259
- </xsl:call-template>
5260
-
5453
+ <xsl:call-template name="getLocalizedString">
5454
+ <xsl:with-param name="key">deprecated</xsl:with-param>
5455
+ </xsl:call-template>
5261
5456
  </xsl:variable>
5262
5457
  <fo:block xsl:use-attribute-sets="deprecates-style">
5263
5458
  <xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/>
@@ -5266,6 +5461,8 @@
5266
5461
  <xsl:if test="*[local-name() = 'strong']">
5267
5462
  <xsl:attribute name="font-weight">normal</xsl:attribute>
5268
5463
  </xsl:if>
5464
+ </xsl:template><xsl:template match="*[local-name() = 'preferred']/text()[contains(., ';')] | *[local-name() = 'preferred']/*[local-name() = 'strong']/text()[contains(., ';')]">
5465
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.), ';', $linebreak)"/>
5269
5466
  </xsl:template><xsl:template match="*[local-name() = 'definition']">
5270
5467
  <fo:block xsl:use-attribute-sets="definition-style">
5271
5468
  <xsl:apply-templates/>
@@ -5274,7 +5471,6 @@
5274
5471
  <xsl:apply-templates/>
5275
5472
  </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]/*[local-name() = 'p'][1]">
5276
5473
  <fo:inline> <xsl:apply-templates/></fo:inline>
5277
- <!-- <fo:block>&#xA0;</fo:block> -->
5278
5474
  <fo:block/>
5279
5475
  </xsl:template><xsl:template match="/*/*[local-name() = 'sections']/*" priority="2">
5280
5476
 
@@ -5317,11 +5513,6 @@
5317
5513
  <xsl:apply-templates/>
5318
5514
  </fo:block>
5319
5515
  </xsl:template><xsl:template match="*[local-name() = 'definitions']">
5320
- <fo:block id="{@id}">
5321
- <xsl:apply-templates/>
5322
- </fo:block>
5323
- </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']">
5324
-
5325
5516
  <fo:block id="{@id}">
5326
5517
  <xsl:apply-templates/>
5327
5518
  </fo:block>
@@ -5343,6 +5534,51 @@
5343
5534
  </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
5344
5535
  <!-- 0xA0 to space replacement -->
5345
5536
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
5537
+ </xsl:template><xsl:variable name="ul_labels_">
5538
+
5539
+
5540
+
5541
+
5542
+
5543
+
5544
+
5545
+
5546
+
5547
+
5548
+
5549
+
5550
+
5551
+
5552
+
5553
+
5554
+
5555
+ <label>•</label>
5556
+
5557
+ </xsl:variable><xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/><xsl:template name="setULLabel">
5558
+ <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
5559
+ <xsl:variable name="list_level">
5560
+ <xsl:choose>
5561
+ <xsl:when test="$list_level_ &lt;= 3"><xsl:value-of select="$list_level_"/></xsl:when>
5562
+ <xsl:otherwise><xsl:value-of select="$list_level_ mod 3"/></xsl:otherwise>
5563
+ </xsl:choose>
5564
+ </xsl:variable>
5565
+ <xsl:choose>
5566
+ <xsl:when test="$ul_labels/label[not(@level)]"> <!-- one label for all levels -->
5567
+ <xsl:apply-templates select="$ul_labels/label[not(@level)]" mode="ul_labels"/>
5568
+ </xsl:when>
5569
+ <xsl:when test="$list_level mod 3 = 0">
5570
+ <xsl:apply-templates select="$ul_labels/label[@level = 3]" mode="ul_labels"/>
5571
+ </xsl:when>
5572
+ <xsl:when test="$list_level mod 2 = 0">
5573
+ <xsl:apply-templates select="$ul_labels/label[@level = 2]" mode="ul_labels"/>
5574
+ </xsl:when>
5575
+ <xsl:otherwise>
5576
+ <xsl:apply-templates select="$ul_labels/label[@level = 1]" mode="ul_labels"/>
5577
+ </xsl:otherwise>
5578
+ </xsl:choose>
5579
+ </xsl:template><xsl:template match="label" mode="ul_labels">
5580
+ <xsl:copy-of select="@*[not(local-name() = 'level')]"/>
5581
+ <xsl:value-of select="."/>
5346
5582
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
5347
5583
  <xsl:choose>
5348
5584
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
@@ -5549,20 +5785,70 @@
5549
5785
  <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
5550
5786
  <fo:block><xsl:apply-templates/></fo:block>
5551
5787
  </fo:table-cell>
5552
- </xsl:template><xsl:template name="processBibitem">
5788
+ </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">
5789
+
5790
+
5791
+
5792
+ <fo:block id="{@id}">
5793
+ <xsl:apply-templates/>
5794
+ </fo:block>
5795
+ </xsl:template><xsl:template match="*[local-name() = 'references']">
5796
+ <xsl:if test="not(ancestor::*[local-name() = 'annex'])">
5797
+
5798
+ </xsl:if>
5799
+
5800
+ <!-- <xsl:if test="ancestor::*[local-name() = 'annex']">
5801
+ <xsl:if test="$namespace = 'csa' or $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'itu'">
5802
+ <fo:block break-after="page"/>
5803
+ </xsl:if>
5804
+ </xsl:if> -->
5805
+
5806
+ <fo:block id="{@id}" xsl:use-attribute-sets="references-non-normative-style">
5807
+ <xsl:apply-templates/>
5808
+ </fo:block>
5809
+
5553
5810
 
5554
5811
 
5555
5812
 
5556
-
5813
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']">
5814
+ <xsl:call-template name="bibitem"/>
5815
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@normative='true']/*[local-name() = 'bibitem']" name="bibitem" priority="2">
5557
5816
 
5817
+ <fo:block id="{@id}" xsl:use-attribute-sets="bibitem-normative-style">
5818
+ <xsl:call-template name="processBibitem"/>
5819
+ </fo:block>
5820
+
5821
+
5822
+ </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
5558
5823
 
5559
-
5560
5824
 
5825
+ <fo:block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-style">
5826
+ <xsl:call-template name="processBibitem"/>
5827
+ </fo:block>
5828
+
5561
5829
 
5830
+ </xsl:template><xsl:template name="processBibitem">
5562
5831
 
5563
5832
 
5833
+ <fo:inline padding-right="5mm">[<xsl:value-of select="un:docidentifier"/>]</fo:inline><xsl:value-of select="un:docidentifier"/>
5834
+ <xsl:if test="un:title">
5835
+ <fo:inline font-style="italic">
5836
+ <xsl:text>, </xsl:text>
5837
+ <xsl:choose>
5838
+ <xsl:when test="un:title[@type = 'main' and @language = 'en']">
5839
+ <xsl:apply-templates select="un:title[@type = 'main' and @language = 'en']"/>
5840
+ </xsl:when>
5841
+ <xsl:otherwise>
5842
+ <xsl:apply-templates select="un:title"/>
5843
+ </xsl:otherwise>
5844
+ </xsl:choose>
5845
+ </fo:inline>
5846
+ </xsl:if>
5847
+ <xsl:apply-templates select="un:formattedref"/>
5848
+
5849
+
5564
5850
  </xsl:template><xsl:template name="processBibitemDocId">
5565
- <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')]"/>
5851
+ <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')]"/>
5566
5852
  <xsl:choose>
5567
5853
  <xsl:when test="normalize-space($_doc_ident) != ''">
5568
5854
  <!-- <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"/>
@@ -5576,7 +5862,7 @@
5576
5862
  <xsl:if test="$type != ''">
5577
5863
  <xsl:value-of select="$type"/><xsl:text> </xsl:text>
5578
5864
  </xsl:if> -->
5579
- <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
5865
+ <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma') and not(@type = 'metanorma-ordinal')]"/>
5580
5866
  </xsl:otherwise>
5581
5867
  </xsl:choose>
5582
5868
  </xsl:template><xsl:template name="processPersonalAuthor">
@@ -5617,6 +5903,50 @@
5617
5903
  <xsl:value-of select="substring(.,1,1)"/>
5618
5904
  </xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
5619
5905
  <fo:inline><xsl:apply-templates/></fo:inline>
5906
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'title']" priority="2">
5907
+ <!-- <fo:inline><xsl:apply-templates /></fo:inline> -->
5908
+ <fo:inline font-style="italic"> <!-- BIPM BSI CSD CSA GB IEC IHO ISO ITU JCGM -->
5909
+ <xsl:apply-templates/>
5910
+ </fo:inline>
5911
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
5912
+ <fo:footnote>
5913
+ <xsl:variable name="number">
5914
+
5915
+ <xsl:number level="any" count="*[local-name() = 'bibitem']/*[local-name() = 'note']"/>
5916
+
5917
+ </xsl:variable>
5918
+ <fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
5919
+ <fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
5920
+ <xsl:value-of select="$number"/>
5921
+
5922
+ </fo:basic-link>
5923
+ </fo:inline>
5924
+ <fo:footnote-body>
5925
+ <fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
5926
+ <fo:inline id="{generate-id()}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
5927
+ <xsl:value-of select="$number"/>
5928
+
5929
+ </fo:inline>
5930
+ <xsl:apply-templates/>
5931
+ </fo:block>
5932
+ </fo:footnote-body>
5933
+ </fo:footnote>
5934
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'edition']"> <!-- for iho -->
5935
+ <xsl:text> edition </xsl:text>
5936
+ <xsl:value-of select="."/>
5937
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'uri']"> <!-- for iho -->
5938
+ <xsl:text> (</xsl:text>
5939
+ <fo:inline xsl:use-attribute-sets="link-style">
5940
+ <fo:basic-link external-destination="." fox:alt-text=".">
5941
+ <xsl:value-of select="."/>
5942
+ </fo:basic-link>
5943
+ </fo:inline>
5944
+ <xsl:text>)</xsl:text>
5945
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'docidentifier']"/><xsl:template match="*[local-name() = 'formattedref']">
5946
+
5947
+ <xsl:text>, </xsl:text>
5948
+
5949
+ <xsl:apply-templates/>
5620
5950
  </xsl:template><xsl:template match="*[local-name() = 'form']">
5621
5951
  <fo:block>
5622
5952
  <xsl:apply-templates/>
@@ -5681,7 +6011,18 @@
5681
6011
  <fo:block-container border="1pt solid black" width="50%">
5682
6012
  <fo:block> </fo:block>
5683
6013
  </fo:block-container>
5684
- </xsl:template><xsl:template match="*[local-name() = 'toc']">
6014
+ </xsl:template><xsl:variable name="toc_level">
6015
+ <!-- https://www.metanorma.org/author/ref/document-attributes/ -->
6016
+ <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:-->
6017
+ <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 -->
6018
+ <xsl:choose>
6019
+ <xsl:when test="$htmltoclevels != ''"><xsl:value-of select="number($htmltoclevels)"/></xsl:when> <!-- if there is value in xml -->
6020
+ <xsl:when test="$toclevels != ''"><xsl:value-of select="number($toclevels)"/></xsl:when> <!-- if there is value in xml -->
6021
+ <xsl:otherwise><!-- default value -->
6022
+ 3
6023
+ </xsl:otherwise>
6024
+ </xsl:choose>
6025
+ </xsl:variable><xsl:template match="*[local-name() = 'toc']">
5685
6026
  <xsl:param name="colwidths"/>
5686
6027
  <xsl:variable name="colwidths_">
5687
6028
  <xsl:choose>
@@ -5761,7 +6102,7 @@
5761
6102
  </td>
5762
6103
  </xsl:for-each>
5763
6104
  <td>333</td> <!-- page number, just for fill -->
5764
- </xsl:template><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
6105
+ </xsl:template><xsl:template match="*[local-name() = 'variant-title']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
5765
6106
  <fo:inline padding-right="5mm"> </fo:inline>
5766
6107
  <fo:inline><xsl:apply-templates/></fo:inline>
5767
6108
  </xsl:template><xsl:template match="*[local-name() = 'blacksquare']" name="blacksquare">
@@ -5772,6 +6113,71 @@
5772
6113
  </svg>
5773
6114
  </fo:instream-foreign-object>
5774
6115
  </fo:inline>
6116
+ </xsl:template><xsl:template match="@language">
6117
+ <xsl:copy-of select="."/>
6118
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="4">
6119
+ <xsl:call-template name="title"/>
6120
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']">
6121
+
6122
+
6123
+ <fo:block break-after="page"/>
6124
+
6125
+
6126
+
6127
+
6128
+ <!-- text in the box -->
6129
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="admonition-style">
6130
+
6131
+
6132
+ <fo:block xsl:use-attribute-sets="admonition-name-style">
6133
+ <xsl:call-template name="displayAdmonitionName"/>
6134
+ </fo:block>
6135
+
6136
+
6137
+
6138
+
6139
+ <fo:block-container xsl:use-attribute-sets="admonition-container-style">
6140
+
6141
+
6142
+ <fo:block-container margin-left="0mm" margin-right="0mm">
6143
+ <fo:block>
6144
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
6145
+ </fo:block>
6146
+ </fo:block-container>
6147
+
6148
+ </fo:block-container>
6149
+
6150
+ </fo:block-container>
6151
+
6152
+ </xsl:template><xsl:template name="displayAdmonitionName">
6153
+
6154
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
6155
+ <xsl:if test="not(*[local-name() = 'name'])">
6156
+ <xsl:apply-templates select="@type"/>
6157
+ </xsl:if>
6158
+
6159
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
6160
+ <xsl:apply-templates/>
6161
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/@type">
6162
+ <xsl:variable name="admonition_type_">
6163
+ <xsl:call-template name="getLocalizedString">
6164
+ <xsl:with-param name="key">admonition.<xsl:value-of select="."/></xsl:with-param>
6165
+ </xsl:call-template>
6166
+ </xsl:variable>
6167
+ <xsl:variable name="admonition_type" select="normalize-space(java:toUpperCase(java:java.lang.String.new($admonition_type_)))"/>
6168
+ <xsl:value-of select="$admonition_type"/>
6169
+ <xsl:if test="$admonition_type = ''">
6170
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
6171
+ </xsl:if>
6172
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'p']">
6173
+
6174
+ <fo:block xsl:use-attribute-sets="admonition-p-style">
6175
+
6176
+
6177
+
6178
+ <xsl:apply-templates/>
6179
+ </fo:block>
6180
+
5775
6181
  </xsl:template><xsl:template name="convertDate">
5776
6182
  <xsl:param name="date"/>
5777
6183
  <xsl:param name="format" select="'short'"/>
@@ -5780,78 +6186,39 @@
5780
6186
  <xsl:variable name="day" select="substring($date, 9, 2)"/>
5781
6187
  <xsl:variable name="monthStr">
5782
6188
  <xsl:choose>
5783
- <xsl:when test="$month = '01'">January</xsl:when>
5784
- <xsl:when test="$month = '02'">February</xsl:when>
5785
- <xsl:when test="$month = '03'">March</xsl:when>
5786
- <xsl:when test="$month = '04'">April</xsl:when>
5787
- <xsl:when test="$month = '05'">May</xsl:when>
5788
- <xsl:when test="$month = '06'">June</xsl:when>
5789
- <xsl:when test="$month = '07'">July</xsl:when>
5790
- <xsl:when test="$month = '08'">August</xsl:when>
5791
- <xsl:when test="$month = '09'">September</xsl:when>
5792
- <xsl:when test="$month = '10'">October</xsl:when>
5793
- <xsl:when test="$month = '11'">November</xsl:when>
5794
- <xsl:when test="$month = '12'">December</xsl:when>
5795
- </xsl:choose>
5796
- </xsl:variable>
5797
- <xsl:variable name="result">
5798
- <xsl:choose>
5799
- <xsl:when test="$format = 'ddMMyyyy'">
5800
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
5801
- <xsl:text> </xsl:text>
5802
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
5803
- </xsl:when>
5804
- <xsl:when test="$format = 'ddMM'">
5805
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
5806
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
5807
- </xsl:when>
5808
- <xsl:when test="$format = 'short' or $day = ''">
5809
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
5810
- </xsl:when>
5811
- <xsl:otherwise>
5812
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
5813
- </xsl:otherwise>
6189
+ <xsl:when test="$month = '01'">january</xsl:when>
6190
+ <xsl:when test="$month = '02'">february</xsl:when>
6191
+ <xsl:when test="$month = '03'">march</xsl:when>
6192
+ <xsl:when test="$month = '04'">april</xsl:when>
6193
+ <xsl:when test="$month = '05'">may</xsl:when>
6194
+ <xsl:when test="$month = '06'">june</xsl:when>
6195
+ <xsl:when test="$month = '07'">july</xsl:when>
6196
+ <xsl:when test="$month = '08'">august</xsl:when>
6197
+ <xsl:when test="$month = '09'">september</xsl:when>
6198
+ <xsl:when test="$month = '10'">october</xsl:when>
6199
+ <xsl:when test="$month = '11'">november</xsl:when>
6200
+ <xsl:when test="$month = '12'">december</xsl:when>
5814
6201
  </xsl:choose>
5815
6202
  </xsl:variable>
5816
- <xsl:value-of select="$result"/>
5817
- </xsl:template><xsl:template name="convertDateLocalized">
5818
- <xsl:param name="date"/>
5819
- <xsl:param name="format" select="'short'"/>
5820
- <xsl:variable name="year" select="substring($date, 1, 4)"/>
5821
- <xsl:variable name="month" select="substring($date, 6, 2)"/>
5822
- <xsl:variable name="day" select="substring($date, 9, 2)"/>
5823
- <xsl:variable name="monthStr">
5824
- <xsl:choose>
5825
- <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>
5826
- <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>
5827
- <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>
5828
- <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>
5829
- <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>
5830
- <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>
5831
- <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>
5832
- <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>
5833
- <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>
5834
- <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>
5835
- <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>
5836
- <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>
5837
- </xsl:choose>
6203
+ <xsl:variable name="monthStr_localized">
6204
+ <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>
5838
6205
  </xsl:variable>
5839
6206
  <xsl:variable name="result">
5840
6207
  <xsl:choose>
5841
6208
  <xsl:when test="$format = 'ddMMyyyy'">
5842
6209
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
5843
6210
  <xsl:text> </xsl:text>
5844
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
6211
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ' , $year))"/>
5845
6212
  </xsl:when>
5846
6213
  <xsl:when test="$format = 'ddMM'">
5847
6214
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
5848
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
6215
+ <xsl:text> </xsl:text><xsl:value-of select="$monthStr_localized"/>
5849
6216
  </xsl:when>
5850
6217
  <xsl:when test="$format = 'short' or $day = ''">
5851
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
6218
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $year))"/>
5852
6219
  </xsl:when>
5853
6220
  <xsl:otherwise>
5854
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
6221
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $day, ', ' , $year))"/>
5855
6222
  </xsl:otherwise>
5856
6223
  </xsl:choose>
5857
6224
  </xsl:variable>
@@ -5904,13 +6271,8 @@
5904
6271
  <xsl:variable name="title">
5905
6272
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
5906
6273
 
5907
- <xsl:value-of select="*[local-name() = 'title'][@language = $lang and @type = 'main']"/>
5908
-
5909
-
5910
-
5911
-
5912
-
5913
-
6274
+ <xsl:value-of select="*[local-name() = 'title'][@language = $lang and @type = 'main']"/>
6275
+
5914
6276
  </xsl:for-each>
5915
6277
  </xsl:variable>
5916
6278
  <xsl:choose>
@@ -5925,21 +6287,18 @@
5925
6287
  <dc:creator>
5926
6288
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
5927
6289
 
5928
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
5929
- <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
5930
- <xsl:if test="position() != last()">; </xsl:if>
5931
- </xsl:for-each>
5932
-
5933
-
5934
-
6290
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
6291
+ <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
6292
+ <xsl:if test="position() != last()">; </xsl:if>
6293
+ </xsl:for-each>
6294
+
5935
6295
  </xsl:for-each>
5936
6296
  </dc:creator>
5937
6297
  <dc:description>
5938
6298
  <xsl:variable name="abstract">
5939
6299
 
5940
- <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
5941
-
5942
-
6300
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
6301
+
5943
6302
  </xsl:variable>
5944
6303
  <xsl:value-of select="normalize-space($abstract)"/>
5945
6304
  </dc:description>
@@ -5959,7 +6318,6 @@
5959
6318
  <xsl:value-of select="../@id"/>
5960
6319
  </xsl:when>
5961
6320
  <xsl:otherwise>
5962
- <!-- <xsl:value-of select="concat(local-name(..), '_', text())"/> -->
5963
6321
  <xsl:value-of select="concat(generate-id(..), '_', text())"/>
5964
6322
  </xsl:otherwise>
5965
6323
  </xsl:choose>
@@ -5985,9 +6343,6 @@
5985
6343
  <xsl:when test="ancestor::*[local-name() = 'preface']">
5986
6344
  <xsl:value-of select="$level_total - 2"/>
5987
6345
  </xsl:when>
5988
- <!-- <xsl:when test="parent::*[local-name() = 'sections']">
5989
- <xsl:value-of select="$level_total - 1"/>
5990
- </xsl:when> -->
5991
6346
  <xsl:when test="ancestor::*[local-name() = 'sections']">
5992
6347
  <xsl:value-of select="$level_total - 1"/>
5993
6348
  </xsl:when>
@@ -6129,9 +6484,15 @@
6129
6484
  </xsl:template><xsl:template name="getLocalizedString">
6130
6485
  <xsl:param name="key"/>
6131
6486
  <xsl:param name="formatted">false</xsl:param>
6487
+ <xsl:param name="lang"/>
6132
6488
 
6133
6489
  <xsl:variable name="curr_lang">
6134
- <xsl:call-template name="getLang"/>
6490
+ <xsl:choose>
6491
+ <xsl:when test="$lang != ''"><xsl:value-of select="$lang"/></xsl:when>
6492
+ <xsl:otherwise>
6493
+ <xsl:call-template name="getLang"/>
6494
+ </xsl:otherwise>
6495
+ </xsl:choose>
6135
6496
  </xsl:variable>
6136
6497
 
6137
6498
  <xsl:variable name="data_value">
@@ -6171,7 +6532,6 @@
6171
6532
  <xsl:value-of select="$key_"/>
6172
6533
  </xsl:otherwise>
6173
6534
  </xsl:choose>
6174
-
6175
6535
  </xsl:template><xsl:template name="setTrackChangesStyles">
6176
6536
  <xsl:param name="isAdded"/>
6177
6537
  <xsl:param name="isDeleted"/>
@@ -6194,7 +6554,6 @@
6194
6554
  <xsl:if test="local-name() = 'table'">
6195
6555
  <xsl:attribute name="background-color">rgb(255, 185, 185)</xsl:attribute>
6196
6556
  </xsl:if>
6197
- <!-- <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute> -->
6198
6557
  <xsl:attribute name="padding">2mm</xsl:attribute>
6199
6558
  </xsl:if>
6200
6559
  </xsl:otherwise>
@@ -6214,15 +6573,18 @@
6214
6573
  </xsl:choose>
6215
6574
  </xsl:template><xsl:template name="setTextAlignment">
6216
6575
  <xsl:param name="default">left</xsl:param>
6576
+ <xsl:variable name="align" select="normalize-space(@align)"/>
6217
6577
  <xsl:attribute name="text-align">
6218
6578
  <xsl:choose>
6219
- <xsl:when test="@align and not(@align = 'indent')"><xsl:value-of select="@align"/></xsl:when>
6579
+ <xsl:when test="$lang = 'ar' and $align = 'left'">start</xsl:when>
6580
+ <xsl:when test="$lang = 'ar' and $align = 'right'">end</xsl:when>
6581
+ <xsl:when test="$align != '' and not($align = 'indent')"><xsl:value-of select="$align"/></xsl:when>
6220
6582
  <xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
6221
6583
  <xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
6222
6584
  <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
6223
6585
  </xsl:choose>
6224
6586
  </xsl:attribute>
6225
- <xsl:if test="@align = 'indent'">
6587
+ <xsl:if test="$align = 'indent'">
6226
6588
  <xsl:attribute name="margin-left">7mm</xsl:attribute>
6227
6589
  </xsl:if>
6228
6590
  </xsl:template><xsl:template name="number-to-words">
@@ -6321,4 +6683,14 @@
6321
6683
  </xsl:otherwise>
6322
6684
  </xsl:choose>
6323
6685
  </xsl:if>
6686
+ </xsl:template><xsl:template name="setAltText">
6687
+ <xsl:param name="value"/>
6688
+ <xsl:attribute name="fox:alt-text">
6689
+ <xsl:choose>
6690
+ <xsl:when test="normalize-space($value) != ''">
6691
+ <xsl:value-of select="$value"/>
6692
+ </xsl:when>
6693
+ <xsl:otherwise>_</xsl:otherwise>
6694
+ </xsl:choose>
6695
+ </xsl:attribute>
6324
6696
  </xsl:template></xsl:stylesheet>