metanorma-bipm 1.0.2 → 1.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +9 -32
- data/.gitignore +1 -0
- data/.rubocop.yml +14 -0
- data/lib/asciidoctor/bipm/basicdoc.rng +5 -3
- data/lib/asciidoctor/bipm/biblio.rng +4 -6
- data/lib/asciidoctor/bipm/bipm.rng +6 -0
- data/lib/asciidoctor/bipm/boilerplate-jcgm-en.xml +37 -0
- data/lib/asciidoctor/bipm/converter.rb +7 -3
- data/lib/asciidoctor/bipm/isodoc.rng +108 -2
- data/lib/isodoc/bipm/bipm.brochure.xsl +912 -454
- data/lib/isodoc/bipm/bipm.guide.xsl +912 -454
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +912 -454
- data/lib/isodoc/bipm/bipm.rapport.xsl +912 -454
- data/lib/isodoc/bipm/html/html_bipm_intro.html +1 -1
- data/lib/isodoc/bipm/html/html_bipm_titlepage.html +3 -2
- data/lib/isodoc/bipm/index.rb +9 -4
- data/lib/isodoc/bipm/jcgm.standard.xsl +6092 -0
- data/lib/isodoc/bipm/metadata.rb +2 -0
- data/lib/isodoc/bipm/pdf_convert.rb +1 -0
- data/lib/isodoc/bipm/presentation_xml_convert.rb +27 -11
- data/lib/isodoc/bipm/xref.rb +45 -24
- data/lib/metanorma/bipm/version.rb +1 -1
- data/metanorma-bipm.gemspec +3 -3
- data/metanorma.yml +1 -0
- metadata +13 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e92f453fd51171c023324636e3d16215d4d2af372c2975da080d9b7f81f5ded
|
4
|
+
data.tar.gz: 7066c446be4aa7b01e18c685b7c86b0e6bfd8883fc702e984d8a9fb0448df04f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7c11d1f4e93dde04a7f46498906bd8143a8bc7a3fb917e86706436894cc2989a7b4ac373c29ae29061f4e0d5967216c45b1e4724cac84ba664eb1fd4ec052cbb
|
7
|
+
data.tar.gz: 28999ac1b868021ed0fe9aa63ba01f3dee7d66a3e111586624f5576f72962c06ea993be25cd52cd9d64ffa3fdbe035b6daf196fdc2e08b05ddce506ad9a31f43
|
data/.github/workflows/rake.yml
CHANGED
@@ -4,7 +4,7 @@ name: rake
|
|
4
4
|
|
5
5
|
on:
|
6
6
|
push:
|
7
|
-
branches: [ master, main
|
7
|
+
branches: [ master, main ]
|
8
8
|
tags: [ v* ]
|
9
9
|
pull_request:
|
10
10
|
|
@@ -16,50 +16,27 @@ jobs:
|
|
16
16
|
strategy:
|
17
17
|
fail-fast: false
|
18
18
|
matrix:
|
19
|
-
ruby: [ '2.6', '2.5', '2.4' ]
|
19
|
+
ruby: [ '2.7', '2.6', '2.5', '2.4' ]
|
20
20
|
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
21
21
|
experimental: [ false ]
|
22
22
|
include:
|
23
|
-
- ruby: '
|
23
|
+
- ruby: '3.0'
|
24
24
|
os: 'ubuntu-latest'
|
25
25
|
experimental: true
|
26
|
-
- ruby: '
|
26
|
+
- ruby: '3.0'
|
27
27
|
os: 'windows-latest'
|
28
28
|
experimental: true
|
29
|
-
- ruby: '
|
29
|
+
- ruby: '3.0'
|
30
30
|
os: 'macos-latest'
|
31
31
|
experimental: true
|
32
32
|
steps:
|
33
|
-
- uses: actions/checkout@
|
33
|
+
- uses: actions/checkout@v2
|
34
|
+
with:
|
35
|
+
submodules: true
|
34
36
|
|
35
37
|
- uses: ruby/setup-ruby@v1
|
36
38
|
with:
|
37
39
|
ruby-version: ${{ matrix.ruby }}
|
38
|
-
|
39
|
-
- if: matrix.os == 'macos-latest'
|
40
|
-
run: brew install autoconf automake libtool
|
41
|
-
|
42
|
-
- uses: actions/cache@v2
|
43
|
-
with:
|
44
|
-
path: vendor/bundle
|
45
|
-
key: bundle-${{ matrix.os }}-${{ matrix.ruby }}-${{ hashFiles('**/*.gemspec') }}
|
46
|
-
restore-keys: bundle-${{ matrix.os }}-${{ matrix.ruby }}
|
47
|
-
|
48
|
-
- run: bundle config set path 'vendor/bundle'
|
49
|
-
|
50
|
-
- run: bundle install --jobs 4 --retry 3
|
40
|
+
bundler-cache: true
|
51
41
|
|
52
42
|
- run: bundle exec rake
|
53
|
-
|
54
|
-
tests-passed:
|
55
|
-
needs: rake
|
56
|
-
runs-on: ubuntu-latest
|
57
|
-
steps:
|
58
|
-
- name: Trigger tests passed event
|
59
|
-
uses: Sibz/github-status-action@v1
|
60
|
-
with:
|
61
|
-
authToken: ${{ secrets.METANORMA_CI_PAT_TOKEN || secrets.GITHUB_TOKEN }}
|
62
|
-
context: 'tests-passed-successfully'
|
63
|
-
description: 'Tests passed successfully'
|
64
|
-
state: 'success'
|
65
|
-
sha: ${{ github.event.pull_request.head.sha || github.sha }}
|
data/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
.rubocop-https--*
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
# This project follows the Ribose OSS style guide.
|
2
|
+
# https://github.com/riboseinc/oss-guides
|
3
|
+
# All project-specific additions and overrides should be specified in this file.
|
4
|
+
inherit_from:
|
5
|
+
- https://raw.githubusercontent.com/riboseinc/oss-guides/master/ci/rubocop.yml
|
6
|
+
|
7
|
+
# local repo-specific modifications
|
8
|
+
|
9
|
+
AllCops:
|
10
|
+
DisplayCopNames: false
|
11
|
+
StyleGuideCopsOnly: false
|
12
|
+
TargetRubyVersion: 2.4
|
13
|
+
Rails:
|
14
|
+
Enabled: true
|
@@ -729,9 +729,11 @@
|
|
729
729
|
</define>
|
730
730
|
<define name="index">
|
731
731
|
<element name="index">
|
732
|
-
<
|
733
|
-
<
|
734
|
-
|
732
|
+
<optional>
|
733
|
+
<attribute name="to">
|
734
|
+
<data type="IDREF"/>
|
735
|
+
</attribute>
|
736
|
+
</optional>
|
735
737
|
<element name="primary">
|
736
738
|
<oneOrMore>
|
737
739
|
<ref name="PureTextElement"/>
|
@@ -124,7 +124,7 @@
|
|
124
124
|
<value>application/tei+xml</value>
|
125
125
|
<value>text/x-asciidoc</value>
|
126
126
|
<value>text/markdown</value>
|
127
|
-
<value>application/x-
|
127
|
+
<value>application/x-metanorma+xml</value>
|
128
128
|
<text/>
|
129
129
|
</choice>
|
130
130
|
</attribute>
|
@@ -452,6 +452,7 @@
|
|
452
452
|
<attribute name="type">
|
453
453
|
<choice>
|
454
454
|
<value>isni</value>
|
455
|
+
<value>orcid</value>
|
455
456
|
<value>uri</value>
|
456
457
|
</choice>
|
457
458
|
</attribute>
|
@@ -461,10 +462,7 @@
|
|
461
462
|
<define name="org-identifier">
|
462
463
|
<element name="identifier">
|
463
464
|
<attribute name="type">
|
464
|
-
<
|
465
|
-
<value>orcid</value>
|
466
|
-
<value>uri</value>
|
467
|
-
</choice>
|
465
|
+
<data type="string" datatypeLibrary=""/>
|
468
466
|
</attribute>
|
469
467
|
<text/>
|
470
468
|
</element>
|
@@ -1106,7 +1104,7 @@
|
|
1106
1104
|
<value>complementOf</value>
|
1107
1105
|
<value>obsoletes</value>
|
1108
1106
|
<value>obsoletedBy</value>
|
1109
|
-
<value>
|
1107
|
+
<value>cites</value>
|
1110
1108
|
<value>isCitedIn</value>
|
1111
1109
|
</choice>
|
1112
1110
|
</define>
|
@@ -340,6 +340,9 @@
|
|
340
340
|
<zeroOrMore>
|
341
341
|
<ref name="termdocsource"/>
|
342
342
|
</zeroOrMore>
|
343
|
+
<optional>
|
344
|
+
<ref name="misccontainer"/>
|
345
|
+
</optional>
|
343
346
|
<optional>
|
344
347
|
<ref name="boilerplate"/>
|
345
348
|
</optional>
|
@@ -355,6 +358,9 @@
|
|
355
358
|
<optional>
|
356
359
|
<ref name="bibliography"/>
|
357
360
|
</optional>
|
361
|
+
<zeroOrMore>
|
362
|
+
<ref name="indexsect"/>
|
363
|
+
</zeroOrMore>
|
358
364
|
</element>
|
359
365
|
</define>
|
360
366
|
</grammar>
|
@@ -0,0 +1,37 @@
|
|
1
|
+
<boilerplate>
|
2
|
+
<copyright-statement>
|
3
|
+
<clause>
|
4
|
+
<p> © JCGM {{ docyear }} </p>
|
5
|
+
<p>Copyright of this JCGM guidance document is shared jointly by the JCGM member organizations (BIPM, IEC,
|
6
|
+
IFCC, ILAC, ISO, IUPAC, IUPAP and OIML).</p>
|
7
|
+
</clause>
|
8
|
+
</copyright-statement>
|
9
|
+
<license-statement>
|
10
|
+
<clause>
|
11
|
+
<title>Copyright</title>
|
12
|
+
<p>Even if electronic versions are available free of charge on the website of one or more of the JCGM member organizations, economic and moral copyrights related to all JCGM publications are internationally protected. The JCGM does not, without its written authorisation, permit third parties to rewrite or re-brand issues, to sell copies to the public, or to broadcast or use on-line its publications. Equally, the JCGM also objects to distortion, augmentation or mutilation of its publications, including its titles, slogans and logos, and those of its member organizations.</p>
|
13
|
+
</clause>
|
14
|
+
<clause>
|
15
|
+
<title>Official versions and translations</title>
|
16
|
+
<p>The only official versions of documents are those published by the JCGM, in their original languages.</p>
|
17
|
+
|
18
|
+
<p>The JCGM’s publications may be translated into languages other than those in which the documents were originally published by the JCGM. Permission must be obtained from the JCGM before a translation can be made. All translations should respect the original and official format of the formulae and units (without any conversion to other formulae or units), and contain the following statement (to be translated into the chosen language):</p>
|
19
|
+
|
20
|
+
<quote>All JCGM’s products are internationally protected by copyright. This translation of the original JCGM document has been produced with the permission of the JCGM. The JCGM retains full internationally protected copyright on the design and content of this document and on the JCGM’s titles, slogan and logos. The member organizations of the JCGM also retain full internationally protected right on their titles, slogans and logos included in the JCGM’s publications. The only official version is the document published by the JCGM, in the original languages.</quote>
|
21
|
+
|
22
|
+
<p>The JCGM does not accept any liability for the relevance, accuracy, completeness or quality of the information and materials offered in any translation. A copy of the translation shall be provided to the JCGM at the time of publication.</p>
|
23
|
+
</clause>
|
24
|
+
<clause>
|
25
|
+
<title>Reproduction</title>
|
26
|
+
<p>The JCGM’s publications may be reproduced, provided written permission has been granted by the JCGM. A sample of any reproduced document shall be provided to the JCGM at the time of reproduction and contain the following statement:</p>
|
27
|
+
<quote>This document is reproduced with the permission of the JCGM, which retains full internationally protected copyright on the design and content of this document and on the JCGM’s titles, slogans and logos. The member organizations of the JCGM also retain full internationally protected right on their titles, slogans and logos included in the JCGM’s publications. The only official versions are the original versions of the documents published by the JCGM.</quote>
|
28
|
+
</clause>
|
29
|
+
</license-statement>
|
30
|
+
<legal-statement>
|
31
|
+
<clause>
|
32
|
+
<title>Disclaimer</title>
|
33
|
+
<p>The JCGM and its member organizations have published this document to enhance access to information about metrology. They endeavor to update it on a regular basis, but cannot guarantee the accuracy at all times and shall not be responsible for any direct or indirect damage that may result from its use. Any reference to commercial products of any kind (including but not restricted to any software, data or hardware) or links to websites, over which the JCGM and its member organizations have no control and for which they assume no responsibility, does not imply any approval, endorsement or recommendation by the JCGM and its member organizations.</p>
|
34
|
+
</clause>
|
35
|
+
</legal-statement>
|
36
|
+
</boilerplate>
|
37
|
+
|
@@ -104,8 +104,7 @@ module Asciidoctor
|
|
104
104
|
["en", "fr"].each do |lang|
|
105
105
|
at = { language: lang, format: "text/plain" }
|
106
106
|
xml.title **attr_code(at.merge(type: "main")) do |t1|
|
107
|
-
t1 <<
|
108
|
-
node.attr("title-#{lang}"))
|
107
|
+
t1 << Metanorma::Utils::asciidoc_sub(node.attr("title-#{lang}"))
|
109
108
|
end
|
110
109
|
%w(cover appendix annex part subpart).each do |w|
|
111
110
|
typed_title(node, xml, lang, w)
|
@@ -117,7 +116,7 @@ module Asciidoctor
|
|
117
116
|
at = { language: lang, format: "text/plain" }
|
118
117
|
return unless title = node.attr("title-#{type}-#{lang}")
|
119
118
|
xml.title **attr_code(at.merge(type: type)) do |t1|
|
120
|
-
t1 <<
|
119
|
+
t1 << Metanorma::Utils::asciidoc_sub(title)
|
121
120
|
end
|
122
121
|
end
|
123
122
|
|
@@ -173,6 +172,11 @@ module Asciidoctor
|
|
173
172
|
end
|
174
173
|
end
|
175
174
|
|
175
|
+
def boilerplate_file(xmldoc)
|
176
|
+
return super unless xmldoc&.at("//bibdata/ext/editorialgroup/committee/@acronym")&.value == "JCGM"
|
177
|
+
File.join(File.dirname(__FILE__), "boilerplate-jcgm-en.xml")
|
178
|
+
end
|
179
|
+
|
176
180
|
def mathml_mi_italics
|
177
181
|
{ uppergreek: false, upperroman: false,
|
178
182
|
lowergreek: false, lowerroman: true }
|
@@ -102,7 +102,7 @@
|
|
102
102
|
</attribute>
|
103
103
|
</optional>
|
104
104
|
<oneOrMore>
|
105
|
-
<ref name="
|
105
|
+
<ref name="ul_li"/>
|
106
106
|
</oneOrMore>
|
107
107
|
<zeroOrMore>
|
108
108
|
<ref name="note"/>
|
@@ -789,6 +789,9 @@
|
|
789
789
|
<attribute name="width"/>
|
790
790
|
</element>
|
791
791
|
</define>
|
792
|
+
<define name="BibItemType" combine="choice">
|
793
|
+
<value>internal</value>
|
794
|
+
</define>
|
792
795
|
<define name="TextElement" combine="choice">
|
793
796
|
<ref name="concept"/>
|
794
797
|
</define>
|
@@ -809,6 +812,8 @@
|
|
809
812
|
<ref name="requirement"/>
|
810
813
|
<ref name="recommendation"/>
|
811
814
|
<ref name="permission"/>
|
815
|
+
<ref name="imagemap"/>
|
816
|
+
<ref name="svgmap"/>
|
812
817
|
</choice>
|
813
818
|
</define>
|
814
819
|
<define name="bibliography">
|
@@ -914,6 +919,9 @@
|
|
914
919
|
</choice>
|
915
920
|
</attribute>
|
916
921
|
<ref name="bibdata"/>
|
922
|
+
<optional>
|
923
|
+
<ref name="misccontainer"/>
|
924
|
+
</optional>
|
917
925
|
<optional>
|
918
926
|
<ref name="boilerplate"/>
|
919
927
|
</optional>
|
@@ -924,11 +932,21 @@
|
|
924
932
|
<zeroOrMore>
|
925
933
|
<ref name="annex"/>
|
926
934
|
</zeroOrMore>
|
935
|
+
<optional>
|
936
|
+
<ref name="bibliography"/>
|
937
|
+
</optional>
|
927
938
|
<zeroOrMore>
|
928
|
-
<ref name="
|
939
|
+
<ref name="indexsect"/>
|
929
940
|
</zeroOrMore>
|
930
941
|
</element>
|
931
942
|
</define>
|
943
|
+
<define name="misccontainer">
|
944
|
+
<element name="misc-container">
|
945
|
+
<oneOrMore>
|
946
|
+
<ref name="AnyElement"/>
|
947
|
+
</oneOrMore>
|
948
|
+
</element>
|
949
|
+
</define>
|
932
950
|
<define name="preface">
|
933
951
|
<element name="preface">
|
934
952
|
<oneOrMore>
|
@@ -952,6 +970,11 @@
|
|
952
970
|
<ref name="Content-Section"/>
|
953
971
|
</element>
|
954
972
|
</define>
|
973
|
+
<define name="indexsect">
|
974
|
+
<element name="indexsect">
|
975
|
+
<ref name="Content-Section"/>
|
976
|
+
</element>
|
977
|
+
</define>
|
955
978
|
<define name="boilerplate">
|
956
979
|
<element name="boilerplate">
|
957
980
|
<optional>
|
@@ -1632,4 +1655,87 @@
|
|
1632
1655
|
<text/>
|
1633
1656
|
</element>
|
1634
1657
|
</define>
|
1658
|
+
<define name="imagemap">
|
1659
|
+
<element name="imagemap">
|
1660
|
+
<ref name="figure"/>
|
1661
|
+
<zeroOrMore>
|
1662
|
+
<element name="area">
|
1663
|
+
<attribute name="type">
|
1664
|
+
<choice>
|
1665
|
+
<value>rect</value>
|
1666
|
+
<value>circle</value>
|
1667
|
+
<value>ellipse</value>
|
1668
|
+
<value>poly</value>
|
1669
|
+
</choice>
|
1670
|
+
</attribute>
|
1671
|
+
<choice>
|
1672
|
+
<ref name="xref"/>
|
1673
|
+
<ref name="hyperlink"/>
|
1674
|
+
<ref name="eref"/>
|
1675
|
+
</choice>
|
1676
|
+
<oneOrMore>
|
1677
|
+
<element name="coords">
|
1678
|
+
<attribute name="x">
|
1679
|
+
<data type="float"/>
|
1680
|
+
</attribute>
|
1681
|
+
<attribute name="y">
|
1682
|
+
<data type="float"/>
|
1683
|
+
</attribute>
|
1684
|
+
</element>
|
1685
|
+
</oneOrMore>
|
1686
|
+
<optional>
|
1687
|
+
<element name="radius">
|
1688
|
+
<attribute name="x">
|
1689
|
+
<data type="float"/>
|
1690
|
+
</attribute>
|
1691
|
+
<optional>
|
1692
|
+
<attribute name="y">
|
1693
|
+
<data type="float"/>
|
1694
|
+
</attribute>
|
1695
|
+
</optional>
|
1696
|
+
</element>
|
1697
|
+
</optional>
|
1698
|
+
</element>
|
1699
|
+
</zeroOrMore>
|
1700
|
+
</element>
|
1701
|
+
</define>
|
1702
|
+
<define name="svgmap">
|
1703
|
+
<element name="svgmap">
|
1704
|
+
<ref name="figure"/>
|
1705
|
+
<zeroOrMore>
|
1706
|
+
<element name="target">
|
1707
|
+
<attribute name="href">
|
1708
|
+
<data type="anyURI"/>
|
1709
|
+
</attribute>
|
1710
|
+
<choice>
|
1711
|
+
<ref name="xref"/>
|
1712
|
+
<ref name="hyperlink"/>
|
1713
|
+
<ref name="eref"/>
|
1714
|
+
</choice>
|
1715
|
+
</element>
|
1716
|
+
</zeroOrMore>
|
1717
|
+
</element>
|
1718
|
+
</define>
|
1719
|
+
<define name="ul_li">
|
1720
|
+
<element name="li">
|
1721
|
+
<optional>
|
1722
|
+
<attribute name="id">
|
1723
|
+
<data type="ID"/>
|
1724
|
+
</attribute>
|
1725
|
+
</optional>
|
1726
|
+
<optional>
|
1727
|
+
<attribute name="uncheckedcheckbox">
|
1728
|
+
<data type="boolean"/>
|
1729
|
+
</attribute>
|
1730
|
+
</optional>
|
1731
|
+
<optional>
|
1732
|
+
<attribute name="checkedcheckbox">
|
1733
|
+
<data type="boolean"/>
|
1734
|
+
</attribute>
|
1735
|
+
</optional>
|
1736
|
+
<oneOrMore>
|
1737
|
+
<ref name="BasicBlock"/>
|
1738
|
+
</oneOrMore>
|
1739
|
+
</element>
|
1740
|
+
</define>
|
1635
1741
|
</grammar>
|
@@ -11,7 +11,6 @@
|
|
11
11
|
<!-- <item id="#">N_page</item> -->
|
12
12
|
<!-- param for second pass -->
|
13
13
|
<xsl:param name="external_index"/><!-- path to index xml, generated on 1st pass, based on FOP Intermediate Format -->
|
14
|
-
<xsl:variable name="index" select="document($external_index)"/>
|
15
14
|
|
16
15
|
<xsl:variable name="first_pass" select="count($index//item) = 0"/>
|
17
16
|
|
@@ -114,7 +113,8 @@
|
|
114
113
|
|
115
114
|
<!-- add id to xref and split xref with @to into two xref -->
|
116
115
|
<xsl:variable name="current_document_index_id">
|
117
|
-
<xsl:apply-templates select=".//bipm:clause[@type = 'index']" mode="index_add_id"/>
|
116
|
+
<!-- <xsl:apply-templates select=".//bipm:clause[@type = 'index']" mode="index_add_id"/> -->
|
117
|
+
<xsl:apply-templates select=".//bipm:indexsect" mode="index_add_id"/>
|
118
118
|
</xsl:variable>
|
119
119
|
|
120
120
|
<xsl:variable name="current_document_index">
|
@@ -145,7 +145,8 @@
|
|
145
145
|
</xsl:variable>
|
146
146
|
|
147
147
|
<xsl:variable name="current_document_index_id">
|
148
|
-
<xsl:apply-templates select=".//bipm:clause[@type = 'index']" mode="index_add_id"/>
|
148
|
+
<!-- <xsl:apply-templates select=".//bipm:clause[@type = 'index']" mode="index_add_id"/> -->
|
149
|
+
<xsl:apply-templates select=".//bipm:indexsect" mode="index_add_id"/>
|
149
150
|
</xsl:variable>
|
150
151
|
|
151
152
|
<xsl:variable name="current_document_index">
|
@@ -165,8 +166,7 @@
|
|
165
166
|
</xsl:choose>
|
166
167
|
</xsl:variable>
|
167
168
|
|
168
|
-
|
169
|
-
|
169
|
+
|
170
170
|
<xsl:variable name="ids">
|
171
171
|
<xsl:for-each select="//*[@id]">
|
172
172
|
<id><xsl:value-of select="@id"/></id>
|
@@ -194,7 +194,8 @@
|
|
194
194
|
<xsl:apply-templates select="/*/bipm:bibliography/bipm:references[not(@normative='true')]" mode="contents"/>
|
195
195
|
|
196
196
|
<!-- Index -->
|
197
|
-
<xsl:apply-templates select="//bipm:clause[@type = 'index']" mode="contents"/>
|
197
|
+
<!-- <xsl:apply-templates select="//bipm:clause[@type = 'index']" mode="contents"/> -->
|
198
|
+
<xsl:apply-templates select="//bipm:indexsect" mode="contents"/>
|
198
199
|
|
199
200
|
</contents>
|
200
201
|
</xsl:template>
|
@@ -253,6 +254,28 @@
|
|
253
254
|
</fo:repeatable-page-master-alternatives>
|
254
255
|
</fo:page-sequence-master>
|
255
256
|
|
257
|
+
<!-- Document pages (landscape orientation) -->
|
258
|
+
<fo:simple-page-master master-name="document-landscape-odd" page-width="{$pageHeight}" page-height="{$pageWidth}">
|
259
|
+
<fo:region-body margin-top="25.4mm" margin-bottom="22mm" margin-left="31.7mm" margin-right="40mm"/>
|
260
|
+
<fo:region-before region-name="header-odd" extent="25.4mm"/>
|
261
|
+
<fo:region-after region-name="footer" extent="22mm"/> <!-- debug: background-color="green" -->
|
262
|
+
<fo:region-start region-name="left-region" extent="17mm"/>
|
263
|
+
<fo:region-end region-name="right-region" extent="26.5mm"/>
|
264
|
+
</fo:simple-page-master>
|
265
|
+
<fo:simple-page-master master-name="document-landscape-even" page-width="{$pageHeight}" page-height="{$pageWidth}">
|
266
|
+
<fo:region-body margin-top="25.4mm" margin-bottom="22mm" margin-left="31.7mm" margin-right="40mm"/>
|
267
|
+
<fo:region-before region-name="header-even" extent="25.4mm"/>
|
268
|
+
<fo:region-after region-name="footer" extent="22mm"/> <!-- debug: background-color="green" -->
|
269
|
+
<fo:region-start region-name="left-region" extent="17mm"/>
|
270
|
+
<fo:region-end region-name="right-region" extent="26.5mm"/>
|
271
|
+
</fo:simple-page-master>
|
272
|
+
<fo:page-sequence-master master-name="document-landscape">
|
273
|
+
<fo:repeatable-page-master-alternatives>
|
274
|
+
<fo:conditional-page-master-reference odd-or-even="even" master-reference="document-landscape-even"/>
|
275
|
+
<fo:conditional-page-master-reference odd-or-even="odd" master-reference="document-landscape-odd"/>
|
276
|
+
</fo:repeatable-page-master-alternatives>
|
277
|
+
</fo:page-sequence-master>
|
278
|
+
|
256
279
|
<!-- Index pages -->
|
257
280
|
<fo:simple-page-master master-name="index-odd" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
258
281
|
<fo:region-body margin-top="25.4mm" margin-bottom="22mm" margin-left="31.7mm" margin-right="41.7mm" column-count="2" column-gap="10mm"/>
|
@@ -278,8 +301,9 @@
|
|
278
301
|
|
279
302
|
</fo:layout-master-set>
|
280
303
|
|
281
|
-
|
282
|
-
|
304
|
+
<fo:declarations>
|
305
|
+
<xsl:call-template name="addPDFUAmeta"/>
|
306
|
+
</fo:declarations>
|
283
307
|
|
284
308
|
<xsl:call-template name="addBookmarks">
|
285
309
|
<xsl:with-param name="contents" select="$contents"/>
|
@@ -327,10 +351,14 @@
|
|
327
351
|
<xsl:apply-templates select="xalan:nodeset($current_document)" mode="flatxml"/>
|
328
352
|
</xsl:variable> -->
|
329
353
|
|
330
|
-
<xsl:variable name="
|
354
|
+
<xsl:variable name="flatxml_">
|
331
355
|
<xsl:apply-templates select="." mode="flatxml"/>
|
332
356
|
</xsl:variable>
|
333
357
|
|
358
|
+
<xsl:variable name="flatxml">
|
359
|
+
<xsl:apply-templates select="xalan:nodeset($flatxml_)" mode="pagebreak"/>
|
360
|
+
</xsl:variable>
|
361
|
+
|
334
362
|
<!-- flatxml=<xsl:copy-of select="$flatxml"/> -->
|
335
363
|
|
336
364
|
<xsl:apply-templates select="xalan:nodeset($flatxml)/bipm:bipm-standard" mode="bipm-standard">
|
@@ -354,10 +382,14 @@
|
|
354
382
|
<xsl:apply-templates select="xalan:nodeset($current_document)" mode="flatxml"/>
|
355
383
|
</xsl:variable> -->
|
356
384
|
|
357
|
-
<xsl:variable name="
|
385
|
+
<xsl:variable name="flatxml_">
|
358
386
|
<xsl:apply-templates select="." mode="flatxml"/>
|
359
387
|
</xsl:variable>
|
360
388
|
|
389
|
+
<xsl:variable name="flatxml">
|
390
|
+
<xsl:apply-templates select="xalan:nodeset($flatxml_)" mode="pagebreak"/>
|
391
|
+
</xsl:variable>
|
392
|
+
|
361
393
|
<xsl:apply-templates select="xalan:nodeset($flatxml)/bipm:bipm-standard" mode="bipm-standard">
|
362
394
|
<xsl:with-param name="curr_docnum" select="$num"/>
|
363
395
|
</xsl:apply-templates>
|
@@ -370,10 +402,14 @@
|
|
370
402
|
</xsl:when>
|
371
403
|
<xsl:otherwise>
|
372
404
|
|
373
|
-
<xsl:variable name="
|
405
|
+
<xsl:variable name="flatxml_">
|
374
406
|
<xsl:apply-templates mode="flatxml"/>
|
375
407
|
</xsl:variable>
|
376
|
-
|
408
|
+
|
409
|
+
<xsl:variable name="flatxml">
|
410
|
+
<xsl:apply-templates select="xalan:nodeset($flatxml_)" mode="pagebreak"/>
|
411
|
+
</xsl:variable>
|
412
|
+
|
377
413
|
<!-- flatxml=<xsl:copy-of select="$flatxml"/> -->
|
378
414
|
|
379
415
|
<!-- indexes=<xsl:copy-of select="$indexes"/> -->
|
@@ -830,7 +866,8 @@
|
|
830
866
|
</xsl:choose>
|
831
867
|
</xsl:template>
|
832
868
|
|
833
|
-
<xsl:template match="bipm:clause[@type = 'index']" mode="flatxml"/>
|
869
|
+
<!-- <xsl:template match="bipm:clause[@type = 'index']" mode="flatxml"/> -->
|
870
|
+
<xsl:template match="bipm:indexsect" mode="flatxml"/>
|
834
871
|
<!-- <xsl:template match="bipm:clause[@type = 'index']" mode="flatxml">
|
835
872
|
<xsl:copy>
|
836
873
|
<xsl:apply-templates select="@*" mode="flatxml_index"/>
|
@@ -858,8 +895,82 @@
|
|
858
895
|
<!-- END: Flattening xml for fit notes at page sides (margins) -->
|
859
896
|
<!-- ================================= -->
|
860
897
|
|
898
|
+
<!-- ================================= -->
|
899
|
+
<!-- Page breaks processing (close previous elements (clause) and start new) -->
|
900
|
+
<!-- ================================= -->
|
901
|
+
<xsl:template match="@*|node()" mode="pagebreak">
|
902
|
+
<xsl:copy>
|
903
|
+
<xsl:apply-templates select="@*|node()" mode="pagebreak"/>
|
904
|
+
</xsl:copy>
|
905
|
+
</xsl:template>
|
861
906
|
|
907
|
+
<xsl:template match="node()[bipm:pagebreak[@orientation]]" mode="pagebreak">
|
908
|
+
<xsl:variable name="element_name" select="local-name()"/>
|
909
|
+
<xsl:for-each select="bipm:pagebreak[@orientation]">
|
910
|
+
<xsl:variable name="pagebreak_id" select="generate-id()"/>
|
911
|
+
<xsl:variable name="pagebreak_previous_orientation" select="preceding-sibling::bipm:pagebreak[@orientation][1]/@orientation"/>
|
912
|
+
|
913
|
+
<!-- copy elements before page break -->
|
914
|
+
<xsl:element name="{$element_name}" namespace="https://www.metanorma.org/ns/bipm">
|
915
|
+
<xsl:if test="not(preceding-sibling::bipm:pagebreak[@orientation])">
|
916
|
+
<xsl:apply-templates select="../@*" mode="pagebreak"/>
|
917
|
+
</xsl:if>
|
918
|
+
<xsl:if test="$pagebreak_previous_orientation != ''">
|
919
|
+
<xsl:attribute name="orientation"><xsl:value-of select="$pagebreak_previous_orientation"/></xsl:attribute>
|
920
|
+
</xsl:if>
|
921
|
+
|
922
|
+
<xsl:apply-templates select="preceding-sibling::node()[following-sibling::bipm:pagebreak[@orientation][1][generate-id(.) = $pagebreak_id]][not(local-name() = 'pagebreak' and @orientation)]" mode="pagebreak"/>
|
923
|
+
</xsl:element>
|
924
|
+
|
925
|
+
<!-- copy elements after last page break -->
|
926
|
+
<xsl:if test="position() = last() and following-sibling::node()">
|
927
|
+
<xsl:element name="{$element_name}" namespace="https://www.metanorma.org/ns/bipm">
|
928
|
+
<xsl:attribute name="orientation"><xsl:value-of select="@orientation"/></xsl:attribute>
|
929
|
+
<xsl:apply-templates select="following-sibling::node()" mode="pagebreak"/>
|
930
|
+
</xsl:element>
|
931
|
+
</xsl:if>
|
932
|
+
|
933
|
+
</xsl:for-each>
|
934
|
+
|
935
|
+
</xsl:template>
|
862
936
|
|
937
|
+
<xsl:template match="bipm:pagebreak2" mode="pagebreak">
|
938
|
+
<xsl:variable name="orientation" select="normalize-space(@orientation)"/>
|
939
|
+
<xsl:variable name="tree">
|
940
|
+
<xsl:for-each select="ancestor::*[ancestor::bipm:sections or ancestor::bipm:annex or ancestor::bipm:preface]">
|
941
|
+
<element pos="{position()}">
|
942
|
+
<xsl:value-of select="name()"/>
|
943
|
+
</element>
|
944
|
+
</xsl:for-each>
|
945
|
+
</xsl:variable>
|
946
|
+
<!-- close preceding elements -->
|
947
|
+
<xsl:for-each select="xalan:nodeset($tree)//element">
|
948
|
+
<xsl:sort data-type="number" order="descending" select="@pos"/>
|
949
|
+
<xsl:text disable-output-escaping="yes"></</xsl:text>
|
950
|
+
<xsl:value-of select="."/>
|
951
|
+
<xsl:text disable-output-escaping="yes">></xsl:text>
|
952
|
+
</xsl:for-each>
|
953
|
+
<!-- open elements -->
|
954
|
+
<xsl:for-each select="xalan:nodeset($tree)//element">
|
955
|
+
<xsl:text disable-output-escaping="yes"><</xsl:text>
|
956
|
+
<xsl:value-of select="."/>
|
957
|
+
<xsl:for-each select="@*[local-name() != 'pos']">
|
958
|
+
<xsl:text> </xsl:text>
|
959
|
+
<xsl:value-of select="local-name()"/>
|
960
|
+
<xsl:text>="</xsl:text>
|
961
|
+
<xsl:value-of select="."/>
|
962
|
+
<xsl:text>"</xsl:text>
|
963
|
+
</xsl:for-each>
|
964
|
+
<xsl:if test="position() = 1">
|
965
|
+
<xsl:text> orientation="</xsl:text><xsl:value-of select="$orientation"/><xsl:text>"</xsl:text>
|
966
|
+
</xsl:if>
|
967
|
+
<xsl:text disable-output-escaping="yes">></xsl:text>
|
968
|
+
</xsl:for-each>
|
969
|
+
|
970
|
+
</xsl:template>
|
971
|
+
<!-- ================================= -->
|
972
|
+
<!-- END: Page breaks processing -->
|
973
|
+
<!-- ================================= -->
|
863
974
|
|
864
975
|
<xsl:template match="bipm:bipm-standard"/>
|
865
976
|
<xsl:template match="bipm:bipm-standard" mode="bipm-standard">
|
@@ -1069,12 +1180,11 @@
|
|
1069
1180
|
|
1070
1181
|
|
1071
1182
|
<!-- Document Pages -->
|
1072
|
-
|
1073
1183
|
<xsl:apply-templates select="bipm:sections/*" mode="sections"/>
|
1074
1184
|
|
1075
1185
|
|
1076
|
-
|
1077
1186
|
<!-- Normative references -->
|
1187
|
+
|
1078
1188
|
<xsl:apply-templates select="bipm:bibliography/bipm:references[@normative='true']" mode="sections"/>
|
1079
1189
|
|
1080
1190
|
<xsl:apply-templates select="bipm:annex" mode="sections"/>
|
@@ -1082,8 +1192,12 @@
|
|
1082
1192
|
<!-- Bibliography -->
|
1083
1193
|
<xsl:apply-templates select="bipm:bibliography/bipm:references[not(@normative='true')]" mode="sections"/>
|
1084
1194
|
|
1195
|
+
<!-- Document Control -->
|
1196
|
+
<xsl:apply-templates select="bipm:doccontrol" mode="sections"/>
|
1197
|
+
|
1085
1198
|
<!-- Index -->
|
1086
|
-
<xsl:apply-templates select="xalan:nodeset($indexes)/doc[@id = $docid]//bipm:clause[@type = 'index']" mode="index"/>
|
1199
|
+
<!-- <xsl:apply-templates select="xalan:nodeset($indexes)/doc[@id = $docid]//bipm:clause[@type = 'index']" mode="index" /> -->
|
1200
|
+
<xsl:apply-templates select="xalan:nodeset($indexes)/doc[@id = $docid]//bipm:indexsect" mode="index"/>
|
1087
1201
|
|
1088
1202
|
<!-- End Document Pages -->
|
1089
1203
|
|
@@ -1234,7 +1348,6 @@
|
|
1234
1348
|
<xsl:apply-templates select="bipm:preface/*" mode="sections"/> <!-- bipm:clause -->
|
1235
1349
|
|
1236
1350
|
<!-- Document Pages -->
|
1237
|
-
|
1238
1351
|
<xsl:apply-templates select="bipm:sections/*" mode="sections"/>
|
1239
1352
|
<!-- <xsl:call-template name="sections_appendix"/> --> <!-- without pagebreaks -->
|
1240
1353
|
|
@@ -1246,8 +1359,12 @@
|
|
1246
1359
|
|
1247
1360
|
<xsl:apply-templates select="bipm:bibliography/bipm:references[not(@normative='true')]" mode="sections"/>
|
1248
1361
|
|
1362
|
+
<!-- Document Control -->
|
1363
|
+
<xsl:apply-templates select="bipm:doccontrol" mode="sections"/>
|
1364
|
+
|
1249
1365
|
<!-- Index -->
|
1250
|
-
<xsl:apply-templates select="xalan:nodeset($indexes)/doc[@id = $docid]//bipm:clause[@type = 'index']" mode="index"/>
|
1366
|
+
<!-- <xsl:apply-templates select="xalan:nodeset($indexes)/doc[@id = $docid]//bipm:clause[@type = 'index']" mode="index" /> -->
|
1367
|
+
<xsl:apply-templates select="xalan:nodeset($indexes)/doc[@id = $docid]//bipm:indexsect" mode="index"/>
|
1251
1368
|
|
1252
1369
|
</xsl:otherwise>
|
1253
1370
|
</xsl:choose>
|
@@ -1389,17 +1506,20 @@
|
|
1389
1506
|
|
1390
1507
|
<xsl:variable name="titles_length" select="string-length($title_appendix_fr) + string-length($title_appendix_en) + string-length($title_annex_fr) + string-length($title_annex_en) + string-length($title_part_fr) + string-length($title_part_en) + string-length($title_subpart_fr) + string-length($title_subpart_fr)"/>
|
1391
1508
|
|
1392
|
-
<xsl:variable name="font-size-number-factor">
|
1509
|
+
<!-- <xsl:variable name="font-size-number-factor">
|
1393
1510
|
<xsl:choose>
|
1394
1511
|
<xsl:when test="$titles_length > 350">0.7</xsl:when>
|
1395
1512
|
<xsl:when test="$titles_length > 250">0.85</xsl:when>
|
1513
|
+
<xsl:when test="$titles_length > 130">0.9</xsl:when>
|
1396
1514
|
<xsl:otherwise>1</xsl:otherwise>
|
1397
1515
|
</xsl:choose>
|
1398
|
-
</xsl:variable>
|
1516
|
+
</xsl:variable> -->
|
1399
1517
|
|
1400
1518
|
<xsl:variable name="space-factor">
|
1401
1519
|
<xsl:choose>
|
1402
1520
|
<xsl:when test="$titles_length > 250">0.3</xsl:when>
|
1521
|
+
<xsl:when test="$titles_length > 200">0.5</xsl:when>
|
1522
|
+
<xsl:when test="$titles_length > 150">0.7</xsl:when>
|
1403
1523
|
<xsl:otherwise>1</xsl:otherwise>
|
1404
1524
|
</xsl:choose>
|
1405
1525
|
</xsl:variable>
|
@@ -1407,11 +1527,21 @@
|
|
1407
1527
|
<xsl:variable name="font-size-factor">
|
1408
1528
|
<xsl:choose>
|
1409
1529
|
<xsl:when test="$titles_length > 350">0.5</xsl:when>
|
1410
|
-
<xsl:when test="$titles_length > 250">0.
|
1530
|
+
<xsl:when test="$titles_length > 250">0.55</xsl:when>
|
1531
|
+
<xsl:when test="$titles_length > 180">0.65</xsl:when>
|
1532
|
+
<xsl:when test="$titles_length > 130">0.8</xsl:when>
|
1411
1533
|
<xsl:otherwise>1</xsl:otherwise>
|
1412
1534
|
</xsl:choose>
|
1413
1535
|
</xsl:variable>
|
1414
|
-
|
1536
|
+
|
1537
|
+
<xsl:variable name="font-size-number-factor">
|
1538
|
+
<xsl:choose>
|
1539
|
+
<xsl:when test="$font-size-factor < 1"><xsl:value-of select="$font-size-factor *1.3"/></xsl:when>
|
1540
|
+
<xsl:otherwise>1</xsl:otherwise>
|
1541
|
+
</xsl:choose>
|
1542
|
+
</xsl:variable>
|
1543
|
+
|
1544
|
+
<!-- <fo:block font-size="6pt">DEBUG font-size-factor=<xsl:value-of select="$font-size-factor"/>, titles_length=<xsl:value-of select="$titles_length"/></fo:block> -->
|
1415
1545
|
<!-- Appendix titles processing -->
|
1416
1546
|
<xsl:variable name="appendix_num" select="normalize-space((//bipm:bipm-standard)[1]/bipm:bibdata/bipm:ext/bipm:structuredidentifier/bipm:appendix)"/>
|
1417
1547
|
<xsl:if test="$appendix_num != ''">
|
@@ -1831,11 +1961,12 @@
|
|
1831
1961
|
<xsl:if test="@level >= 3">
|
1832
1962
|
<fo:inline padding-right="2mm"><xsl:value-of select="@section"/></fo:inline>
|
1833
1963
|
</xsl:if>
|
1834
|
-
<xsl:variable name="sectionTitle">
|
1964
|
+
<!-- <xsl:variable name="sectionTitle">
|
1835
1965
|
<xsl:apply-templates select="title"/>
|
1836
|
-
</xsl:variable>
|
1966
|
+
</xsl:variable> -->
|
1837
1967
|
<fo:inline>
|
1838
|
-
<xsl:value-of select="$sectionTitle"/>
|
1968
|
+
<!-- <xsl:value-of select="$sectionTitle"/> -->
|
1969
|
+
<xsl:apply-templates select="title"/>
|
1839
1970
|
</fo:inline>
|
1840
1971
|
<!-- <xsl:text> </xsl:text> -->
|
1841
1972
|
<!-- keep-together.within-line="always" -->
|
@@ -1913,6 +2044,7 @@
|
|
1913
2044
|
<xsl:variable name="type">
|
1914
2045
|
<xsl:choose>
|
1915
2046
|
<xsl:when test="@type = 'index'">index</xsl:when>
|
2047
|
+
<xsl:when test="local-name() = 'indexsect'">index</xsl:when>
|
1916
2048
|
<xsl:otherwise><xsl:value-of select="local-name()"/></xsl:otherwise>
|
1917
2049
|
</xsl:choose>
|
1918
2050
|
</xsl:variable>
|
@@ -1931,17 +2063,26 @@
|
|
1931
2063
|
</xsl:if>
|
1932
2064
|
</xsl:template>
|
1933
2065
|
|
2066
|
+
<xsl:template match="*[local-name() = 'strong']" mode="contents_item" priority="2">
|
2067
|
+
<!-- <xsl:copy> -->
|
2068
|
+
<xsl:apply-templates mode="contents_item"/>
|
2069
|
+
<!-- </xsl:copy> -->
|
2070
|
+
</xsl:template>
|
2071
|
+
|
1934
2072
|
<!-- ============================= -->
|
1935
2073
|
<!-- ============================= -->
|
1936
2074
|
|
1937
2075
|
|
1938
2076
|
<xsl:template match="node()" mode="sections">
|
1939
2077
|
<fo:page-sequence master-reference="document" force-page-count="no-force">
|
2078
|
+
<xsl:if test="@orientation = 'landscape'">
|
2079
|
+
<xsl:attribute name="master-reference">document-landscape</xsl:attribute>
|
2080
|
+
</xsl:if>
|
2081
|
+
|
1940
2082
|
<xsl:call-template name="insertFootnoteSeparator"/>
|
1941
2083
|
|
1942
2084
|
<xsl:variable name="header-title">
|
1943
2085
|
<xsl:choose>
|
1944
|
-
|
1945
2086
|
<xsl:when test="local-name(..) = 'sections'">
|
1946
2087
|
<xsl:choose>
|
1947
2088
|
<xsl:when test="./bipm:title[1]/*[local-name() = 'tab']">
|
@@ -1982,6 +2123,7 @@
|
|
1982
2123
|
</xsl:variable>
|
1983
2124
|
<xsl:call-template name="insertHeaderFooter">
|
1984
2125
|
<xsl:with-param name="header-title" select="$header-title"/>
|
2126
|
+
<xsl:with-param name="orientation" select="@orientation"/>
|
1985
2127
|
</xsl:call-template>
|
1986
2128
|
|
1987
2129
|
<fo:flow flow-name="xsl-region-body">
|
@@ -2453,13 +2595,25 @@
|
|
2453
2595
|
<xsl:variable name="space-before-value" select="normalize-space($space-before)"/>
|
2454
2596
|
|
2455
2597
|
<fo:table table-layout="fixed" width="174mm" line-height="135%">
|
2598
|
+
<xsl:if test="@orientation = 'landscape'">
|
2599
|
+
<xsl:attribute name="width">261mm</xsl:attribute> <!-- 87 = (297 - 210) -->
|
2600
|
+
</xsl:if>
|
2456
2601
|
<xsl:call-template name="setId"/>
|
2457
2602
|
<xsl:if test="$space-before-value != ''">
|
2458
2603
|
<xsl:attribute name="space-before"><xsl:value-of select="$space-before-value"/></xsl:attribute>
|
2459
2604
|
</xsl:if>
|
2460
|
-
|
2605
|
+
|
2606
|
+
<xsl:choose>
|
2607
|
+
<xsl:when test="@orientation = 'landscape'">
|
2608
|
+
<fo:table-column column-width="224mm"/> <!-- +87 -->
|
2609
|
+
</xsl:when>
|
2610
|
+
<xsl:otherwise>
|
2611
|
+
<fo:table-column column-width="137mm"/>
|
2612
|
+
</xsl:otherwise>
|
2613
|
+
</xsl:choose>
|
2461
2614
|
<fo:table-column column-width="5mm"/>
|
2462
2615
|
<fo:table-column column-width="32mm"/>
|
2616
|
+
|
2463
2617
|
<fo:table-body>
|
2464
2618
|
|
2465
2619
|
<xsl:variable name="total_rows" select="count(*)"/>
|
@@ -3040,6 +3194,18 @@
|
|
3040
3194
|
</fo:block>
|
3041
3195
|
</xsl:template>
|
3042
3196
|
|
3197
|
+
<xsl:template match="bipm:preferred">
|
3198
|
+
<fo:block font-weight="bold" keep-with-next="always" space-before="8pt" margin-bottom="6pt">
|
3199
|
+
<xsl:if test="ancestor::bipm:term/bipm:name">
|
3200
|
+
<fo:inline>
|
3201
|
+
<xsl:attribute name="padding-right">2mm</xsl:attribute>
|
3202
|
+
<xsl:apply-templates select="ancestor::bipm:term/bipm:name" mode="presentation"/>
|
3203
|
+
</fo:inline>
|
3204
|
+
</xsl:if>
|
3205
|
+
<xsl:apply-templates/>
|
3206
|
+
</fo:block>
|
3207
|
+
</xsl:template>
|
3208
|
+
|
3043
3209
|
<xsl:template match="bipm:bibitem">
|
3044
3210
|
<fo:block id="{@id}" margin-bottom="12pt" start-indent="25mm" text-indent="-25mm" line-height="115%">
|
3045
3211
|
<xsl:if test=".//bipm:fn">
|
@@ -3258,7 +3424,7 @@
|
|
3258
3424
|
|
3259
3425
|
<!-- set height for sup -->
|
3260
3426
|
<!-- <xsl:template match="mathml:msup[count(*) = 2 and count(mathml:mrow) = 2]/mathml:mrow[1][count(*) = 1 and mathml:mtext and (mathml:mtext/text() != '' and mathml:mtext/text() != ' ' and mathml:mtext/text() != ' ')]/mathml:mtext" mode="mtext"> -->
|
3261
|
-
<xsl:template match="mathml:msup[count(*) = 2 and count(mathml:mrow) = 2]/mathml:mrow[1][count(*) = 1]/*" mode="mathml" priority="
|
3427
|
+
<xsl:template match="mathml:msup[count(*) = 2 and count(mathml:mrow) = 2]/mathml:mrow[1][count(*) = 1 and not(mathml:mfenced)]/*" mode="mathml" priority="3">
|
3262
3428
|
<xsl:copy>
|
3263
3429
|
<xsl:apply-templates select="@*|node()" mode="mathml"/>
|
3264
3430
|
</xsl:copy>
|
@@ -3283,8 +3449,94 @@
|
|
3283
3449
|
</mathml:mstyle>
|
3284
3450
|
</xsl:template>
|
3285
3451
|
|
3452
|
+
<!-- Decrease space between ()
|
3453
|
+
from:
|
3454
|
+
<mfenced open="(" close=")">
|
3455
|
+
<mrow>
|
3456
|
+
<mtext>Cu</mtext>
|
3457
|
+
</mrow>
|
3458
|
+
</mfenced>
|
3459
|
+
to:
|
3460
|
+
<mfenced open="(" close=")" separators="">
|
3461
|
+
<mathml:mo rspace="-0.35em"></mathml:mo>
|
3462
|
+
<mathml:mspace width="-0.15em"/>
|
3463
|
+
<mrow>
|
3464
|
+
<mtext>Cu</mtext>
|
3465
|
+
</mrow>
|
3466
|
+
<mathml:mspace width="-0.1em"/>
|
3467
|
+
</mfenced>
|
3468
|
+
-->
|
3469
|
+
<xsl:template match="mathml:mfenced[count(*) = 1]" mode="mathml" priority="2">
|
3470
|
+
<xsl:if test="preceding-sibling::*">
|
3471
|
+
<mathml:mo rspace="-0.35em"/><!-- decrease space before opening bracket -->
|
3472
|
+
</xsl:if>
|
3473
|
+
<xsl:copy>
|
3474
|
+
<xsl:apply-templates select="@*" mode="mathml"/>
|
3475
|
+
<xsl:if test="not(@separators)">
|
3476
|
+
<xsl:attribute name="separators"/>
|
3477
|
+
</xsl:if>
|
3478
|
+
<mathml:mspace width="-0.15em"/> <!-- decrease space between opening brackets and inside text-->
|
3479
|
+
<xsl:apply-templates mode="mathml"/>
|
3480
|
+
<mathml:mspace width="-0.1em"/> <!-- decrease space between inside text and closing brackets -->
|
3481
|
+
</xsl:copy>
|
3482
|
+
</xsl:template>
|
3483
|
+
|
3484
|
+
<!-- to:
|
3485
|
+
<mrow>
|
3486
|
+
<mtext>(Cu)</mtext>
|
3487
|
+
</mrow> -->
|
3488
|
+
<!-- <xsl:template match="mathml:mfenced[count(*) = 1 and *[count(*) = 1] and */*[count(*) = 0]] |
|
3489
|
+
mathml:mfenced[count(*) = 1 and *[count(*) = 1] and */*[count(*) = 1] and */*/*[count(*) = 0]]" mode="mathml" priority="2">
|
3490
|
+
<xsl:apply-templates mode="mathml"/>
|
3491
|
+
</xsl:template>
|
3492
|
+
<xsl:template match="mathml:mfenced[count(*) = 1]/*[count(*) = 1]/*[count(*) = 0] |
|
3493
|
+
mathml:mfenced[count(*) = 1]/*[count(*) = 1]/*[count(*) = 1]/*[count(*) = 0]" mode="mathml" priority="2">
|
3494
|
+
<xsl:copy>
|
3495
|
+
<xsl:apply-templates select="@*" mode="mathml"/>
|
3496
|
+
<xsl:value-of select="ancestor::mathml:mfenced[1]/@open"/>
|
3497
|
+
<xsl:value-of select="."/>
|
3498
|
+
<xsl:value-of select="ancestor::mathml:mfenced[1]/@close"/>
|
3499
|
+
</xsl:copy>
|
3500
|
+
</xsl:template> -->
|
3501
|
+
|
3502
|
+
<!-- Decrease height of / and | -->
|
3503
|
+
<xsl:template match="mathml:mo[normalize-space(text()) = '/' or normalize-space(text()) = '|']" mode="mathml">
|
3504
|
+
<xsl:copy>
|
3505
|
+
<xsl:apply-templates select="@*" mode="mathml"/>
|
3506
|
+
<xsl:if test="not(@stretchy) and not(preceding-sibling::*[1][local-name() = 'mfrac'] and following-sibling::*[1][local-name() = 'mfrac'])">
|
3507
|
+
<xsl:attribute name="stretchy">false</xsl:attribute>
|
3508
|
+
</xsl:if>
|
3509
|
+
<xsl:apply-templates mode="mathml"/>
|
3510
|
+
</xsl:copy>
|
3511
|
+
</xsl:template>
|
3512
|
+
|
3513
|
+
<!-- Decrease a distance before and after of delta -->
|
3514
|
+
<xsl:template match="mathml:mo[normalize-space(text()) = 'Δ']" mode="mathml">
|
3515
|
+
<xsl:copy>
|
3516
|
+
<xsl:apply-templates select="@*" mode="mathml"/>
|
3517
|
+
<xsl:if test="not(@rspace)">
|
3518
|
+
<xsl:attribute name="rspace">0em</xsl:attribute>
|
3519
|
+
</xsl:if>
|
3520
|
+
<xsl:if test="not(@lspace) and (preceding-sibling::*[1][local-name() = 'mo'] or not(preceding-sibling::*))">
|
3521
|
+
<xsl:attribute name="lspace">0em</xsl:attribute>
|
3522
|
+
</xsl:if>
|
3523
|
+
<xsl:apply-templates mode="mathml"/>
|
3524
|
+
</xsl:copy>
|
3525
|
+
</xsl:template>
|
3526
|
+
|
3527
|
+
<xsl:template match="mathml:mi[string-length(normalize-space()) > 1]" mode="mathml" priority="2">
|
3528
|
+
<xsl:if test="preceding-sibling::* and preceding-sibling::*[1][not(local-name() = 'mfenced' or local-name() = 'mo')]">
|
3529
|
+
<mathml:mspace width="0.3em"/>
|
3530
|
+
</xsl:if>
|
3531
|
+
<xsl:copy-of select="."/>
|
3532
|
+
<xsl:if test="following-sibling::* and following-sibling::*[1][not(local-name() = 'mfenced' or local-name() = 'mo')]">
|
3533
|
+
<mathml:mspace width="0.3em"/>
|
3534
|
+
</xsl:if>
|
3535
|
+
</xsl:template>
|
3536
|
+
|
3286
3537
|
<xsl:template name="insertHeaderFooter">
|
3287
|
-
<xsl:param name="header-title"/>
|
3538
|
+
<xsl:param name="header-title"/>
|
3539
|
+
<xsl:param name="orientation"/>
|
3288
3540
|
<fo:static-content flow-name="header-odd">
|
3289
3541
|
<fo:block-container font-family="Arial" font-size="8pt" padding-top="12.5mm">
|
3290
3542
|
<fo:block text-align="right">
|
@@ -3299,9 +3551,12 @@
|
|
3299
3551
|
</fo:block>
|
3300
3552
|
</fo:block-container>
|
3301
3553
|
<fo:block-container font-size="1pt" border-top="0.5pt solid black" margin-left="81mm" width="86mm">
|
3302
|
-
|
3303
|
-
|
3304
|
-
|
3554
|
+
<xsl:if test="$orientation = 'landscape'">
|
3555
|
+
<xsl:attribute name="margin-left">168mm</xsl:attribute>
|
3556
|
+
</xsl:if>
|
3557
|
+
<fo:block> </fo:block>
|
3558
|
+
</fo:block-container>
|
3559
|
+
</fo:static-content>
|
3305
3560
|
<fo:static-content flow-name="header-even">
|
3306
3561
|
<fo:block-container font-family="Arial" font-size="8pt" padding-top="12.5mm">
|
3307
3562
|
<fo:block>
|
@@ -3409,7 +3664,12 @@
|
|
3409
3664
|
<xsl:value-of select="concat($day, ' ', $monthStr, ' ', $year)"/>
|
3410
3665
|
</xsl:when>
|
3411
3666
|
<xsl:otherwise>
|
3412
|
-
<xsl:value-of select="concat($monthStr, ' ', $day, ', ', $year)"/>
|
3667
|
+
<!-- <xsl:value-of select="concat($monthStr, ' ', $day, ', ', $year)"/> -->
|
3668
|
+
<xsl:value-of select="$monthStr"/>
|
3669
|
+
<xsl:text> </xsl:text>
|
3670
|
+
<xsl:value-of select="$day"/>
|
3671
|
+
<xsl:if test="$day != '' and $year != ''"><xsl:text>, </xsl:text></xsl:if>
|
3672
|
+
<xsl:value-of select="$year"/>
|
3413
3673
|
</xsl:otherwise>
|
3414
3674
|
</xsl:choose>
|
3415
3675
|
|
@@ -3454,127 +3714,10 @@
|
|
3454
3714
|
<!-- Index processing -->
|
3455
3715
|
<!-- =================== -->
|
3456
3716
|
|
3457
|
-
<xsl:template match="
|
3458
|
-
|
3459
|
-
|
3460
|
-
|
3461
|
-
</xsl:template>
|
3462
|
-
|
3463
|
-
<xsl:template match="bipm:xref" mode="index_add_id">
|
3464
|
-
<xsl:variable name="id">
|
3465
|
-
<xsl:call-template name="generateIndexXrefId"/>
|
3466
|
-
</xsl:variable>
|
3467
|
-
<xsl:copy> <!-- add id to xref -->
|
3468
|
-
<xsl:apply-templates select="@*" mode="index_add_id"/>
|
3469
|
-
<xsl:attribute name="id">
|
3470
|
-
<xsl:value-of select="$id"/>
|
3471
|
-
</xsl:attribute>
|
3472
|
-
<xsl:apply-templates mode="index_add_id"/>
|
3473
|
-
</xsl:copy>
|
3474
|
-
<!-- split <xref target="bm1" to="End" pagenumber="true"> to two xref:
|
3475
|
-
<xref target="bm1" pagenumber="true"> and <xref target="End" pagenumber="true"> -->
|
3476
|
-
<xsl:if test="@to">
|
3477
|
-
<xsl:value-of select="$dash"/>
|
3478
|
-
<xsl:copy>
|
3479
|
-
<xsl:copy-of select="@*"/>
|
3480
|
-
<xsl:attribute name="target"><xsl:value-of select="@to"/></xsl:attribute>
|
3481
|
-
<xsl:attribute name="id">
|
3482
|
-
<xsl:value-of select="$id"/><xsl:text>_to</xsl:text>
|
3483
|
-
</xsl:attribute>
|
3484
|
-
<xsl:apply-templates mode="index_add_id"/>
|
3485
|
-
</xsl:copy>
|
3486
|
-
</xsl:if>
|
3487
|
-
</xsl:template>
|
3488
|
-
|
3489
|
-
<xsl:template match="@*|node()" mode="index_update">
|
3490
|
-
<xsl:copy>
|
3491
|
-
<xsl:apply-templates select="@*|node()" mode="index_update"/>
|
3492
|
-
</xsl:copy>
|
3493
|
-
</xsl:template>
|
3494
|
-
|
3495
|
-
<xsl:template match="bipm:clause[@type = 'index']//bipm:li" mode="index_update">
|
3496
|
-
<xsl:copy>
|
3497
|
-
<xsl:apply-templates select="@*" mode="index_update"/>
|
3498
|
-
<xsl:apply-templates select="node()[1]" mode="process_li_element"/>
|
3499
|
-
</xsl:copy>
|
3500
|
-
</xsl:template>
|
3501
|
-
|
3502
|
-
<xsl:template match="bipm:clause[@type = 'index']//bipm:li/node()" mode="process_li_element" priority="2">
|
3503
|
-
<xsl:param name="element"/>
|
3504
|
-
<xsl:param name="remove" select="'false'"/>
|
3505
|
-
<!-- <node></node> -->
|
3506
|
-
<xsl:choose>
|
3507
|
-
<xsl:when test="self::text() and (normalize-space(.) = ',' or normalize-space(.) = $dash) and $remove = 'true'">
|
3508
|
-
<!-- skip text (i.e. remove it) and process next element -->
|
3509
|
-
<!-- [removed_<xsl:value-of select="."/>] -->
|
3510
|
-
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
|
3511
|
-
</xsl:when>
|
3512
|
-
<xsl:when test="self::text()">
|
3513
|
-
<xsl:value-of select="."/>
|
3514
|
-
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
|
3515
|
-
</xsl:when>
|
3516
|
-
<xsl:when test="self::* and local-name(.) = 'xref'">
|
3517
|
-
<xsl:variable name="id" select="@id"/>
|
3518
|
-
<xsl:variable name="page" select="$index//item[@id = $id]"/>
|
3519
|
-
<xsl:variable name="id_next" select="following-sibling::bipm:xref[1]/@id"/>
|
3520
|
-
<xsl:variable name="page_next" select="$index//item[@id = $id_next]"/>
|
3521
|
-
|
3522
|
-
<xsl:variable name="id_prev" select="preceding-sibling::bipm:xref[1]/@id"/>
|
3523
|
-
<xsl:variable name="page_prev" select="$index//item[@id = $id_prev]"/>
|
3524
|
-
|
3525
|
-
<xsl:choose>
|
3526
|
-
<!-- 2nd pass -->
|
3527
|
-
<!-- if page is equal to page for next and page is not the end of range -->
|
3528
|
-
<xsl:when test="$page != '' and $page_next != '' and $page = $page_next and not(contains($page, '_to'))"> <!-- case: 12, 12-14 -->
|
3529
|
-
<!-- skip element (i.e. remove it) and remove next text ',' -->
|
3530
|
-
<!-- [removed_xref] -->
|
3531
|
-
|
3532
|
-
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
|
3533
|
-
<xsl:with-param name="remove">true</xsl:with-param>
|
3534
|
-
</xsl:apply-templates>
|
3535
|
-
</xsl:when>
|
3536
|
-
|
3537
|
-
<xsl:when test="$page != '' and $page_prev != '' and $page = $page_prev and contains($page_prev, '_to')"> <!-- case: 12-14, 14, ... -->
|
3538
|
-
<!-- remove xref -->
|
3539
|
-
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
|
3540
|
-
<xsl:with-param name="remove">true</xsl:with-param>
|
3541
|
-
</xsl:apply-templates>
|
3542
|
-
</xsl:when>
|
3543
|
-
|
3544
|
-
<xsl:otherwise>
|
3545
|
-
<xsl:copy-of select="."/>
|
3546
|
-
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
|
3547
|
-
</xsl:otherwise>
|
3548
|
-
</xsl:choose>
|
3549
|
-
</xsl:when>
|
3550
|
-
<xsl:when test="self::* and local-name(.) = 'ul'">
|
3551
|
-
<!-- ul -->
|
3552
|
-
<xsl:apply-templates select="." mode="index_update"/>
|
3553
|
-
</xsl:when>
|
3554
|
-
<xsl:otherwise>
|
3555
|
-
<xsl:copy-of select="."/>
|
3556
|
-
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
|
3557
|
-
</xsl:otherwise>
|
3558
|
-
</xsl:choose>
|
3559
|
-
</xsl:template>
|
3560
|
-
|
3561
|
-
|
3562
|
-
<xsl:template name="generateIndexXrefId">
|
3563
|
-
<xsl:variable name="level" select="count(ancestor::bipm:ul)"/>
|
3564
|
-
<!-- <xsl:variable name="parent_ul_id" select="generate-id(ancestor::bipm:ul[1])"/>
|
3565
|
-
<xsl:variable name="item_number" select="count(ancestor::bipm:li[ancestor::bipm:ul[generate-id() = $parent_ul_id]])"/> -->
|
3566
|
-
<xsl:variable name="docid">
|
3567
|
-
<xsl:call-template name="getDocumentId"/>
|
3568
|
-
</xsl:variable>
|
3569
|
-
<xsl:variable name="item_number">
|
3570
|
-
<xsl:number count="bipm:li[ancestor::bipm:clause[@type = 'index']]" level="any"/>
|
3571
|
-
</xsl:variable>
|
3572
|
-
<xsl:variable name="xref_number"><xsl:number count="bipm:xref"/></xsl:variable>
|
3573
|
-
<xsl:value-of select="concat($docid, '_', $item_number, '_', $xref_number)"/> <!-- $level, '_', -->
|
3574
|
-
</xsl:template>
|
3575
|
-
|
3576
|
-
<xsl:template match="bipm:clause[@type = 'index']"/>
|
3577
|
-
<xsl:template match="bipm:clause[@type = 'index']" mode="index">
|
3717
|
+
<!-- <xsl:template match="bipm:clause[@type = 'index']" /> -->
|
3718
|
+
<!-- <xsl:template match="bipm:clause[@type = 'index']" mode="index"> -->
|
3719
|
+
<xsl:template match="bipm:indexsect"/>
|
3720
|
+
<xsl:template match="bipm:indexsect" mode="index">
|
3578
3721
|
|
3579
3722
|
<fo:page-sequence master-reference="index" force-page-count="no-force">
|
3580
3723
|
<xsl:variable name="header-title">
|
@@ -3592,8 +3735,11 @@
|
|
3592
3735
|
</xsl:call-template>
|
3593
3736
|
|
3594
3737
|
<fo:flow flow-name="xsl-region-body">
|
3595
|
-
<fo:block id="{@id}">
|
3596
|
-
<xsl:apply-templates/>
|
3738
|
+
<fo:block id="{@id}" span="all">
|
3739
|
+
<xsl:apply-templates select="bipm:title"/>
|
3740
|
+
</fo:block>
|
3741
|
+
<fo:block>
|
3742
|
+
<xsl:apply-templates select="*[not(local-name() = 'title')]"/>
|
3597
3743
|
|
3598
3744
|
<!-- TEST <xsl:variable name="alphabet" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
|
3599
3745
|
<xsl:for-each select="(document('')//node())[position() < 26]">
|
@@ -3616,42 +3762,25 @@
|
|
3616
3762
|
</fo:page-sequence>
|
3617
3763
|
</xsl:template>
|
3618
3764
|
|
3619
|
-
<xsl:template match="bipm:clause[@type = 'index']/bipm:title" priority="4">
|
3620
|
-
|
3765
|
+
<!-- <xsl:template match="bipm:clause[@type = 'index']/bipm:title" priority="4"> -->
|
3766
|
+
<xsl:template match="bipm:indexsect/bipm:title" priority="4">
|
3767
|
+
<fo:block font-size="16pt" font-weight="bold" margin-bottom="84pt" margin-left="-18mm">
|
3621
3768
|
<!-- Index -->
|
3622
3769
|
<xsl:apply-templates/>
|
3623
3770
|
</fo:block>
|
3624
3771
|
</xsl:template>
|
3772
|
+
|
3773
|
+
<!-- <xsl:template match="bipm:clause[@type = 'index']/bipm:clause/bipm:title" priority="4"> -->
|
3774
|
+
<xsl:template match="bipm:indexsect/bipm:clause/bipm:title" priority="4">
|
3775
|
+
<!-- Letter A, B, C, ... -->
|
3776
|
+
<fo:block font-size="10pt" font-weight="bold" margin-bottom="3pt" keep-with-next="always">
|
3777
|
+
<xsl:apply-templates/>
|
3778
|
+
</fo:block>
|
3779
|
+
</xsl:template>
|
3625
3780
|
|
3626
|
-
|
3627
|
-
|
3628
|
-
<
|
3629
|
-
<xsl:if test="following-sibling::bipm:clause">
|
3630
|
-
<fo:block> </fo:block>
|
3631
|
-
</xsl:if>
|
3632
|
-
</fo:block>
|
3633
|
-
</xsl:template>
|
3634
|
-
|
3635
|
-
<xsl:template match="bipm:clause[@type = 'index']/bipm:clause/bipm:title" priority="4">
|
3636
|
-
<!-- Letter A, B, C, ... -->
|
3637
|
-
<fo:block font-size="10pt" font-weight="bold" margin-bottom="3pt" keep-with-next="always">
|
3638
|
-
<xsl:apply-templates/>
|
3639
|
-
</fo:block>
|
3640
|
-
</xsl:template>
|
3641
|
-
|
3642
|
-
<xsl:template match="bipm:clause[@type = 'index']//bipm:ul" priority="4">
|
3643
|
-
<xsl:apply-templates/>
|
3644
|
-
</xsl:template>
|
3645
|
-
|
3646
|
-
<xsl:template match="bipm:clause[@type = 'index']//bipm:li" priority="4">
|
3647
|
-
<xsl:variable name="level" select="count(ancestor::bipm:ul)"/>
|
3648
|
-
<fo:block start-indent="{5 * $level}mm" text-indent="-5mm">
|
3649
|
-
<xsl:apply-templates/>
|
3650
|
-
</fo:block>
|
3651
|
-
</xsl:template>
|
3652
|
-
|
3653
|
-
<xsl:template match="bipm:bookmark">
|
3654
|
-
<fo:inline id="{@id}"/>
|
3781
|
+
|
3782
|
+
<xsl:template match="*[local-name() = 'stem']/text()">
|
3783
|
+
<xsl:value-of select="normalize-space()"/>
|
3655
3784
|
</xsl:template>
|
3656
3785
|
|
3657
3786
|
<!-- =================== -->
|
@@ -4315,6 +4444,7 @@
|
|
4315
4444
|
|
4316
4445
|
|
4317
4446
|
|
4447
|
+
|
4318
4448
|
</xsl:attribute-set><xsl:attribute-set name="termexample-name-style">
|
4319
4449
|
|
4320
4450
|
|
@@ -4422,6 +4552,7 @@
|
|
4422
4552
|
|
4423
4553
|
|
4424
4554
|
|
4555
|
+
|
4425
4556
|
</xsl:attribute-set><xsl:attribute-set name="quote-source-style">
|
4426
4557
|
|
4427
4558
|
|
@@ -4548,214 +4679,242 @@
|
|
4548
4679
|
</xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
|
4549
4680
|
<!-- <xsl:call-template name="add-zero-spaces"/> -->
|
4550
4681
|
<xsl:call-template name="add-zero-spaces-java"/>
|
4551
|
-
</xsl:template><xsl:template match="*[local-name()='table']">
|
4682
|
+
</xsl:template><xsl:template match="*[local-name()='table']" name="table">
|
4552
4683
|
|
4553
|
-
<xsl:variable name="
|
4554
|
-
<xsl:call-template name="getSimpleTable"/>
|
4555
|
-
</xsl:variable>
|
4684
|
+
<xsl:variable name="table">
|
4556
4685
|
|
4557
|
-
|
4558
|
-
|
4559
|
-
|
4560
|
-
|
4561
|
-
<!-- <xsl:if test="$namespace = 'bipm'">
|
4562
|
-
<fo:block> </fo:block>
|
4563
|
-
</xsl:if> -->
|
4564
|
-
|
4565
|
-
<!-- $namespace = 'iso' or -->
|
4566
|
-
|
4567
|
-
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
4568
|
-
|
4569
|
-
|
4570
|
-
|
4571
|
-
<xsl:call-template name="fn_name_display"/>
|
4686
|
+
<xsl:variable name="simple-table">
|
4687
|
+
<xsl:call-template name="getSimpleTable"/>
|
4688
|
+
</xsl:variable>
|
4572
4689
|
|
4573
4690
|
|
4574
|
-
|
4575
|
-
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
|
4576
|
-
|
4577
|
-
<!-- <xsl:variable name="cols-count">
|
4578
|
-
<xsl:choose>
|
4579
|
-
<xsl:when test="*[local-name()='thead']">
|
4580
|
-
<xsl:call-template name="calculate-columns-numbers">
|
4581
|
-
<xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
|
4582
|
-
</xsl:call-template>
|
4583
|
-
</xsl:when>
|
4584
|
-
<xsl:otherwise>
|
4585
|
-
<xsl:call-template name="calculate-columns-numbers">
|
4586
|
-
<xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
|
4587
|
-
</xsl:call-template>
|
4588
|
-
</xsl:otherwise>
|
4589
|
-
</xsl:choose>
|
4590
|
-
</xsl:variable> -->
|
4591
|
-
<!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
|
4592
|
-
<!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
|
4593
|
-
|
4594
|
-
|
4595
|
-
|
4596
|
-
<xsl:variable name="colwidths">
|
4597
|
-
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
|
4598
|
-
<xsl:call-template name="calculate-column-widths">
|
4599
|
-
<xsl:with-param name="cols-count" select="$cols-count"/>
|
4600
|
-
<xsl:with-param name="table" select="$simple-table"/>
|
4601
|
-
</xsl:call-template>
|
4602
|
-
</xsl:if>
|
4603
|
-
</xsl:variable>
|
4604
|
-
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
4605
|
-
|
4606
|
-
<!-- <xsl:variable name="colwidths2">
|
4607
|
-
<xsl:call-template name="calculate-column-widths">
|
4608
|
-
<xsl:with-param name="cols-count" select="$cols-count"/>
|
4609
|
-
</xsl:call-template>
|
4610
|
-
</xsl:variable> -->
|
4611
|
-
|
4612
|
-
<!-- cols-count=<xsl:copy-of select="$cols-count"/>
|
4613
|
-
colwidthsNew=<xsl:copy-of select="$colwidths"/>
|
4614
|
-
colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
|
4615
|
-
|
4616
|
-
<xsl:variable name="margin-left">
|
4617
|
-
<xsl:choose>
|
4618
|
-
<xsl:when test="sum(xalan:nodeset($colwidths)//column) > 75">15</xsl:when>
|
4619
|
-
<xsl:otherwise>0</xsl:otherwise>
|
4620
|
-
</xsl:choose>
|
4621
|
-
</xsl:variable>
|
4622
|
-
|
4623
|
-
<fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
|
4624
4691
|
|
4625
4692
|
|
4626
|
-
|
4627
|
-
|
4628
|
-
|
4629
4693
|
|
4694
|
+
<!-- <xsl:if test="$namespace = 'bipm'">
|
4695
|
+
<fo:block> </fo:block>
|
4696
|
+
</xsl:if> -->
|
4630
4697
|
|
4631
|
-
|
4698
|
+
<!-- $namespace = 'iso' or -->
|
4632
4699
|
|
4700
|
+
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
4633
4701
|
|
4702
|
+
|
4634
4703
|
|
4704
|
+
<xsl:call-template name="fn_name_display"/>
|
4635
4705
|
|
4706
|
+
|
4636
4707
|
|
4637
|
-
|
4638
|
-
|
4639
|
-
|
4640
|
-
<xsl:
|
4641
|
-
<xsl:
|
4642
|
-
|
4643
|
-
|
4644
|
-
|
4645
|
-
|
4646
|
-
<xsl:
|
4708
|
+
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
|
4709
|
+
|
4710
|
+
<!-- <xsl:variable name="cols-count">
|
4711
|
+
<xsl:choose>
|
4712
|
+
<xsl:when test="*[local-name()='thead']">
|
4713
|
+
<xsl:call-template name="calculate-columns-numbers">
|
4714
|
+
<xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
|
4715
|
+
</xsl:call-template>
|
4716
|
+
</xsl:when>
|
4717
|
+
<xsl:otherwise>
|
4718
|
+
<xsl:call-template name="calculate-columns-numbers">
|
4719
|
+
<xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
|
4720
|
+
</xsl:call-template>
|
4721
|
+
</xsl:otherwise>
|
4722
|
+
</xsl:choose>
|
4723
|
+
</xsl:variable> -->
|
4724
|
+
<!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
|
4725
|
+
<!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
|
4726
|
+
|
4727
|
+
|
4728
|
+
|
4729
|
+
<xsl:variable name="colwidths">
|
4730
|
+
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
|
4731
|
+
<xsl:call-template name="calculate-column-widths">
|
4732
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
4733
|
+
<xsl:with-param name="table" select="$simple-table"/>
|
4734
|
+
</xsl:call-template>
|
4647
4735
|
</xsl:if>
|
4736
|
+
</xsl:variable>
|
4737
|
+
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
4648
4738
|
|
4739
|
+
<!-- <xsl:variable name="colwidths2">
|
4740
|
+
<xsl:call-template name="calculate-column-widths">
|
4741
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
4742
|
+
</xsl:call-template>
|
4743
|
+
</xsl:variable> -->
|
4649
4744
|
|
4745
|
+
<!-- cols-count=<xsl:copy-of select="$cols-count"/>
|
4746
|
+
colwidthsNew=<xsl:copy-of select="$colwidths"/>
|
4747
|
+
colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
|
4650
4748
|
|
4651
|
-
<xsl:variable name="
|
4652
|
-
<
|
4653
|
-
|
4654
|
-
<xsl:
|
4655
|
-
|
4656
|
-
|
4657
|
-
|
4658
|
-
|
4659
|
-
<attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
|
4660
|
-
<attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
|
4749
|
+
<xsl:variable name="margin-left">
|
4750
|
+
<xsl:choose>
|
4751
|
+
<xsl:when test="sum(xalan:nodeset($colwidths)//column) > 75">15</xsl:when>
|
4752
|
+
<xsl:otherwise>0</xsl:otherwise>
|
4753
|
+
</xsl:choose>
|
4754
|
+
</xsl:variable>
|
4755
|
+
|
4756
|
+
<fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
|
4661
4757
|
|
4662
4758
|
|
4759
|
+
|
4760
|
+
|
4761
|
+
|
4663
4762
|
|
4664
4763
|
|
4665
|
-
|
4666
|
-
|
4667
|
-
|
4764
|
+
|
4668
4765
|
|
4669
|
-
|
4670
|
-
|
4671
|
-
<xsl:if test="not(ancestor::*[local-name()='preface']) and not(ancestor::*[local-name()='note_side']) and not(ancestor::*[local-name() = 'annex'] and .//*[local-name() = 'xref'][@pagenumber])">
|
4672
|
-
<attribute name="border-top">0.5pt solid black</attribute>
|
4673
|
-
<attribute name="border-bottom">0.5pt solid black</attribute>
|
4674
|
-
</xsl:if>
|
4675
|
-
<attribute name="margin-left">0mm</attribute>
|
4676
|
-
<attribute name="margin-right">0mm</attribute>
|
4677
4766
|
|
4678
|
-
</xsl:variable>
|
4679
|
-
|
4680
|
-
|
4681
|
-
<fo:table id="{@id}" table-omit-footer-at-break="true">
|
4682
4767
|
|
4683
|
-
<xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
|
4684
|
-
<xsl:attribute name="{@name}">
|
4685
|
-
<xsl:value-of select="."/>
|
4686
|
-
</xsl:attribute>
|
4687
|
-
</xsl:for-each>
|
4688
4768
|
|
4689
|
-
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
|
4690
|
-
<xsl:if test="$isNoteOrFnExist = 'true'">
|
4691
|
-
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
|
4692
|
-
</xsl:if>
|
4693
4769
|
|
4694
|
-
|
4695
|
-
<xsl:
|
4696
|
-
|
4697
|
-
|
4698
|
-
|
4699
|
-
</xsl:
|
4700
|
-
<xsl:
|
4701
|
-
|
4702
|
-
|
4703
|
-
|
4704
|
-
|
4705
|
-
</xsl:when>
|
4706
|
-
<xsl:otherwise>
|
4707
|
-
<fo:table-column column-width="proportional-column-width({.})"/>
|
4708
|
-
</xsl:otherwise>
|
4709
|
-
</xsl:choose>
|
4710
|
-
</xsl:for-each>
|
4711
|
-
</xsl:otherwise>
|
4712
|
-
</xsl:choose>
|
4770
|
+
<xsl:attribute name="space-after">12pt</xsl:attribute>
|
4771
|
+
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
4772
|
+
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
4773
|
+
<xsl:if test="not(ancestor::*[local-name()='note_side'])">
|
4774
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
4775
|
+
</xsl:if>
|
4776
|
+
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
4777
|
+
<xsl:if test="@parent-type = 'quote'">
|
4778
|
+
<xsl:attribute name="font-family">Arial</xsl:attribute>
|
4779
|
+
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
4780
|
+
</xsl:if>
|
4713
4781
|
|
4714
|
-
<xsl:choose>
|
4715
|
-
<xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
|
4716
|
-
<xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
|
4717
|
-
</xsl:when>
|
4718
|
-
<xsl:otherwise>
|
4719
|
-
<xsl:apply-templates/>
|
4720
|
-
</xsl:otherwise>
|
4721
|
-
</xsl:choose>
|
4722
4782
|
|
4723
|
-
|
4724
|
-
|
4725
|
-
|
4726
|
-
|
4727
|
-
|
4728
|
-
|
4729
|
-
|
4730
|
-
|
4731
|
-
|
4732
|
-
|
4733
|
-
|
4734
|
-
<!-- insert footer as table -->
|
4735
|
-
<!-- <fo:table>
|
4736
|
-
<xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
|
4737
|
-
<xsl:attribute name="{@name}">
|
4738
|
-
<xsl:value-of select="."/>
|
4739
|
-
</xsl:attribute>
|
4740
|
-
</xsl:for-each>
|
4783
|
+
<xsl:variable name="table_width">
|
4784
|
+
<!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
|
4785
|
+
|
4786
|
+
|
4787
|
+
|
4788
|
+
<xsl:choose>
|
4789
|
+
<xsl:when test="@width"><xsl:value-of select="@width"/></xsl:when>
|
4790
|
+
<xsl:otherwise>100%</xsl:otherwise>
|
4791
|
+
</xsl:choose>
|
4792
|
+
|
4793
|
+
</xsl:variable>
|
4741
4794
|
|
4742
|
-
<xsl:
|
4795
|
+
<xsl:variable name="table_attributes">
|
4796
|
+
<attribute name="table-layout">fixed</attribute>
|
4797
|
+
<attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
|
4798
|
+
<attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
|
4799
|
+
<attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
|
4800
|
+
|
4801
|
+
|
4802
|
+
|
4803
|
+
|
4804
|
+
|
4805
|
+
|
4806
|
+
|
4807
|
+
|
4808
|
+
|
4809
|
+
|
4810
|
+
<xsl:if test="not(ancestor::*[local-name()='preface']) and not(ancestor::*[local-name()='note_side']) and not(ancestor::*[local-name() = 'annex'] and .//*[local-name() = 'xref'][@pagenumber]) and not(ancestor::*[local-name() = 'doccontrol'])">
|
4811
|
+
<attribute name="border-top">0.5pt solid black</attribute>
|
4812
|
+
<attribute name="border-bottom">0.5pt solid black</attribute>
|
4813
|
+
</xsl:if>
|
4814
|
+
<attribute name="margin-left">0mm</attribute>
|
4815
|
+
<attribute name="margin-right">0mm</attribute>
|
4816
|
+
|
4817
|
+
</xsl:variable>
|
4818
|
+
|
4819
|
+
|
4820
|
+
<fo:table id="{@id}" table-omit-footer-at-break="true">
|
4821
|
+
|
4822
|
+
<xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
|
4823
|
+
<xsl:attribute name="{@name}">
|
4824
|
+
<xsl:value-of select="."/>
|
4825
|
+
</xsl:attribute>
|
4826
|
+
</xsl:for-each>
|
4827
|
+
|
4828
|
+
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
|
4829
|
+
<xsl:if test="$isNoteOrFnExist = 'true'">
|
4830
|
+
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
|
4831
|
+
</xsl:if>
|
4832
|
+
|
4833
|
+
<xsl:choose>
|
4834
|
+
<xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
|
4835
|
+
<xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
|
4836
|
+
<fo:table-column column-width="{@width}"/>
|
4837
|
+
</xsl:for-each>
|
4838
|
+
</xsl:when>
|
4839
|
+
<xsl:otherwise>
|
4840
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
4841
|
+
<xsl:choose>
|
4842
|
+
<xsl:when test=". = 1 or . = 0">
|
4843
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
4844
|
+
</xsl:when>
|
4845
|
+
<xsl:otherwise>
|
4846
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
4847
|
+
</xsl:otherwise>
|
4848
|
+
</xsl:choose>
|
4849
|
+
</xsl:for-each>
|
4850
|
+
</xsl:otherwise>
|
4851
|
+
</xsl:choose>
|
4852
|
+
|
4743
4853
|
<xsl:choose>
|
4744
|
-
<xsl:when test="
|
4745
|
-
<
|
4854
|
+
<xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
|
4855
|
+
<xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
|
4746
4856
|
</xsl:when>
|
4747
4857
|
<xsl:otherwise>
|
4748
|
-
<
|
4858
|
+
<xsl:apply-templates/>
|
4749
4859
|
</xsl:otherwise>
|
4750
4860
|
</xsl:choose>
|
4861
|
+
|
4862
|
+
</fo:table>
|
4863
|
+
|
4864
|
+
<xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
|
4865
|
+
<xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
|
4866
|
+
<xsl:call-template name="insertTableFooterInSeparateTable">
|
4867
|
+
<xsl:with-param name="table_attributes" select="$table_attributes"/>
|
4868
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
4869
|
+
<xsl:with-param name="colgroup" select="$colgroup"/>
|
4870
|
+
</xsl:call-template>
|
4751
4871
|
</xsl:for-each>
|
4752
|
-
|
4753
|
-
|
4754
|
-
|
4755
|
-
|
4756
|
-
|
4757
|
-
|
4758
|
-
|
4872
|
+
|
4873
|
+
<!-- insert footer as table -->
|
4874
|
+
<!-- <fo:table>
|
4875
|
+
<xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
|
4876
|
+
<xsl:attribute name="{@name}">
|
4877
|
+
<xsl:value-of select="."/>
|
4878
|
+
</xsl:attribute>
|
4879
|
+
</xsl:for-each>
|
4880
|
+
|
4881
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
4882
|
+
<xsl:choose>
|
4883
|
+
<xsl:when test=". = 1 or . = 0">
|
4884
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
4885
|
+
</xsl:when>
|
4886
|
+
<xsl:otherwise>
|
4887
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
4888
|
+
</xsl:otherwise>
|
4889
|
+
</xsl:choose>
|
4890
|
+
</xsl:for-each>
|
4891
|
+
</fo:table>-->
|
4892
|
+
|
4893
|
+
|
4894
|
+
|
4895
|
+
|
4896
|
+
|
4897
|
+
</fo:block-container>
|
4898
|
+
</xsl:variable>
|
4899
|
+
|
4900
|
+
|
4901
|
+
|
4902
|
+
<xsl:choose>
|
4903
|
+
<xsl:when test="@width">
|
4904
|
+
|
4905
|
+
<!-- centered table when table name is centered (see table-name-style) -->
|
4906
|
+
|
4907
|
+
|
4908
|
+
|
4909
|
+
<xsl:copy-of select="$table"/>
|
4910
|
+
|
4911
|
+
|
4912
|
+
</xsl:when>
|
4913
|
+
<xsl:otherwise>
|
4914
|
+
<xsl:copy-of select="$table"/>
|
4915
|
+
</xsl:otherwise>
|
4916
|
+
</xsl:choose>
|
4917
|
+
|
4759
4918
|
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
|
4760
4919
|
<xsl:if test="normalize-space() != ''">
|
4761
4920
|
<fo:block xsl:use-attribute-sets="table-name-style">
|
@@ -4764,6 +4923,9 @@
|
|
4764
4923
|
<xsl:if test="not(*[local-name()='tab'])"> <!-- table without number -->
|
4765
4924
|
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
4766
4925
|
</xsl:if>
|
4926
|
+
<xsl:if test="not(../preceding-sibling::*) and ancestor::node()[@orientation]">
|
4927
|
+
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
4928
|
+
</xsl:if>
|
4767
4929
|
|
4768
4930
|
<xsl:apply-templates/>
|
4769
4931
|
</fo:block>
|
@@ -4887,7 +5049,15 @@
|
|
4887
5049
|
</xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
|
4888
5050
|
<xsl:value-of select="@target"/>
|
4889
5051
|
</xsl:template><xsl:template match="*[local-name()='math']" mode="td_text">
|
4890
|
-
<xsl:variable name="
|
5052
|
+
<xsl:variable name="mathml">
|
5053
|
+
<xsl:for-each select="*">
|
5054
|
+
<xsl:if test="local-name() != 'unit' and local-name() != 'prefix' and local-name() != 'dimension' and local-name() != 'quantity'">
|
5055
|
+
<xsl:copy-of select="."/>
|
5056
|
+
</xsl:if>
|
5057
|
+
</xsl:for-each>
|
5058
|
+
</xsl:variable>
|
5059
|
+
|
5060
|
+
<xsl:variable name="math_text" select="normalize-space(xalan:nodeset($mathml))"/>
|
4891
5061
|
<xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
|
4892
5062
|
</xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
|
4893
5063
|
<xsl:param name="cols-count"/>
|
@@ -5192,10 +5362,21 @@
|
|
5192
5362
|
<xsl:attribute name="border-bottom">solid black 0.5pt</xsl:attribute>
|
5193
5363
|
<xsl:attribute name="height">8mm</xsl:attribute>
|
5194
5364
|
<xsl:attribute name="padding-top">2mm</xsl:attribute>
|
5195
|
-
<xsl:if test="ancestor::*[local-name() = 'annex'] and ancestor::*[local-name() = 'table']//*[local-name() = 'xref'][@pagenumber]"><!-- for Annex ToC -->
|
5365
|
+
<xsl:if test="(ancestor::*[local-name() = 'annex'] and ancestor::*[local-name() = 'table']//*[local-name() = 'xref'][@pagenumber]) or ancestor::*[local-name() = 'doccontrol']"><!-- for Annex ToC -->
|
5196
5366
|
<xsl:attribute name="border-top">solid black 0pt</xsl:attribute>
|
5197
5367
|
<xsl:attribute name="border-bottom">solid black 0pt</xsl:attribute>
|
5198
5368
|
</xsl:if>
|
5369
|
+
<xsl:if test="ancestor::*[local-name() = 'doccontrol']">
|
5370
|
+
<xsl:attribute name="text-align">
|
5371
|
+
<xsl:choose>
|
5372
|
+
<xsl:when test="@align">
|
5373
|
+
<xsl:value-of select="@align"/>
|
5374
|
+
</xsl:when>
|
5375
|
+
<xsl:otherwise>left</xsl:otherwise>
|
5376
|
+
</xsl:choose>
|
5377
|
+
</xsl:attribute>
|
5378
|
+
<xsl:attribute name="display-align">before</xsl:attribute>
|
5379
|
+
</xsl:if>
|
5199
5380
|
|
5200
5381
|
<xsl:if test="@colspan">
|
5201
5382
|
<xsl:attribute name="number-columns-spanned">
|
@@ -5252,6 +5433,9 @@
|
|
5252
5433
|
<xsl:if test="not(ancestor::*[local-name()='tr']/following-sibling::*[local-name()='tr'])"> <!-- last row -->
|
5253
5434
|
<xsl:attribute name="padding-bottom">2mm</xsl:attribute>
|
5254
5435
|
</xsl:if>
|
5436
|
+
<xsl:if test="ancestor::*[local-name() = 'doccontrol']">
|
5437
|
+
<xsl:attribute name="display-align">before</xsl:attribute>
|
5438
|
+
</xsl:if>
|
5255
5439
|
|
5256
5440
|
<xsl:if test="@colspan">
|
5257
5441
|
<xsl:attribute name="number-columns-spanned">
|
@@ -5656,7 +5840,7 @@
|
|
5656
5840
|
<xsl:with-param name="table" select="$html-table"/>
|
5657
5841
|
</xsl:call-template>
|
5658
5842
|
</xsl:variable>
|
5659
|
-
<!-- colwidths=<xsl:
|
5843
|
+
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
5660
5844
|
<xsl:variable name="maxlength_dt">
|
5661
5845
|
<xsl:call-template name="getMaxLength_dt"/>
|
5662
5846
|
</xsl:variable>
|
@@ -5685,13 +5869,22 @@
|
|
5685
5869
|
</xsl:when>
|
5686
5870
|
<xsl:otherwise>
|
5687
5871
|
<xsl:choose>
|
5872
|
+
<!-- to set width check most wide chars like `W` -->
|
5688
5873
|
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 2"> <!-- if dt contains short text like t90, a, etc -->
|
5689
|
-
<fo:table-column column-width="
|
5690
|
-
<fo:table-column column-width="
|
5874
|
+
<fo:table-column column-width="7%"/>
|
5875
|
+
<fo:table-column column-width="93%"/>
|
5691
5876
|
</xsl:when>
|
5692
|
-
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 5"> <!-- if dt contains short text like
|
5693
|
-
<fo:table-column column-width="
|
5694
|
-
<fo:table-column column-width="
|
5877
|
+
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 5"> <!-- if dt contains short text like ABC, etc -->
|
5878
|
+
<fo:table-column column-width="15%"/>
|
5879
|
+
<fo:table-column column-width="85%"/>
|
5880
|
+
</xsl:when>
|
5881
|
+
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 7"> <!-- if dt contains short text like ABCDEF, etc -->
|
5882
|
+
<fo:table-column column-width="20%"/>
|
5883
|
+
<fo:table-column column-width="80%"/>
|
5884
|
+
</xsl:when>
|
5885
|
+
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 10"> <!-- if dt contains short text like ABCDEFEF, etc -->
|
5886
|
+
<fo:table-column column-width="25%"/>
|
5887
|
+
<fo:table-column column-width="75%"/>
|
5695
5888
|
</xsl:when>
|
5696
5889
|
<!-- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] > 1.7">
|
5697
5890
|
<fo:table-column column-width="60%"/>
|
@@ -5890,6 +6083,7 @@
|
|
5890
6083
|
|
5891
6084
|
|
5892
6085
|
|
6086
|
+
|
5893
6087
|
|
5894
6088
|
</xsl:variable>
|
5895
6089
|
<xsl:variable name="font-size" select="normalize-space($_font-size)"/>
|
@@ -5911,6 +6105,10 @@
|
|
5911
6105
|
<fo:inline font-size="10pt" color="red" text-decoration="line-through">
|
5912
6106
|
<xsl:apply-templates/>
|
5913
6107
|
</fo:inline>
|
6108
|
+
</xsl:template><xsl:template match="*[local-name()='hi']">
|
6109
|
+
<fo:inline background-color="yellow">
|
6110
|
+
<xsl:apply-templates/>
|
6111
|
+
</fo:inline>
|
5914
6112
|
</xsl:template><xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
|
5915
6113
|
<xsl:variable name="text" select="normalize-space(.)"/>
|
5916
6114
|
<fo:inline font-size="75%">
|
@@ -6000,6 +6198,10 @@
|
|
6000
6198
|
<xsl:param name="text" select="."/>
|
6001
6199
|
<!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
|
6002
6200
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| )','$1')"/>
|
6201
|
+
</xsl:template><xsl:template name="add-zero-spaces-link-java">
|
6202
|
+
<xsl:param name="text" select="."/>
|
6203
|
+
<!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
|
6204
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| |,)','$1')"/>
|
6003
6205
|
</xsl:template><xsl:template name="add-zero-spaces">
|
6004
6206
|
<xsl:param name="text" select="."/>
|
6005
6207
|
<xsl:variable name="zero-space-after-chars">-</xsl:variable>
|
@@ -6251,6 +6453,14 @@
|
|
6251
6453
|
<xsl:apply-templates select="." mode="mathml"/>
|
6252
6454
|
</xsl:variable>
|
6253
6455
|
<fo:instream-foreign-object fox:alt-text="Math">
|
6456
|
+
|
6457
|
+
<xsl:if test="local-name(../..) = 'formula'">
|
6458
|
+
<xsl:attribute name="width">95%</xsl:attribute>
|
6459
|
+
<xsl:attribute name="content-height">100%</xsl:attribute>
|
6460
|
+
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
6461
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
6462
|
+
</xsl:if>
|
6463
|
+
|
6254
6464
|
<!-- <xsl:copy-of select="."/> -->
|
6255
6465
|
<xsl:copy-of select="xalan:nodeset($mathml)"/>
|
6256
6466
|
</fo:instream-foreign-object>
|
@@ -6264,7 +6474,12 @@
|
|
6264
6474
|
<!-- replace start and end spaces to non-break space -->
|
6265
6475
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
|
6266
6476
|
</xsl:copy>
|
6267
|
-
</xsl:template><xsl:template match="
|
6477
|
+
</xsl:template><xsl:template match="mathml:mi[. = ',' and not(following-sibling::*[1][local-name() = 'mtext' and text() = ' '])]" mode="mathml">
|
6478
|
+
<xsl:copy>
|
6479
|
+
<xsl:apply-templates select="@*|node()" mode="mathml"/>
|
6480
|
+
</xsl:copy>
|
6481
|
+
<mathml:mspace width="0.5ex"/>
|
6482
|
+
</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">
|
6268
6483
|
<xsl:variable name="target">
|
6269
6484
|
<xsl:choose>
|
6270
6485
|
<xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
|
@@ -6285,7 +6500,10 @@
|
|
6285
6500
|
<fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
|
6286
6501
|
<xsl:choose>
|
6287
6502
|
<xsl:when test="normalize-space(.) = ''">
|
6288
|
-
<xsl:value-of select="$target"/>
|
6503
|
+
<!-- <xsl:value-of select="$target"/> -->
|
6504
|
+
<xsl:call-template name="add-zero-spaces-link-java">
|
6505
|
+
<xsl:with-param name="text" select="$target"/>
|
6506
|
+
</xsl:call-template>
|
6289
6507
|
</xsl:when>
|
6290
6508
|
<xsl:otherwise>
|
6291
6509
|
<xsl:apply-templates/>
|
@@ -6295,8 +6513,6 @@
|
|
6295
6513
|
</xsl:otherwise>
|
6296
6514
|
</xsl:choose>
|
6297
6515
|
</fo:inline>
|
6298
|
-
</xsl:template><xsl:template match="*[local-name()='bookmark']">
|
6299
|
-
<fo:inline id="{@id}"/>
|
6300
6516
|
</xsl:template><xsl:template match="*[local-name()='appendix']">
|
6301
6517
|
<fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
|
6302
6518
|
<xsl:apply-templates select="*[local-name()='title']" mode="process"/>
|
@@ -6498,7 +6714,7 @@
|
|
6498
6714
|
</xsl:if> -->
|
6499
6715
|
</fo:inline>
|
6500
6716
|
</xsl:if>
|
6501
|
-
</xsl:template><xsl:template match="*[local-name() = 'figure']">
|
6717
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
|
6502
6718
|
<fo:block-container id="{@id}">
|
6503
6719
|
|
6504
6720
|
<xsl:if test="*[local-name() = 'name']">
|
@@ -6518,6 +6734,7 @@
|
|
6518
6734
|
<fo:block id="{@id}">
|
6519
6735
|
<xsl:apply-templates/>
|
6520
6736
|
</fo:block>
|
6737
|
+
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
6521
6738
|
</xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
|
6522
6739
|
<fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
|
6523
6740
|
<xsl:apply-templates/>
|
@@ -6723,6 +6940,12 @@
|
|
6723
6940
|
<!-- <xsl:text> </xsl:text> -->
|
6724
6941
|
</xsl:template><xsl:template name="getSection">
|
6725
6942
|
<xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
|
6943
|
+
<!--
|
6944
|
+
<xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
|
6945
|
+
<xsl:value-of select="."/>
|
6946
|
+
</xsl:for-each>
|
6947
|
+
-->
|
6948
|
+
|
6726
6949
|
</xsl:template><xsl:template name="getName">
|
6727
6950
|
<xsl:choose>
|
6728
6951
|
<xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
|
@@ -6775,6 +6998,12 @@
|
|
6775
6998
|
<xsl:copy>
|
6776
6999
|
<xsl:apply-templates mode="contents_item"/>
|
6777
7000
|
</xsl:copy>
|
7001
|
+
</xsl:template><xsl:template match="*[local-name() = 'em']" mode="contents_item">
|
7002
|
+
<xsl:copy>
|
7003
|
+
<xsl:apply-templates mode="contents_item"/>
|
7004
|
+
</xsl:copy>
|
7005
|
+
</xsl:template><xsl:template match="*[local-name() = 'stem']" mode="contents_item">
|
7006
|
+
<xsl:copy-of select="."/>
|
6778
7007
|
</xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
|
6779
7008
|
<xsl:text> </xsl:text>
|
6780
7009
|
</xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
@@ -6800,6 +7029,7 @@
|
|
6800
7029
|
|
6801
7030
|
|
6802
7031
|
|
7032
|
+
|
6803
7033
|
|
6804
7034
|
|
6805
7035
|
|
@@ -7102,10 +7332,11 @@
|
|
7102
7332
|
</xsl:choose>
|
7103
7333
|
|
7104
7334
|
</xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
|
7105
|
-
|
7335
|
+
<xsl:variable name="num"><xsl:number/></xsl:variable>
|
7106
7336
|
<xsl:variable name="element">
|
7107
7337
|
block
|
7108
7338
|
|
7339
|
+
|
7109
7340
|
</xsl:variable>
|
7110
7341
|
<xsl:choose>
|
7111
7342
|
<xsl:when test="normalize-space($element) = 'block'">
|
@@ -7180,11 +7411,13 @@
|
|
7180
7411
|
</xsl:if>
|
7181
7412
|
</xsl:if>
|
7182
7413
|
|
7414
|
+
|
7183
7415
|
<fo:block-container margin-left="0mm">
|
7184
7416
|
|
7185
7417
|
<fo:block xsl:use-attribute-sets="quote-style">
|
7186
7418
|
<!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
|
7187
|
-
|
7419
|
+
|
7420
|
+
<xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
|
7188
7421
|
</fo:block>
|
7189
7422
|
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
|
7190
7423
|
<fo:block xsl:use-attribute-sets="quote-source-style">
|
@@ -7207,32 +7440,50 @@
|
|
7207
7440
|
<xsl:text>— </xsl:text>
|
7208
7441
|
<xsl:apply-templates/>
|
7209
7442
|
</xsl:template><xsl:template match="*[local-name() = 'eref']">
|
7210
|
-
|
7211
|
-
|
7212
|
-
|
7213
|
-
|
7214
|
-
|
7215
|
-
|
7216
|
-
|
7217
|
-
|
7218
|
-
|
7219
|
-
|
7220
|
-
|
7221
|
-
|
7222
|
-
|
7223
|
-
|
7224
|
-
|
7225
|
-
|
7226
|
-
|
7227
|
-
|
7228
|
-
|
7229
|
-
|
7230
|
-
|
7231
|
-
|
7232
|
-
|
7233
|
-
|
7234
|
-
|
7235
|
-
|
7443
|
+
|
7444
|
+
<xsl:variable name="bibitemid">
|
7445
|
+
<xsl:choose>
|
7446
|
+
<xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"/>
|
7447
|
+
<xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
|
7448
|
+
<xsl:otherwise><xsl:value-of select="@bibitemid"/></xsl:otherwise>
|
7449
|
+
</xsl:choose>
|
7450
|
+
</xsl:variable>
|
7451
|
+
|
7452
|
+
<xsl:choose>
|
7453
|
+
<xsl:when test="normalize-space($bibitemid) != ''">
|
7454
|
+
<fo:inline xsl:use-attribute-sets="eref-style">
|
7455
|
+
<xsl:if test="@type = 'footnote'">
|
7456
|
+
|
7457
|
+
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
7458
|
+
<xsl:attribute name="font-size">80%</xsl:attribute>
|
7459
|
+
<xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
|
7460
|
+
<xsl:attribute name="vertical-align">super</xsl:attribute>
|
7461
|
+
|
7462
|
+
|
7463
|
+
</xsl:if>
|
7464
|
+
|
7465
|
+
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
7466
|
+
<xsl:if test="normalize-space(@citeas) = ''">
|
7467
|
+
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
7468
|
+
</xsl:if>
|
7469
|
+
<xsl:if test="@type = 'inline'">
|
7470
|
+
|
7471
|
+
<xsl:attribute name="color">blue</xsl:attribute>
|
7472
|
+
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
7473
|
+
|
7474
|
+
|
7475
|
+
|
7476
|
+
</xsl:if>
|
7477
|
+
|
7478
|
+
<xsl:apply-templates/>
|
7479
|
+
</fo:basic-link>
|
7480
|
+
|
7481
|
+
</fo:inline>
|
7482
|
+
</xsl:when>
|
7483
|
+
<xsl:otherwise>
|
7484
|
+
<fo:inline><xsl:apply-templates/></fo:inline>
|
7485
|
+
</xsl:otherwise>
|
7486
|
+
</xsl:choose>
|
7236
7487
|
</xsl:template><xsl:template match="*[local-name() = 'tab']">
|
7237
7488
|
<!-- zero-space char -->
|
7238
7489
|
<xsl:variable name="depth">
|
@@ -7338,6 +7589,7 @@
|
|
7338
7589
|
|
7339
7590
|
|
7340
7591
|
|
7592
|
+
|
7341
7593
|
|
7342
7594
|
|
7343
7595
|
|
@@ -7349,7 +7601,7 @@
|
|
7349
7601
|
|
7350
7602
|
|
7351
7603
|
|
7352
|
-
</xsl:template><xsl:template match="
|
7604
|
+
</xsl:template><xsl:template match="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
|
7353
7605
|
<fo:block break-after="page"/>
|
7354
7606
|
<fo:block>
|
7355
7607
|
<xsl:call-template name="setId"/>
|
@@ -7357,10 +7609,11 @@
|
|
7357
7609
|
</fo:block>
|
7358
7610
|
</xsl:template><xsl:template match="*[local-name() = 'clause']">
|
7359
7611
|
<fo:block>
|
7360
|
-
<xsl:call-template name="setId"/>
|
7612
|
+
<xsl:call-template name="setId"/>
|
7361
7613
|
|
7362
7614
|
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
7363
7615
|
|
7616
|
+
|
7364
7617
|
<xsl:apply-templates/>
|
7365
7618
|
</fo:block>
|
7366
7619
|
</xsl:template><xsl:template match="*[local-name() = 'definitions']">
|
@@ -7412,6 +7665,153 @@
|
|
7412
7665
|
</fo:block>
|
7413
7666
|
</xsl:otherwise>
|
7414
7667
|
</xsl:choose>
|
7668
|
+
</xsl:template><xsl:variable name="index" select="document($external_index)"/><xsl:variable name="dash" select="'–'"/><xsl:variable name="bookmark_in_fn">
|
7669
|
+
<xsl:for-each select="//*[local-name() = 'bookmark'][ancestor::*[local-name() = 'fn']]">
|
7670
|
+
<bookmark><xsl:value-of select="@id"/></bookmark>
|
7671
|
+
</xsl:for-each>
|
7672
|
+
</xsl:variable><xsl:template match="@*|node()" mode="index_add_id">
|
7673
|
+
<xsl:copy>
|
7674
|
+
<xsl:apply-templates select="@*|node()" mode="index_add_id"/>
|
7675
|
+
</xsl:copy>
|
7676
|
+
</xsl:template><xsl:template match="*[local-name() = 'xref']" mode="index_add_id">
|
7677
|
+
<xsl:variable name="id">
|
7678
|
+
<xsl:call-template name="generateIndexXrefId"/>
|
7679
|
+
</xsl:variable>
|
7680
|
+
<xsl:copy> <!-- add id to xref -->
|
7681
|
+
<xsl:apply-templates select="@*" mode="index_add_id"/>
|
7682
|
+
<xsl:attribute name="id">
|
7683
|
+
<xsl:value-of select="$id"/>
|
7684
|
+
</xsl:attribute>
|
7685
|
+
<xsl:apply-templates mode="index_add_id"/>
|
7686
|
+
</xsl:copy>
|
7687
|
+
<!-- split <xref target="bm1" to="End" pagenumber="true"> to two xref:
|
7688
|
+
<xref target="bm1" pagenumber="true"> and <xref target="End" pagenumber="true"> -->
|
7689
|
+
<xsl:if test="@to">
|
7690
|
+
<xsl:value-of select="$dash"/>
|
7691
|
+
<xsl:copy>
|
7692
|
+
<xsl:copy-of select="@*"/>
|
7693
|
+
<xsl:attribute name="target"><xsl:value-of select="@to"/></xsl:attribute>
|
7694
|
+
<xsl:attribute name="id">
|
7695
|
+
<xsl:value-of select="$id"/><xsl:text>_to</xsl:text>
|
7696
|
+
</xsl:attribute>
|
7697
|
+
<xsl:apply-templates mode="index_add_id"/>
|
7698
|
+
</xsl:copy>
|
7699
|
+
</xsl:if>
|
7700
|
+
</xsl:template><xsl:template match="@*|node()" mode="index_update">
|
7701
|
+
<xsl:copy>
|
7702
|
+
<xsl:apply-templates select="@*|node()" mode="index_update"/>
|
7703
|
+
</xsl:copy>
|
7704
|
+
</xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']" mode="index_update">
|
7705
|
+
<xsl:copy>
|
7706
|
+
<xsl:apply-templates select="@*" mode="index_update"/>
|
7707
|
+
<xsl:apply-templates select="node()[1]" mode="process_li_element"/>
|
7708
|
+
</xsl:copy>
|
7709
|
+
</xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']/node()" mode="process_li_element" priority="2">
|
7710
|
+
<xsl:param name="element"/>
|
7711
|
+
<xsl:param name="remove" select="'false'"/>
|
7712
|
+
<xsl:param name="target"/>
|
7713
|
+
<!-- <node></node> -->
|
7714
|
+
<xsl:choose>
|
7715
|
+
<xsl:when test="self::text() and (normalize-space(.) = ',' or normalize-space(.) = $dash) and $remove = 'true'">
|
7716
|
+
<!-- skip text (i.e. remove it) and process next element -->
|
7717
|
+
<!-- [removed_<xsl:value-of select="."/>] -->
|
7718
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
|
7719
|
+
<xsl:with-param name="target"><xsl:value-of select="$target"/></xsl:with-param>
|
7720
|
+
</xsl:apply-templates>
|
7721
|
+
</xsl:when>
|
7722
|
+
<xsl:when test="self::text()">
|
7723
|
+
<xsl:value-of select="."/>
|
7724
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
|
7725
|
+
</xsl:when>
|
7726
|
+
<xsl:when test="self::* and local-name(.) = 'xref'">
|
7727
|
+
<xsl:variable name="id" select="@id"/>
|
7728
|
+
<xsl:variable name="page" select="$index//item[@id = $id]"/>
|
7729
|
+
<xsl:variable name="id_next" select="following-sibling::*[local-name() = 'xref'][1]/@id"/>
|
7730
|
+
<xsl:variable name="page_next" select="$index//item[@id = $id_next]"/>
|
7731
|
+
|
7732
|
+
<xsl:variable name="id_prev" select="preceding-sibling::*[local-name() = 'xref'][1]/@id"/>
|
7733
|
+
<xsl:variable name="page_prev" select="$index//item[@id = $id_prev]"/>
|
7734
|
+
|
7735
|
+
<xsl:choose>
|
7736
|
+
<!-- 2nd pass -->
|
7737
|
+
<!-- if page is equal to page for next and page is not the end of range -->
|
7738
|
+
<xsl:when test="$page != '' and $page_next != '' and $page = $page_next and not(contains($page, '_to'))"> <!-- case: 12, 12-14 -->
|
7739
|
+
<!-- skip element (i.e. remove it) and remove next text ',' -->
|
7740
|
+
<!-- [removed_xref] -->
|
7741
|
+
|
7742
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
|
7743
|
+
<xsl:with-param name="remove">true</xsl:with-param>
|
7744
|
+
<xsl:with-param name="target">
|
7745
|
+
<xsl:choose>
|
7746
|
+
<xsl:when test="$target != ''"><xsl:value-of select="$target"/></xsl:when>
|
7747
|
+
<xsl:otherwise><xsl:value-of select="@target"/></xsl:otherwise>
|
7748
|
+
</xsl:choose>
|
7749
|
+
</xsl:with-param>
|
7750
|
+
</xsl:apply-templates>
|
7751
|
+
</xsl:when>
|
7752
|
+
|
7753
|
+
<xsl:when test="$page != '' and $page_prev != '' and $page = $page_prev and contains($page_prev, '_to')"> <!-- case: 12-14, 14, ... -->
|
7754
|
+
<!-- remove xref -->
|
7755
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
|
7756
|
+
<xsl:with-param name="remove">true</xsl:with-param>
|
7757
|
+
</xsl:apply-templates>
|
7758
|
+
</xsl:when>
|
7759
|
+
|
7760
|
+
<xsl:otherwise>
|
7761
|
+
<xsl:apply-templates select="." mode="xref_copy">
|
7762
|
+
<xsl:with-param name="target" select="$target"/>
|
7763
|
+
</xsl:apply-templates>
|
7764
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
|
7765
|
+
</xsl:otherwise>
|
7766
|
+
</xsl:choose>
|
7767
|
+
</xsl:when>
|
7768
|
+
<xsl:when test="self::* and local-name(.) = 'ul'">
|
7769
|
+
<!-- ul -->
|
7770
|
+
<xsl:apply-templates select="." mode="index_update"/>
|
7771
|
+
</xsl:when>
|
7772
|
+
<xsl:otherwise>
|
7773
|
+
<xsl:apply-templates select="." mode="xref_copy">
|
7774
|
+
<xsl:with-param name="target" select="$target"/>
|
7775
|
+
</xsl:apply-templates>
|
7776
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
|
7777
|
+
</xsl:otherwise>
|
7778
|
+
</xsl:choose>
|
7779
|
+
</xsl:template><xsl:template match="@*|node()" mode="xref_copy">
|
7780
|
+
<xsl:param name="target"/>
|
7781
|
+
<xsl:copy>
|
7782
|
+
<xsl:apply-templates select="@*" mode="xref_copy"/>
|
7783
|
+
<xsl:if test="$target != '' and not(xalan:nodeset($bookmark_in_fn)//bookmark[. = $target])">
|
7784
|
+
<xsl:attribute name="target"><xsl:value-of select="$target"/></xsl:attribute>
|
7785
|
+
</xsl:if>
|
7786
|
+
<xsl:apply-templates select="node()" mode="xref_copy"/>
|
7787
|
+
</xsl:copy>
|
7788
|
+
</xsl:template><xsl:template name="generateIndexXrefId">
|
7789
|
+
<xsl:variable name="level" select="count(ancestor::*[local-name() = 'ul'])"/>
|
7790
|
+
|
7791
|
+
<xsl:variable name="docid">
|
7792
|
+
<xsl:call-template name="getDocumentId"/>
|
7793
|
+
</xsl:variable>
|
7794
|
+
<xsl:variable name="item_number">
|
7795
|
+
<xsl:number count="*[local-name() = 'li'][ancestor::*[local-name() = 'indexsect']]" level="any"/>
|
7796
|
+
</xsl:variable>
|
7797
|
+
<xsl:variable name="xref_number"><xsl:number count="*[local-name() = 'xref']"/></xsl:variable>
|
7798
|
+
<xsl:value-of select="concat($docid, '_', $item_number, '_', $xref_number)"/> <!-- $level, '_', -->
|
7799
|
+
</xsl:template><xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'clause']" priority="4">
|
7800
|
+
<xsl:apply-templates/>
|
7801
|
+
<fo:block>
|
7802
|
+
<xsl:if test="following-sibling::*[local-name() = 'clause']">
|
7803
|
+
<fo:block> </fo:block>
|
7804
|
+
</xsl:if>
|
7805
|
+
</fo:block>
|
7806
|
+
</xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'ul']" priority="4">
|
7807
|
+
<xsl:apply-templates/>
|
7808
|
+
</xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']" priority="4">
|
7809
|
+
<xsl:variable name="level" select="count(ancestor::*[local-name() = 'ul'])"/>
|
7810
|
+
<fo:block start-indent="{5 * $level}mm" text-indent="-5mm">
|
7811
|
+
<xsl:apply-templates/>
|
7812
|
+
</fo:block>
|
7813
|
+
</xsl:template><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
|
7814
|
+
<fo:inline id="{@id}" font-size="1pt"/>
|
7415
7815
|
</xsl:template><xsl:template match="*[local-name() = 'errata']">
|
7416
7816
|
<!-- <row>
|
7417
7817
|
<date>05-07-2013</date>
|
@@ -7561,6 +7961,57 @@
|
|
7561
7961
|
</xsl:variable>
|
7562
7962
|
<xsl:variable name="result">
|
7563
7963
|
<xsl:choose>
|
7964
|
+
<xsl:when test="$format = 'ddMMyyyy'">
|
7965
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
7966
|
+
<xsl:text> </xsl:text>
|
7967
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
|
7968
|
+
</xsl:when>
|
7969
|
+
<xsl:when test="$format = 'ddMM'">
|
7970
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
7971
|
+
<xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
|
7972
|
+
</xsl:when>
|
7973
|
+
<xsl:when test="$format = 'short' or $day = ''">
|
7974
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
|
7975
|
+
</xsl:when>
|
7976
|
+
<xsl:otherwise>
|
7977
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
|
7978
|
+
</xsl:otherwise>
|
7979
|
+
</xsl:choose>
|
7980
|
+
</xsl:variable>
|
7981
|
+
<xsl:value-of select="$result"/>
|
7982
|
+
</xsl:template><xsl:template name="convertDateLocalized">
|
7983
|
+
<xsl:param name="date"/>
|
7984
|
+
<xsl:param name="format" select="'short'"/>
|
7985
|
+
<xsl:variable name="year" select="substring($date, 1, 4)"/>
|
7986
|
+
<xsl:variable name="month" select="substring($date, 6, 2)"/>
|
7987
|
+
<xsl:variable name="day" select="substring($date, 9, 2)"/>
|
7988
|
+
<xsl:variable name="monthStr">
|
7989
|
+
<xsl:choose>
|
7990
|
+
<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>
|
7991
|
+
<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>
|
7992
|
+
<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>
|
7993
|
+
<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>
|
7994
|
+
<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>
|
7995
|
+
<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>
|
7996
|
+
<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>
|
7997
|
+
<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>
|
7998
|
+
<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>
|
7999
|
+
<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>
|
8000
|
+
<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>
|
8001
|
+
<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>
|
8002
|
+
</xsl:choose>
|
8003
|
+
</xsl:variable>
|
8004
|
+
<xsl:variable name="result">
|
8005
|
+
<xsl:choose>
|
8006
|
+
<xsl:when test="$format = 'ddMMyyyy'">
|
8007
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
8008
|
+
<xsl:text> </xsl:text>
|
8009
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
|
8010
|
+
</xsl:when>
|
8011
|
+
<xsl:when test="$format = 'ddMM'">
|
8012
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
8013
|
+
<xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
|
8014
|
+
</xsl:when>
|
7564
8015
|
<xsl:when test="$format = 'short' or $day = ''">
|
7565
8016
|
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
|
7566
8017
|
</xsl:when>
|
@@ -7576,7 +8027,7 @@
|
|
7576
8027
|
<xsl:param name="charDelim" select="', '"/>
|
7577
8028
|
<xsl:choose>
|
7578
8029
|
<xsl:when test="$sorting = 'true' or $sorting = 'yes'">
|
7579
|
-
<xsl:for-each select="
|
8030
|
+
<xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
|
7580
8031
|
<xsl:sort data-type="text" order="ascending"/>
|
7581
8032
|
<xsl:call-template name="insertKeyword">
|
7582
8033
|
<xsl:with-param name="charAtEnd" select="$charAtEnd"/>
|
@@ -7585,7 +8036,7 @@
|
|
7585
8036
|
</xsl:for-each>
|
7586
8037
|
</xsl:when>
|
7587
8038
|
<xsl:otherwise>
|
7588
|
-
<xsl:for-each select="
|
8039
|
+
<xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
|
7589
8040
|
<xsl:call-template name="insertKeyword">
|
7590
8041
|
<xsl:with-param name="charAtEnd" select="$charAtEnd"/>
|
7591
8042
|
<xsl:with-param name="charDelim" select="$charDelim"/>
|
@@ -7602,65 +8053,71 @@
|
|
7602
8053
|
<xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
|
7603
8054
|
</xsl:choose>
|
7604
8055
|
</xsl:template><xsl:template name="addPDFUAmeta">
|
7605
|
-
<
|
7606
|
-
<
|
7607
|
-
|
7608
|
-
|
7609
|
-
|
7610
|
-
|
7611
|
-
|
7612
|
-
|
7613
|
-
|
7614
|
-
|
7615
|
-
|
7616
|
-
|
8056
|
+
<xsl:variable name="lang">
|
8057
|
+
<xsl:call-template name="getLang"/>
|
8058
|
+
</xsl:variable>
|
8059
|
+
<pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
|
8060
|
+
<pdf:dictionary type="normal" key="ViewerPreferences">
|
8061
|
+
<pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
|
8062
|
+
</pdf:dictionary>
|
8063
|
+
</pdf:catalog>
|
8064
|
+
<x:xmpmeta xmlns:x="adobe:ns:meta/">
|
8065
|
+
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
8066
|
+
<rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
|
8067
|
+
<!-- Dublin Core properties go here -->
|
8068
|
+
<dc:title>
|
8069
|
+
<xsl:variable name="title">
|
8070
|
+
<xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
|
7617
8071
|
|
7618
8072
|
|
7619
|
-
<xsl:value-of select="
|
8073
|
+
<xsl:value-of select="*[local-name() = 'title'][@language = $lang and @type = 'main']"/>
|
8074
|
+
|
7620
8075
|
|
7621
8076
|
|
7622
8077
|
|
7623
8078
|
|
7624
|
-
</xsl:
|
7625
|
-
|
7626
|
-
|
7627
|
-
|
7628
|
-
|
7629
|
-
|
7630
|
-
|
7631
|
-
</xsl:
|
7632
|
-
</xsl:
|
7633
|
-
</
|
7634
|
-
|
8079
|
+
</xsl:for-each>
|
8080
|
+
</xsl:variable>
|
8081
|
+
<xsl:choose>
|
8082
|
+
<xsl:when test="normalize-space($title) != ''">
|
8083
|
+
<xsl:value-of select="$title"/>
|
8084
|
+
</xsl:when>
|
8085
|
+
<xsl:otherwise>
|
8086
|
+
<xsl:text> </xsl:text>
|
8087
|
+
</xsl:otherwise>
|
8088
|
+
</xsl:choose>
|
8089
|
+
</dc:title>
|
8090
|
+
<dc:creator>
|
8091
|
+
<xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
|
7635
8092
|
|
8093
|
+
<xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
|
8094
|
+
<xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
|
8095
|
+
<xsl:if test="position() != last()">; </xsl:if>
|
8096
|
+
</xsl:for-each>
|
7636
8097
|
|
7637
|
-
<xsl:value-of select="//*[local-name() = 'bibdata'][@type='standard']/*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']/*[local-name() = 'organization']/*[local-name() = 'name']"/>
|
7638
8098
|
|
7639
8099
|
|
7640
|
-
</
|
7641
|
-
|
7642
|
-
|
7643
|
-
|
7644
|
-
|
7645
|
-
|
7646
|
-
|
7647
|
-
|
7648
|
-
|
7649
|
-
|
7650
|
-
|
7651
|
-
|
7652
|
-
|
7653
|
-
|
7654
|
-
|
7655
|
-
|
7656
|
-
|
7657
|
-
<
|
7658
|
-
|
7659
|
-
|
7660
|
-
|
7661
|
-
</rdf:RDF>
|
7662
|
-
</x:xmpmeta>
|
7663
|
-
</fo:declarations>
|
8100
|
+
</xsl:for-each>
|
8101
|
+
</dc:creator>
|
8102
|
+
<dc:description>
|
8103
|
+
<xsl:variable name="abstract">
|
8104
|
+
|
8105
|
+
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
|
8106
|
+
|
8107
|
+
|
8108
|
+
</xsl:variable>
|
8109
|
+
<xsl:value-of select="normalize-space($abstract)"/>
|
8110
|
+
</dc:description>
|
8111
|
+
<pdf:Keywords>
|
8112
|
+
<xsl:call-template name="insertKeywords"/>
|
8113
|
+
</pdf:Keywords>
|
8114
|
+
</rdf:Description>
|
8115
|
+
<rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
|
8116
|
+
<!-- XMP properties go here -->
|
8117
|
+
<xmp:CreatorTool/>
|
8118
|
+
</rdf:Description>
|
8119
|
+
</rdf:RDF>
|
8120
|
+
</x:xmpmeta>
|
7664
8121
|
</xsl:template><xsl:template name="getId">
|
7665
8122
|
<xsl:choose>
|
7666
8123
|
<xsl:when test="../@id">
|
@@ -7757,6 +8214,7 @@
|
|
7757
8214
|
|
7758
8215
|
<xsl:value-of select="document('')//*/namespace::bipm"/>
|
7759
8216
|
|
8217
|
+
|
7760
8218
|
</xsl:variable>
|
7761
8219
|
<xsl:if test="$documentNS != $XSLNS">
|
7762
8220
|
<xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
|