metanorma-bipm 0.0.5 → 1.0.4
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.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +3 -0
- data/lib/asciidoctor/bipm/basicdoc.rng +52 -3
- data/lib/asciidoctor/bipm/bipm.rng +8 -1
- data/lib/asciidoctor/bipm/boilerplate-en.xml +1 -1
- data/lib/asciidoctor/bipm/boilerplate-fr.xml +1 -1
- data/lib/asciidoctor/bipm/boilerplate-jcgm-en.xml +37 -0
- data/lib/asciidoctor/bipm/converter.rb +28 -17
- data/lib/asciidoctor/bipm/isodoc.rng +114 -3
- data/lib/isodoc/bipm/base_convert.rb +20 -7
- data/lib/isodoc/bipm/bipm.brochure.xsl +1337 -511
- data/lib/isodoc/bipm/bipm.guide.xsl +1337 -511
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +1337 -511
- data/lib/isodoc/bipm/bipm.rapport.xsl +1337 -511
- data/lib/isodoc/bipm/html/html_bipm_intro.html +1 -1
- data/lib/isodoc/bipm/html/html_bipm_titlepage.html +3 -0
- data/lib/isodoc/bipm/i18n-en.yaml +2 -0
- data/lib/isodoc/bipm/i18n-fr.yaml +6 -4
- data/lib/isodoc/bipm/index.rb +136 -0
- data/lib/isodoc/bipm/jcgm.standard.xsl +5943 -0
- data/lib/isodoc/bipm/metadata.rb +5 -1
- data/lib/isodoc/bipm/pdf_convert.rb +10 -1
- data/lib/isodoc/bipm/presentation_xml_convert.rb +5 -0
- data/lib/isodoc/bipm/xref.rb +24 -13
- data/lib/metanorma/bipm/processor.rb +11 -0
- data/lib/metanorma/bipm/version.rb +1 -1
- data/metanorma-bipm.gemspec +1 -1
- data/metanorma.yml +7 -3
- metadata +8 -6
- data/lib/metanorma/bipm/fonts_manifest.yaml +0 -7
@@ -7,16 +7,29 @@ module IsoDoc
|
|
7
7
|
Metanorma::BIPM.configuration
|
8
8
|
end
|
9
9
|
|
10
|
+
def convert1(docxml, filename, dir)
|
11
|
+
@jcgm = docxml&.at(ns("//bibdata/ext/editorialgroup/committee/@acronym"))&.value == "JCGM"
|
12
|
+
super
|
13
|
+
end
|
14
|
+
|
10
15
|
def middle(isoxml, out)
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
+
if @jcgm
|
17
|
+
super
|
18
|
+
else
|
19
|
+
middle_title(isoxml, out)
|
20
|
+
middle_admonitions(isoxml, out)
|
21
|
+
clause isoxml, out
|
22
|
+
annex isoxml, out
|
23
|
+
bibliography isoxml, out
|
24
|
+
end
|
16
25
|
end
|
17
26
|
|
18
|
-
def middle_clause
|
19
|
-
|
27
|
+
def middle_clause(docxml)
|
28
|
+
if @jcgm
|
29
|
+
super
|
30
|
+
else
|
31
|
+
"//sections/*"
|
32
|
+
end
|
20
33
|
end
|
21
34
|
|
22
35
|
def render_identifier(id)
|
@@ -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,84 @@
|
|
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:variable>
|
119
|
+
|
120
|
+
<xsl:variable name="current_document_index">
|
121
|
+
<xsl:apply-templates select="xalan:nodeset($current_document_index_id)" mode="index_update"/>
|
122
|
+
</xsl:variable>
|
123
|
+
|
124
|
+
<xsl:for-each select="xalan:nodeset($current_document_index)">
|
125
|
+
<doc id="{$docid}">
|
126
|
+
<xsl:copy-of select="."/>
|
127
|
+
</doc>
|
128
|
+
</xsl:for-each>
|
129
|
+
|
130
|
+
</xsl:for-each>
|
131
|
+
|
132
|
+
</xsl:for-each>
|
133
|
+
</xsl:when>
|
134
|
+
<xsl:otherwise>
|
135
|
+
<xsl:for-each select="(//bipm:bipm-standard)[*[local-name()='bibdata']/*[local-name()='language'][@current = 'true'] = $doc_split_by_language]">
|
136
|
+
|
137
|
+
<xsl:variable name="current_document">
|
138
|
+
<xsl:copy-of select="."/>
|
139
|
+
</xsl:variable>
|
140
|
+
|
141
|
+
<xsl:for-each select="xalan:nodeset($current_document)">
|
142
|
+
|
143
|
+
<xsl:variable name="docid">
|
144
|
+
<xsl:call-template name="getDocumentId"/>
|
145
|
+
</xsl:variable>
|
146
|
+
|
147
|
+
<xsl:variable name="current_document_index_id">
|
148
|
+
<xsl:apply-templates select=".//bipm:clause[@type = 'index']" mode="index_add_id"/>
|
149
|
+
</xsl:variable>
|
150
|
+
|
151
|
+
<xsl:variable name="current_document_index">
|
152
|
+
<xsl:apply-templates select="xalan:nodeset($current_document_index_id)" mode="index_update"/>
|
153
|
+
</xsl:variable>
|
154
|
+
|
155
|
+
<xsl:for-each select="xalan:nodeset($current_document_index)">
|
156
|
+
<doc id="{$docid}">
|
157
|
+
<xsl:copy-of select="."/>
|
158
|
+
</doc>
|
159
|
+
</xsl:for-each>
|
160
|
+
|
161
|
+
</xsl:for-each>
|
162
|
+
|
163
|
+
</xsl:for-each>
|
164
|
+
</xsl:otherwise>
|
165
|
+
</xsl:choose>
|
166
|
+
</xsl:variable>
|
167
|
+
|
168
|
+
<xsl:variable name="bookmark_in_fn">
|
169
|
+
<xsl:for-each select="//bipm:bookmark[ancestor::bipm:fn]">
|
170
|
+
<bookmark><xsl:value-of select="@id"/></bookmark>
|
171
|
+
</xsl:for-each>
|
172
|
+
</xsl:variable>
|
173
|
+
|
174
|
+
<xsl:variable name="dash" select="'–'"/>
|
175
|
+
|
93
176
|
<xsl:variable name="ids">
|
94
177
|
<xsl:for-each select="//*[@id]">
|
95
178
|
<id><xsl:value-of select="@id"/></id>
|
@@ -101,7 +184,7 @@
|
|
101
184
|
|
102
185
|
|
103
186
|
|
104
|
-
<xsl:variable name="independentAppendix" select="normalize-space(
|
187
|
+
<xsl:variable name="independentAppendix" select="normalize-space((//bipm:bipm-standard)[1]/bipm:bibdata/bipm:ext/bipm:structuredidentifier/bipm:appendix)"/>
|
105
188
|
<!-- <xsl:variable name="independentAppendix" select="normalize-space(/bipm:bipm-standard/bipm:bibdata/bipm:title[@type = 'appendix'])"/> -->
|
106
189
|
|
107
190
|
<xsl:variable name="doctype" select="//bipm:bipm-standard/bipm:bibdata/bipm:ext/bipm:doctype"/>
|
@@ -116,6 +199,9 @@
|
|
116
199
|
<xsl:apply-templates select="/*/bipm:annex" mode="contents"/>
|
117
200
|
<xsl:apply-templates select="/*/bipm:bibliography/bipm:references[not(@normative='true')]" mode="contents"/>
|
118
201
|
|
202
|
+
<!-- Index -->
|
203
|
+
<xsl:apply-templates select="//bipm:clause[@type = 'index']" mode="contents"/>
|
204
|
+
|
119
205
|
</contents>
|
120
206
|
</xsl:template>
|
121
207
|
|
@@ -195,15 +281,6 @@
|
|
195
281
|
</fo:repeatable-page-master-alternatives>
|
196
282
|
</fo:page-sequence-master>
|
197
283
|
|
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
284
|
|
208
285
|
</fo:layout-master-set>
|
209
286
|
|
@@ -245,7 +322,7 @@
|
|
245
322
|
<xsl:variable name="lang" select="*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
|
246
323
|
<xsl:variable name="num"><xsl:number level="any" count="bipm:bipm-standard"/></xsl:variable>
|
247
324
|
<!-- change id to prevent identical id in different documents in one container -->
|
248
|
-
<xsl:variable name="current_document">
|
325
|
+
<!-- <xsl:variable name="current_document">
|
249
326
|
<xsl:apply-templates select="." mode="change_id">
|
250
327
|
<xsl:with-param name="lang" select="$lang"/>
|
251
328
|
<xsl:with-param name="ignoreReferenceFrom" select="'true'"/>
|
@@ -254,6 +331,10 @@
|
|
254
331
|
|
255
332
|
<xsl:variable name="flatxml">
|
256
333
|
<xsl:apply-templates select="xalan:nodeset($current_document)" mode="flatxml"/>
|
334
|
+
</xsl:variable> -->
|
335
|
+
|
336
|
+
<xsl:variable name="flatxml">
|
337
|
+
<xsl:apply-templates select="." mode="flatxml"/>
|
257
338
|
</xsl:variable>
|
258
339
|
|
259
340
|
<!-- flatxml=<xsl:copy-of select="$flatxml"/> -->
|
@@ -269,7 +350,7 @@
|
|
269
350
|
<xsl:variable name="lang" select="*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
|
270
351
|
<xsl:variable name="num"><xsl:number level="any" count="bipm:bipm-standard"/></xsl:variable>
|
271
352
|
<!-- change id to prevent identical id in different documents in one container -->
|
272
|
-
<xsl:variable name="current_document">
|
353
|
+
<!-- <xsl:variable name="current_document">
|
273
354
|
<xsl:apply-templates select="." mode="change_id">
|
274
355
|
<xsl:with-param name="lang" select="$lang"/>
|
275
356
|
</xsl:apply-templates>
|
@@ -277,6 +358,10 @@
|
|
277
358
|
|
278
359
|
<xsl:variable name="flatxml">
|
279
360
|
<xsl:apply-templates select="xalan:nodeset($current_document)" mode="flatxml"/>
|
361
|
+
</xsl:variable> -->
|
362
|
+
|
363
|
+
<xsl:variable name="flatxml">
|
364
|
+
<xsl:apply-templates select="." mode="flatxml"/>
|
280
365
|
</xsl:variable>
|
281
366
|
|
282
367
|
<xsl:apply-templates select="xalan:nodeset($flatxml)/bipm:bipm-standard" mode="bipm-standard">
|
@@ -296,6 +381,9 @@
|
|
296
381
|
</xsl:variable>
|
297
382
|
|
298
383
|
<!-- flatxml=<xsl:copy-of select="$flatxml"/> -->
|
384
|
+
|
385
|
+
<!-- indexes=<xsl:copy-of select="$indexes"/> -->
|
386
|
+
|
299
387
|
|
300
388
|
<xsl:apply-templates select="xalan:nodeset($flatxml)/bipm:bipm-standard" mode="bipm-standard">
|
301
389
|
<xsl:with-param name="curr_docnum" select="1"/>
|
@@ -586,7 +674,7 @@
|
|
586
674
|
|
587
675
|
<!-- copy 'ol' 'ul' properties to each 'li' -->
|
588
676
|
<!-- OBSOLETE: move note for list (list level note) into latest 'li' -->
|
589
|
-
<!-- move note for list (list level note) into first 'li' -->
|
677
|
+
<!-- NOW: move note for list (list level note) into first 'li' -->
|
590
678
|
<!-- move fn for list-item (list-item level footnote) into first 'li' -->
|
591
679
|
<xsl:template match="bipm:li" mode="flatxml_list">
|
592
680
|
<xsl:copy>
|
@@ -618,6 +706,15 @@
|
|
618
706
|
</xsl:otherwise>
|
619
707
|
</xsl:choose>
|
620
708
|
</xsl:for-each>
|
709
|
+
|
710
|
+
<!-- move note(s) after ul/ol into first 'li' -->
|
711
|
+
<xsl:if test="not(ancestor::bipm:quote)">
|
712
|
+
<xsl:variable name="list_id" select="generate-id(..)"/>
|
713
|
+
<xsl:for-each select="../following-sibling::bipm:note[generate-id(preceding-sibling::*[not(local-name()='note') and not(local-name()='quote')][1]) = $list_id]">
|
714
|
+
<xsl:call-template name="change_note_kind"/>
|
715
|
+
</xsl:for-each>
|
716
|
+
</xsl:if>
|
717
|
+
|
621
718
|
|
622
719
|
<xsl:if test="ancestor::bipm:quote or not(ancestor::bipm:table)">
|
623
720
|
|
@@ -726,7 +823,7 @@
|
|
726
823
|
</xsl:choose>
|
727
824
|
</xsl:variable>
|
728
825
|
|
729
|
-
<xsl:number value="$start_value + $curr_value" format="{$format}"/>
|
826
|
+
<xsl:number value="$start_value + $curr_value" format="{$format}" lang="en"/>
|
730
827
|
|
731
828
|
</xsl:otherwise>
|
732
829
|
</xsl:choose>
|
@@ -738,6 +835,31 @@
|
|
738
835
|
</xsl:when>
|
739
836
|
</xsl:choose>
|
740
837
|
</xsl:template>
|
838
|
+
|
839
|
+
<xsl:template match="bipm:clause[@type = 'index']" mode="flatxml"/>
|
840
|
+
<!-- <xsl:template match="bipm:clause[@type = 'index']" mode="flatxml">
|
841
|
+
<xsl:copy>
|
842
|
+
<xsl:apply-templates select="@*" mode="flatxml_index"/>
|
843
|
+
<xsl:apply-templates mode="flatxml_index"/>
|
844
|
+
</xsl:copy>
|
845
|
+
</xsl:template>
|
846
|
+
|
847
|
+
<xsl:template match="@*|node()" mode="flatxml_index">
|
848
|
+
<xsl:copy>
|
849
|
+
<xsl:apply-templates select="@*|node()" mode="flatxml_index"/>
|
850
|
+
</xsl:copy>
|
851
|
+
</xsl:template>
|
852
|
+
|
853
|
+
<xsl:template match="bipm:xref" mode="flatxml_index">
|
854
|
+
<xsl:copy>
|
855
|
+
<xsl:apply-templates select="@*" mode="flatxml_index"/>
|
856
|
+
<xsl:attribute name="id">
|
857
|
+
<xsl:value-of select="generate-id(.)"/>
|
858
|
+
</xsl:attribute>
|
859
|
+
<xsl:apply-templates mode="flatxml_index"/>
|
860
|
+
</xsl:copy>
|
861
|
+
</xsl:template> -->
|
862
|
+
|
741
863
|
<!-- ================================= -->
|
742
864
|
<!-- END: Flattening xml for fit notes at page sides (margins) -->
|
743
865
|
<!-- ================================= -->
|
@@ -832,43 +954,47 @@
|
|
832
954
|
<xsl:apply-templates select="bipm:boilerplate/bipm:license-statement"/>
|
833
955
|
|
834
956
|
<fo:block-container absolute-position="fixed" top="200mm" height="69mm" font-family="Times New Roman" text-align="center" display-align="after">
|
835
|
-
<
|
836
|
-
|
837
|
-
|
838
|
-
<
|
839
|
-
<
|
840
|
-
|
841
|
-
|
957
|
+
<fo:block>
|
958
|
+
<xsl:apply-templates select="bipm:boilerplate/bipm:feedback-statement"/>
|
959
|
+
<xsl:variable name="ISBN" select="normalize-space(bipm:bibdata/bipm:docidentifier[@type='ISBN'])"/>
|
960
|
+
<xsl:if test="$ISBN != ''">
|
961
|
+
<fo:block margin-top="15mm">
|
962
|
+
<xsl:text>ISBN </xsl:text><xsl:value-of select="$ISBN"/>
|
963
|
+
</fo:block>
|
964
|
+
</xsl:if>
|
965
|
+
</fo:block>
|
842
966
|
</fo:block-container>
|
843
967
|
|
844
968
|
</fo:flow>
|
845
969
|
</fo:page-sequence>
|
846
970
|
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
|
853
|
-
|
854
|
-
|
855
|
-
|
856
|
-
|
857
|
-
|
858
|
-
|
859
|
-
|
860
|
-
|
861
|
-
|
862
|
-
|
863
|
-
|
864
|
-
|
865
|
-
|
866
|
-
|
867
|
-
<
|
868
|
-
|
869
|
-
|
870
|
-
|
871
|
-
|
971
|
+
|
972
|
+
<xsl:if test="bipm:preface/*">
|
973
|
+
<fo:page-sequence master-reference="document" force-page-count="no-force">
|
974
|
+
<xsl:call-template name="insertFootnoteSeparator"/>
|
975
|
+
|
976
|
+
<xsl:variable name="header-title">
|
977
|
+
<xsl:choose>
|
978
|
+
<xsl:when test="bipm:preface/*[1]/bipm:title[1]/*[local-name() = 'tab']">
|
979
|
+
<xsl:apply-templates select="bipm:preface/*[1]/bipm:title[1]/*[local-name() = 'tab'][1]/following-sibling::node()" mode="header"/>
|
980
|
+
</xsl:when>
|
981
|
+
<xsl:otherwise>
|
982
|
+
<xsl:apply-templates select="bipm:preface/*[1]/bipm:title[1]" mode="header"/>
|
983
|
+
</xsl:otherwise>
|
984
|
+
</xsl:choose>
|
985
|
+
</xsl:variable>
|
986
|
+
<xsl:call-template name="insertHeaderFooter">
|
987
|
+
<xsl:with-param name="header-title" select="$header-title"/>
|
988
|
+
</xsl:call-template>
|
989
|
+
|
990
|
+
<fo:flow flow-name="xsl-region-body">
|
991
|
+
<fo:block line-height="135%">
|
992
|
+
<!-- <xsl:apply-templates select="bipm:preface/bipm:abstract" /> -->
|
993
|
+
<xsl:apply-templates select="bipm:preface/*[1]"/>
|
994
|
+
</fo:block>
|
995
|
+
</fo:flow>
|
996
|
+
</fo:page-sequence>
|
997
|
+
</xsl:if>
|
872
998
|
|
873
999
|
|
874
1000
|
<xsl:variable name="docid">
|
@@ -915,7 +1041,7 @@
|
|
915
1041
|
<fo:table-column column-width="127mm"/>
|
916
1042
|
<fo:table-column column-width="12mm"/>
|
917
1043
|
<fo:table-body>
|
918
|
-
<xsl:for-each select="xalan:nodeset($contents)/doc[@id = $docid]//item[@display='true' and not(@type = 'annex') and not(@parent = 'annex')]">
|
1044
|
+
<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')]">
|
919
1045
|
<xsl:call-template name="insertContentItem"/>
|
920
1046
|
</xsl:for-each>
|
921
1047
|
<xsl:if test="$doctype ='brochure'">
|
@@ -929,6 +1055,9 @@
|
|
929
1055
|
<xsl:for-each select="xalan:nodeset($contents)/doc[@id = $docid]//item[@display='true' and (@type = 'annex')]"> <!-- or (@level = 2 and @parent = 'annex') -->
|
930
1056
|
<xsl:call-template name="insertContentItem"/>
|
931
1057
|
</xsl:for-each>
|
1058
|
+
<xsl:for-each select="xalan:nodeset($contents)/doc[@id = $docid]//item[@display='true' and (@type = 'index')]">
|
1059
|
+
<xsl:call-template name="insertContentItem"/>
|
1060
|
+
</xsl:for-each>
|
932
1061
|
</fo:table-body>
|
933
1062
|
</fo:table>
|
934
1063
|
</xsl:if>
|
@@ -959,6 +1088,9 @@
|
|
959
1088
|
<!-- Bibliography -->
|
960
1089
|
<xsl:apply-templates select="bipm:bibliography/bipm:references[not(@normative='true')]" mode="sections"/>
|
961
1090
|
|
1091
|
+
<!-- Index -->
|
1092
|
+
<xsl:apply-templates select="xalan:nodeset($indexes)/doc[@id = $docid]//bipm:clause[@type = 'index']" mode="index"/>
|
1093
|
+
|
962
1094
|
<!-- End Document Pages -->
|
963
1095
|
|
964
1096
|
|
@@ -969,32 +1101,10 @@
|
|
969
1101
|
</xsl:when>
|
970
1102
|
<xsl:otherwise> <!-- independentAppendix != '' -->
|
971
1103
|
|
972
|
-
|
973
|
-
|
974
|
-
<xsl:call-template name="
|
975
|
-
|
976
|
-
<fo:flow flow-name="xsl-region-body" font-family="Times New Roman">
|
977
|
-
<fo:block-container border-bottom="1.5pt solid rgb(79, 129, 189)" margin-bottom="36pt">
|
978
|
-
<fo:block font-family="Arial" font-size="24pt" font-weight="bold" color="rgb(23, 54, 93)">
|
979
|
-
<fo:block>
|
980
|
-
<xsl:choose>
|
981
|
-
<xsl:when test="$lang = 'fr'">Annexe </xsl:when>
|
982
|
-
<xsl:otherwise>Appendix </xsl:otherwise>
|
983
|
-
</xsl:choose>
|
984
|
-
<xsl:value-of select="/bipm:bipm-standard/bipm:bibdata/bipm:ext/bipm:structuredidentifier/bipm:appendix"/>
|
985
|
-
<xsl:text>. </xsl:text>
|
986
|
-
<xsl:value-of select="/bipm:bipm-standard/bipm:bibdata/bipm:title[@type = 'appendix' and @language = $lang]"/>
|
987
|
-
</fo:block>
|
988
|
-
</fo:block>
|
989
|
-
</fo:block-container>
|
990
|
-
|
991
|
-
<fo:block line-height="130%">
|
992
|
-
<xsl:apply-templates select="bipm:sections/*"/>
|
993
|
-
</fo:block>
|
994
|
-
|
995
|
-
<fo:block id="theLastPage"/>
|
996
|
-
</fo:flow>
|
997
|
-
</fo:page-sequence> -->
|
1104
|
+
|
1105
|
+
<xsl:variable name="docid">
|
1106
|
+
<xsl:call-template name="getDocumentId"/>
|
1107
|
+
</xsl:variable>
|
998
1108
|
|
999
1109
|
<fo:page-sequence master-reference="document" force-page-count="no-force">
|
1000
1110
|
|
@@ -1023,18 +1133,22 @@
|
|
1023
1133
|
<fo:block-container font-size="18pt" font-weight="bold" text-align="center">
|
1024
1134
|
<fo:block>
|
1025
1135
|
|
1026
|
-
<xsl:variable name="title">
|
1027
|
-
|
1028
|
-
|
1029
|
-
|
1030
|
-
|
1031
|
-
|
1032
|
-
|
1033
|
-
|
1034
|
-
|
1035
|
-
|
1136
|
+
<!-- <xsl:variable name="title"> -->
|
1137
|
+
<xsl:choose>
|
1138
|
+
<xsl:when test="$independentAppendix != ''">
|
1139
|
+
<xsl:apply-templates select="//bipm:bipm-standard/bipm:bibdata/bipm:title[@language = $curr_lang and @type='appendix']" mode="title"/>
|
1140
|
+
<fo:block>
|
1141
|
+
<xsl:apply-templates select="//bipm:bipm-standard/bipm:bibdata/bipm:title[@language = $curr_lang and @type='annex']" mode="title"/>
|
1142
|
+
</fo:block>
|
1143
|
+
</xsl:when>
|
1144
|
+
<xsl:otherwise> <!-- doctype = 'guide' -->
|
1145
|
+
<xsl:apply-templates select="//bipm:bipm-standard/bipm:bibdata/bipm:title[@language = $curr_lang and @type='main']" mode="title"/>
|
1146
|
+
</xsl:otherwise>
|
1147
|
+
</xsl:choose>
|
1148
|
+
<!-- </xsl:variable> -->
|
1149
|
+
|
1036
1150
|
|
1037
|
-
<xsl:variable name="mep_text" select="'Mise en pratique'"/>
|
1151
|
+
<!-- <xsl:variable name="mep_text" select="'Mise en pratique'"/>
|
1038
1152
|
|
1039
1153
|
<xsl:choose>
|
1040
1154
|
<xsl:when test="$curr_lang = 'en' and contains($title, $mep_text)">
|
@@ -1045,7 +1159,7 @@
|
|
1045
1159
|
<xsl:otherwise>
|
1046
1160
|
<xsl:value-of select="$title"/>
|
1047
1161
|
</xsl:otherwise>
|
1048
|
-
</xsl:choose>
|
1162
|
+
</xsl:choose> -->
|
1049
1163
|
|
1050
1164
|
</fo:block>
|
1051
1165
|
|
@@ -1057,7 +1171,7 @@
|
|
1057
1171
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($titles/title-part[@lang=$curr_lang]),'#',$part_num)"/>
|
1058
1172
|
</xsl:if>
|
1059
1173
|
<xsl:text>: </xsl:text>
|
1060
|
-
<xsl:
|
1174
|
+
<xsl:apply-templates select="/bipm:bipm-standard/bipm:bibdata/bipm:title[@language = $curr_lang and @type = 'part']" mode="title"/>
|
1061
1175
|
</fo:block>
|
1062
1176
|
</xsl:if>
|
1063
1177
|
<xsl:variable name="subpart_num" select="normalize-space(/bipm:bipm-standard/bipm:bibdata/bipm:ext/bipm:structuredidentifier/bipm:subpart)"/>
|
@@ -1067,7 +1181,7 @@
|
|
1067
1181
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($titles/title-subpart[@lang=$curr_lang]),'#',$subpart_num)"/>
|
1068
1182
|
</xsl:if>
|
1069
1183
|
<xsl:text>: </xsl:text>
|
1070
|
-
<xsl:
|
1184
|
+
<xsl:apply-templates select="/bipm:bipm-standard/bipm:bibdata/bipm:title[@language = $curr_lang and @type = 'subpart']" mode="title"/>
|
1071
1185
|
</fo:block>
|
1072
1186
|
</xsl:if>
|
1073
1187
|
|
@@ -1138,6 +1252,8 @@
|
|
1138
1252
|
|
1139
1253
|
<xsl:apply-templates select="bipm:bibliography/bipm:references[not(@normative='true')]" mode="sections"/>
|
1140
1254
|
|
1255
|
+
<!-- Index -->
|
1256
|
+
<xsl:apply-templates select="xalan:nodeset($indexes)/doc[@id = $docid]//bipm:clause[@type = 'index']" mode="index"/>
|
1141
1257
|
|
1142
1258
|
</xsl:otherwise>
|
1143
1259
|
</xsl:choose>
|
@@ -1236,8 +1352,8 @@
|
|
1236
1352
|
|
1237
1353
|
<fo:block-container absolute-position="fixed" left="12.5mm" top="60mm">
|
1238
1354
|
|
1239
|
-
<fo:block font-size="22.2pt" font-weight="{$weight-normal}"><xsl:value-of select="
|
1240
|
-
<fo:block font-size="22.2pt" font-weight="{$weight-bold}" margin-top="1mm"><xsl:value-of select="
|
1355
|
+
<fo:block font-size="22.2pt" font-weight="{$weight-normal}"><xsl:value-of select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'fr' and @type = 'main']"/></fo:block>
|
1356
|
+
<fo:block font-size="22.2pt" font-weight="{$weight-bold}" margin-top="1mm"><xsl:value-of select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'en' and @type = 'main']"/></fo:block>
|
1241
1357
|
|
1242
1358
|
<xsl:variable name="edition_str">édition</xsl:variable>
|
1243
1359
|
<!-- <xsl:choose>
|
@@ -1245,119 +1361,169 @@
|
|
1245
1361
|
<xsl:otherwise>edition</xsl:otherwise>
|
1246
1362
|
</xsl:choose>
|
1247
1363
|
</xsl:variable> -->
|
1248
|
-
<fo:block font-size="14pt" font-weight="{$weight-bold}" margin-top="4mm"><xsl:value-of select="concat(
|
1364
|
+
<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>
|
1249
1365
|
</fo:block-container>
|
1250
1366
|
|
1251
|
-
<fo:block-container height="98%" display-align="center">
|
1252
|
-
|
1253
|
-
|
1254
|
-
<xsl:variable name="appendix_num" select="normalize-space(/bipm:bipm-standard/bipm:bibdata/bipm:ext/bipm:structuredidentifier/bipm:appendix)"/>
|
1255
|
-
<xsl:if test="$appendix_num != ''">
|
1256
|
-
<fo:block font-size="17pt" font-weight="{$weight-normal}">Annexe <xsl:value-of select="$appendix_num"/></fo:block>
|
1257
|
-
<fo:block font-size="17pt" font-weight="{$weight-bold}">Appendix <xsl:value-of select="$appendix_num"/></fo:block>
|
1258
|
-
</xsl:if>
|
1259
|
-
|
1260
|
-
<xsl:if test="/bipm:bipm-standard/bipm:bibdata/bipm:title[@type = 'appendix']">
|
1261
|
-
<fo:block font-size="30.4pt">
|
1262
|
-
<fo:block> </fo:block>
|
1263
|
-
<fo:block font-weight="{$weight-normal}"><xsl:value-of select="/bipm:bipm-standard/bipm:bibdata/bipm:title[@language = 'fr' and @type = 'appendix']"/></fo:block>
|
1264
|
-
<fo:block> </fo:block>
|
1265
|
-
<fo:block font-weight="{$weight-bold}">
|
1266
|
-
<xsl:variable name="title_en" select="/bipm:bipm-standard/bipm:bibdata/bipm:title[@language = 'en' and @type = 'appendix']"/>
|
1267
|
-
<xsl:variable name="mep_text" select="'Mise en pratique'"/>
|
1268
|
-
<xsl:choose>
|
1269
|
-
<xsl:when test="contains($title_en, $mep_text)">
|
1270
|
-
<xsl:value-of select="substring-before($title_en, $mep_text)"/>
|
1271
|
-
<xsl:text> </xsl:text><fo:inline font-style="italic"><xsl:value-of select="$mep_text"/></fo:inline><xsl:text> </xsl:text>
|
1272
|
-
<xsl:value-of select="substring-after($title_en, $mep_text)"/>
|
1273
|
-
</xsl:when>
|
1274
|
-
<xsl:otherwise>
|
1275
|
-
<xsl:value-of select="$title_en"/>
|
1276
|
-
</xsl:otherwise>
|
1277
|
-
</xsl:choose>
|
1278
|
-
</fo:block>
|
1279
|
-
</fo:block>
|
1280
|
-
</xsl:if>
|
1281
|
-
<!-- End Appendix titles processing -->
|
1367
|
+
<!-- <fo:block-container height="98%" display-align="center"> -->
|
1368
|
+
<fo:block-container absolute-position="fixed" left="12.5mm" top="92mm" height="170mm" width="144mm" display-align="center">
|
1369
|
+
<fo:block>
|
1282
1370
|
|
1371
|
+
<xsl:variable name="title_appendix_fr">
|
1372
|
+
<xsl:apply-templates select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'fr' and @type = 'appendix']" mode="title"/>
|
1373
|
+
</xsl:variable>
|
1374
|
+
<xsl:variable name="title_appendix_en">
|
1375
|
+
<xsl:apply-templates select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'en' and @type = 'appendix']" mode="title"/>
|
1376
|
+
</xsl:variable>
|
1377
|
+
<xsl:variable name="title_annex_fr">
|
1378
|
+
<xsl:apply-templates select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'fr' and @type = 'annex']" mode="title"/>
|
1379
|
+
</xsl:variable>
|
1380
|
+
<xsl:variable name="title_annex_en">
|
1381
|
+
<xsl:apply-templates select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'en' and @type = 'annex']" mode="title"/>
|
1382
|
+
</xsl:variable>
|
1383
|
+
<xsl:variable name="title_part_fr">
|
1384
|
+
<xsl:apply-templates select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'fr' and @type = 'part']" mode="title"/>
|
1385
|
+
</xsl:variable>
|
1386
|
+
<xsl:variable name="title_part_en">
|
1387
|
+
<xsl:apply-templates select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'en' and @type = 'part']" mode="title"/>
|
1388
|
+
</xsl:variable>
|
1389
|
+
<xsl:variable name="title_subpart_fr">
|
1390
|
+
<xsl:apply-templates select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'fr' and @type = 'subpart']" mode="title"/>
|
1391
|
+
</xsl:variable>
|
1392
|
+
<xsl:variable name="title_subpart_en">
|
1393
|
+
<xsl:apply-templates select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@language = 'en' and @type = 'subpart']" mode="title"/>
|
1394
|
+
</xsl:variable>
|
1395
|
+
|
1396
|
+
<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)"/>
|
1397
|
+
|
1398
|
+
<xsl:variable name="font-size-number-factor">
|
1399
|
+
<xsl:choose>
|
1400
|
+
<xsl:when test="$titles_length > 350">0.7</xsl:when>
|
1401
|
+
<xsl:when test="$titles_length > 250">0.85</xsl:when>
|
1402
|
+
<xsl:otherwise>1</xsl:otherwise>
|
1403
|
+
</xsl:choose>
|
1404
|
+
</xsl:variable>
|
1405
|
+
|
1406
|
+
<xsl:variable name="space-factor">
|
1407
|
+
<xsl:choose>
|
1408
|
+
<xsl:when test="$titles_length > 250">0.3</xsl:when>
|
1409
|
+
<xsl:otherwise>1</xsl:otherwise>
|
1410
|
+
</xsl:choose>
|
1411
|
+
</xsl:variable>
|
1412
|
+
|
1413
|
+
<xsl:variable name="font-size-factor">
|
1414
|
+
<xsl:choose>
|
1415
|
+
<xsl:when test="$titles_length > 350">0.5</xsl:when>
|
1416
|
+
<xsl:when test="$titles_length > 250">0.65</xsl:when>
|
1417
|
+
<xsl:otherwise>1</xsl:otherwise>
|
1418
|
+
</xsl:choose>
|
1419
|
+
</xsl:variable>
|
1283
1420
|
|
1284
|
-
|
1285
|
-
|
1286
|
-
<xsl:
|
1287
|
-
|
1288
|
-
|
1289
|
-
<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>
|
1290
|
-
<!-- Partie -->
|
1291
|
-
<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>
|
1421
|
+
<!-- Appendix titles processing -->
|
1422
|
+
<xsl:variable name="appendix_num" select="normalize-space((//bipm:bipm-standard)[1]/bipm:bibdata/bipm:ext/bipm:structuredidentifier/bipm:appendix)"/>
|
1423
|
+
<xsl:if test="$appendix_num != ''">
|
1424
|
+
<fo:block font-size="{$font-size-number-factor * 17}pt" font-weight="{$weight-normal}">Annexe <xsl:value-of select="$appendix_num"/></fo:block>
|
1425
|
+
<fo:block font-size="{$font-size-number-factor * 17}pt" font-weight="{$weight-bold}">Appendix <xsl:value-of select="$appendix_num"/></fo:block>
|
1292
1426
|
</xsl:if>
|
1293
|
-
|
1294
|
-
|
1295
|
-
|
1296
|
-
<
|
1297
|
-
<fo:block> </fo:block>
|
1298
|
-
<fo:block font-weight="{$weight-normal}"><xsl:
|
1299
|
-
|
1300
|
-
|
1301
|
-
<xsl:if test="/bipm:bipm-standard/bipm:bibdata/bipm:title[@language = 'en' and @type = 'part']">
|
1302
|
-
<fo:block> </fo:block>
|
1427
|
+
|
1428
|
+
|
1429
|
+
<xsl:if test="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@type = 'appendix']">
|
1430
|
+
<fo:block font-size="{$font-size-factor * 30.4}pt">
|
1431
|
+
<fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
|
1432
|
+
<fo:block font-weight="{$weight-normal}"><xsl:copy-of select="$title_appendix_fr"/></fo:block>
|
1433
|
+
<fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
|
1303
1434
|
<fo:block font-weight="{$weight-bold}">
|
1304
|
-
<xsl:
|
1305
|
-
<xsl:variable name="mep_text" select="'Mise en pratique'"/>
|
1306
|
-
<xsl:choose>
|
1307
|
-
<xsl:when test="contains($title_en, $mep_text)">
|
1308
|
-
<xsl:value-of select="substring-before($title_en, $mep_text)"/>
|
1309
|
-
<xsl:text> </xsl:text><fo:inline font-style="italic"><xsl:value-of select="$mep_text"/></fo:inline><xsl:text> </xsl:text>
|
1310
|
-
<xsl:value-of select="substring-after($title_en, $mep_text)"/>
|
1311
|
-
</xsl:when>
|
1312
|
-
<xsl:otherwise>
|
1313
|
-
<xsl:value-of select="$title_en"/>
|
1314
|
-
</xsl:otherwise>
|
1315
|
-
</xsl:choose>
|
1435
|
+
<xsl:copy-of select="$title_appendix_en"/>
|
1316
1436
|
</fo:block>
|
1437
|
+
</fo:block>
|
1438
|
+
</xsl:if>
|
1439
|
+
<!-- End Appendix titles processing -->
|
1440
|
+
|
1441
|
+
<!-- Annex title processing -->
|
1442
|
+
<xsl:if test="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@type = 'annex']">
|
1443
|
+
<xsl:variable name="annex_num" select="normalize-space((//bipm:bipm-standard)[1]/bipm:bibdata/bipm:ext/bipm:structuredidentifier/bipm:annexid)"/>
|
1444
|
+
<xsl:if test="$annex_num != ''">
|
1445
|
+
<fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
|
1446
|
+
<!-- Annexe -->
|
1447
|
+
<fo:block font-size="{$font-size-number-factor * 17}pt" font-weight="{$weight-normal}">Annexe <xsl:value-of select="$annex_num"/></fo:block>
|
1448
|
+
<!-- Annex -->
|
1449
|
+
<fo:block font-size="{$font-size-number-factor * 17}pt" font-weight="{$weight-bold}">Annex <xsl:value-of select="$annex_num"/></fo:block>
|
1317
1450
|
</xsl:if>
|
1318
|
-
|
1319
|
-
|
1320
|
-
|
1321
|
-
|
1322
|
-
|
1323
|
-
|
1324
|
-
|
1325
|
-
|
1326
|
-
|
1327
|
-
|
1328
|
-
|
1329
|
-
|
1451
|
+
|
1452
|
+
<fo:block font-size="{$font-size-factor * 30.4}pt">
|
1453
|
+
|
1454
|
+
<xsl:if test="normalize-space($title_annex_fr) != ''">
|
1455
|
+
<fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
|
1456
|
+
<fo:block font-weight="{$weight-normal}"><xsl:copy-of select="$title_annex_fr"/></fo:block>
|
1457
|
+
</xsl:if>
|
1458
|
+
|
1459
|
+
<xsl:if test="normalize-space($title_annex_en) != ''">
|
1460
|
+
<fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
|
1461
|
+
<fo:block font-weight="{$weight-bold}">
|
1462
|
+
<xsl:copy-of select="$title_annex_en"/>
|
1463
|
+
</fo:block>
|
1464
|
+
</xsl:if>
|
1465
|
+
</fo:block>
|
1330
1466
|
</xsl:if>
|
1331
|
-
|
1332
|
-
|
1333
|
-
|
1334
|
-
|
1335
|
-
|
1336
|
-
|
1467
|
+
<!-- End Annex titles processing -->
|
1468
|
+
|
1469
|
+
<!-- Part titles processing -->
|
1470
|
+
<xsl:if test="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@type = 'part']">
|
1471
|
+
<xsl:variable name="part_num" select="normalize-space((//bipm:bipm-standard)[1]/bipm:bibdata/bipm:ext/bipm:structuredidentifier/bipm:part)"/>
|
1472
|
+
<xsl:if test="$part_num != ''">
|
1473
|
+
<fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
|
1474
|
+
<!-- Part -->
|
1475
|
+
<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>
|
1476
|
+
<!-- Partie -->
|
1477
|
+
<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>
|
1337
1478
|
</xsl:if>
|
1338
|
-
|
1339
|
-
<
|
1340
|
-
|
1341
|
-
<
|
1342
|
-
<
|
1343
|
-
<
|
1344
|
-
|
1345
|
-
|
1346
|
-
|
1347
|
-
|
1348
|
-
|
1349
|
-
|
1350
|
-
|
1351
|
-
|
1352
|
-
|
1353
|
-
|
1354
|
-
|
1479
|
+
|
1480
|
+
<fo:block font-size="{$font-size-factor * 30.4}pt">
|
1481
|
+
|
1482
|
+
<xsl:if test="normalize-space($title_part_fr) != ''">
|
1483
|
+
<fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
|
1484
|
+
<fo:block font-weight="{$weight-normal}"><xsl:copy-of select="$title_part_fr"/></fo:block>
|
1485
|
+
</xsl:if>
|
1486
|
+
|
1487
|
+
<xsl:if test="normalize-space($title_part_en) != ''">
|
1488
|
+
<fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
|
1489
|
+
<fo:block font-weight="{$weight-bold}">
|
1490
|
+
<xsl:copy-of select="$title_part_en"/>
|
1491
|
+
</fo:block>
|
1492
|
+
</xsl:if>
|
1493
|
+
</fo:block>
|
1494
|
+
</xsl:if>
|
1495
|
+
<!-- End Part titles processing -->
|
1496
|
+
|
1497
|
+
<!-- Sub-part titles processing -->
|
1498
|
+
<xsl:if test="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@type = 'subpart']">
|
1499
|
+
<xsl:variable name="subpart_num" select="normalize-space((//bipm:bipm-standard)[1]/bipm:bibdata/bipm:ext/bipm:structuredidentifier/bipm:subpart)"/>
|
1500
|
+
<xsl:if test="$subpart_num != ''">
|
1501
|
+
<fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
|
1502
|
+
<!-- Sub-part -->
|
1503
|
+
<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>
|
1504
|
+
<!-- Partie de sub -->
|
1505
|
+
<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>
|
1355
1506
|
</xsl:if>
|
1356
|
-
|
1357
|
-
|
1358
|
-
|
1507
|
+
|
1508
|
+
<fo:block font-size="{$font-size-factor * 30.4}pt">
|
1509
|
+
|
1510
|
+
<xsl:if test="normalize-space($title_subpart_fr) != ''">
|
1511
|
+
<fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
|
1512
|
+
<fo:block font-weight="{$weight-normal}"><xsl:copy-of select="$title_subpart_fr"/></fo:block>
|
1513
|
+
</xsl:if>
|
1514
|
+
|
1515
|
+
<xsl:if test="normalize-space($title_subpart_en) != ''">
|
1516
|
+
<fo:block font-size="{$space-factor * 30.4}pt"> </fo:block>
|
1517
|
+
<fo:block font-weight="{$weight-bold}">
|
1518
|
+
<xsl:copy-of select="$title_subpart_en"/>
|
1519
|
+
|
1520
|
+
</fo:block>
|
1521
|
+
</xsl:if>
|
1522
|
+
</fo:block>
|
1523
|
+
</xsl:if>
|
1524
|
+
<!-- End Sub-part titles processing -->
|
1359
1525
|
|
1360
|
-
|
1526
|
+
</fo:block>
|
1361
1527
|
</fo:block-container>
|
1362
1528
|
|
1363
1529
|
<!-- <fo:block-container>
|
@@ -1388,19 +1554,19 @@
|
|
1388
1554
|
|
1389
1555
|
<fo:block-container absolute-position="fixed" left="12mm" top="242mm" height="42mm" width="140mm" display-align="after">
|
1390
1556
|
<fo:block font-size="12pt">
|
1391
|
-
<fo:block><xsl:value-of select="
|
1392
|
-
<fo:block><xsl:value-of select="
|
1557
|
+
<fo:block><xsl:value-of select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:ext/bipm:editorialgroup/bipm:committee/bipm:variant[@language = 'fr']"/></fo:block>
|
1558
|
+
<fo:block><xsl:value-of select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:ext/bipm:editorialgroup/bipm:committee/bipm:variant[@language = 'en']"/></fo:block>
|
1393
1559
|
<fo:block> </fo:block>
|
1394
1560
|
<!-- <fo:block>BIPM SI MEP S1</fo:block> -->
|
1395
1561
|
<fo:block>
|
1396
1562
|
<xsl:call-template name="printRevisionDate">
|
1397
|
-
<xsl:with-param name="date" select="
|
1563
|
+
<xsl:with-param name="date" select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:version/bipm:revision-date"/>
|
1398
1564
|
<xsl:with-param name="lang" select="'en'"/>
|
1399
1565
|
</xsl:call-template>
|
1400
1566
|
</fo:block>
|
1401
1567
|
<fo:block>
|
1402
1568
|
<xsl:call-template name="printRevisionDate">
|
1403
|
-
<xsl:with-param name="date" select="
|
1569
|
+
<xsl:with-param name="date" select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:version/bipm:revision-date"/>
|
1404
1570
|
<xsl:with-param name="lang" select="'fr'"/>
|
1405
1571
|
</xsl:call-template>
|
1406
1572
|
</fo:block>
|
@@ -1442,74 +1608,95 @@
|
|
1442
1608
|
</xsl:template>
|
1443
1609
|
|
1444
1610
|
<xsl:template name="insertInnerCoverPage">
|
1445
|
-
|
1446
|
-
|
1447
|
-
|
1448
|
-
|
1449
|
-
<xsl:variable name="languages">
|
1450
|
-
<xsl:call-template name="getLanguages"/>
|
1451
|
-
</xsl:variable>
|
1452
|
-
|
1453
|
-
<xsl:variable name="titles">
|
1454
|
-
<xsl:for-each select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title">
|
1455
|
-
<xsl:copy-of select="."/>
|
1456
|
-
</xsl:for-each>
|
1457
|
-
</xsl:variable>
|
1458
|
-
|
1459
|
-
<xsl:for-each select="xalan:nodeset($languages)/lang">
|
1460
|
-
<xsl:variable name="curr_lang" select="."/>
|
1461
|
-
<xsl:variable name="title" select="xalan:nodeset($titles)//bipm:title[@language = $curr_lang and @type='cover']"/>
|
1462
|
-
<xsl:choose>
|
1463
|
-
<xsl:when test="position() = 1">
|
1464
|
-
<fo:block-container font-size="12pt" font-weight="bold" width="55mm">
|
1465
|
-
<fo:block>
|
1466
|
-
<xsl:call-template name="add-letter-spacing">
|
1467
|
-
<xsl:with-param name="text" select="$title"/>
|
1468
|
-
<xsl:with-param name="letter-spacing" select="0.09"/>
|
1469
|
-
</xsl:call-template>
|
1470
|
-
</fo:block>
|
1471
|
-
<fo:block font-size="10pt">
|
1472
|
-
<fo:block margin-bottom="6pt"> </fo:block>
|
1473
|
-
<fo:block margin-bottom="6pt"> </fo:block>
|
1474
|
-
<fo:block margin-bottom="6pt"> </fo:block>
|
1475
|
-
<fo:block margin-bottom="6pt" line-height="2.4"> </fo:block>
|
1476
|
-
</fo:block>
|
1477
|
-
</fo:block-container>
|
1478
|
-
</xsl:when>
|
1479
|
-
<xsl:otherwise>
|
1480
|
-
<fo:block font-size="10pt" margin-bottom="3pt">
|
1481
|
-
<xsl:variable name="lang_version">
|
1482
|
-
<xsl:call-template name="getLangVersion">
|
1483
|
-
<xsl:with-param name="lang" select="$curr_lang"/>
|
1484
|
-
</xsl:call-template>
|
1485
|
-
</xsl:variable>
|
1486
|
-
<xsl:call-template name="add-letter-spacing">
|
1487
|
-
<xsl:with-param name="text" select="normalize-space($lang_version)"/>
|
1488
|
-
<xsl:with-param name="letter-spacing" select="0.09"/>
|
1489
|
-
</xsl:call-template>
|
1490
|
-
</fo:block>
|
1491
|
-
<fo:block-container font-size="12pt" font-weight="bold" border-top="0.5pt solid black" padding-top="2mm" width="45mm">
|
1492
|
-
<fo:block>
|
1493
|
-
<xsl:call-template name="add-letter-spacing">
|
1494
|
-
<xsl:with-param name="text" select="$title"/>
|
1495
|
-
<xsl:with-param name="letter-spacing" select="0.09"/>
|
1496
|
-
</xsl:call-template>
|
1497
|
-
</fo:block>
|
1498
|
-
</fo:block-container>
|
1499
|
-
</xsl:otherwise>
|
1500
|
-
|
1501
|
-
</xsl:choose>
|
1502
|
-
</xsl:for-each>
|
1611
|
+
|
1612
|
+
<xsl:if test="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@type='cover']">
|
1613
|
+
|
1614
|
+
<fo:page-sequence master-reference="title-page" format="1" initial-page-number="1" force-page-count="even">
|
1503
1615
|
|
1616
|
+
<fo:flow flow-name="xsl-region-body" font-family="Arial">
|
1504
1617
|
|
1618
|
+
<xsl:variable name="languages">
|
1619
|
+
<xsl:call-template name="getLanguages"/>
|
1620
|
+
</xsl:variable>
|
1505
1621
|
|
1622
|
+
<xsl:variable name="titles">
|
1623
|
+
<xsl:for-each select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title">
|
1624
|
+
<xsl:copy-of select="."/>
|
1625
|
+
</xsl:for-each>
|
1626
|
+
</xsl:variable>
|
1506
1627
|
|
1507
|
-
|
1508
|
-
|
1509
|
-
|
1628
|
+
<xsl:for-each select="xalan:nodeset($languages)/lang">
|
1629
|
+
<xsl:variable name="curr_lang" select="."/>
|
1630
|
+
<xsl:variable name="title" select="xalan:nodeset($titles)//bipm:title[@language = $curr_lang and @type='cover']"/>
|
1631
|
+
<xsl:choose>
|
1632
|
+
<xsl:when test="position() = 1">
|
1633
|
+
<fo:block-container font-size="12pt" font-weight="bold" width="55mm">
|
1634
|
+
<fo:block>
|
1635
|
+
<xsl:call-template name="add-letter-spacing">
|
1636
|
+
<xsl:with-param name="text" select="$title"/>
|
1637
|
+
<xsl:with-param name="letter-spacing" select="0.09"/>
|
1638
|
+
</xsl:call-template>
|
1639
|
+
</fo:block>
|
1640
|
+
<fo:block font-size="10pt">
|
1641
|
+
<fo:block margin-bottom="6pt"> </fo:block>
|
1642
|
+
<fo:block margin-bottom="6pt"> </fo:block>
|
1643
|
+
<fo:block margin-bottom="6pt"> </fo:block>
|
1644
|
+
<fo:block margin-bottom="6pt" line-height="2.4"> </fo:block>
|
1645
|
+
</fo:block>
|
1646
|
+
</fo:block-container>
|
1647
|
+
</xsl:when>
|
1648
|
+
<xsl:otherwise>
|
1649
|
+
<fo:block font-size="10pt" margin-bottom="3pt">
|
1650
|
+
<xsl:variable name="lang_version">
|
1651
|
+
<xsl:call-template name="getLangVersion">
|
1652
|
+
<xsl:with-param name="lang" select="$curr_lang"/>
|
1653
|
+
</xsl:call-template>
|
1654
|
+
</xsl:variable>
|
1655
|
+
<xsl:call-template name="add-letter-spacing">
|
1656
|
+
<xsl:with-param name="text" select="normalize-space($lang_version)"/>
|
1657
|
+
<xsl:with-param name="letter-spacing" select="0.09"/>
|
1658
|
+
</xsl:call-template>
|
1659
|
+
</fo:block>
|
1660
|
+
<fo:block-container font-size="12pt" font-weight="bold" border-top="0.5pt solid black" padding-top="2mm" width="45mm">
|
1661
|
+
<fo:block>
|
1662
|
+
<xsl:call-template name="add-letter-spacing">
|
1663
|
+
<xsl:with-param name="text" select="$title"/>
|
1664
|
+
<xsl:with-param name="letter-spacing" select="0.09"/>
|
1665
|
+
</xsl:call-template>
|
1666
|
+
</fo:block>
|
1667
|
+
</fo:block-container>
|
1668
|
+
</xsl:otherwise>
|
1669
|
+
|
1670
|
+
</xsl:choose>
|
1671
|
+
</xsl:for-each>
|
1672
|
+
|
1673
|
+
|
1674
|
+
|
1675
|
+
|
1676
|
+
</fo:flow>
|
1677
|
+
</fo:page-sequence>
|
1678
|
+
</xsl:if>
|
1510
1679
|
</xsl:template>
|
1511
1680
|
<!-- End Cover Pages -->
|
1512
1681
|
|
1682
|
+
|
1683
|
+
<xsl:template match="bipm:bipm-standard/bipm:bibdata/bipm:title[@language = 'en']/text()" priority="3">
|
1684
|
+
<xsl:variable name="mep_text" select="'Mise en pratique'"/>
|
1685
|
+
<xsl:choose>
|
1686
|
+
<xsl:when test="contains(., $mep_text)">
|
1687
|
+
<xsl:value-of select="substring-before(., $mep_text)"/>
|
1688
|
+
<xsl:text> </xsl:text><fo:inline font-style="italic"><xsl:value-of select="$mep_text"/></fo:inline><xsl:text> </xsl:text>
|
1689
|
+
<xsl:value-of select="substring-after(., $mep_text)"/>
|
1690
|
+
</xsl:when>
|
1691
|
+
<xsl:otherwise>
|
1692
|
+
<xsl:value-of select="."/>
|
1693
|
+
</xsl:otherwise>
|
1694
|
+
</xsl:choose>
|
1695
|
+
</xsl:template>
|
1696
|
+
|
1697
|
+
|
1698
|
+
|
1699
|
+
|
1513
1700
|
<xsl:template name="insertSeparatorPage">
|
1514
1701
|
<!-- 3 Pages with BIPM Metro logo -->
|
1515
1702
|
<fo:page-sequence master-reference="document" force-page-count="no-force">
|
@@ -1606,7 +1793,12 @@
|
|
1606
1793
|
<xsl:attribute name="margin-left">25mm</xsl:attribute>
|
1607
1794
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
1608
1795
|
</xsl:if>
|
1609
|
-
|
1796
|
+
<xsl:if test="@type = 'index'">
|
1797
|
+
<xsl:attribute name="font-family">Arial</xsl:attribute>
|
1798
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
1799
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
1800
|
+
<xsl:attribute name="space-before">14pt</xsl:attribute>
|
1801
|
+
</xsl:if>
|
1610
1802
|
<!-- <xsl:if test="@level = 2 and not(following-sibling::item[@display='true']) and not(item[@display='true'])">
|
1611
1803
|
<xsl:attribute name="space-after">12pt</xsl:attribute>
|
1612
1804
|
</xsl:if>
|
@@ -1645,11 +1837,12 @@
|
|
1645
1837
|
<xsl:if test="@level >= 3">
|
1646
1838
|
<fo:inline padding-right="2mm"><xsl:value-of select="@section"/></fo:inline>
|
1647
1839
|
</xsl:if>
|
1648
|
-
<xsl:variable name="sectionTitle">
|
1840
|
+
<!-- <xsl:variable name="sectionTitle">
|
1649
1841
|
<xsl:apply-templates select="title"/>
|
1650
|
-
</xsl:variable>
|
1842
|
+
</xsl:variable> -->
|
1651
1843
|
<fo:inline>
|
1652
|
-
<xsl:value-of select="$sectionTitle"/>
|
1844
|
+
<!-- <xsl:value-of select="$sectionTitle"/> -->
|
1845
|
+
<xsl:apply-templates select="title"/>
|
1653
1846
|
</fo:inline>
|
1654
1847
|
<!-- <xsl:text> </xsl:text> -->
|
1655
1848
|
<!-- keep-together.within-line="always" -->
|
@@ -1672,7 +1865,9 @@
|
|
1672
1865
|
<xsl:attribute name="padding-bottom"><xsl:value-of select="normalize-space($space-after)"/></xsl:attribute>
|
1673
1866
|
</xsl:if>
|
1674
1867
|
<fo:block>
|
1675
|
-
<fo:
|
1868
|
+
<fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
|
1869
|
+
<fo:inline font-family="Arial" font-weight="bold" font-size="10pt"><fo:page-number-citation ref-id="{@id}"/></fo:inline>
|
1870
|
+
</fo:basic-link>
|
1676
1871
|
</fo:block>
|
1677
1872
|
</fo:table-cell>
|
1678
1873
|
</fo:table-row>
|
@@ -1723,7 +1918,10 @@
|
|
1723
1918
|
</xsl:variable>
|
1724
1919
|
|
1725
1920
|
<xsl:variable name="type">
|
1726
|
-
<xsl:
|
1921
|
+
<xsl:choose>
|
1922
|
+
<xsl:when test="@type = 'index'">index</xsl:when>
|
1923
|
+
<xsl:otherwise><xsl:value-of select="local-name()"/></xsl:otherwise>
|
1924
|
+
</xsl:choose>
|
1727
1925
|
</xsl:variable>
|
1728
1926
|
|
1729
1927
|
<item id="{@id}" level="{$level}" section="{$section}" type="{$type}" display="{$display}">
|
@@ -1733,11 +1931,19 @@
|
|
1733
1931
|
<title>
|
1734
1932
|
<xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
|
1735
1933
|
</title>
|
1736
|
-
<xsl:
|
1934
|
+
<xsl:if test="$type != 'index'">
|
1935
|
+
<xsl:apply-templates mode="contents"/>
|
1936
|
+
</xsl:if>
|
1737
1937
|
</item>
|
1738
1938
|
</xsl:if>
|
1739
1939
|
</xsl:template>
|
1740
1940
|
|
1941
|
+
<xsl:template match="*[local-name() = 'strong']" mode="contents_item" priority="2">
|
1942
|
+
<!-- <xsl:copy> -->
|
1943
|
+
<xsl:apply-templates mode="contents_item"/>
|
1944
|
+
<!-- </xsl:copy> -->
|
1945
|
+
</xsl:template>
|
1946
|
+
|
1741
1947
|
<!-- ============================= -->
|
1742
1948
|
<!-- ============================= -->
|
1743
1949
|
|
@@ -2852,8 +3058,8 @@
|
|
2852
3058
|
<xsl:if test=".//bipm:fn">
|
2853
3059
|
<xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
|
2854
3060
|
</xsl:if>
|
2855
|
-
|
2856
|
-
<xsl:apply-templates/>
|
3061
|
+
<xsl:call-template name="processBibitem"/>
|
3062
|
+
<!-- <xsl:apply-templates /> -->
|
2857
3063
|
</fo:block>
|
2858
3064
|
</xsl:template>
|
2859
3065
|
|
@@ -2905,14 +3111,22 @@
|
|
2905
3111
|
<fo:list-item-label end-indent="label-end()">
|
2906
3112
|
<fo:block>
|
2907
3113
|
<fo:inline>
|
2908
|
-
|
3114
|
+
<!-- <xsl:number format="1."/> -->
|
3115
|
+
<xsl:choose>
|
3116
|
+
<xsl:when test="bipm:docidentifier[@type='metanorma']">
|
3117
|
+
<xsl:value-of select="bipm:docidentifier[@type='metanorma']"/>
|
3118
|
+
</xsl:when>
|
3119
|
+
<xsl:otherwise>
|
3120
|
+
<xsl:number format="[1]"/>
|
3121
|
+
</xsl:otherwise>
|
3122
|
+
</xsl:choose>
|
2909
3123
|
</fo:inline>
|
2910
3124
|
</fo:block>
|
2911
3125
|
</fo:list-item-label>
|
2912
3126
|
<fo:list-item-body start-indent="body-start()">
|
2913
3127
|
<fo:block>
|
2914
|
-
|
2915
|
-
<xsl:apply-templates/>
|
3128
|
+
<xsl:call-template name="processBibitem"/>
|
3129
|
+
<!-- <xsl:apply-templates /> -->
|
2916
3130
|
</fo:block>
|
2917
3131
|
</fo:list-item-body>
|
2918
3132
|
</fo:list-item>
|
@@ -2928,6 +3142,9 @@
|
|
2928
3142
|
</fo:inline>
|
2929
3143
|
</xsl:template>
|
2930
3144
|
|
3145
|
+
<xsl:template match="bipm:references/bipm:bibitem/bipm:docidentifier[@type='metanorma' and ../bipm:formattedref]"/>
|
3146
|
+
|
3147
|
+
|
2931
3148
|
<xsl:template match="bipm:pagebreak">
|
2932
3149
|
<fo:block break-after="page"/>
|
2933
3150
|
<!-- <fo:block> </fo:block>
|
@@ -2953,29 +3170,38 @@
|
|
2953
3170
|
<xsl:choose>
|
2954
3171
|
<xsl:when test="@pagenumber='true'"><!-- ToC in Appendix, and page in references like this: « Le BIPM et la Convention du Mètre » (page 5). -->
|
2955
3172
|
<fo:inline> <!-- font-weight="bold" -->
|
3173
|
+
<!-- DEBUG -->
|
3174
|
+
<xsl:if test="@id">
|
3175
|
+
<!-- <xsl:value-of select="concat('[', @id,']')"/> -->
|
3176
|
+
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
3177
|
+
</xsl:if>
|
2956
3178
|
<fo:page-number-citation ref-id="{@target}"/>
|
3179
|
+
<!-- <xsl:if test="@to">–<fo:page-number-citation ref-id="{@to}"/></xsl:if> -->
|
2957
3180
|
</fo:inline>
|
2958
3181
|
</xsl:when>
|
2959
3182
|
<xsl:when test="starts-with(normalize-space(following-sibling::node()[1]), ')')">
|
2960
3183
|
<!-- add , see p. N -->
|
2961
3184
|
<!-- add , voir p. N -->
|
2962
|
-
<xsl:apply-templates/>
|
2963
|
-
<xsl:text>, </xsl:text>
|
3185
|
+
<xsl:apply-templates/>
|
2964
3186
|
|
2965
|
-
<xsl:variable name="
|
2966
|
-
<xsl:if test="$nosee != 'true'">
|
2967
|
-
<xsl:variable name="curr_lang" select="ancestor::bipm:bipm-standard/bipm:bibdata/bipm:language[@current = 'true']"/>
|
2968
|
-
<fo:inline>
|
2969
|
-
<xsl:if test="ancestor::bipm:note_side">
|
2970
|
-
<xsl:attribute name="font-style">italic</xsl:attribute>
|
2971
|
-
</xsl:if>
|
2972
|
-
<xsl:value-of select="ancestor::bipm:bipm-standard/bipm:localized-strings/bipm:localized-string[@key='see' and @language=$curr_lang]"/>
|
2973
|
-
</fo:inline>
|
2974
|
-
<xsl:text> </xsl:text>
|
2975
|
-
</xsl:if>
|
3187
|
+
<xsl:variable name="nopage" select="normalize-space(@nopage)"/>
|
2976
3188
|
|
2977
|
-
<xsl:
|
2978
|
-
|
3189
|
+
<xsl:if test="$nopage != 'true'">
|
3190
|
+
<xsl:text>, </xsl:text>
|
3191
|
+
<xsl:variable name="nosee" select="normalize-space(@nosee)"/>
|
3192
|
+
<xsl:if test="$nosee != 'true'">
|
3193
|
+
<xsl:variable name="curr_lang" select="ancestor::bipm:bipm-standard/bipm:bibdata/bipm:language[@current = 'true']"/>
|
3194
|
+
<fo:inline>
|
3195
|
+
<xsl:if test="ancestor::bipm:note_side">
|
3196
|
+
<xsl:attribute name="font-style">italic</xsl:attribute>
|
3197
|
+
</xsl:if>
|
3198
|
+
<xsl:value-of select="ancestor::bipm:bipm-standard/bipm:localized-strings/bipm:localized-string[@key='see' and @language=$curr_lang]"/>
|
3199
|
+
</fo:inline>
|
3200
|
+
<xsl:text> </xsl:text>
|
3201
|
+
</xsl:if>
|
3202
|
+
<xsl:text>p. </xsl:text>
|
3203
|
+
<fo:page-number-citation ref-id="{@target}"/>
|
3204
|
+
</xsl:if>
|
2979
3205
|
</xsl:when>
|
2980
3206
|
<xsl:otherwise>
|
2981
3207
|
<fo:inline><xsl:apply-templates/></fo:inline>
|
@@ -3032,6 +3258,9 @@
|
|
3032
3258
|
</fo:inline>
|
3033
3259
|
</xsl:template>
|
3034
3260
|
|
3261
|
+
<!-- DEBUG -->
|
3262
|
+
<!-- <xsl:template match="mathml:math" priority="10"/> -->
|
3263
|
+
|
3035
3264
|
<!-- for chemical expressions, when prefix superscripted -->
|
3036
3265
|
<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">
|
3037
3266
|
<mathml:mspace height="1ex"/>
|
@@ -3047,7 +3276,7 @@
|
|
3047
3276
|
<xsl:apply-templates select="@*|node()" mode="mathml"/>
|
3048
3277
|
</xsl:copy>
|
3049
3278
|
<!-- <xsl:copy-of select="."/> -->
|
3050
|
-
<mathml:mspace height="1.
|
3279
|
+
<mathml:mspace height="1.47ex"/>
|
3051
3280
|
</xsl:template>
|
3052
3281
|
|
3053
3282
|
<!-- set script minimal font-size -->
|
@@ -3060,6 +3289,48 @@
|
|
3060
3289
|
</xsl:copy>
|
3061
3290
|
</xsl:template>
|
3062
3291
|
|
3292
|
+
<!-- issue 'over bar above equation with sub' fixing -->
|
3293
|
+
<xsl:template match="mathml:msub/mathml:mrow[1][mathml:mover and count(following-sibling::*) = 1 and following-sibling::mathml:mrow]" mode="mathml" priority="2">
|
3294
|
+
<mathml:mstyle>
|
3295
|
+
<xsl:copy-of select="."/>
|
3296
|
+
</mathml:mstyle>
|
3297
|
+
</xsl:template>
|
3298
|
+
|
3299
|
+
<!-- Decrease space between ()
|
3300
|
+
from:
|
3301
|
+
<mfenced open="(" close=")">
|
3302
|
+
<mrow>
|
3303
|
+
<mtext>Cu</mtext>
|
3304
|
+
</mrow>
|
3305
|
+
</mfenced>
|
3306
|
+
to:
|
3307
|
+
<mrow>
|
3308
|
+
<mtext>(Cu)</mtext>
|
3309
|
+
</mrow> -->
|
3310
|
+
<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">
|
3311
|
+
<xsl:apply-templates mode="mathml"/>
|
3312
|
+
</xsl:template>
|
3313
|
+
|
3314
|
+
<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::*)] -->
|
3315
|
+
<xsl:copy>
|
3316
|
+
<xsl:apply-templates select="@*" mode="mathml"/>
|
3317
|
+
<xsl:value-of select="ancestor::mathml:mfenced/@open"/>
|
3318
|
+
<xsl:value-of select="."/>
|
3319
|
+
<xsl:value-of select="ancestor::mathml:mfenced/@close"/>
|
3320
|
+
</xsl:copy>
|
3321
|
+
</xsl:template>
|
3322
|
+
|
3323
|
+
<!-- Decrease height of / and | -->
|
3324
|
+
<xsl:template match="mathml:mo[normalize-space(text()) = '/' or normalize-space(text()) = '|']" mode="mathml">
|
3325
|
+
<xsl:copy>
|
3326
|
+
<xsl:apply-templates select="@*" mode="mathml"/>
|
3327
|
+
<xsl:if test="not(@stretchy)">
|
3328
|
+
<xsl:attribute name="stretchy">false</xsl:attribute>
|
3329
|
+
</xsl:if>
|
3330
|
+
<xsl:apply-templates mode="mathml"/>
|
3331
|
+
</xsl:copy>
|
3332
|
+
</xsl:template>
|
3333
|
+
|
3063
3334
|
<xsl:template name="insertHeaderFooter">
|
3064
3335
|
<xsl:param name="header-title"/>
|
3065
3336
|
<fo:static-content flow-name="header-odd">
|
@@ -3186,7 +3457,12 @@
|
|
3186
3457
|
<xsl:value-of select="concat($day, ' ', $monthStr, ' ', $year)"/>
|
3187
3458
|
</xsl:when>
|
3188
3459
|
<xsl:otherwise>
|
3189
|
-
<xsl:value-of select="concat($monthStr, ' ', $day, ', ', $year)"/>
|
3460
|
+
<!-- <xsl:value-of select="concat($monthStr, ' ', $day, ', ', $year)"/> -->
|
3461
|
+
<xsl:value-of select="$monthStr"/>
|
3462
|
+
<xsl:text> </xsl:text>
|
3463
|
+
<xsl:value-of select="$day"/>
|
3464
|
+
<xsl:if test="$day != '' and $year != ''"><xsl:text>, </xsl:text></xsl:if>
|
3465
|
+
<xsl:value-of select="$year"/>
|
3190
3466
|
</xsl:otherwise>
|
3191
3467
|
</xsl:choose>
|
3192
3468
|
|
@@ -3225,7 +3501,247 @@
|
|
3225
3501
|
</fo:page-sequence>
|
3226
3502
|
</xsl:template>
|
3227
3503
|
-->
|
3228
|
-
|
3504
|
+
|
3505
|
+
|
3506
|
+
<!-- =================== -->
|
3507
|
+
<!-- Index processing -->
|
3508
|
+
<!-- =================== -->
|
3509
|
+
|
3510
|
+
<xsl:template match="@*|node()" mode="index_add_id">
|
3511
|
+
<xsl:copy>
|
3512
|
+
<xsl:apply-templates select="@*|node()" mode="index_add_id"/>
|
3513
|
+
</xsl:copy>
|
3514
|
+
</xsl:template>
|
3515
|
+
|
3516
|
+
<xsl:template match="bipm:xref" mode="index_add_id">
|
3517
|
+
<xsl:variable name="id">
|
3518
|
+
<xsl:call-template name="generateIndexXrefId"/>
|
3519
|
+
</xsl:variable>
|
3520
|
+
<xsl:copy> <!-- add id to xref -->
|
3521
|
+
<xsl:apply-templates select="@*" mode="index_add_id"/>
|
3522
|
+
<xsl:attribute name="id">
|
3523
|
+
<xsl:value-of select="$id"/>
|
3524
|
+
</xsl:attribute>
|
3525
|
+
<xsl:apply-templates mode="index_add_id"/>
|
3526
|
+
</xsl:copy>
|
3527
|
+
<!-- split <xref target="bm1" to="End" pagenumber="true"> to two xref:
|
3528
|
+
<xref target="bm1" pagenumber="true"> and <xref target="End" pagenumber="true"> -->
|
3529
|
+
<xsl:if test="@to">
|
3530
|
+
<xsl:value-of select="$dash"/>
|
3531
|
+
<xsl:copy>
|
3532
|
+
<xsl:copy-of select="@*"/>
|
3533
|
+
<xsl:attribute name="target"><xsl:value-of select="@to"/></xsl:attribute>
|
3534
|
+
<xsl:attribute name="id">
|
3535
|
+
<xsl:value-of select="$id"/><xsl:text>_to</xsl:text>
|
3536
|
+
</xsl:attribute>
|
3537
|
+
<xsl:apply-templates mode="index_add_id"/>
|
3538
|
+
</xsl:copy>
|
3539
|
+
</xsl:if>
|
3540
|
+
</xsl:template>
|
3541
|
+
|
3542
|
+
<xsl:template match="@*|node()" mode="index_update">
|
3543
|
+
<xsl:copy>
|
3544
|
+
<xsl:apply-templates select="@*|node()" mode="index_update"/>
|
3545
|
+
</xsl:copy>
|
3546
|
+
</xsl:template>
|
3547
|
+
|
3548
|
+
<xsl:template match="bipm:clause[@type = 'index']//bipm:li" mode="index_update">
|
3549
|
+
<xsl:copy>
|
3550
|
+
<xsl:apply-templates select="@*" mode="index_update"/>
|
3551
|
+
<xsl:apply-templates select="node()[1]" mode="process_li_element"/>
|
3552
|
+
</xsl:copy>
|
3553
|
+
</xsl:template>
|
3554
|
+
|
3555
|
+
<xsl:template match="bipm:clause[@type = 'index']//bipm:li/node()" mode="process_li_element" priority="2">
|
3556
|
+
<xsl:param name="element"/>
|
3557
|
+
<xsl:param name="remove" select="'false'"/>
|
3558
|
+
<xsl:param name="target"/>
|
3559
|
+
<!-- <node></node> -->
|
3560
|
+
<xsl:choose>
|
3561
|
+
<xsl:when test="self::text() and (normalize-space(.) = ',' or normalize-space(.) = $dash) and $remove = 'true'">
|
3562
|
+
<!-- skip text (i.e. remove it) and process next element -->
|
3563
|
+
<!-- [removed_<xsl:value-of select="."/>] -->
|
3564
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
|
3565
|
+
<xsl:with-param name="target"><xsl:value-of select="$target"/></xsl:with-param>
|
3566
|
+
</xsl:apply-templates>
|
3567
|
+
</xsl:when>
|
3568
|
+
<xsl:when test="self::text()">
|
3569
|
+
<xsl:value-of select="."/>
|
3570
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
|
3571
|
+
</xsl:when>
|
3572
|
+
<xsl:when test="self::* and local-name(.) = 'xref'">
|
3573
|
+
<xsl:variable name="id" select="@id"/>
|
3574
|
+
<xsl:variable name="page" select="$index//item[@id = $id]"/>
|
3575
|
+
<xsl:variable name="id_next" select="following-sibling::bipm:xref[1]/@id"/>
|
3576
|
+
<xsl:variable name="page_next" select="$index//item[@id = $id_next]"/>
|
3577
|
+
|
3578
|
+
<xsl:variable name="id_prev" select="preceding-sibling::bipm:xref[1]/@id"/>
|
3579
|
+
<xsl:variable name="page_prev" select="$index//item[@id = $id_prev]"/>
|
3580
|
+
|
3581
|
+
<xsl:choose>
|
3582
|
+
<!-- 2nd pass -->
|
3583
|
+
<!-- if page is equal to page for next and page is not the end of range -->
|
3584
|
+
<xsl:when test="$page != '' and $page_next != '' and $page = $page_next and not(contains($page, '_to'))"> <!-- case: 12, 12-14 -->
|
3585
|
+
<!-- skip element (i.e. remove it) and remove next text ',' -->
|
3586
|
+
<!-- [removed_xref] -->
|
3587
|
+
|
3588
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
|
3589
|
+
<xsl:with-param name="remove">true</xsl:with-param>
|
3590
|
+
<xsl:with-param name="target">
|
3591
|
+
<xsl:choose>
|
3592
|
+
<xsl:when test="$target != ''"><xsl:value-of select="$target"/></xsl:when>
|
3593
|
+
<xsl:otherwise><xsl:value-of select="@target"/></xsl:otherwise>
|
3594
|
+
</xsl:choose>
|
3595
|
+
</xsl:with-param>
|
3596
|
+
</xsl:apply-templates>
|
3597
|
+
</xsl:when>
|
3598
|
+
|
3599
|
+
<xsl:when test="$page != '' and $page_prev != '' and $page = $page_prev and contains($page_prev, '_to')"> <!-- case: 12-14, 14, ... -->
|
3600
|
+
<!-- remove xref -->
|
3601
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
|
3602
|
+
<xsl:with-param name="remove">true</xsl:with-param>
|
3603
|
+
</xsl:apply-templates>
|
3604
|
+
</xsl:when>
|
3605
|
+
|
3606
|
+
<xsl:otherwise>
|
3607
|
+
<xsl:apply-templates select="." mode="xref_copy">
|
3608
|
+
<xsl:with-param name="target" select="$target"/>
|
3609
|
+
</xsl:apply-templates>
|
3610
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
|
3611
|
+
</xsl:otherwise>
|
3612
|
+
</xsl:choose>
|
3613
|
+
</xsl:when>
|
3614
|
+
<xsl:when test="self::* and local-name(.) = 'ul'">
|
3615
|
+
<!-- ul -->
|
3616
|
+
<xsl:apply-templates select="." mode="index_update"/>
|
3617
|
+
</xsl:when>
|
3618
|
+
<xsl:otherwise>
|
3619
|
+
<xsl:apply-templates select="." mode="xref_copy">
|
3620
|
+
<xsl:with-param name="target" select="$target"/>
|
3621
|
+
</xsl:apply-templates>
|
3622
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
|
3623
|
+
</xsl:otherwise>
|
3624
|
+
</xsl:choose>
|
3625
|
+
</xsl:template>
|
3626
|
+
|
3627
|
+
<xsl:template match="@*|node()" mode="xref_copy">
|
3628
|
+
<xsl:param name="target"/>
|
3629
|
+
<xsl:copy>
|
3630
|
+
<xsl:apply-templates select="@*" mode="xref_copy"/>
|
3631
|
+
<xsl:if test="$target != '' and not(xalan:nodeset($bookmark_in_fn)//bookmark[. = $target])">
|
3632
|
+
<xsl:attribute name="target"><xsl:value-of select="$target"/></xsl:attribute>
|
3633
|
+
</xsl:if>
|
3634
|
+
<xsl:apply-templates select="node()" mode="xref_copy"/>
|
3635
|
+
</xsl:copy>
|
3636
|
+
</xsl:template>
|
3637
|
+
|
3638
|
+
|
3639
|
+
<xsl:template name="generateIndexXrefId">
|
3640
|
+
<xsl:variable name="level" select="count(ancestor::bipm:ul)"/>
|
3641
|
+
<!-- <xsl:variable name="parent_ul_id" select="generate-id(ancestor::bipm:ul[1])"/>
|
3642
|
+
<xsl:variable name="item_number" select="count(ancestor::bipm:li[ancestor::bipm:ul[generate-id() = $parent_ul_id]])"/> -->
|
3643
|
+
<xsl:variable name="docid">
|
3644
|
+
<xsl:call-template name="getDocumentId"/>
|
3645
|
+
</xsl:variable>
|
3646
|
+
<xsl:variable name="item_number">
|
3647
|
+
<xsl:number count="bipm:li[ancestor::bipm:clause[@type = 'index']]" level="any"/>
|
3648
|
+
</xsl:variable>
|
3649
|
+
<xsl:variable name="xref_number"><xsl:number count="bipm:xref"/></xsl:variable>
|
3650
|
+
<xsl:value-of select="concat($docid, '_', $item_number, '_', $xref_number)"/> <!-- $level, '_', -->
|
3651
|
+
</xsl:template>
|
3652
|
+
|
3653
|
+
<xsl:template match="bipm:clause[@type = 'index']"/>
|
3654
|
+
<xsl:template match="bipm:clause[@type = 'index']" mode="index">
|
3655
|
+
|
3656
|
+
<fo:page-sequence master-reference="index" force-page-count="no-force">
|
3657
|
+
<xsl:variable name="header-title">
|
3658
|
+
<xsl:choose>
|
3659
|
+
<xsl:when test="./bipm:title[1]/*[local-name() = 'tab']">
|
3660
|
+
<xsl:apply-templates select="./bipm:title[1]/*[local-name() = 'tab'][1]/following-sibling::node()" mode="header"/>
|
3661
|
+
</xsl:when>
|
3662
|
+
<xsl:otherwise>
|
3663
|
+
<xsl:apply-templates select="./bipm:title[1]" mode="header"/>
|
3664
|
+
</xsl:otherwise>
|
3665
|
+
</xsl:choose>
|
3666
|
+
</xsl:variable>
|
3667
|
+
<xsl:call-template name="insertHeaderFooter">
|
3668
|
+
<xsl:with-param name="header-title" select="$header-title"/>
|
3669
|
+
</xsl:call-template>
|
3670
|
+
|
3671
|
+
<fo:flow flow-name="xsl-region-body">
|
3672
|
+
<fo:block id="{@id}" span="all">
|
3673
|
+
<xsl:apply-templates select="bipm:title"/>
|
3674
|
+
</fo:block>
|
3675
|
+
<fo:block>
|
3676
|
+
<xsl:apply-templates select="*[not(local-name() = 'title')]"/>
|
3677
|
+
|
3678
|
+
<!-- TEST <xsl:variable name="alphabet" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
|
3679
|
+
<xsl:for-each select="(document('')//node())[position() < 26]">
|
3680
|
+
<xsl:variable name="letter" select="substring($alphabet, position(), 1)"/>
|
3681
|
+
<xsl:if test="position() <= 3">
|
3682
|
+
<fo:block font-size="10pt" font-weight="bold" margin-bottom="3pt" keep-with-next="always"><xsl:value-of select="$letter"/>, DEBUG</fo:block>
|
3683
|
+
|
3684
|
+
<fo:block>accélération due à la pesanteur (gn), 33</fo:block>
|
3685
|
+
<fo:block>activité d’un radionucléide, 26, 27</fo:block>
|
3686
|
+
<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>
|
3687
|
+
<fo:block>angle, 25, 26, 33, 37 38, 40, 48, 55, 65</fo:block>
|
3688
|
+
<fo:block>atmosphère normale, 52</fo:block>
|
3689
|
+
<fo:block>atome gramme, 104</fo:block>
|
3690
|
+
<fo:block>atome de césium, niveaux hyperfins, 15, 17, 18, 56, 58, 83, 85, 92, 94, 97, 98, 102</fo:block>
|
3691
|
+
<xsl:if test="position() != last()"><fo:block> </fo:block></xsl:if>
|
3692
|
+
</xsl:if>
|
3693
|
+
</xsl:for-each> -->
|
3694
|
+
</fo:block>
|
3695
|
+
</fo:flow>
|
3696
|
+
</fo:page-sequence>
|
3697
|
+
</xsl:template>
|
3698
|
+
|
3699
|
+
<xsl:template match="bipm:clause[@type = 'index']/bipm:title" priority="4">
|
3700
|
+
<fo:block font-size="16pt" font-weight="bold" margin-bottom="84pt" margin-left="-18mm">
|
3701
|
+
<!-- Index -->
|
3702
|
+
<xsl:apply-templates/>
|
3703
|
+
</fo:block>
|
3704
|
+
</xsl:template>
|
3705
|
+
|
3706
|
+
<xsl:template match="bipm:clause[@type = 'index']/bipm:clause" priority="4">
|
3707
|
+
<xsl:apply-templates/>
|
3708
|
+
<fo:block>
|
3709
|
+
<xsl:if test="following-sibling::bipm:clause">
|
3710
|
+
<fo:block> </fo:block>
|
3711
|
+
</xsl:if>
|
3712
|
+
</fo:block>
|
3713
|
+
</xsl:template>
|
3714
|
+
|
3715
|
+
<xsl:template match="bipm:clause[@type = 'index']/bipm:clause/bipm:title" priority="4">
|
3716
|
+
<!-- Letter A, B, C, ... -->
|
3717
|
+
<fo:block font-size="10pt" font-weight="bold" margin-bottom="3pt" keep-with-next="always">
|
3718
|
+
<xsl:apply-templates/>
|
3719
|
+
</fo:block>
|
3720
|
+
</xsl:template>
|
3721
|
+
|
3722
|
+
<xsl:template match="bipm:clause[@type = 'index']//bipm:ul" priority="4">
|
3723
|
+
<xsl:apply-templates/>
|
3724
|
+
</xsl:template>
|
3725
|
+
|
3726
|
+
<xsl:template match="bipm:clause[@type = 'index']//bipm:li" priority="4">
|
3727
|
+
<xsl:variable name="level" select="count(ancestor::bipm:ul)"/>
|
3728
|
+
<fo:block start-indent="{5 * $level}mm" text-indent="-5mm">
|
3729
|
+
<xsl:apply-templates/>
|
3730
|
+
</fo:block>
|
3731
|
+
</xsl:template>
|
3732
|
+
|
3733
|
+
<xsl:template match="bipm:bookmark">
|
3734
|
+
<fo:inline id="{@id}"/>
|
3735
|
+
</xsl:template>
|
3736
|
+
|
3737
|
+
<xsl:template match="*[local-name() = 'stem']/text()">
|
3738
|
+
<xsl:value-of select="normalize-space()"/>
|
3739
|
+
</xsl:template>
|
3740
|
+
|
3741
|
+
<!-- =================== -->
|
3742
|
+
<!-- End of Index processing -->
|
3743
|
+
<!-- =================== -->
|
3744
|
+
|
3229
3745
|
<xsl:variable name="Image-Logo-BIPM">
|
3230
3746
|
<xsl:text>iVBORw0KGgoAAAANSUhEUgAAAaIAAADRCAYAAACOyra0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGOTdGMTE3NDA3MjA2ODExODIyQUJFNEQ3OTI1MkI2OSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCMTdGMTkxM0YzNEIxMUVBOEZCREQ0ODFDQjY0QzlCNyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCMTdGMTkxMkYzNEIxMUVBOEZCREQ0ODFDQjY0QzlCNyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBJbkRlc2lnbiBDUzYgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0idXVpZDoyNGQ2ZDM1ZS1kNDc4LTcxNGItYjYwZi1iMDMyYWFmYzM3OTYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5pZDoxNjcwQkZBMDExMjA2ODExODIyQUJFNEQ3OTI1MkI2OSIvPiA8L3JkZjpEZXNjcmlw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</xsl:text>
|
3231
3747
|
</xsl:variable>
|
@@ -3558,7 +4074,7 @@
|
|
3558
4074
|
</xsl:if>
|
3559
4075
|
</xsl:template>
|
3560
4076
|
|
3561
|
-
<xsl:template match="node()" mode="change_id">
|
4077
|
+
<!-- <xsl:template match="node()" mode="change_id">
|
3562
4078
|
<xsl:param name="lang"/>
|
3563
4079
|
<xsl:param name="ignoreReferenceFrom"/>
|
3564
4080
|
<xsl:copy>
|
@@ -3579,7 +4095,7 @@
|
|
3579
4095
|
</xsl:apply-templates>
|
3580
4096
|
<xsl:choose>
|
3581
4097
|
<xsl:when test="$ignoreReferenceFrom = 'true'"><xsl:value-of select="."/></xsl:when>
|
3582
|
-
<xsl:otherwise><xsl:value-of select="."/>_<xsl:value-of select="$lang"/></xsl:otherwise>
|
4098
|
+
<xsl:otherwise><xsl:value-of select="."/>_<xsl:value-of select="$lang"/><xsl:if test="$doctype = 'guide'">_<xsl:number count="bipm:bipm-standard" level="any"/></xsl:if></xsl:otherwise>
|
3583
4099
|
</xsl:choose>
|
3584
4100
|
</xsl:copy>
|
3585
4101
|
</xsl:template>
|
@@ -3593,13 +4109,15 @@
|
|
3593
4109
|
<xsl:value-of select="."/>
|
3594
4110
|
</xsl:attribute>
|
3595
4111
|
</xsl:when>
|
3596
|
-
<xsl:when test="local-name() = 'id' or
|
4112
|
+
<xsl:when test="local-name() = 'id' or
|
4113
|
+
local-name() = 'bibitemid' or
|
4114
|
+
(local-name() = 'target' and local-name(..) = 'xref')">
|
3597
4115
|
<xsl:attribute name="{local-name()}">
|
3598
|
-
<xsl:value-of select="."/>_<xsl:value-of select="$lang"
|
4116
|
+
<xsl:value-of select="."/>_<xsl:value-of select="$lang"/><xsl:if test="$doctype = 'guide'">_<xsl:number count="bipm:bipm-standard" level="any"/></xsl:if>
|
3599
4117
|
</xsl:attribute>
|
3600
4118
|
</xsl:when>
|
3601
4119
|
<xsl:otherwise>
|
3602
|
-
|
4120
|
+
no change
|
3603
4121
|
<xsl:copy>
|
3604
4122
|
<xsl:apply-templates select="@*" mode="change_id">
|
3605
4123
|
<xsl:with-param name="lang" select="$lang"/>
|
@@ -3608,7 +4126,7 @@
|
|
3608
4126
|
</xsl:copy>
|
3609
4127
|
</xsl:otherwise>
|
3610
4128
|
</xsl:choose>
|
3611
|
-
</xsl:template>
|
4129
|
+
</xsl:template> -->
|
3612
4130
|
|
3613
4131
|
|
3614
4132
|
|
@@ -3978,6 +4496,9 @@
|
|
3978
4496
|
|
3979
4497
|
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
3980
4498
|
|
4499
|
+
|
4500
|
+
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
4501
|
+
|
3981
4502
|
</xsl:attribute-set><xsl:attribute-set name="quote-style">
|
3982
4503
|
|
3983
4504
|
|
@@ -3985,6 +4506,7 @@
|
|
3985
4506
|
|
3986
4507
|
|
3987
4508
|
|
4509
|
+
|
3988
4510
|
</xsl:attribute-set><xsl:attribute-set name="quote-source-style">
|
3989
4511
|
|
3990
4512
|
|
@@ -4111,196 +4633,242 @@
|
|
4111
4633
|
</xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
|
4112
4634
|
<!-- <xsl:call-template name="add-zero-spaces"/> -->
|
4113
4635
|
<xsl:call-template name="add-zero-spaces-java"/>
|
4114
|
-
</xsl:template><xsl:template match="*[local-name()='table']">
|
4636
|
+
</xsl:template><xsl:template match="*[local-name()='table']" name="table">
|
4115
4637
|
|
4116
|
-
<xsl:variable name="
|
4117
|
-
<xsl:call-template name="getSimpleTable"/>
|
4118
|
-
</xsl:variable>
|
4638
|
+
<xsl:variable name="table">
|
4119
4639
|
|
4120
|
-
|
4121
|
-
|
4122
|
-
|
4123
|
-
|
4124
|
-
<!-- <xsl:if test="$namespace = 'bipm'">
|
4125
|
-
<fo:block> </fo:block>
|
4126
|
-
</xsl:if> -->
|
4127
|
-
|
4128
|
-
<!-- $namespace = 'iso' or -->
|
4129
|
-
|
4130
|
-
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
4131
|
-
|
4132
|
-
|
4133
|
-
|
4134
|
-
<xsl:call-template name="fn_name_display"/>
|
4640
|
+
<xsl:variable name="simple-table">
|
4641
|
+
<xsl:call-template name="getSimpleTable"/>
|
4642
|
+
</xsl:variable>
|
4135
4643
|
|
4136
4644
|
|
4137
|
-
|
4138
|
-
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
|
4139
|
-
|
4140
|
-
<!-- <xsl:variable name="cols-count">
|
4141
|
-
<xsl:choose>
|
4142
|
-
<xsl:when test="*[local-name()='thead']">
|
4143
|
-
<xsl:call-template name="calculate-columns-numbers">
|
4144
|
-
<xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
|
4145
|
-
</xsl:call-template>
|
4146
|
-
</xsl:when>
|
4147
|
-
<xsl:otherwise>
|
4148
|
-
<xsl:call-template name="calculate-columns-numbers">
|
4149
|
-
<xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
|
4150
|
-
</xsl:call-template>
|
4151
|
-
</xsl:otherwise>
|
4152
|
-
</xsl:choose>
|
4153
|
-
</xsl:variable> -->
|
4154
|
-
<!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
|
4155
|
-
<!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
|
4156
|
-
|
4157
|
-
|
4158
|
-
|
4159
|
-
<xsl:variable name="colwidths">
|
4160
|
-
<xsl:call-template name="calculate-column-widths">
|
4161
|
-
<xsl:with-param name="cols-count" select="$cols-count"/>
|
4162
|
-
<xsl:with-param name="table" select="$simple-table"/>
|
4163
|
-
</xsl:call-template>
|
4164
|
-
</xsl:variable>
|
4165
|
-
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
4166
|
-
|
4167
|
-
<!-- <xsl:variable name="colwidths2">
|
4168
|
-
<xsl:call-template name="calculate-column-widths">
|
4169
|
-
<xsl:with-param name="cols-count" select="$cols-count"/>
|
4170
|
-
</xsl:call-template>
|
4171
|
-
</xsl:variable> -->
|
4172
|
-
|
4173
|
-
<!-- cols-count=<xsl:copy-of select="$cols-count"/>
|
4174
|
-
colwidthsNew=<xsl:copy-of select="$colwidths"/>
|
4175
|
-
colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
|
4176
|
-
|
4177
|
-
<xsl:variable name="margin-left">
|
4178
|
-
<xsl:choose>
|
4179
|
-
<xsl:when test="sum(xalan:nodeset($colwidths)//column) > 75">15</xsl:when>
|
4180
|
-
<xsl:otherwise>0</xsl:otherwise>
|
4181
|
-
</xsl:choose>
|
4182
|
-
</xsl:variable>
|
4183
|
-
|
4184
|
-
<fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
|
4185
4645
|
|
4186
4646
|
|
4187
|
-
|
4188
|
-
|
4189
|
-
|
4190
4647
|
|
4648
|
+
<!-- <xsl:if test="$namespace = 'bipm'">
|
4649
|
+
<fo:block> </fo:block>
|
4650
|
+
</xsl:if> -->
|
4191
4651
|
|
4192
|
-
|
4652
|
+
<!-- $namespace = 'iso' or -->
|
4193
4653
|
|
4654
|
+
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
4655
|
+
|
4656
|
+
|
4194
4657
|
|
4658
|
+
<xsl:call-template name="fn_name_display"/>
|
4195
4659
|
|
4660
|
+
|
4196
4661
|
|
4662
|
+
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
|
4197
4663
|
|
4198
|
-
|
4199
|
-
<xsl:
|
4200
|
-
|
4201
|
-
|
4202
|
-
|
4203
|
-
|
4204
|
-
|
4205
|
-
|
4206
|
-
|
4207
|
-
|
4664
|
+
<!-- <xsl:variable name="cols-count">
|
4665
|
+
<xsl:choose>
|
4666
|
+
<xsl:when test="*[local-name()='thead']">
|
4667
|
+
<xsl:call-template name="calculate-columns-numbers">
|
4668
|
+
<xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
|
4669
|
+
</xsl:call-template>
|
4670
|
+
</xsl:when>
|
4671
|
+
<xsl:otherwise>
|
4672
|
+
<xsl:call-template name="calculate-columns-numbers">
|
4673
|
+
<xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
|
4674
|
+
</xsl:call-template>
|
4675
|
+
</xsl:otherwise>
|
4676
|
+
</xsl:choose>
|
4677
|
+
</xsl:variable> -->
|
4678
|
+
<!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
|
4679
|
+
<!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
|
4680
|
+
|
4681
|
+
|
4682
|
+
|
4683
|
+
<xsl:variable name="colwidths">
|
4684
|
+
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
|
4685
|
+
<xsl:call-template name="calculate-column-widths">
|
4686
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
4687
|
+
<xsl:with-param name="table" select="$simple-table"/>
|
4688
|
+
</xsl:call-template>
|
4208
4689
|
</xsl:if>
|
4690
|
+
</xsl:variable>
|
4691
|
+
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
4209
4692
|
|
4693
|
+
<!-- <xsl:variable name="colwidths2">
|
4694
|
+
<xsl:call-template name="calculate-column-widths">
|
4695
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
4696
|
+
</xsl:call-template>
|
4697
|
+
</xsl:variable> -->
|
4698
|
+
|
4699
|
+
<!-- cols-count=<xsl:copy-of select="$cols-count"/>
|
4700
|
+
colwidthsNew=<xsl:copy-of select="$colwidths"/>
|
4701
|
+
colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
|
4210
4702
|
|
4703
|
+
<xsl:variable name="margin-left">
|
4704
|
+
<xsl:choose>
|
4705
|
+
<xsl:when test="sum(xalan:nodeset($colwidths)//column) > 75">15</xsl:when>
|
4706
|
+
<xsl:otherwise>0</xsl:otherwise>
|
4707
|
+
</xsl:choose>
|
4708
|
+
</xsl:variable>
|
4211
4709
|
|
4212
|
-
<
|
4213
|
-
|
4214
|
-
|
4215
|
-
|
4216
|
-
|
4710
|
+
<fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
|
4711
|
+
|
4712
|
+
|
4713
|
+
|
4714
|
+
|
4715
|
+
|
4716
|
+
|
4717
|
+
|
4718
|
+
|
4719
|
+
|
4720
|
+
|
4721
|
+
|
4722
|
+
|
4723
|
+
|
4724
|
+
<xsl:attribute name="space-after">12pt</xsl:attribute>
|
4725
|
+
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
4726
|
+
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
4727
|
+
<xsl:if test="not(ancestor::*[local-name()='note_side'])">
|
4728
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
4729
|
+
</xsl:if>
|
4730
|
+
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
4731
|
+
<xsl:if test="@parent-type = 'quote'">
|
4732
|
+
<xsl:attribute name="font-family">Arial</xsl:attribute>
|
4733
|
+
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
4734
|
+
</xsl:if>
|
4735
|
+
|
4736
|
+
|
4737
|
+
<xsl:variable name="table_width">
|
4738
|
+
<!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
|
4739
|
+
|
4740
|
+
|
4741
|
+
|
4742
|
+
<xsl:choose>
|
4743
|
+
<xsl:when test="@width"><xsl:value-of select="@width"/></xsl:when>
|
4744
|
+
<xsl:otherwise>100%</xsl:otherwise>
|
4745
|
+
</xsl:choose>
|
4746
|
+
|
4747
|
+
</xsl:variable>
|
4748
|
+
|
4749
|
+
<xsl:variable name="table_attributes">
|
4750
|
+
<attribute name="table-layout">fixed</attribute>
|
4751
|
+
<attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
|
4752
|
+
<attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
|
4753
|
+
<attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
|
4754
|
+
|
4755
|
+
|
4756
|
+
|
4757
|
+
|
4758
|
+
|
4759
|
+
|
4760
|
+
|
4761
|
+
|
4762
|
+
|
4763
|
+
|
4764
|
+
<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])">
|
4765
|
+
<attribute name="border-top">0.5pt solid black</attribute>
|
4766
|
+
<attribute name="border-bottom">0.5pt solid black</attribute>
|
4767
|
+
</xsl:if>
|
4768
|
+
<attribute name="margin-left">0mm</attribute>
|
4769
|
+
<attribute name="margin-right">0mm</attribute>
|
4770
|
+
|
4771
|
+
</xsl:variable>
|
4772
|
+
|
4773
|
+
|
4774
|
+
<fo:table id="{@id}" table-omit-footer-at-break="true">
|
4775
|
+
|
4776
|
+
<xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
|
4777
|
+
<xsl:attribute name="{@name}">
|
4778
|
+
<xsl:value-of select="."/>
|
4779
|
+
</xsl:attribute>
|
4780
|
+
</xsl:for-each>
|
4781
|
+
|
4782
|
+
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
|
4783
|
+
<xsl:if test="$isNoteOrFnExist = 'true'">
|
4784
|
+
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
|
4785
|
+
</xsl:if>
|
4786
|
+
|
4787
|
+
<xsl:choose>
|
4788
|
+
<xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
|
4789
|
+
<xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
|
4790
|
+
<fo:table-column column-width="{@width}"/>
|
4791
|
+
</xsl:for-each>
|
4792
|
+
</xsl:when>
|
4793
|
+
<xsl:otherwise>
|
4794
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
4795
|
+
<xsl:choose>
|
4796
|
+
<xsl:when test=". = 1 or . = 0">
|
4797
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
4798
|
+
</xsl:when>
|
4799
|
+
<xsl:otherwise>
|
4800
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
4801
|
+
</xsl:otherwise>
|
4802
|
+
</xsl:choose>
|
4803
|
+
</xsl:for-each>
|
4804
|
+
</xsl:otherwise>
|
4805
|
+
</xsl:choose>
|
4806
|
+
|
4807
|
+
<xsl:choose>
|
4808
|
+
<xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
|
4809
|
+
<xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
|
4810
|
+
</xsl:when>
|
4811
|
+
<xsl:otherwise>
|
4812
|
+
<xsl:apply-templates/>
|
4813
|
+
</xsl:otherwise>
|
4814
|
+
</xsl:choose>
|
4815
|
+
|
4816
|
+
</fo:table>
|
4217
4817
|
|
4818
|
+
<xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
|
4819
|
+
<xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
|
4820
|
+
<xsl:call-template name="insertTableFooterInSeparateTable">
|
4821
|
+
<xsl:with-param name="table_attributes" select="$table_attributes"/>
|
4822
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
4823
|
+
<xsl:with-param name="colgroup" select="$colgroup"/>
|
4824
|
+
</xsl:call-template>
|
4825
|
+
</xsl:for-each>
|
4218
4826
|
|
4827
|
+
<!-- insert footer as table -->
|
4828
|
+
<!-- <fo:table>
|
4829
|
+
<xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
|
4830
|
+
<xsl:attribute name="{@name}">
|
4831
|
+
<xsl:value-of select="."/>
|
4832
|
+
</xsl:attribute>
|
4833
|
+
</xsl:for-each>
|
4834
|
+
|
4835
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
4836
|
+
<xsl:choose>
|
4837
|
+
<xsl:when test=". = 1 or . = 0">
|
4838
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
4839
|
+
</xsl:when>
|
4840
|
+
<xsl:otherwise>
|
4841
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
4842
|
+
</xsl:otherwise>
|
4843
|
+
</xsl:choose>
|
4844
|
+
</xsl:for-each>
|
4845
|
+
</fo:table>-->
|
4219
4846
|
|
4220
4847
|
|
4221
|
-
|
4222
|
-
|
4223
|
-
|
4224
4848
|
|
4225
|
-
|
4226
|
-
|
4227
|
-
<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])">
|
4228
|
-
<attribute name="border-top">0.5pt solid black</attribute>
|
4229
|
-
<attribute name="border-bottom">0.5pt solid black</attribute>
|
4230
|
-
</xsl:if>
|
4231
|
-
<attribute name="margin-left">0mm</attribute>
|
4232
|
-
<attribute name="margin-right">0mm</attribute>
|
4233
4849
|
|
4234
|
-
</xsl:variable>
|
4235
|
-
|
4236
|
-
|
4237
|
-
<fo:table id="{@id}" table-omit-footer-at-break="true">
|
4238
4850
|
|
4239
|
-
|
4240
|
-
|
4241
|
-
|
4242
|
-
|
4243
|
-
|
4851
|
+
</fo:block-container>
|
4852
|
+
</xsl:variable>
|
4853
|
+
|
4854
|
+
|
4855
|
+
|
4856
|
+
<xsl:choose>
|
4857
|
+
<xsl:when test="@width">
|
4858
|
+
|
4859
|
+
<!-- centered table when table name is centered (see table-name-style) -->
|
4244
4860
|
|
4245
|
-
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
|
4246
|
-
<xsl:if test="$isNoteOrFnExist = 'true'">
|
4247
|
-
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
|
4248
|
-
</xsl:if>
|
4249
4861
|
|
4250
|
-
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
4251
|
-
<xsl:choose>
|
4252
|
-
<xsl:when test=". = 1 or . = 0">
|
4253
|
-
<fo:table-column column-width="proportional-column-width(2)"/>
|
4254
|
-
</xsl:when>
|
4255
|
-
<xsl:otherwise>
|
4256
|
-
<fo:table-column column-width="proportional-column-width({.})"/>
|
4257
|
-
</xsl:otherwise>
|
4258
|
-
</xsl:choose>
|
4259
|
-
</xsl:for-each>
|
4260
4862
|
|
4261
|
-
|
4262
|
-
<xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
|
4263
|
-
<xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
|
4264
|
-
</xsl:when>
|
4265
|
-
<xsl:otherwise>
|
4266
|
-
<xsl:apply-templates/>
|
4267
|
-
</xsl:otherwise>
|
4268
|
-
</xsl:choose>
|
4863
|
+
<xsl:copy-of select="$table"/>
|
4269
4864
|
|
4270
|
-
</fo:table>
|
4271
|
-
|
4272
|
-
<xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
|
4273
|
-
<xsl:call-template name="insertTableFooterInSeparateTable">
|
4274
|
-
<xsl:with-param name="table_attributes" select="$table_attributes"/>
|
4275
|
-
<xsl:with-param name="colwidths" select="$colwidths"/>
|
4276
|
-
</xsl:call-template>
|
4277
|
-
</xsl:for-each>
|
4278
|
-
|
4279
|
-
<!-- insert footer as table -->
|
4280
|
-
<!-- <fo:table>
|
4281
|
-
<xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
|
4282
|
-
<xsl:attribute name="{@name}">
|
4283
|
-
<xsl:value-of select="."/>
|
4284
|
-
</xsl:attribute>
|
4285
|
-
</xsl:for-each>
|
4286
4865
|
|
4287
|
-
|
4288
|
-
|
4289
|
-
|
4290
|
-
|
4291
|
-
|
4292
|
-
|
4293
|
-
<fo:table-column column-width="proportional-column-width({.})"/>
|
4294
|
-
</xsl:otherwise>
|
4295
|
-
</xsl:choose>
|
4296
|
-
</xsl:for-each>
|
4297
|
-
</fo:table>-->
|
4298
|
-
|
4299
|
-
|
4300
|
-
|
4301
|
-
|
4302
|
-
|
4303
|
-
</fo:block-container>
|
4866
|
+
</xsl:when>
|
4867
|
+
<xsl:otherwise>
|
4868
|
+
<xsl:copy-of select="$table"/>
|
4869
|
+
</xsl:otherwise>
|
4870
|
+
</xsl:choose>
|
4871
|
+
|
4304
4872
|
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
|
4305
4873
|
<xsl:if test="normalize-space() != ''">
|
4306
4874
|
<fo:block xsl:use-attribute-sets="table-name-style">
|
@@ -4532,12 +5100,22 @@
|
|
4532
5100
|
</xsl:template><xsl:template name="insertTableFooterInSeparateTable">
|
4533
5101
|
<xsl:param name="table_attributes"/>
|
4534
5102
|
<xsl:param name="colwidths"/>
|
5103
|
+
<xsl:param name="colgroup"/>
|
4535
5104
|
|
4536
5105
|
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
|
4537
5106
|
|
4538
5107
|
<xsl:if test="$isNoteOrFnExist = 'true'">
|
4539
5108
|
|
4540
|
-
<xsl:variable name="cols-count"
|
5109
|
+
<xsl:variable name="cols-count">
|
5110
|
+
<xsl:choose>
|
5111
|
+
<xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
|
5112
|
+
<xsl:value-of select="count(xalan:nodeset($colgroup)//*[local-name()='col'])"/>
|
5113
|
+
</xsl:when>
|
5114
|
+
<xsl:otherwise>
|
5115
|
+
<xsl:value-of select="count(xalan:nodeset($colwidths)//column)"/>
|
5116
|
+
</xsl:otherwise>
|
5117
|
+
</xsl:choose>
|
5118
|
+
</xsl:variable>
|
4541
5119
|
|
4542
5120
|
<fo:table keep-with-previous="always">
|
4543
5121
|
<xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
|
@@ -4555,16 +5133,25 @@
|
|
4555
5133
|
</xsl:choose>
|
4556
5134
|
</xsl:for-each>
|
4557
5135
|
|
4558
|
-
<xsl:
|
4559
|
-
<xsl:
|
4560
|
-
<xsl:
|
4561
|
-
<fo:table-column column-width="
|
4562
|
-
</xsl:
|
4563
|
-
|
4564
|
-
|
4565
|
-
|
4566
|
-
|
4567
|
-
|
5136
|
+
<xsl:choose>
|
5137
|
+
<xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
|
5138
|
+
<xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
|
5139
|
+
<fo:table-column column-width="{@width}"/>
|
5140
|
+
</xsl:for-each>
|
5141
|
+
</xsl:when>
|
5142
|
+
<xsl:otherwise>
|
5143
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
5144
|
+
<xsl:choose>
|
5145
|
+
<xsl:when test=". = 1 or . = 0">
|
5146
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
5147
|
+
</xsl:when>
|
5148
|
+
<xsl:otherwise>
|
5149
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
5150
|
+
</xsl:otherwise>
|
5151
|
+
</xsl:choose>
|
5152
|
+
</xsl:for-each>
|
5153
|
+
</xsl:otherwise>
|
5154
|
+
</xsl:choose>
|
4568
5155
|
|
4569
5156
|
<fo:table-body>
|
4570
5157
|
<fo:table-row>
|
@@ -4714,7 +5301,7 @@
|
|
4714
5301
|
|
4715
5302
|
<xsl:attribute name="font-weight">normal</xsl:attribute>
|
4716
5303
|
<xsl:attribute name="border">solid black 0pt</xsl:attribute>
|
4717
|
-
<xsl:attribute name="border-top">solid black 0.5pt</xsl:attribute>
|
5304
|
+
<!-- <xsl:attribute name="border-top">solid black 0.5pt</xsl:attribute> -->
|
4718
5305
|
<xsl:attribute name="border-bottom">solid black 0.5pt</xsl:attribute>
|
4719
5306
|
<xsl:attribute name="height">8mm</xsl:attribute>
|
4720
5307
|
<xsl:attribute name="padding-top">2mm</xsl:attribute>
|
@@ -5182,7 +5769,7 @@
|
|
5182
5769
|
<xsl:with-param name="table" select="$html-table"/>
|
5183
5770
|
</xsl:call-template>
|
5184
5771
|
</xsl:variable>
|
5185
|
-
<!-- colwidths=<xsl:
|
5772
|
+
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
5186
5773
|
<xsl:variable name="maxlength_dt">
|
5187
5774
|
<xsl:call-template name="getMaxLength_dt"/>
|
5188
5775
|
</xsl:variable>
|
@@ -5211,13 +5798,22 @@
|
|
5211
5798
|
</xsl:when>
|
5212
5799
|
<xsl:otherwise>
|
5213
5800
|
<xsl:choose>
|
5801
|
+
<!-- to set width check most wide chars like `W` -->
|
5214
5802
|
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 2"> <!-- if dt contains short text like t90, a, etc -->
|
5215
|
-
<fo:table-column column-width="
|
5216
|
-
<fo:table-column column-width="
|
5803
|
+
<fo:table-column column-width="7%"/>
|
5804
|
+
<fo:table-column column-width="93%"/>
|
5805
|
+
</xsl:when>
|
5806
|
+
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 5"> <!-- if dt contains short text like ABC, etc -->
|
5807
|
+
<fo:table-column column-width="15%"/>
|
5808
|
+
<fo:table-column column-width="85%"/>
|
5809
|
+
</xsl:when>
|
5810
|
+
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 7"> <!-- if dt contains short text like ABCDEF, etc -->
|
5811
|
+
<fo:table-column column-width="20%"/>
|
5812
|
+
<fo:table-column column-width="80%"/>
|
5217
5813
|
</xsl:when>
|
5218
|
-
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <=
|
5219
|
-
<fo:table-column column-width="
|
5220
|
-
<fo:table-column column-width="
|
5814
|
+
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 10"> <!-- if dt contains short text like ABCDEFEF, etc -->
|
5815
|
+
<fo:table-column column-width="25%"/>
|
5816
|
+
<fo:table-column column-width="75%"/>
|
5221
5817
|
</xsl:when>
|
5222
5818
|
<!-- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] > 1.7">
|
5223
5819
|
<fo:table-column column-width="60%"/>
|
@@ -5249,12 +5845,32 @@
|
|
5249
5845
|
</xsl:otherwise>
|
5250
5846
|
</xsl:choose>
|
5251
5847
|
</xsl:template><xsl:template name="getMaxLength_dt">
|
5252
|
-
<xsl:
|
5253
|
-
<xsl:
|
5254
|
-
|
5255
|
-
<xsl:
|
5256
|
-
|
5257
|
-
|
5848
|
+
<xsl:variable name="lengths">
|
5849
|
+
<xsl:for-each select="*[local-name()='dt']">
|
5850
|
+
<xsl:variable name="maintext_length" select="string-length(normalize-space(.))"/>
|
5851
|
+
<xsl:variable name="attributes">
|
5852
|
+
<xsl:for-each select=".//@open"><xsl:value-of select="."/></xsl:for-each>
|
5853
|
+
<xsl:for-each select=".//@close"><xsl:value-of select="."/></xsl:for-each>
|
5854
|
+
</xsl:variable>
|
5855
|
+
<length><xsl:value-of select="string-length(normalize-space(.)) + string-length($attributes)"/></length>
|
5856
|
+
</xsl:for-each>
|
5857
|
+
</xsl:variable>
|
5858
|
+
<xsl:variable name="maxLength">
|
5859
|
+
<!-- <xsl:for-each select="*[local-name()='dt']">
|
5860
|
+
<xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
|
5861
|
+
<xsl:if test="position() = 1">
|
5862
|
+
<xsl:value-of select="string-length(normalize-space(.))"/>
|
5863
|
+
</xsl:if>
|
5864
|
+
</xsl:for-each> -->
|
5865
|
+
<xsl:for-each select="xalan:nodeset($lengths)/length">
|
5866
|
+
<xsl:sort select="." data-type="number" order="descending"/>
|
5867
|
+
<xsl:if test="position() = 1">
|
5868
|
+
<xsl:value-of select="."/>
|
5869
|
+
</xsl:if>
|
5870
|
+
</xsl:for-each>
|
5871
|
+
</xsl:variable>
|
5872
|
+
<!-- <xsl:message>DEBUG:<xsl:value-of select="$maxLength"/></xsl:message> -->
|
5873
|
+
<xsl:value-of select="$maxLength"/>
|
5258
5874
|
</xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']" priority="2">
|
5259
5875
|
<xsl:param name="key_iso"/>
|
5260
5876
|
|
@@ -5396,6 +6012,7 @@
|
|
5396
6012
|
|
5397
6013
|
|
5398
6014
|
|
6015
|
+
|
5399
6016
|
|
5400
6017
|
</xsl:variable>
|
5401
6018
|
<xsl:variable name="font-size" select="normalize-space($_font-size)"/>
|
@@ -5409,6 +6026,10 @@
|
|
5409
6026
|
</xsl:if>
|
5410
6027
|
<xsl:apply-templates/>
|
5411
6028
|
</fo:inline>
|
6029
|
+
</xsl:template><xsl:template match="*[local-name()='underline']">
|
6030
|
+
<fo:inline text-decoration="underline">
|
6031
|
+
<xsl:apply-templates/>
|
6032
|
+
</fo:inline>
|
5412
6033
|
</xsl:template><xsl:template match="*[local-name()='del']">
|
5413
6034
|
<fo:inline font-size="10pt" color="red" text-decoration="line-through">
|
5414
6035
|
<xsl:apply-templates/>
|
@@ -5502,6 +6123,10 @@
|
|
5502
6123
|
<xsl:param name="text" select="."/>
|
5503
6124
|
<!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
|
5504
6125
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| )','$1')"/>
|
6126
|
+
</xsl:template><xsl:template name="add-zero-spaces-link-java">
|
6127
|
+
<xsl:param name="text" select="."/>
|
6128
|
+
<!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
|
6129
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| |,)','$1')"/>
|
5505
6130
|
</xsl:template><xsl:template name="add-zero-spaces">
|
5506
6131
|
<xsl:param name="text" select="."/>
|
5507
6132
|
<xsl:variable name="zero-space-after-chars">-</xsl:variable>
|
@@ -5766,6 +6391,11 @@
|
|
5766
6391
|
<!-- replace start and end spaces to non-break space -->
|
5767
6392
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
|
5768
6393
|
</xsl:copy>
|
6394
|
+
</xsl:template><xsl:template match="mathml:mi[. = ',' and not(following-sibling::*[1][local-name() = 'mtext' and text() = ' '])]" mode="mathml">
|
6395
|
+
<xsl:copy>
|
6396
|
+
<xsl:apply-templates select="@*|node()" mode="mathml"/>
|
6397
|
+
</xsl:copy>
|
6398
|
+
<mathml:mspace width="0.5ex"/>
|
5769
6399
|
</xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
|
5770
6400
|
<xsl:variable name="target">
|
5771
6401
|
<xsl:choose>
|
@@ -5787,7 +6417,10 @@
|
|
5787
6417
|
<fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
|
5788
6418
|
<xsl:choose>
|
5789
6419
|
<xsl:when test="normalize-space(.) = ''">
|
5790
|
-
<xsl:value-of select="$target"/>
|
6420
|
+
<!-- <xsl:value-of select="$target"/> -->
|
6421
|
+
<xsl:call-template name="add-zero-spaces-link-java">
|
6422
|
+
<xsl:with-param name="text" select="$target"/>
|
6423
|
+
</xsl:call-template>
|
5791
6424
|
</xsl:when>
|
5792
6425
|
<xsl:otherwise>
|
5793
6426
|
<xsl:apply-templates/>
|
@@ -5968,6 +6601,8 @@
|
|
5968
6601
|
</xsl:when>
|
5969
6602
|
<xsl:otherwise>
|
5970
6603
|
|
6604
|
+
<xsl:text>:</xsl:text>
|
6605
|
+
|
5971
6606
|
|
5972
6607
|
</xsl:otherwise>
|
5973
6608
|
</xsl:choose>
|
@@ -5998,7 +6633,7 @@
|
|
5998
6633
|
</xsl:if> -->
|
5999
6634
|
</fo:inline>
|
6000
6635
|
</xsl:if>
|
6001
|
-
</xsl:template><xsl:template match="*[local-name() = 'figure']">
|
6636
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
|
6002
6637
|
<fo:block-container id="{@id}">
|
6003
6638
|
|
6004
6639
|
<xsl:if test="*[local-name() = 'name']">
|
@@ -6071,6 +6706,8 @@
|
|
6071
6706
|
<xsl:variable name="bookmark-title_">
|
6072
6707
|
<xsl:call-template name="getLangVersion">
|
6073
6708
|
<xsl:with-param name="lang" select="@lang"/>
|
6709
|
+
<xsl:with-param name="doctype" select="@doctype"/>
|
6710
|
+
<xsl:with-param name="title" select="@title-part"/>
|
6074
6711
|
</xsl:call-template>
|
6075
6712
|
</xsl:variable>
|
6076
6713
|
<xsl:choose>
|
@@ -6088,13 +6725,34 @@
|
|
6088
6725
|
</xsl:choose>
|
6089
6726
|
</fo:bookmark-title>
|
6090
6727
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
6728
|
+
|
6729
|
+
<xsl:call-template name="insertFigureBookmarks">
|
6730
|
+
<xsl:with-param name="contents" select="contents"/>
|
6731
|
+
</xsl:call-template>
|
6732
|
+
|
6733
|
+
<xsl:call-template name="insertTableBookmarks">
|
6734
|
+
<xsl:with-param name="contents" select="contents"/>
|
6735
|
+
<xsl:with-param name="lang" select="@lang"/>
|
6736
|
+
</xsl:call-template>
|
6737
|
+
|
6091
6738
|
</fo:bookmark>
|
6092
6739
|
|
6093
6740
|
</xsl:for-each>
|
6094
6741
|
</xsl:when>
|
6095
6742
|
<xsl:otherwise>
|
6096
6743
|
<xsl:for-each select="xalan:nodeset($contents)/doc">
|
6744
|
+
|
6097
6745
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
6746
|
+
|
6747
|
+
<xsl:call-template name="insertFigureBookmarks">
|
6748
|
+
<xsl:with-param name="contents" select="contents"/>
|
6749
|
+
</xsl:call-template>
|
6750
|
+
|
6751
|
+
<xsl:call-template name="insertTableBookmarks">
|
6752
|
+
<xsl:with-param name="contents" select="contents"/>
|
6753
|
+
<xsl:with-param name="lang" select="@lang"/>
|
6754
|
+
</xsl:call-template>
|
6755
|
+
|
6098
6756
|
</xsl:for-each>
|
6099
6757
|
</xsl:otherwise>
|
6100
6758
|
</xsl:choose>
|
@@ -6113,16 +6771,66 @@
|
|
6113
6771
|
|
6114
6772
|
</fo:bookmark-tree>
|
6115
6773
|
</xsl:if>
|
6774
|
+
</xsl:template><xsl:template name="insertFigureBookmarks">
|
6775
|
+
<xsl:param name="contents"/>
|
6776
|
+
<xsl:if test="xalan:nodeset($contents)/figure">
|
6777
|
+
<fo:bookmark internal-destination="{xalan:nodeset($contents)/figure[1]/@id}" starting-state="hide">
|
6778
|
+
<fo:bookmark-title>Figures</fo:bookmark-title>
|
6779
|
+
<xsl:for-each select="xalan:nodeset($contents)/figure">
|
6780
|
+
<fo:bookmark internal-destination="{@id}">
|
6781
|
+
<fo:bookmark-title>
|
6782
|
+
<xsl:value-of select="normalize-space(title)"/>
|
6783
|
+
</fo:bookmark-title>
|
6784
|
+
</fo:bookmark>
|
6785
|
+
</xsl:for-each>
|
6786
|
+
</fo:bookmark>
|
6787
|
+
</xsl:if>
|
6788
|
+
</xsl:template><xsl:template name="insertTableBookmarks">
|
6789
|
+
<xsl:param name="contents"/>
|
6790
|
+
<xsl:param name="lang"/>
|
6791
|
+
<xsl:if test="xalan:nodeset($contents)/table">
|
6792
|
+
<fo:bookmark internal-destination="{xalan:nodeset($contents)/table[1]/@id}" starting-state="hide">
|
6793
|
+
<fo:bookmark-title>
|
6794
|
+
<xsl:choose>
|
6795
|
+
<xsl:when test="$lang = 'fr'">Tableaux</xsl:when>
|
6796
|
+
<xsl:otherwise>Tables</xsl:otherwise>
|
6797
|
+
</xsl:choose>
|
6798
|
+
</fo:bookmark-title>
|
6799
|
+
<xsl:for-each select="xalan:nodeset($contents)/table">
|
6800
|
+
<fo:bookmark internal-destination="{@id}">
|
6801
|
+
<fo:bookmark-title>
|
6802
|
+
<xsl:value-of select="normalize-space(title)"/>
|
6803
|
+
</fo:bookmark-title>
|
6804
|
+
</fo:bookmark>
|
6805
|
+
</xsl:for-each>
|
6806
|
+
</fo:bookmark>
|
6807
|
+
</xsl:if>
|
6116
6808
|
</xsl:template><xsl:template name="getLangVersion">
|
6117
6809
|
<xsl:param name="lang"/>
|
6810
|
+
<xsl:param name="doctype" select="''"/>
|
6811
|
+
<xsl:param name="title" select="''"/>
|
6118
6812
|
<xsl:choose>
|
6119
6813
|
<xsl:when test="$lang = 'en'">
|
6120
6814
|
|
6121
|
-
|
6815
|
+
|
6816
|
+
<xsl:choose>
|
6817
|
+
<xsl:when test="$doctype = 'guide'">
|
6818
|
+
<xsl:value-of select="$title"/>
|
6819
|
+
</xsl:when>
|
6820
|
+
<xsl:otherwise>English version</xsl:otherwise>
|
6821
|
+
</xsl:choose>
|
6822
|
+
|
6122
6823
|
</xsl:when>
|
6123
6824
|
<xsl:when test="$lang = 'fr'">
|
6124
6825
|
|
6125
|
-
|
6826
|
+
|
6827
|
+
<xsl:choose>
|
6828
|
+
<xsl:when test="$doctype = 'guide'">
|
6829
|
+
<xsl:value-of select="$title"/>
|
6830
|
+
</xsl:when>
|
6831
|
+
<xsl:otherwise>Version française</xsl:otherwise>
|
6832
|
+
</xsl:choose>
|
6833
|
+
|
6126
6834
|
</xsl:when>
|
6127
6835
|
<xsl:when test="$lang = 'de'">Deutsche</xsl:when>
|
6128
6836
|
<xsl:otherwise><xsl:value-of select="$lang"/> version</xsl:otherwise>
|
@@ -6150,6 +6858,12 @@
|
|
6150
6858
|
<!-- <xsl:text> </xsl:text> -->
|
6151
6859
|
</xsl:template><xsl:template name="getSection">
|
6152
6860
|
<xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
|
6861
|
+
<!--
|
6862
|
+
<xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
|
6863
|
+
<xsl:value-of select="."/>
|
6864
|
+
</xsl:for-each>
|
6865
|
+
-->
|
6866
|
+
|
6153
6867
|
</xsl:template><xsl:template name="getName">
|
6154
6868
|
<xsl:choose>
|
6155
6869
|
<xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
|
@@ -6202,6 +6916,12 @@
|
|
6202
6916
|
<xsl:copy>
|
6203
6917
|
<xsl:apply-templates mode="contents_item"/>
|
6204
6918
|
</xsl:copy>
|
6919
|
+
</xsl:template><xsl:template match="*[local-name() = 'em']" mode="contents_item">
|
6920
|
+
<xsl:copy>
|
6921
|
+
<xsl:apply-templates mode="contents_item"/>
|
6922
|
+
</xsl:copy>
|
6923
|
+
</xsl:template><xsl:template match="*[local-name() = 'stem']" mode="contents_item">
|
6924
|
+
<xsl:copy-of select="."/>
|
6205
6925
|
</xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
|
6206
6926
|
<xsl:text> </xsl:text>
|
6207
6927
|
</xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
@@ -6227,6 +6947,7 @@
|
|
6227
6947
|
|
6228
6948
|
|
6229
6949
|
|
6950
|
+
|
6230
6951
|
|
6231
6952
|
|
6232
6953
|
|
@@ -6607,10 +7328,13 @@
|
|
6607
7328
|
</xsl:if>
|
6608
7329
|
</xsl:if>
|
6609
7330
|
|
7331
|
+
|
6610
7332
|
<fo:block-container margin-left="0mm">
|
6611
7333
|
|
6612
7334
|
<fo:block xsl:use-attribute-sets="quote-style">
|
6613
|
-
<xsl:apply-templates select=".//*[local-name() = 'p']"/>
|
7335
|
+
<!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
|
7336
|
+
|
7337
|
+
<xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
|
6614
7338
|
</fo:block>
|
6615
7339
|
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
|
6616
7340
|
<fo:block xsl:use-attribute-sets="quote-source-style">
|
@@ -6764,6 +7488,7 @@
|
|
6764
7488
|
|
6765
7489
|
|
6766
7490
|
|
7491
|
+
|
6767
7492
|
|
6768
7493
|
|
6769
7494
|
|
@@ -6775,7 +7500,7 @@
|
|
6775
7500
|
|
6776
7501
|
|
6777
7502
|
|
6778
|
-
</xsl:template><xsl:template match="
|
7503
|
+
</xsl:template><xsl:template match="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
|
6779
7504
|
<fo:block break-after="page"/>
|
6780
7505
|
<fo:block>
|
6781
7506
|
<xsl:call-template name="setId"/>
|
@@ -6783,10 +7508,11 @@
|
|
6783
7508
|
</fo:block>
|
6784
7509
|
</xsl:template><xsl:template match="*[local-name() = 'clause']">
|
6785
7510
|
<fo:block>
|
6786
|
-
<xsl:call-template name="setId"/>
|
7511
|
+
<xsl:call-template name="setId"/>
|
6787
7512
|
|
6788
7513
|
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
6789
7514
|
|
7515
|
+
|
6790
7516
|
<xsl:apply-templates/>
|
6791
7517
|
</fo:block>
|
6792
7518
|
</xsl:template><xsl:template match="*[local-name() = 'definitions']">
|
@@ -6852,7 +7578,8 @@
|
|
6852
7578
|
<fo:table-column column-width="107mm"/>
|
6853
7579
|
<fo:table-column column-width="15mm"/>
|
6854
7580
|
<fo:table-body>
|
6855
|
-
<fo:table-row
|
7581
|
+
<fo:table-row text-align="center" font-weight="bold" background-color="black" color="white">
|
7582
|
+
|
6856
7583
|
<fo:table-cell border="1pt solid black"><fo:block>Date</fo:block></fo:table-cell>
|
6857
7584
|
<fo:table-cell border="1pt solid black"><fo:block>Type</fo:block></fo:table-cell>
|
6858
7585
|
<fo:table-cell border="1pt solid black"><fo:block>Change</fo:block></fo:table-cell>
|
@@ -6870,6 +7597,38 @@
|
|
6870
7597
|
<fo:block><xsl:apply-templates/></fo:block>
|
6871
7598
|
</fo:table-cell>
|
6872
7599
|
</xsl:template><xsl:template name="processBibitem">
|
7600
|
+
|
7601
|
+
|
7602
|
+
<!-- start BIPM bibtem processing -->
|
7603
|
+
<xsl:choose>
|
7604
|
+
<xsl:when test="*[local-name() = 'formattedref']">
|
7605
|
+
<xsl:apply-templates select="*[local-name() = 'formattedref']"/>
|
7606
|
+
</xsl:when>
|
7607
|
+
<xsl:otherwise>
|
7608
|
+
<xsl:variable name="docidentifier" select="*[local-name() = 'docidentifier'][not(@type = 'URN' or @type = 'metanorma' or @type = 'BIPM' or @type = 'ISBN' or @type = 'ISSN')]"/>
|
7609
|
+
|
7610
|
+
<xsl:value-of select="$docidentifier"/>
|
7611
|
+
<xsl:if test="$docidentifier != '' and *[local-name() = 'title']">, </xsl:if>
|
7612
|
+
|
7613
|
+
<xsl:variable name="curr_lang" select="ancestor::bipm:bipm-standard/bipm:bibdata/bipm:language"/>
|
7614
|
+
|
7615
|
+
<xsl:choose>
|
7616
|
+
<xsl:when test="*[local-name() = 'title'][@type = 'main' and @language = $curr_lang]">
|
7617
|
+
<xsl:apply-templates select="*[local-name() = 'title'][@type = 'main' and @language = $curr_lang]"/>
|
7618
|
+
</xsl:when>
|
7619
|
+
<xsl:when test="*[local-name() = 'title'][@type = 'main' and @language = 'en']">
|
7620
|
+
<xsl:apply-templates select="*[local-name() = 'title'][@type = 'main' and @language = 'en']"/>
|
7621
|
+
</xsl:when>
|
7622
|
+
<xsl:otherwise>
|
7623
|
+
<xsl:apply-templates select="*[local-name() = 'title']"/>
|
7624
|
+
</xsl:otherwise>
|
7625
|
+
</xsl:choose>
|
7626
|
+
|
7627
|
+
</xsl:otherwise>
|
7628
|
+
</xsl:choose>
|
7629
|
+
|
7630
|
+
<!-- end BIPM bibitem processing-->
|
7631
|
+
|
6873
7632
|
|
6874
7633
|
|
6875
7634
|
|
@@ -6928,6 +7687,8 @@
|
|
6928
7687
|
<xsl:value-of select="translate(.,'. ','')"/>
|
6929
7688
|
</xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'forename']/text()" mode="strip">
|
6930
7689
|
<xsl:value-of select="substring(.,1,1)"/>
|
7690
|
+
</xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
|
7691
|
+
<fo:inline><xsl:apply-templates/></fo:inline>
|
6931
7692
|
</xsl:template><xsl:template name="convertDate">
|
6932
7693
|
<xsl:param name="date"/>
|
6933
7694
|
<xsl:param name="format" select="'short'"/>
|
@@ -6952,6 +7713,57 @@
|
|
6952
7713
|
</xsl:variable>
|
6953
7714
|
<xsl:variable name="result">
|
6954
7715
|
<xsl:choose>
|
7716
|
+
<xsl:when test="$format = 'ddMMyyyy'">
|
7717
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
7718
|
+
<xsl:text> </xsl:text>
|
7719
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
|
7720
|
+
</xsl:when>
|
7721
|
+
<xsl:when test="$format = 'ddMM'">
|
7722
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
7723
|
+
<xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
|
7724
|
+
</xsl:when>
|
7725
|
+
<xsl:when test="$format = 'short' or $day = ''">
|
7726
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
|
7727
|
+
</xsl:when>
|
7728
|
+
<xsl:otherwise>
|
7729
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
|
7730
|
+
</xsl:otherwise>
|
7731
|
+
</xsl:choose>
|
7732
|
+
</xsl:variable>
|
7733
|
+
<xsl:value-of select="$result"/>
|
7734
|
+
</xsl:template><xsl:template name="convertDateLocalized">
|
7735
|
+
<xsl:param name="date"/>
|
7736
|
+
<xsl:param name="format" select="'short'"/>
|
7737
|
+
<xsl:variable name="year" select="substring($date, 1, 4)"/>
|
7738
|
+
<xsl:variable name="month" select="substring($date, 6, 2)"/>
|
7739
|
+
<xsl:variable name="day" select="substring($date, 9, 2)"/>
|
7740
|
+
<xsl:variable name="monthStr">
|
7741
|
+
<xsl:choose>
|
7742
|
+
<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>
|
7743
|
+
<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>
|
7744
|
+
<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>
|
7745
|
+
<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>
|
7746
|
+
<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>
|
7747
|
+
<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>
|
7748
|
+
<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>
|
7749
|
+
<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>
|
7750
|
+
<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>
|
7751
|
+
<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>
|
7752
|
+
<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>
|
7753
|
+
<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>
|
7754
|
+
</xsl:choose>
|
7755
|
+
</xsl:variable>
|
7756
|
+
<xsl:variable name="result">
|
7757
|
+
<xsl:choose>
|
7758
|
+
<xsl:when test="$format = 'ddMMyyyy'">
|
7759
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
7760
|
+
<xsl:text> </xsl:text>
|
7761
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
|
7762
|
+
</xsl:when>
|
7763
|
+
<xsl:when test="$format = 'ddMM'">
|
7764
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
7765
|
+
<xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
|
7766
|
+
</xsl:when>
|
6955
7767
|
<xsl:when test="$format = 'short' or $day = ''">
|
6956
7768
|
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
|
6957
7769
|
</xsl:when>
|
@@ -6967,7 +7779,7 @@
|
|
6967
7779
|
<xsl:param name="charDelim" select="', '"/>
|
6968
7780
|
<xsl:choose>
|
6969
7781
|
<xsl:when test="$sorting = 'true' or $sorting = 'yes'">
|
6970
|
-
<xsl:for-each select="
|
7782
|
+
<xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
|
6971
7783
|
<xsl:sort data-type="text" order="ascending"/>
|
6972
7784
|
<xsl:call-template name="insertKeyword">
|
6973
7785
|
<xsl:with-param name="charAtEnd" select="$charAtEnd"/>
|
@@ -6976,7 +7788,7 @@
|
|
6976
7788
|
</xsl:for-each>
|
6977
7789
|
</xsl:when>
|
6978
7790
|
<xsl:otherwise>
|
6979
|
-
<xsl:for-each select="
|
7791
|
+
<xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
|
6980
7792
|
<xsl:call-template name="insertKeyword">
|
6981
7793
|
<xsl:with-param name="charAtEnd" select="$charAtEnd"/>
|
6982
7794
|
<xsl:with-param name="charDelim" select="$charDelim"/>
|
@@ -6993,6 +7805,9 @@
|
|
6993
7805
|
<xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
|
6994
7806
|
</xsl:choose>
|
6995
7807
|
</xsl:template><xsl:template name="addPDFUAmeta">
|
7808
|
+
<xsl:variable name="lang">
|
7809
|
+
<xsl:call-template name="getLang"/>
|
7810
|
+
</xsl:variable>
|
6996
7811
|
<fo:declarations>
|
6997
7812
|
<pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
|
6998
7813
|
<pdf:dictionary type="normal" key="ViewerPreferences">
|
@@ -7005,13 +7820,16 @@
|
|
7005
7820
|
<!-- Dublin Core properties go here -->
|
7006
7821
|
<dc:title>
|
7007
7822
|
<xsl:variable name="title">
|
7008
|
-
|
7009
|
-
|
7010
|
-
|
7011
|
-
|
7012
|
-
|
7013
|
-
|
7014
|
-
|
7823
|
+
<xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
|
7824
|
+
|
7825
|
+
|
7826
|
+
<xsl:value-of select="*[local-name() = 'title'][@language = $lang and @type = 'main']"/>
|
7827
|
+
|
7828
|
+
|
7829
|
+
|
7830
|
+
|
7831
|
+
|
7832
|
+
</xsl:for-each>
|
7015
7833
|
</xsl:variable>
|
7016
7834
|
<xsl:choose>
|
7017
7835
|
<xsl:when test="normalize-space($title) != ''">
|
@@ -7023,20 +7841,22 @@
|
|
7023
7841
|
</xsl:choose>
|
7024
7842
|
</dc:title>
|
7025
7843
|
<dc:creator>
|
7026
|
-
|
7027
|
-
|
7028
|
-
|
7029
|
-
|
7030
|
-
|
7031
|
-
|
7032
|
-
<dc:description>
|
7033
|
-
<xsl:variable name="abstract">
|
7844
|
+
<xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
|
7845
|
+
|
7846
|
+
<xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
|
7847
|
+
<xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
|
7848
|
+
<xsl:if test="position() != last()">; </xsl:if>
|
7849
|
+
</xsl:for-each>
|
7034
7850
|
|
7035
7851
|
|
7036
7852
|
|
7853
|
+
</xsl:for-each>
|
7854
|
+
</dc:creator>
|
7855
|
+
<dc:description>
|
7856
|
+
<xsl:variable name="abstract">
|
7037
7857
|
|
7858
|
+
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
|
7038
7859
|
|
7039
|
-
<xsl:copy-of select="//*[local-name() = 'bibdata'][@type='standard']/*[local-name() = 'abstract']//text()"/>
|
7040
7860
|
|
7041
7861
|
</xsl:variable>
|
7042
7862
|
<xsl:value-of select="normalize-space($abstract)"/>
|
@@ -7148,6 +7968,7 @@
|
|
7148
7968
|
|
7149
7969
|
<xsl:value-of select="document('')//*/namespace::bipm"/>
|
7150
7970
|
|
7971
|
+
|
7151
7972
|
</xsl:variable>
|
7152
7973
|
<xsl:if test="$documentNS != $XSLNS">
|
7153
7974
|
<xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
|
@@ -7207,6 +8028,11 @@
|
|
7207
8028
|
<xsl:call-template name="getLang"/>
|
7208
8029
|
</xsl:variable>
|
7209
8030
|
|
7210
|
-
<xsl:
|
8031
|
+
<xsl:choose>
|
8032
|
+
<xsl:when test="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]">
|
8033
|
+
<xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
8034
|
+
</xsl:when>
|
8035
|
+
<xsl:otherwise><xsl:value-of select="$key"/></xsl:otherwise>
|
8036
|
+
</xsl:choose>
|
7211
8037
|
|
7212
8038
|
</xsl:template></xsl:stylesheet>
|