metanorma-iso 1.5.14 → 1.7.2
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 +17 -0
- data/.rubocop.yml +0 -4
- data/lib/asciidoctor/iso/base.rb +13 -13
- data/lib/asciidoctor/iso/basicdoc.rng +20 -3
- data/lib/asciidoctor/iso/cleanup.rb +1 -1
- data/lib/asciidoctor/iso/front.rb +5 -5
- data/lib/asciidoctor/iso/isodoc.rng +118 -4
- data/lib/asciidoctor/iso/isostandard-amd.rng +11 -4
- data/lib/asciidoctor/iso/isostandard.rng +22 -10
- data/lib/asciidoctor/iso/validate.rb +78 -0
- data/lib/asciidoctor/iso/validate_section.rb +12 -9
- data/lib/isodoc/iso/html/header.html +12 -12
- data/lib/isodoc/iso/html/html_iso_intro.html +1 -1
- data/lib/isodoc/iso/html/html_iso_titlepage.html +1 -1
- data/lib/isodoc/iso/html/word_iso_intro.html +1 -1
- data/lib/isodoc/iso/html/word_iso_titlepage.html +1 -1
- data/lib/isodoc/iso/html_convert.rb +2 -2
- data/lib/isodoc/iso/i18n-en.yaml +2 -0
- data/lib/isodoc/iso/i18n-fr.yaml +1 -1
- data/lib/isodoc/iso/i18n-zh-Hans.yaml +1 -1
- data/lib/isodoc/iso/iso.amendment.xsl +451 -208
- data/lib/isodoc/iso/iso.international-standard.xsl +451 -208
- data/lib/isodoc/iso/sections.rb +1 -1
- data/lib/isodoc/iso/word_convert.rb +2 -2
- data/lib/isodoc/iso/xref.rb +28 -12
- data/lib/metanorma/iso/processor.rb +11 -0
- data/lib/metanorma/iso/version.rb +1 -1
- data/metanorma-iso.gemspec +2 -2
- data/spec/asciidoctor-iso/amd_spec.rb +575 -573
- data/spec/asciidoctor-iso/base_spec.rb +449 -458
- data/spec/asciidoctor-iso/blocks_spec.rb +333 -288
- data/spec/asciidoctor-iso/cleanup_spec.rb +814 -699
- data/spec/asciidoctor-iso/inline_spec.rb +116 -91
- data/spec/asciidoctor-iso/lists_spec.rb +128 -121
- data/spec/asciidoctor-iso/refs_spec.rb +308 -250
- data/spec/asciidoctor-iso/section_spec.rb +273 -242
- data/spec/asciidoctor-iso/table_spec.rb +258 -242
- data/spec/asciidoctor-iso/validate_spec.rb +1223 -919
- data/spec/isodoc/amd_spec.rb +967 -946
- data/spec/isodoc/blocks_spec.rb +530 -507
- data/spec/isodoc/i18n_spec.rb +953 -911
- data/spec/isodoc/inline_spec.rb +355 -293
- data/spec/isodoc/iso_spec.rb +340 -316
- data/spec/isodoc/metadata_spec.rb +392 -382
- data/spec/isodoc/postproc_spec.rb +834 -656
- data/spec/isodoc/ref_spec.rb +374 -331
- data/spec/isodoc/section_spec.rb +608 -525
- data/spec/isodoc/table_spec.rb +472 -411
- data/spec/isodoc/terms_spec.rb +209 -185
- data/spec/isodoc/xref_spec.rb +1370 -1236
- data/spec/metanorma/processor_spec.rb +28 -26
- data/spec/spec_helper.rb +184 -189
- metadata +7 -10
- data/.rubocop.ribose.yml +0 -66
- data/lib/metanorma/iso/fonts_manifest.yaml +0 -6
- data/spec/assets/xref_error.adoc +0 -7
@@ -146,6 +146,83 @@ module Asciidoctor
|
|
146
146
|
"#{iteration} is not a recognised iteration")
|
147
147
|
end
|
148
148
|
|
149
|
+
# DRG directives 3.7; but anticipated by standoc
|
150
|
+
def subfigure_validate(xmldoc)
|
151
|
+
xmldoc.xpath("//figure//figure").each do |f|
|
152
|
+
{ footnote: "fn", note: "note", key: "dl" }.each do |k, v|
|
153
|
+
f.xpath(".//#{v}").each do |n|
|
154
|
+
@log.add("Style", n, "#{k} is not permitted in a subfigure")
|
155
|
+
end
|
156
|
+
end
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
def image_name_prefix(xmldoc)
|
161
|
+
std = xmldoc&.at("//bibdata/ext/structuredidentifier/project-number") or return
|
162
|
+
num = xmldoc&.at("//bibdata/docnumber")&.text or return
|
163
|
+
ed = xmldoc&.at("//bibdata/edition")&.text || "1"
|
164
|
+
prefix = num
|
165
|
+
part = std["part"] and prefix += "-#{std['part']}"
|
166
|
+
prefix += "_ed#{ed}"
|
167
|
+
amd = std["amendment"] and prefix += "amd#{amd}"
|
168
|
+
prefix
|
169
|
+
end
|
170
|
+
|
171
|
+
def image_name_suffix(xmldoc)
|
172
|
+
case xmldoc&.at("//bibdata/language")&.text
|
173
|
+
when "fr" then "_f"
|
174
|
+
when "de" then "_d"
|
175
|
+
when "ru" then "_r"
|
176
|
+
when "es" then "_s"
|
177
|
+
when "ar" then "_a"
|
178
|
+
when "en" then "_e"
|
179
|
+
else
|
180
|
+
"_e"
|
181
|
+
end
|
182
|
+
end
|
183
|
+
|
184
|
+
def disjunct_error(i, cond1, cond2, msg1, msg2)
|
185
|
+
cond1 && !cond2 and @log.add("Style", i, "image name #{i['src']} #{msg1}")
|
186
|
+
!cond1 && cond2 and @log.add("Style", i, "image name #{i['src']} #{msg2}")
|
187
|
+
end
|
188
|
+
|
189
|
+
def image_name_validate1(i, prefix)
|
190
|
+
m = %r[(SL)?#{prefix}fig(?<tab>Tab)?(?<annex>[A-Z])?(Text)?(?<num>\d+)
|
191
|
+
(?<subfig>[a-z])?(?<key>_key\d+)?(?<lang>_[a-z])?$]x.match(File.basename(i["src"], ".*"))
|
192
|
+
if m.nil?
|
193
|
+
@log.add("Style", i, "image name #{i['src']} does not match DRG requirements")
|
194
|
+
return
|
195
|
+
end
|
196
|
+
warn i['src']
|
197
|
+
disjunct_error(i, i.at("./ancestor::table"), !m[:tab].nil?,
|
198
|
+
"is under a table but is not so labelled", "is labelled as under a table but is not")
|
199
|
+
disjunct_error(i, i.at("./ancestor::annex"), !m[:annex].nil?,
|
200
|
+
"is under an annex but is not so labelled", "is labelled as under an annex but is not")
|
201
|
+
disjunct_error(i, i.xpath("./ancestor::figure").size > 1, !m[:subfig].nil?,
|
202
|
+
"does not have a subfigure letter but is a subfigure",
|
203
|
+
"has a subfigure letter but is not a subfigure")
|
204
|
+
lang = image_name_suffix(i.document.root)
|
205
|
+
(m[:lang] || "_e") == lang or @log.add("Style", i, "image name #{i['src']} expected to have suffix #{lang}")
|
206
|
+
end
|
207
|
+
|
208
|
+
# DRG directives 3.2
|
209
|
+
def image_name_validate(xmldoc)
|
210
|
+
prefix = image_name_prefix(xmldoc) or return
|
211
|
+
xmldoc.xpath("//image").each do |i|
|
212
|
+
if /^ISO_\d+_/.match(File.basename(i["src"]))
|
213
|
+
elsif /^(SL)?#{prefix}fig/.match(File.basename(i["src"]))
|
214
|
+
image_name_validate1(i, prefix)
|
215
|
+
else
|
216
|
+
@log.add("Style", i, "image name #{i['src']} does not match DRG requirements: expect #{prefix}fig")
|
217
|
+
end
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
221
|
+
def figure_validate(xmldoc)
|
222
|
+
image_name_validate(xmldoc)
|
223
|
+
subfigure_validate(xmldoc)
|
224
|
+
end
|
225
|
+
|
149
226
|
def bibdata_validate(doc)
|
150
227
|
doctype_validate(doc)
|
151
228
|
script_validate(doc)
|
@@ -166,6 +243,7 @@ module Asciidoctor
|
|
166
243
|
locality_erefs_validate(doc.root)
|
167
244
|
bibdata_validate(doc.root)
|
168
245
|
bibitem_validate(doc.root)
|
246
|
+
figure_validate(doc.root)
|
169
247
|
end
|
170
248
|
|
171
249
|
def bibitem_validate(xmldoc)
|
@@ -4,11 +4,14 @@ module Asciidoctor
|
|
4
4
|
module ISO
|
5
5
|
class Converter < Standoc::Converter
|
6
6
|
def section_validate(doc)
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
7
|
+
doctype = doc&.at("//bibdata/ext/doctype")&.text
|
8
|
+
unless %w(amendment technical-corrigendum).include? doctype
|
9
|
+
foreword_validate(doc.root)
|
10
|
+
normref_validate(doc.root)
|
11
|
+
symbols_validate(doc.root)
|
12
|
+
sections_presence_validate(doc.root)
|
13
|
+
sections_sequence_validate(doc.root)
|
14
|
+
end
|
12
15
|
section_style(doc.root)
|
13
16
|
subclause_validate(doc.root)
|
14
17
|
super
|
@@ -111,13 +114,13 @@ module Asciidoctor
|
|
111
114
|
end
|
112
115
|
n&.at("./self::clause") ||
|
113
116
|
@log.add("Style", nil, "Document must contain clause after "\
|
114
|
-
|
117
|
+
"Terms and Definitions")
|
115
118
|
n&.at("./self::clause[@type = 'scope']") &&
|
116
119
|
@log.add("Style", nil, "Scope must occur before Terms and Definitions")
|
117
120
|
n = names.shift
|
118
121
|
while n&.name == "clause"
|
119
122
|
n&.at("./self::clause[@type = 'scope']")
|
120
|
-
|
123
|
+
@log.add("Style", nil, "Scope must occur before Terms and Definitions")
|
121
124
|
n = names.shift
|
122
125
|
end
|
123
126
|
unless %w(annex references).include? n&.name
|
@@ -127,12 +130,12 @@ module Asciidoctor
|
|
127
130
|
n = names.shift
|
128
131
|
if n.nil?
|
129
132
|
@log.add("Style", nil, "Document must include (references) "\
|
130
|
-
|
133
|
+
"Normative References")
|
131
134
|
end
|
132
135
|
end
|
133
136
|
n&.at("./self::references[@normative = 'true']") ||
|
134
137
|
@log.add("Style", nil, "Document must include (references) "\
|
135
|
-
|
138
|
+
"Normative References")
|
136
139
|
n = names&.shift
|
137
140
|
n&.at("./self::references[@normative = 'false']") ||
|
138
141
|
@log.add("Style", nil, "Final section must be (references) Bibliography")
|
@@ -74,7 +74,7 @@ mso-line-height-rule:exactly'><span lang=EN-GB>{{ docnumber_reference }}{{ draft
|
|
74
74
|
|
75
75
|
<p class=MsoHeader style='margin-bottom:18.0pt'><span lang=EN-GB
|
76
76
|
style='font-size:10.0pt;mso-bidi-font-size:11.0pt;font-weight:normal'>©
|
77
|
-
{{ agency }} {{ docyear }} – {{ all_rights_reserved }}</span><span lang=EN-GB
|
77
|
+
{{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}</span><span lang=EN-GB
|
78
78
|
style='font-weight:normal'><o:p></o:p></span></p>
|
79
79
|
|
80
80
|
</div>
|
@@ -93,7 +93,7 @@ style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:10.0pt;
|
|
93
93
|
mso-bidi-font-size:11.0pt'><span style='mso-element:field-end'></span></span></b><![endif]--><span
|
94
94
|
lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span
|
95
95
|
style='mso-tab-count:1'> </span>©
|
96
|
-
{{ agency }} {{ docyear }} – {{ all_rights_reserved }}<o:p></o:p></span></p>
|
96
|
+
{{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}<o:p></o:p></span></p>
|
97
97
|
|
98
98
|
</div>
|
99
99
|
|
@@ -129,7 +129,7 @@ lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span
|
|
129
129
|
style='mso-element:field-end'></span></span><![endif]--><span lang=EN-GB
|
130
130
|
style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span style='mso-tab-count:
|
131
131
|
1'> </span>©
|
132
|
-
{{ agency }} {{ docyear }} – {{ all_rights_reserved }}<o:p></o:p></span></p>
|
132
|
+
{{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}<o:p></o:p></span></p>
|
133
133
|
</div>
|
134
134
|
|
135
135
|
<div style='mso-element:footer' id=ef2l>
|
@@ -144,12 +144,12 @@ lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span
|
|
144
144
|
style='mso-element:field-end'></span></span><![endif]--><span lang=EN-GB
|
145
145
|
style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span style='mso-tab-count:
|
146
146
|
1'> </span>©
|
147
|
-
{{ agency }} {{ docyear }} – {{ all_rights_reserved }}<o:p></o:p></span></p>
|
147
|
+
{{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}<o:p></o:p></span></p>
|
148
148
|
</div>
|
149
149
|
|
150
150
|
<div style='mso-element:footer' id=f2>
|
151
151
|
<p class=MsoFooter style='line-height:12.0pt'><span lang=EN-GB
|
152
|
-
style='font-size:10.0pt;mso-bidi-font-size:11.0pt'>© {{ agency }} {{ docyear }} – {{ all_rights_reserved }}<span style='mso-tab-count:1'> </span></span><!--[if supportFields]><span
|
152
|
+
style='font-size:10.0pt;mso-bidi-font-size:11.0pt'>© {{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}<span style='mso-tab-count:1'> </span></span><!--[if supportFields]><span
|
153
153
|
lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span
|
154
154
|
style='mso-element:field-begin'></span> PAGE<span style='mso-spacerun:yes'>
|
155
155
|
</span>\* MERGEFORMAT <span style='mso-element:field-separator'></span></span><![endif]--><span
|
@@ -162,7 +162,7 @@ style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><o:p></o:p></span></p>
|
|
162
162
|
|
163
163
|
<div style='mso-element:footer' id=f2l>
|
164
164
|
<p class=MsoFooterLandscape style='line-height:12.0pt'><span lang=EN-GB
|
165
|
-
style='font-size:10.0pt;mso-bidi-font-size:11.0pt'>© {{ agency }} {{ docyear }} – {{ all_rights_reserved }}<span style='mso-tab-count:1'> </span></span><!--[if supportFields]><span
|
165
|
+
style='font-size:10.0pt;mso-bidi-font-size:11.0pt'>© {{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}<span style='mso-tab-count:1'> </span></span><!--[if supportFields]><span
|
166
166
|
lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span
|
167
167
|
style='mso-element:field-begin'></span> PAGE<span style='mso-spacerun:yes'>
|
168
168
|
</span>\* MERGEFORMAT <span style='mso-element:field-separator'></span></span><![endif]--><span
|
@@ -186,7 +186,7 @@ style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:10.0pt;
|
|
186
186
|
mso-bidi-font-size:11.0pt'><span style='mso-element:field-end'></span></span></b><![endif]--><span
|
187
187
|
lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span
|
188
188
|
style='mso-tab-count:1'> </span>©
|
189
|
-
{{ agency }} {{ docyear }} – {{ all_rights_reserved }}<o:p></o:p></span></p>
|
189
|
+
{{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}<o:p></o:p></span></p>
|
190
190
|
</div>
|
191
191
|
|
192
192
|
<div style='mso-element:footer' id=ef3l>
|
@@ -202,12 +202,12 @@ style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:10.0pt;
|
|
202
202
|
mso-bidi-font-size:11.0pt'><span style='mso-element:field-end'></span></span></b><![endif]--><span
|
203
203
|
lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span
|
204
204
|
style='mso-tab-count:1'> </span>©
|
205
|
-
{{ agency }} {{ docyear }} – {{ all_rights_reserved }}<o:p></o:p></span></p>
|
205
|
+
{{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}<o:p></o:p></span></p>
|
206
206
|
</div>
|
207
207
|
|
208
208
|
<div style='mso-element:footer' id=f3>
|
209
209
|
<p class=MsoFooter style='line-height:12.0pt'><span lang=EN-GB
|
210
|
-
style='font-size:10.0pt;mso-bidi-font-size:11.0pt'>© {{ agency }} {{ docyear }} – {{ all_rights_reserved }}<span style='mso-tab-count:1'> </span></span><!--[if supportFields]><b
|
210
|
+
style='font-size:10.0pt;mso-bidi-font-size:11.0pt'>© {{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}<span style='mso-tab-count:1'> </span></span><!--[if supportFields]><b
|
211
211
|
style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:10.0pt;
|
212
212
|
mso-bidi-font-size:11.0pt'><span style='mso-element:field-begin'></span>
|
213
213
|
PAGE<span style='mso-spacerun:yes'> </span>\* MERGEFORMAT <span
|
@@ -221,7 +221,7 @@ lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><o:p></o:p></span>
|
|
221
221
|
|
222
222
|
<div style='mso-element:footer' id=f3l>
|
223
223
|
<p class=MsoFooterLandscape style='line-height:12.0pt'><span lang=EN-GB
|
224
|
-
style='font-size:10.0pt;mso-bidi-font-size:11.0pt'>© {{ agency }} {{ docyear }} – {{ all_rights_reserved }}<span style='mso-tab-count:1'> </span></span><!--[if supportFields]><b
|
224
|
+
style='font-size:10.0pt;mso-bidi-font-size:11.0pt'>© {{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}<span style='mso-tab-count:1'> </span></span><!--[if supportFields]><b
|
225
225
|
style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:10.0pt;
|
226
226
|
mso-bidi-font-size:11.0pt'><span style='mso-element:field-begin'></span>
|
227
227
|
PAGE<span style='mso-spacerun:yes'> </span>\* MERGEFORMAT <span
|
@@ -242,10 +242,10 @@ lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><o:p></o:p></span>
|
|
242
242
|
{% endif %}
|
243
243
|
|
244
244
|
<p class=MsoFooter style='margin-top:0cm'><span lang=EN-AU style='font-size:
|
245
|
-
10.0pt;mso-ansi-language:EN-AU'>{{ price_based_on | replace: "%", "<span style='mso-element:field-begin'></span><span style='mso-spacerun:yes'> </span>NUMPAGES<span style='mso-spacerun:yes'> </span>\* MERGEFORMAT <span style='mso-element:field-separator'></span><span style='mso-no-proof:yes'>26</span><span style='mso-element:field-end'></span>" }}</span></p>
|
245
|
+
10.0pt;mso-ansi-language:EN-AU'>{{ labels["price_based_on"] | replace: "%", "<span style='mso-element:field-begin'></span><span style='mso-spacerun:yes'> </span>NUMPAGES<span style='mso-spacerun:yes'> </span>\* MERGEFORMAT <span style='mso-element:field-separator'></span><span style='mso-no-proof:yes'>26</span><span style='mso-element:field-end'></span>" }}</span></p>
|
246
246
|
|
247
247
|
<p class=MsoFooter><span lang=EN-AU style='font-size:10.0pt;'>©
|
248
|
-
{{ agency }} {{ docyear }} – {{ all_rights_reserved }}<o:p></o:p></span></p>
|
248
|
+
{{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}<o:p></o:p></span></p>
|
249
249
|
|
250
250
|
</div>
|
251
251
|
|
@@ -8,7 +8,7 @@ margin-left:5.1pt;margin-right:5.1pt'>
|
|
8
8
|
{% if doctype == "Amendment" or doctype == "Technical Corrigendum" %}
|
9
9
|
{% else %}
|
10
10
|
|
11
|
-
<p class="zzContents" style='margin-top:0cm'><span lang="EN-GB">
|
11
|
+
<p class="zzContents" style='margin-top:0cm'><span lang="EN-GB">{{ labels["table_of_contents"] }}</span></p>
|
12
12
|
|
13
13
|
WORDTOC
|
14
14
|
{% endif %}
|
@@ -11,7 +11,7 @@ style='mso-bidi-font-weight:normal'><span lang="EN-GB" style='font-size:14.0pt'>
|
|
11
11
|
{% endif %}
|
12
12
|
|
13
13
|
{% if revdate %}
|
14
|
-
<p class="MsoNormal" align="right" style='text-align:right'><span lang="EN-GB" style='mso-no-proof:yes'>
|
14
|
+
<p class="MsoNormal" align="right" style='text-align:right'><span lang="EN-GB" style='mso-no-proof:yes'>{{ labels["date"]}}: {{ revdate }}</span></p>
|
15
15
|
{% endif %}
|
16
16
|
|
17
17
|
{% if tc_docnumber.size > 0 %}
|
@@ -19,9 +19,9 @@ module IsoDoc
|
|
19
19
|
|
20
20
|
def default_fonts(options)
|
21
21
|
{
|
22
|
-
bodyfont: (options[:script] == "Hans" ? '"
|
22
|
+
bodyfont: (options[:script] == "Hans" ? '"Source Han Sans",serif' :
|
23
23
|
options[:alt] ? '"Lato",sans-serif' : '"Cambria",serif'),
|
24
|
-
headerfont: (options[:script] == "Hans" ? '"
|
24
|
+
headerfont: (options[:script] == "Hans" ? '"Source Han Sans",sans-serif' :
|
25
25
|
options[:alt] ? '"Lato",sans-serif' : '"Cambria",serif'),
|
26
26
|
monospacefont: (options[:alt] ? '"Space Mono",monospace' :
|
27
27
|
'"Courier New",monospace'),
|
data/lib/isodoc/iso/i18n-en.yaml
CHANGED
data/lib/isodoc/iso/i18n-fr.yaml
CHANGED
@@ -1024,20 +1024,20 @@
|
|
1024
1024
|
<fo:block-container font-weight="bold">
|
1025
1025
|
|
1026
1026
|
<fo:block text-align-last="justify" font-size="16pt" margin-top="10pt" margin-bottom="18pt">
|
1027
|
-
<
|
1028
|
-
|
1029
|
-
|
1027
|
+
<fo:inline font-size="16pt" font-weight="bold">
|
1028
|
+
<!-- Contents -->
|
1029
|
+
<xsl:call-template name="getLocalizedString">
|
1030
|
+
<xsl:with-param name="key">table_of_contents</xsl:with-param>
|
1030
1031
|
</xsl:call-template>
|
1031
|
-
</
|
1032
|
-
<fo:inline font-size="16pt" font-weight="bold"><xsl:value-of select="$title-toc"/></fo:inline>
|
1032
|
+
</fo:inline>
|
1033
1033
|
<fo:inline keep-together.within-line="always">
|
1034
1034
|
<fo:leader leader-pattern="space"/>
|
1035
|
-
<
|
1036
|
-
|
1037
|
-
|
1038
|
-
</xsl:
|
1039
|
-
</xsl:
|
1040
|
-
|
1035
|
+
<fo:inline font-weight="normal" font-size="10pt">
|
1036
|
+
<!-- Page -->
|
1037
|
+
<xsl:call-template name="getLocalizedString">
|
1038
|
+
<xsl:with-param name="key">locality.page</xsl:with-param>
|
1039
|
+
</xsl:call-template>
|
1040
|
+
</fo:inline>
|
1041
1041
|
</fo:inline>
|
1042
1042
|
</fo:block>
|
1043
1043
|
|
@@ -1363,13 +1363,22 @@
|
|
1363
1363
|
<xsl:otherwise> <!-- for ordered lists -->
|
1364
1364
|
<xsl:choose>
|
1365
1365
|
<xsl:when test="../@type = 'arabic'">
|
1366
|
-
<xsl:number format="
|
1366
|
+
<xsl:number format="1." lang="en"/>
|
1367
1367
|
</xsl:when>
|
1368
1368
|
<xsl:when test="../@type = 'alphabet'">
|
1369
1369
|
<xsl:number format="a)" lang="en"/>
|
1370
1370
|
</xsl:when>
|
1371
|
+
<xsl:when test="../@type = 'alphabet_upper'">
|
1372
|
+
<xsl:number format="A." lang="en"/>
|
1373
|
+
</xsl:when>
|
1374
|
+
<xsl:when test="../@type = 'roman'">
|
1375
|
+
<xsl:number format="i)"/>
|
1376
|
+
</xsl:when>
|
1377
|
+
<xsl:when test="../@type = 'roman_upper'">
|
1378
|
+
<xsl:number format="I."/>
|
1379
|
+
</xsl:when>
|
1371
1380
|
<xsl:otherwise>
|
1372
|
-
<xsl:number format="
|
1381
|
+
<xsl:number format="a)"/>
|
1373
1382
|
</xsl:otherwise>
|
1374
1383
|
</xsl:choose>
|
1375
1384
|
</xsl:otherwise>
|
@@ -2513,6 +2522,7 @@
|
|
2513
2522
|
|
2514
2523
|
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
2515
2524
|
|
2525
|
+
|
2516
2526
|
</xsl:attribute-set><xsl:attribute-set name="quote-style">
|
2517
2527
|
|
2518
2528
|
|
@@ -2524,6 +2534,7 @@
|
|
2524
2534
|
|
2525
2535
|
|
2526
2536
|
|
2537
|
+
|
2527
2538
|
</xsl:attribute-set><xsl:attribute-set name="quote-source-style">
|
2528
2539
|
|
2529
2540
|
|
@@ -2660,201 +2671,240 @@
|
|
2660
2671
|
</xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
|
2661
2672
|
<!-- <xsl:call-template name="add-zero-spaces"/> -->
|
2662
2673
|
<xsl:call-template name="add-zero-spaces-java"/>
|
2663
|
-
</xsl:template><xsl:template match="*[local-name()='table']">
|
2674
|
+
</xsl:template><xsl:template match="*[local-name()='table']" name="table">
|
2664
2675
|
|
2665
|
-
<xsl:variable name="
|
2666
|
-
<xsl:call-template name="getSimpleTable"/>
|
2667
|
-
</xsl:variable>
|
2676
|
+
<xsl:variable name="table">
|
2668
2677
|
|
2669
|
-
|
2670
|
-
|
2671
|
-
|
2672
|
-
|
2673
|
-
<!-- <xsl:if test="$namespace = 'bipm'">
|
2674
|
-
<fo:block> </fo:block>
|
2675
|
-
</xsl:if> -->
|
2676
|
-
|
2677
|
-
<!-- $namespace = 'iso' or -->
|
2678
|
-
|
2679
|
-
|
2678
|
+
<xsl:variable name="simple-table">
|
2679
|
+
<xsl:call-template name="getSimpleTable"/>
|
2680
|
+
</xsl:variable>
|
2680
2681
|
|
2681
2682
|
|
2682
|
-
|
2683
|
-
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
|
2684
|
-
|
2685
|
-
<!-- <xsl:variable name="cols-count">
|
2686
|
-
<xsl:choose>
|
2687
|
-
<xsl:when test="*[local-name()='thead']">
|
2688
|
-
<xsl:call-template name="calculate-columns-numbers">
|
2689
|
-
<xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
|
2690
|
-
</xsl:call-template>
|
2691
|
-
</xsl:when>
|
2692
|
-
<xsl:otherwise>
|
2693
|
-
<xsl:call-template name="calculate-columns-numbers">
|
2694
|
-
<xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
|
2695
|
-
</xsl:call-template>
|
2696
|
-
</xsl:otherwise>
|
2697
|
-
</xsl:choose>
|
2698
|
-
</xsl:variable> -->
|
2699
|
-
<!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
|
2700
|
-
<!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
|
2701
|
-
|
2702
|
-
|
2703
|
-
|
2704
|
-
<xsl:variable name="colwidths">
|
2705
|
-
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
|
2706
|
-
<xsl:call-template name="calculate-column-widths">
|
2707
|
-
<xsl:with-param name="cols-count" select="$cols-count"/>
|
2708
|
-
<xsl:with-param name="table" select="$simple-table"/>
|
2709
|
-
</xsl:call-template>
|
2710
|
-
</xsl:if>
|
2711
|
-
</xsl:variable>
|
2712
|
-
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
2713
|
-
|
2714
|
-
<!-- <xsl:variable name="colwidths2">
|
2715
|
-
<xsl:call-template name="calculate-column-widths">
|
2716
|
-
<xsl:with-param name="cols-count" select="$cols-count"/>
|
2717
|
-
</xsl:call-template>
|
2718
|
-
</xsl:variable> -->
|
2719
|
-
|
2720
|
-
<!-- cols-count=<xsl:copy-of select="$cols-count"/>
|
2721
|
-
colwidthsNew=<xsl:copy-of select="$colwidths"/>
|
2722
|
-
colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
|
2723
|
-
|
2724
|
-
<xsl:variable name="margin-left">
|
2725
|
-
<xsl:choose>
|
2726
|
-
<xsl:when test="sum(xalan:nodeset($colwidths)//column) > 75">15</xsl:when>
|
2727
|
-
<xsl:otherwise>0</xsl:otherwise>
|
2728
|
-
</xsl:choose>
|
2729
|
-
</xsl:variable>
|
2730
|
-
|
2731
|
-
<fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
|
2732
2683
|
|
2733
|
-
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
2734
2684
|
|
2735
2685
|
|
2736
|
-
|
2737
|
-
|
2738
|
-
|
2686
|
+
<!-- <xsl:if test="$namespace = 'bipm'">
|
2687
|
+
<fo:block> </fo:block>
|
2688
|
+
</xsl:if> -->
|
2739
2689
|
|
2690
|
+
<!-- $namespace = 'iso' or -->
|
2740
2691
|
|
2741
|
-
|
2692
|
+
|
2693
|
+
|
2694
|
+
|
2695
|
+
|
2696
|
+
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
|
2742
2697
|
|
2698
|
+
<!-- <xsl:variable name="cols-count">
|
2699
|
+
<xsl:choose>
|
2700
|
+
<xsl:when test="*[local-name()='thead']">
|
2701
|
+
<xsl:call-template name="calculate-columns-numbers">
|
2702
|
+
<xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
|
2703
|
+
</xsl:call-template>
|
2704
|
+
</xsl:when>
|
2705
|
+
<xsl:otherwise>
|
2706
|
+
<xsl:call-template name="calculate-columns-numbers">
|
2707
|
+
<xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
|
2708
|
+
</xsl:call-template>
|
2709
|
+
</xsl:otherwise>
|
2710
|
+
</xsl:choose>
|
2711
|
+
</xsl:variable> -->
|
2712
|
+
<!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
|
2713
|
+
<!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
|
2743
2714
|
|
2744
|
-
<xsl:attribute name="margin-top">12pt</xsl:attribute>
|
2745
|
-
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
2746
|
-
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
2747
|
-
<xsl:attribute name="margin-bottom">8pt</xsl:attribute>
|
2748
2715
|
|
2749
2716
|
|
2717
|
+
<xsl:variable name="colwidths">
|
2718
|
+
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
|
2719
|
+
<xsl:call-template name="calculate-column-widths">
|
2720
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
2721
|
+
<xsl:with-param name="table" select="$simple-table"/>
|
2722
|
+
</xsl:call-template>
|
2723
|
+
</xsl:if>
|
2724
|
+
</xsl:variable>
|
2725
|
+
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
2750
2726
|
|
2727
|
+
<!-- <xsl:variable name="colwidths2">
|
2728
|
+
<xsl:call-template name="calculate-column-widths">
|
2729
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
2730
|
+
</xsl:call-template>
|
2731
|
+
</xsl:variable> -->
|
2751
2732
|
|
2733
|
+
<!-- cols-count=<xsl:copy-of select="$cols-count"/>
|
2734
|
+
colwidthsNew=<xsl:copy-of select="$colwidths"/>
|
2735
|
+
colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
|
2752
2736
|
|
2737
|
+
<xsl:variable name="margin-left">
|
2738
|
+
<xsl:choose>
|
2739
|
+
<xsl:when test="sum(xalan:nodeset($colwidths)//column) > 75">15</xsl:when>
|
2740
|
+
<xsl:otherwise>0</xsl:otherwise>
|
2741
|
+
</xsl:choose>
|
2742
|
+
</xsl:variable>
|
2753
2743
|
|
2754
|
-
<
|
2755
|
-
<attribute name="table-layout">fixed</attribute>
|
2756
|
-
<attribute name="width">100%</attribute>
|
2757
|
-
<attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
|
2758
|
-
<attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
|
2744
|
+
<fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
|
2759
2745
|
|
2760
|
-
<attribute name="
|
2761
|
-
<xsl:if test="*[local-name()='thead']">
|
2762
|
-
<attribute name="border-top">1pt solid black</attribute>
|
2763
|
-
</xsl:if>
|
2746
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
2764
2747
|
|
2765
2748
|
|
2749
|
+
|
2750
|
+
|
2751
|
+
|
2752
|
+
|
2766
2753
|
|
2754
|
+
|
2767
2755
|
|
2768
|
-
<attribute name="margin-left">0mm</attribute>
|
2769
|
-
<attribute name="margin-right">0mm</attribute>
|
2770
2756
|
|
2771
|
-
|
2772
|
-
|
2773
|
-
|
2757
|
+
<xsl:attribute name="margin-top">12pt</xsl:attribute>
|
2758
|
+
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
2759
|
+
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
2760
|
+
<xsl:attribute name="margin-bottom">8pt</xsl:attribute>
|
2774
2761
|
|
2775
|
-
|
2776
2762
|
|
2777
|
-
</xsl:variable>
|
2778
|
-
|
2779
|
-
|
2780
|
-
<fo:table id="{@id}" table-omit-footer-at-break="true">
|
2781
2763
|
|
2782
|
-
<xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
|
2783
|
-
<xsl:attribute name="{@name}">
|
2784
|
-
<xsl:value-of select="."/>
|
2785
|
-
</xsl:attribute>
|
2786
|
-
</xsl:for-each>
|
2787
2764
|
|
2788
|
-
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
|
2789
|
-
<xsl:if test="$isNoteOrFnExist = 'true'">
|
2790
|
-
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
|
2791
|
-
</xsl:if>
|
2792
2765
|
|
2793
|
-
<xsl:
|
2794
|
-
|
2795
|
-
|
2796
|
-
|
2797
|
-
|
2798
|
-
|
2799
|
-
<xsl:otherwise>
|
2800
|
-
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
2801
|
-
<xsl:choose>
|
2802
|
-
<xsl:when test=". = 1 or . = 0">
|
2803
|
-
<fo:table-column column-width="proportional-column-width(2)"/>
|
2804
|
-
</xsl:when>
|
2805
|
-
<xsl:otherwise>
|
2806
|
-
<fo:table-column column-width="proportional-column-width({.})"/>
|
2807
|
-
</xsl:otherwise>
|
2808
|
-
</xsl:choose>
|
2809
|
-
</xsl:for-each>
|
2810
|
-
</xsl:otherwise>
|
2811
|
-
</xsl:choose>
|
2766
|
+
<xsl:variable name="table_width">
|
2767
|
+
<!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
|
2768
|
+
100%
|
2769
|
+
|
2770
|
+
|
2771
|
+
</xsl:variable>
|
2812
2772
|
|
2813
|
-
<xsl:
|
2814
|
-
<
|
2815
|
-
|
2816
|
-
|
2817
|
-
<xsl:
|
2818
|
-
|
2819
|
-
|
2820
|
-
|
2773
|
+
<xsl:variable name="table_attributes">
|
2774
|
+
<attribute name="table-layout">fixed</attribute>
|
2775
|
+
<attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
|
2776
|
+
<attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
|
2777
|
+
<attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
|
2778
|
+
|
2779
|
+
<attribute name="border">1.5pt solid black</attribute>
|
2780
|
+
<xsl:if test="*[local-name()='thead']">
|
2781
|
+
<attribute name="border-top">1pt solid black</attribute>
|
2782
|
+
</xsl:if>
|
2783
|
+
|
2784
|
+
|
2785
|
+
|
2786
|
+
|
2787
|
+
<attribute name="margin-left">0mm</attribute>
|
2788
|
+
<attribute name="margin-right">0mm</attribute>
|
2789
|
+
|
2790
|
+
|
2791
|
+
|
2792
|
+
|
2793
|
+
|
2794
|
+
|
2795
|
+
|
2796
|
+
</xsl:variable>
|
2821
2797
|
|
2822
|
-
</fo:table>
|
2823
|
-
|
2824
|
-
<xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
|
2825
|
-
<xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
|
2826
|
-
<xsl:call-template name="insertTableFooterInSeparateTable">
|
2827
|
-
<xsl:with-param name="table_attributes" select="$table_attributes"/>
|
2828
|
-
<xsl:with-param name="colwidths" select="$colwidths"/>
|
2829
|
-
<xsl:with-param name="colgroup" select="$colgroup"/>
|
2830
|
-
</xsl:call-template>
|
2831
|
-
</xsl:for-each>
|
2832
|
-
|
2833
|
-
<!-- insert footer as table -->
|
2834
|
-
<!-- <fo:table>
|
2835
|
-
<xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
|
2836
|
-
<xsl:attribute name="{@name}">
|
2837
|
-
<xsl:value-of select="."/>
|
2838
|
-
</xsl:attribute>
|
2839
|
-
</xsl:for-each>
|
2840
2798
|
|
2841
|
-
<
|
2799
|
+
<fo:table id="{@id}" table-omit-footer-at-break="true">
|
2800
|
+
|
2801
|
+
<xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
|
2802
|
+
<xsl:attribute name="{@name}">
|
2803
|
+
<xsl:value-of select="."/>
|
2804
|
+
</xsl:attribute>
|
2805
|
+
</xsl:for-each>
|
2806
|
+
|
2807
|
+
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
|
2808
|
+
<xsl:if test="$isNoteOrFnExist = 'true'">
|
2809
|
+
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
|
2810
|
+
</xsl:if>
|
2811
|
+
|
2842
2812
|
<xsl:choose>
|
2843
|
-
<xsl:when test="
|
2844
|
-
<
|
2813
|
+
<xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
|
2814
|
+
<xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
|
2815
|
+
<fo:table-column column-width="{@width}"/>
|
2816
|
+
</xsl:for-each>
|
2845
2817
|
</xsl:when>
|
2846
2818
|
<xsl:otherwise>
|
2847
|
-
<
|
2819
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
2820
|
+
<xsl:choose>
|
2821
|
+
<xsl:when test=". = 1 or . = 0">
|
2822
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
2823
|
+
</xsl:when>
|
2824
|
+
<xsl:otherwise>
|
2825
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
2826
|
+
</xsl:otherwise>
|
2827
|
+
</xsl:choose>
|
2828
|
+
</xsl:for-each>
|
2848
2829
|
</xsl:otherwise>
|
2849
2830
|
</xsl:choose>
|
2831
|
+
|
2832
|
+
<xsl:choose>
|
2833
|
+
<xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
|
2834
|
+
<xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
|
2835
|
+
</xsl:when>
|
2836
|
+
<xsl:otherwise>
|
2837
|
+
<xsl:apply-templates/>
|
2838
|
+
</xsl:otherwise>
|
2839
|
+
</xsl:choose>
|
2840
|
+
|
2841
|
+
</fo:table>
|
2842
|
+
|
2843
|
+
<xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
|
2844
|
+
<xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
|
2845
|
+
<xsl:call-template name="insertTableFooterInSeparateTable">
|
2846
|
+
<xsl:with-param name="table_attributes" select="$table_attributes"/>
|
2847
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
2848
|
+
<xsl:with-param name="colgroup" select="$colgroup"/>
|
2849
|
+
</xsl:call-template>
|
2850
2850
|
</xsl:for-each>
|
2851
|
-
|
2852
|
-
|
2853
|
-
|
2854
|
-
|
2855
|
-
|
2856
|
-
|
2857
|
-
|
2851
|
+
|
2852
|
+
<!-- insert footer as table -->
|
2853
|
+
<!-- <fo:table>
|
2854
|
+
<xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
|
2855
|
+
<xsl:attribute name="{@name}">
|
2856
|
+
<xsl:value-of select="."/>
|
2857
|
+
</xsl:attribute>
|
2858
|
+
</xsl:for-each>
|
2859
|
+
|
2860
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
2861
|
+
<xsl:choose>
|
2862
|
+
<xsl:when test=". = 1 or . = 0">
|
2863
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
2864
|
+
</xsl:when>
|
2865
|
+
<xsl:otherwise>
|
2866
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
2867
|
+
</xsl:otherwise>
|
2868
|
+
</xsl:choose>
|
2869
|
+
</xsl:for-each>
|
2870
|
+
</fo:table>-->
|
2871
|
+
|
2872
|
+
|
2873
|
+
|
2874
|
+
|
2875
|
+
|
2876
|
+
</fo:block-container>
|
2877
|
+
</xsl:variable>
|
2878
|
+
|
2879
|
+
|
2880
|
+
|
2881
|
+
<xsl:choose>
|
2882
|
+
<xsl:when test="@width">
|
2883
|
+
|
2884
|
+
<!-- centered table when table name is centered (see table-name-style) -->
|
2885
|
+
|
2886
|
+
<fo:table table-layout="fixed" width="100%">
|
2887
|
+
<fo:table-column column-width="proportional-column-width(1)"/>
|
2888
|
+
<fo:table-column column-width="{@width}"/>
|
2889
|
+
<fo:table-column column-width="proportional-column-width(1)"/>
|
2890
|
+
<fo:table-body>
|
2891
|
+
<fo:table-row>
|
2892
|
+
<fo:table-cell column-number="2">
|
2893
|
+
<fo:block><xsl:copy-of select="$table"/></fo:block>
|
2894
|
+
</fo:table-cell>
|
2895
|
+
</fo:table-row>
|
2896
|
+
</fo:table-body>
|
2897
|
+
</fo:table>
|
2898
|
+
|
2899
|
+
|
2900
|
+
|
2901
|
+
|
2902
|
+
</xsl:when>
|
2903
|
+
<xsl:otherwise>
|
2904
|
+
<xsl:copy-of select="$table"/>
|
2905
|
+
</xsl:otherwise>
|
2906
|
+
</xsl:choose>
|
2907
|
+
|
2858
2908
|
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
|
2859
2909
|
<xsl:if test="normalize-space() != ''">
|
2860
2910
|
<fo:block xsl:use-attribute-sets="table-name-style">
|
@@ -3613,7 +3663,9 @@
|
|
3613
3663
|
</xsl:template><xsl:template match="*[local-name()='dl']">
|
3614
3664
|
<fo:block-container>
|
3615
3665
|
|
3616
|
-
<xsl:
|
3666
|
+
<xsl:if test="not(ancestor::*[local-name() = 'quote'])">
|
3667
|
+
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
3668
|
+
</xsl:if>
|
3617
3669
|
|
3618
3670
|
|
3619
3671
|
<xsl:if test="parent::*[local-name() = 'note']">
|
@@ -3628,6 +3680,7 @@
|
|
3628
3680
|
<fo:block-container>
|
3629
3681
|
|
3630
3682
|
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
3683
|
+
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
3631
3684
|
|
3632
3685
|
|
3633
3686
|
<xsl:variable name="parent" select="local-name(..)"/>
|
@@ -3758,7 +3811,7 @@
|
|
3758
3811
|
<xsl:with-param name="table" select="$html-table"/>
|
3759
3812
|
</xsl:call-template>
|
3760
3813
|
</xsl:variable>
|
3761
|
-
<!-- colwidths=<xsl:
|
3814
|
+
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
3762
3815
|
<xsl:variable name="maxlength_dt">
|
3763
3816
|
<xsl:call-template name="getMaxLength_dt"/>
|
3764
3817
|
</xsl:variable>
|
@@ -3787,13 +3840,22 @@
|
|
3787
3840
|
</xsl:when>
|
3788
3841
|
<xsl:otherwise>
|
3789
3842
|
<xsl:choose>
|
3843
|
+
<!-- to set width check most wide chars like `W` -->
|
3790
3844
|
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 2"> <!-- if dt contains short text like t90, a, etc -->
|
3791
|
-
<fo:table-column column-width="
|
3792
|
-
<fo:table-column column-width="
|
3845
|
+
<fo:table-column column-width="7%"/>
|
3846
|
+
<fo:table-column column-width="93%"/>
|
3793
3847
|
</xsl:when>
|
3794
|
-
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 5"> <!-- if dt contains short text like
|
3795
|
-
<fo:table-column column-width="
|
3796
|
-
<fo:table-column column-width="
|
3848
|
+
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 5"> <!-- if dt contains short text like ABC, etc -->
|
3849
|
+
<fo:table-column column-width="15%"/>
|
3850
|
+
<fo:table-column column-width="85%"/>
|
3851
|
+
</xsl:when>
|
3852
|
+
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 7"> <!-- if dt contains short text like ABCDEF, etc -->
|
3853
|
+
<fo:table-column column-width="20%"/>
|
3854
|
+
<fo:table-column column-width="80%"/>
|
3855
|
+
</xsl:when>
|
3856
|
+
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 10"> <!-- if dt contains short text like ABCDEFEF, etc -->
|
3857
|
+
<fo:table-column column-width="25%"/>
|
3858
|
+
<fo:table-column column-width="75%"/>
|
3797
3859
|
</xsl:when>
|
3798
3860
|
<!-- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] > 1.7">
|
3799
3861
|
<fo:table-column column-width="60%"/>
|
@@ -3825,12 +3887,32 @@
|
|
3825
3887
|
</xsl:otherwise>
|
3826
3888
|
</xsl:choose>
|
3827
3889
|
</xsl:template><xsl:template name="getMaxLength_dt">
|
3828
|
-
<xsl:
|
3829
|
-
<xsl:
|
3830
|
-
|
3831
|
-
<xsl:
|
3832
|
-
|
3833
|
-
|
3890
|
+
<xsl:variable name="lengths">
|
3891
|
+
<xsl:for-each select="*[local-name()='dt']">
|
3892
|
+
<xsl:variable name="maintext_length" select="string-length(normalize-space(.))"/>
|
3893
|
+
<xsl:variable name="attributes">
|
3894
|
+
<xsl:for-each select=".//@open"><xsl:value-of select="."/></xsl:for-each>
|
3895
|
+
<xsl:for-each select=".//@close"><xsl:value-of select="."/></xsl:for-each>
|
3896
|
+
</xsl:variable>
|
3897
|
+
<length><xsl:value-of select="string-length(normalize-space(.)) + string-length($attributes)"/></length>
|
3898
|
+
</xsl:for-each>
|
3899
|
+
</xsl:variable>
|
3900
|
+
<xsl:variable name="maxLength">
|
3901
|
+
<!-- <xsl:for-each select="*[local-name()='dt']">
|
3902
|
+
<xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
|
3903
|
+
<xsl:if test="position() = 1">
|
3904
|
+
<xsl:value-of select="string-length(normalize-space(.))"/>
|
3905
|
+
</xsl:if>
|
3906
|
+
</xsl:for-each> -->
|
3907
|
+
<xsl:for-each select="xalan:nodeset($lengths)/length">
|
3908
|
+
<xsl:sort select="." data-type="number" order="descending"/>
|
3909
|
+
<xsl:if test="position() = 1">
|
3910
|
+
<xsl:value-of select="."/>
|
3911
|
+
</xsl:if>
|
3912
|
+
</xsl:for-each>
|
3913
|
+
</xsl:variable>
|
3914
|
+
<!-- <xsl:message>DEBUG:<xsl:value-of select="$maxLength"/></xsl:message> -->
|
3915
|
+
<xsl:value-of select="$maxLength"/>
|
3834
3916
|
</xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']" priority="2">
|
3835
3917
|
<xsl:param name="key_iso"/>
|
3836
3918
|
|
@@ -3971,6 +4053,7 @@
|
|
3971
4053
|
|
3972
4054
|
|
3973
4055
|
|
4056
|
+
|
3974
4057
|
|
3975
4058
|
</xsl:variable>
|
3976
4059
|
<xsl:variable name="font-size" select="normalize-space($_font-size)"/>
|
@@ -3984,6 +4067,10 @@
|
|
3984
4067
|
</xsl:if>
|
3985
4068
|
<xsl:apply-templates/>
|
3986
4069
|
</fo:inline>
|
4070
|
+
</xsl:template><xsl:template match="*[local-name()='underline']">
|
4071
|
+
<fo:inline text-decoration="underline">
|
4072
|
+
<xsl:apply-templates/>
|
4073
|
+
</fo:inline>
|
3987
4074
|
</xsl:template><xsl:template match="*[local-name()='del']">
|
3988
4075
|
<fo:inline font-size="10pt" color="red" text-decoration="line-through">
|
3989
4076
|
<xsl:apply-templates/>
|
@@ -4077,6 +4164,10 @@
|
|
4077
4164
|
<xsl:param name="text" select="."/>
|
4078
4165
|
<!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
|
4079
4166
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| )','$1')"/>
|
4167
|
+
</xsl:template><xsl:template name="add-zero-spaces-link-java">
|
4168
|
+
<xsl:param name="text" select="."/>
|
4169
|
+
<!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
|
4170
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| |,)','$1')"/>
|
4080
4171
|
</xsl:template><xsl:template name="add-zero-spaces">
|
4081
4172
|
<xsl:param name="text" select="."/>
|
4082
4173
|
<xsl:variable name="zero-space-after-chars">-</xsl:variable>
|
@@ -4337,6 +4428,11 @@
|
|
4337
4428
|
<!-- replace start and end spaces to non-break space -->
|
4338
4429
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
|
4339
4430
|
</xsl:copy>
|
4431
|
+
</xsl:template><xsl:template match="mathml:mi[. = ',' and not(following-sibling::*[1][local-name() = 'mtext' and text() = ' '])]" mode="mathml">
|
4432
|
+
<xsl:copy>
|
4433
|
+
<xsl:apply-templates select="@*|node()" mode="mathml"/>
|
4434
|
+
</xsl:copy>
|
4435
|
+
<mathml:mspace width="0.5ex"/>
|
4340
4436
|
</xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
|
4341
4437
|
<xsl:variable name="target">
|
4342
4438
|
<xsl:choose>
|
@@ -4358,7 +4454,10 @@
|
|
4358
4454
|
<fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
|
4359
4455
|
<xsl:choose>
|
4360
4456
|
<xsl:when test="normalize-space(.) = ''">
|
4361
|
-
<xsl:value-of select="$target"/>
|
4457
|
+
<!-- <xsl:value-of select="$target"/> -->
|
4458
|
+
<xsl:call-template name="add-zero-spaces-link-java">
|
4459
|
+
<xsl:with-param name="text" select="$target"/>
|
4460
|
+
</xsl:call-template>
|
4362
4461
|
</xsl:when>
|
4363
4462
|
<xsl:otherwise>
|
4364
4463
|
<xsl:apply-templates/>
|
@@ -4562,7 +4661,7 @@
|
|
4562
4661
|
</xsl:if> -->
|
4563
4662
|
</fo:inline>
|
4564
4663
|
</xsl:if>
|
4565
|
-
</xsl:template><xsl:template match="*[local-name() = 'figure']">
|
4664
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
|
4566
4665
|
<fo:block-container id="{@id}">
|
4567
4666
|
|
4568
4667
|
<fo:block>
|
@@ -4631,6 +4730,8 @@
|
|
4631
4730
|
<xsl:variable name="bookmark-title_">
|
4632
4731
|
<xsl:call-template name="getLangVersion">
|
4633
4732
|
<xsl:with-param name="lang" select="@lang"/>
|
4733
|
+
<xsl:with-param name="doctype" select="@doctype"/>
|
4734
|
+
<xsl:with-param name="title" select="@title-part"/>
|
4634
4735
|
</xsl:call-template>
|
4635
4736
|
</xsl:variable>
|
4636
4737
|
<xsl:choose>
|
@@ -4648,13 +4749,34 @@
|
|
4648
4749
|
</xsl:choose>
|
4649
4750
|
</fo:bookmark-title>
|
4650
4751
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
4752
|
+
|
4753
|
+
<xsl:call-template name="insertFigureBookmarks">
|
4754
|
+
<xsl:with-param name="contents" select="contents"/>
|
4755
|
+
</xsl:call-template>
|
4756
|
+
|
4757
|
+
<xsl:call-template name="insertTableBookmarks">
|
4758
|
+
<xsl:with-param name="contents" select="contents"/>
|
4759
|
+
<xsl:with-param name="lang" select="@lang"/>
|
4760
|
+
</xsl:call-template>
|
4761
|
+
|
4651
4762
|
</fo:bookmark>
|
4652
4763
|
|
4653
4764
|
</xsl:for-each>
|
4654
4765
|
</xsl:when>
|
4655
4766
|
<xsl:otherwise>
|
4656
4767
|
<xsl:for-each select="xalan:nodeset($contents)/doc">
|
4768
|
+
|
4657
4769
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
4770
|
+
|
4771
|
+
<xsl:call-template name="insertFigureBookmarks">
|
4772
|
+
<xsl:with-param name="contents" select="contents"/>
|
4773
|
+
</xsl:call-template>
|
4774
|
+
|
4775
|
+
<xsl:call-template name="insertTableBookmarks">
|
4776
|
+
<xsl:with-param name="contents" select="contents"/>
|
4777
|
+
<xsl:with-param name="lang" select="@lang"/>
|
4778
|
+
</xsl:call-template>
|
4779
|
+
|
4658
4780
|
</xsl:for-each>
|
4659
4781
|
</xsl:otherwise>
|
4660
4782
|
</xsl:choose>
|
@@ -4673,8 +4795,44 @@
|
|
4673
4795
|
|
4674
4796
|
</fo:bookmark-tree>
|
4675
4797
|
</xsl:if>
|
4798
|
+
</xsl:template><xsl:template name="insertFigureBookmarks">
|
4799
|
+
<xsl:param name="contents"/>
|
4800
|
+
<xsl:if test="xalan:nodeset($contents)/figure">
|
4801
|
+
<fo:bookmark internal-destination="{xalan:nodeset($contents)/figure[1]/@id}" starting-state="hide">
|
4802
|
+
<fo:bookmark-title>Figures</fo:bookmark-title>
|
4803
|
+
<xsl:for-each select="xalan:nodeset($contents)/figure">
|
4804
|
+
<fo:bookmark internal-destination="{@id}">
|
4805
|
+
<fo:bookmark-title>
|
4806
|
+
<xsl:value-of select="normalize-space(title)"/>
|
4807
|
+
</fo:bookmark-title>
|
4808
|
+
</fo:bookmark>
|
4809
|
+
</xsl:for-each>
|
4810
|
+
</fo:bookmark>
|
4811
|
+
</xsl:if>
|
4812
|
+
</xsl:template><xsl:template name="insertTableBookmarks">
|
4813
|
+
<xsl:param name="contents"/>
|
4814
|
+
<xsl:param name="lang"/>
|
4815
|
+
<xsl:if test="xalan:nodeset($contents)/table">
|
4816
|
+
<fo:bookmark internal-destination="{xalan:nodeset($contents)/table[1]/@id}" starting-state="hide">
|
4817
|
+
<fo:bookmark-title>
|
4818
|
+
<xsl:choose>
|
4819
|
+
<xsl:when test="$lang = 'fr'">Tableaux</xsl:when>
|
4820
|
+
<xsl:otherwise>Tables</xsl:otherwise>
|
4821
|
+
</xsl:choose>
|
4822
|
+
</fo:bookmark-title>
|
4823
|
+
<xsl:for-each select="xalan:nodeset($contents)/table">
|
4824
|
+
<fo:bookmark internal-destination="{@id}">
|
4825
|
+
<fo:bookmark-title>
|
4826
|
+
<xsl:value-of select="normalize-space(title)"/>
|
4827
|
+
</fo:bookmark-title>
|
4828
|
+
</fo:bookmark>
|
4829
|
+
</xsl:for-each>
|
4830
|
+
</fo:bookmark>
|
4831
|
+
</xsl:if>
|
4676
4832
|
</xsl:template><xsl:template name="getLangVersion">
|
4677
4833
|
<xsl:param name="lang"/>
|
4834
|
+
<xsl:param name="doctype" select="''"/>
|
4835
|
+
<xsl:param name="title" select="''"/>
|
4678
4836
|
<xsl:choose>
|
4679
4837
|
<xsl:when test="$lang = 'en'">
|
4680
4838
|
|
@@ -4710,6 +4868,12 @@
|
|
4710
4868
|
<!-- <xsl:text> </xsl:text> -->
|
4711
4869
|
</xsl:template><xsl:template name="getSection">
|
4712
4870
|
<xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
|
4871
|
+
<!--
|
4872
|
+
<xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
|
4873
|
+
<xsl:value-of select="."/>
|
4874
|
+
</xsl:for-each>
|
4875
|
+
-->
|
4876
|
+
|
4713
4877
|
</xsl:template><xsl:template name="getName">
|
4714
4878
|
<xsl:choose>
|
4715
4879
|
<xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
|
@@ -4762,6 +4926,12 @@
|
|
4762
4926
|
<xsl:copy>
|
4763
4927
|
<xsl:apply-templates mode="contents_item"/>
|
4764
4928
|
</xsl:copy>
|
4929
|
+
</xsl:template><xsl:template match="*[local-name() = 'em']" mode="contents_item">
|
4930
|
+
<xsl:copy>
|
4931
|
+
<xsl:apply-templates mode="contents_item"/>
|
4932
|
+
</xsl:copy>
|
4933
|
+
</xsl:template><xsl:template match="*[local-name() = 'stem']" mode="contents_item">
|
4934
|
+
<xsl:copy-of select="."/>
|
4765
4935
|
</xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
|
4766
4936
|
<xsl:text> </xsl:text>
|
4767
4937
|
</xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
@@ -4787,6 +4957,7 @@
|
|
4787
4957
|
|
4788
4958
|
9
|
4789
4959
|
|
4960
|
+
|
4790
4961
|
|
4791
4962
|
|
4792
4963
|
|
@@ -5167,10 +5338,13 @@
|
|
5167
5338
|
</xsl:if>
|
5168
5339
|
</xsl:if>
|
5169
5340
|
|
5341
|
+
|
5170
5342
|
<fo:block-container margin-left="0mm">
|
5171
5343
|
|
5172
5344
|
<fo:block xsl:use-attribute-sets="quote-style">
|
5173
|
-
<xsl:apply-templates select=".//*[local-name() = 'p']"/>
|
5345
|
+
<!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
|
5346
|
+
|
5347
|
+
<xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
|
5174
5348
|
</fo:block>
|
5175
5349
|
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
|
5176
5350
|
<fo:block xsl:use-attribute-sets="quote-source-style">
|
@@ -5326,6 +5500,7 @@
|
|
5326
5500
|
<xsl:attribute name="space-before">18pt</xsl:attribute>
|
5327
5501
|
</xsl:if>
|
5328
5502
|
|
5503
|
+
|
5329
5504
|
|
5330
5505
|
|
5331
5506
|
|
@@ -5337,7 +5512,7 @@
|
|
5337
5512
|
|
5338
5513
|
|
5339
5514
|
|
5340
|
-
</xsl:template><xsl:template match="
|
5515
|
+
</xsl:template><xsl:template match="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
|
5341
5516
|
<fo:block break-after="page"/>
|
5342
5517
|
<fo:block>
|
5343
5518
|
<xsl:call-template name="setId"/>
|
@@ -5345,7 +5520,8 @@
|
|
5345
5520
|
</fo:block>
|
5346
5521
|
</xsl:template><xsl:template match="*[local-name() = 'clause']">
|
5347
5522
|
<fo:block>
|
5348
|
-
<xsl:call-template name="setId"/>
|
5523
|
+
<xsl:call-template name="setId"/>
|
5524
|
+
|
5349
5525
|
|
5350
5526
|
<xsl:apply-templates/>
|
5351
5527
|
</fo:block>
|
@@ -5491,6 +5667,8 @@
|
|
5491
5667
|
<xsl:value-of select="translate(.,'. ','')"/>
|
5492
5668
|
</xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'forename']/text()" mode="strip">
|
5493
5669
|
<xsl:value-of select="substring(.,1,1)"/>
|
5670
|
+
</xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
|
5671
|
+
<fo:inline><xsl:apply-templates/></fo:inline>
|
5494
5672
|
</xsl:template><xsl:template name="convertDate">
|
5495
5673
|
<xsl:param name="date"/>
|
5496
5674
|
<xsl:param name="format" select="'short'"/>
|
@@ -5515,6 +5693,57 @@
|
|
5515
5693
|
</xsl:variable>
|
5516
5694
|
<xsl:variable name="result">
|
5517
5695
|
<xsl:choose>
|
5696
|
+
<xsl:when test="$format = 'ddMMyyyy'">
|
5697
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
5698
|
+
<xsl:text> </xsl:text>
|
5699
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
|
5700
|
+
</xsl:when>
|
5701
|
+
<xsl:when test="$format = 'ddMM'">
|
5702
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
5703
|
+
<xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
|
5704
|
+
</xsl:when>
|
5705
|
+
<xsl:when test="$format = 'short' or $day = ''">
|
5706
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
|
5707
|
+
</xsl:when>
|
5708
|
+
<xsl:otherwise>
|
5709
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
|
5710
|
+
</xsl:otherwise>
|
5711
|
+
</xsl:choose>
|
5712
|
+
</xsl:variable>
|
5713
|
+
<xsl:value-of select="$result"/>
|
5714
|
+
</xsl:template><xsl:template name="convertDateLocalized">
|
5715
|
+
<xsl:param name="date"/>
|
5716
|
+
<xsl:param name="format" select="'short'"/>
|
5717
|
+
<xsl:variable name="year" select="substring($date, 1, 4)"/>
|
5718
|
+
<xsl:variable name="month" select="substring($date, 6, 2)"/>
|
5719
|
+
<xsl:variable name="day" select="substring($date, 9, 2)"/>
|
5720
|
+
<xsl:variable name="monthStr">
|
5721
|
+
<xsl:choose>
|
5722
|
+
<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>
|
5723
|
+
<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>
|
5724
|
+
<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>
|
5725
|
+
<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>
|
5726
|
+
<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>
|
5727
|
+
<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>
|
5728
|
+
<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>
|
5729
|
+
<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>
|
5730
|
+
<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>
|
5731
|
+
<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>
|
5732
|
+
<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>
|
5733
|
+
<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>
|
5734
|
+
</xsl:choose>
|
5735
|
+
</xsl:variable>
|
5736
|
+
<xsl:variable name="result">
|
5737
|
+
<xsl:choose>
|
5738
|
+
<xsl:when test="$format = 'ddMMyyyy'">
|
5739
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
5740
|
+
<xsl:text> </xsl:text>
|
5741
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
|
5742
|
+
</xsl:when>
|
5743
|
+
<xsl:when test="$format = 'ddMM'">
|
5744
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
5745
|
+
<xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
|
5746
|
+
</xsl:when>
|
5518
5747
|
<xsl:when test="$format = 'short' or $day = ''">
|
5519
5748
|
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
|
5520
5749
|
</xsl:when>
|
@@ -5530,7 +5759,7 @@
|
|
5530
5759
|
<xsl:param name="charDelim" select="', '"/>
|
5531
5760
|
<xsl:choose>
|
5532
5761
|
<xsl:when test="$sorting = 'true' or $sorting = 'yes'">
|
5533
|
-
<xsl:for-each select="
|
5762
|
+
<xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
|
5534
5763
|
<xsl:sort data-type="text" order="ascending"/>
|
5535
5764
|
<xsl:call-template name="insertKeyword">
|
5536
5765
|
<xsl:with-param name="charAtEnd" select="$charAtEnd"/>
|
@@ -5539,7 +5768,7 @@
|
|
5539
5768
|
</xsl:for-each>
|
5540
5769
|
</xsl:when>
|
5541
5770
|
<xsl:otherwise>
|
5542
|
-
<xsl:for-each select="
|
5771
|
+
<xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
|
5543
5772
|
<xsl:call-template name="insertKeyword">
|
5544
5773
|
<xsl:with-param name="charAtEnd" select="$charAtEnd"/>
|
5545
5774
|
<xsl:with-param name="charDelim" select="$charDelim"/>
|
@@ -5556,6 +5785,9 @@
|
|
5556
5785
|
<xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
|
5557
5786
|
</xsl:choose>
|
5558
5787
|
</xsl:template><xsl:template name="addPDFUAmeta">
|
5788
|
+
<xsl:variable name="lang">
|
5789
|
+
<xsl:call-template name="getLang"/>
|
5790
|
+
</xsl:variable>
|
5559
5791
|
<fo:declarations>
|
5560
5792
|
<pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
|
5561
5793
|
<pdf:dictionary type="normal" key="ViewerPreferences">
|
@@ -5568,13 +5800,16 @@
|
|
5568
5800
|
<!-- Dublin Core properties go here -->
|
5569
5801
|
<dc:title>
|
5570
5802
|
<xsl:variable name="title">
|
5571
|
-
|
5572
|
-
|
5573
|
-
|
5574
|
-
|
5575
|
-
|
5576
|
-
|
5577
|
-
|
5803
|
+
<xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
|
5804
|
+
|
5805
|
+
<xsl:value-of select="*[local-name() = 'title'][@language = $lang and @type = 'main']"/>
|
5806
|
+
|
5807
|
+
|
5808
|
+
|
5809
|
+
|
5810
|
+
|
5811
|
+
|
5812
|
+
</xsl:for-each>
|
5578
5813
|
</xsl:variable>
|
5579
5814
|
<xsl:choose>
|
5580
5815
|
<xsl:when test="normalize-space($title) != ''">
|
@@ -5586,19 +5821,21 @@
|
|
5586
5821
|
</xsl:choose>
|
5587
5822
|
</dc:title>
|
5588
5823
|
<dc:creator>
|
5589
|
-
|
5590
|
-
|
5591
|
-
|
5592
|
-
|
5593
|
-
|
5594
|
-
|
5595
|
-
<dc:description>
|
5596
|
-
<xsl:variable name="abstract">
|
5824
|
+
<xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
|
5825
|
+
|
5826
|
+
<xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
|
5827
|
+
<xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
|
5828
|
+
<xsl:if test="position() != last()">; </xsl:if>
|
5829
|
+
</xsl:for-each>
|
5597
5830
|
|
5598
|
-
<xsl:copy-of select="/*/*[local-name() = 'bibliography']/*[local-name() = 'references']/*[local-name() = 'bibitem']/*[local-name() = 'abstract']//text()"/>
|
5599
5831
|
|
5600
5832
|
|
5833
|
+
</xsl:for-each>
|
5834
|
+
</dc:creator>
|
5835
|
+
<dc:description>
|
5836
|
+
<xsl:variable name="abstract">
|
5601
5837
|
|
5838
|
+
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
|
5602
5839
|
|
5603
5840
|
|
5604
5841
|
</xsl:variable>
|
@@ -5711,6 +5948,7 @@
|
|
5711
5948
|
|
5712
5949
|
|
5713
5950
|
|
5951
|
+
|
5714
5952
|
</xsl:variable>
|
5715
5953
|
<xsl:if test="$documentNS != $XSLNS">
|
5716
5954
|
<xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
|
@@ -5770,6 +6008,11 @@
|
|
5770
6008
|
<xsl:call-template name="getLang"/>
|
5771
6009
|
</xsl:variable>
|
5772
6010
|
|
5773
|
-
<xsl:
|
6011
|
+
<xsl:choose>
|
6012
|
+
<xsl:when test="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]">
|
6013
|
+
<xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
6014
|
+
</xsl:when>
|
6015
|
+
<xsl:otherwise><xsl:value-of select="$key"/></xsl:otherwise>
|
6016
|
+
</xsl:choose>
|
5774
6017
|
|
5775
6018
|
</xsl:template></xsl:stylesheet>
|