metanorma-bipm 1.0.0 → 1.0.5

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.
@@ -8,6 +8,13 @@
8
8
  <xsl:param name="initial_page_number"/>
9
9
  <xsl:param name="doc_split_by_language"/>
10
10
 
11
+ <!-- <item id="#">N_page</item> -->
12
+ <!-- param for second pass -->
13
+ <xsl:param name="external_index"/><!-- path to index xml, generated on 1st pass, based on FOP Intermediate Format -->
14
+ <xsl:variable name="index" select="document($external_index)"/>
15
+
16
+ <xsl:variable name="first_pass" select="count($index//item) = 0"/>
17
+
11
18
  <xsl:variable name="pageWidth" select="'210mm'"/>
12
19
  <xsl:variable name="pageHeight" select="'297mm'"/>
13
20
 
@@ -31,26 +38,26 @@
31
38
  <xsl:variable name="root-element" select="local-name(/*)"/>
32
39
 
33
40
  <xsl:variable name="contents">
34
-
35
41
  <xsl:choose>
36
42
  <xsl:when test="$root-element = 'metanorma-collection'">
37
-
38
43
  <xsl:choose>
39
44
  <xsl:when test="$doc_split_by_language = ''"><!-- all documents -->
40
45
  <xsl:for-each select="//bipm:bipm-standard">
41
46
  <xsl:variable name="lang" select="*[local-name()='bibdata']/*[local-name()='language'][@current = 'true']"/>
42
47
  <xsl:variable name="num"><xsl:number level="any" count="bipm:bipm-standard"/></xsl:variable>
48
+ <xsl:variable name="title-part"><xsl:value-of select="bipm:bibdata/bipm:title[@type = 'part']"/></xsl:variable>
43
49
  <xsl:variable name="current_document">
44
- <xsl:apply-templates select="." mode="change_id">
50
+ <!-- <xsl:apply-templates select="." mode="change_id">
45
51
  <xsl:with-param name="lang" select="$lang"/>
46
52
  <xsl:with-param name="ignoreReferenceFrom" select="'true'"/>
47
- </xsl:apply-templates>
53
+ </xsl:apply-templates> -->
54
+ <xsl:copy-of select="."/>
48
55
  </xsl:variable>
49
56
  <xsl:for-each select="xalan:nodeset($current_document)">
50
57
  <xsl:variable name="docid">
51
58
  <xsl:call-template name="getDocumentId"/>
52
59
  </xsl:variable>
53
- <doc id="{$docid}" lang="{$lang}">
60
+ <doc id="{$docid}" lang="{$lang}" doctype="{$doctype}" title-part="{$title-part}">
54
61
  <xsl:call-template name="generateContents"/>
55
62
  </doc>
56
63
  </xsl:for-each>
@@ -61,9 +68,10 @@
61
68
  <xsl:variable name="lang" select="*[local-name()='bibdata']/*[local-name()='language'][@current = 'true']"/>
62
69
  <xsl:variable name="num"><xsl:number level="any" count="bipm:bipm-standard"/></xsl:variable>
63
70
  <xsl:variable name="current_document">
64
- <xsl:apply-templates select="." mode="change_id">
71
+ <!-- <xsl:apply-templates select="." mode="change_id">
65
72
  <xsl:with-param name="lang" select="$lang"/>
66
- </xsl:apply-templates>
73
+ </xsl:apply-templates> -->
74
+ <xsl:copy-of select="."/>
67
75
  </xsl:variable>
68
76
  <xsl:for-each select="xalan:nodeset($current_document)">
69
77
  <xsl:variable name="docid">
@@ -87,9 +95,86 @@
87
95
  </doc>
88
96
  </xsl:otherwise>
89
97
  </xsl:choose>
90
-
91
98
  </xsl:variable>
92
99
 
100
+ <xsl:variable name="indexes">
101
+ <xsl:choose>
102
+ <xsl:when test="$doc_split_by_language = ''"><!-- all documents -->
103
+ <xsl:for-each select="//bipm:bipm-standard">
104
+
105
+ <xsl:variable name="current_document">
106
+ <xsl:copy-of select="."/>
107
+ </xsl:variable>
108
+
109
+ <xsl:for-each select="xalan:nodeset($current_document)">
110
+
111
+ <xsl:variable name="docid">
112
+ <xsl:call-template name="getDocumentId"/>
113
+ </xsl:variable>
114
+
115
+ <!-- add id to xref and split xref with @to into two xref -->
116
+ <xsl:variable name="current_document_index_id">
117
+ <!-- <xsl:apply-templates select=".//bipm:clause[@type = 'index']" mode="index_add_id"/> -->
118
+ <xsl:apply-templates select=".//bipm:indexsect" mode="index_add_id"/>
119
+ </xsl:variable>
120
+
121
+ <xsl:variable name="current_document_index">
122
+ <xsl:apply-templates select="xalan:nodeset($current_document_index_id)" mode="index_update"/>
123
+ </xsl:variable>
124
+
125
+ <xsl:for-each select="xalan:nodeset($current_document_index)">
126
+ <doc id="{$docid}">
127
+ <xsl:copy-of select="."/>
128
+ </doc>
129
+ </xsl:for-each>
130
+
131
+ </xsl:for-each>
132
+
133
+ </xsl:for-each>
134
+ </xsl:when>
135
+ <xsl:otherwise>
136
+ <xsl:for-each select="(//bipm:bipm-standard)[*[local-name()='bibdata']/*[local-name()='language'][@current = 'true'] = $doc_split_by_language]">
137
+
138
+ <xsl:variable name="current_document">
139
+ <xsl:copy-of select="."/>
140
+ </xsl:variable>
141
+
142
+ <xsl:for-each select="xalan:nodeset($current_document)">
143
+
144
+ <xsl:variable name="docid">
145
+ <xsl:call-template name="getDocumentId"/>
146
+ </xsl:variable>
147
+
148
+ <xsl:variable name="current_document_index_id">
149
+ <!-- <xsl:apply-templates select=".//bipm:clause[@type = 'index']" mode="index_add_id"/> -->
150
+ <xsl:apply-templates select=".//bipm:indexsect" mode="index_add_id"/>
151
+ </xsl:variable>
152
+
153
+ <xsl:variable name="current_document_index">
154
+ <xsl:apply-templates select="xalan:nodeset($current_document_index_id)" mode="index_update"/>
155
+ </xsl:variable>
156
+
157
+ <xsl:for-each select="xalan:nodeset($current_document_index)">
158
+ <doc id="{$docid}">
159
+ <xsl:copy-of select="."/>
160
+ </doc>
161
+ </xsl:for-each>
162
+
163
+ </xsl:for-each>
164
+
165
+ </xsl:for-each>
166
+ </xsl:otherwise>
167
+ </xsl:choose>
168
+ </xsl:variable>
169
+
170
+ <xsl:variable name="bookmark_in_fn">
171
+ <xsl:for-each select="//bipm:bookmark[ancestor::bipm:fn]">
172
+ <bookmark><xsl:value-of select="@id"/></bookmark>
173
+ </xsl:for-each>
174
+ </xsl:variable>
175
+
176
+ <xsl:variable name="dash" select="'–'"/>
177
+
93
178
  <xsl:variable name="ids">
94
179
  <xsl:for-each select="//*[@id]">
95
180
  <id><xsl:value-of select="@id"/></id>
@@ -116,6 +201,10 @@
116
201
  <xsl:apply-templates select="/*/bipm:annex" mode="contents"/>
117
202
  <xsl:apply-templates select="/*/bipm:bibliography/bipm:references[not(@normative='true')]" mode="contents"/>
118
203
 
204
+ <!-- Index -->
205
+ <!-- <xsl:apply-templates select="//bipm:clause[@type = 'index']" mode="contents"/> -->
206
+ <xsl:apply-templates select="//bipm:indexsect" mode="contents"/>
207
+
119
208
  </contents>
120
209
  </xsl:template>
121
210
 
@@ -195,15 +284,6 @@
195
284
  </fo:repeatable-page-master-alternatives>
196
285
  </fo:page-sequence-master>
197
286
 
198
- <!-- Independent Appendix pages -->
199
- <!-- <fo:simple-page-master master-name="appendix" page-width="{$pageWidth}" page-height="{$pageHeight}">
200
- <fo:region-body margin-top="25mm" margin-bottom="25mm" margin-left="25mm" margin-right="25mm"/>
201
- <fo:region-before region-name="header-appendix" extent="25mm"/>
202
- <fo:region-after region-name="footer-appendix" extent="25mm"/>
203
- <fo:region-start region-name="left-region" extent="25mm"/>
204
- <fo:region-end region-name="right-region" extent="25mm"/>
205
- </fo:simple-page-master> -->
206
-
207
287
 
208
288
  </fo:layout-master-set>
209
289
 
@@ -245,7 +325,7 @@
245
325
  <xsl:variable name="lang" select="*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
246
326
  <xsl:variable name="num"><xsl:number level="any" count="bipm:bipm-standard"/></xsl:variable>
247
327
  <!-- change id to prevent identical id in different documents in one container -->
248
- <xsl:variable name="current_document">
328
+ <!-- <xsl:variable name="current_document">
249
329
  <xsl:apply-templates select="." mode="change_id">
250
330
  <xsl:with-param name="lang" select="$lang"/>
251
331
  <xsl:with-param name="ignoreReferenceFrom" select="'true'"/>
@@ -254,6 +334,10 @@
254
334
 
255
335
  <xsl:variable name="flatxml">
256
336
  <xsl:apply-templates select="xalan:nodeset($current_document)" mode="flatxml"/>
337
+ </xsl:variable> -->
338
+
339
+ <xsl:variable name="flatxml">
340
+ <xsl:apply-templates select="." mode="flatxml"/>
257
341
  </xsl:variable>
258
342
 
259
343
  <!-- flatxml=<xsl:copy-of select="$flatxml"/> -->
@@ -269,7 +353,7 @@
269
353
  <xsl:variable name="lang" select="*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
270
354
  <xsl:variable name="num"><xsl:number level="any" count="bipm:bipm-standard"/></xsl:variable>
271
355
  <!-- change id to prevent identical id in different documents in one container -->
272
- <xsl:variable name="current_document">
356
+ <!-- <xsl:variable name="current_document">
273
357
  <xsl:apply-templates select="." mode="change_id">
274
358
  <xsl:with-param name="lang" select="$lang"/>
275
359
  </xsl:apply-templates>
@@ -277,6 +361,10 @@
277
361
 
278
362
  <xsl:variable name="flatxml">
279
363
  <xsl:apply-templates select="xalan:nodeset($current_document)" mode="flatxml"/>
364
+ </xsl:variable> -->
365
+
366
+ <xsl:variable name="flatxml">
367
+ <xsl:apply-templates select="." mode="flatxml"/>
280
368
  </xsl:variable>
281
369
 
282
370
  <xsl:apply-templates select="xalan:nodeset($flatxml)/bipm:bipm-standard" mode="bipm-standard">
@@ -296,6 +384,9 @@
296
384
  </xsl:variable>
297
385
 
298
386
  <!-- flatxml=<xsl:copy-of select="$flatxml"/> -->
387
+
388
+ <!-- indexes=<xsl:copy-of select="$indexes"/> -->
389
+
299
390
 
300
391
  <xsl:apply-templates select="xalan:nodeset($flatxml)/bipm:bipm-standard" mode="bipm-standard">
301
392
  <xsl:with-param name="curr_docnum" select="1"/>
@@ -586,7 +677,7 @@
586
677
 
587
678
  <!-- copy 'ol' 'ul' properties to each 'li' -->
588
679
  <!-- OBSOLETE: move note for list (list level note) into latest 'li' -->
589
- <!-- move note for list (list level note) into first 'li' -->
680
+ <!-- NOW: move note for list (list level note) into first 'li' -->
590
681
  <!-- move fn for list-item (list-item level footnote) into first 'li' -->
591
682
  <xsl:template match="bipm:li" mode="flatxml_list">
592
683
  <xsl:copy>
@@ -618,6 +709,15 @@
618
709
  </xsl:otherwise>
619
710
  </xsl:choose>
620
711
  </xsl:for-each>
712
+
713
+ <!-- move note(s) after ul/ol into first 'li' -->
714
+ <xsl:if test="not(ancestor::bipm:quote)">
715
+ <xsl:variable name="list_id" select="generate-id(..)"/>
716
+ <xsl:for-each select="../following-sibling::bipm:note[generate-id(preceding-sibling::*[not(local-name()='note') and not(local-name()='quote')][1]) = $list_id]">
717
+ <xsl:call-template name="change_note_kind"/>
718
+ </xsl:for-each>
719
+ </xsl:if>
720
+
621
721
 
622
722
  <xsl:if test="ancestor::bipm:quote or not(ancestor::bipm:table)">
623
723
 
@@ -738,6 +838,32 @@
738
838
  </xsl:when>
739
839
  </xsl:choose>
740
840
  </xsl:template>
841
+
842
+ <!-- <xsl:template match="bipm:clause[@type = 'index']" mode="flatxml"/> -->
843
+ <xsl:template match="bipm:indexsect" mode="flatxml"/>
844
+ <!-- <xsl:template match="bipm:clause[@type = 'index']" mode="flatxml">
845
+ <xsl:copy>
846
+ <xsl:apply-templates select="@*" mode="flatxml_index"/>
847
+ <xsl:apply-templates mode="flatxml_index"/>
848
+ </xsl:copy>
849
+ </xsl:template>
850
+
851
+ <xsl:template match="@*|node()" mode="flatxml_index">
852
+ <xsl:copy>
853
+ <xsl:apply-templates select="@*|node()" mode="flatxml_index"/>
854
+ </xsl:copy>
855
+ </xsl:template>
856
+
857
+ <xsl:template match="bipm:xref" mode="flatxml_index">
858
+ <xsl:copy>
859
+ <xsl:apply-templates select="@*" mode="flatxml_index"/>
860
+ <xsl:attribute name="id">
861
+ <xsl:value-of select="generate-id(.)"/>
862
+ </xsl:attribute>
863
+ <xsl:apply-templates mode="flatxml_index"/>
864
+ </xsl:copy>
865
+ </xsl:template> -->
866
+
741
867
  <!-- ================================= -->
742
868
  <!-- END: Flattening xml for fit notes at page sides (margins) -->
743
869
  <!-- ================================= -->
@@ -846,31 +972,33 @@
846
972
  </fo:flow>
847
973
  </fo:page-sequence>
848
974
 
849
- <fo:page-sequence master-reference="document" force-page-count="no-force">
850
- <xsl:call-template name="insertFootnoteSeparator"/>
851
-
852
- <xsl:variable name="header-title">
853
- <xsl:choose>
854
- <xsl:when test="bipm:preface/*[1]/bipm:title[1]/*[local-name() = 'tab']">
855
- <xsl:apply-templates select="bipm:preface/*[1]/bipm:title[1]/*[local-name() = 'tab'][1]/following-sibling::node()" mode="header"/>
856
- </xsl:when>
857
- <xsl:otherwise>
858
- <xsl:apply-templates select="bipm:preface/*[1]/bipm:title[1]" mode="header"/>
859
- </xsl:otherwise>
860
- </xsl:choose>
861
- </xsl:variable>
862
- <xsl:call-template name="insertHeaderFooter">
863
- <xsl:with-param name="header-title" select="$header-title"/>
864
- </xsl:call-template>
865
-
866
- <fo:flow flow-name="xsl-region-body">
867
- <fo:block line-height="135%">
868
- <!-- <xsl:apply-templates select="bipm:preface/bipm:abstract" /> -->
869
- <xsl:apply-templates select="bipm:preface/*[1]"/>
870
- </fo:block>
871
- </fo:flow>
872
- </fo:page-sequence>
873
-
975
+
976
+ <xsl:if test="bipm:preface/*">
977
+ <fo:page-sequence master-reference="document" force-page-count="no-force">
978
+ <xsl:call-template name="insertFootnoteSeparator"/>
979
+
980
+ <xsl:variable name="header-title">
981
+ <xsl:choose>
982
+ <xsl:when test="bipm:preface/*[1]/bipm:title[1]/*[local-name() = 'tab']">
983
+ <xsl:apply-templates select="bipm:preface/*[1]/bipm:title[1]/*[local-name() = 'tab'][1]/following-sibling::node()" mode="header"/>
984
+ </xsl:when>
985
+ <xsl:otherwise>
986
+ <xsl:apply-templates select="bipm:preface/*[1]/bipm:title[1]" mode="header"/>
987
+ </xsl:otherwise>
988
+ </xsl:choose>
989
+ </xsl:variable>
990
+ <xsl:call-template name="insertHeaderFooter">
991
+ <xsl:with-param name="header-title" select="$header-title"/>
992
+ </xsl:call-template>
993
+
994
+ <fo:flow flow-name="xsl-region-body">
995
+ <fo:block line-height="135%">
996
+ <!-- <xsl:apply-templates select="bipm:preface/bipm:abstract" /> -->
997
+ <xsl:apply-templates select="bipm:preface/*[1]"/>
998
+ </fo:block>
999
+ </fo:flow>
1000
+ </fo:page-sequence>
1001
+ </xsl:if>
874
1002
 
875
1003
 
876
1004
  <xsl:variable name="docid">
@@ -917,7 +1045,7 @@
917
1045
  <fo:table-column column-width="127mm"/>
918
1046
  <fo:table-column column-width="12mm"/>
919
1047
  <fo:table-body>
920
- <xsl:for-each select="xalan:nodeset($contents)/doc[@id = $docid]//item[@display='true' and not(@type = 'annex') and not(@parent = 'annex')]">
1048
+ <xsl:for-each select="xalan:nodeset($contents)/doc[@id = $docid]//item[@display='true' and not(@type = 'annex') and not(@type = 'index') and not(@parent = 'annex')]">
921
1049
  <xsl:call-template name="insertContentItem"/>
922
1050
  </xsl:for-each>
923
1051
  <xsl:if test="$doctype ='brochure'">
@@ -931,6 +1059,9 @@
931
1059
  <xsl:for-each select="xalan:nodeset($contents)/doc[@id = $docid]//item[@display='true' and (@type = 'annex')]"> <!-- or (@level = 2 and @parent = 'annex') -->
932
1060
  <xsl:call-template name="insertContentItem"/>
933
1061
  </xsl:for-each>
1062
+ <xsl:for-each select="xalan:nodeset($contents)/doc[@id = $docid]//item[@display='true' and (@type = 'index')]">
1063
+ <xsl:call-template name="insertContentItem"/>
1064
+ </xsl:for-each>
934
1065
  </fo:table-body>
935
1066
  </fo:table>
936
1067
  </xsl:if>
@@ -961,6 +1092,10 @@
961
1092
  <!-- Bibliography -->
962
1093
  <xsl:apply-templates select="bipm:bibliography/bipm:references[not(@normative='true')]" mode="sections"/>
963
1094
 
1095
+ <!-- Index -->
1096
+ <!-- <xsl:apply-templates select="xalan:nodeset($indexes)/doc[@id = $docid]//bipm:clause[@type = 'index']" mode="index" /> -->
1097
+ <xsl:apply-templates select="xalan:nodeset($indexes)/doc[@id = $docid]//bipm:indexsect" mode="index"/>
1098
+
964
1099
  <!-- End Document Pages -->
965
1100
 
966
1101
 
@@ -971,32 +1106,10 @@
971
1106
  </xsl:when>
972
1107
  <xsl:otherwise> <!-- independentAppendix != '' -->
973
1108
 
974
-
975
- <!-- <fo:page-sequence master-reference="appendix" initial-page-number="1" force-page-count="no-force">
976
- <xsl:call-template name="insertFootnoteSeparator"/>
977
- <xsl:call-template name="insertHeaderFooterAppendix"/>
978
- <fo:flow flow-name="xsl-region-body" font-family="Times New Roman">
979
- <fo:block-container border-bottom="1.5pt solid rgb(79, 129, 189)" margin-bottom="36pt">
980
- <fo:block font-family="Arial" font-size="24pt" font-weight="bold" color="rgb(23, 54, 93)">
981
- <fo:block>
982
- <xsl:choose>
983
- <xsl:when test="$lang = 'fr'">Annexe </xsl:when>
984
- <xsl:otherwise>Appendix </xsl:otherwise>
985
- </xsl:choose>
986
- <xsl:value-of select="/bipm:bipm-standard/bipm:bibdata/bipm:ext/bipm:structuredidentifier/bipm:appendix"/>
987
- <xsl:text>. </xsl:text>
988
- <xsl:value-of select="/bipm:bipm-standard/bipm:bibdata/bipm:title[@type = 'appendix' and @language = $lang]"/>
989
- </fo:block>
990
- </fo:block>
991
- </fo:block-container>
992
-
993
- <fo:block line-height="130%">
994
- <xsl:apply-templates select="bipm:sections/*"/>
995
- </fo:block>
996
-
997
- <fo:block id="theLastPage"/>
998
- </fo:flow>
999
- </fo:page-sequence> -->
1109
+
1110
+ <xsl:variable name="docid">
1111
+ <xsl:call-template name="getDocumentId"/>
1112
+ </xsl:variable>
1000
1113
 
1001
1114
  <fo:page-sequence master-reference="document" force-page-count="no-force">
1002
1115
 
@@ -1025,18 +1138,22 @@
1025
1138
  <fo:block-container font-size="18pt" font-weight="bold" text-align="center">
1026
1139
  <fo:block>
1027
1140
 
1028
- <xsl:variable name="title">
1029
- <xsl:choose>
1030
- <xsl:when test="$independentAppendix != ''">
1031
- <xsl:value-of select="//bipm:bipm-standard/bipm:bibdata/bipm:title[@language = $curr_lang and @type='appendix']"/>
1032
- </xsl:when>
1033
- <xsl:otherwise> <!-- doctype = 'guide' -->
1034
- <xsl:value-of select="//bipm:bipm-standard/bipm:bibdata/bipm:title[@language = $curr_lang and @type='main']"/>
1035
- </xsl:otherwise>
1036
- </xsl:choose>
1037
- </xsl:variable>
1141
+ <!-- <xsl:variable name="title"> -->
1142
+ <xsl:choose>
1143
+ <xsl:when test="$independentAppendix != ''">
1144
+ <xsl:apply-templates select="//bipm:bipm-standard/bipm:bibdata/bipm:title[@language = $curr_lang and @type='appendix']" mode="title"/>
1145
+ <fo:block>
1146
+ <xsl:apply-templates select="//bipm:bipm-standard/bipm:bibdata/bipm:title[@language = $curr_lang and @type='annex']" mode="title"/>
1147
+ </fo:block>
1148
+ </xsl:when>
1149
+ <xsl:otherwise> <!-- doctype = 'guide' -->
1150
+ <xsl:apply-templates select="//bipm:bipm-standard/bipm:bibdata/bipm:title[@language = $curr_lang and @type='main']" mode="title"/>
1151
+ </xsl:otherwise>
1152
+ </xsl:choose>
1153
+ <!-- </xsl:variable> -->
1038
1154
 
1039
- <xsl:variable name="mep_text" select="'Mise en pratique'"/>
1155
+
1156
+ <!-- <xsl:variable name="mep_text" select="'Mise en pratique'"/>
1040
1157
 
1041
1158
  <xsl:choose>
1042
1159
  <xsl:when test="$curr_lang = 'en' and contains($title, $mep_text)">
@@ -1047,7 +1164,7 @@
1047
1164
  <xsl:otherwise>
1048
1165
  <xsl:value-of select="$title"/>
1049
1166
  </xsl:otherwise>
1050
- </xsl:choose>
1167
+ </xsl:choose> -->
1051
1168
 
1052
1169
  </fo:block>
1053
1170
 
@@ -1059,7 +1176,7 @@
1059
1176
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new($titles/title-part[@lang=$curr_lang]),'#',$part_num)"/>
1060
1177
  </xsl:if>
1061
1178
  <xsl:text>: </xsl:text>
1062
- <xsl:value-of select="/bipm:bipm-standard/bipm:bibdata/bipm:title[@language = $curr_lang and @type = 'part']"/>
1179
+ <xsl:apply-templates select="/bipm:bipm-standard/bipm:bibdata/bipm:title[@language = $curr_lang and @type = 'part']" mode="title"/>
1063
1180
  </fo:block>
1064
1181
  </xsl:if>
1065
1182
  <xsl:variable name="subpart_num" select="normalize-space(/bipm:bipm-standard/bipm:bibdata/bipm:ext/bipm:structuredidentifier/bipm:subpart)"/>
@@ -1069,7 +1186,7 @@
1069
1186
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new($titles/title-subpart[@lang=$curr_lang]),'#',$subpart_num)"/>
1070
1187
  </xsl:if>
1071
1188
  <xsl:text>: </xsl:text>
1072
- <xsl:value-of select="/bipm:bipm-standard/bipm:bibdata/bipm:title[@language = $curr_lang and @type = 'subpart']"/>
1189
+ <xsl:apply-templates select="/bipm:bipm-standard/bipm:bibdata/bipm:title[@language = $curr_lang and @type = 'subpart']" mode="title"/>
1073
1190
  </fo:block>
1074
1191
  </xsl:if>
1075
1192
 
@@ -1140,6 +1257,9 @@
1140
1257
 
1141
1258
  <xsl:apply-templates select="bipm:bibliography/bipm:references[not(@normative='true')]" mode="sections"/>
1142
1259
 
1260
+ <!-- Index -->
1261
+ <!-- <xsl:apply-templates select="xalan:nodeset($indexes)/doc[@id = $docid]//bipm:clause[@type = 'index']" mode="index" /> -->
1262
+ <xsl:apply-templates select="xalan:nodeset($indexes)/doc[@id = $docid]//bipm:indexsect" mode="index"/>
1143
1263
 
1144
1264
  </xsl:otherwise>
1145
1265
  </xsl:choose>
@@ -1250,71 +1370,130 @@
1250
1370
  <fo:block font-size="14pt" font-weight="{$weight-bold}" margin-top="4mm"><xsl:value-of select="concat((//bipm:bipm-standard)[1]/bipm:bibdata/bipm:edition, ' ', $edition_str, ' ', $copyrightYear)"/></fo:block>
1251
1371
  </fo:block-container>
1252
1372
 
1253
- <fo:block-container height="98%" display-align="center">
1373
+ <!-- <fo:block-container height="98%" display-align="center"> -->
1374
+ <fo:block-container absolute-position="fixed" left="12.5mm" top="92mm" height="170mm" width="144mm" display-align="center">
1254
1375
  <fo:block>
1376
+
1377
+ <xsl:variable name="title_appendix_fr">
1378
+ <xsl:apply-templates select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'fr' and @type = 'appendix']" mode="title"/>
1379
+ </xsl:variable>
1380
+ <xsl:variable name="title_appendix_en">
1381
+ <xsl:apply-templates select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'en' and @type = 'appendix']" mode="title"/>
1382
+ </xsl:variable>
1383
+ <xsl:variable name="title_annex_fr">
1384
+ <xsl:apply-templates select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'fr' and @type = 'annex']" mode="title"/>
1385
+ </xsl:variable>
1386
+ <xsl:variable name="title_annex_en">
1387
+ <xsl:apply-templates select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'en' and @type = 'annex']" mode="title"/>
1388
+ </xsl:variable>
1389
+ <xsl:variable name="title_part_fr">
1390
+ <xsl:apply-templates select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'fr' and @type = 'part']" mode="title"/>
1391
+ </xsl:variable>
1392
+ <xsl:variable name="title_part_en">
1393
+ <xsl:apply-templates select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'en' and @type = 'part']" mode="title"/>
1394
+ </xsl:variable>
1395
+ <xsl:variable name="title_subpart_fr">
1396
+ <xsl:apply-templates select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'fr' and @type = 'subpart']" mode="title"/>
1397
+ </xsl:variable>
1398
+ <xsl:variable name="title_subpart_en">
1399
+ <xsl:apply-templates select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'en' and @type = 'subpart']" mode="title"/>
1400
+ </xsl:variable>
1401
+
1402
+ <xsl:variable name="titles_length" select="string-length($title_appendix_fr) + string-length($title_appendix_en) + string-length($title_annex_fr) + string-length($title_annex_en) + string-length($title_part_fr) + string-length($title_part_en) + string-length($title_subpart_fr) + string-length($title_subpart_fr)"/>
1403
+
1404
+ <xsl:variable name="font-size-number-factor">
1405
+ <xsl:choose>
1406
+ <xsl:when test="$titles_length &gt; 350">0.7</xsl:when>
1407
+ <xsl:when test="$titles_length &gt; 250">0.85</xsl:when>
1408
+ <xsl:otherwise>1</xsl:otherwise>
1409
+ </xsl:choose>
1410
+ </xsl:variable>
1411
+
1412
+ <xsl:variable name="space-factor">
1413
+ <xsl:choose>
1414
+ <xsl:when test="$titles_length &gt; 250">0.3</xsl:when>
1415
+ <xsl:otherwise>1</xsl:otherwise>
1416
+ </xsl:choose>
1417
+ </xsl:variable>
1418
+
1419
+ <xsl:variable name="font-size-factor">
1420
+ <xsl:choose>
1421
+ <xsl:when test="$titles_length &gt; 350">0.5</xsl:when>
1422
+ <xsl:when test="$titles_length &gt; 250">0.65</xsl:when>
1423
+ <xsl:otherwise>1</xsl:otherwise>
1424
+ </xsl:choose>
1425
+ </xsl:variable>
1426
+
1255
1427
  <!-- Appendix titles processing -->
1256
1428
  <xsl:variable name="appendix_num" select="normalize-space((//bipm:bipm-standard)[1]/bipm:bibdata/bipm:ext/bipm:structuredidentifier/bipm:appendix)"/>
1257
1429
  <xsl:if test="$appendix_num != ''">
1258
- <fo:block font-size="17pt" font-weight="{$weight-normal}">Annexe <xsl:value-of select="$appendix_num"/></fo:block>
1259
- <fo:block font-size="17pt" font-weight="{$weight-bold}">Appendix <xsl:value-of select="$appendix_num"/></fo:block>
1430
+ <fo:block font-size="{$font-size-number-factor * 17}pt" font-weight="{$weight-normal}">Annexe <xsl:value-of select="$appendix_num"/></fo:block>
1431
+ <fo:block font-size="{$font-size-number-factor * 17}pt" font-weight="{$weight-bold}">Appendix <xsl:value-of select="$appendix_num"/></fo:block>
1260
1432
  </xsl:if>
1261
-
1433
+
1434
+
1262
1435
  <xsl:if test="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@type = 'appendix']">
1263
- <fo:block font-size="30.4pt">
1264
- <fo:block> </fo:block>
1265
- <fo:block font-weight="{$weight-normal}"><xsl:value-of select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'fr' and @type = 'appendix']"/></fo:block>
1266
- <fo:block> </fo:block>
1436
+ <fo:block font-size="{$font-size-factor * 30.4}pt">
1437
+ <fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
1438
+ <fo:block font-weight="{$weight-normal}"><xsl:copy-of select="$title_appendix_fr"/></fo:block>
1439
+ <fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
1267
1440
  <fo:block font-weight="{$weight-bold}">
1268
- <xsl:variable name="title_en" select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'en' and @type = 'appendix']"/>
1269
- <xsl:variable name="mep_text" select="'Mise en pratique'"/>
1270
- <xsl:choose>
1271
- <xsl:when test="contains($title_en, $mep_text)">
1272
- <xsl:value-of select="substring-before($title_en, $mep_text)"/>
1273
- <xsl:text> </xsl:text><fo:inline font-style="italic"><xsl:value-of select="$mep_text"/></fo:inline><xsl:text> </xsl:text>
1274
- <xsl:value-of select="substring-after($title_en, $mep_text)"/>
1275
- </xsl:when>
1276
- <xsl:otherwise>
1277
- <xsl:value-of select="$title_en"/>
1278
- </xsl:otherwise>
1279
- </xsl:choose>
1441
+ <xsl:copy-of select="$title_appendix_en"/>
1280
1442
  </fo:block>
1281
1443
  </fo:block>
1282
1444
  </xsl:if>
1283
1445
  <!-- End Appendix titles processing -->
1284
1446
 
1447
+ <!-- Annex title processing -->
1448
+ <xsl:if test="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@type = 'annex']">
1449
+ <xsl:variable name="annex_num" select="normalize-space((//bipm:bipm-standard)[1]/bipm:bibdata/bipm:ext/bipm:structuredidentifier/bipm:annexid)"/>
1450
+ <xsl:if test="$annex_num != ''">
1451
+ <fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
1452
+ <!-- Annexe -->
1453
+ <fo:block font-size="{$font-size-number-factor * 17}pt" font-weight="{$weight-normal}">Annexe <xsl:value-of select="$annex_num"/></fo:block>
1454
+ <!-- Annex -->
1455
+ <fo:block font-size="{$font-size-number-factor * 17}pt" font-weight="{$weight-bold}">Annex <xsl:value-of select="$annex_num"/></fo:block>
1456
+ </xsl:if>
1285
1457
 
1286
- <!-- Part titles processing -->
1458
+ <fo:block font-size="{$font-size-factor * 30.4}pt">
1459
+
1460
+ <xsl:if test="normalize-space($title_annex_fr) != ''">
1461
+ <fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
1462
+ <fo:block font-weight="{$weight-normal}"><xsl:copy-of select="$title_annex_fr"/></fo:block>
1463
+ </xsl:if>
1464
+
1465
+ <xsl:if test="normalize-space($title_annex_en) != ''">
1466
+ <fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
1467
+ <fo:block font-weight="{$weight-bold}">
1468
+ <xsl:copy-of select="$title_annex_en"/>
1469
+ </fo:block>
1470
+ </xsl:if>
1471
+ </fo:block>
1472
+ </xsl:if>
1473
+ <!-- End Annex titles processing -->
1474
+
1475
+ <!-- Part titles processing -->
1287
1476
  <xsl:if test="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@type = 'part']">
1288
1477
  <xsl:variable name="part_num" select="normalize-space((//bipm:bipm-standard)[1]/bipm:bibdata/bipm:ext/bipm:structuredidentifier/bipm:part)"/>
1289
1478
  <xsl:if test="$part_num != ''">
1479
+ <fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
1290
1480
  <!-- Part -->
1291
- <fo:block font-size="17pt" font-weight="{$weight-normal}"><xsl:value-of select="java:replaceAll(java:java.lang.String.new($titles/title-part[@lang='fr']),'#',$part_num)"/></fo:block>
1481
+ <fo:block font-size="{$font-size-number-factor * 17}pt" font-weight="{$weight-normal}"><xsl:value-of select="java:replaceAll(java:java.lang.String.new($titles/title-part[@lang='fr']),'#',$part_num)"/></fo:block>
1292
1482
  <!-- Partie -->
1293
- <fo:block font-size="17pt" font-weight="{$weight-bold}"><xsl:value-of select="java:replaceAll(java:java.lang.String.new($titles/title-part[@lang='en']),'#',$part_num)"/></fo:block>
1483
+ <fo:block font-size="{$font-size-number-factor * 17}pt" font-weight="{$weight-bold}"><xsl:value-of select="java:replaceAll(java:java.lang.String.new($titles/title-part[@lang='en']),'#',$part_num)"/></fo:block>
1294
1484
  </xsl:if>
1295
1485
 
1296
- <fo:block font-size="30.4pt">
1486
+ <fo:block font-size="{$font-size-factor * 30.4}pt">
1297
1487
 
1298
- <xsl:if test="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'fr' and @type = 'part']">
1299
- <fo:block> </fo:block>
1300
- <fo:block font-weight="{$weight-normal}"><xsl:value-of select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'fr' and @type = 'part']"/></fo:block>
1488
+ <xsl:if test="normalize-space($title_part_fr) != ''">
1489
+ <fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
1490
+ <fo:block font-weight="{$weight-normal}"><xsl:copy-of select="$title_part_fr"/></fo:block>
1301
1491
  </xsl:if>
1302
1492
 
1303
- <xsl:if test="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'en' and @type = 'part']">
1304
- <fo:block> </fo:block>
1493
+ <xsl:if test="normalize-space($title_part_en) != ''">
1494
+ <fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
1305
1495
  <fo:block font-weight="{$weight-bold}">
1306
- <xsl:variable name="title_en" select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'en' and @type = 'part']"/>
1307
- <xsl:variable name="mep_text" select="'Mise en pratique'"/>
1308
- <xsl:choose>
1309
- <xsl:when test="contains($title_en, $mep_text)">
1310
- <xsl:value-of select="substring-before($title_en, $mep_text)"/>
1311
- <xsl:text> </xsl:text><fo:inline font-style="italic"><xsl:value-of select="$mep_text"/></fo:inline><xsl:text> </xsl:text>
1312
- <xsl:value-of select="substring-after($title_en, $mep_text)"/>
1313
- </xsl:when>
1314
- <xsl:otherwise>
1315
- <xsl:value-of select="$title_en"/>
1316
- </xsl:otherwise>
1317
- </xsl:choose>
1496
+ <xsl:copy-of select="$title_part_en"/>
1318
1497
  </fo:block>
1319
1498
  </xsl:if>
1320
1499
  </fo:block>
@@ -1325,34 +1504,25 @@
1325
1504
  <xsl:if test="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@type = 'subpart']">
1326
1505
  <xsl:variable name="subpart_num" select="normalize-space((//bipm:bipm-standard)[1]/bipm:bibdata/bipm:ext/bipm:structuredidentifier/bipm:subpart)"/>
1327
1506
  <xsl:if test="$subpart_num != ''">
1507
+ <fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
1328
1508
  <!-- Sub-part -->
1329
- <fo:block font-size="17pt" font-weight="{$weight-normal}"><xsl:value-of select="java:replaceAll(java:java.lang.String.new($titles/title-subpart[@lang='fr']),'#',$subpart_num)"/> <xsl:value-of select="$subpart_num"/></fo:block>
1509
+ <fo:block font-size="{$font-size-number-factor * 17}pt" font-weight="{$weight-normal}"><xsl:value-of select="java:replaceAll(java:java.lang.String.new($titles/title-subpart[@lang='fr']),'#',$subpart_num)"/> <xsl:value-of select="$subpart_num"/></fo:block>
1330
1510
  <!-- Partie de sub -->
1331
- <fo:block font-size="17pt" font-weight="{$weight-bold}"><xsl:value-of select="java:replaceAll(java:java.lang.String.new($titles/title-subpart[@lang='en']),'#',$subpart_num)"/> <xsl:value-of select="$subpart_num"/></fo:block>
1511
+ <fo:block font-size="{$font-size-number-factor * 17}pt" font-weight="{$weight-bold}"><xsl:value-of select="java:replaceAll(java:java.lang.String.new($titles/title-subpart[@lang='en']),'#',$subpart_num)"/> <xsl:value-of select="$subpart_num"/></fo:block>
1332
1512
  </xsl:if>
1333
1513
 
1334
- <fo:block font-size="30.4pt">
1514
+ <fo:block font-size="{$font-size-factor * 30.4}pt">
1335
1515
 
1336
- <xsl:if test="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'fr' and @type = 'subpart']">
1337
- <fo:block> </fo:block>
1338
- <fo:block font-weight="{$weight-normal}"><xsl:value-of select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'fr' and @type = 'subpart']"/></fo:block>
1516
+ <xsl:if test="normalize-space($title_subpart_fr) != ''">
1517
+ <fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
1518
+ <fo:block font-weight="{$weight-normal}"><xsl:copy-of select="$title_subpart_fr"/></fo:block>
1339
1519
  </xsl:if>
1340
1520
 
1341
- <xsl:if test="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'en' and @type = 'subpart']">
1342
- <fo:block> </fo:block>
1521
+ <xsl:if test="normalize-space($title_subpart_en) != ''">
1522
+ <fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
1343
1523
  <fo:block font-weight="{$weight-bold}">
1344
- <xsl:variable name="title_en" select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'en' and @type = 'subpart']"/>
1345
- <xsl:variable name="mep_text" select="'Mise en pratique'"/>
1346
- <xsl:choose>
1347
- <xsl:when test="contains($title_en, $mep_text)">
1348
- <xsl:value-of select="substring-before($title_en, $mep_text)"/>
1349
- <xsl:text> </xsl:text><fo:inline font-style="italic"><xsl:value-of select="$mep_text"/></fo:inline><xsl:text> </xsl:text>
1350
- <xsl:value-of select="substring-after($title_en, $mep_text)"/>
1351
- </xsl:when>
1352
- <xsl:otherwise>
1353
- <xsl:value-of select="$title_en"/>
1354
- </xsl:otherwise>
1355
- </xsl:choose>
1524
+ <xsl:copy-of select="$title_subpart_en"/>
1525
+
1356
1526
  </fo:block>
1357
1527
  </xsl:if>
1358
1528
  </fo:block>
@@ -1444,74 +1614,95 @@
1444
1614
  </xsl:template>
1445
1615
 
1446
1616
  <xsl:template name="insertInnerCoverPage">
1447
- <fo:page-sequence master-reference="title-page" format="1" initial-page-number="1" force-page-count="even">
1448
-
1449
- <fo:flow flow-name="xsl-region-body" font-family="Arial">
1450
-
1451
- <xsl:variable name="languages">
1452
- <xsl:call-template name="getLanguages"/>
1453
- </xsl:variable>
1454
-
1455
- <xsl:variable name="titles">
1456
- <xsl:for-each select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title">
1457
- <xsl:copy-of select="."/>
1458
- </xsl:for-each>
1459
- </xsl:variable>
1460
-
1461
- <xsl:for-each select="xalan:nodeset($languages)/lang">
1462
- <xsl:variable name="curr_lang" select="."/>
1463
- <xsl:variable name="title" select="xalan:nodeset($titles)//bipm:title[@language = $curr_lang and @type='cover']"/>
1464
- <xsl:choose>
1465
- <xsl:when test="position() = 1">
1466
- <fo:block-container font-size="12pt" font-weight="bold" width="55mm">
1467
- <fo:block>
1468
- <xsl:call-template name="add-letter-spacing">
1469
- <xsl:with-param name="text" select="$title"/>
1470
- <xsl:with-param name="letter-spacing" select="0.09"/>
1471
- </xsl:call-template>
1472
- </fo:block>
1473
- <fo:block font-size="10pt">
1474
- <fo:block margin-bottom="6pt"> </fo:block>
1475
- <fo:block margin-bottom="6pt"> </fo:block>
1476
- <fo:block margin-bottom="6pt"> </fo:block>
1477
- <fo:block margin-bottom="6pt" line-height="2.4"> </fo:block>
1478
- </fo:block>
1479
- </fo:block-container>
1480
- </xsl:when>
1481
- <xsl:otherwise>
1482
- <fo:block font-size="10pt" margin-bottom="3pt">
1483
- <xsl:variable name="lang_version">
1484
- <xsl:call-template name="getLangVersion">
1485
- <xsl:with-param name="lang" select="$curr_lang"/>
1486
- </xsl:call-template>
1487
- </xsl:variable>
1488
- <xsl:call-template name="add-letter-spacing">
1489
- <xsl:with-param name="text" select="normalize-space($lang_version)"/>
1490
- <xsl:with-param name="letter-spacing" select="0.09"/>
1491
- </xsl:call-template>
1492
- </fo:block>
1493
- <fo:block-container font-size="12pt" font-weight="bold" border-top="0.5pt solid black" padding-top="2mm" width="45mm">
1494
- <fo:block>
1495
- <xsl:call-template name="add-letter-spacing">
1496
- <xsl:with-param name="text" select="$title"/>
1497
- <xsl:with-param name="letter-spacing" select="0.09"/>
1498
- </xsl:call-template>
1499
- </fo:block>
1500
- </fo:block-container>
1501
- </xsl:otherwise>
1502
-
1503
- </xsl:choose>
1504
- </xsl:for-each>
1617
+
1618
+ <xsl:if test="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@type='cover']">
1619
+
1620
+ <fo:page-sequence master-reference="title-page" format="1" initial-page-number="1" force-page-count="even">
1505
1621
 
1622
+ <fo:flow flow-name="xsl-region-body" font-family="Arial">
1506
1623
 
1624
+ <xsl:variable name="languages">
1625
+ <xsl:call-template name="getLanguages"/>
1626
+ </xsl:variable>
1507
1627
 
1628
+ <xsl:variable name="titles">
1629
+ <xsl:for-each select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title">
1630
+ <xsl:copy-of select="."/>
1631
+ </xsl:for-each>
1632
+ </xsl:variable>
1508
1633
 
1509
- </fo:flow>
1510
- </fo:page-sequence>
1511
-
1634
+ <xsl:for-each select="xalan:nodeset($languages)/lang">
1635
+ <xsl:variable name="curr_lang" select="."/>
1636
+ <xsl:variable name="title" select="xalan:nodeset($titles)//bipm:title[@language = $curr_lang and @type='cover']"/>
1637
+ <xsl:choose>
1638
+ <xsl:when test="position() = 1">
1639
+ <fo:block-container font-size="12pt" font-weight="bold" width="55mm">
1640
+ <fo:block>
1641
+ <xsl:call-template name="add-letter-spacing">
1642
+ <xsl:with-param name="text" select="$title"/>
1643
+ <xsl:with-param name="letter-spacing" select="0.09"/>
1644
+ </xsl:call-template>
1645
+ </fo:block>
1646
+ <fo:block font-size="10pt">
1647
+ <fo:block margin-bottom="6pt"> </fo:block>
1648
+ <fo:block margin-bottom="6pt"> </fo:block>
1649
+ <fo:block margin-bottom="6pt"> </fo:block>
1650
+ <fo:block margin-bottom="6pt" line-height="2.4"> </fo:block>
1651
+ </fo:block>
1652
+ </fo:block-container>
1653
+ </xsl:when>
1654
+ <xsl:otherwise>
1655
+ <fo:block font-size="10pt" margin-bottom="3pt">
1656
+ <xsl:variable name="lang_version">
1657
+ <xsl:call-template name="getLangVersion">
1658
+ <xsl:with-param name="lang" select="$curr_lang"/>
1659
+ </xsl:call-template>
1660
+ </xsl:variable>
1661
+ <xsl:call-template name="add-letter-spacing">
1662
+ <xsl:with-param name="text" select="normalize-space($lang_version)"/>
1663
+ <xsl:with-param name="letter-spacing" select="0.09"/>
1664
+ </xsl:call-template>
1665
+ </fo:block>
1666
+ <fo:block-container font-size="12pt" font-weight="bold" border-top="0.5pt solid black" padding-top="2mm" width="45mm">
1667
+ <fo:block>
1668
+ <xsl:call-template name="add-letter-spacing">
1669
+ <xsl:with-param name="text" select="$title"/>
1670
+ <xsl:with-param name="letter-spacing" select="0.09"/>
1671
+ </xsl:call-template>
1672
+ </fo:block>
1673
+ </fo:block-container>
1674
+ </xsl:otherwise>
1675
+
1676
+ </xsl:choose>
1677
+ </xsl:for-each>
1678
+
1679
+
1680
+
1681
+
1682
+ </fo:flow>
1683
+ </fo:page-sequence>
1684
+ </xsl:if>
1512
1685
  </xsl:template>
1513
1686
  <!-- End Cover Pages -->
1514
1687
 
1688
+
1689
+ <xsl:template match="bipm:bipm-standard/bipm:bibdata/bipm:title[@language = 'en']/text()" priority="3">
1690
+ <xsl:variable name="mep_text" select="'Mise en pratique'"/>
1691
+ <xsl:choose>
1692
+ <xsl:when test="contains(., $mep_text)">
1693
+ <xsl:value-of select="substring-before(., $mep_text)"/>
1694
+ <xsl:text> </xsl:text><fo:inline font-style="italic"><xsl:value-of select="$mep_text"/></fo:inline><xsl:text> </xsl:text>
1695
+ <xsl:value-of select="substring-after(., $mep_text)"/>
1696
+ </xsl:when>
1697
+ <xsl:otherwise>
1698
+ <xsl:value-of select="."/>
1699
+ </xsl:otherwise>
1700
+ </xsl:choose>
1701
+ </xsl:template>
1702
+
1703
+
1704
+
1705
+
1515
1706
  <xsl:template name="insertSeparatorPage">
1516
1707
  <!-- 3 Pages with BIPM Metro logo -->
1517
1708
  <fo:page-sequence master-reference="document" force-page-count="no-force">
@@ -1608,7 +1799,12 @@
1608
1799
  <xsl:attribute name="margin-left">25mm</xsl:attribute>
1609
1800
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1610
1801
  </xsl:if>
1611
-
1802
+ <xsl:if test="@type = 'index'">
1803
+ <xsl:attribute name="font-family">Arial</xsl:attribute>
1804
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1805
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1806
+ <xsl:attribute name="space-before">14pt</xsl:attribute>
1807
+ </xsl:if>
1612
1808
  <!-- <xsl:if test="@level = 2 and not(following-sibling::item[@display='true']) and not(item[@display='true'])">
1613
1809
  <xsl:attribute name="space-after">12pt</xsl:attribute>
1614
1810
  </xsl:if>
@@ -1647,11 +1843,12 @@
1647
1843
  <xsl:if test="@level &gt;= 3">
1648
1844
  <fo:inline padding-right="2mm"><xsl:value-of select="@section"/></fo:inline>
1649
1845
  </xsl:if>
1650
- <xsl:variable name="sectionTitle">
1846
+ <!-- <xsl:variable name="sectionTitle">
1651
1847
  <xsl:apply-templates select="title"/>
1652
- </xsl:variable>
1848
+ </xsl:variable> -->
1653
1849
  <fo:inline>
1654
- <xsl:value-of select="$sectionTitle"/>
1850
+ <!-- <xsl:value-of select="$sectionTitle"/> -->
1851
+ <xsl:apply-templates select="title"/>
1655
1852
  </fo:inline>
1656
1853
  <!-- <xsl:text> </xsl:text> -->
1657
1854
  <!-- keep-together.within-line="always" -->
@@ -1674,7 +1871,9 @@
1674
1871
  <xsl:attribute name="padding-bottom"><xsl:value-of select="normalize-space($space-after)"/></xsl:attribute>
1675
1872
  </xsl:if>
1676
1873
  <fo:block>
1677
- <fo:inline font-family="Arial" font-weight="bold" font-size="10pt"><fo:page-number-citation ref-id="{@id}"/></fo:inline>
1874
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
1875
+ <fo:inline font-family="Arial" font-weight="bold" font-size="10pt"><fo:page-number-citation ref-id="{@id}"/></fo:inline>
1876
+ </fo:basic-link>
1678
1877
  </fo:block>
1679
1878
  </fo:table-cell>
1680
1879
  </fo:table-row>
@@ -1725,7 +1924,11 @@
1725
1924
  </xsl:variable>
1726
1925
 
1727
1926
  <xsl:variable name="type">
1728
- <xsl:value-of select="local-name()"/>
1927
+ <xsl:choose>
1928
+ <xsl:when test="@type = 'index'">index</xsl:when>
1929
+ <xsl:when test="local-name() = 'indexsect'">index</xsl:when>
1930
+ <xsl:otherwise><xsl:value-of select="local-name()"/></xsl:otherwise>
1931
+ </xsl:choose>
1729
1932
  </xsl:variable>
1730
1933
 
1731
1934
  <item id="{@id}" level="{$level}" section="{$section}" type="{$type}" display="{$display}">
@@ -1735,11 +1938,19 @@
1735
1938
  <title>
1736
1939
  <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
1737
1940
  </title>
1738
- <xsl:apply-templates mode="contents"/>
1941
+ <xsl:if test="$type != 'index'">
1942
+ <xsl:apply-templates mode="contents"/>
1943
+ </xsl:if>
1739
1944
  </item>
1740
1945
  </xsl:if>
1741
1946
  </xsl:template>
1742
1947
 
1948
+ <xsl:template match="*[local-name() = 'strong']" mode="contents_item" priority="2">
1949
+ <!-- <xsl:copy> -->
1950
+ <xsl:apply-templates mode="contents_item"/>
1951
+ <!-- </xsl:copy> -->
1952
+ </xsl:template>
1953
+
1743
1954
  <!-- ============================= -->
1744
1955
  <!-- ============================= -->
1745
1956
 
@@ -2966,29 +3177,38 @@
2966
3177
  <xsl:choose>
2967
3178
  <xsl:when test="@pagenumber='true'"><!-- ToC in Appendix, and page in references like this: « Le BIPM et la Convention du Mètre » (page 5). -->
2968
3179
  <fo:inline> <!-- font-weight="bold" -->
3180
+ <!-- DEBUG -->
3181
+ <xsl:if test="@id">
3182
+ <!-- <xsl:value-of select="concat('[', @id,']')"/> -->
3183
+ <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
3184
+ </xsl:if>
2969
3185
  <fo:page-number-citation ref-id="{@target}"/>
3186
+ <!-- <xsl:if test="@to">&#x2013;<fo:page-number-citation ref-id="{@to}"/></xsl:if> -->
2970
3187
  </fo:inline>
2971
3188
  </xsl:when>
2972
3189
  <xsl:when test="starts-with(normalize-space(following-sibling::node()[1]), ')')">
2973
3190
  <!-- add , see p. N -->
2974
3191
  <!-- add , voir p. N -->
2975
- <xsl:apply-templates/>
2976
- <xsl:text>, </xsl:text>
3192
+ <xsl:apply-templates/>
2977
3193
 
2978
- <xsl:variable name="nosee" select="normalize-space(@nosee)"/>
2979
- <xsl:if test="$nosee != 'true'">
2980
- <xsl:variable name="curr_lang" select="ancestor::bipm:bipm-standard/bipm:bibdata/bipm:language[@current = 'true']"/>
2981
- <fo:inline>
2982
- <xsl:if test="ancestor::bipm:note_side">
2983
- <xsl:attribute name="font-style">italic</xsl:attribute>
2984
- </xsl:if>
2985
- <xsl:value-of select="ancestor::bipm:bipm-standard/bipm:localized-strings/bipm:localized-string[@key='see' and @language=$curr_lang]"/>
2986
- </fo:inline>
2987
- <xsl:text> </xsl:text>
2988
- </xsl:if>
3194
+ <xsl:variable name="nopage" select="normalize-space(@nopage)"/>
2989
3195
 
2990
- <xsl:text>p. </xsl:text>
2991
- <fo:page-number-citation ref-id="{@target}"/>
3196
+ <xsl:if test="$nopage != 'true'">
3197
+ <xsl:text>, </xsl:text>
3198
+ <xsl:variable name="nosee" select="normalize-space(@nosee)"/>
3199
+ <xsl:if test="$nosee != 'true'">
3200
+ <xsl:variable name="curr_lang" select="ancestor::bipm:bipm-standard/bipm:bibdata/bipm:language[@current = 'true']"/>
3201
+ <fo:inline>
3202
+ <xsl:if test="ancestor::bipm:note_side">
3203
+ <xsl:attribute name="font-style">italic</xsl:attribute>
3204
+ </xsl:if>
3205
+ <xsl:value-of select="ancestor::bipm:bipm-standard/bipm:localized-strings/bipm:localized-string[@key='see' and @language=$curr_lang]"/>
3206
+ </fo:inline>
3207
+ <xsl:text> </xsl:text>
3208
+ </xsl:if>
3209
+ <xsl:text>p. </xsl:text>
3210
+ <fo:page-number-citation ref-id="{@target}"/>
3211
+ </xsl:if>
2992
3212
  </xsl:when>
2993
3213
  <xsl:otherwise>
2994
3214
  <fo:inline><xsl:apply-templates/></fo:inline>
@@ -3045,6 +3265,9 @@
3045
3265
  </fo:inline>
3046
3266
  </xsl:template>
3047
3267
 
3268
+ <!-- DEBUG -->
3269
+ <!-- <xsl:template match="mathml:math" priority="10"/> -->
3270
+
3048
3271
  <!-- for chemical expressions, when prefix superscripted -->
3049
3272
  <xsl:template match="mathml:msup[count(*) = 2 and count(mathml:mrow) = 2]/mathml:mrow[1][count(*) = 1 and mathml:mtext and (mathml:mtext/text() = '' or not(mathml:mtext/text()))]/mathml:mtext" mode="mathml" priority="2">
3050
3273
  <mathml:mspace height="1ex"/>
@@ -3073,6 +3296,48 @@
3073
3296
  </xsl:copy>
3074
3297
  </xsl:template>
3075
3298
 
3299
+ <!-- issue 'over bar above equation with sub' fixing -->
3300
+ <xsl:template match="mathml:msub/mathml:mrow[1][mathml:mover and count(following-sibling::*) = 1 and following-sibling::mathml:mrow]" mode="mathml" priority="2">
3301
+ <mathml:mstyle>
3302
+ <xsl:copy-of select="."/>
3303
+ </mathml:mstyle>
3304
+ </xsl:template>
3305
+
3306
+ <!-- Decrease space between ()
3307
+ from:
3308
+ <mfenced open="(" close=")">
3309
+ <mrow>
3310
+ <mtext>Cu</mtext>
3311
+ </mrow>
3312
+ </mfenced>
3313
+ to:
3314
+ <mrow>
3315
+ <mtext>(Cu)</mtext>
3316
+ </mrow> -->
3317
+ <xsl:template match="mathml:mfenced[count(*) = 1 and *[count(*) = 1] and */*[count(*) = 0]] | mathml:mfenced[count(*) = 1 and *[count(*) = 1] and */*[count(*) = 1] and */*/*[count(*) = 0]]" mode="mathml" priority="2">
3318
+ <xsl:apply-templates mode="mathml"/>
3319
+ </xsl:template>
3320
+
3321
+ <xsl:template match="mathml:mfenced[count(*) = 1]/*[count(*) = 1]/*[count(*) = 0] | mathml:mfenced[count(*) = 1]/*[count(*) = 1]/*[count(*) = 1]/*[count(*) = 0]" mode="mathml" priority="2"> <!-- [not(following-sibling::*) and not(preceding-sibling::*)] -->
3322
+ <xsl:copy>
3323
+ <xsl:apply-templates select="@*" mode="mathml"/>
3324
+ <xsl:value-of select="ancestor::mathml:mfenced/@open"/>
3325
+ <xsl:value-of select="."/>
3326
+ <xsl:value-of select="ancestor::mathml:mfenced/@close"/>
3327
+ </xsl:copy>
3328
+ </xsl:template>
3329
+
3330
+ <!-- Decrease height of / and | -->
3331
+ <xsl:template match="mathml:mo[normalize-space(text()) = '/' or normalize-space(text()) = '|']" mode="mathml">
3332
+ <xsl:copy>
3333
+ <xsl:apply-templates select="@*" mode="mathml"/>
3334
+ <xsl:if test="not(@stretchy)">
3335
+ <xsl:attribute name="stretchy">false</xsl:attribute>
3336
+ </xsl:if>
3337
+ <xsl:apply-templates mode="mathml"/>
3338
+ </xsl:copy>
3339
+ </xsl:template>
3340
+
3076
3341
  <xsl:template name="insertHeaderFooter">
3077
3342
  <xsl:param name="header-title"/>
3078
3343
  <fo:static-content flow-name="header-odd">
@@ -3199,7 +3464,12 @@
3199
3464
  <xsl:value-of select="concat($day, ' ', $monthStr, ' ', $year)"/>
3200
3465
  </xsl:when>
3201
3466
  <xsl:otherwise>
3202
- <xsl:value-of select="concat($monthStr, ' ', $day, ', ', $year)"/>
3467
+ <!-- <xsl:value-of select="concat($monthStr, ' ', $day, ', ', $year)"/> -->
3468
+ <xsl:value-of select="$monthStr"/>
3469
+ <xsl:text> </xsl:text>
3470
+ <xsl:value-of select="$day"/>
3471
+ <xsl:if test="$day != '' and $year != ''"><xsl:text>, </xsl:text></xsl:if>
3472
+ <xsl:value-of select="$year"/>
3203
3473
  </xsl:otherwise>
3204
3474
  </xsl:choose>
3205
3475
 
@@ -3238,7 +3508,257 @@
3238
3508
  </fo:page-sequence>
3239
3509
  </xsl:template>
3240
3510
  -->
3241
-
3511
+
3512
+
3513
+ <!-- =================== -->
3514
+ <!-- Index processing -->
3515
+ <!-- =================== -->
3516
+
3517
+ <xsl:template match="@*|node()" mode="index_add_id">
3518
+ <xsl:copy>
3519
+ <xsl:apply-templates select="@*|node()" mode="index_add_id"/>
3520
+ </xsl:copy>
3521
+ </xsl:template>
3522
+
3523
+ <xsl:template match="bipm:xref" mode="index_add_id">
3524
+ <xsl:variable name="id">
3525
+ <xsl:call-template name="generateIndexXrefId"/>
3526
+ </xsl:variable>
3527
+ <xsl:copy> <!-- add id to xref -->
3528
+ <xsl:apply-templates select="@*" mode="index_add_id"/>
3529
+ <xsl:attribute name="id">
3530
+ <xsl:value-of select="$id"/>
3531
+ </xsl:attribute>
3532
+ <xsl:apply-templates mode="index_add_id"/>
3533
+ </xsl:copy>
3534
+ <!-- split <xref target="bm1" to="End" pagenumber="true"> to two xref:
3535
+ <xref target="bm1" pagenumber="true"> and <xref target="End" pagenumber="true"> -->
3536
+ <xsl:if test="@to">
3537
+ <xsl:value-of select="$dash"/>
3538
+ <xsl:copy>
3539
+ <xsl:copy-of select="@*"/>
3540
+ <xsl:attribute name="target"><xsl:value-of select="@to"/></xsl:attribute>
3541
+ <xsl:attribute name="id">
3542
+ <xsl:value-of select="$id"/><xsl:text>_to</xsl:text>
3543
+ </xsl:attribute>
3544
+ <xsl:apply-templates mode="index_add_id"/>
3545
+ </xsl:copy>
3546
+ </xsl:if>
3547
+ </xsl:template>
3548
+
3549
+ <xsl:template match="@*|node()" mode="index_update">
3550
+ <xsl:copy>
3551
+ <xsl:apply-templates select="@*|node()" mode="index_update"/>
3552
+ </xsl:copy>
3553
+ </xsl:template>
3554
+
3555
+ <!-- <xsl:template match="bipm:clause[@type = 'index']//bipm:li" mode="index_update"> -->
3556
+ <xsl:template match="bipm:indexsect//bipm:li" mode="index_update">
3557
+ <xsl:copy>
3558
+ <xsl:apply-templates select="@*" mode="index_update"/>
3559
+ <xsl:apply-templates select="node()[1]" mode="process_li_element"/>
3560
+ </xsl:copy>
3561
+ </xsl:template>
3562
+
3563
+ <!-- <xsl:template match="bipm:clause[@type = 'index']//bipm:li/node()" mode="process_li_element" priority="2"> -->
3564
+ <xsl:template match="bipm:indexsect//bipm:li/node()" mode="process_li_element" priority="2">
3565
+ <xsl:param name="element"/>
3566
+ <xsl:param name="remove" select="'false'"/>
3567
+ <xsl:param name="target"/>
3568
+ <!-- <node></node> -->
3569
+ <xsl:choose>
3570
+ <xsl:when test="self::text() and (normalize-space(.) = ',' or normalize-space(.) = $dash) and $remove = 'true'">
3571
+ <!-- skip text (i.e. remove it) and process next element -->
3572
+ <!-- [removed_<xsl:value-of select="."/>] -->
3573
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
3574
+ <xsl:with-param name="target"><xsl:value-of select="$target"/></xsl:with-param>
3575
+ </xsl:apply-templates>
3576
+ </xsl:when>
3577
+ <xsl:when test="self::text()">
3578
+ <xsl:value-of select="."/>
3579
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
3580
+ </xsl:when>
3581
+ <xsl:when test="self::* and local-name(.) = 'xref'">
3582
+ <xsl:variable name="id" select="@id"/>
3583
+ <xsl:variable name="page" select="$index//item[@id = $id]"/>
3584
+ <xsl:variable name="id_next" select="following-sibling::bipm:xref[1]/@id"/>
3585
+ <xsl:variable name="page_next" select="$index//item[@id = $id_next]"/>
3586
+
3587
+ <xsl:variable name="id_prev" select="preceding-sibling::bipm:xref[1]/@id"/>
3588
+ <xsl:variable name="page_prev" select="$index//item[@id = $id_prev]"/>
3589
+
3590
+ <xsl:choose>
3591
+ <!-- 2nd pass -->
3592
+ <!-- if page is equal to page for next and page is not the end of range -->
3593
+ <xsl:when test="$page != '' and $page_next != '' and $page = $page_next and not(contains($page, '_to'))"> <!-- case: 12, 12-14 -->
3594
+ <!-- skip element (i.e. remove it) and remove next text ',' -->
3595
+ <!-- [removed_xref] -->
3596
+
3597
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
3598
+ <xsl:with-param name="remove">true</xsl:with-param>
3599
+ <xsl:with-param name="target">
3600
+ <xsl:choose>
3601
+ <xsl:when test="$target != ''"><xsl:value-of select="$target"/></xsl:when>
3602
+ <xsl:otherwise><xsl:value-of select="@target"/></xsl:otherwise>
3603
+ </xsl:choose>
3604
+ </xsl:with-param>
3605
+ </xsl:apply-templates>
3606
+ </xsl:when>
3607
+
3608
+ <xsl:when test="$page != '' and $page_prev != '' and $page = $page_prev and contains($page_prev, '_to')"> <!-- case: 12-14, 14, ... -->
3609
+ <!-- remove xref -->
3610
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
3611
+ <xsl:with-param name="remove">true</xsl:with-param>
3612
+ </xsl:apply-templates>
3613
+ </xsl:when>
3614
+
3615
+ <xsl:otherwise>
3616
+ <xsl:apply-templates select="." mode="xref_copy">
3617
+ <xsl:with-param name="target" select="$target"/>
3618
+ </xsl:apply-templates>
3619
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
3620
+ </xsl:otherwise>
3621
+ </xsl:choose>
3622
+ </xsl:when>
3623
+ <xsl:when test="self::* and local-name(.) = 'ul'">
3624
+ <!-- ul -->
3625
+ <xsl:apply-templates select="." mode="index_update"/>
3626
+ </xsl:when>
3627
+ <xsl:otherwise>
3628
+ <xsl:apply-templates select="." mode="xref_copy">
3629
+ <xsl:with-param name="target" select="$target"/>
3630
+ </xsl:apply-templates>
3631
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
3632
+ </xsl:otherwise>
3633
+ </xsl:choose>
3634
+ </xsl:template>
3635
+
3636
+ <xsl:template match="@*|node()" mode="xref_copy">
3637
+ <xsl:param name="target"/>
3638
+ <xsl:copy>
3639
+ <xsl:apply-templates select="@*" mode="xref_copy"/>
3640
+ <xsl:if test="$target != '' and not(xalan:nodeset($bookmark_in_fn)//bookmark[. = $target])">
3641
+ <xsl:attribute name="target"><xsl:value-of select="$target"/></xsl:attribute>
3642
+ </xsl:if>
3643
+ <xsl:apply-templates select="node()" mode="xref_copy"/>
3644
+ </xsl:copy>
3645
+ </xsl:template>
3646
+
3647
+
3648
+ <xsl:template name="generateIndexXrefId">
3649
+ <xsl:variable name="level" select="count(ancestor::bipm:ul)"/>
3650
+ <!-- <xsl:variable name="parent_ul_id" select="generate-id(ancestor::bipm:ul[1])"/>
3651
+ <xsl:variable name="item_number" select="count(ancestor::bipm:li[ancestor::bipm:ul[generate-id() = $parent_ul_id]])"/> -->
3652
+ <xsl:variable name="docid">
3653
+ <xsl:call-template name="getDocumentId"/>
3654
+ </xsl:variable>
3655
+ <xsl:variable name="item_number">
3656
+ <!-- <xsl:number count="bipm:li[ancestor::bipm:clause[@type = 'index']]" level="any" /> -->
3657
+ <xsl:number count="bipm:li[ancestor::bipm:indexsect]" level="any"/>
3658
+ </xsl:variable>
3659
+ <xsl:variable name="xref_number"><xsl:number count="bipm:xref"/></xsl:variable>
3660
+ <xsl:value-of select="concat($docid, '_', $item_number, '_', $xref_number)"/> <!-- $level, '_', -->
3661
+ </xsl:template>
3662
+
3663
+ <!-- <xsl:template match="bipm:clause[@type = 'index']" /> -->
3664
+ <!-- <xsl:template match="bipm:clause[@type = 'index']" mode="index"> -->
3665
+ <xsl:template match="bipm:indexsect"/>
3666
+ <xsl:template match="bipm:indexsect" mode="index">
3667
+
3668
+ <fo:page-sequence master-reference="index" force-page-count="no-force">
3669
+ <xsl:variable name="header-title">
3670
+ <xsl:choose>
3671
+ <xsl:when test="./bipm:title[1]/*[local-name() = 'tab']">
3672
+ <xsl:apply-templates select="./bipm:title[1]/*[local-name() = 'tab'][1]/following-sibling::node()" mode="header"/>
3673
+ </xsl:when>
3674
+ <xsl:otherwise>
3675
+ <xsl:apply-templates select="./bipm:title[1]" mode="header"/>
3676
+ </xsl:otherwise>
3677
+ </xsl:choose>
3678
+ </xsl:variable>
3679
+ <xsl:call-template name="insertHeaderFooter">
3680
+ <xsl:with-param name="header-title" select="$header-title"/>
3681
+ </xsl:call-template>
3682
+
3683
+ <fo:flow flow-name="xsl-region-body">
3684
+ <fo:block id="{@id}" span="all">
3685
+ <xsl:apply-templates select="bipm:title"/>
3686
+ </fo:block>
3687
+ <fo:block>
3688
+ <xsl:apply-templates select="*[not(local-name() = 'title')]"/>
3689
+
3690
+ <!-- TEST <xsl:variable name="alphabet" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
3691
+ <xsl:for-each select="(document('')//node())[position() &lt; 26]">
3692
+ <xsl:variable name="letter" select="substring($alphabet, position(), 1)"/>
3693
+ <xsl:if test="position() &lt;= 3">
3694
+ <fo:block font-size="10pt" font-weight="bold" margin-bottom="3pt" keep-with-next="always"><xsl:value-of select="$letter"/>, DEBUG</fo:block>
3695
+
3696
+ <fo:block>accélération due à la pesanteur (gn), 33</fo:block>
3697
+ <fo:block>activité d’un radionucléide, 26, 27</fo:block>
3698
+ <fo:block>ampère (A), 13, 16, 18, 20, 28, 44, 49, 51, 52, 54, 55, 71, 81, 83-86, 89, 91-94, 97, 99, 100, 101, 103-104</fo:block>
3699
+ <fo:block>angle, 25, 26, 33, 37 38, 40, 48, 55, 65</fo:block>
3700
+ <fo:block>atmosphère normale, 52</fo:block>
3701
+ <fo:block>atome gramme, 104</fo:block>
3702
+ <fo:block>atome de césium, niveaux hyperfins, 15, 17, 18, 56, 58, 83, 85, 92, 94, 97, 98, 102</fo:block>
3703
+ <xsl:if test="position() != last()"><fo:block>&#xA0;</fo:block></xsl:if>
3704
+ </xsl:if>
3705
+ </xsl:for-each> -->
3706
+ </fo:block>
3707
+ </fo:flow>
3708
+ </fo:page-sequence>
3709
+ </xsl:template>
3710
+
3711
+ <!-- <xsl:template match="bipm:clause[@type = 'index']/bipm:title" priority="4"> -->
3712
+ <xsl:template match="bipm:indexsect/bipm:title" priority="4">
3713
+ <fo:block font-size="16pt" font-weight="bold" margin-bottom="84pt" margin-left="-18mm">
3714
+ <!-- Index -->
3715
+ <xsl:apply-templates/>
3716
+ </fo:block>
3717
+ </xsl:template>
3718
+
3719
+ <!-- <xsl:template match="bipm:clause[@type = 'index']/bipm:clause" priority="4"> -->
3720
+ <xsl:template match="bipm:indexsect/bipm:clause" priority="4">
3721
+ <xsl:apply-templates/>
3722
+ <fo:block>
3723
+ <xsl:if test="following-sibling::bipm:clause">
3724
+ <fo:block> </fo:block>
3725
+ </xsl:if>
3726
+ </fo:block>
3727
+ </xsl:template>
3728
+
3729
+ <!-- <xsl:template match="bipm:clause[@type = 'index']/bipm:clause/bipm:title" priority="4"> -->
3730
+ <xsl:template match="bipm:indexsect/bipm:clause/bipm:title" priority="4">
3731
+ <!-- Letter A, B, C, ... -->
3732
+ <fo:block font-size="10pt" font-weight="bold" margin-bottom="3pt" keep-with-next="always">
3733
+ <xsl:apply-templates/>
3734
+ </fo:block>
3735
+ </xsl:template>
3736
+
3737
+ <!-- <xsl:template match="bipm:clause[@type = 'index']//bipm:ul" priority="4"> -->
3738
+ <xsl:template match="bipm:indexsect//bipm:ul" priority="4">
3739
+ <xsl:apply-templates/>
3740
+ </xsl:template>
3741
+
3742
+ <!-- <xsl:template match="bipm:clause[@type = 'index']//bipm:li" priority="4"> -->
3743
+ <xsl:template match="bipm:indexsect//bipm:li" priority="4">
3744
+ <xsl:variable name="level" select="count(ancestor::bipm:ul)"/>
3745
+ <fo:block start-indent="{5 * $level}mm" text-indent="-5mm">
3746
+ <xsl:apply-templates/>
3747
+ </fo:block>
3748
+ </xsl:template>
3749
+
3750
+ <xsl:template match="bipm:bookmark">
3751
+ <fo:inline id="{@id}"/>
3752
+ </xsl:template>
3753
+
3754
+ <xsl:template match="*[local-name() = 'stem']/text()">
3755
+ <xsl:value-of select="normalize-space()"/>
3756
+ </xsl:template>
3757
+
3758
+ <!-- =================== -->
3759
+ <!-- End of Index processing -->
3760
+ <!-- =================== -->
3761
+
3242
3762
  <xsl:variable name="Image-Logo-BIPM">
3243
3763
  <xsl:text>iVBORw0KGgoAAAANSUhEUgAAAaIAAADRCAYAAACOyra0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGOTdGMTE3NDA3MjA2ODExODIyQUJFNEQ3OTI1MkI2OSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCMTdGMTkxM0YzNEIxMUVBOEZCREQ0ODFDQjY0QzlCNyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCMTdGMTkxMkYzNEIxMUVBOEZCREQ0ODFDQjY0QzlCNyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBJbkRlc2lnbiBDUzYgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0idXVpZDoyNGQ2ZDM1ZS1kNDc4LTcxNGItYjYwZi1iMDMyYWFmYzM3OTYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5pZDoxNjcwQkZBMDExMjA2ODExODIyQUJFNEQ3OTI1MkI2OSIvPiA8L3JkZjpEZXNjcmlw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</xsl:text>
3244
3764
  </xsl:variable>
@@ -3571,7 +4091,7 @@
3571
4091
  </xsl:if>
3572
4092
  </xsl:template>
3573
4093
 
3574
- <xsl:template match="node()" mode="change_id">
4094
+ <!-- <xsl:template match="node()" mode="change_id">
3575
4095
  <xsl:param name="lang"/>
3576
4096
  <xsl:param name="ignoreReferenceFrom"/>
3577
4097
  <xsl:copy>
@@ -3606,13 +4126,15 @@
3606
4126
  <xsl:value-of select="."/>
3607
4127
  </xsl:attribute>
3608
4128
  </xsl:when>
3609
- <xsl:when test="local-name() = 'id' or local-name() = 'bibitemid' or (local-name() = 'target' and local-name(..) = 'xref')">
4129
+ <xsl:when test="local-name() = 'id' or
4130
+ local-name() = 'bibitemid' or
4131
+ (local-name() = 'target' and local-name(..) = 'xref')">
3610
4132
  <xsl:attribute name="{local-name()}">
3611
4133
  <xsl:value-of select="."/>_<xsl:value-of select="$lang"/><xsl:if test="$doctype = 'guide'">_<xsl:number count="bipm:bipm-standard" level="any"/></xsl:if>
3612
4134
  </xsl:attribute>
3613
4135
  </xsl:when>
3614
4136
  <xsl:otherwise>
3615
- <!-- no change -->
4137
+ no change
3616
4138
  <xsl:copy>
3617
4139
  <xsl:apply-templates select="@*" mode="change_id">
3618
4140
  <xsl:with-param name="lang" select="$lang"/>
@@ -3621,7 +4143,7 @@
3621
4143
  </xsl:copy>
3622
4144
  </xsl:otherwise>
3623
4145
  </xsl:choose>
3624
- </xsl:template>
4146
+ </xsl:template> -->
3625
4147
 
3626
4148
 
3627
4149
 
@@ -3991,6 +4513,9 @@
3991
4513
 
3992
4514
  </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
3993
4515
 
4516
+
4517
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
4518
+
3994
4519
  </xsl:attribute-set><xsl:attribute-set name="quote-style">
3995
4520
 
3996
4521
 
@@ -3998,6 +4523,7 @@
3998
4523
 
3999
4524
 
4000
4525
 
4526
+
4001
4527
  </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
4002
4528
 
4003
4529
 
@@ -4124,209 +4650,242 @@
4124
4650
  </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
4125
4651
  <!-- <xsl:call-template name="add-zero-spaces"/> -->
4126
4652
  <xsl:call-template name="add-zero-spaces-java"/>
4127
- </xsl:template><xsl:template match="*[local-name()='table']">
4653
+ </xsl:template><xsl:template match="*[local-name()='table']" name="table">
4128
4654
 
4129
- <xsl:variable name="simple-table">
4130
- <xsl:call-template name="getSimpleTable"/>
4131
- </xsl:variable>
4655
+ <xsl:variable name="table">
4132
4656
 
4133
-
4134
-
4135
-
4136
-
4137
- <!-- <xsl:if test="$namespace = 'bipm'">
4138
- <fo:block>&#xA0;</fo:block>
4139
- </xsl:if> -->
4140
-
4141
- <!-- $namespace = 'iso' or -->
4142
-
4143
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4144
-
4145
-
4146
-
4147
- <xsl:call-template name="fn_name_display"/>
4657
+ <xsl:variable name="simple-table">
4658
+ <xsl:call-template name="getSimpleTable"/>
4659
+ </xsl:variable>
4148
4660
 
4149
4661
 
4150
-
4151
- <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
4152
-
4153
- <!-- <xsl:variable name="cols-count">
4154
- <xsl:choose>
4155
- <xsl:when test="*[local-name()='thead']">
4156
- <xsl:call-template name="calculate-columns-numbers">
4157
- <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
4158
- </xsl:call-template>
4159
- </xsl:when>
4160
- <xsl:otherwise>
4161
- <xsl:call-template name="calculate-columns-numbers">
4162
- <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
4163
- </xsl:call-template>
4164
- </xsl:otherwise>
4165
- </xsl:choose>
4166
- </xsl:variable> -->
4167
- <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
4168
- <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
4169
-
4170
-
4171
-
4172
- <xsl:variable name="colwidths">
4173
- <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
4174
- <xsl:call-template name="calculate-column-widths">
4175
- <xsl:with-param name="cols-count" select="$cols-count"/>
4176
- <xsl:with-param name="table" select="$simple-table"/>
4177
- </xsl:call-template>
4178
- </xsl:if>
4179
- </xsl:variable>
4180
- <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
4181
-
4182
- <!-- <xsl:variable name="colwidths2">
4183
- <xsl:call-template name="calculate-column-widths">
4184
- <xsl:with-param name="cols-count" select="$cols-count"/>
4185
- </xsl:call-template>
4186
- </xsl:variable> -->
4187
-
4188
- <!-- cols-count=<xsl:copy-of select="$cols-count"/>
4189
- colwidthsNew=<xsl:copy-of select="$colwidths"/>
4190
- colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
4191
-
4192
- <xsl:variable name="margin-left">
4193
- <xsl:choose>
4194
- <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
4195
- <xsl:otherwise>0</xsl:otherwise>
4196
- </xsl:choose>
4197
- </xsl:variable>
4198
-
4199
- <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
4200
4662
 
4201
4663
 
4202
-
4203
-
4204
-
4205
4664
 
4665
+ <!-- <xsl:if test="$namespace = 'bipm'">
4666
+ <fo:block>&#xA0;</fo:block>
4667
+ </xsl:if> -->
4206
4668
 
4207
-
4669
+ <!-- $namespace = 'iso' or -->
4208
4670
 
4671
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4209
4672
 
4673
+
4210
4674
 
4675
+ <xsl:call-template name="fn_name_display"/>
4211
4676
 
4677
+
4212
4678
 
4213
- <xsl:attribute name="space-after">12pt</xsl:attribute>
4214
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
4215
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
4216
- <xsl:if test="not(ancestor::*[local-name()='note_side'])">
4217
- <xsl:attribute name="font-size">10pt</xsl:attribute>
4218
- </xsl:if>
4219
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
4220
- <xsl:if test="@parent-type = 'quote'">
4221
- <xsl:attribute name="font-family">Arial</xsl:attribute>
4222
- <xsl:attribute name="font-size">9pt</xsl:attribute>
4679
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
4680
+
4681
+ <!-- <xsl:variable name="cols-count">
4682
+ <xsl:choose>
4683
+ <xsl:when test="*[local-name()='thead']">
4684
+ <xsl:call-template name="calculate-columns-numbers">
4685
+ <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
4686
+ </xsl:call-template>
4687
+ </xsl:when>
4688
+ <xsl:otherwise>
4689
+ <xsl:call-template name="calculate-columns-numbers">
4690
+ <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
4691
+ </xsl:call-template>
4692
+ </xsl:otherwise>
4693
+ </xsl:choose>
4694
+ </xsl:variable> -->
4695
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
4696
+ <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
4697
+
4698
+
4699
+
4700
+ <xsl:variable name="colwidths">
4701
+ <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
4702
+ <xsl:call-template name="calculate-column-widths">
4703
+ <xsl:with-param name="cols-count" select="$cols-count"/>
4704
+ <xsl:with-param name="table" select="$simple-table"/>
4705
+ </xsl:call-template>
4223
4706
  </xsl:if>
4707
+ </xsl:variable>
4708
+ <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
4709
+
4710
+ <!-- <xsl:variable name="colwidths2">
4711
+ <xsl:call-template name="calculate-column-widths">
4712
+ <xsl:with-param name="cols-count" select="$cols-count"/>
4713
+ </xsl:call-template>
4714
+ </xsl:variable> -->
4224
4715
 
4716
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/>
4717
+ colwidthsNew=<xsl:copy-of select="$colwidths"/>
4718
+ colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
4225
4719
 
4720
+ <xsl:variable name="margin-left">
4721
+ <xsl:choose>
4722
+ <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
4723
+ <xsl:otherwise>0</xsl:otherwise>
4724
+ </xsl:choose>
4725
+ </xsl:variable>
4226
4726
 
4227
- <xsl:variable name="table_attributes">
4228
- <attribute name="table-layout">fixed</attribute>
4229
- <attribute name="width">100%</attribute>
4230
- <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
4231
- <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
4727
+ <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
4728
+
4729
+
4730
+
4731
+
4732
+
4733
+
4734
+
4735
+
4736
+
4737
+
4738
+
4739
+
4740
+
4741
+ <xsl:attribute name="space-after">12pt</xsl:attribute>
4742
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
4743
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
4744
+ <xsl:if test="not(ancestor::*[local-name()='note_side'])">
4745
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
4746
+ </xsl:if>
4747
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
4748
+ <xsl:if test="@parent-type = 'quote'">
4749
+ <xsl:attribute name="font-family">Arial</xsl:attribute>
4750
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
4751
+ </xsl:if>
4752
+
4753
+
4754
+ <xsl:variable name="table_width">
4755
+ <!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
4756
+
4757
+
4758
+
4759
+ <xsl:choose>
4760
+ <xsl:when test="@width"><xsl:value-of select="@width"/></xsl:when>
4761
+ <xsl:otherwise>100%</xsl:otherwise>
4762
+ </xsl:choose>
4763
+
4764
+ </xsl:variable>
4765
+
4766
+ <xsl:variable name="table_attributes">
4767
+ <attribute name="table-layout">fixed</attribute>
4768
+ <attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
4769
+ <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
4770
+ <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
4771
+
4772
+
4773
+
4774
+
4775
+
4776
+
4777
+
4778
+
4779
+
4780
+
4781
+ <xsl:if test="not(ancestor::*[local-name()='preface']) and not(ancestor::*[local-name()='note_side']) and not(ancestor::*[local-name() = 'annex'] and .//*[local-name() = 'xref'][@pagenumber])">
4782
+ <attribute name="border-top">0.5pt solid black</attribute>
4783
+ <attribute name="border-bottom">0.5pt solid black</attribute>
4784
+ </xsl:if>
4785
+ <attribute name="margin-left">0mm</attribute>
4786
+ <attribute name="margin-right">0mm</attribute>
4787
+
4788
+ </xsl:variable>
4232
4789
 
4233
4790
 
4791
+ <fo:table id="{@id}" table-omit-footer-at-break="true">
4792
+
4793
+ <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
4794
+ <xsl:attribute name="{@name}">
4795
+ <xsl:value-of select="."/>
4796
+ </xsl:attribute>
4797
+ </xsl:for-each>
4798
+
4799
+ <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
4800
+ <xsl:if test="$isNoteOrFnExist = 'true'">
4801
+ <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
4802
+ </xsl:if>
4803
+
4804
+ <xsl:choose>
4805
+ <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
4806
+ <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
4807
+ <fo:table-column column-width="{@width}"/>
4808
+ </xsl:for-each>
4809
+ </xsl:when>
4810
+ <xsl:otherwise>
4811
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
4812
+ <xsl:choose>
4813
+ <xsl:when test=". = 1 or . = 0">
4814
+ <fo:table-column column-width="proportional-column-width(2)"/>
4815
+ </xsl:when>
4816
+ <xsl:otherwise>
4817
+ <fo:table-column column-width="proportional-column-width({.})"/>
4818
+ </xsl:otherwise>
4819
+ </xsl:choose>
4820
+ </xsl:for-each>
4821
+ </xsl:otherwise>
4822
+ </xsl:choose>
4823
+
4824
+ <xsl:choose>
4825
+ <xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
4826
+ <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
4827
+ </xsl:when>
4828
+ <xsl:otherwise>
4829
+ <xsl:apply-templates/>
4830
+ </xsl:otherwise>
4831
+ </xsl:choose>
4832
+
4833
+ </fo:table>
4234
4834
 
4835
+ <xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
4836
+ <xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
4837
+ <xsl:call-template name="insertTableFooterInSeparateTable">
4838
+ <xsl:with-param name="table_attributes" select="$table_attributes"/>
4839
+ <xsl:with-param name="colwidths" select="$colwidths"/>
4840
+ <xsl:with-param name="colgroup" select="$colgroup"/>
4841
+ </xsl:call-template>
4842
+ </xsl:for-each>
4235
4843
 
4236
-
4237
-
4238
-
4844
+ <!-- insert footer as table -->
4845
+ <!-- <fo:table>
4846
+ <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
4847
+ <xsl:attribute name="{@name}">
4848
+ <xsl:value-of select="."/>
4849
+ </xsl:attribute>
4850
+ </xsl:for-each>
4851
+
4852
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
4853
+ <xsl:choose>
4854
+ <xsl:when test=". = 1 or . = 0">
4855
+ <fo:table-column column-width="proportional-column-width(2)"/>
4856
+ </xsl:when>
4857
+ <xsl:otherwise>
4858
+ <fo:table-column column-width="proportional-column-width({.})"/>
4859
+ </xsl:otherwise>
4860
+ </xsl:choose>
4861
+ </xsl:for-each>
4862
+ </fo:table>-->
4239
4863
 
4240
-
4241
-
4242
- <xsl:if test="not(ancestor::*[local-name()='preface']) and not(ancestor::*[local-name()='note_side']) and not(ancestor::*[local-name() = 'annex'] and .//*[local-name() = 'xref'][@pagenumber])">
4243
- <attribute name="border-top">0.5pt solid black</attribute>
4244
- <attribute name="border-bottom">0.5pt solid black</attribute>
4245
- </xsl:if>
4246
- <attribute name="margin-left">0mm</attribute>
4247
- <attribute name="margin-right">0mm</attribute>
4248
4864
 
4249
- </xsl:variable>
4250
-
4251
-
4252
- <fo:table id="{@id}" table-omit-footer-at-break="true">
4253
4865
 
4254
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
4255
- <xsl:attribute name="{@name}">
4256
- <xsl:value-of select="."/>
4257
- </xsl:attribute>
4258
- </xsl:for-each>
4259
4866
 
4260
- <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
4261
- <xsl:if test="$isNoteOrFnExist = 'true'">
4262
- <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
4263
- </xsl:if>
4264
4867
 
4265
- <xsl:choose>
4266
- <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
4267
- <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
4268
- <fo:table-column column-width="{@width}"/>
4269
- </xsl:for-each>
4270
- </xsl:when>
4271
- <xsl:otherwise>
4272
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
4273
- <xsl:choose>
4274
- <xsl:when test=". = 1 or . = 0">
4275
- <fo:table-column column-width="proportional-column-width(2)"/>
4276
- </xsl:when>
4277
- <xsl:otherwise>
4278
- <fo:table-column column-width="proportional-column-width({.})"/>
4279
- </xsl:otherwise>
4280
- </xsl:choose>
4281
- </xsl:for-each>
4282
- </xsl:otherwise>
4283
- </xsl:choose>
4868
+ </fo:block-container>
4869
+ </xsl:variable>
4870
+
4871
+
4872
+
4873
+ <xsl:choose>
4874
+ <xsl:when test="@width">
4875
+
4876
+ <!-- centered table when table name is centered (see table-name-style) -->
4284
4877
 
4285
- <xsl:choose>
4286
- <xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
4287
- <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
4288
- </xsl:when>
4289
- <xsl:otherwise>
4290
- <xsl:apply-templates/>
4291
- </xsl:otherwise>
4292
- </xsl:choose>
4293
4878
 
4294
- </fo:table>
4295
-
4296
- <xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
4297
- <xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
4298
- <xsl:call-template name="insertTableFooterInSeparateTable">
4299
- <xsl:with-param name="table_attributes" select="$table_attributes"/>
4300
- <xsl:with-param name="colwidths" select="$colwidths"/>
4301
- <xsl:with-param name="colgroup" select="$colgroup"/>
4302
- </xsl:call-template>
4303
- </xsl:for-each>
4304
-
4305
- <!-- insert footer as table -->
4306
- <!-- <fo:table>
4307
- <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
4308
- <xsl:attribute name="{@name}">
4309
- <xsl:value-of select="."/>
4310
- </xsl:attribute>
4311
- </xsl:for-each>
4312
4879
 
4313
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
4314
- <xsl:choose>
4315
- <xsl:when test=". = 1 or . = 0">
4316
- <fo:table-column column-width="proportional-column-width(2)"/>
4317
- </xsl:when>
4318
- <xsl:otherwise>
4319
- <fo:table-column column-width="proportional-column-width({.})"/>
4320
- </xsl:otherwise>
4321
- </xsl:choose>
4322
- </xsl:for-each>
4323
- </fo:table>-->
4324
-
4325
-
4326
-
4327
-
4328
-
4329
- </fo:block-container>
4880
+ <xsl:copy-of select="$table"/>
4881
+
4882
+
4883
+ </xsl:when>
4884
+ <xsl:otherwise>
4885
+ <xsl:copy-of select="$table"/>
4886
+ </xsl:otherwise>
4887
+ </xsl:choose>
4888
+
4330
4889
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
4331
4890
  <xsl:if test="normalize-space() != ''">
4332
4891
  <fo:block xsl:use-attribute-sets="table-name-style">
@@ -4759,7 +5318,7 @@
4759
5318
 
4760
5319
  <xsl:attribute name="font-weight">normal</xsl:attribute>
4761
5320
  <xsl:attribute name="border">solid black 0pt</xsl:attribute>
4762
- <xsl:attribute name="border-top">solid black 0.5pt</xsl:attribute>
5321
+ <!-- <xsl:attribute name="border-top">solid black 0.5pt</xsl:attribute> -->
4763
5322
  <xsl:attribute name="border-bottom">solid black 0.5pt</xsl:attribute>
4764
5323
  <xsl:attribute name="height">8mm</xsl:attribute>
4765
5324
  <xsl:attribute name="padding-top">2mm</xsl:attribute>
@@ -5227,7 +5786,7 @@
5227
5786
  <xsl:with-param name="table" select="$html-table"/>
5228
5787
  </xsl:call-template>
5229
5788
  </xsl:variable>
5230
- <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
5789
+ <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
5231
5790
  <xsl:variable name="maxlength_dt">
5232
5791
  <xsl:call-template name="getMaxLength_dt"/>
5233
5792
  </xsl:variable>
@@ -5256,13 +5815,22 @@
5256
5815
  </xsl:when>
5257
5816
  <xsl:otherwise>
5258
5817
  <xsl:choose>
5818
+ <!-- to set width check most wide chars like `W` -->
5259
5819
  <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 2"> <!-- if dt contains short text like t90, a, etc -->
5260
- <fo:table-column column-width="5%"/>
5261
- <fo:table-column column-width="95%"/>
5820
+ <fo:table-column column-width="7%"/>
5821
+ <fo:table-column column-width="93%"/>
5822
+ </xsl:when>
5823
+ <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 5"> <!-- if dt contains short text like ABC, etc -->
5824
+ <fo:table-column column-width="15%"/>
5825
+ <fo:table-column column-width="85%"/>
5826
+ </xsl:when>
5827
+ <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 7"> <!-- if dt contains short text like ABCDEF, etc -->
5828
+ <fo:table-column column-width="20%"/>
5829
+ <fo:table-column column-width="80%"/>
5262
5830
  </xsl:when>
5263
- <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 5"> <!-- if dt contains short text like t90, a, etc -->
5264
- <fo:table-column column-width="10%"/>
5265
- <fo:table-column column-width="90%"/>
5831
+ <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 10"> <!-- if dt contains short text like ABCDEFEF, etc -->
5832
+ <fo:table-column column-width="25%"/>
5833
+ <fo:table-column column-width="75%"/>
5266
5834
  </xsl:when>
5267
5835
  <!-- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.7">
5268
5836
  <fo:table-column column-width="60%"/>
@@ -5294,12 +5862,32 @@
5294
5862
  </xsl:otherwise>
5295
5863
  </xsl:choose>
5296
5864
  </xsl:template><xsl:template name="getMaxLength_dt">
5297
- <xsl:for-each select="*[local-name()='dt']">
5298
- <xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
5299
- <xsl:if test="position() = 1">
5300
- <xsl:value-of select="string-length(normalize-space(.))"/>
5301
- </xsl:if>
5302
- </xsl:for-each>
5865
+ <xsl:variable name="lengths">
5866
+ <xsl:for-each select="*[local-name()='dt']">
5867
+ <xsl:variable name="maintext_length" select="string-length(normalize-space(.))"/>
5868
+ <xsl:variable name="attributes">
5869
+ <xsl:for-each select=".//@open"><xsl:value-of select="."/></xsl:for-each>
5870
+ <xsl:for-each select=".//@close"><xsl:value-of select="."/></xsl:for-each>
5871
+ </xsl:variable>
5872
+ <length><xsl:value-of select="string-length(normalize-space(.)) + string-length($attributes)"/></length>
5873
+ </xsl:for-each>
5874
+ </xsl:variable>
5875
+ <xsl:variable name="maxLength">
5876
+ <!-- <xsl:for-each select="*[local-name()='dt']">
5877
+ <xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
5878
+ <xsl:if test="position() = 1">
5879
+ <xsl:value-of select="string-length(normalize-space(.))"/>
5880
+ </xsl:if>
5881
+ </xsl:for-each> -->
5882
+ <xsl:for-each select="xalan:nodeset($lengths)/length">
5883
+ <xsl:sort select="." data-type="number" order="descending"/>
5884
+ <xsl:if test="position() = 1">
5885
+ <xsl:value-of select="."/>
5886
+ </xsl:if>
5887
+ </xsl:for-each>
5888
+ </xsl:variable>
5889
+ <!-- <xsl:message>DEBUG:<xsl:value-of select="$maxLength"/></xsl:message> -->
5890
+ <xsl:value-of select="$maxLength"/>
5303
5891
  </xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']" priority="2">
5304
5892
  <xsl:param name="key_iso"/>
5305
5893
 
@@ -5441,6 +6029,7 @@
5441
6029
 
5442
6030
 
5443
6031
 
6032
+
5444
6033
 
5445
6034
  </xsl:variable>
5446
6035
  <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
@@ -5454,6 +6043,10 @@
5454
6043
  </xsl:if>
5455
6044
  <xsl:apply-templates/>
5456
6045
  </fo:inline>
6046
+ </xsl:template><xsl:template match="*[local-name()='underline']">
6047
+ <fo:inline text-decoration="underline">
6048
+ <xsl:apply-templates/>
6049
+ </fo:inline>
5457
6050
  </xsl:template><xsl:template match="*[local-name()='del']">
5458
6051
  <fo:inline font-size="10pt" color="red" text-decoration="line-through">
5459
6052
  <xsl:apply-templates/>
@@ -5547,6 +6140,10 @@
5547
6140
  <xsl:param name="text" select="."/>
5548
6141
  <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
5549
6142
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| )','$1​')"/>
6143
+ </xsl:template><xsl:template name="add-zero-spaces-link-java">
6144
+ <xsl:param name="text" select="."/>
6145
+ <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
6146
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| |,)','$1​')"/>
5550
6147
  </xsl:template><xsl:template name="add-zero-spaces">
5551
6148
  <xsl:param name="text" select="."/>
5552
6149
  <xsl:variable name="zero-space-after-chars">-</xsl:variable>
@@ -5811,6 +6408,11 @@
5811
6408
  <!-- replace start and end spaces to non-break space -->
5812
6409
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
5813
6410
  </xsl:copy>
6411
+ </xsl:template><xsl:template match="mathml:mi[. = ',' and not(following-sibling::*[1][local-name() = 'mtext' and text() = ' '])]" mode="mathml">
6412
+ <xsl:copy>
6413
+ <xsl:apply-templates select="@*|node()" mode="mathml"/>
6414
+ </xsl:copy>
6415
+ <mathml:mspace width="0.5ex"/>
5814
6416
  </xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
5815
6417
  <xsl:variable name="target">
5816
6418
  <xsl:choose>
@@ -5832,7 +6434,10 @@
5832
6434
  <fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
5833
6435
  <xsl:choose>
5834
6436
  <xsl:when test="normalize-space(.) = ''">
5835
- <xsl:value-of select="$target"/>
6437
+ <!-- <xsl:value-of select="$target"/> -->
6438
+ <xsl:call-template name="add-zero-spaces-link-java">
6439
+ <xsl:with-param name="text" select="$target"/>
6440
+ </xsl:call-template>
5836
6441
  </xsl:when>
5837
6442
  <xsl:otherwise>
5838
6443
  <xsl:apply-templates/>
@@ -6013,6 +6618,8 @@
6013
6618
  </xsl:when>
6014
6619
  <xsl:otherwise>
6015
6620
 
6621
+ <xsl:text>:</xsl:text>
6622
+
6016
6623
 
6017
6624
  </xsl:otherwise>
6018
6625
  </xsl:choose>
@@ -6043,7 +6650,7 @@
6043
6650
  </xsl:if> -->
6044
6651
  </fo:inline>
6045
6652
  </xsl:if>
6046
- </xsl:template><xsl:template match="*[local-name() = 'figure']">
6653
+ </xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
6047
6654
  <fo:block-container id="{@id}">
6048
6655
 
6049
6656
  <xsl:if test="*[local-name() = 'name']">
@@ -6116,6 +6723,8 @@
6116
6723
  <xsl:variable name="bookmark-title_">
6117
6724
  <xsl:call-template name="getLangVersion">
6118
6725
  <xsl:with-param name="lang" select="@lang"/>
6726
+ <xsl:with-param name="doctype" select="@doctype"/>
6727
+ <xsl:with-param name="title" select="@title-part"/>
6119
6728
  </xsl:call-template>
6120
6729
  </xsl:variable>
6121
6730
  <xsl:choose>
@@ -6133,13 +6742,34 @@
6133
6742
  </xsl:choose>
6134
6743
  </fo:bookmark-title>
6135
6744
  <xsl:apply-templates select="contents/item" mode="bookmark"/>
6745
+
6746
+ <xsl:call-template name="insertFigureBookmarks">
6747
+ <xsl:with-param name="contents" select="contents"/>
6748
+ </xsl:call-template>
6749
+
6750
+ <xsl:call-template name="insertTableBookmarks">
6751
+ <xsl:with-param name="contents" select="contents"/>
6752
+ <xsl:with-param name="lang" select="@lang"/>
6753
+ </xsl:call-template>
6754
+
6136
6755
  </fo:bookmark>
6137
6756
 
6138
6757
  </xsl:for-each>
6139
6758
  </xsl:when>
6140
6759
  <xsl:otherwise>
6141
6760
  <xsl:for-each select="xalan:nodeset($contents)/doc">
6761
+
6142
6762
  <xsl:apply-templates select="contents/item" mode="bookmark"/>
6763
+
6764
+ <xsl:call-template name="insertFigureBookmarks">
6765
+ <xsl:with-param name="contents" select="contents"/>
6766
+ </xsl:call-template>
6767
+
6768
+ <xsl:call-template name="insertTableBookmarks">
6769
+ <xsl:with-param name="contents" select="contents"/>
6770
+ <xsl:with-param name="lang" select="@lang"/>
6771
+ </xsl:call-template>
6772
+
6143
6773
  </xsl:for-each>
6144
6774
  </xsl:otherwise>
6145
6775
  </xsl:choose>
@@ -6158,16 +6788,66 @@
6158
6788
 
6159
6789
  </fo:bookmark-tree>
6160
6790
  </xsl:if>
6791
+ </xsl:template><xsl:template name="insertFigureBookmarks">
6792
+ <xsl:param name="contents"/>
6793
+ <xsl:if test="xalan:nodeset($contents)/figure">
6794
+ <fo:bookmark internal-destination="{xalan:nodeset($contents)/figure[1]/@id}" starting-state="hide">
6795
+ <fo:bookmark-title>Figures</fo:bookmark-title>
6796
+ <xsl:for-each select="xalan:nodeset($contents)/figure">
6797
+ <fo:bookmark internal-destination="{@id}">
6798
+ <fo:bookmark-title>
6799
+ <xsl:value-of select="normalize-space(title)"/>
6800
+ </fo:bookmark-title>
6801
+ </fo:bookmark>
6802
+ </xsl:for-each>
6803
+ </fo:bookmark>
6804
+ </xsl:if>
6805
+ </xsl:template><xsl:template name="insertTableBookmarks">
6806
+ <xsl:param name="contents"/>
6807
+ <xsl:param name="lang"/>
6808
+ <xsl:if test="xalan:nodeset($contents)/table">
6809
+ <fo:bookmark internal-destination="{xalan:nodeset($contents)/table[1]/@id}" starting-state="hide">
6810
+ <fo:bookmark-title>
6811
+ <xsl:choose>
6812
+ <xsl:when test="$lang = 'fr'">Tableaux</xsl:when>
6813
+ <xsl:otherwise>Tables</xsl:otherwise>
6814
+ </xsl:choose>
6815
+ </fo:bookmark-title>
6816
+ <xsl:for-each select="xalan:nodeset($contents)/table">
6817
+ <fo:bookmark internal-destination="{@id}">
6818
+ <fo:bookmark-title>
6819
+ <xsl:value-of select="normalize-space(title)"/>
6820
+ </fo:bookmark-title>
6821
+ </fo:bookmark>
6822
+ </xsl:for-each>
6823
+ </fo:bookmark>
6824
+ </xsl:if>
6161
6825
  </xsl:template><xsl:template name="getLangVersion">
6162
6826
  <xsl:param name="lang"/>
6827
+ <xsl:param name="doctype" select="''"/>
6828
+ <xsl:param name="title" select="''"/>
6163
6829
  <xsl:choose>
6164
6830
  <xsl:when test="$lang = 'en'">
6165
6831
 
6166
- English version
6832
+
6833
+ <xsl:choose>
6834
+ <xsl:when test="$doctype = 'guide'">
6835
+ <xsl:value-of select="$title"/>
6836
+ </xsl:when>
6837
+ <xsl:otherwise>English version</xsl:otherwise>
6838
+ </xsl:choose>
6839
+
6167
6840
  </xsl:when>
6168
6841
  <xsl:when test="$lang = 'fr'">
6169
6842
 
6170
- Version française
6843
+
6844
+ <xsl:choose>
6845
+ <xsl:when test="$doctype = 'guide'">
6846
+ <xsl:value-of select="$title"/>
6847
+ </xsl:when>
6848
+ <xsl:otherwise>Version française</xsl:otherwise>
6849
+ </xsl:choose>
6850
+
6171
6851
  </xsl:when>
6172
6852
  <xsl:when test="$lang = 'de'">Deutsche</xsl:when>
6173
6853
  <xsl:otherwise><xsl:value-of select="$lang"/> version</xsl:otherwise>
@@ -6195,6 +6875,12 @@
6195
6875
  <!-- <xsl:text> </xsl:text> -->
6196
6876
  </xsl:template><xsl:template name="getSection">
6197
6877
  <xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
6878
+ <!--
6879
+ <xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
6880
+ <xsl:value-of select="."/>
6881
+ </xsl:for-each>
6882
+ -->
6883
+
6198
6884
  </xsl:template><xsl:template name="getName">
6199
6885
  <xsl:choose>
6200
6886
  <xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
@@ -6247,6 +6933,12 @@
6247
6933
  <xsl:copy>
6248
6934
  <xsl:apply-templates mode="contents_item"/>
6249
6935
  </xsl:copy>
6936
+ </xsl:template><xsl:template match="*[local-name() = 'em']" mode="contents_item">
6937
+ <xsl:copy>
6938
+ <xsl:apply-templates mode="contents_item"/>
6939
+ </xsl:copy>
6940
+ </xsl:template><xsl:template match="*[local-name() = 'stem']" mode="contents_item">
6941
+ <xsl:copy-of select="."/>
6250
6942
  </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
6251
6943
  <xsl:text> </xsl:text>
6252
6944
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
@@ -6272,6 +6964,7 @@
6272
6964
 
6273
6965
 
6274
6966
 
6967
+
6275
6968
 
6276
6969
 
6277
6970
 
@@ -6652,10 +7345,13 @@
6652
7345
  </xsl:if>
6653
7346
  </xsl:if>
6654
7347
 
7348
+
6655
7349
  <fo:block-container margin-left="0mm">
6656
7350
 
6657
7351
  <fo:block xsl:use-attribute-sets="quote-style">
6658
- <xsl:apply-templates select=".//*[local-name() = 'p']"/>
7352
+ <!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
7353
+
7354
+ <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
6659
7355
  </fo:block>
6660
7356
  <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
6661
7357
  <fo:block xsl:use-attribute-sets="quote-source-style">
@@ -6809,6 +7505,7 @@
6809
7505
 
6810
7506
 
6811
7507
 
7508
+
6812
7509
 
6813
7510
 
6814
7511
 
@@ -6820,7 +7517,7 @@
6820
7517
 
6821
7518
 
6822
7519
 
6823
- </xsl:template><xsl:template match="/*/*[local-name() = 'preface']/*" priority="2">
7520
+ </xsl:template><xsl:template match="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
6824
7521
  <fo:block break-after="page"/>
6825
7522
  <fo:block>
6826
7523
  <xsl:call-template name="setId"/>
@@ -6828,10 +7525,11 @@
6828
7525
  </fo:block>
6829
7526
  </xsl:template><xsl:template match="*[local-name() = 'clause']">
6830
7527
  <fo:block>
6831
- <xsl:call-template name="setId"/>
7528
+ <xsl:call-template name="setId"/>
6832
7529
 
6833
7530
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
6834
7531
 
7532
+
6835
7533
  <xsl:apply-templates/>
6836
7534
  </fo:block>
6837
7535
  </xsl:template><xsl:template match="*[local-name() = 'definitions']">
@@ -7006,6 +7704,8 @@
7006
7704
  <xsl:value-of select="translate(.,'. ','')"/>
7007
7705
  </xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'forename']/text()" mode="strip">
7008
7706
  <xsl:value-of select="substring(.,1,1)"/>
7707
+ </xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
7708
+ <fo:inline><xsl:apply-templates/></fo:inline>
7009
7709
  </xsl:template><xsl:template name="convertDate">
7010
7710
  <xsl:param name="date"/>
7011
7711
  <xsl:param name="format" select="'short'"/>
@@ -7030,6 +7730,57 @@
7030
7730
  </xsl:variable>
7031
7731
  <xsl:variable name="result">
7032
7732
  <xsl:choose>
7733
+ <xsl:when test="$format = 'ddMMyyyy'">
7734
+ <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7735
+ <xsl:text> </xsl:text>
7736
+ <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
7737
+ </xsl:when>
7738
+ <xsl:when test="$format = 'ddMM'">
7739
+ <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7740
+ <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
7741
+ </xsl:when>
7742
+ <xsl:when test="$format = 'short' or $day = ''">
7743
+ <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
7744
+ </xsl:when>
7745
+ <xsl:otherwise>
7746
+ <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
7747
+ </xsl:otherwise>
7748
+ </xsl:choose>
7749
+ </xsl:variable>
7750
+ <xsl:value-of select="$result"/>
7751
+ </xsl:template><xsl:template name="convertDateLocalized">
7752
+ <xsl:param name="date"/>
7753
+ <xsl:param name="format" select="'short'"/>
7754
+ <xsl:variable name="year" select="substring($date, 1, 4)"/>
7755
+ <xsl:variable name="month" select="substring($date, 6, 2)"/>
7756
+ <xsl:variable name="day" select="substring($date, 9, 2)"/>
7757
+ <xsl:variable name="monthStr">
7758
+ <xsl:choose>
7759
+ <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>
7760
+ <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>
7761
+ <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>
7762
+ <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>
7763
+ <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>
7764
+ <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>
7765
+ <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>
7766
+ <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>
7767
+ <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>
7768
+ <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>
7769
+ <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>
7770
+ <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>
7771
+ </xsl:choose>
7772
+ </xsl:variable>
7773
+ <xsl:variable name="result">
7774
+ <xsl:choose>
7775
+ <xsl:when test="$format = 'ddMMyyyy'">
7776
+ <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7777
+ <xsl:text> </xsl:text>
7778
+ <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
7779
+ </xsl:when>
7780
+ <xsl:when test="$format = 'ddMM'">
7781
+ <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7782
+ <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
7783
+ </xsl:when>
7033
7784
  <xsl:when test="$format = 'short' or $day = ''">
7034
7785
  <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
7035
7786
  </xsl:when>
@@ -7045,7 +7796,7 @@
7045
7796
  <xsl:param name="charDelim" select="', '"/>
7046
7797
  <xsl:choose>
7047
7798
  <xsl:when test="$sorting = 'true' or $sorting = 'yes'">
7048
- <xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
7799
+ <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
7049
7800
  <xsl:sort data-type="text" order="ascending"/>
7050
7801
  <xsl:call-template name="insertKeyword">
7051
7802
  <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
@@ -7054,7 +7805,7 @@
7054
7805
  </xsl:for-each>
7055
7806
  </xsl:when>
7056
7807
  <xsl:otherwise>
7057
- <xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
7808
+ <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
7058
7809
  <xsl:call-template name="insertKeyword">
7059
7810
  <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
7060
7811
  <xsl:with-param name="charDelim" select="$charDelim"/>
@@ -7071,6 +7822,9 @@
7071
7822
  <xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
7072
7823
  </xsl:choose>
7073
7824
  </xsl:template><xsl:template name="addPDFUAmeta">
7825
+ <xsl:variable name="lang">
7826
+ <xsl:call-template name="getLang"/>
7827
+ </xsl:variable>
7074
7828
  <fo:declarations>
7075
7829
  <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
7076
7830
  <pdf:dictionary type="normal" key="ViewerPreferences">
@@ -7083,13 +7837,16 @@
7083
7837
  <!-- Dublin Core properties go here -->
7084
7838
  <dc:title>
7085
7839
  <xsl:variable name="title">
7086
-
7087
-
7088
- <xsl:value-of select="//*[local-name() = 'bibdata'][@type='standard']/*[local-name() = 'title'][@language = 'en' and @type = 'main']"/>
7089
-
7090
-
7091
-
7092
-
7840
+ <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
7841
+
7842
+
7843
+ <xsl:value-of select="*[local-name() = 'title'][@language = $lang and @type = 'main']"/>
7844
+
7845
+
7846
+
7847
+
7848
+
7849
+ </xsl:for-each>
7093
7850
  </xsl:variable>
7094
7851
  <xsl:choose>
7095
7852
  <xsl:when test="normalize-space($title) != ''">
@@ -7101,20 +7858,22 @@
7101
7858
  </xsl:choose>
7102
7859
  </dc:title>
7103
7860
  <dc:creator>
7104
-
7105
-
7106
- <xsl:value-of select="//*[local-name() = 'bibdata'][@type='standard']/*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']/*[local-name() = 'organization']/*[local-name() = 'name']"/>
7107
-
7108
-
7109
- </dc:creator>
7110
- <dc:description>
7111
- <xsl:variable name="abstract">
7861
+ <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
7862
+
7863
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
7864
+ <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
7865
+ <xsl:if test="position() != last()">; </xsl:if>
7866
+ </xsl:for-each>
7112
7867
 
7113
7868
 
7114
7869
 
7870
+ </xsl:for-each>
7871
+ </dc:creator>
7872
+ <dc:description>
7873
+ <xsl:variable name="abstract">
7115
7874
 
7875
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
7116
7876
 
7117
- <xsl:copy-of select="//*[local-name() = 'bibdata'][@type='standard']/*[local-name() = 'abstract']//text()"/>
7118
7877
 
7119
7878
  </xsl:variable>
7120
7879
  <xsl:value-of select="normalize-space($abstract)"/>
@@ -7226,6 +7985,7 @@
7226
7985
 
7227
7986
  <xsl:value-of select="document('')//*/namespace::bipm"/>
7228
7987
 
7988
+
7229
7989
  </xsl:variable>
7230
7990
  <xsl:if test="$documentNS != $XSLNS">
7231
7991
  <xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
@@ -7285,6 +8045,11 @@
7285
8045
  <xsl:call-template name="getLang"/>
7286
8046
  </xsl:variable>
7287
8047
 
7288
- <xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
8048
+ <xsl:choose>
8049
+ <xsl:when test="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]">
8050
+ <xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
8051
+ </xsl:when>
8052
+ <xsl:otherwise><xsl:value-of select="$key"/></xsl:otherwise>
8053
+ </xsl:choose>
7289
8054
 
7290
8055
  </xsl:template></xsl:stylesheet>