metanorma-iso 1.6.0 → 1.7.3
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 +16 -29
- data/.rubocop.yml +0 -4
- data/lib/asciidoctor/iso/base.rb +13 -13
- data/lib/asciidoctor/iso/basicdoc.rng +5 -3
- data/lib/asciidoctor/iso/cleanup.rb +1 -1
- data/lib/asciidoctor/iso/front.rb +5 -5
- data/lib/asciidoctor/iso/isodoc.rng +134 -5
- data/lib/asciidoctor/iso/isostandard-amd.rng +11 -4
- data/lib/asciidoctor/iso/isostandard.rng +33 -107
- data/lib/asciidoctor/iso/validate.rb +79 -0
- data/lib/asciidoctor/iso/validate_section.rb +12 -9
- data/lib/isodoc/iso/base_convert.rb +11 -0
- 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 +6 -0
- data/lib/isodoc/iso/i18n-fr.yaml +4 -0
- data/lib/isodoc/iso/i18n-zh-Hans.yaml +4 -0
- data/lib/isodoc/iso/index.rb +139 -0
- data/lib/isodoc/iso/iso.amendment.xsl +1006 -317
- data/lib/isodoc/iso/iso.international-standard.xsl +1006 -317
- data/lib/isodoc/iso/presentation_xml_convert.rb +1 -4
- data/lib/isodoc/iso/sections.rb +1 -1
- data/lib/isodoc/iso/word_convert.rb +2 -2
- data/lib/isodoc/iso/xref.rb +33 -12
- data/lib/metanorma/iso/version.rb +1 -1
- data/metanorma-iso.gemspec +3 -3
- data/spec/asciidoctor/amd_spec.rb +696 -0
- data/spec/asciidoctor/base_spec.rb +704 -0
- data/spec/asciidoctor/blocks_spec.rb +527 -0
- data/spec/asciidoctor/cleanup_spec.rb +1134 -0
- data/spec/asciidoctor/inline_spec.rb +195 -0
- data/spec/asciidoctor/lists_spec.rb +197 -0
- data/spec/asciidoctor/refs_spec.rb +375 -0
- data/spec/asciidoctor/section_spec.rb +393 -0
- data/spec/asciidoctor/table_spec.rb +329 -0
- data/spec/asciidoctor/validate_spec.rb +1555 -0
- 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 +821 -519
- 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 +22 -23
- data/.rubocop.ribose.yml +0 -66
- data/spec/asciidoctor-iso/amd_spec.rb +0 -694
- data/spec/asciidoctor-iso/base_spec.rb +0 -713
- data/spec/asciidoctor-iso/blocks_spec.rb +0 -482
- data/spec/asciidoctor-iso/cleanup_spec.rb +0 -1025
- data/spec/asciidoctor-iso/inline_spec.rb +0 -170
- data/spec/asciidoctor-iso/lists_spec.rb +0 -190
- data/spec/asciidoctor-iso/refs_spec.rb +0 -317
- data/spec/asciidoctor-iso/section_spec.rb +0 -362
- data/spec/asciidoctor-iso/table_spec.rb +0 -313
- data/spec/asciidoctor-iso/validate_spec.rb +0 -1251
- data/spec/assets/xref_error.adoc +0 -7
@@ -1,19 +1,33 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:mathml="http://www.w3.org/1998/Math/MathML" xmlns:xalan="http://xml.apache.org/xalan" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" xmlns:java="http://xml.apache.org/xalan/java" exclude-result-prefixes="java" version="1.0">
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:mathml="http://www.w3.org/1998/Math/MathML" xmlns:xalan="http://xml.apache.org/xalan" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf" xmlns:java="http://xml.apache.org/xalan/java" exclude-result-prefixes="java" version="1.0">
|
2
2
|
|
3
3
|
<xsl:output method="xml" encoding="UTF-8" indent="no"/>
|
4
4
|
|
5
5
|
<xsl:param name="svg_images"/>
|
6
|
+
<xsl:param name="external_index"/><!-- path to index xml, generated on 1st pass, based on FOP Intermediate Format -->
|
6
7
|
<xsl:variable name="images" select="document($svg_images)"/>
|
7
8
|
|
8
9
|
|
9
10
|
|
10
11
|
<xsl:key name="kfn" match="iso:p/iso:fn" use="@reference"/>
|
11
12
|
|
13
|
+
<xsl:key name="attachments" match="iso:eref[contains(@bibitemid, '.exp')]" use="@bibitemid"/>
|
14
|
+
|
12
15
|
|
13
16
|
|
14
17
|
<xsl:variable name="debug">false</xsl:variable>
|
15
|
-
<xsl:variable name="pageWidth" select="
|
16
|
-
<xsl:variable name="pageHeight" select="
|
18
|
+
<xsl:variable name="pageWidth" select="210"/>
|
19
|
+
<xsl:variable name="pageHeight" select="297"/>
|
20
|
+
<xsl:variable name="marginLeftRight1" select="25"/>
|
21
|
+
<xsl:variable name="marginLeftRight2" select="12.5"/>
|
22
|
+
<xsl:variable name="marginTop" select="27.4"/>
|
23
|
+
<xsl:variable name="marginBottom" select="13"/>
|
24
|
+
|
25
|
+
<xsl:variable name="figure_name_height">14</xsl:variable>
|
26
|
+
<xsl:variable name="width_effective" select="$pageWidth - $marginLeftRight1 - $marginLeftRight2"/><!-- paper width minus margins -->
|
27
|
+
<xsl:variable name="height_effective" select="$pageHeight - $marginTop - $marginBottom - $figure_name_height"/><!-- paper height minus margins and title height -->
|
28
|
+
<xsl:variable name="image_dpi" select="96"/>
|
29
|
+
<xsl:variable name="width_effective_px" select="$width_effective div 25.4 * $image_dpi"/>
|
30
|
+
<xsl:variable name="height_effective_px" select="$height_effective div 25.4 * $image_dpi"/>
|
17
31
|
|
18
32
|
<xsl:variable name="docidentifierISO" select="/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso'] | /iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'ISO']"/>
|
19
33
|
|
@@ -157,6 +171,7 @@
|
|
157
171
|
<contents>
|
158
172
|
<xsl:call-template name="processPrefaceSectionsDefault_Contents"/>
|
159
173
|
<xsl:call-template name="processMainSectionsDefault_Contents"/>
|
174
|
+
<xsl:apply-templates select="//iso:indexsect" mode="contents"/>
|
160
175
|
</contents>
|
161
176
|
</xsl:variable>
|
162
177
|
|
@@ -170,10 +185,11 @@
|
|
170
185
|
<xsl:if test="$lang = 'zh'">
|
171
186
|
<xsl:attribute name="font-family">Source Han Sans, Times New Roman, Cambria Math</xsl:attribute>
|
172
187
|
</xsl:if>
|
188
|
+
|
173
189
|
<fo:layout-master-set>
|
174
190
|
|
175
191
|
<!-- cover page -->
|
176
|
-
<fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
192
|
+
<fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
177
193
|
<fo:region-body margin-top="25.4mm" margin-bottom="25.4mm" margin-left="31.7mm" margin-right="31.7mm"/>
|
178
194
|
<fo:region-before region-name="cover-page-header" extent="25.4mm"/>
|
179
195
|
<fo:region-after/>
|
@@ -181,7 +197,7 @@
|
|
181
197
|
<fo:region-end region-name="cover-right-region" extent="31.7mm"/>
|
182
198
|
</fo:simple-page-master>
|
183
199
|
|
184
|
-
<fo:simple-page-master master-name="cover-page-published" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
200
|
+
<fo:simple-page-master master-name="cover-page-published" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
185
201
|
<fo:region-body margin-top="12.7mm" margin-bottom="40mm" margin-left="78mm" margin-right="18.5mm"/>
|
186
202
|
<fo:region-before region-name="cover-page-header" extent="12.7mm"/>
|
187
203
|
<fo:region-after region-name="cover-page-footer" extent="40mm" display-align="after"/>
|
@@ -190,19 +206,19 @@
|
|
190
206
|
</fo:simple-page-master>
|
191
207
|
|
192
208
|
|
193
|
-
<fo:simple-page-master master-name="cover-page-publishedISO-odd" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
194
|
-
<fo:region-body margin-top="12.7mm" margin-bottom="40mm" margin-left="
|
209
|
+
<fo:simple-page-master master-name="cover-page-publishedISO-odd" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
210
|
+
<fo:region-body margin-top="12.7mm" margin-bottom="40mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
|
195
211
|
<fo:region-before region-name="cover-page-header" extent="12.7mm"/>
|
196
212
|
<fo:region-after region-name="cover-page-footer" extent="40mm" display-align="after"/>
|
197
|
-
<fo:region-start region-name="cover-left-region" extent="
|
198
|
-
<fo:region-end region-name="cover-right-region" extent="
|
213
|
+
<fo:region-start region-name="cover-left-region" extent="{$marginLeftRight1}mm"/>
|
214
|
+
<fo:region-end region-name="cover-right-region" extent="{$marginLeftRight2}mm"/>
|
199
215
|
</fo:simple-page-master>
|
200
|
-
<fo:simple-page-master master-name="cover-page-publishedISO-even" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
201
|
-
<fo:region-body margin-top="12.7mm" margin-bottom="40mm" margin-left="
|
216
|
+
<fo:simple-page-master master-name="cover-page-publishedISO-even" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
217
|
+
<fo:region-body margin-top="12.7mm" margin-bottom="40mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm"/>
|
202
218
|
<fo:region-before region-name="cover-page-header" extent="12.7mm"/>
|
203
219
|
<fo:region-after region-name="cover-page-footer" extent="40mm" display-align="after"/>
|
204
|
-
<fo:region-start region-name="cover-left-region" extent="
|
205
|
-
<fo:region-end region-name="cover-right-region" extent="
|
220
|
+
<fo:region-start region-name="cover-left-region" extent="{$marginLeftRight2}mm"/>
|
221
|
+
<fo:region-end region-name="cover-right-region" extent="{$marginLeftRight1}mm"/>
|
206
222
|
</fo:simple-page-master>
|
207
223
|
<fo:page-sequence-master master-name="cover-page-publishedISO">
|
208
224
|
<fo:repeatable-page-master-alternatives>
|
@@ -214,7 +230,7 @@
|
|
214
230
|
|
215
231
|
<!-- contents pages -->
|
216
232
|
<!-- odd pages -->
|
217
|
-
<fo:simple-page-master master-name="odd" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
233
|
+
<fo:simple-page-master master-name="odd" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
218
234
|
<fo:region-body margin-top="27.4mm" margin-bottom="13mm" margin-left="19mm" margin-right="19mm"/>
|
219
235
|
<fo:region-before region-name="header-odd" extent="27.4mm"/> <!-- display-align="center" -->
|
220
236
|
<fo:region-after region-name="footer-odd" extent="13mm"/>
|
@@ -222,7 +238,7 @@
|
|
222
238
|
<fo:region-end region-name="right-region" extent="19mm"/>
|
223
239
|
</fo:simple-page-master>
|
224
240
|
<!-- even pages -->
|
225
|
-
<fo:simple-page-master master-name="even" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
241
|
+
<fo:simple-page-master master-name="even" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
226
242
|
<fo:region-body margin-top="27.4mm" margin-bottom="13mm" margin-left="19mm" margin-right="19mm"/>
|
227
243
|
<fo:region-before region-name="header-even" extent="27.4mm"/> <!-- display-align="center" -->
|
228
244
|
<fo:region-after region-name="footer-even" extent="13mm"/>
|
@@ -244,35 +260,35 @@
|
|
244
260
|
|
245
261
|
|
246
262
|
<!-- first page -->
|
247
|
-
<fo:simple-page-master master-name="first-publishedISO" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
248
|
-
<fo:region-body margin-top="
|
249
|
-
<fo:region-before region-name="header-first" extent="
|
250
|
-
<fo:region-after region-name="footer-odd" extent="
|
251
|
-
<fo:region-start region-name="left-region" extent="
|
252
|
-
<fo:region-end region-name="right-region" extent="
|
263
|
+
<fo:simple-page-master master-name="first-publishedISO" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
264
|
+
<fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
|
265
|
+
<fo:region-before region-name="header-first" extent="{$marginTop}mm"/> <!-- display-align="center" -->
|
266
|
+
<fo:region-after region-name="footer-odd" extent="{$marginBottom}mm"/>
|
267
|
+
<fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
|
268
|
+
<fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
|
253
269
|
</fo:simple-page-master>
|
254
270
|
<!-- odd pages -->
|
255
|
-
<fo:simple-page-master master-name="odd-publishedISO" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
256
|
-
<fo:region-body margin-top="
|
257
|
-
<fo:region-before region-name="header-odd" extent="
|
258
|
-
<fo:region-after region-name="footer-odd" extent="
|
259
|
-
<fo:region-start region-name="left-region" extent="
|
260
|
-
<fo:region-end region-name="right-region" extent="
|
271
|
+
<fo:simple-page-master master-name="odd-publishedISO" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
272
|
+
<fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
|
273
|
+
<fo:region-before region-name="header-odd" extent="{$marginTop}mm"/> <!-- display-align="center" -->
|
274
|
+
<fo:region-after region-name="footer-odd" extent="{$marginBottom}mm"/>
|
275
|
+
<fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
|
276
|
+
<fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
|
261
277
|
</fo:simple-page-master>
|
262
278
|
<!-- even pages -->
|
263
|
-
<fo:simple-page-master master-name="even-publishedISO" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
264
|
-
<fo:region-body margin-top="
|
265
|
-
<fo:region-before region-name="header-even" extent="
|
266
|
-
<fo:region-after region-name="footer-even" extent="
|
267
|
-
<fo:region-start region-name="left-region" extent="
|
268
|
-
<fo:region-end region-name="right-region" extent="
|
279
|
+
<fo:simple-page-master master-name="even-publishedISO" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
280
|
+
<fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm"/>
|
281
|
+
<fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
|
282
|
+
<fo:region-after region-name="footer-even" extent="{$marginBottom}mm"/>
|
283
|
+
<fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
|
284
|
+
<fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
|
269
285
|
</fo:simple-page-master>
|
270
|
-
<fo:simple-page-master master-name="blankpage" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
271
|
-
<fo:region-body margin-top="
|
272
|
-
<fo:region-before region-name="header" extent="
|
273
|
-
<fo:region-after region-name="footer" extent="
|
274
|
-
<fo:region-start region-name="left" extent="
|
275
|
-
<fo:region-end region-name="right" extent="
|
286
|
+
<fo:simple-page-master master-name="blankpage" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
287
|
+
<fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm"/>
|
288
|
+
<fo:region-before region-name="header" extent="{$marginTop}mm"/>
|
289
|
+
<fo:region-after region-name="footer" extent="{$marginBottom}mm"/>
|
290
|
+
<fo:region-start region-name="left" extent="{$marginLeftRight2}mm"/>
|
291
|
+
<fo:region-end region-name="right" extent="{$marginLeftRight1}mm"/>
|
276
292
|
</fo:simple-page-master>
|
277
293
|
<fo:page-sequence-master master-name="preface-publishedISO">
|
278
294
|
<fo:repeatable-page-master-alternatives>
|
@@ -291,17 +307,48 @@
|
|
291
307
|
</fo:repeatable-page-master-alternatives>
|
292
308
|
</fo:page-sequence-master>
|
293
309
|
|
294
|
-
<fo:simple-page-master master-name="last-page" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
295
|
-
<fo:region-body margin-top="
|
296
|
-
<fo:region-before region-name="header-even" extent="
|
297
|
-
<fo:region-after region-name="last-page-footer" extent="
|
298
|
-
<fo:region-start region-name="left-region" extent="
|
299
|
-
<fo:region-end region-name="right-region" extent="
|
310
|
+
<fo:simple-page-master master-name="last-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
311
|
+
<fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm"/>
|
312
|
+
<fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
|
313
|
+
<fo:region-after region-name="last-page-footer" extent="{$marginBottom}mm"/>
|
314
|
+
<fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
|
315
|
+
<fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
|
300
316
|
</fo:simple-page-master>
|
301
317
|
|
318
|
+
<!-- Index pages -->
|
319
|
+
<fo:simple-page-master master-name="index-odd" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
320
|
+
<fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm" column-count="2" column-gap="10mm"/>
|
321
|
+
<fo:region-before region-name="header-odd" extent="{$marginTop}mm"/>
|
322
|
+
<fo:region-after region-name="footer-odd" extent="{$marginBottom}mm"/>
|
323
|
+
<fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
|
324
|
+
<fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
|
325
|
+
</fo:simple-page-master>
|
326
|
+
<fo:simple-page-master master-name="index-even" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
327
|
+
<fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm" column-count="2" column-gap="10mm"/>
|
328
|
+
<fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
|
329
|
+
<fo:region-after region-name="footer-even" extent="{$marginBottom}mm"/>
|
330
|
+
<fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
|
331
|
+
<fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
|
332
|
+
</fo:simple-page-master>
|
333
|
+
<fo:page-sequence-master master-name="index">
|
334
|
+
<fo:repeatable-page-master-alternatives>
|
335
|
+
<fo:conditional-page-master-reference odd-or-even="even" master-reference="index-even"/>
|
336
|
+
<fo:conditional-page-master-reference odd-or-even="odd" master-reference="index-odd"/>
|
337
|
+
</fo:repeatable-page-master-alternatives>
|
338
|
+
</fo:page-sequence-master>
|
339
|
+
|
340
|
+
|
302
341
|
</fo:layout-master-set>
|
342
|
+
|
343
|
+
<fo:declarations>
|
344
|
+
<xsl:call-template name="addPDFUAmeta"/>
|
345
|
+
<xsl:for-each select="//*[local-name() = 'eref'][generate-id(.)=generate-id(key('attachments',@bibitemid)[1])]">
|
346
|
+
<xsl:variable name="url" select="concat('url(', ., ')')"/>
|
347
|
+
<pdf:embedded-file src="{$url}"/>
|
348
|
+
</xsl:for-each>
|
349
|
+
</fo:declarations>
|
303
350
|
|
304
|
-
|
351
|
+
|
305
352
|
|
306
353
|
<xsl:call-template name="addBookmarks">
|
307
354
|
<xsl:with-param name="contents" select="$contents"/>
|
@@ -1024,20 +1071,20 @@
|
|
1024
1071
|
<fo:block-container font-weight="bold">
|
1025
1072
|
|
1026
1073
|
<fo:block text-align-last="justify" font-size="16pt" margin-top="10pt" margin-bottom="18pt">
|
1027
|
-
<
|
1028
|
-
|
1029
|
-
|
1074
|
+
<fo:inline font-size="16pt" font-weight="bold">
|
1075
|
+
<!-- Contents -->
|
1076
|
+
<xsl:call-template name="getLocalizedString">
|
1077
|
+
<xsl:with-param name="key">table_of_contents</xsl:with-param>
|
1030
1078
|
</xsl:call-template>
|
1031
|
-
</
|
1032
|
-
<fo:inline font-size="16pt" font-weight="bold"><xsl:value-of select="$title-toc"/></fo:inline>
|
1079
|
+
</fo:inline>
|
1033
1080
|
<fo:inline keep-together.within-line="always">
|
1034
1081
|
<fo:leader leader-pattern="space"/>
|
1035
|
-
<
|
1036
|
-
|
1037
|
-
|
1038
|
-
</xsl:
|
1039
|
-
</xsl:
|
1040
|
-
|
1082
|
+
<fo:inline font-weight="normal" font-size="10pt">
|
1083
|
+
<!-- Page -->
|
1084
|
+
<xsl:call-template name="getLocalizedString">
|
1085
|
+
<xsl:with-param name="key">locality.page</xsl:with-param>
|
1086
|
+
</xsl:call-template>
|
1087
|
+
</fo:inline>
|
1041
1088
|
</fo:inline>
|
1042
1089
|
</fo:block>
|
1043
1090
|
|
@@ -1182,6 +1229,10 @@
|
|
1182
1229
|
</fo:flow>
|
1183
1230
|
</fo:page-sequence>
|
1184
1231
|
|
1232
|
+
|
1233
|
+
<!-- Index -->
|
1234
|
+
<xsl:apply-templates select="//iso:indexsect" mode="index"/>
|
1235
|
+
|
1185
1236
|
<xsl:if test="$isPublished = 'true'">
|
1186
1237
|
<fo:page-sequence master-reference="last-page" force-page-count="no-force">
|
1187
1238
|
<xsl:call-template name="insertHeaderEven"/>
|
@@ -1314,7 +1365,10 @@
|
|
1314
1365
|
</xsl:variable>
|
1315
1366
|
|
1316
1367
|
<xsl:variable name="type">
|
1317
|
-
<xsl:
|
1368
|
+
<xsl:choose>
|
1369
|
+
<xsl:when test="local-name() = 'indexsect'">index</xsl:when>
|
1370
|
+
<xsl:otherwise><xsl:value-of select="local-name()"/></xsl:otherwise>
|
1371
|
+
</xsl:choose>
|
1318
1372
|
</xsl:variable>
|
1319
1373
|
|
1320
1374
|
<xsl:variable name="display">
|
@@ -1347,10 +1401,15 @@
|
|
1347
1401
|
</xsl:variable>
|
1348
1402
|
|
1349
1403
|
<item id="{@id}" level="{$level}" section="{$section}" type="{$type}" root="{$root}" display="{$display}">
|
1404
|
+
<xsl:if test="$type = 'index'">
|
1405
|
+
<xsl:attribute name="level">1</xsl:attribute>
|
1406
|
+
</xsl:if>
|
1350
1407
|
<title>
|
1351
1408
|
<xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
|
1352
1409
|
</title>
|
1353
|
-
<xsl:
|
1410
|
+
<xsl:if test="$type != 'index'">
|
1411
|
+
<xsl:apply-templates mode="contents"/>
|
1412
|
+
</xsl:if>
|
1354
1413
|
</item>
|
1355
1414
|
</xsl:if>
|
1356
1415
|
</xsl:template>
|
@@ -1588,6 +1647,9 @@
|
|
1588
1647
|
</xsl:choose>
|
1589
1648
|
</xsl:attribute>
|
1590
1649
|
<xsl:attribute name="margin-bottom">8pt</xsl:attribute>
|
1650
|
+
<xsl:if test="@id">
|
1651
|
+
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
1652
|
+
</xsl:if>
|
1591
1653
|
<xsl:apply-templates/>
|
1592
1654
|
</xsl:element>
|
1593
1655
|
<xsl:if test="$element-name = 'fo:inline' and not($inline = 'true') and not(local-name(..) = 'admonition')">
|
@@ -1891,7 +1953,300 @@
|
|
1891
1953
|
</fo:block>
|
1892
1954
|
</xsl:template>
|
1893
1955
|
|
1956
|
+
<!-- =================== -->
|
1957
|
+
<!-- SVG images processing -->
|
1958
|
+
<!-- =================== -->
|
1959
|
+
<xsl:template match="*[local-name() = 'figure'][not(*[local-name() = 'image'])]/*[local-name() = 'svg']" priority="2">
|
1960
|
+
|
1961
|
+
<xsl:choose>
|
1962
|
+
<xsl:when test=".//*[local-name() = 'a'][*[local-name() = 'rect'] or *[local-name() = 'polygon'] or *[local-name() = 'circle'] or *[local-name() = 'ellipse']]">
|
1963
|
+
<fo:block>
|
1964
|
+
<xsl:variable name="width" select="@width"/>
|
1965
|
+
<xsl:variable name="height" select="@height"/>
|
1966
|
+
|
1967
|
+
<xsl:variable name="scale_x">
|
1968
|
+
<xsl:choose>
|
1969
|
+
<xsl:when test="$width > $width_effective_px">
|
1970
|
+
<xsl:value-of select="$width_effective_px div $width"/>
|
1971
|
+
</xsl:when>
|
1972
|
+
<xsl:otherwise>1</xsl:otherwise>
|
1973
|
+
</xsl:choose>
|
1974
|
+
</xsl:variable>
|
1975
|
+
|
1976
|
+
<xsl:variable name="scale_y">
|
1977
|
+
<xsl:choose>
|
1978
|
+
<xsl:when test="$height * $scale_x > $height_effective_px">
|
1979
|
+
<xsl:value-of select="$height_effective_px div ($height * $scale_x)"/>
|
1980
|
+
</xsl:when>
|
1981
|
+
<xsl:otherwise>1</xsl:otherwise>
|
1982
|
+
</xsl:choose>
|
1983
|
+
</xsl:variable>
|
1984
|
+
|
1985
|
+
<xsl:variable name="scale">
|
1986
|
+
<xsl:choose>
|
1987
|
+
<xsl:when test="$scale_y != 1">
|
1988
|
+
<xsl:value-of select="$scale_x * $scale_y"/>
|
1989
|
+
</xsl:when>
|
1990
|
+
<xsl:otherwise>
|
1991
|
+
<xsl:value-of select="$scale_x"/>
|
1992
|
+
</xsl:otherwise>
|
1993
|
+
</xsl:choose>
|
1994
|
+
</xsl:variable>
|
1995
|
+
|
1996
|
+
<xsl:variable name="width_scale" select="round($width * $scale)"/>
|
1997
|
+
<xsl:variable name="height_scale" select="round($height * $scale)"/>
|
1998
|
+
|
1999
|
+
<fo:table table-layout="fixed" width="100%">
|
2000
|
+
<fo:table-column column-width="proportional-column-width(1)"/>
|
2001
|
+
<fo:table-column column-width="{$width_scale}px"/>
|
2002
|
+
<fo:table-column column-width="proportional-column-width(1)"/>
|
2003
|
+
<fo:table-body>
|
2004
|
+
<fo:table-row>
|
2005
|
+
<fo:table-cell column-number="2">
|
2006
|
+
<fo:block>
|
2007
|
+
<fo:block-container width="{$width_scale}px" height="{$height_scale}px">
|
2008
|
+
<fo:block text-depth="0" line-height="0" font-size="0">
|
2009
|
+
<fo:instream-foreign-object fox:alt-text="{../*[local-name() = 'name']}">
|
2010
|
+
<xsl:attribute name="width">100%</xsl:attribute>
|
2011
|
+
<xsl:attribute name="content-height">100%</xsl:attribute>
|
2012
|
+
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
2013
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
2014
|
+
|
2015
|
+
<xsl:apply-templates select="." mode="svg_remove_a"/>
|
2016
|
+
</fo:instream-foreign-object>
|
2017
|
+
</fo:block>
|
2018
|
+
|
2019
|
+
<xsl:apply-templates select=".//*[local-name() = 'a'][*[local-name() = 'rect'] or *[local-name() = 'polygon'] or *[local-name() = 'circle'] or *[local-name() = 'ellipse']]" mode="svg_imagemap_links">
|
2020
|
+
<xsl:with-param name="scale" select="$scale"/>
|
2021
|
+
</xsl:apply-templates>
|
2022
|
+
</fo:block-container>
|
2023
|
+
</fo:block>
|
2024
|
+
</fo:table-cell>
|
2025
|
+
</fo:table-row>
|
2026
|
+
</fo:table-body>
|
2027
|
+
</fo:table>
|
2028
|
+
</fo:block>
|
2029
|
+
|
2030
|
+
</xsl:when>
|
2031
|
+
<xsl:otherwise>
|
2032
|
+
<fo:block xsl:use-attribute-sets="image-style">
|
2033
|
+
<fo:instream-foreign-object fox:alt-text="{../*[local-name() = 'name']}">
|
2034
|
+
<xsl:attribute name="width">100%</xsl:attribute>
|
2035
|
+
<xsl:attribute name="content-height">100%</xsl:attribute>
|
2036
|
+
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
2037
|
+
<!-- effective height 297 - 27.4 - 13 = 256.6 -->
|
2038
|
+
<!-- effective width 210 - 12.5 - 25 = 172.5 -->
|
2039
|
+
<!-- effective height / width = 1.48, 1.4 - with title -->
|
2040
|
+
<xsl:if test="@height > (@width * 1.4)"> <!-- for images with big height -->
|
2041
|
+
<xsl:variable name="width" select="((@width * 1.4) div @height) * 100"/>
|
2042
|
+
<xsl:attribute name="width"><xsl:value-of select="$width"/>%</xsl:attribute>
|
2043
|
+
</xsl:if>
|
2044
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
2045
|
+
<xsl:copy-of select="."/>
|
2046
|
+
</fo:instream-foreign-object>
|
2047
|
+
</fo:block>
|
2048
|
+
</xsl:otherwise>
|
2049
|
+
</xsl:choose>
|
2050
|
+
</xsl:template>
|
2051
|
+
|
2052
|
+
<xsl:template match="@*|node()" mode="svg_remove_a">
|
2053
|
+
<xsl:copy>
|
2054
|
+
<xsl:apply-templates select="@*|node()" mode="svg_remove_a"/>
|
2055
|
+
</xsl:copy>
|
2056
|
+
</xsl:template>
|
2057
|
+
|
2058
|
+
<xsl:template match="*[local-name() = 'a']" mode="svg_remove_a">
|
2059
|
+
<xsl:apply-templates mode="svg_remove_a"/>
|
2060
|
+
</xsl:template>
|
2061
|
+
|
2062
|
+
<xsl:template match="*[local-name() = 'a']" mode="svg_imagemap_links">
|
2063
|
+
<xsl:param name="scale"/>
|
2064
|
+
<xsl:variable name="dest">
|
2065
|
+
<xsl:choose>
|
2066
|
+
<xsl:when test="starts-with(@href, '#')">
|
2067
|
+
<xsl:value-of select="substring-after(@href, '#')"/>
|
2068
|
+
</xsl:when>
|
2069
|
+
<xsl:otherwise>
|
2070
|
+
<xsl:value-of select="@href"/>
|
2071
|
+
</xsl:otherwise>
|
2072
|
+
</xsl:choose>
|
2073
|
+
</xsl:variable>
|
2074
|
+
<xsl:for-each select="./*[local-name() = 'rect']">
|
2075
|
+
<xsl:call-template name="insertSVGMapLink">
|
2076
|
+
<xsl:with-param name="left" select="floor(@x * $scale)"/>
|
2077
|
+
<xsl:with-param name="top" select="floor(@y * $scale)"/>
|
2078
|
+
<xsl:with-param name="width" select="floor(@width * $scale)"/>
|
2079
|
+
<xsl:with-param name="height" select="floor(@height * $scale)"/>
|
2080
|
+
<xsl:with-param name="dest" select="$dest"/>
|
2081
|
+
</xsl:call-template>
|
2082
|
+
</xsl:for-each>
|
2083
|
+
|
2084
|
+
<xsl:for-each select="./*[local-name() = 'polygon']">
|
2085
|
+
<xsl:variable name="points">
|
2086
|
+
<xsl:call-template name="split">
|
2087
|
+
<xsl:with-param name="pText" select="@points"/>
|
2088
|
+
</xsl:call-template>
|
2089
|
+
</xsl:variable>
|
2090
|
+
<xsl:variable name="x_coords">
|
2091
|
+
<xsl:for-each select="xalan:nodeset($points)//item[position() mod 2 = 1]">
|
2092
|
+
<xsl:sort select="." data-type="number"/>
|
2093
|
+
<x><xsl:value-of select="."/></x>
|
2094
|
+
</xsl:for-each>
|
2095
|
+
</xsl:variable>
|
2096
|
+
<xsl:variable name="y_coords">
|
2097
|
+
<xsl:for-each select="xalan:nodeset($points)//item[position() mod 2 = 0]">
|
2098
|
+
<xsl:sort select="." data-type="number"/>
|
2099
|
+
<y><xsl:value-of select="."/></y>
|
2100
|
+
</xsl:for-each>
|
2101
|
+
</xsl:variable>
|
2102
|
+
<xsl:variable name="x" select="xalan:nodeset($x_coords)//x[1]"/>
|
2103
|
+
<xsl:variable name="y" select="xalan:nodeset($y_coords)//y[1]"/>
|
2104
|
+
<xsl:variable name="width" select="xalan:nodeset($x_coords)//x[last()] - $x"/>
|
2105
|
+
<xsl:variable name="height" select="xalan:nodeset($y_coords)//y[last()] - $y"/>
|
2106
|
+
<xsl:call-template name="insertSVGMapLink">
|
2107
|
+
<xsl:with-param name="left" select="floor($x * $scale)"/>
|
2108
|
+
<xsl:with-param name="top" select="floor($y * $scale)"/>
|
2109
|
+
<xsl:with-param name="width" select="floor($width * $scale)"/>
|
2110
|
+
<xsl:with-param name="height" select="floor($height * $scale)"/>
|
2111
|
+
<xsl:with-param name="dest" select="$dest"/>
|
2112
|
+
</xsl:call-template>
|
2113
|
+
</xsl:for-each>
|
2114
|
+
|
2115
|
+
<xsl:for-each select="./*[local-name() = 'circle']">
|
2116
|
+
<xsl:call-template name="insertSVGMapLink">
|
2117
|
+
<xsl:with-param name="left" select="floor((@cx - @r) * $scale)"/>
|
2118
|
+
<xsl:with-param name="top" select="floor((@cy - @r) * $scale)"/>
|
2119
|
+
<xsl:with-param name="width" select="floor(@r * 2 * $scale)"/>
|
2120
|
+
<xsl:with-param name="height" select="floor(@r * 2 * $scale)"/>
|
2121
|
+
<xsl:with-param name="dest" select="$dest"/>
|
2122
|
+
</xsl:call-template>
|
2123
|
+
</xsl:for-each>
|
2124
|
+
<xsl:for-each select="./*[local-name() = 'ellipse']">
|
2125
|
+
<xsl:call-template name="insertSVGMapLink">
|
2126
|
+
<xsl:with-param name="left" select="floor((@cx - @rx) * $scale)"/>
|
2127
|
+
<xsl:with-param name="top" select="floor((@cy - @ry) * $scale)"/>
|
2128
|
+
<xsl:with-param name="width" select="floor(@rx * 2 * $scale)"/>
|
2129
|
+
<xsl:with-param name="height" select="floor(@ry * 2 * $scale)"/>
|
2130
|
+
<xsl:with-param name="dest" select="$dest"/>
|
2131
|
+
</xsl:call-template>
|
2132
|
+
</xsl:for-each>
|
2133
|
+
</xsl:template>
|
2134
|
+
|
2135
|
+
<xsl:template name="insertSVGMapLink">
|
2136
|
+
<xsl:param name="left"/>
|
2137
|
+
<xsl:param name="top"/>
|
2138
|
+
<xsl:param name="width"/>
|
2139
|
+
<xsl:param name="height"/>
|
2140
|
+
<xsl:param name="dest"/>
|
2141
|
+
<fo:block-container position="absolute" left="{$left}px" top="{$top}px" width="{$width}px" height="{$height}px">
|
2142
|
+
<fo:block font-size="1pt">
|
2143
|
+
<fo:basic-link internal-destination="{$dest}" fox:alt-text="svg link">
|
2144
|
+
<fo:inline-container inline-progression-dimension="100%">
|
2145
|
+
<fo:block-container height="{$height - 1}px" width="100%">
|
2146
|
+
<!-- DEBUG <xsl:if test="local-name()='polygon'">
|
2147
|
+
<xsl:attribute name="background-color">magenta</xsl:attribute>
|
2148
|
+
</xsl:if> -->
|
2149
|
+
<fo:block> </fo:block></fo:block-container>
|
2150
|
+
</fo:inline-container>
|
2151
|
+
</fo:basic-link>
|
2152
|
+
</fo:block>
|
2153
|
+
</fo:block-container>
|
2154
|
+
</xsl:template>
|
2155
|
+
|
2156
|
+
<!-- =================== -->
|
2157
|
+
<!-- End SVG images processing -->
|
2158
|
+
<!-- =================== -->
|
2159
|
+
|
2160
|
+
<!-- For express listings PDF attachments -->
|
2161
|
+
<xsl:template match="*[local-name() = 'eref'][contains(., '.exp')]" priority="2">
|
2162
|
+
<fo:inline xsl:use-attribute-sets="eref-style">
|
2163
|
+
<xsl:variable name="url" select="concat('url(embedded-file:', @bibitemid, ')')"/>
|
2164
|
+
<fo:basic-link external-destination="{$url}" fox:alt-text="{@citeas}">
|
2165
|
+
<xsl:if test="normalize-space(@citeas) = ''">
|
2166
|
+
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
2167
|
+
</xsl:if>
|
2168
|
+
<xsl:apply-templates/>
|
2169
|
+
</fo:basic-link>
|
2170
|
+
</fo:inline>
|
2171
|
+
</xsl:template>
|
2172
|
+
|
1894
2173
|
|
2174
|
+
<!-- =================== -->
|
2175
|
+
<!-- Index processing -->
|
2176
|
+
<!-- =================== -->
|
2177
|
+
|
2178
|
+
<xsl:template match="iso:indexsect"/>
|
2179
|
+
<xsl:template match="iso:indexsect" mode="index">
|
2180
|
+
|
2181
|
+
<fo:page-sequence master-reference="index" force-page-count="no-force">
|
2182
|
+
<xsl:variable name="header-title">
|
2183
|
+
<xsl:choose>
|
2184
|
+
<xsl:when test="./iso:title[1]/*[local-name() = 'tab']">
|
2185
|
+
<xsl:apply-templates select="./iso:title[1]/*[local-name() = 'tab'][1]/following-sibling::node()" mode="header"/>
|
2186
|
+
</xsl:when>
|
2187
|
+
<xsl:otherwise>
|
2188
|
+
<xsl:apply-templates select="./iso:title[1]" mode="header"/>
|
2189
|
+
</xsl:otherwise>
|
2190
|
+
</xsl:choose>
|
2191
|
+
</xsl:variable>
|
2192
|
+
<xsl:call-template name="insertHeaderFooter">
|
2193
|
+
<xsl:with-param name="header-title" select="$header-title"/>
|
2194
|
+
</xsl:call-template>
|
2195
|
+
|
2196
|
+
<fo:flow flow-name="xsl-region-body">
|
2197
|
+
<fo:block id="{@id}" span="all">
|
2198
|
+
<xsl:apply-templates select="iso:title"/>
|
2199
|
+
</fo:block>
|
2200
|
+
<fo:block>
|
2201
|
+
<xsl:apply-templates select="*[not(local-name() = 'title')]"/>
|
2202
|
+
</fo:block>
|
2203
|
+
</fo:flow>
|
2204
|
+
</fo:page-sequence>
|
2205
|
+
</xsl:template>
|
2206
|
+
|
2207
|
+
<!-- <xsl:template match="iso:clause[@type = 'index']/iso:title" priority="4"> -->
|
2208
|
+
<xsl:template match="iso:indexsect/iso:title" priority="4">
|
2209
|
+
<fo:block font-size="16pt" font-weight="bold" margin-bottom="84pt">
|
2210
|
+
<!-- Index -->
|
2211
|
+
<xsl:apply-templates/>
|
2212
|
+
</fo:block>
|
2213
|
+
</xsl:template>
|
2214
|
+
|
2215
|
+
<!-- <xsl:template match="iso:clause[@type = 'index']/iso:clause/iso:title" priority="4"> -->
|
2216
|
+
<xsl:template match="iso:indexsect/iso:clause/iso:title" priority="4">
|
2217
|
+
<!-- Letter A, B, C, ... -->
|
2218
|
+
<fo:block font-size="10pt" font-weight="bold" margin-bottom="3pt" keep-with-next="always">
|
2219
|
+
<xsl:apply-templates/>
|
2220
|
+
</fo:block>
|
2221
|
+
</xsl:template>
|
2222
|
+
|
2223
|
+
<xsl:template match="iso:indexsect//iso:li/text()">
|
2224
|
+
<!-- to split by '_' and other chars -->
|
2225
|
+
<xsl:call-template name="add-zero-spaces-java"/>
|
2226
|
+
</xsl:template>
|
2227
|
+
|
2228
|
+
<xsl:template match="iso:xref" priority="2">
|
2229
|
+
<fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
|
2230
|
+
<xsl:choose>
|
2231
|
+
<xsl:when test="@pagenumber='true'">
|
2232
|
+
<fo:inline>
|
2233
|
+
<xsl:if test="@id">
|
2234
|
+
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
2235
|
+
</xsl:if>
|
2236
|
+
<fo:page-number-citation ref-id="{@target}"/>
|
2237
|
+
</fo:inline>
|
2238
|
+
</xsl:when>
|
2239
|
+
<xsl:otherwise>
|
2240
|
+
<xsl:apply-templates/>
|
2241
|
+
</xsl:otherwise>
|
2242
|
+
</xsl:choose>
|
2243
|
+
</fo:basic-link>
|
2244
|
+
</xsl:template>
|
2245
|
+
|
2246
|
+
<!-- =================== -->
|
2247
|
+
<!-- End of Index processing -->
|
2248
|
+
<!-- =================== -->
|
2249
|
+
|
1895
2250
|
|
1896
2251
|
<xsl:template name="insertHeaderFooter">
|
1897
2252
|
<xsl:param name="font-weight" select="'bold'"/>
|
@@ -2393,6 +2748,9 @@
|
|
2393
2748
|
|
2394
2749
|
|
2395
2750
|
|
2751
|
+
<xsl:attribute name="text-align">justify</xsl:attribute>
|
2752
|
+
|
2753
|
+
|
2396
2754
|
|
2397
2755
|
|
2398
2756
|
|
@@ -2534,6 +2892,7 @@
|
|
2534
2892
|
|
2535
2893
|
|
2536
2894
|
|
2895
|
+
|
2537
2896
|
</xsl:attribute-set><xsl:attribute-set name="quote-source-style">
|
2538
2897
|
|
2539
2898
|
|
@@ -2670,201 +3029,240 @@
|
|
2670
3029
|
</xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
|
2671
3030
|
<!-- <xsl:call-template name="add-zero-spaces"/> -->
|
2672
3031
|
<xsl:call-template name="add-zero-spaces-java"/>
|
2673
|
-
</xsl:template><xsl:template match="*[local-name()='table']">
|
3032
|
+
</xsl:template><xsl:template match="*[local-name()='table']" name="table">
|
2674
3033
|
|
2675
|
-
<xsl:variable name="
|
2676
|
-
<xsl:call-template name="getSimpleTable"/>
|
2677
|
-
</xsl:variable>
|
3034
|
+
<xsl:variable name="table">
|
2678
3035
|
|
2679
|
-
|
2680
|
-
|
2681
|
-
|
2682
|
-
|
2683
|
-
<!-- <xsl:if test="$namespace = 'bipm'">
|
2684
|
-
<fo:block> </fo:block>
|
2685
|
-
</xsl:if> -->
|
2686
|
-
|
2687
|
-
<!-- $namespace = 'iso' or -->
|
2688
|
-
|
2689
|
-
|
3036
|
+
<xsl:variable name="simple-table">
|
3037
|
+
<xsl:call-template name="getSimpleTable"/>
|
3038
|
+
</xsl:variable>
|
2690
3039
|
|
2691
3040
|
|
2692
|
-
|
2693
|
-
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
|
2694
|
-
|
2695
|
-
<!-- <xsl:variable name="cols-count">
|
2696
|
-
<xsl:choose>
|
2697
|
-
<xsl:when test="*[local-name()='thead']">
|
2698
|
-
<xsl:call-template name="calculate-columns-numbers">
|
2699
|
-
<xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
|
2700
|
-
</xsl:call-template>
|
2701
|
-
</xsl:when>
|
2702
|
-
<xsl:otherwise>
|
2703
|
-
<xsl:call-template name="calculate-columns-numbers">
|
2704
|
-
<xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
|
2705
|
-
</xsl:call-template>
|
2706
|
-
</xsl:otherwise>
|
2707
|
-
</xsl:choose>
|
2708
|
-
</xsl:variable> -->
|
2709
|
-
<!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
|
2710
|
-
<!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
|
2711
|
-
|
2712
|
-
|
2713
|
-
|
2714
|
-
<xsl:variable name="colwidths">
|
2715
|
-
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
|
2716
|
-
<xsl:call-template name="calculate-column-widths">
|
2717
|
-
<xsl:with-param name="cols-count" select="$cols-count"/>
|
2718
|
-
<xsl:with-param name="table" select="$simple-table"/>
|
2719
|
-
</xsl:call-template>
|
2720
|
-
</xsl:if>
|
2721
|
-
</xsl:variable>
|
2722
|
-
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
2723
|
-
|
2724
|
-
<!-- <xsl:variable name="colwidths2">
|
2725
|
-
<xsl:call-template name="calculate-column-widths">
|
2726
|
-
<xsl:with-param name="cols-count" select="$cols-count"/>
|
2727
|
-
</xsl:call-template>
|
2728
|
-
</xsl:variable> -->
|
2729
|
-
|
2730
|
-
<!-- cols-count=<xsl:copy-of select="$cols-count"/>
|
2731
|
-
colwidthsNew=<xsl:copy-of select="$colwidths"/>
|
2732
|
-
colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
|
2733
|
-
|
2734
|
-
<xsl:variable name="margin-left">
|
2735
|
-
<xsl:choose>
|
2736
|
-
<xsl:when test="sum(xalan:nodeset($colwidths)//column) > 75">15</xsl:when>
|
2737
|
-
<xsl:otherwise>0</xsl:otherwise>
|
2738
|
-
</xsl:choose>
|
2739
|
-
</xsl:variable>
|
2740
|
-
|
2741
|
-
<fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
|
2742
3041
|
|
2743
|
-
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
2744
3042
|
|
2745
3043
|
|
2746
|
-
|
2747
|
-
|
2748
|
-
|
3044
|
+
<!-- <xsl:if test="$namespace = 'bipm'">
|
3045
|
+
<fo:block> </fo:block>
|
3046
|
+
</xsl:if> -->
|
2749
3047
|
|
3048
|
+
<!-- $namespace = 'iso' or -->
|
2750
3049
|
|
2751
|
-
|
3050
|
+
|
2752
3051
|
|
3052
|
+
|
3053
|
+
|
3054
|
+
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
|
3055
|
+
|
3056
|
+
<!-- <xsl:variable name="cols-count">
|
3057
|
+
<xsl:choose>
|
3058
|
+
<xsl:when test="*[local-name()='thead']">
|
3059
|
+
<xsl:call-template name="calculate-columns-numbers">
|
3060
|
+
<xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
|
3061
|
+
</xsl:call-template>
|
3062
|
+
</xsl:when>
|
3063
|
+
<xsl:otherwise>
|
3064
|
+
<xsl:call-template name="calculate-columns-numbers">
|
3065
|
+
<xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
|
3066
|
+
</xsl:call-template>
|
3067
|
+
</xsl:otherwise>
|
3068
|
+
</xsl:choose>
|
3069
|
+
</xsl:variable> -->
|
3070
|
+
<!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
|
3071
|
+
<!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
|
2753
3072
|
|
2754
|
-
<xsl:attribute name="margin-top">12pt</xsl:attribute>
|
2755
|
-
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
2756
|
-
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
2757
|
-
<xsl:attribute name="margin-bottom">8pt</xsl:attribute>
|
2758
3073
|
|
2759
3074
|
|
3075
|
+
<xsl:variable name="colwidths">
|
3076
|
+
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
|
3077
|
+
<xsl:call-template name="calculate-column-widths">
|
3078
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
3079
|
+
<xsl:with-param name="table" select="$simple-table"/>
|
3080
|
+
</xsl:call-template>
|
3081
|
+
</xsl:if>
|
3082
|
+
</xsl:variable>
|
3083
|
+
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
2760
3084
|
|
3085
|
+
<!-- <xsl:variable name="colwidths2">
|
3086
|
+
<xsl:call-template name="calculate-column-widths">
|
3087
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
3088
|
+
</xsl:call-template>
|
3089
|
+
</xsl:variable> -->
|
2761
3090
|
|
3091
|
+
<!-- cols-count=<xsl:copy-of select="$cols-count"/>
|
3092
|
+
colwidthsNew=<xsl:copy-of select="$colwidths"/>
|
3093
|
+
colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
|
2762
3094
|
|
3095
|
+
<xsl:variable name="margin-left">
|
3096
|
+
<xsl:choose>
|
3097
|
+
<xsl:when test="sum(xalan:nodeset($colwidths)//column) > 75">15</xsl:when>
|
3098
|
+
<xsl:otherwise>0</xsl:otherwise>
|
3099
|
+
</xsl:choose>
|
3100
|
+
</xsl:variable>
|
2763
3101
|
|
2764
|
-
<
|
2765
|
-
|
2766
|
-
|
2767
|
-
<attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
|
2768
|
-
<attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
|
3102
|
+
<fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
|
3103
|
+
|
3104
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
2769
3105
|
|
2770
|
-
<attribute name="border">1.5pt solid black</attribute>
|
2771
|
-
<xsl:if test="*[local-name()='thead']">
|
2772
|
-
<attribute name="border-top">1pt solid black</attribute>
|
2773
|
-
</xsl:if>
|
2774
3106
|
|
3107
|
+
|
3108
|
+
|
3109
|
+
|
2775
3110
|
|
2776
3111
|
|
3112
|
+
|
2777
3113
|
|
2778
|
-
<attribute name="margin-left">0mm</attribute>
|
2779
|
-
<attribute name="margin-right">0mm</attribute>
|
2780
3114
|
|
2781
|
-
|
2782
|
-
|
2783
|
-
|
3115
|
+
<xsl:attribute name="margin-top">12pt</xsl:attribute>
|
3116
|
+
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
3117
|
+
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
3118
|
+
<xsl:attribute name="margin-bottom">8pt</xsl:attribute>
|
3119
|
+
|
3120
|
+
|
3121
|
+
|
3122
|
+
|
3123
|
+
|
3124
|
+
<xsl:variable name="table_width">
|
3125
|
+
<!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
|
3126
|
+
100%
|
3127
|
+
|
3128
|
+
|
3129
|
+
</xsl:variable>
|
3130
|
+
|
3131
|
+
<xsl:variable name="table_attributes">
|
3132
|
+
<attribute name="table-layout">fixed</attribute>
|
3133
|
+
<attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
|
3134
|
+
<attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
|
3135
|
+
<attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
|
3136
|
+
|
3137
|
+
<attribute name="border">1.5pt solid black</attribute>
|
3138
|
+
<xsl:if test="*[local-name()='thead']">
|
3139
|
+
<attribute name="border-top">1pt solid black</attribute>
|
3140
|
+
</xsl:if>
|
3141
|
+
|
3142
|
+
|
3143
|
+
|
3144
|
+
|
3145
|
+
<attribute name="margin-left">0mm</attribute>
|
3146
|
+
<attribute name="margin-right">0mm</attribute>
|
3147
|
+
|
3148
|
+
|
3149
|
+
|
3150
|
+
|
3151
|
+
|
3152
|
+
|
3153
|
+
|
3154
|
+
</xsl:variable>
|
3155
|
+
|
3156
|
+
|
3157
|
+
<fo:table id="{@id}" table-omit-footer-at-break="true">
|
3158
|
+
|
3159
|
+
<xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
|
3160
|
+
<xsl:attribute name="{@name}">
|
3161
|
+
<xsl:value-of select="."/>
|
3162
|
+
</xsl:attribute>
|
3163
|
+
</xsl:for-each>
|
3164
|
+
|
3165
|
+
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
|
3166
|
+
<xsl:if test="$isNoteOrFnExist = 'true'">
|
3167
|
+
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
|
3168
|
+
</xsl:if>
|
3169
|
+
|
3170
|
+
<xsl:choose>
|
3171
|
+
<xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
|
3172
|
+
<xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
|
3173
|
+
<fo:table-column column-width="{@width}"/>
|
3174
|
+
</xsl:for-each>
|
3175
|
+
</xsl:when>
|
3176
|
+
<xsl:otherwise>
|
3177
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
3178
|
+
<xsl:choose>
|
3179
|
+
<xsl:when test=". = 1 or . = 0">
|
3180
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
3181
|
+
</xsl:when>
|
3182
|
+
<xsl:otherwise>
|
3183
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
3184
|
+
</xsl:otherwise>
|
3185
|
+
</xsl:choose>
|
3186
|
+
</xsl:for-each>
|
3187
|
+
</xsl:otherwise>
|
3188
|
+
</xsl:choose>
|
3189
|
+
|
3190
|
+
<xsl:choose>
|
3191
|
+
<xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
|
3192
|
+
<xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
|
3193
|
+
</xsl:when>
|
3194
|
+
<xsl:otherwise>
|
3195
|
+
<xsl:apply-templates/>
|
3196
|
+
</xsl:otherwise>
|
3197
|
+
</xsl:choose>
|
3198
|
+
|
3199
|
+
</fo:table>
|
3200
|
+
|
3201
|
+
<xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
|
3202
|
+
<xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
|
3203
|
+
<xsl:call-template name="insertTableFooterInSeparateTable">
|
3204
|
+
<xsl:with-param name="table_attributes" select="$table_attributes"/>
|
3205
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
3206
|
+
<xsl:with-param name="colgroup" select="$colgroup"/>
|
3207
|
+
</xsl:call-template>
|
3208
|
+
</xsl:for-each>
|
3209
|
+
|
3210
|
+
<!-- insert footer as table -->
|
3211
|
+
<!-- <fo:table>
|
3212
|
+
<xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
|
3213
|
+
<xsl:attribute name="{@name}">
|
3214
|
+
<xsl:value-of select="."/>
|
3215
|
+
</xsl:attribute>
|
3216
|
+
</xsl:for-each>
|
3217
|
+
|
3218
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
3219
|
+
<xsl:choose>
|
3220
|
+
<xsl:when test=". = 1 or . = 0">
|
3221
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
3222
|
+
</xsl:when>
|
3223
|
+
<xsl:otherwise>
|
3224
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
3225
|
+
</xsl:otherwise>
|
3226
|
+
</xsl:choose>
|
3227
|
+
</xsl:for-each>
|
3228
|
+
</fo:table>-->
|
2784
3229
|
|
2785
|
-
|
2786
3230
|
|
2787
|
-
</xsl:variable>
|
2788
|
-
|
2789
|
-
|
2790
|
-
<fo:table id="{@id}" table-omit-footer-at-break="true">
|
2791
3231
|
|
2792
|
-
<xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
|
2793
|
-
<xsl:attribute name="{@name}">
|
2794
|
-
<xsl:value-of select="."/>
|
2795
|
-
</xsl:attribute>
|
2796
|
-
</xsl:for-each>
|
2797
3232
|
|
2798
|
-
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
|
2799
|
-
<xsl:if test="$isNoteOrFnExist = 'true'">
|
2800
|
-
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
|
2801
|
-
</xsl:if>
|
2802
3233
|
|
2803
|
-
|
2804
|
-
|
2805
|
-
|
2806
|
-
|
2807
|
-
|
2808
|
-
|
2809
|
-
|
2810
|
-
|
2811
|
-
|
2812
|
-
<xsl:when test=". = 1 or . = 0">
|
2813
|
-
<fo:table-column column-width="proportional-column-width(2)"/>
|
2814
|
-
</xsl:when>
|
2815
|
-
<xsl:otherwise>
|
2816
|
-
<fo:table-column column-width="proportional-column-width({.})"/>
|
2817
|
-
</xsl:otherwise>
|
2818
|
-
</xsl:choose>
|
2819
|
-
</xsl:for-each>
|
2820
|
-
</xsl:otherwise>
|
2821
|
-
</xsl:choose>
|
3234
|
+
</fo:block-container>
|
3235
|
+
</xsl:variable>
|
3236
|
+
|
3237
|
+
|
3238
|
+
|
3239
|
+
<xsl:choose>
|
3240
|
+
<xsl:when test="@width">
|
3241
|
+
|
3242
|
+
<!-- centered table when table name is centered (see table-name-style) -->
|
2822
3243
|
|
2823
|
-
|
2824
|
-
|
2825
|
-
<
|
2826
|
-
|
2827
|
-
|
2828
|
-
|
2829
|
-
|
2830
|
-
|
3244
|
+
<fo:table table-layout="fixed" width="100%">
|
3245
|
+
<fo:table-column column-width="proportional-column-width(1)"/>
|
3246
|
+
<fo:table-column column-width="{@width}"/>
|
3247
|
+
<fo:table-column column-width="proportional-column-width(1)"/>
|
3248
|
+
<fo:table-body>
|
3249
|
+
<fo:table-row>
|
3250
|
+
<fo:table-cell column-number="2">
|
3251
|
+
<fo:block><xsl:copy-of select="$table"/></fo:block>
|
3252
|
+
</fo:table-cell>
|
3253
|
+
</fo:table-row>
|
3254
|
+
</fo:table-body>
|
3255
|
+
</fo:table>
|
2831
3256
|
|
2832
|
-
</fo:table>
|
2833
|
-
|
2834
|
-
<xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
|
2835
|
-
<xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
|
2836
|
-
<xsl:call-template name="insertTableFooterInSeparateTable">
|
2837
|
-
<xsl:with-param name="table_attributes" select="$table_attributes"/>
|
2838
|
-
<xsl:with-param name="colwidths" select="$colwidths"/>
|
2839
|
-
<xsl:with-param name="colgroup" select="$colgroup"/>
|
2840
|
-
</xsl:call-template>
|
2841
|
-
</xsl:for-each>
|
2842
|
-
|
2843
|
-
<!-- insert footer as table -->
|
2844
|
-
<!-- <fo:table>
|
2845
|
-
<xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
|
2846
|
-
<xsl:attribute name="{@name}">
|
2847
|
-
<xsl:value-of select="."/>
|
2848
|
-
</xsl:attribute>
|
2849
|
-
</xsl:for-each>
|
2850
3257
|
|
2851
|
-
|
2852
|
-
|
2853
|
-
|
2854
|
-
|
2855
|
-
|
2856
|
-
|
2857
|
-
|
2858
|
-
|
2859
|
-
</xsl:choose>
|
2860
|
-
</xsl:for-each>
|
2861
|
-
</fo:table>-->
|
2862
|
-
|
2863
|
-
|
2864
|
-
|
2865
|
-
|
2866
|
-
|
2867
|
-
</fo:block-container>
|
3258
|
+
|
3259
|
+
|
3260
|
+
</xsl:when>
|
3261
|
+
<xsl:otherwise>
|
3262
|
+
<xsl:copy-of select="$table"/>
|
3263
|
+
</xsl:otherwise>
|
3264
|
+
</xsl:choose>
|
3265
|
+
|
2868
3266
|
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
|
2869
3267
|
<xsl:if test="normalize-space() != ''">
|
2870
3268
|
<fo:block xsl:use-attribute-sets="table-name-style">
|
@@ -2994,7 +3392,15 @@
|
|
2994
3392
|
</xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
|
2995
3393
|
<xsl:value-of select="@target"/>
|
2996
3394
|
</xsl:template><xsl:template match="*[local-name()='math']" mode="td_text">
|
2997
|
-
<xsl:variable name="
|
3395
|
+
<xsl:variable name="mathml">
|
3396
|
+
<xsl:for-each select="*">
|
3397
|
+
<xsl:if test="local-name() != 'unit' and local-name() != 'prefix' and local-name() != 'dimension' and local-name() != 'quantity'">
|
3398
|
+
<xsl:copy-of select="."/>
|
3399
|
+
</xsl:if>
|
3400
|
+
</xsl:for-each>
|
3401
|
+
</xsl:variable>
|
3402
|
+
|
3403
|
+
<xsl:variable name="math_text" select="normalize-space(xalan:nodeset($mathml))"/>
|
2998
3404
|
<xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
|
2999
3405
|
</xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
|
3000
3406
|
<xsl:param name="cols-count"/>
|
@@ -3771,7 +4177,7 @@
|
|
3771
4177
|
<xsl:with-param name="table" select="$html-table"/>
|
3772
4178
|
</xsl:call-template>
|
3773
4179
|
</xsl:variable>
|
3774
|
-
<!-- colwidths=<xsl:
|
4180
|
+
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
3775
4181
|
<xsl:variable name="maxlength_dt">
|
3776
4182
|
<xsl:call-template name="getMaxLength_dt"/>
|
3777
4183
|
</xsl:variable>
|
@@ -3800,13 +4206,22 @@
|
|
3800
4206
|
</xsl:when>
|
3801
4207
|
<xsl:otherwise>
|
3802
4208
|
<xsl:choose>
|
4209
|
+
<!-- to set width check most wide chars like `W` -->
|
3803
4210
|
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 2"> <!-- if dt contains short text like t90, a, etc -->
|
3804
|
-
<fo:table-column column-width="
|
3805
|
-
<fo:table-column column-width="
|
4211
|
+
<fo:table-column column-width="7%"/>
|
4212
|
+
<fo:table-column column-width="93%"/>
|
4213
|
+
</xsl:when>
|
4214
|
+
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 5"> <!-- if dt contains short text like ABC, etc -->
|
4215
|
+
<fo:table-column column-width="15%"/>
|
4216
|
+
<fo:table-column column-width="85%"/>
|
4217
|
+
</xsl:when>
|
4218
|
+
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 7"> <!-- if dt contains short text like ABCDEF, etc -->
|
4219
|
+
<fo:table-column column-width="20%"/>
|
4220
|
+
<fo:table-column column-width="80%"/>
|
3806
4221
|
</xsl:when>
|
3807
|
-
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <=
|
3808
|
-
<fo:table-column column-width="
|
3809
|
-
<fo:table-column column-width="
|
4222
|
+
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 10"> <!-- if dt contains short text like ABCDEFEF, etc -->
|
4223
|
+
<fo:table-column column-width="25%"/>
|
4224
|
+
<fo:table-column column-width="75%"/>
|
3810
4225
|
</xsl:when>
|
3811
4226
|
<!-- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] > 1.7">
|
3812
4227
|
<fo:table-column column-width="60%"/>
|
@@ -4004,6 +4419,7 @@
|
|
4004
4419
|
|
4005
4420
|
|
4006
4421
|
|
4422
|
+
|
4007
4423
|
|
4008
4424
|
</xsl:variable>
|
4009
4425
|
<xsl:variable name="font-size" select="normalize-space($_font-size)"/>
|
@@ -4017,10 +4433,18 @@
|
|
4017
4433
|
</xsl:if>
|
4018
4434
|
<xsl:apply-templates/>
|
4019
4435
|
</fo:inline>
|
4436
|
+
</xsl:template><xsl:template match="*[local-name()='underline']">
|
4437
|
+
<fo:inline text-decoration="underline">
|
4438
|
+
<xsl:apply-templates/>
|
4439
|
+
</fo:inline>
|
4020
4440
|
</xsl:template><xsl:template match="*[local-name()='del']">
|
4021
4441
|
<fo:inline font-size="10pt" color="red" text-decoration="line-through">
|
4022
4442
|
<xsl:apply-templates/>
|
4023
4443
|
</fo:inline>
|
4444
|
+
</xsl:template><xsl:template match="*[local-name()='hi']">
|
4445
|
+
<fo:inline background-color="yellow">
|
4446
|
+
<xsl:apply-templates/>
|
4447
|
+
</fo:inline>
|
4024
4448
|
</xsl:template><xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
|
4025
4449
|
<xsl:variable name="text" select="normalize-space(.)"/>
|
4026
4450
|
<fo:inline font-size="75%">
|
@@ -4110,6 +4534,10 @@
|
|
4110
4534
|
<xsl:param name="text" select="."/>
|
4111
4535
|
<!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
|
4112
4536
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| )','$1')"/>
|
4537
|
+
</xsl:template><xsl:template name="add-zero-spaces-link-java">
|
4538
|
+
<xsl:param name="text" select="."/>
|
4539
|
+
<!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
|
4540
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| |,)','$1')"/>
|
4113
4541
|
</xsl:template><xsl:template name="add-zero-spaces">
|
4114
4542
|
<xsl:param name="text" select="."/>
|
4115
4543
|
<xsl:variable name="zero-space-after-chars">-</xsl:variable>
|
@@ -4357,6 +4785,7 @@
|
|
4357
4785
|
<xsl:apply-templates select="." mode="mathml"/>
|
4358
4786
|
</xsl:variable>
|
4359
4787
|
<fo:instream-foreign-object fox:alt-text="Math">
|
4788
|
+
|
4360
4789
|
<!-- <xsl:copy-of select="."/> -->
|
4361
4790
|
<xsl:copy-of select="xalan:nodeset($mathml)"/>
|
4362
4791
|
</fo:instream-foreign-object>
|
@@ -4370,7 +4799,12 @@
|
|
4370
4799
|
<!-- replace start and end spaces to non-break space -->
|
4371
4800
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
|
4372
4801
|
</xsl:copy>
|
4373
|
-
</xsl:template><xsl:template match="
|
4802
|
+
</xsl:template><xsl:template match="mathml:mi[. = ',' and not(following-sibling::*[1][local-name() = 'mtext' and text() = ' '])]" mode="mathml">
|
4803
|
+
<xsl:copy>
|
4804
|
+
<xsl:apply-templates select="@*|node()" mode="mathml"/>
|
4805
|
+
</xsl:copy>
|
4806
|
+
<mathml:mspace width="0.5ex"/>
|
4807
|
+
</xsl:template><xsl:template match="mathml:math/*[local-name()='unit']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='prefix']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='dimension']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='quantity']" mode="mathml"/><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
|
4374
4808
|
<xsl:variable name="target">
|
4375
4809
|
<xsl:choose>
|
4376
4810
|
<xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
|
@@ -4391,7 +4825,10 @@
|
|
4391
4825
|
<fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
|
4392
4826
|
<xsl:choose>
|
4393
4827
|
<xsl:when test="normalize-space(.) = ''">
|
4394
|
-
<xsl:value-of select="$target"/>
|
4828
|
+
<!-- <xsl:value-of select="$target"/> -->
|
4829
|
+
<xsl:call-template name="add-zero-spaces-link-java">
|
4830
|
+
<xsl:with-param name="text" select="$target"/>
|
4831
|
+
</xsl:call-template>
|
4395
4832
|
</xsl:when>
|
4396
4833
|
<xsl:otherwise>
|
4397
4834
|
<xsl:apply-templates/>
|
@@ -4401,8 +4838,6 @@
|
|
4401
4838
|
</xsl:otherwise>
|
4402
4839
|
</xsl:choose>
|
4403
4840
|
</fo:inline>
|
4404
|
-
</xsl:template><xsl:template match="*[local-name()='bookmark']">
|
4405
|
-
<fo:inline id="{@id}"/>
|
4406
4841
|
</xsl:template><xsl:template match="*[local-name()='appendix']">
|
4407
4842
|
<fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
|
4408
4843
|
<xsl:apply-templates select="*[local-name()='title']" mode="process"/>
|
@@ -4595,7 +5030,7 @@
|
|
4595
5030
|
</xsl:if> -->
|
4596
5031
|
</fo:inline>
|
4597
5032
|
</xsl:if>
|
4598
|
-
</xsl:template><xsl:template match="*[local-name() = 'figure']">
|
5033
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
|
4599
5034
|
<fo:block-container id="{@id}">
|
4600
5035
|
|
4601
5036
|
<fo:block>
|
@@ -4611,6 +5046,7 @@
|
|
4611
5046
|
<fo:block id="{@id}">
|
4612
5047
|
<xsl:apply-templates/>
|
4613
5048
|
</fo:block>
|
5049
|
+
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
4614
5050
|
</xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
|
4615
5051
|
<fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
|
4616
5052
|
<xsl:apply-templates/>
|
@@ -4802,6 +5238,12 @@
|
|
4802
5238
|
<!-- <xsl:text> </xsl:text> -->
|
4803
5239
|
</xsl:template><xsl:template name="getSection">
|
4804
5240
|
<xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
|
5241
|
+
<!--
|
5242
|
+
<xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
|
5243
|
+
<xsl:value-of select="."/>
|
5244
|
+
</xsl:for-each>
|
5245
|
+
-->
|
5246
|
+
|
4805
5247
|
</xsl:template><xsl:template name="getName">
|
4806
5248
|
<xsl:choose>
|
4807
5249
|
<xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
|
@@ -4854,6 +5296,12 @@
|
|
4854
5296
|
<xsl:copy>
|
4855
5297
|
<xsl:apply-templates mode="contents_item"/>
|
4856
5298
|
</xsl:copy>
|
5299
|
+
</xsl:template><xsl:template match="*[local-name() = 'em']" mode="contents_item">
|
5300
|
+
<xsl:copy>
|
5301
|
+
<xsl:apply-templates mode="contents_item"/>
|
5302
|
+
</xsl:copy>
|
5303
|
+
</xsl:template><xsl:template match="*[local-name() = 'stem']" mode="contents_item">
|
5304
|
+
<xsl:copy-of select="."/>
|
4857
5305
|
</xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
|
4858
5306
|
<xsl:text> </xsl:text>
|
4859
5307
|
</xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
@@ -4879,6 +5327,7 @@
|
|
4879
5327
|
|
4880
5328
|
9
|
4881
5329
|
|
5330
|
+
|
4882
5331
|
|
4883
5332
|
|
4884
5333
|
|
@@ -5137,8 +5586,8 @@
|
|
5137
5586
|
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
5138
5587
|
|
5139
5588
|
<xsl:variable name="element">
|
5140
|
-
|
5141
|
-
|
5589
|
+
|
5590
|
+
inline
|
5142
5591
|
<xsl:if test=".//*[local-name() = 'table']">block</xsl:if>
|
5143
5592
|
</xsl:variable>
|
5144
5593
|
|
@@ -5181,9 +5630,15 @@
|
|
5181
5630
|
</xsl:choose>
|
5182
5631
|
|
5183
5632
|
</xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
|
5184
|
-
|
5633
|
+
<xsl:variable name="num"><xsl:number/></xsl:variable>
|
5185
5634
|
<xsl:variable name="element">
|
5186
|
-
|
5635
|
+
|
5636
|
+
|
5637
|
+
<xsl:choose>
|
5638
|
+
<xsl:when test="$num = 1">inline</xsl:when>
|
5639
|
+
<xsl:otherwise>block</xsl:otherwise>
|
5640
|
+
</xsl:choose>
|
5641
|
+
|
5187
5642
|
|
5188
5643
|
</xsl:variable>
|
5189
5644
|
<xsl:choose>
|
@@ -5259,11 +5714,13 @@
|
|
5259
5714
|
</xsl:if>
|
5260
5715
|
</xsl:if>
|
5261
5716
|
|
5717
|
+
|
5262
5718
|
<fo:block-container margin-left="0mm">
|
5263
5719
|
|
5264
5720
|
<fo:block xsl:use-attribute-sets="quote-style">
|
5265
5721
|
<!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
|
5266
|
-
|
5722
|
+
|
5723
|
+
<xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
|
5267
5724
|
</fo:block>
|
5268
5725
|
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
|
5269
5726
|
<fo:block xsl:use-attribute-sets="quote-source-style">
|
@@ -5286,29 +5743,47 @@
|
|
5286
5743
|
<xsl:text>— </xsl:text>
|
5287
5744
|
<xsl:apply-templates/>
|
5288
5745
|
</xsl:template><xsl:template match="*[local-name() = 'eref']">
|
5289
|
-
|
5290
|
-
|
5291
|
-
|
5292
|
-
|
5293
|
-
|
5294
|
-
|
5295
|
-
|
5296
|
-
|
5297
|
-
|
5298
|
-
|
5299
|
-
|
5300
|
-
|
5301
|
-
|
5302
|
-
|
5303
|
-
|
5304
|
-
|
5305
|
-
|
5306
|
-
|
5307
|
-
|
5308
|
-
|
5309
|
-
|
5310
|
-
|
5311
|
-
|
5746
|
+
|
5747
|
+
<xsl:variable name="bibitemid">
|
5748
|
+
<xsl:choose>
|
5749
|
+
<xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"/>
|
5750
|
+
<xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
|
5751
|
+
<xsl:otherwise><xsl:value-of select="@bibitemid"/></xsl:otherwise>
|
5752
|
+
</xsl:choose>
|
5753
|
+
</xsl:variable>
|
5754
|
+
|
5755
|
+
<xsl:choose>
|
5756
|
+
<xsl:when test="normalize-space($bibitemid) != ''">
|
5757
|
+
<fo:inline xsl:use-attribute-sets="eref-style">
|
5758
|
+
<xsl:if test="@type = 'footnote'">
|
5759
|
+
|
5760
|
+
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
5761
|
+
<xsl:attribute name="font-size">80%</xsl:attribute>
|
5762
|
+
<xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
|
5763
|
+
<xsl:attribute name="vertical-align">super</xsl:attribute>
|
5764
|
+
|
5765
|
+
|
5766
|
+
</xsl:if>
|
5767
|
+
|
5768
|
+
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
5769
|
+
<xsl:if test="normalize-space(@citeas) = ''">
|
5770
|
+
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
5771
|
+
</xsl:if>
|
5772
|
+
<xsl:if test="@type = 'inline'">
|
5773
|
+
|
5774
|
+
|
5775
|
+
|
5776
|
+
</xsl:if>
|
5777
|
+
|
5778
|
+
<xsl:apply-templates/>
|
5779
|
+
</fo:basic-link>
|
5780
|
+
|
5781
|
+
</fo:inline>
|
5782
|
+
</xsl:when>
|
5783
|
+
<xsl:otherwise>
|
5784
|
+
<fo:inline><xsl:apply-templates/></fo:inline>
|
5785
|
+
</xsl:otherwise>
|
5786
|
+
</xsl:choose>
|
5312
5787
|
</xsl:template><xsl:template match="*[local-name() = 'tab']">
|
5313
5788
|
<!-- zero-space char -->
|
5314
5789
|
<xsl:variable name="depth">
|
@@ -5419,6 +5894,7 @@
|
|
5419
5894
|
<xsl:attribute name="space-before">18pt</xsl:attribute>
|
5420
5895
|
</xsl:if>
|
5421
5896
|
|
5897
|
+
|
5422
5898
|
|
5423
5899
|
|
5424
5900
|
|
@@ -5430,7 +5906,7 @@
|
|
5430
5906
|
|
5431
5907
|
|
5432
5908
|
|
5433
|
-
</xsl:template><xsl:template match="
|
5909
|
+
</xsl:template><xsl:template match="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
|
5434
5910
|
<fo:block break-after="page"/>
|
5435
5911
|
<fo:block>
|
5436
5912
|
<xsl:call-template name="setId"/>
|
@@ -5438,7 +5914,8 @@
|
|
5438
5914
|
</fo:block>
|
5439
5915
|
</xsl:template><xsl:template match="*[local-name() = 'clause']">
|
5440
5916
|
<fo:block>
|
5441
|
-
<xsl:call-template name="setId"/>
|
5917
|
+
<xsl:call-template name="setId"/>
|
5918
|
+
|
5442
5919
|
|
5443
5920
|
<xsl:apply-templates/>
|
5444
5921
|
</fo:block>
|
@@ -5489,6 +5966,153 @@
|
|
5489
5966
|
</fo:block>
|
5490
5967
|
</xsl:otherwise>
|
5491
5968
|
</xsl:choose>
|
5969
|
+
</xsl:template><xsl:variable name="index" select="document($external_index)"/><xsl:variable name="dash" select="'–'"/><xsl:variable name="bookmark_in_fn">
|
5970
|
+
<xsl:for-each select="//*[local-name() = 'bookmark'][ancestor::*[local-name() = 'fn']]">
|
5971
|
+
<bookmark><xsl:value-of select="@id"/></bookmark>
|
5972
|
+
</xsl:for-each>
|
5973
|
+
</xsl:variable><xsl:template match="@*|node()" mode="index_add_id">
|
5974
|
+
<xsl:copy>
|
5975
|
+
<xsl:apply-templates select="@*|node()" mode="index_add_id"/>
|
5976
|
+
</xsl:copy>
|
5977
|
+
</xsl:template><xsl:template match="*[local-name() = 'xref']" mode="index_add_id">
|
5978
|
+
<xsl:variable name="id">
|
5979
|
+
<xsl:call-template name="generateIndexXrefId"/>
|
5980
|
+
</xsl:variable>
|
5981
|
+
<xsl:copy> <!-- add id to xref -->
|
5982
|
+
<xsl:apply-templates select="@*" mode="index_add_id"/>
|
5983
|
+
<xsl:attribute name="id">
|
5984
|
+
<xsl:value-of select="$id"/>
|
5985
|
+
</xsl:attribute>
|
5986
|
+
<xsl:apply-templates mode="index_add_id"/>
|
5987
|
+
</xsl:copy>
|
5988
|
+
<!-- split <xref target="bm1" to="End" pagenumber="true"> to two xref:
|
5989
|
+
<xref target="bm1" pagenumber="true"> and <xref target="End" pagenumber="true"> -->
|
5990
|
+
<xsl:if test="@to">
|
5991
|
+
<xsl:value-of select="$dash"/>
|
5992
|
+
<xsl:copy>
|
5993
|
+
<xsl:copy-of select="@*"/>
|
5994
|
+
<xsl:attribute name="target"><xsl:value-of select="@to"/></xsl:attribute>
|
5995
|
+
<xsl:attribute name="id">
|
5996
|
+
<xsl:value-of select="$id"/><xsl:text>_to</xsl:text>
|
5997
|
+
</xsl:attribute>
|
5998
|
+
<xsl:apply-templates mode="index_add_id"/>
|
5999
|
+
</xsl:copy>
|
6000
|
+
</xsl:if>
|
6001
|
+
</xsl:template><xsl:template match="@*|node()" mode="index_update">
|
6002
|
+
<xsl:copy>
|
6003
|
+
<xsl:apply-templates select="@*|node()" mode="index_update"/>
|
6004
|
+
</xsl:copy>
|
6005
|
+
</xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']" mode="index_update">
|
6006
|
+
<xsl:copy>
|
6007
|
+
<xsl:apply-templates select="@*" mode="index_update"/>
|
6008
|
+
<xsl:apply-templates select="node()[1]" mode="process_li_element"/>
|
6009
|
+
</xsl:copy>
|
6010
|
+
</xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']/node()" mode="process_li_element" priority="2">
|
6011
|
+
<xsl:param name="element"/>
|
6012
|
+
<xsl:param name="remove" select="'false'"/>
|
6013
|
+
<xsl:param name="target"/>
|
6014
|
+
<!-- <node></node> -->
|
6015
|
+
<xsl:choose>
|
6016
|
+
<xsl:when test="self::text() and (normalize-space(.) = ',' or normalize-space(.) = $dash) and $remove = 'true'">
|
6017
|
+
<!-- skip text (i.e. remove it) and process next element -->
|
6018
|
+
<!-- [removed_<xsl:value-of select="."/>] -->
|
6019
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
|
6020
|
+
<xsl:with-param name="target"><xsl:value-of select="$target"/></xsl:with-param>
|
6021
|
+
</xsl:apply-templates>
|
6022
|
+
</xsl:when>
|
6023
|
+
<xsl:when test="self::text()">
|
6024
|
+
<xsl:value-of select="."/>
|
6025
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
|
6026
|
+
</xsl:when>
|
6027
|
+
<xsl:when test="self::* and local-name(.) = 'xref'">
|
6028
|
+
<xsl:variable name="id" select="@id"/>
|
6029
|
+
<xsl:variable name="page" select="$index//item[@id = $id]"/>
|
6030
|
+
<xsl:variable name="id_next" select="following-sibling::*[local-name() = 'xref'][1]/@id"/>
|
6031
|
+
<xsl:variable name="page_next" select="$index//item[@id = $id_next]"/>
|
6032
|
+
|
6033
|
+
<xsl:variable name="id_prev" select="preceding-sibling::*[local-name() = 'xref'][1]/@id"/>
|
6034
|
+
<xsl:variable name="page_prev" select="$index//item[@id = $id_prev]"/>
|
6035
|
+
|
6036
|
+
<xsl:choose>
|
6037
|
+
<!-- 2nd pass -->
|
6038
|
+
<!-- if page is equal to page for next and page is not the end of range -->
|
6039
|
+
<xsl:when test="$page != '' and $page_next != '' and $page = $page_next and not(contains($page, '_to'))"> <!-- case: 12, 12-14 -->
|
6040
|
+
<!-- skip element (i.e. remove it) and remove next text ',' -->
|
6041
|
+
<!-- [removed_xref] -->
|
6042
|
+
|
6043
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
|
6044
|
+
<xsl:with-param name="remove">true</xsl:with-param>
|
6045
|
+
<xsl:with-param name="target">
|
6046
|
+
<xsl:choose>
|
6047
|
+
<xsl:when test="$target != ''"><xsl:value-of select="$target"/></xsl:when>
|
6048
|
+
<xsl:otherwise><xsl:value-of select="@target"/></xsl:otherwise>
|
6049
|
+
</xsl:choose>
|
6050
|
+
</xsl:with-param>
|
6051
|
+
</xsl:apply-templates>
|
6052
|
+
</xsl:when>
|
6053
|
+
|
6054
|
+
<xsl:when test="$page != '' and $page_prev != '' and $page = $page_prev and contains($page_prev, '_to')"> <!-- case: 12-14, 14, ... -->
|
6055
|
+
<!-- remove xref -->
|
6056
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
|
6057
|
+
<xsl:with-param name="remove">true</xsl:with-param>
|
6058
|
+
</xsl:apply-templates>
|
6059
|
+
</xsl:when>
|
6060
|
+
|
6061
|
+
<xsl:otherwise>
|
6062
|
+
<xsl:apply-templates select="." mode="xref_copy">
|
6063
|
+
<xsl:with-param name="target" select="$target"/>
|
6064
|
+
</xsl:apply-templates>
|
6065
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
|
6066
|
+
</xsl:otherwise>
|
6067
|
+
</xsl:choose>
|
6068
|
+
</xsl:when>
|
6069
|
+
<xsl:when test="self::* and local-name(.) = 'ul'">
|
6070
|
+
<!-- ul -->
|
6071
|
+
<xsl:apply-templates select="." mode="index_update"/>
|
6072
|
+
</xsl:when>
|
6073
|
+
<xsl:otherwise>
|
6074
|
+
<xsl:apply-templates select="." mode="xref_copy">
|
6075
|
+
<xsl:with-param name="target" select="$target"/>
|
6076
|
+
</xsl:apply-templates>
|
6077
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
|
6078
|
+
</xsl:otherwise>
|
6079
|
+
</xsl:choose>
|
6080
|
+
</xsl:template><xsl:template match="@*|node()" mode="xref_copy">
|
6081
|
+
<xsl:param name="target"/>
|
6082
|
+
<xsl:copy>
|
6083
|
+
<xsl:apply-templates select="@*" mode="xref_copy"/>
|
6084
|
+
<xsl:if test="$target != '' and not(xalan:nodeset($bookmark_in_fn)//bookmark[. = $target])">
|
6085
|
+
<xsl:attribute name="target"><xsl:value-of select="$target"/></xsl:attribute>
|
6086
|
+
</xsl:if>
|
6087
|
+
<xsl:apply-templates select="node()" mode="xref_copy"/>
|
6088
|
+
</xsl:copy>
|
6089
|
+
</xsl:template><xsl:template name="generateIndexXrefId">
|
6090
|
+
<xsl:variable name="level" select="count(ancestor::*[local-name() = 'ul'])"/>
|
6091
|
+
|
6092
|
+
<xsl:variable name="docid">
|
6093
|
+
<xsl:call-template name="getDocumentId"/>
|
6094
|
+
</xsl:variable>
|
6095
|
+
<xsl:variable name="item_number">
|
6096
|
+
<xsl:number count="*[local-name() = 'li'][ancestor::*[local-name() = 'indexsect']]" level="any"/>
|
6097
|
+
</xsl:variable>
|
6098
|
+
<xsl:variable name="xref_number"><xsl:number count="*[local-name() = 'xref']"/></xsl:variable>
|
6099
|
+
<xsl:value-of select="concat($docid, '_', $item_number, '_', $xref_number)"/> <!-- $level, '_', -->
|
6100
|
+
</xsl:template><xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'clause']" priority="4">
|
6101
|
+
<xsl:apply-templates/>
|
6102
|
+
<fo:block>
|
6103
|
+
<xsl:if test="following-sibling::*[local-name() = 'clause']">
|
6104
|
+
<fo:block> </fo:block>
|
6105
|
+
</xsl:if>
|
6106
|
+
</fo:block>
|
6107
|
+
</xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'ul']" priority="4">
|
6108
|
+
<xsl:apply-templates/>
|
6109
|
+
</xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']" priority="4">
|
6110
|
+
<xsl:variable name="level" select="count(ancestor::*[local-name() = 'ul'])"/>
|
6111
|
+
<fo:block start-indent="{5 * $level}mm" text-indent="-5mm">
|
6112
|
+
<xsl:apply-templates/>
|
6113
|
+
</fo:block>
|
6114
|
+
</xsl:template><xsl:template match="*[local-name() = 'bookmark']">
|
6115
|
+
<fo:inline id="{@id}"/>
|
5492
6116
|
</xsl:template><xsl:template match="*[local-name() = 'errata']">
|
5493
6117
|
<!-- <row>
|
5494
6118
|
<date>05-07-2013</date>
|
@@ -5584,6 +6208,8 @@
|
|
5584
6208
|
<xsl:value-of select="translate(.,'. ','')"/>
|
5585
6209
|
</xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'forename']/text()" mode="strip">
|
5586
6210
|
<xsl:value-of select="substring(.,1,1)"/>
|
6211
|
+
</xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
|
6212
|
+
<fo:inline><xsl:apply-templates/></fo:inline>
|
5587
6213
|
</xsl:template><xsl:template name="convertDate">
|
5588
6214
|
<xsl:param name="date"/>
|
5589
6215
|
<xsl:param name="format" select="'short'"/>
|
@@ -5608,6 +6234,57 @@
|
|
5608
6234
|
</xsl:variable>
|
5609
6235
|
<xsl:variable name="result">
|
5610
6236
|
<xsl:choose>
|
6237
|
+
<xsl:when test="$format = 'ddMMyyyy'">
|
6238
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
6239
|
+
<xsl:text> </xsl:text>
|
6240
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
|
6241
|
+
</xsl:when>
|
6242
|
+
<xsl:when test="$format = 'ddMM'">
|
6243
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
6244
|
+
<xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
|
6245
|
+
</xsl:when>
|
6246
|
+
<xsl:when test="$format = 'short' or $day = ''">
|
6247
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
|
6248
|
+
</xsl:when>
|
6249
|
+
<xsl:otherwise>
|
6250
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
|
6251
|
+
</xsl:otherwise>
|
6252
|
+
</xsl:choose>
|
6253
|
+
</xsl:variable>
|
6254
|
+
<xsl:value-of select="$result"/>
|
6255
|
+
</xsl:template><xsl:template name="convertDateLocalized">
|
6256
|
+
<xsl:param name="date"/>
|
6257
|
+
<xsl:param name="format" select="'short'"/>
|
6258
|
+
<xsl:variable name="year" select="substring($date, 1, 4)"/>
|
6259
|
+
<xsl:variable name="month" select="substring($date, 6, 2)"/>
|
6260
|
+
<xsl:variable name="day" select="substring($date, 9, 2)"/>
|
6261
|
+
<xsl:variable name="monthStr">
|
6262
|
+
<xsl:choose>
|
6263
|
+
<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>
|
6264
|
+
<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>
|
6265
|
+
<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>
|
6266
|
+
<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>
|
6267
|
+
<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>
|
6268
|
+
<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>
|
6269
|
+
<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>
|
6270
|
+
<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>
|
6271
|
+
<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>
|
6272
|
+
<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>
|
6273
|
+
<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>
|
6274
|
+
<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>
|
6275
|
+
</xsl:choose>
|
6276
|
+
</xsl:variable>
|
6277
|
+
<xsl:variable name="result">
|
6278
|
+
<xsl:choose>
|
6279
|
+
<xsl:when test="$format = 'ddMMyyyy'">
|
6280
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
6281
|
+
<xsl:text> </xsl:text>
|
6282
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
|
6283
|
+
</xsl:when>
|
6284
|
+
<xsl:when test="$format = 'ddMM'">
|
6285
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
6286
|
+
<xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
|
6287
|
+
</xsl:when>
|
5611
6288
|
<xsl:when test="$format = 'short' or $day = ''">
|
5612
6289
|
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
|
5613
6290
|
</xsl:when>
|
@@ -5623,7 +6300,7 @@
|
|
5623
6300
|
<xsl:param name="charDelim" select="', '"/>
|
5624
6301
|
<xsl:choose>
|
5625
6302
|
<xsl:when test="$sorting = 'true' or $sorting = 'yes'">
|
5626
|
-
<xsl:for-each select="
|
6303
|
+
<xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
|
5627
6304
|
<xsl:sort data-type="text" order="ascending"/>
|
5628
6305
|
<xsl:call-template name="insertKeyword">
|
5629
6306
|
<xsl:with-param name="charAtEnd" select="$charAtEnd"/>
|
@@ -5632,7 +6309,7 @@
|
|
5632
6309
|
</xsl:for-each>
|
5633
6310
|
</xsl:when>
|
5634
6311
|
<xsl:otherwise>
|
5635
|
-
<xsl:for-each select="
|
6312
|
+
<xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
|
5636
6313
|
<xsl:call-template name="insertKeyword">
|
5637
6314
|
<xsl:with-param name="charAtEnd" select="$charAtEnd"/>
|
5638
6315
|
<xsl:with-param name="charDelim" select="$charDelim"/>
|
@@ -5649,65 +6326,71 @@
|
|
5649
6326
|
<xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
|
5650
6327
|
</xsl:choose>
|
5651
6328
|
</xsl:template><xsl:template name="addPDFUAmeta">
|
5652
|
-
<
|
5653
|
-
<
|
5654
|
-
|
5655
|
-
|
5656
|
-
|
5657
|
-
|
5658
|
-
|
5659
|
-
|
5660
|
-
|
5661
|
-
|
5662
|
-
|
5663
|
-
|
6329
|
+
<xsl:variable name="lang">
|
6330
|
+
<xsl:call-template name="getLang"/>
|
6331
|
+
</xsl:variable>
|
6332
|
+
<pdf:catalog>
|
6333
|
+
<pdf:dictionary type="normal" key="ViewerPreferences">
|
6334
|
+
<pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
|
6335
|
+
</pdf:dictionary>
|
6336
|
+
</pdf:catalog>
|
6337
|
+
<x:xmpmeta xmlns:x="adobe:ns:meta/">
|
6338
|
+
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
6339
|
+
<rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
|
6340
|
+
<!-- Dublin Core properties go here -->
|
6341
|
+
<dc:title>
|
6342
|
+
<xsl:variable name="title">
|
6343
|
+
<xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
|
6344
|
+
|
6345
|
+
<xsl:value-of select="*[local-name() = 'title'][@language = $lang and @type = 'main']"/>
|
5664
6346
|
|
5665
|
-
<xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = 'en' and @type = 'main']"/>
|
5666
6347
|
|
5667
6348
|
|
5668
6349
|
|
5669
6350
|
|
5670
6351
|
|
5671
|
-
</xsl:
|
5672
|
-
|
5673
|
-
|
5674
|
-
|
5675
|
-
|
5676
|
-
|
5677
|
-
|
5678
|
-
</xsl:
|
5679
|
-
</xsl:
|
5680
|
-
</
|
5681
|
-
|
6352
|
+
</xsl:for-each>
|
6353
|
+
</xsl:variable>
|
6354
|
+
<xsl:choose>
|
6355
|
+
<xsl:when test="normalize-space($title) != ''">
|
6356
|
+
<xsl:value-of select="$title"/>
|
6357
|
+
</xsl:when>
|
6358
|
+
<xsl:otherwise>
|
6359
|
+
<xsl:text> </xsl:text>
|
6360
|
+
</xsl:otherwise>
|
6361
|
+
</xsl:choose>
|
6362
|
+
</dc:title>
|
6363
|
+
<dc:creator>
|
6364
|
+
<xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
|
6365
|
+
|
6366
|
+
<xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
|
6367
|
+
<xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
|
6368
|
+
<xsl:if test="position() != last()">; </xsl:if>
|
6369
|
+
</xsl:for-each>
|
5682
6370
|
|
5683
|
-
<xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']/*[local-name() = 'organization']/*[local-name() = 'name']"/>
|
5684
6371
|
|
5685
6372
|
|
6373
|
+
</xsl:for-each>
|
6374
|
+
</dc:creator>
|
6375
|
+
<dc:description>
|
6376
|
+
<xsl:variable name="abstract">
|
5686
6377
|
|
5687
|
-
|
5688
|
-
|
5689
|
-
|
5690
|
-
|
5691
|
-
|
5692
|
-
|
5693
|
-
|
5694
|
-
|
5695
|
-
|
5696
|
-
|
5697
|
-
|
5698
|
-
|
5699
|
-
|
5700
|
-
|
5701
|
-
|
5702
|
-
|
5703
|
-
</rdf:Description>
|
5704
|
-
<rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
|
5705
|
-
<!-- XMP properties go here -->
|
5706
|
-
<xmp:CreatorTool/>
|
5707
|
-
</rdf:Description>
|
5708
|
-
</rdf:RDF>
|
5709
|
-
</x:xmpmeta>
|
5710
|
-
</fo:declarations>
|
6378
|
+
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
|
6379
|
+
|
6380
|
+
|
6381
|
+
</xsl:variable>
|
6382
|
+
<xsl:value-of select="normalize-space($abstract)"/>
|
6383
|
+
</dc:description>
|
6384
|
+
<pdf:Keywords>
|
6385
|
+
<xsl:call-template name="insertKeywords"/>
|
6386
|
+
</pdf:Keywords>
|
6387
|
+
</rdf:Description>
|
6388
|
+
<rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
|
6389
|
+
<!-- XMP properties go here -->
|
6390
|
+
<xmp:CreatorTool/>
|
6391
|
+
</rdf:Description>
|
6392
|
+
</rdf:RDF>
|
6393
|
+
</x:xmpmeta>
|
5711
6394
|
</xsl:template><xsl:template name="getId">
|
5712
6395
|
<xsl:choose>
|
5713
6396
|
<xsl:when test="../@id">
|
@@ -5804,6 +6487,7 @@
|
|
5804
6487
|
|
5805
6488
|
|
5806
6489
|
|
6490
|
+
|
5807
6491
|
</xsl:variable>
|
5808
6492
|
<xsl:if test="$documentNS != $XSLNS">
|
5809
6493
|
<xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
|
@@ -5863,6 +6547,11 @@
|
|
5863
6547
|
<xsl:call-template name="getLang"/>
|
5864
6548
|
</xsl:variable>
|
5865
6549
|
|
5866
|
-
<xsl:
|
6550
|
+
<xsl:choose>
|
6551
|
+
<xsl:when test="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]">
|
6552
|
+
<xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
6553
|
+
</xsl:when>
|
6554
|
+
<xsl:otherwise><xsl:value-of select="$key"/></xsl:otherwise>
|
6555
|
+
</xsl:choose>
|
5867
6556
|
|
5868
6557
|
</xsl:template></xsl:stylesheet>
|