metanorma-bipm 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/asciidoctor/bipm/basicdoc.rng +50 -3
- data/lib/asciidoctor/bipm/bipm.rng +8 -1
- data/lib/asciidoctor/bipm/converter.rb +6 -10
- data/lib/asciidoctor/bipm/isodoc.rng +7 -0
- data/lib/isodoc/bipm/base_convert.rb +20 -7
- data/lib/isodoc/bipm/bipm.brochure.xsl +614 -166
- data/lib/isodoc/bipm/bipm.guide.xsl +614 -166
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +614 -166
- data/lib/isodoc/bipm/bipm.rapport.xsl +614 -166
- 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/presentation_xml_convert.rb +2 -1
- data/lib/metanorma/bipm/processor.rb +11 -0
- data/lib/metanorma/bipm/version.rb +1 -1
- data/metanorma-bipm.gemspec +1 -1
- metadata +5 -5
- data/lib/metanorma/bipm/fonts_manifest.yaml +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3acf341b606e1c45ba970fa51074d7ff9cb2cfb424a0a4439821af1b5f76f6bf
|
4
|
+
data.tar.gz: 15d7d12f963aee720825f1a4481670efde7430dd02aaca56cebecdb1d7190999
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb967276a656a03fde3b69145a43ce1b01805bac6123ca205127317943c89d3154276a4cffd526dde879cc561bc7cf97eba895cd2f9d5b8b8390ddd3041b0e05
|
7
|
+
data.tar.gz: 3d8075a9b34a50e72009eb55498ec16fdab6b075a63af4638dcb95e2c61408bc20199fac99115449c4234c4d8afe3050d3040883a1bd3f2933fd43fb6cb8dc84
|
@@ -596,6 +596,7 @@
|
|
596
596
|
<ref name="bookmark"/>
|
597
597
|
<ref name="image"/>
|
598
598
|
<ref name="index"/>
|
599
|
+
<ref name="index-xref"/>
|
599
600
|
</choice>
|
600
601
|
</define>
|
601
602
|
<define name="PureTextElement">
|
@@ -728,15 +729,61 @@
|
|
728
729
|
</define>
|
729
730
|
<define name="index">
|
730
731
|
<element name="index">
|
731
|
-
<attribute name="
|
732
|
+
<attribute name="to">
|
733
|
+
<data type="IDREF"/>
|
734
|
+
</attribute>
|
735
|
+
<element name="primary">
|
736
|
+
<oneOrMore>
|
737
|
+
<ref name="PureTextElement"/>
|
738
|
+
</oneOrMore>
|
739
|
+
</element>
|
732
740
|
<optional>
|
733
|
-
<
|
741
|
+
<element name="secondary">
|
742
|
+
<oneOrMore>
|
743
|
+
<ref name="PureTextElement"/>
|
744
|
+
</oneOrMore>
|
745
|
+
</element>
|
734
746
|
</optional>
|
735
747
|
<optional>
|
736
|
-
<
|
748
|
+
<element name="tertiary">
|
749
|
+
<oneOrMore>
|
750
|
+
<ref name="PureTextElement"/>
|
751
|
+
</oneOrMore>
|
752
|
+
</element>
|
737
753
|
</optional>
|
738
754
|
</element>
|
739
755
|
</define>
|
756
|
+
<define name="index-xref">
|
757
|
+
<element name="index-xref">
|
758
|
+
<attribute name="also">
|
759
|
+
<data type="boolean"/>
|
760
|
+
</attribute>
|
761
|
+
<element name="primary">
|
762
|
+
<oneOrMore>
|
763
|
+
<ref name="PureTextElement"/>
|
764
|
+
</oneOrMore>
|
765
|
+
</element>
|
766
|
+
<optional>
|
767
|
+
<element name="secondary">
|
768
|
+
<oneOrMore>
|
769
|
+
<ref name="PureTextElement"/>
|
770
|
+
</oneOrMore>
|
771
|
+
</element>
|
772
|
+
</optional>
|
773
|
+
<optional>
|
774
|
+
<element name="tertiary">
|
775
|
+
<oneOrMore>
|
776
|
+
<ref name="PureTextElement"/>
|
777
|
+
</oneOrMore>
|
778
|
+
</element>
|
779
|
+
</optional>
|
780
|
+
<element name="target">
|
781
|
+
<oneOrMore>
|
782
|
+
<ref name="PureTextElement"/>
|
783
|
+
</oneOrMore>
|
784
|
+
</element>
|
785
|
+
</element>
|
786
|
+
</define>
|
740
787
|
<!-- bare ID element, used for referencing arbitrary spans of text -->
|
741
788
|
<define name="bookmark">
|
742
789
|
<element name="bookmark">
|
@@ -47,6 +47,11 @@
|
|
47
47
|
<data type="boolean"/>
|
48
48
|
</attribute>
|
49
49
|
</optional>
|
50
|
+
<optional>
|
51
|
+
<attribute name="nopage">
|
52
|
+
<data type="boolean"/>
|
53
|
+
</attribute>
|
54
|
+
</optional>
|
50
55
|
<text/>
|
51
56
|
</element>
|
52
57
|
</define>
|
@@ -338,7 +343,9 @@
|
|
338
343
|
<optional>
|
339
344
|
<ref name="boilerplate"/>
|
340
345
|
</optional>
|
341
|
-
<
|
346
|
+
<optional>
|
347
|
+
<ref name="preface"/>
|
348
|
+
</optional>
|
342
349
|
<oneOrMore>
|
343
350
|
<ref name="sections"/>
|
344
351
|
</oneOrMore>
|
@@ -42,14 +42,10 @@ module Asciidoctor
|
|
42
42
|
|
43
43
|
def metadata_committee2(node, a)
|
44
44
|
i = 2
|
45
|
-
while node.attr("committee-en_#{i}") ||
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
e = node.attr("committee-en_#{i}") and
|
50
|
-
c.variant e, language: "en", script: "Latn"
|
51
|
-
e = node.attr("committee-fr_#{i}") and
|
52
|
-
c.variant e, language: "fr", script: "Latn"
|
45
|
+
while node.attr("committee-en_#{i}") || node.attr("committee-fr_#{i}") do
|
46
|
+
a.committee **attr_code(acronym: node.attr("committee-acronym_#{i}")) do |c|
|
47
|
+
e = node.attr("committee-en_#{i}") and c.variant e, language: "en", script: "Latn"
|
48
|
+
e = node.attr("committee-fr_#{i}") and c.variant e, language: "fr", script: "Latn"
|
53
49
|
end
|
54
50
|
i += 1
|
55
51
|
end
|
@@ -135,7 +131,7 @@ module Asciidoctor
|
|
135
131
|
end
|
136
132
|
|
137
133
|
def inline_anchor_xref_attrs(node)
|
138
|
-
flags = %w(pagenumber nosee).each_with_object({}) do |w, m|
|
134
|
+
flags = %w(pagenumber nosee nopage).each_with_object({}) do |w, m|
|
139
135
|
if /#{w}%/.match(node.text)
|
140
136
|
node.text = node.text.sub(/#{w}%/, "")
|
141
137
|
m[w] = true
|
@@ -204,6 +200,6 @@ module Asciidoctor
|
|
204
200
|
return nil if node.attr("no-pdf")
|
205
201
|
IsoDoc::BIPM::PdfConvert.new(doc_extract_attributes(node))
|
206
202
|
end
|
207
|
-
end
|
208
203
|
end
|
209
204
|
end
|
205
|
+
end
|
@@ -55,6 +55,13 @@
|
|
55
55
|
<param name="pattern">\i\c*|\c+#\c+</param>
|
56
56
|
</data>
|
57
57
|
</attribute>
|
58
|
+
<optional>
|
59
|
+
<attribute name="to">
|
60
|
+
<data type="string">
|
61
|
+
<param name="pattern">\i\c*|\c+#\c+</param>
|
62
|
+
</data>
|
63
|
+
</attribute>
|
64
|
+
</optional>
|
58
65
|
<optional>
|
59
66
|
<attribute name="type">
|
60
67
|
<ref name="ReferenceFormat"/>
|
@@ -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(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,78 @@
|
|
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="dash" select="'–'"/>
|
169
|
+
|
93
170
|
<xsl:variable name="ids">
|
94
171
|
<xsl:for-each select="//*[@id]">
|
95
172
|
<id><xsl:value-of select="@id"/></id>
|
@@ -116,6 +193,9 @@
|
|
116
193
|
<xsl:apply-templates select="/*/bipm:annex" mode="contents"/>
|
117
194
|
<xsl:apply-templates select="/*/bipm:bibliography/bipm:references[not(@normative='true')]" mode="contents"/>
|
118
195
|
|
196
|
+
<!-- Index -->
|
197
|
+
<xsl:apply-templates select="//bipm:clause[@type = 'index']" mode="contents"/>
|
198
|
+
|
119
199
|
</contents>
|
120
200
|
</xsl:template>
|
121
201
|
|
@@ -195,15 +275,6 @@
|
|
195
275
|
</fo:repeatable-page-master-alternatives>
|
196
276
|
</fo:page-sequence-master>
|
197
277
|
|
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
278
|
|
208
279
|
</fo:layout-master-set>
|
209
280
|
|
@@ -245,7 +316,7 @@
|
|
245
316
|
<xsl:variable name="lang" select="*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
|
246
317
|
<xsl:variable name="num"><xsl:number level="any" count="bipm:bipm-standard"/></xsl:variable>
|
247
318
|
<!-- change id to prevent identical id in different documents in one container -->
|
248
|
-
<xsl:variable name="current_document">
|
319
|
+
<!-- <xsl:variable name="current_document">
|
249
320
|
<xsl:apply-templates select="." mode="change_id">
|
250
321
|
<xsl:with-param name="lang" select="$lang"/>
|
251
322
|
<xsl:with-param name="ignoreReferenceFrom" select="'true'"/>
|
@@ -254,6 +325,10 @@
|
|
254
325
|
|
255
326
|
<xsl:variable name="flatxml">
|
256
327
|
<xsl:apply-templates select="xalan:nodeset($current_document)" mode="flatxml"/>
|
328
|
+
</xsl:variable> -->
|
329
|
+
|
330
|
+
<xsl:variable name="flatxml">
|
331
|
+
<xsl:apply-templates select="." mode="flatxml"/>
|
257
332
|
</xsl:variable>
|
258
333
|
|
259
334
|
<!-- flatxml=<xsl:copy-of select="$flatxml"/> -->
|
@@ -269,7 +344,7 @@
|
|
269
344
|
<xsl:variable name="lang" select="*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
|
270
345
|
<xsl:variable name="num"><xsl:number level="any" count="bipm:bipm-standard"/></xsl:variable>
|
271
346
|
<!-- change id to prevent identical id in different documents in one container -->
|
272
|
-
<xsl:variable name="current_document">
|
347
|
+
<!-- <xsl:variable name="current_document">
|
273
348
|
<xsl:apply-templates select="." mode="change_id">
|
274
349
|
<xsl:with-param name="lang" select="$lang"/>
|
275
350
|
</xsl:apply-templates>
|
@@ -277,6 +352,10 @@
|
|
277
352
|
|
278
353
|
<xsl:variable name="flatxml">
|
279
354
|
<xsl:apply-templates select="xalan:nodeset($current_document)" mode="flatxml"/>
|
355
|
+
</xsl:variable> -->
|
356
|
+
|
357
|
+
<xsl:variable name="flatxml">
|
358
|
+
<xsl:apply-templates select="." mode="flatxml"/>
|
280
359
|
</xsl:variable>
|
281
360
|
|
282
361
|
<xsl:apply-templates select="xalan:nodeset($flatxml)/bipm:bipm-standard" mode="bipm-standard">
|
@@ -296,6 +375,9 @@
|
|
296
375
|
</xsl:variable>
|
297
376
|
|
298
377
|
<!-- flatxml=<xsl:copy-of select="$flatxml"/> -->
|
378
|
+
|
379
|
+
<!-- indexes=<xsl:copy-of select="$indexes"/> -->
|
380
|
+
|
299
381
|
|
300
382
|
<xsl:apply-templates select="xalan:nodeset($flatxml)/bipm:bipm-standard" mode="bipm-standard">
|
301
383
|
<xsl:with-param name="curr_docnum" select="1"/>
|
@@ -586,7 +668,7 @@
|
|
586
668
|
|
587
669
|
<!-- copy 'ol' 'ul' properties to each 'li' -->
|
588
670
|
<!-- OBSOLETE: move note for list (list level note) into latest 'li' -->
|
589
|
-
<!-- move note for list (list level note) into first 'li' -->
|
671
|
+
<!-- NOW: move note for list (list level note) into first 'li' -->
|
590
672
|
<!-- move fn for list-item (list-item level footnote) into first 'li' -->
|
591
673
|
<xsl:template match="bipm:li" mode="flatxml_list">
|
592
674
|
<xsl:copy>
|
@@ -618,6 +700,15 @@
|
|
618
700
|
</xsl:otherwise>
|
619
701
|
</xsl:choose>
|
620
702
|
</xsl:for-each>
|
703
|
+
|
704
|
+
<!-- move note(s) after ul/ol into first 'li' -->
|
705
|
+
<xsl:if test="not(ancestor::bipm:quote)">
|
706
|
+
<xsl:variable name="list_id" select="generate-id(..)"/>
|
707
|
+
<xsl:for-each select="../following-sibling::bipm:note[generate-id(preceding-sibling::*[not(local-name()='note') and not(local-name()='quote')][1]) = $list_id]">
|
708
|
+
<xsl:call-template name="change_note_kind"/>
|
709
|
+
</xsl:for-each>
|
710
|
+
</xsl:if>
|
711
|
+
|
621
712
|
|
622
713
|
<xsl:if test="ancestor::bipm:quote or not(ancestor::bipm:table)">
|
623
714
|
|
@@ -738,6 +829,31 @@
|
|
738
829
|
</xsl:when>
|
739
830
|
</xsl:choose>
|
740
831
|
</xsl:template>
|
832
|
+
|
833
|
+
<xsl:template match="bipm:clause[@type = 'index']" mode="flatxml"/>
|
834
|
+
<!-- <xsl:template match="bipm:clause[@type = 'index']" mode="flatxml">
|
835
|
+
<xsl:copy>
|
836
|
+
<xsl:apply-templates select="@*" mode="flatxml_index"/>
|
837
|
+
<xsl:apply-templates mode="flatxml_index"/>
|
838
|
+
</xsl:copy>
|
839
|
+
</xsl:template>
|
840
|
+
|
841
|
+
<xsl:template match="@*|node()" mode="flatxml_index">
|
842
|
+
<xsl:copy>
|
843
|
+
<xsl:apply-templates select="@*|node()" mode="flatxml_index"/>
|
844
|
+
</xsl:copy>
|
845
|
+
</xsl:template>
|
846
|
+
|
847
|
+
<xsl:template match="bipm:xref" mode="flatxml_index">
|
848
|
+
<xsl:copy>
|
849
|
+
<xsl:apply-templates select="@*" mode="flatxml_index"/>
|
850
|
+
<xsl:attribute name="id">
|
851
|
+
<xsl:value-of select="generate-id(.)"/>
|
852
|
+
</xsl:attribute>
|
853
|
+
<xsl:apply-templates mode="flatxml_index"/>
|
854
|
+
</xsl:copy>
|
855
|
+
</xsl:template> -->
|
856
|
+
|
741
857
|
<!-- ================================= -->
|
742
858
|
<!-- END: Flattening xml for fit notes at page sides (margins) -->
|
743
859
|
<!-- ================================= -->
|
@@ -846,31 +962,33 @@
|
|
846
962
|
</fo:flow>
|
847
963
|
</fo:page-sequence>
|
848
964
|
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
|
853
|
-
|
854
|
-
|
855
|
-
|
856
|
-
|
857
|
-
|
858
|
-
|
859
|
-
|
860
|
-
|
861
|
-
|
862
|
-
|
863
|
-
|
864
|
-
|
865
|
-
|
866
|
-
|
867
|
-
|
868
|
-
|
869
|
-
<
|
870
|
-
|
871
|
-
|
872
|
-
|
873
|
-
|
965
|
+
|
966
|
+
<xsl:if test="bipm:preface/*">
|
967
|
+
<fo:page-sequence master-reference="document" force-page-count="no-force">
|
968
|
+
<xsl:call-template name="insertFootnoteSeparator"/>
|
969
|
+
|
970
|
+
<xsl:variable name="header-title">
|
971
|
+
<xsl:choose>
|
972
|
+
<xsl:when test="bipm:preface/*[1]/bipm:title[1]/*[local-name() = 'tab']">
|
973
|
+
<xsl:apply-templates select="bipm:preface/*[1]/bipm:title[1]/*[local-name() = 'tab'][1]/following-sibling::node()" mode="header"/>
|
974
|
+
</xsl:when>
|
975
|
+
<xsl:otherwise>
|
976
|
+
<xsl:apply-templates select="bipm:preface/*[1]/bipm:title[1]" mode="header"/>
|
977
|
+
</xsl:otherwise>
|
978
|
+
</xsl:choose>
|
979
|
+
</xsl:variable>
|
980
|
+
<xsl:call-template name="insertHeaderFooter">
|
981
|
+
<xsl:with-param name="header-title" select="$header-title"/>
|
982
|
+
</xsl:call-template>
|
983
|
+
|
984
|
+
<fo:flow flow-name="xsl-region-body">
|
985
|
+
<fo:block line-height="135%">
|
986
|
+
<!-- <xsl:apply-templates select="bipm:preface/bipm:abstract" /> -->
|
987
|
+
<xsl:apply-templates select="bipm:preface/*[1]"/>
|
988
|
+
</fo:block>
|
989
|
+
</fo:flow>
|
990
|
+
</fo:page-sequence>
|
991
|
+
</xsl:if>
|
874
992
|
|
875
993
|
|
876
994
|
<xsl:variable name="docid">
|
@@ -917,7 +1035,7 @@
|
|
917
1035
|
<fo:table-column column-width="127mm"/>
|
918
1036
|
<fo:table-column column-width="12mm"/>
|
919
1037
|
<fo:table-body>
|
920
|
-
<xsl:for-each select="xalan:nodeset($contents)/doc[@id = $docid]//item[@display='true' and not(@type = 'annex') and not(@parent = 'annex')]">
|
1038
|
+
<xsl:for-each select="xalan:nodeset($contents)/doc[@id = $docid]//item[@display='true' and not(@type = 'annex') and not(@type = 'index') and not(@parent = 'annex')]">
|
921
1039
|
<xsl:call-template name="insertContentItem"/>
|
922
1040
|
</xsl:for-each>
|
923
1041
|
<xsl:if test="$doctype ='brochure'">
|
@@ -931,6 +1049,9 @@
|
|
931
1049
|
<xsl:for-each select="xalan:nodeset($contents)/doc[@id = $docid]//item[@display='true' and (@type = 'annex')]"> <!-- or (@level = 2 and @parent = 'annex') -->
|
932
1050
|
<xsl:call-template name="insertContentItem"/>
|
933
1051
|
</xsl:for-each>
|
1052
|
+
<xsl:for-each select="xalan:nodeset($contents)/doc[@id = $docid]//item[@display='true' and (@type = 'index')]">
|
1053
|
+
<xsl:call-template name="insertContentItem"/>
|
1054
|
+
</xsl:for-each>
|
934
1055
|
</fo:table-body>
|
935
1056
|
</fo:table>
|
936
1057
|
</xsl:if>
|
@@ -961,6 +1082,9 @@
|
|
961
1082
|
<!-- Bibliography -->
|
962
1083
|
<xsl:apply-templates select="bipm:bibliography/bipm:references[not(@normative='true')]" mode="sections"/>
|
963
1084
|
|
1085
|
+
<!-- Index -->
|
1086
|
+
<xsl:apply-templates select="xalan:nodeset($indexes)/doc[@id = $docid]//bipm:clause[@type = 'index']" mode="index"/>
|
1087
|
+
|
964
1088
|
<!-- End Document Pages -->
|
965
1089
|
|
966
1090
|
|
@@ -971,32 +1095,10 @@
|
|
971
1095
|
</xsl:when>
|
972
1096
|
<xsl:otherwise> <!-- independentAppendix != '' -->
|
973
1097
|
|
974
|
-
|
975
|
-
|
976
|
-
<xsl:call-template name="
|
977
|
-
|
978
|
-
<fo:flow flow-name="xsl-region-body" font-family="Times New Roman">
|
979
|
-
<fo:block-container border-bottom="1.5pt solid rgb(79, 129, 189)" margin-bottom="36pt">
|
980
|
-
<fo:block font-family="Arial" font-size="24pt" font-weight="bold" color="rgb(23, 54, 93)">
|
981
|
-
<fo:block>
|
982
|
-
<xsl:choose>
|
983
|
-
<xsl:when test="$lang = 'fr'">Annexe </xsl:when>
|
984
|
-
<xsl:otherwise>Appendix </xsl:otherwise>
|
985
|
-
</xsl:choose>
|
986
|
-
<xsl:value-of select="/bipm:bipm-standard/bipm:bibdata/bipm:ext/bipm:structuredidentifier/bipm:appendix"/>
|
987
|
-
<xsl:text>. </xsl:text>
|
988
|
-
<xsl:value-of select="/bipm:bipm-standard/bipm:bibdata/bipm:title[@type = 'appendix' and @language = $lang]"/>
|
989
|
-
</fo:block>
|
990
|
-
</fo:block>
|
991
|
-
</fo:block-container>
|
992
|
-
|
993
|
-
<fo:block line-height="130%">
|
994
|
-
<xsl:apply-templates select="bipm:sections/*"/>
|
995
|
-
</fo:block>
|
996
|
-
|
997
|
-
<fo:block id="theLastPage"/>
|
998
|
-
</fo:flow>
|
999
|
-
</fo:page-sequence> -->
|
1098
|
+
|
1099
|
+
<xsl:variable name="docid">
|
1100
|
+
<xsl:call-template name="getDocumentId"/>
|
1101
|
+
</xsl:variable>
|
1000
1102
|
|
1001
1103
|
<fo:page-sequence master-reference="document" force-page-count="no-force">
|
1002
1104
|
|
@@ -1140,6 +1242,8 @@
|
|
1140
1242
|
|
1141
1243
|
<xsl:apply-templates select="bipm:bibliography/bipm:references[not(@normative='true')]" mode="sections"/>
|
1142
1244
|
|
1245
|
+
<!-- Index -->
|
1246
|
+
<xsl:apply-templates select="xalan:nodeset($indexes)/doc[@id = $docid]//bipm:clause[@type = 'index']" mode="index"/>
|
1143
1247
|
|
1144
1248
|
</xsl:otherwise>
|
1145
1249
|
</xsl:choose>
|
@@ -1444,71 +1548,74 @@
|
|
1444
1548
|
</xsl:template>
|
1445
1549
|
|
1446
1550
|
<xsl:template name="insertInnerCoverPage">
|
1447
|
-
|
1448
|
-
|
1449
|
-
|
1450
|
-
|
1451
|
-
<xsl:variable name="languages">
|
1452
|
-
<xsl:call-template name="getLanguages"/>
|
1453
|
-
</xsl:variable>
|
1454
|
-
|
1455
|
-
<xsl:variable name="titles">
|
1456
|
-
<xsl:for-each select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title">
|
1457
|
-
<xsl:copy-of select="."/>
|
1458
|
-
</xsl:for-each>
|
1459
|
-
</xsl:variable>
|
1460
|
-
|
1461
|
-
<xsl:for-each select="xalan:nodeset($languages)/lang">
|
1462
|
-
<xsl:variable name="curr_lang" select="."/>
|
1463
|
-
<xsl:variable name="title" select="xalan:nodeset($titles)//bipm:title[@language = $curr_lang and @type='cover']"/>
|
1464
|
-
<xsl:choose>
|
1465
|
-
<xsl:when test="position() = 1">
|
1466
|
-
<fo:block-container font-size="12pt" font-weight="bold" width="55mm">
|
1467
|
-
<fo:block>
|
1468
|
-
<xsl:call-template name="add-letter-spacing">
|
1469
|
-
<xsl:with-param name="text" select="$title"/>
|
1470
|
-
<xsl:with-param name="letter-spacing" select="0.09"/>
|
1471
|
-
</xsl:call-template>
|
1472
|
-
</fo:block>
|
1473
|
-
<fo:block font-size="10pt">
|
1474
|
-
<fo:block margin-bottom="6pt"> </fo:block>
|
1475
|
-
<fo:block margin-bottom="6pt"> </fo:block>
|
1476
|
-
<fo:block margin-bottom="6pt"> </fo:block>
|
1477
|
-
<fo:block margin-bottom="6pt" line-height="2.4"> </fo:block>
|
1478
|
-
</fo:block>
|
1479
|
-
</fo:block-container>
|
1480
|
-
</xsl:when>
|
1481
|
-
<xsl:otherwise>
|
1482
|
-
<fo:block font-size="10pt" margin-bottom="3pt">
|
1483
|
-
<xsl:variable name="lang_version">
|
1484
|
-
<xsl:call-template name="getLangVersion">
|
1485
|
-
<xsl:with-param name="lang" select="$curr_lang"/>
|
1486
|
-
</xsl:call-template>
|
1487
|
-
</xsl:variable>
|
1488
|
-
<xsl:call-template name="add-letter-spacing">
|
1489
|
-
<xsl:with-param name="text" select="normalize-space($lang_version)"/>
|
1490
|
-
<xsl:with-param name="letter-spacing" select="0.09"/>
|
1491
|
-
</xsl:call-template>
|
1492
|
-
</fo:block>
|
1493
|
-
<fo:block-container font-size="12pt" font-weight="bold" border-top="0.5pt solid black" padding-top="2mm" width="45mm">
|
1494
|
-
<fo:block>
|
1495
|
-
<xsl:call-template name="add-letter-spacing">
|
1496
|
-
<xsl:with-param name="text" select="$title"/>
|
1497
|
-
<xsl:with-param name="letter-spacing" select="0.09"/>
|
1498
|
-
</xsl:call-template>
|
1499
|
-
</fo:block>
|
1500
|
-
</fo:block-container>
|
1501
|
-
</xsl:otherwise>
|
1502
|
-
|
1503
|
-
</xsl:choose>
|
1504
|
-
</xsl:for-each>
|
1551
|
+
|
1552
|
+
<xsl:if test="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title[@type='cover']">
|
1553
|
+
|
1554
|
+
<fo:page-sequence master-reference="title-page" format="1" initial-page-number="1" force-page-count="even">
|
1505
1555
|
|
1556
|
+
<fo:flow flow-name="xsl-region-body" font-family="Arial">
|
1506
1557
|
|
1558
|
+
<xsl:variable name="languages">
|
1559
|
+
<xsl:call-template name="getLanguages"/>
|
1560
|
+
</xsl:variable>
|
1507
1561
|
|
1562
|
+
<xsl:variable name="titles">
|
1563
|
+
<xsl:for-each select="(//bipm:bipm-standard)[1]/bipm:bibdata/bipm:title">
|
1564
|
+
<xsl:copy-of select="."/>
|
1565
|
+
</xsl:for-each>
|
1566
|
+
</xsl:variable>
|
1508
1567
|
|
1509
|
-
|
1510
|
-
|
1511
|
-
|
1568
|
+
<xsl:for-each select="xalan:nodeset($languages)/lang">
|
1569
|
+
<xsl:variable name="curr_lang" select="."/>
|
1570
|
+
<xsl:variable name="title" select="xalan:nodeset($titles)//bipm:title[@language = $curr_lang and @type='cover']"/>
|
1571
|
+
<xsl:choose>
|
1572
|
+
<xsl:when test="position() = 1">
|
1573
|
+
<fo:block-container font-size="12pt" font-weight="bold" width="55mm">
|
1574
|
+
<fo:block>
|
1575
|
+
<xsl:call-template name="add-letter-spacing">
|
1576
|
+
<xsl:with-param name="text" select="$title"/>
|
1577
|
+
<xsl:with-param name="letter-spacing" select="0.09"/>
|
1578
|
+
</xsl:call-template>
|
1579
|
+
</fo:block>
|
1580
|
+
<fo:block font-size="10pt">
|
1581
|
+
<fo:block margin-bottom="6pt"> </fo:block>
|
1582
|
+
<fo:block margin-bottom="6pt"> </fo:block>
|
1583
|
+
<fo:block margin-bottom="6pt"> </fo:block>
|
1584
|
+
<fo:block margin-bottom="6pt" line-height="2.4"> </fo:block>
|
1585
|
+
</fo:block>
|
1586
|
+
</fo:block-container>
|
1587
|
+
</xsl:when>
|
1588
|
+
<xsl:otherwise>
|
1589
|
+
<fo:block font-size="10pt" margin-bottom="3pt">
|
1590
|
+
<xsl:variable name="lang_version">
|
1591
|
+
<xsl:call-template name="getLangVersion">
|
1592
|
+
<xsl:with-param name="lang" select="$curr_lang"/>
|
1593
|
+
</xsl:call-template>
|
1594
|
+
</xsl:variable>
|
1595
|
+
<xsl:call-template name="add-letter-spacing">
|
1596
|
+
<xsl:with-param name="text" select="normalize-space($lang_version)"/>
|
1597
|
+
<xsl:with-param name="letter-spacing" select="0.09"/>
|
1598
|
+
</xsl:call-template>
|
1599
|
+
</fo:block>
|
1600
|
+
<fo:block-container font-size="12pt" font-weight="bold" border-top="0.5pt solid black" padding-top="2mm" width="45mm">
|
1601
|
+
<fo:block>
|
1602
|
+
<xsl:call-template name="add-letter-spacing">
|
1603
|
+
<xsl:with-param name="text" select="$title"/>
|
1604
|
+
<xsl:with-param name="letter-spacing" select="0.09"/>
|
1605
|
+
</xsl:call-template>
|
1606
|
+
</fo:block>
|
1607
|
+
</fo:block-container>
|
1608
|
+
</xsl:otherwise>
|
1609
|
+
|
1610
|
+
</xsl:choose>
|
1611
|
+
</xsl:for-each>
|
1612
|
+
|
1613
|
+
|
1614
|
+
|
1615
|
+
|
1616
|
+
</fo:flow>
|
1617
|
+
</fo:page-sequence>
|
1618
|
+
</xsl:if>
|
1512
1619
|
</xsl:template>
|
1513
1620
|
<!-- End Cover Pages -->
|
1514
1621
|
|
@@ -1608,7 +1715,12 @@
|
|
1608
1715
|
<xsl:attribute name="margin-left">25mm</xsl:attribute>
|
1609
1716
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
1610
1717
|
</xsl:if>
|
1611
|
-
|
1718
|
+
<xsl:if test="@type = 'index'">
|
1719
|
+
<xsl:attribute name="font-family">Arial</xsl:attribute>
|
1720
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
1721
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
1722
|
+
<xsl:attribute name="space-before">14pt</xsl:attribute>
|
1723
|
+
</xsl:if>
|
1612
1724
|
<!-- <xsl:if test="@level = 2 and not(following-sibling::item[@display='true']) and not(item[@display='true'])">
|
1613
1725
|
<xsl:attribute name="space-after">12pt</xsl:attribute>
|
1614
1726
|
</xsl:if>
|
@@ -1674,7 +1786,9 @@
|
|
1674
1786
|
<xsl:attribute name="padding-bottom"><xsl:value-of select="normalize-space($space-after)"/></xsl:attribute>
|
1675
1787
|
</xsl:if>
|
1676
1788
|
<fo:block>
|
1677
|
-
<fo:
|
1789
|
+
<fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
|
1790
|
+
<fo:inline font-family="Arial" font-weight="bold" font-size="10pt"><fo:page-number-citation ref-id="{@id}"/></fo:inline>
|
1791
|
+
</fo:basic-link>
|
1678
1792
|
</fo:block>
|
1679
1793
|
</fo:table-cell>
|
1680
1794
|
</fo:table-row>
|
@@ -1725,7 +1839,10 @@
|
|
1725
1839
|
</xsl:variable>
|
1726
1840
|
|
1727
1841
|
<xsl:variable name="type">
|
1728
|
-
<xsl:
|
1842
|
+
<xsl:choose>
|
1843
|
+
<xsl:when test="@type = 'index'">index</xsl:when>
|
1844
|
+
<xsl:otherwise><xsl:value-of select="local-name()"/></xsl:otherwise>
|
1845
|
+
</xsl:choose>
|
1729
1846
|
</xsl:variable>
|
1730
1847
|
|
1731
1848
|
<item id="{@id}" level="{$level}" section="{$section}" type="{$type}" display="{$display}">
|
@@ -1735,7 +1852,9 @@
|
|
1735
1852
|
<title>
|
1736
1853
|
<xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
|
1737
1854
|
</title>
|
1738
|
-
<xsl:
|
1855
|
+
<xsl:if test="$type != 'index'">
|
1856
|
+
<xsl:apply-templates mode="contents"/>
|
1857
|
+
</xsl:if>
|
1739
1858
|
</item>
|
1740
1859
|
</xsl:if>
|
1741
1860
|
</xsl:template>
|
@@ -2966,29 +3085,38 @@
|
|
2966
3085
|
<xsl:choose>
|
2967
3086
|
<xsl:when test="@pagenumber='true'"><!-- ToC in Appendix, and page in references like this: « Le BIPM et la Convention du Mètre » (page 5). -->
|
2968
3087
|
<fo:inline> <!-- font-weight="bold" -->
|
3088
|
+
<!-- DEBUG -->
|
3089
|
+
<xsl:if test="@id">
|
3090
|
+
<!-- <xsl:value-of select="concat('[', @id,']')"/> -->
|
3091
|
+
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
3092
|
+
</xsl:if>
|
2969
3093
|
<fo:page-number-citation ref-id="{@target}"/>
|
3094
|
+
<!-- <xsl:if test="@to">–<fo:page-number-citation ref-id="{@to}"/></xsl:if> -->
|
2970
3095
|
</fo:inline>
|
2971
3096
|
</xsl:when>
|
2972
3097
|
<xsl:when test="starts-with(normalize-space(following-sibling::node()[1]), ')')">
|
2973
3098
|
<!-- add , see p. N -->
|
2974
3099
|
<!-- add , voir p. N -->
|
2975
|
-
<xsl:apply-templates/>
|
2976
|
-
<xsl:text>, </xsl:text>
|
3100
|
+
<xsl:apply-templates/>
|
2977
3101
|
|
2978
|
-
<xsl:variable name="
|
2979
|
-
<xsl:if test="$nosee != 'true'">
|
2980
|
-
<xsl:variable name="curr_lang" select="ancestor::bipm:bipm-standard/bipm:bibdata/bipm:language[@current = 'true']"/>
|
2981
|
-
<fo:inline>
|
2982
|
-
<xsl:if test="ancestor::bipm:note_side">
|
2983
|
-
<xsl:attribute name="font-style">italic</xsl:attribute>
|
2984
|
-
</xsl:if>
|
2985
|
-
<xsl:value-of select="ancestor::bipm:bipm-standard/bipm:localized-strings/bipm:localized-string[@key='see' and @language=$curr_lang]"/>
|
2986
|
-
</fo:inline>
|
2987
|
-
<xsl:text> </xsl:text>
|
2988
|
-
</xsl:if>
|
3102
|
+
<xsl:variable name="nopage" select="normalize-space(@nopage)"/>
|
2989
3103
|
|
2990
|
-
<xsl:
|
2991
|
-
|
3104
|
+
<xsl:if test="$nopage != 'true'">
|
3105
|
+
<xsl:text>, </xsl:text>
|
3106
|
+
<xsl:variable name="nosee" select="normalize-space(@nosee)"/>
|
3107
|
+
<xsl:if test="$nosee != 'true'">
|
3108
|
+
<xsl:variable name="curr_lang" select="ancestor::bipm:bipm-standard/bipm:bibdata/bipm:language[@current = 'true']"/>
|
3109
|
+
<fo:inline>
|
3110
|
+
<xsl:if test="ancestor::bipm:note_side">
|
3111
|
+
<xsl:attribute name="font-style">italic</xsl:attribute>
|
3112
|
+
</xsl:if>
|
3113
|
+
<xsl:value-of select="ancestor::bipm:bipm-standard/bipm:localized-strings/bipm:localized-string[@key='see' and @language=$curr_lang]"/>
|
3114
|
+
</fo:inline>
|
3115
|
+
<xsl:text> </xsl:text>
|
3116
|
+
</xsl:if>
|
3117
|
+
<xsl:text>p. </xsl:text>
|
3118
|
+
<fo:page-number-citation ref-id="{@target}"/>
|
3119
|
+
</xsl:if>
|
2992
3120
|
</xsl:when>
|
2993
3121
|
<xsl:otherwise>
|
2994
3122
|
<fo:inline><xsl:apply-templates/></fo:inline>
|
@@ -3045,6 +3173,9 @@
|
|
3045
3173
|
</fo:inline>
|
3046
3174
|
</xsl:template>
|
3047
3175
|
|
3176
|
+
<!-- DEBUG -->
|
3177
|
+
<!-- <xsl:template match="mathml:math" priority="10"/> -->
|
3178
|
+
|
3048
3179
|
<!-- for chemical expressions, when prefix superscripted -->
|
3049
3180
|
<xsl:template match="mathml:msup[count(*) = 2 and count(mathml:mrow) = 2]/mathml:mrow[1][count(*) = 1 and mathml:mtext and (mathml:mtext/text() = '' or not(mathml:mtext/text()))]/mathml:mtext" mode="mathml" priority="2">
|
3050
3181
|
<mathml:mspace height="1ex"/>
|
@@ -3073,6 +3204,13 @@
|
|
3073
3204
|
</xsl:copy>
|
3074
3205
|
</xsl:template>
|
3075
3206
|
|
3207
|
+
<!-- issue 'over bar above equation with sub' fixing -->
|
3208
|
+
<xsl:template match="mathml:msub/mathml:mrow[1][mathml:mover and count(following-sibling::*) = 1 and following-sibling::mathml:mrow]" mode="mathml" priority="2">
|
3209
|
+
<mathml:mstyle>
|
3210
|
+
<xsl:copy-of select="."/>
|
3211
|
+
</mathml:mstyle>
|
3212
|
+
</xsl:template>
|
3213
|
+
|
3076
3214
|
<xsl:template name="insertHeaderFooter">
|
3077
3215
|
<xsl:param name="header-title"/>
|
3078
3216
|
<fo:static-content flow-name="header-odd">
|
@@ -3238,7 +3376,216 @@
|
|
3238
3376
|
</fo:page-sequence>
|
3239
3377
|
</xsl:template>
|
3240
3378
|
-->
|
3241
|
-
|
3379
|
+
|
3380
|
+
|
3381
|
+
<!-- =================== -->
|
3382
|
+
<!-- Index processing -->
|
3383
|
+
<!-- =================== -->
|
3384
|
+
|
3385
|
+
<xsl:template match="@*|node()" mode="index_add_id">
|
3386
|
+
<xsl:copy>
|
3387
|
+
<xsl:apply-templates select="@*|node()" mode="index_add_id"/>
|
3388
|
+
</xsl:copy>
|
3389
|
+
</xsl:template>
|
3390
|
+
|
3391
|
+
<xsl:template match="bipm:xref" mode="index_add_id">
|
3392
|
+
<xsl:variable name="id">
|
3393
|
+
<xsl:call-template name="generateIndexXrefId"/>
|
3394
|
+
</xsl:variable>
|
3395
|
+
<xsl:copy> <!-- add id to xref -->
|
3396
|
+
<xsl:apply-templates select="@*" mode="index_add_id"/>
|
3397
|
+
<xsl:attribute name="id">
|
3398
|
+
<xsl:value-of select="$id"/>
|
3399
|
+
</xsl:attribute>
|
3400
|
+
<xsl:apply-templates mode="index_add_id"/>
|
3401
|
+
</xsl:copy>
|
3402
|
+
<!-- split <xref target="bm1" to="End" pagenumber="true"> to two xref:
|
3403
|
+
<xref target="bm1" pagenumber="true"> and <xref target="End" pagenumber="true"> -->
|
3404
|
+
<xsl:if test="@to">
|
3405
|
+
<xsl:value-of select="$dash"/>
|
3406
|
+
<xsl:copy>
|
3407
|
+
<xsl:copy-of select="@*"/>
|
3408
|
+
<xsl:attribute name="target"><xsl:value-of select="@to"/></xsl:attribute>
|
3409
|
+
<xsl:attribute name="id">
|
3410
|
+
<xsl:value-of select="$id"/><xsl:text>_to</xsl:text>
|
3411
|
+
</xsl:attribute>
|
3412
|
+
<xsl:apply-templates mode="index_add_id"/>
|
3413
|
+
</xsl:copy>
|
3414
|
+
</xsl:if>
|
3415
|
+
</xsl:template>
|
3416
|
+
|
3417
|
+
<xsl:template match="@*|node()" mode="index_update">
|
3418
|
+
<xsl:copy>
|
3419
|
+
<xsl:apply-templates select="@*|node()" mode="index_update"/>
|
3420
|
+
</xsl:copy>
|
3421
|
+
</xsl:template>
|
3422
|
+
|
3423
|
+
<xsl:template match="bipm:clause[@type = 'index']//bipm:li" mode="index_update">
|
3424
|
+
<xsl:copy>
|
3425
|
+
<xsl:apply-templates select="@*" mode="index_update"/>
|
3426
|
+
<xsl:apply-templates select="node()[1]" mode="process_li_element"/>
|
3427
|
+
</xsl:copy>
|
3428
|
+
</xsl:template>
|
3429
|
+
|
3430
|
+
<xsl:template match="bipm:clause[@type = 'index']//bipm:li/node()" mode="process_li_element" priority="2">
|
3431
|
+
<xsl:param name="element"/>
|
3432
|
+
<xsl:param name="remove" select="'false'"/>
|
3433
|
+
<!-- <node></node> -->
|
3434
|
+
<xsl:choose>
|
3435
|
+
<xsl:when test="self::text() and (normalize-space(.) = ',' or normalize-space(.) = $dash) and $remove = 'true'">
|
3436
|
+
<!-- skip text (i.e. remove it) and process next element -->
|
3437
|
+
<!-- [removed_<xsl:value-of select="."/>] -->
|
3438
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
|
3439
|
+
</xsl:when>
|
3440
|
+
<xsl:when test="self::text()">
|
3441
|
+
<xsl:value-of select="."/>
|
3442
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
|
3443
|
+
</xsl:when>
|
3444
|
+
<xsl:when test="self::* and local-name(.) = 'xref'">
|
3445
|
+
<xsl:variable name="id" select="@id"/>
|
3446
|
+
<xsl:variable name="page" select="$index//item[@id = $id]"/>
|
3447
|
+
<xsl:variable name="id_next" select="following-sibling::bipm:xref[1]/@id"/>
|
3448
|
+
<xsl:variable name="page_next" select="$index//item[@id = $id_next]"/>
|
3449
|
+
|
3450
|
+
<xsl:variable name="id_prev" select="preceding-sibling::bipm:xref[1]/@id"/>
|
3451
|
+
<xsl:variable name="page_prev" select="$index//item[@id = $id_prev]"/>
|
3452
|
+
|
3453
|
+
<xsl:choose>
|
3454
|
+
<!-- 2nd pass -->
|
3455
|
+
<!-- if page is equal to page for next and page is not the end of range -->
|
3456
|
+
<xsl:when test="$page != '' and $page_next != '' and $page = $page_next and not(contains($page, '_to'))"> <!-- case: 12, 12-14 -->
|
3457
|
+
<!-- skip element (i.e. remove it) and remove next text ',' -->
|
3458
|
+
<!-- [removed_xref] -->
|
3459
|
+
|
3460
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
|
3461
|
+
<xsl:with-param name="remove">true</xsl:with-param>
|
3462
|
+
</xsl:apply-templates>
|
3463
|
+
</xsl:when>
|
3464
|
+
|
3465
|
+
<xsl:when test="$page != '' and $page_prev != '' and $page = $page_prev and contains($page_prev, '_to')"> <!-- case: 12-14, 14, ... -->
|
3466
|
+
<!-- remove xref -->
|
3467
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
|
3468
|
+
<xsl:with-param name="remove">true</xsl:with-param>
|
3469
|
+
</xsl:apply-templates>
|
3470
|
+
</xsl:when>
|
3471
|
+
|
3472
|
+
<xsl:otherwise>
|
3473
|
+
<xsl:copy-of select="."/>
|
3474
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
|
3475
|
+
</xsl:otherwise>
|
3476
|
+
</xsl:choose>
|
3477
|
+
</xsl:when>
|
3478
|
+
<xsl:when test="self::* and local-name(.) = 'ul'">
|
3479
|
+
<!-- ul -->
|
3480
|
+
<xsl:apply-templates select="." mode="index_update"/>
|
3481
|
+
</xsl:when>
|
3482
|
+
<xsl:otherwise>
|
3483
|
+
<xsl:copy-of select="."/>
|
3484
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
|
3485
|
+
</xsl:otherwise>
|
3486
|
+
</xsl:choose>
|
3487
|
+
</xsl:template>
|
3488
|
+
|
3489
|
+
|
3490
|
+
<xsl:template name="generateIndexXrefId">
|
3491
|
+
<xsl:variable name="level" select="count(ancestor::bipm:ul)"/>
|
3492
|
+
<!-- <xsl:variable name="parent_ul_id" select="generate-id(ancestor::bipm:ul[1])"/>
|
3493
|
+
<xsl:variable name="item_number" select="count(ancestor::bipm:li[ancestor::bipm:ul[generate-id() = $parent_ul_id]])"/> -->
|
3494
|
+
<xsl:variable name="docid">
|
3495
|
+
<xsl:call-template name="getDocumentId"/>
|
3496
|
+
</xsl:variable>
|
3497
|
+
<xsl:variable name="item_number">
|
3498
|
+
<xsl:number count="bipm:li[ancestor::bipm:clause[@type = 'index']]" level="any"/>
|
3499
|
+
</xsl:variable>
|
3500
|
+
<xsl:variable name="xref_number"><xsl:number count="bipm:xref"/></xsl:variable>
|
3501
|
+
<xsl:value-of select="concat($docid, '_', $item_number, '_', $xref_number)"/> <!-- $level, '_', -->
|
3502
|
+
</xsl:template>
|
3503
|
+
|
3504
|
+
<xsl:template match="bipm:clause[@type = 'index']"/>
|
3505
|
+
<xsl:template match="bipm:clause[@type = 'index']" mode="index">
|
3506
|
+
|
3507
|
+
<fo:page-sequence master-reference="index" force-page-count="no-force">
|
3508
|
+
<xsl:variable name="header-title">
|
3509
|
+
<xsl:choose>
|
3510
|
+
<xsl:when test="./bipm:title[1]/*[local-name() = 'tab']">
|
3511
|
+
<xsl:apply-templates select="./bipm:title[1]/*[local-name() = 'tab'][1]/following-sibling::node()" mode="header"/>
|
3512
|
+
</xsl:when>
|
3513
|
+
<xsl:otherwise>
|
3514
|
+
<xsl:apply-templates select="./bipm:title[1]" mode="header"/>
|
3515
|
+
</xsl:otherwise>
|
3516
|
+
</xsl:choose>
|
3517
|
+
</xsl:variable>
|
3518
|
+
<xsl:call-template name="insertHeaderFooter">
|
3519
|
+
<xsl:with-param name="header-title" select="$header-title"/>
|
3520
|
+
</xsl:call-template>
|
3521
|
+
|
3522
|
+
<fo:flow flow-name="xsl-region-body">
|
3523
|
+
<fo:block id="{@id}">
|
3524
|
+
<xsl:apply-templates/>
|
3525
|
+
|
3526
|
+
<!-- TEST <xsl:variable name="alphabet" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
|
3527
|
+
<xsl:for-each select="(document('')//node())[position() < 26]">
|
3528
|
+
<xsl:variable name="letter" select="substring($alphabet, position(), 1)"/>
|
3529
|
+
<xsl:if test="position() <= 3">
|
3530
|
+
<fo:block font-size="10pt" font-weight="bold" margin-bottom="3pt" keep-with-next="always"><xsl:value-of select="$letter"/>, DEBUG</fo:block>
|
3531
|
+
|
3532
|
+
<fo:block>accélération due à la pesanteur (gn), 33</fo:block>
|
3533
|
+
<fo:block>activité d’un radionucléide, 26, 27</fo:block>
|
3534
|
+
<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>
|
3535
|
+
<fo:block>angle, 25, 26, 33, 37 38, 40, 48, 55, 65</fo:block>
|
3536
|
+
<fo:block>atmosphère normale, 52</fo:block>
|
3537
|
+
<fo:block>atome gramme, 104</fo:block>
|
3538
|
+
<fo:block>atome de césium, niveaux hyperfins, 15, 17, 18, 56, 58, 83, 85, 92, 94, 97, 98, 102</fo:block>
|
3539
|
+
<xsl:if test="position() != last()"><fo:block> </fo:block></xsl:if>
|
3540
|
+
</xsl:if>
|
3541
|
+
</xsl:for-each> -->
|
3542
|
+
</fo:block>
|
3543
|
+
</fo:flow>
|
3544
|
+
</fo:page-sequence>
|
3545
|
+
</xsl:template>
|
3546
|
+
|
3547
|
+
<xsl:template match="bipm:clause[@type = 'index']/bipm:title" priority="4">
|
3548
|
+
<fo:block font-size="16pt" font-weight="bold" margin-bottom="84pt" margin-left="-18mm" span="all">
|
3549
|
+
<!-- Index -->
|
3550
|
+
<xsl:apply-templates/>
|
3551
|
+
</fo:block>
|
3552
|
+
</xsl:template>
|
3553
|
+
|
3554
|
+
<xsl:template match="bipm:clause[@type = 'index']/bipm:clause" priority="4">
|
3555
|
+
<xsl:apply-templates/>
|
3556
|
+
<fo:block>
|
3557
|
+
<xsl:if test="following-sibling::bipm:clause">
|
3558
|
+
<fo:block> </fo:block>
|
3559
|
+
</xsl:if>
|
3560
|
+
</fo:block>
|
3561
|
+
</xsl:template>
|
3562
|
+
|
3563
|
+
<xsl:template match="bipm:clause[@type = 'index']/bipm:clause/bipm:title" priority="4">
|
3564
|
+
<!-- Letter A, B, C, ... -->
|
3565
|
+
<fo:block font-size="10pt" font-weight="bold" margin-bottom="3pt" keep-with-next="always">
|
3566
|
+
<xsl:apply-templates/>
|
3567
|
+
</fo:block>
|
3568
|
+
</xsl:template>
|
3569
|
+
|
3570
|
+
<xsl:template match="bipm:clause[@type = 'index']//bipm:ul" priority="4">
|
3571
|
+
<xsl:apply-templates/>
|
3572
|
+
</xsl:template>
|
3573
|
+
|
3574
|
+
<xsl:template match="bipm:clause[@type = 'index']//bipm:li" priority="4">
|
3575
|
+
<xsl:variable name="level" select="count(ancestor::bipm:ul)"/>
|
3576
|
+
<fo:block start-indent="{5 * $level}mm" text-indent="-5mm">
|
3577
|
+
<xsl:apply-templates/>
|
3578
|
+
</fo:block>
|
3579
|
+
</xsl:template>
|
3580
|
+
|
3581
|
+
<xsl:template match="bipm:bookmark">
|
3582
|
+
<fo:inline id="{@id}"/>
|
3583
|
+
</xsl:template>
|
3584
|
+
|
3585
|
+
<!-- =================== -->
|
3586
|
+
<!-- End of Index processing -->
|
3587
|
+
<!-- =================== -->
|
3588
|
+
|
3242
3589
|
<xsl:variable name="Image-Logo-BIPM">
|
3243
3590
|
<xsl:text>iVBORw0KGgoAAAANSUhEUgAAAaIAAADRCAYAAACOyra0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGOTdGMTE3NDA3MjA2ODExODIyQUJFNEQ3OTI1MkI2OSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCMTdGMTkxM0YzNEIxMUVBOEZCREQ0ODFDQjY0QzlCNyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCMTdGMTkxMkYzNEIxMUVBOEZCREQ0ODFDQjY0QzlCNyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBJbkRlc2lnbiBDUzYgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0idXVpZDoyNGQ2ZDM1ZS1kNDc4LTcxNGItYjYwZi1iMDMyYWFmYzM3OTYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5pZDoxNjcwQkZBMDExMjA2ODExODIyQUJFNEQ3OTI1MkI2OSIvPiA8L3JkZjpEZXNjcmlw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</xsl:text>
|
3244
3591
|
</xsl:variable>
|
@@ -3571,7 +3918,7 @@
|
|
3571
3918
|
</xsl:if>
|
3572
3919
|
</xsl:template>
|
3573
3920
|
|
3574
|
-
<xsl:template match="node()" mode="change_id">
|
3921
|
+
<!-- <xsl:template match="node()" mode="change_id">
|
3575
3922
|
<xsl:param name="lang"/>
|
3576
3923
|
<xsl:param name="ignoreReferenceFrom"/>
|
3577
3924
|
<xsl:copy>
|
@@ -3606,13 +3953,15 @@
|
|
3606
3953
|
<xsl:value-of select="."/>
|
3607
3954
|
</xsl:attribute>
|
3608
3955
|
</xsl:when>
|
3609
|
-
<xsl:when test="local-name() = 'id' or
|
3956
|
+
<xsl:when test="local-name() = 'id' or
|
3957
|
+
local-name() = 'bibitemid' or
|
3958
|
+
(local-name() = 'target' and local-name(..) = 'xref')">
|
3610
3959
|
<xsl:attribute name="{local-name()}">
|
3611
3960
|
<xsl:value-of select="."/>_<xsl:value-of select="$lang"/><xsl:if test="$doctype = 'guide'">_<xsl:number count="bipm:bipm-standard" level="any"/></xsl:if>
|
3612
3961
|
</xsl:attribute>
|
3613
3962
|
</xsl:when>
|
3614
3963
|
<xsl:otherwise>
|
3615
|
-
|
3964
|
+
no change
|
3616
3965
|
<xsl:copy>
|
3617
3966
|
<xsl:apply-templates select="@*" mode="change_id">
|
3618
3967
|
<xsl:with-param name="lang" select="$lang"/>
|
@@ -3621,7 +3970,7 @@
|
|
3621
3970
|
</xsl:copy>
|
3622
3971
|
</xsl:otherwise>
|
3623
3972
|
</xsl:choose>
|
3624
|
-
</xsl:template>
|
3973
|
+
</xsl:template> -->
|
3625
3974
|
|
3626
3975
|
|
3627
3976
|
|
@@ -3991,6 +4340,9 @@
|
|
3991
4340
|
|
3992
4341
|
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
3993
4342
|
|
4343
|
+
|
4344
|
+
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
4345
|
+
|
3994
4346
|
</xsl:attribute-set><xsl:attribute-set name="quote-style">
|
3995
4347
|
|
3996
4348
|
|
@@ -5294,12 +5646,32 @@
|
|
5294
5646
|
</xsl:otherwise>
|
5295
5647
|
</xsl:choose>
|
5296
5648
|
</xsl:template><xsl:template name="getMaxLength_dt">
|
5297
|
-
<xsl:
|
5298
|
-
<xsl:
|
5299
|
-
|
5300
|
-
<xsl:
|
5301
|
-
|
5302
|
-
|
5649
|
+
<xsl:variable name="lengths">
|
5650
|
+
<xsl:for-each select="*[local-name()='dt']">
|
5651
|
+
<xsl:variable name="maintext_length" select="string-length(normalize-space(.))"/>
|
5652
|
+
<xsl:variable name="attributes">
|
5653
|
+
<xsl:for-each select=".//@open"><xsl:value-of select="."/></xsl:for-each>
|
5654
|
+
<xsl:for-each select=".//@close"><xsl:value-of select="."/></xsl:for-each>
|
5655
|
+
</xsl:variable>
|
5656
|
+
<length><xsl:value-of select="string-length(normalize-space(.)) + string-length($attributes)"/></length>
|
5657
|
+
</xsl:for-each>
|
5658
|
+
</xsl:variable>
|
5659
|
+
<xsl:variable name="maxLength">
|
5660
|
+
<!-- <xsl:for-each select="*[local-name()='dt']">
|
5661
|
+
<xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
|
5662
|
+
<xsl:if test="position() = 1">
|
5663
|
+
<xsl:value-of select="string-length(normalize-space(.))"/>
|
5664
|
+
</xsl:if>
|
5665
|
+
</xsl:for-each> -->
|
5666
|
+
<xsl:for-each select="xalan:nodeset($lengths)/length">
|
5667
|
+
<xsl:sort select="." data-type="number" order="descending"/>
|
5668
|
+
<xsl:if test="position() = 1">
|
5669
|
+
<xsl:value-of select="."/>
|
5670
|
+
</xsl:if>
|
5671
|
+
</xsl:for-each>
|
5672
|
+
</xsl:variable>
|
5673
|
+
<!-- <xsl:message>DEBUG:<xsl:value-of select="$maxLength"/></xsl:message> -->
|
5674
|
+
<xsl:value-of select="$maxLength"/>
|
5303
5675
|
</xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']" priority="2">
|
5304
5676
|
<xsl:param name="key_iso"/>
|
5305
5677
|
|
@@ -6013,6 +6385,8 @@
|
|
6013
6385
|
</xsl:when>
|
6014
6386
|
<xsl:otherwise>
|
6015
6387
|
|
6388
|
+
<xsl:text>:</xsl:text>
|
6389
|
+
|
6016
6390
|
|
6017
6391
|
</xsl:otherwise>
|
6018
6392
|
</xsl:choose>
|
@@ -6116,6 +6490,8 @@
|
|
6116
6490
|
<xsl:variable name="bookmark-title_">
|
6117
6491
|
<xsl:call-template name="getLangVersion">
|
6118
6492
|
<xsl:with-param name="lang" select="@lang"/>
|
6493
|
+
<xsl:with-param name="doctype" select="@doctype"/>
|
6494
|
+
<xsl:with-param name="title" select="@title-part"/>
|
6119
6495
|
</xsl:call-template>
|
6120
6496
|
</xsl:variable>
|
6121
6497
|
<xsl:choose>
|
@@ -6133,13 +6509,34 @@
|
|
6133
6509
|
</xsl:choose>
|
6134
6510
|
</fo:bookmark-title>
|
6135
6511
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
6512
|
+
|
6513
|
+
<xsl:call-template name="insertFigureBookmarks">
|
6514
|
+
<xsl:with-param name="contents" select="contents"/>
|
6515
|
+
</xsl:call-template>
|
6516
|
+
|
6517
|
+
<xsl:call-template name="insertTableBookmarks">
|
6518
|
+
<xsl:with-param name="contents" select="contents"/>
|
6519
|
+
<xsl:with-param name="lang" select="@lang"/>
|
6520
|
+
</xsl:call-template>
|
6521
|
+
|
6136
6522
|
</fo:bookmark>
|
6137
6523
|
|
6138
6524
|
</xsl:for-each>
|
6139
6525
|
</xsl:when>
|
6140
6526
|
<xsl:otherwise>
|
6141
6527
|
<xsl:for-each select="xalan:nodeset($contents)/doc">
|
6528
|
+
|
6142
6529
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
6530
|
+
|
6531
|
+
<xsl:call-template name="insertFigureBookmarks">
|
6532
|
+
<xsl:with-param name="contents" select="contents"/>
|
6533
|
+
</xsl:call-template>
|
6534
|
+
|
6535
|
+
<xsl:call-template name="insertTableBookmarks">
|
6536
|
+
<xsl:with-param name="contents" select="contents"/>
|
6537
|
+
<xsl:with-param name="lang" select="@lang"/>
|
6538
|
+
</xsl:call-template>
|
6539
|
+
|
6143
6540
|
</xsl:for-each>
|
6144
6541
|
</xsl:otherwise>
|
6145
6542
|
</xsl:choose>
|
@@ -6158,16 +6555,66 @@
|
|
6158
6555
|
|
6159
6556
|
</fo:bookmark-tree>
|
6160
6557
|
</xsl:if>
|
6558
|
+
</xsl:template><xsl:template name="insertFigureBookmarks">
|
6559
|
+
<xsl:param name="contents"/>
|
6560
|
+
<xsl:if test="xalan:nodeset($contents)/figure">
|
6561
|
+
<fo:bookmark internal-destination="{xalan:nodeset($contents)/figure[1]/@id}" starting-state="hide">
|
6562
|
+
<fo:bookmark-title>Figures</fo:bookmark-title>
|
6563
|
+
<xsl:for-each select="xalan:nodeset($contents)/figure">
|
6564
|
+
<fo:bookmark internal-destination="{@id}">
|
6565
|
+
<fo:bookmark-title>
|
6566
|
+
<xsl:value-of select="normalize-space(title)"/>
|
6567
|
+
</fo:bookmark-title>
|
6568
|
+
</fo:bookmark>
|
6569
|
+
</xsl:for-each>
|
6570
|
+
</fo:bookmark>
|
6571
|
+
</xsl:if>
|
6572
|
+
</xsl:template><xsl:template name="insertTableBookmarks">
|
6573
|
+
<xsl:param name="contents"/>
|
6574
|
+
<xsl:param name="lang"/>
|
6575
|
+
<xsl:if test="xalan:nodeset($contents)/table">
|
6576
|
+
<fo:bookmark internal-destination="{xalan:nodeset($contents)/table[1]/@id}" starting-state="hide">
|
6577
|
+
<fo:bookmark-title>
|
6578
|
+
<xsl:choose>
|
6579
|
+
<xsl:when test="$lang = 'fr'">Tableaux</xsl:when>
|
6580
|
+
<xsl:otherwise>Tables</xsl:otherwise>
|
6581
|
+
</xsl:choose>
|
6582
|
+
</fo:bookmark-title>
|
6583
|
+
<xsl:for-each select="xalan:nodeset($contents)/table">
|
6584
|
+
<fo:bookmark internal-destination="{@id}">
|
6585
|
+
<fo:bookmark-title>
|
6586
|
+
<xsl:value-of select="normalize-space(title)"/>
|
6587
|
+
</fo:bookmark-title>
|
6588
|
+
</fo:bookmark>
|
6589
|
+
</xsl:for-each>
|
6590
|
+
</fo:bookmark>
|
6591
|
+
</xsl:if>
|
6161
6592
|
</xsl:template><xsl:template name="getLangVersion">
|
6162
6593
|
<xsl:param name="lang"/>
|
6594
|
+
<xsl:param name="doctype" select="''"/>
|
6595
|
+
<xsl:param name="title" select="''"/>
|
6163
6596
|
<xsl:choose>
|
6164
6597
|
<xsl:when test="$lang = 'en'">
|
6165
6598
|
|
6166
|
-
|
6599
|
+
|
6600
|
+
<xsl:choose>
|
6601
|
+
<xsl:when test="$doctype = 'guide'">
|
6602
|
+
<xsl:value-of select="$title"/>
|
6603
|
+
</xsl:when>
|
6604
|
+
<xsl:otherwise>English version</xsl:otherwise>
|
6605
|
+
</xsl:choose>
|
6606
|
+
|
6167
6607
|
</xsl:when>
|
6168
6608
|
<xsl:when test="$lang = 'fr'">
|
6169
6609
|
|
6170
|
-
|
6610
|
+
|
6611
|
+
<xsl:choose>
|
6612
|
+
<xsl:when test="$doctype = 'guide'">
|
6613
|
+
<xsl:value-of select="$title"/>
|
6614
|
+
</xsl:when>
|
6615
|
+
<xsl:otherwise>Version française</xsl:otherwise>
|
6616
|
+
</xsl:choose>
|
6617
|
+
|
6171
6618
|
</xsl:when>
|
6172
6619
|
<xsl:when test="$lang = 'de'">Deutsche</xsl:when>
|
6173
6620
|
<xsl:otherwise><xsl:value-of select="$lang"/> version</xsl:otherwise>
|
@@ -6655,7 +7102,8 @@
|
|
6655
7102
|
<fo:block-container margin-left="0mm">
|
6656
7103
|
|
6657
7104
|
<fo:block xsl:use-attribute-sets="quote-style">
|
6658
|
-
<xsl:apply-templates select=".//*[local-name() = 'p']"/>
|
7105
|
+
<!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
|
7106
|
+
<xsl:apply-templates select="./*[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
|
6659
7107
|
</fo:block>
|
6660
7108
|
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
|
6661
7109
|
<fo:block xsl:use-attribute-sets="quote-source-style">
|