metanorma-itu 1.0.16 → 1.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/asciidoctor/itu/biblio.rng +13 -3
- data/lib/asciidoctor/itu/isodoc.rng +17 -1
- data/lib/isodoc/itu/base_convert.rb +58 -12
- data/lib/isodoc/itu/html/_coverpage.scss +6 -2
- data/lib/isodoc/itu/html/html_itu_titlepage.html +1 -4
- data/lib/isodoc/itu/html/htmlstyle.scss +8 -4
- data/lib/isodoc/itu/html/itu.scss +4 -0
- data/lib/isodoc/itu/html/word_itu_intro.html +9 -1
- data/lib/isodoc/itu/html/word_itu_titlepage.html +1 -4
- data/lib/isodoc/itu/html/wordstyle.scss +5 -4
- data/lib/isodoc/itu/i18n-en.yaml +2 -1
- data/lib/isodoc/itu/itu.recommendation-annex.xsl +570 -256
- data/lib/isodoc/itu/itu.recommendation.xsl +570 -256
- data/lib/isodoc/itu/itu.resolution.xsl +570 -256
- data/lib/isodoc/itu/metadata.rb +13 -5
- data/lib/isodoc/itu/ref.rb +36 -10
- data/lib/isodoc/itu/terms.rb +1 -1
- data/lib/isodoc/itu/word_convert.rb +2 -1
- data/lib/isodoc/itu/xref.rb +11 -4
- data/lib/metanorma/itu/version.rb +1 -1
- data/metanorma-itu.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b41712042e0f88c1a324ba578c37b2a0f53dc0b4864d33bf659d64c608374526
|
4
|
+
data.tar.gz: 1b3c37954a1e5da6b8bf4f4175befa1c3aeb08e3a27a7934086e0d088b5e131c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 932e2f9474e91292595ea30ad42766d1b863829855fb3c66ed0d420784c184a35395258f9549a397a43d05966ad554bae21c241ad9b2f59ef7a3309fe9da6a48
|
7
|
+
data.tar.gz: 7bef0da0c481ee46241f0f5341c05b1028ec715cea0eb716594260ab04eeabd7fa1fbb8962a53c4ef38a383c958043646804deb44e0a779dafb8ccad13ed082e
|
@@ -661,9 +661,9 @@
|
|
661
661
|
<optional>
|
662
662
|
<ref name="status"/>
|
663
663
|
</optional>
|
664
|
-
<
|
664
|
+
<zeroOrMore>
|
665
665
|
<ref name="copyright"/>
|
666
|
-
</
|
666
|
+
</zeroOrMore>
|
667
667
|
<zeroOrMore>
|
668
668
|
<ref name="docrelation"/>
|
669
669
|
</zeroOrMore>
|
@@ -1021,7 +1021,17 @@
|
|
1021
1021
|
<optional>
|
1022
1022
|
<ref name="to"/>
|
1023
1023
|
</optional>
|
1024
|
-
<
|
1024
|
+
<oneOrMore>
|
1025
|
+
<ref name="owner"/>
|
1026
|
+
</oneOrMore>
|
1027
|
+
<optional>
|
1028
|
+
<ref name="copyright_scope"/>
|
1029
|
+
</optional>
|
1030
|
+
</element>
|
1031
|
+
</define>
|
1032
|
+
<define name="copyright_scope">
|
1033
|
+
<element name="scope">
|
1034
|
+
<text/>
|
1025
1035
|
</element>
|
1026
1036
|
</define>
|
1027
1037
|
<define name="from">
|
@@ -53,6 +53,14 @@
|
|
53
53
|
<optional>
|
54
54
|
<attribute name="alt"/>
|
55
55
|
</optional>
|
56
|
+
<optional>
|
57
|
+
<attribute name="case">
|
58
|
+
<choice>
|
59
|
+
<value>capital</value>
|
60
|
+
<value>lowercase</value>
|
61
|
+
</choice>
|
62
|
+
</attribute>
|
63
|
+
</optional>
|
56
64
|
<text/>
|
57
65
|
</element>
|
58
66
|
</define>
|
@@ -902,7 +910,15 @@
|
|
902
910
|
<attribute name="id">
|
903
911
|
<data type="ID"/>
|
904
912
|
</attribute>
|
905
|
-
<
|
913
|
+
<oneOrMore>
|
914
|
+
<choice>
|
915
|
+
<ref name="paragraph"/>
|
916
|
+
<ref name="ul"/>
|
917
|
+
<ref name="ol"/>
|
918
|
+
<ref name="dl"/>
|
919
|
+
<ref name="formula"/>
|
920
|
+
</choice>
|
921
|
+
</oneOrMore>
|
906
922
|
</element>
|
907
923
|
</define>
|
908
924
|
<define name="termexample">
|
@@ -37,13 +37,20 @@ module IsoDoc
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
+
def bracket_opt(b)
|
41
|
+
return b if b.nil?
|
42
|
+
return b if /^\[.+\]$/.match(b)
|
43
|
+
"[#{b}]"
|
44
|
+
end
|
45
|
+
|
40
46
|
def clausedelim
|
41
47
|
""
|
42
48
|
end
|
43
49
|
|
44
50
|
def note_label(node)
|
45
51
|
n = get_anchors[node["id"]]
|
46
|
-
|
52
|
+
(n.nil? || n[:label].nil? || n[:label].empty?) and
|
53
|
+
return "#{@note_lbl} – "
|
47
54
|
l10n("#{@note_lbl} #{n[:label]} – ")
|
48
55
|
end
|
49
56
|
|
@@ -64,7 +71,8 @@ module IsoDoc
|
|
64
71
|
end
|
65
72
|
|
66
73
|
def annex_name(annex, name, div)
|
67
|
-
|
74
|
+
r_a = @meta.get[:doctype_original] == "recommendation-annex"
|
75
|
+
div.h1 **{ class: r_a ? "RecommendationAnnex" : "Annex" } do |t|
|
68
76
|
t << "#{anchor(annex['id'], :label)} "
|
69
77
|
t.br
|
70
78
|
t.br
|
@@ -76,14 +84,28 @@ module IsoDoc
|
|
76
84
|
end
|
77
85
|
|
78
86
|
def annex_obligation_subtitle(annex, div)
|
79
|
-
type = annex&.document&.root&.at("//bibdata/ext/doctype")&.text ||
|
80
|
-
"recommendation"
|
81
|
-
type = type.split(" ").map {|w| w.capitalize }.join(" ")
|
82
87
|
info = annex["obligation"] == "informative"
|
83
88
|
div.p **{class: "annex_obligation" } do |p|
|
84
|
-
p << (info ? @inform_annex_lbl : @norm_annex_lbl).
|
89
|
+
p << (info ? @inform_annex_lbl : @norm_annex_lbl).
|
90
|
+
sub(/%/, @meta.get[:doctype] || "")
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
def annex(isoxml, out)
|
95
|
+
isoxml.xpath(ns("//annex")).each do |c|
|
96
|
+
@meta.get[:doctype_original] == "recommendation-annex" or
|
97
|
+
page_break(out)
|
98
|
+
out.div **attr_code(id: c["id"], class: "Section3") do |s|
|
99
|
+
annex_name(c, nil, s) unless c.at(ns("./title"))
|
100
|
+
c.elements.each do |c1|
|
101
|
+
if c1.name == "title" then annex_name(c, c1, s)
|
102
|
+
else
|
103
|
+
parse(c1, s)
|
104
|
+
end
|
105
|
+
end
|
85
106
|
end
|
86
107
|
end
|
108
|
+
end
|
87
109
|
|
88
110
|
def i18n_init(lang, script)
|
89
111
|
super
|
@@ -96,6 +118,16 @@ module IsoDoc
|
|
96
118
|
def cleanup(docxml)
|
97
119
|
super
|
98
120
|
term_cleanup(docxml)
|
121
|
+
refs_cleanup(docxml)
|
122
|
+
title_cleanup(docxml)
|
123
|
+
end
|
124
|
+
|
125
|
+
def title_cleanup(docxml)
|
126
|
+
docxml.xpath("//h1[@class = 'RecommendationAnnex']").each do |h|
|
127
|
+
h.name = "p"
|
128
|
+
h["class"] = "h1Annex"
|
129
|
+
end
|
130
|
+
docxml
|
99
131
|
end
|
100
132
|
|
101
133
|
def term_cleanup(docxml)
|
@@ -113,17 +145,31 @@ module IsoDoc
|
|
113
145
|
docxml
|
114
146
|
end
|
115
147
|
|
148
|
+
def refs_cleanup(docxml)
|
149
|
+
docxml.xpath("//tx[following-sibling::tx]").each do |tx|
|
150
|
+
tx << tx.next_element.remove.children
|
151
|
+
end
|
152
|
+
docxml.xpath("//tx").each do |tx|
|
153
|
+
tx.name = "td"
|
154
|
+
tx["colspan"] = "2"
|
155
|
+
tx.wrap("<tr></tr>")
|
156
|
+
end
|
157
|
+
docxml
|
158
|
+
end
|
159
|
+
|
116
160
|
def info(isoxml, out)
|
117
|
-
@meta.keywords isoxml, out
|
118
161
|
@meta.ip_notice_received isoxml, out
|
119
162
|
super
|
120
163
|
end
|
121
164
|
|
122
165
|
def get_eref_linkend(node)
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
166
|
+
l = anchor_linkend(node, docid_l10n(node["target"] || node["citeas"]))
|
167
|
+
l && !/^\[.*\]$/.match(l) and l = "[#{l}]"
|
168
|
+
l += eref_localities(node.xpath(ns("./locality | ./localityStack")), l)
|
169
|
+
contents = node.children.select do |c|
|
170
|
+
!%w{locality localityStack}.include? c.name
|
171
|
+
end
|
172
|
+
return l if contents.nil? || contents.empty?
|
127
173
|
Nokogiri::XML::NodeSet.new(node.document, contents).to_xml
|
128
174
|
end
|
129
175
|
|
@@ -140,7 +186,7 @@ module IsoDoc
|
|
140
186
|
|
141
187
|
def middle_title(out)
|
142
188
|
out.p(**{ class: "zzSTDTitle1" }) do |p|
|
143
|
-
id = @meta.get[:docnumber] and p << "
|
189
|
+
id = @meta.get[:docnumber] and p << "#{@meta.get[:doctype]} #{id}"
|
144
190
|
end
|
145
191
|
out.p(**{ class: "zzSTDTitle2" }) { |p| p << @meta.get[:doctitle] }
|
146
192
|
s = @meta.get[:docsubtitle] and
|
@@ -62,14 +62,18 @@
|
|
62
62
|
@include coverpageStageBlock();
|
63
63
|
}
|
64
64
|
|
65
|
-
span.doc-title {
|
65
|
+
span.doc-title, span.doc-annextitle {
|
66
66
|
font-size: 26px;
|
67
67
|
font-weight: 800;
|
68
68
|
margin-top: 20px;
|
69
|
-
border-top: 2px solid #DA1D52;
|
70
69
|
margin-right: 42px;
|
71
70
|
}
|
72
71
|
|
72
|
+
span.doc-title {
|
73
|
+
border-top: 2px solid #DA1D52;
|
74
|
+
}
|
75
|
+
|
76
|
+
|
73
77
|
.doc-footer {
|
74
78
|
margin-top: 100px;
|
75
79
|
|
@@ -30,9 +30,6 @@
|
|
30
30
|
{% if edition %} <div> Revision {{ edition }}</div> {% endif %}
|
31
31
|
<div> {{ draftinfo }}</div>
|
32
32
|
</div>
|
33
|
-
{% if annexid %}
|
34
|
-
<div class="doc-identifier">{{annexid}}</div>
|
35
|
-
{% endif %}
|
36
33
|
<div class="publication-month">
|
37
34
|
({{ pubdate_monthyear }})
|
38
35
|
</div>
|
@@ -55,7 +52,7 @@
|
|
55
52
|
<br/><span class="doc-subtitle">{{ docsubtitle }}</span>
|
56
53
|
{% endif %}
|
57
54
|
{% if annextitle %}
|
58
|
-
<br/><span class="
|
55
|
+
<br/><span class="doc-annextitle">{{ annexid }}{% if annexid and annextitle %}: {% endif %}{{ annextitle }}</span>
|
59
56
|
{% endif %}
|
60
57
|
</div>
|
61
58
|
|
@@ -209,20 +209,20 @@ svg {
|
|
209
209
|
|
210
210
|
/* Headings */
|
211
211
|
|
212
|
-
h1, h2, h3, h4, h5, h6 {
|
212
|
+
h1, h2, h3, h4, h5, h6, .h1Annex {
|
213
213
|
font-weight: 400;
|
214
214
|
margin-top: 1.6em;
|
215
215
|
margin-bottom: 0.3em;
|
216
216
|
}
|
217
217
|
|
218
|
-
h1, h2, h3, h4 {
|
218
|
+
h1, h2, h3, h4, .h1Annex {
|
219
219
|
@media print {
|
220
220
|
page-break-after: avoid;
|
221
221
|
margin-top: 1.2em;
|
222
222
|
}
|
223
223
|
}
|
224
224
|
|
225
|
-
h1 {
|
225
|
+
h1, .h1Annex {
|
226
226
|
font-size: 1.4em;
|
227
227
|
text-transform: uppercase;
|
228
228
|
margin-top: 2em;
|
@@ -419,7 +419,11 @@ p.Biblio, p.NormRef {
|
|
419
419
|
|
420
420
|
/* Tables */
|
421
421
|
|
422
|
-
table {
|
422
|
+
table.biblio td {
|
423
|
+
padding-right: 0.5em;
|
424
|
+
}
|
425
|
+
|
426
|
+
table:not(.biblio) {
|
423
427
|
@include table($border: none);
|
424
428
|
|
425
429
|
&, th, td {
|
@@ -4,9 +4,17 @@
|
|
4
4
|
<tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes'>
|
5
5
|
<td width=663 valign=top style='width:497.25pt;padding:0cm 5.4pt 0cm 5.4pt'>
|
6
6
|
<p class=RecNo><span style='mso-bookmark:_Hlk526346232'><a name=irecnoe></a><span
|
7
|
-
lang=FR-CH style='mso-ansi-language:FR-CH;font-size:14pt;font-weight:bold;'>
|
7
|
+
lang=FR-CH style='mso-ansi-language:FR-CH;font-size:14pt;font-weight:bold;'>{{ doctype}} {{ docnumber }}<o:p></o:p></span></span></p>
|
8
8
|
<p class=Rectitle align="center"><span style='mso-bookmark:_Hlk526346232'><span lang=FR-CH
|
9
9
|
style='mso-ansi-language:FR-CH;font-size:14pt;font-weight:bold;'>{{ doctitle }}<o:p></o:p></span></span></p>
|
10
|
+
{% if annexid %}
|
11
|
+
<p class=Rectitle align="center"><span style='mso-bookmark:_Hlk526346232'><span lang=FR-CH
|
12
|
+
style='mso-ansi-language:FR-CH;font-size:14pt;font-weight:bold;'>{{ annexid }}<o:p></o:p></span></span></p>
|
13
|
+
{% endif %}
|
14
|
+
{% if annextitle %}
|
15
|
+
<p class=Rectitle align="center"><span style='mso-bookmark:_Hlk526346232'><span lang=FR-CH
|
16
|
+
style='mso-ansi-language:FR-CH;font-size:14pt;font-weight:bold;'>{{ annextitle }}<o:p></o:p></span></span></p>
|
17
|
+
{% endif %}
|
10
18
|
<span style='mso-bookmark:_Hlk526346232'></span>
|
11
19
|
<p class=MsoNormal><span style='mso-bookmark:_Hlk526346232'><span lang=FR-CH
|
12
20
|
style='mso-ansi-language:FR-CH'><o:p> </o:p></span></span></p>
|
@@ -143,9 +143,6 @@
|
|
143
143
|
<td width="265" valign="top" style='width:198.55pt;padding:0cm 4.25pt 0cm 4.25pt;
|
144
144
|
height:48.7pt'>
|
145
145
|
<p class="MsoNormal" align="right" style='margin-top:0cm;text-align:right'>
|
146
|
-
{% if annexid %}
|
147
|
-
<span style='font-size:18.0pt;font-family:"Arial",sans-serif'><b>{{annexid}}</b></span><br/>
|
148
|
-
{% endif %}
|
149
146
|
<span
|
150
147
|
style='mso-bookmark:_Hlk526346232'><a name="ddatee"><span lang="EN-US"
|
151
148
|
style='font-size:14.0pt;mso-bidi-font-size:10.0pt;font-family:"Arial",sans-serif;
|
@@ -198,7 +195,7 @@
|
|
198
195
|
style='mso-bookmark:_Hlk526346232'><a name="c1tite">
|
199
196
|
<span lang="EN-GB"
|
200
197
|
style='font-size:18.0pt;mso-bidi-font-size:10.0pt;font-family:"Arial",sans-serif;
|
201
|
-
mso-bidi-font-family:"Times New Roman"'>{% if annextitle %}{{ doctitle }}<br/><b>{{ annextitle }}</b>{% else %}<b>{{ doctitle }}</b>{% endif %}</span>
|
198
|
+
mso-bidi-font-family:"Times New Roman"'>{% if annextitle %}{{ doctitle }}<br/><b>{{ annexid }}{% if annexid and annextitle %}: {% endif %}{{ annextitle }}</b>{% else %}<b>{{ doctitle }}</b>{% endif %}</span>
|
202
199
|
</a></span><span
|
203
200
|
style='mso-bookmark:_Hlk526346232'><span style='mso-bookmark:c1tite'><b><span
|
204
201
|
lang="EN-US" style='font-size:18.0pt;mso-bidi-font-size:10.0pt;font-family:
|
@@ -512,7 +512,7 @@ p.h1Preface
|
|
512
512
|
mso-ansi-language:EN-GB;
|
513
513
|
mso-fareast-language:JA;
|
514
514
|
mso-bidi-font-weight:normal;}
|
515
|
-
h1.Annex
|
515
|
+
h1.Annex, .h1Annex
|
516
516
|
{mso-style-priority:1;
|
517
517
|
mso-style-unhide:no;
|
518
518
|
mso-style-qformat:yes;
|
@@ -527,15 +527,12 @@ h1.Annex
|
|
527
527
|
text-align:center;
|
528
528
|
mso-pagination:widow-orphan lines-together;
|
529
529
|
page-break-after:avoid;
|
530
|
-
mso-outline-level:1;
|
531
530
|
tab-stops:39.7pt 59.55pt 79.4pt 99.25pt;
|
532
531
|
mso-layout-grid-align:none;
|
533
532
|
punctuation-wrap:simple;
|
534
533
|
text-autospace:none;
|
535
534
|
font-size:14.0pt;
|
536
535
|
mso-bidi-font-size:10.0pt;
|
537
|
-
mso-outline-level:1;
|
538
|
-
mso-list:l1 level1 lfo6;
|
539
536
|
mso-hyphenate:none;
|
540
537
|
mso-bidi-font-size:11.0pt;
|
541
538
|
font-family:$headerfont;
|
@@ -545,6 +542,10 @@ h1.Annex
|
|
545
542
|
mso-ansi-language:EN-GB;
|
546
543
|
mso-fareast-language:JA;
|
547
544
|
mso-bidi-font-weight:normal;}
|
545
|
+
h1.Annex {
|
546
|
+
mso-outline-level:1;
|
547
|
+
mso-list:l1 level1 lfo6;
|
548
|
+
}
|
548
549
|
.h2Annex
|
549
550
|
{mso-style-priority:2;
|
550
551
|
mso-style-unhide:no;
|
data/lib/isodoc/itu/i18n-en.yaml
CHANGED
@@ -9,7 +9,8 @@ norm_annex: (This annex forms an integral part of this %.)
|
|
9
9
|
inform_annex: (This appendix does not form an integral part of this %.)
|
10
10
|
formula: Equation
|
11
11
|
inequality: Inequality
|
12
|
-
|
12
|
+
clause: clause
|
13
|
+
annex_subclause: clause
|
13
14
|
in: in
|
14
15
|
where: "where:"
|
15
16
|
blankclause: This clause is intentionally left blank.
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:mathml="http://www.w3.org/1998/Math/MathML" xmlns:xalan="http://xml.apache.org/xalan" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" version="1.0">
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:mathml="http://www.w3.org/1998/Math/MathML" xmlns:xalan="http://xml.apache.org/xalan" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" xmlns:java="http://xml.apache.org/xalan/java" exclude-result-prefixes="java" version="1.0">
|
2
2
|
|
3
3
|
<xsl:output method="xml" encoding="UTF-8" indent="no"/>
|
4
4
|
|
@@ -51,8 +51,6 @@
|
|
51
51
|
<xsl:apply-templates select="/itu:itu-standard/itu:annex" mode="contents"/>
|
52
52
|
<xsl:apply-templates select="/itu:itu-standard/itu:bibliography/itu:references[position() != 1]" mode="contents"/> <!-- @id = 'bibliography' -->
|
53
53
|
|
54
|
-
<xsl:apply-templates select="//itu3" mode="contents"/>
|
55
|
-
|
56
54
|
<xsl:apply-templates select="//itu:table" mode="contents"/>
|
57
55
|
|
58
56
|
</contents>
|
@@ -131,7 +129,7 @@
|
|
131
129
|
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
132
130
|
<rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
|
133
131
|
<!-- Dublin Core properties go here -->
|
134
|
-
<dc:title><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:title[@type='main']"
|
132
|
+
<dc:title><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:title[@type='main']"/> </dc:title>
|
135
133
|
<dc:creator><xsl:value-of select="/itu:iso-standard/itu:bibdata/itu:contributor[itu:role/@type='author']/itu:organization/itu:name"/></dc:creator>
|
136
134
|
<dc:description>
|
137
135
|
<xsl:variable name="abstract">
|
@@ -140,14 +138,7 @@
|
|
140
138
|
<xsl:value-of select="normalize-space($abstract)"/>
|
141
139
|
</dc:description>
|
142
140
|
<pdf:Keywords>
|
143
|
-
<xsl:
|
144
|
-
<xsl:sort data-type="text" order="ascending"/>
|
145
|
-
<xsl:apply-templates/>
|
146
|
-
<xsl:choose>
|
147
|
-
<xsl:when test="position() != last()">, </xsl:when>
|
148
|
-
<xsl:otherwise>.</xsl:otherwise>
|
149
|
-
</xsl:choose>
|
150
|
-
</xsl:for-each>
|
141
|
+
<xsl:call-template name="insertKeywords"/>
|
151
142
|
</pdf:Keywords>
|
152
143
|
</rdf:Description>
|
153
144
|
<rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
|
@@ -180,12 +171,12 @@
|
|
180
171
|
<fo:table-column column-width="35.8mm"/>
|
181
172
|
<fo:table-column column-width="67mm"/>
|
182
173
|
<fo:table-body>
|
183
|
-
<fo:table-row height="
|
174
|
+
<fo:table-row height="37.5mm"> <!-- 42.5mm -->
|
184
175
|
<fo:table-cell>
|
185
176
|
<fo:block> </fo:block>
|
186
177
|
</fo:table-cell>
|
187
178
|
<fo:table-cell number-columns-spanned="3">
|
188
|
-
<fo:block font-family="Arial" font-size="13pt" font-weight="bold" color="gray" margin-top="16pt"
|
179
|
+
<fo:block font-family="Arial" font-size="13pt" font-weight="bold" color="gray"> <!-- margin-top="16pt" letter-spacing="4pt", Helvetica for letter-spacing working -->
|
189
180
|
<fo:block><xsl:value-of select="$linebreak"/></fo:block>
|
190
181
|
<xsl:call-template name="addLetterSpacing">
|
191
182
|
<xsl:with-param name="text" select="/itu:itu-standard/itu:bibdata/itu:contributor[itu:role/@type='author']/itu:organization/itu:name"/>
|
@@ -236,29 +227,31 @@
|
|
236
227
|
</fo:block>
|
237
228
|
</fo:table-cell>
|
238
229
|
</fo:table-row>
|
239
|
-
<fo:table-row height="
|
230
|
+
<fo:table-row height="64mm"> <!-- 59mm -->
|
240
231
|
<fo:table-cell>
|
241
232
|
<fo:block> </fo:block>
|
242
233
|
</fo:table-cell>
|
243
|
-
<fo:table-cell font-size="16pt" number-columns-spanned="3" border-bottom="0.5mm solid black" padding-right="2mm">
|
244
|
-
<fo:block>
|
245
|
-
<
|
246
|
-
<xsl:
|
247
|
-
<xsl:
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
</fo:block>
|
253
|
-
<xsl:if test="/itu:itu-standard/itu:bibdata/itu:series">
|
254
|
-
<fo:block margin-top="6pt">
|
255
|
-
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:series[@type = 'secondary']"/>
|
256
|
-
<xsl:if test="normalize-space(/itu:itu-standard/itu:bibdata/itu:series[@type = 'tertiary']) != ''">
|
257
|
-
<xsl:text> — </xsl:text>
|
258
|
-
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:series[@type = 'tertiary']"/>
|
234
|
+
<fo:table-cell font-size="16pt" number-columns-spanned="3" border-bottom="0.5mm solid black" padding-right="2mm" display-align="after">
|
235
|
+
<fo:block padding-bottom="7mm">
|
236
|
+
<fo:block text-transform="uppercase">
|
237
|
+
<xsl:if test="normalize-space(/itu:itu-standard/itu:bibdata/itu:series[@type = 'main']) != ''">
|
238
|
+
<xsl:variable name="title">
|
239
|
+
<xsl:text>Series </xsl:text>
|
240
|
+
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:series[@type = 'main']"/>
|
241
|
+
</xsl:variable>
|
242
|
+
<xsl:value-of select="$title"/>
|
259
243
|
</xsl:if>
|
260
244
|
</fo:block>
|
261
|
-
|
245
|
+
<xsl:if test="/itu:itu-standard/itu:bibdata/itu:series">
|
246
|
+
<fo:block margin-top="6pt">
|
247
|
+
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:series[@type = 'secondary']"/>
|
248
|
+
<xsl:if test="normalize-space(/itu:itu-standard/itu:bibdata/itu:series[@type = 'tertiary']) != ''">
|
249
|
+
<xsl:text> — </xsl:text>
|
250
|
+
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:series[@type = 'tertiary']"/>
|
251
|
+
</xsl:if>
|
252
|
+
</fo:block>
|
253
|
+
</xsl:if>
|
254
|
+
</fo:block>
|
262
255
|
</fo:table-cell>
|
263
256
|
</fo:table-row>
|
264
257
|
<fo:table-row height="40mm">
|
@@ -346,17 +339,10 @@
|
|
346
339
|
<xsl:value-of select="$linebreak"/>
|
347
340
|
</fo:block>
|
348
341
|
<fo:block font-weight="bold" margin-top="18pt" margin-bottom="18pt">
|
349
|
-
<xsl:
|
342
|
+
<xsl:value-of select="$title-keywords"/>
|
350
343
|
</fo:block>
|
351
344
|
<fo:block>
|
352
|
-
<xsl:
|
353
|
-
<xsl:sort data-type="text" order="ascending"/>
|
354
|
-
<xsl:apply-templates/>
|
355
|
-
<xsl:choose>
|
356
|
-
<xsl:when test="position() != last()">, </xsl:when>
|
357
|
-
<xsl:otherwise>.</xsl:otherwise>
|
358
|
-
</xsl:choose>
|
359
|
-
</xsl:for-each>
|
345
|
+
<xsl:call-template name="insertKeywords"/>
|
360
346
|
</fo:block>
|
361
347
|
</xsl:if>
|
362
348
|
|
@@ -379,8 +365,8 @@
|
|
379
365
|
<xsl:if test="xalan:nodeset($contents)//item">
|
380
366
|
<fo:block break-after="page"/>
|
381
367
|
<fo:block-container>
|
382
|
-
<fo:block margin-top="6pt" text-align="center" font-weight="bold"
|
383
|
-
<fo:block margin-top="6pt" text-align="right" font-weight="bold"
|
368
|
+
<fo:block margin-top="6pt" text-align="center" font-weight="bold"><xsl:value-of select="$title-toc"/></fo:block>
|
369
|
+
<fo:block margin-top="6pt" text-align="right" font-weight="bold"><xsl:value-of select="$title-page"/></fo:block>
|
384
370
|
|
385
371
|
<xsl:for-each select="xalan:nodeset($contents)//item">
|
386
372
|
<xsl:if test="@display = 'true'">
|
@@ -625,7 +611,7 @@
|
|
625
611
|
<xsl:template match="itu:figure" mode="contents">
|
626
612
|
<xsl:param name="sectionNum"/>
|
627
613
|
<item level="" id="{@id}" display="false" type="figure">
|
628
|
-
<xsl:variable name="title"
|
614
|
+
<xsl:variable name="title" select="$title-figure"/>
|
629
615
|
<xsl:attribute name="section">
|
630
616
|
<xsl:call-template name="getSection">
|
631
617
|
<xsl:with-param name="sectionNum" select="$sectionNum"/>
|
@@ -635,6 +621,11 @@
|
|
635
621
|
<xsl:with-param name="brackets" select="'false'"/>
|
636
622
|
</xsl:call-template> -->
|
637
623
|
</xsl:attribute>
|
624
|
+
<xsl:attribute name="topsection">
|
625
|
+
<xsl:call-template name="getTopSection">
|
626
|
+
<xsl:with-param name="sectionNum" select="$sectionNum"/>
|
627
|
+
</xsl:call-template>
|
628
|
+
</xsl:attribute>
|
638
629
|
<xsl:value-of select="$title"/>
|
639
630
|
<xsl:call-template name="getItemNumber">
|
640
631
|
<xsl:with-param name="brackets" select="'false'"/>
|
@@ -648,7 +639,7 @@
|
|
648
639
|
<xsl:template match="itu:table" mode="contents">
|
649
640
|
<xsl:param name="sectionNum"/>
|
650
641
|
<item level="" id="{@id}" display="false" type="table">
|
651
|
-
<xsl:variable name="title"
|
642
|
+
<xsl:variable name="title" select="$title-table"/>
|
652
643
|
<xsl:attribute name="section">
|
653
644
|
<xsl:call-template name="getSection">
|
654
645
|
<xsl:with-param name="sectionNum" select="$sectionNum"/>
|
@@ -656,6 +647,11 @@
|
|
656
647
|
<!-- <xsl:text>Table </xsl:text>
|
657
648
|
<xsl:call-template name="getItemNumber"/> -->
|
658
649
|
</xsl:attribute>
|
650
|
+
<xsl:attribute name="topsection">
|
651
|
+
<xsl:call-template name="getTopSection">
|
652
|
+
<xsl:with-param name="sectionNum" select="$sectionNum"/>
|
653
|
+
</xsl:call-template>
|
654
|
+
</xsl:attribute>
|
659
655
|
<xsl:value-of select="$title"/>
|
660
656
|
<xsl:call-template name="getItemNumber">
|
661
657
|
<xsl:with-param name="brackets" select="'false'"/>
|
@@ -672,21 +668,22 @@
|
|
672
668
|
<item level="" id="{@id}" display="false" type="formula">
|
673
669
|
<xsl:variable name="title">
|
674
670
|
<xsl:choose>
|
675
|
-
<xsl:when test="@inequality = 'true'"
|
676
|
-
<xsl:otherwise
|
671
|
+
<xsl:when test="@inequality = 'true'"><xsl:value-of select="$title-inequality"/></xsl:when>
|
672
|
+
<xsl:otherwise><xsl:value-of select="$title-equation"/></xsl:otherwise>
|
677
673
|
</xsl:choose>
|
678
674
|
</xsl:variable>
|
679
|
-
<xsl:
|
675
|
+
<xsl:variable name="section">
|
680
676
|
<xsl:call-template name="getSection">
|
681
677
|
<xsl:with-param name="sectionNum" select="$sectionNum"/>
|
682
678
|
</xsl:call-template>
|
683
|
-
|
684
|
-
|
685
|
-
|
679
|
+
</xsl:variable>
|
680
|
+
<xsl:attribute name="section">
|
681
|
+
<xsl:value-of select="$section"/>
|
682
|
+
</xsl:attribute>
|
686
683
|
<xsl:variable name="parent-element" select="local-name(..)"/>
|
687
684
|
<xsl:attribute name="parent">
|
688
685
|
<xsl:choose>
|
689
|
-
<xsl:when test="$parent-element = 'clause'"
|
686
|
+
<xsl:when test="$parent-element = 'clause'"><xsl:value-of select="normalize-space($title-clause)"/></xsl:when>
|
690
687
|
<xsl:otherwise/>
|
691
688
|
</xsl:choose>
|
692
689
|
</xsl:attribute>
|
@@ -698,6 +695,11 @@
|
|
698
695
|
<xsl:attribute name="number">
|
699
696
|
<xsl:value-of select="$itemNumber"/>
|
700
697
|
</xsl:attribute>
|
698
|
+
<xsl:attribute name="topsection">
|
699
|
+
<xsl:call-template name="getTopSection">
|
700
|
+
<xsl:with-param name="sectionNum" select="$sectionNum"/>
|
701
|
+
</xsl:call-template>
|
702
|
+
</xsl:attribute>
|
701
703
|
<xsl:value-of select="$title"/>
|
702
704
|
<xsl:value-of select="$itemNumber"/>
|
703
705
|
</item>
|
@@ -794,10 +796,15 @@
|
|
794
796
|
<item level="" id="{@id}" display="false" type="example" section="{$section}">
|
795
797
|
<xsl:attribute name="parent">
|
796
798
|
<xsl:choose>
|
797
|
-
<xsl:when test="$parent-element = 'clause'"
|
799
|
+
<xsl:when test="$parent-element = 'clause'"><xsl:value-of select="normalize-space($title-clause)"/></xsl:when>
|
798
800
|
<xsl:otherwise/>
|
799
801
|
</xsl:choose>
|
800
802
|
</xsl:attribute>
|
803
|
+
<xsl:attribute name="topsection">
|
804
|
+
<xsl:call-template name="getTopSection">
|
805
|
+
<xsl:with-param name="sectionNum" select="$sectionNum"/>
|
806
|
+
</xsl:call-template>
|
807
|
+
</xsl:attribute>
|
801
808
|
</item>
|
802
809
|
<xsl:apply-templates mode="contents">
|
803
810
|
<xsl:with-param name="sectionNum" select="$sectionNum"/>
|
@@ -816,6 +823,11 @@
|
|
816
823
|
</xsl:call-template>
|
817
824
|
</xsl:variable>
|
818
825
|
<item level="" id="{@id}" display="false" type="note" section="{$section}">
|
826
|
+
<xsl:attribute name="topsection">
|
827
|
+
<xsl:call-template name="getTopSection">
|
828
|
+
<xsl:with-param name="sectionNum" select="$sectionNum"/>
|
829
|
+
</xsl:call-template>
|
830
|
+
</xsl:attribute>
|
819
831
|
<xsl:number/>
|
820
832
|
</item>
|
821
833
|
<xsl:apply-templates mode="contents">
|
@@ -823,23 +835,6 @@
|
|
823
835
|
</xsl:apply-templates>
|
824
836
|
</xsl:template>
|
825
837
|
|
826
|
-
<xsl:template match="itu:termnote" mode="contents">
|
827
|
-
<xsl:param name="sectionNum"/>
|
828
|
-
<xsl:variable name="level">
|
829
|
-
<xsl:call-template name="getLevel"/>
|
830
|
-
</xsl:variable>
|
831
|
-
<xsl:variable name="section">
|
832
|
-
<xsl:call-template name="getSection">
|
833
|
-
<xsl:with-param name="sectionNum" select="$sectionNum"/>
|
834
|
-
</xsl:call-template>
|
835
|
-
</xsl:variable>
|
836
|
-
<item level="" id="{@id}" display="false" type="note" section="{$section}">
|
837
|
-
<xsl:number/>
|
838
|
-
</item>
|
839
|
-
<xsl:apply-templates mode="contents">
|
840
|
-
<xsl:with-param name="sectionNum" select="$sectionNum"/>
|
841
|
-
</xsl:apply-templates>
|
842
|
-
</xsl:template>
|
843
838
|
|
844
839
|
<xsl:template match="itu:note" mode="contents">
|
845
840
|
<xsl:param name="sectionNum"/>
|
@@ -854,6 +849,11 @@
|
|
854
849
|
</xsl:for-each>
|
855
850
|
</xsl:variable>
|
856
851
|
<item level="" id="{@id}" display="false" type="note" section="{$section}">
|
852
|
+
<xsl:attribute name="topsection">
|
853
|
+
<xsl:call-template name="getTopSection">
|
854
|
+
<xsl:with-param name="sectionNum" select="$sectionNum"/>
|
855
|
+
</xsl:call-template>
|
856
|
+
</xsl:attribute>
|
857
857
|
<xsl:number/>
|
858
858
|
</item>
|
859
859
|
<xsl:apply-templates mode="contents">
|
@@ -910,6 +910,18 @@
|
|
910
910
|
</xsl:otherwise>
|
911
911
|
</xsl:choose>
|
912
912
|
</xsl:template>
|
913
|
+
|
914
|
+
<xsl:template match="itu:xref" mode="contents">
|
915
|
+
<xsl:param name="sectionNum"/>
|
916
|
+
<item level="" id="{generate-id()}" display="false" type="xref">
|
917
|
+
|
918
|
+
<xsl:attribute name="topsection">
|
919
|
+
<xsl:call-template name="getTopSection">
|
920
|
+
<xsl:with-param name="sectionNum" select="$sectionNum"/>
|
921
|
+
</xsl:call-template>
|
922
|
+
</xsl:attribute>
|
923
|
+
</item>
|
924
|
+
</xsl:template>
|
913
925
|
|
914
926
|
<!-- ============================= -->
|
915
927
|
<!-- ============================= -->
|
@@ -952,14 +964,23 @@
|
|
952
964
|
<!-- PARAGRAPHS -->
|
953
965
|
<!-- ============================= -->
|
954
966
|
<xsl:template match="itu:p | itu:sections/itu:p">
|
967
|
+
<xsl:param name="sectionNum"/>
|
955
968
|
<fo:block margin-top="6pt">
|
956
969
|
<xsl:attribute name="text-align">
|
957
970
|
<xsl:choose>
|
958
971
|
<xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
|
972
|
+
<xsl:when test="ancestor::*[1][local-name() = 'td']/@align">
|
973
|
+
<xsl:value-of select="ancestor::*[1][local-name() = 'td']/@align"/>
|
974
|
+
</xsl:when>
|
975
|
+
<xsl:when test="ancestor::*[1][local-name() = 'th']/@align">
|
976
|
+
<xsl:value-of select="ancestor::*[1][local-name() = 'th']/@align"/>
|
977
|
+
</xsl:when>
|
959
978
|
<xsl:otherwise>justify</xsl:otherwise>
|
960
979
|
</xsl:choose>
|
961
980
|
</xsl:attribute>
|
962
|
-
<xsl:apply-templates
|
981
|
+
<xsl:apply-templates>
|
982
|
+
<xsl:with-param name="sectionNum" select="$sectionNum"/>
|
983
|
+
</xsl:apply-templates>
|
963
984
|
</fo:block>
|
964
985
|
</xsl:template>
|
965
986
|
|
@@ -974,8 +995,8 @@
|
|
974
995
|
<fo:block font-size="11pt" space-before="4pt" text-align="justify">
|
975
996
|
<xsl:if test="ancestor::itu:figure">
|
976
997
|
<xsl:attribute name="keep-with-previous">always</xsl:attribute>
|
977
|
-
</xsl:if>
|
978
|
-
<xsl:
|
998
|
+
</xsl:if>
|
999
|
+
<xsl:value-of select="$title-note"/>
|
979
1000
|
<!-- <xsl:if test="../following-sibling::itu:note or ../preceding-sibling::itu:note"> -->
|
980
1001
|
<xsl:if test="count(//itu:note[ancestor::*[local-name() = 'clause'][1][@id = $id] and not (ancestor::itu:table)]) > 1">
|
981
1002
|
<xsl:number count="itu:note[ancestor::*[local-name() = 'clause'][1][@id = $id] and not (ancestor::itu:table)]" level="any"/>
|
@@ -1239,7 +1260,15 @@
|
|
1239
1260
|
<xsl:apply-templates/>
|
1240
1261
|
</fo:inline>
|
1241
1262
|
<xsl:if test="../itu:termsource/itu:origin">
|
1242
|
-
<xsl:
|
1263
|
+
<xsl:variable name="citeas" select="../itu:termsource/itu:origin/@citeas"/>
|
1264
|
+
<xsl:choose>
|
1265
|
+
<xsl:when test="contains($citeas, '[')">
|
1266
|
+
<xsl:text> </xsl:text><xsl:value-of select="$citeas" disable-output-escaping="yes"/>
|
1267
|
+
</xsl:when>
|
1268
|
+
<xsl:otherwise>
|
1269
|
+
<xsl:text> [</xsl:text><xsl:value-of select="$citeas"/><xsl:text>]</xsl:text>
|
1270
|
+
</xsl:otherwise>
|
1271
|
+
</xsl:choose>
|
1243
1272
|
</xsl:if>
|
1244
1273
|
<xsl:text>: </xsl:text>
|
1245
1274
|
<xsl:apply-templates select="following-sibling::itu:definition/node()" mode="process"/> <!-- -->
|
@@ -1354,10 +1383,13 @@
|
|
1354
1383
|
<xsl:with-param name="brackets" select="'false'"/>
|
1355
1384
|
</xsl:call-template>
|
1356
1385
|
</xsl:variable>
|
1357
|
-
<xsl:
|
1358
|
-
<xsl:
|
1359
|
-
<xsl:
|
1360
|
-
|
1386
|
+
<xsl:choose>
|
1387
|
+
<xsl:when test="local-name(*) = 'figure' and normalize-space(itu:name) = ''"/><!-- don't show 'Figure' for outer figure without name -->
|
1388
|
+
<xsl:when test="$itemnumber != ''">
|
1389
|
+
<xsl:value-of select="$title-figure"/>
|
1390
|
+
<xsl:value-of select="$itemnumber"/>
|
1391
|
+
</xsl:when>
|
1392
|
+
</xsl:choose>
|
1361
1393
|
<xsl:if test="itu:name">
|
1362
1394
|
<xsl:text> — </xsl:text>
|
1363
1395
|
<xsl:apply-templates select="itu:name" mode="process"/>
|
@@ -1416,18 +1448,6 @@
|
|
1416
1448
|
<xsl:template match="itu:docidentifier"/>
|
1417
1449
|
|
1418
1450
|
|
1419
|
-
|
1420
|
-
<xsl:template match="itu:annex2//itu:note/itu:p">
|
1421
|
-
<fo:block font-size="11pt" margin-top="4pt">
|
1422
|
-
<xsl:text>NOTE </xsl:text>
|
1423
|
-
<!-- <xsl:if test="../following-sibling::itu:note or ../preceding-sibling::itu:note"> -->
|
1424
|
-
<xsl:number count="itu:note"/><xsl:text> </xsl:text>
|
1425
|
-
<!-- </xsl:if> -->
|
1426
|
-
<xsl:text>– </xsl:text>
|
1427
|
-
<xsl:apply-templates/>
|
1428
|
-
</fo:block>
|
1429
|
-
</xsl:template>
|
1430
|
-
|
1431
1451
|
<xsl:template match="itu:ul | itu:ol | itu:sections/itu:ul | itu:sections/itu:ol">
|
1432
1452
|
<xsl:if test="preceding-sibling::*[1][local-name() = 'title']">
|
1433
1453
|
<fo:block padding-top="-8pt" font-size="1pt"> </fo:block>
|
@@ -1439,10 +1459,15 @@
|
|
1439
1459
|
</xsl:template>
|
1440
1460
|
|
1441
1461
|
<xsl:template match="itu:ul//itu:note | itu:ol//itu:note"/>
|
1462
|
+
<xsl:template match="itu:ul//itu:note | itu:ol//itu:note" mode="process">
|
1463
|
+
<fo:block id="{@id}">
|
1464
|
+
<xsl:apply-templates mode="process"/>
|
1465
|
+
</fo:block>
|
1466
|
+
</xsl:template>
|
1442
1467
|
<xsl:template match="itu:ul//itu:note/itu:p | itu:ol//itu:note/itu:p" mode="process">
|
1443
1468
|
<xsl:variable name="id" select="ancestor::*[local-name() = 'clause'][1]/@id"/>
|
1444
|
-
<fo:block font-size="11pt" margin-top="4pt">
|
1445
|
-
<xsl:
|
1469
|
+
<fo:block font-size="11pt" margin-top="4pt">
|
1470
|
+
<xsl:value-of select="$title-note"/>
|
1446
1471
|
<!-- <xsl:if test="../following-sibling::itu:note or ../preceding-sibling::itu:note"> -->
|
1447
1472
|
<xsl:if test="count(//itu:note[ancestor::*[@id = $id] and not (ancestor::itu:table)]) > 1">
|
1448
1473
|
<xsl:number count="itu:note[ancestor::*[@id = $id] and not (ancestor::itu:table)]" level="any"/>
|
@@ -1467,10 +1492,13 @@
|
|
1467
1492
|
<xsl:attribute name="margin-left">18mm</xsl:attribute>
|
1468
1493
|
</xsl:if>
|
1469
1494
|
<xsl:if test="local-name(..) = 'ul'">
|
1470
|
-
<xsl:attribute name="margin-left">
|
1471
|
-
<xsl:if test="
|
1472
|
-
<xsl:attribute name="margin-left">
|
1495
|
+
<xsl:attribute name="margin-left">7mm</xsl:attribute><!-- 15mm -->
|
1496
|
+
<xsl:if test="ancestor::itu:table">
|
1497
|
+
<xsl:attribute name="margin-left">4.5mm</xsl:attribute>
|
1473
1498
|
</xsl:if>
|
1499
|
+
<!-- <xsl:if test="count(ancestor::itu:ol) + count(ancestor::itu:ul) > 1">
|
1500
|
+
<xsl:attribute name="margin-left">7mm</xsl:attribute>
|
1501
|
+
</xsl:if> -->
|
1474
1502
|
</xsl:if>
|
1475
1503
|
<fo:block-container margin-left="0mm">
|
1476
1504
|
<xsl:apply-templates/>
|
@@ -1481,7 +1509,7 @@
|
|
1481
1509
|
</fo:list-item>
|
1482
1510
|
</xsl:template>
|
1483
1511
|
|
1484
|
-
<xsl:template match="itu:li//itu:p">
|
1512
|
+
<xsl:template match="itu:li//itu:p[not(parent::itu:dd)]">
|
1485
1513
|
<fo:block margin-bottom="0pt"> <!-- margin-bottom="6pt" -->
|
1486
1514
|
<!-- <xsl:if test="local-name(ancestor::itu:li[1]/..) = 'ul'">
|
1487
1515
|
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
@@ -1493,11 +1521,9 @@
|
|
1493
1521
|
<xsl:template match="itu:link" priority="2">
|
1494
1522
|
<fo:inline color="blue">
|
1495
1523
|
<xsl:if test="local-name(..) = 'formattedref' or ancestor::itu:preface">
|
1496
|
-
<xsl:attribute name="
|
1497
|
-
<xsl:attribute name="font-
|
1498
|
-
<xsl:
|
1499
|
-
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
1500
|
-
</xsl:if>
|
1524
|
+
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
1525
|
+
<!-- <xsl:attribute name="font-family">Arial</xsl:attribute>
|
1526
|
+
<xsl:attribute name="font-size">8pt</xsl:attribute> -->
|
1501
1527
|
</xsl:if>
|
1502
1528
|
<xsl:call-template name="link"/>
|
1503
1529
|
</fo:inline>
|
@@ -1505,8 +1531,8 @@
|
|
1505
1531
|
|
1506
1532
|
|
1507
1533
|
<xsl:template match="itu:termnote">
|
1508
|
-
<fo:block id="{@id}" margin-top="4pt">
|
1509
|
-
<xsl:
|
1534
|
+
<fo:block id="{@id}" margin-top="4pt">
|
1535
|
+
<xsl:value-of select="$title-note"/>
|
1510
1536
|
<xsl:if test="following-sibling::itu:termnote or preceding-sibling::itu:termnote">
|
1511
1537
|
<xsl:number/><xsl:text> </xsl:text>
|
1512
1538
|
</xsl:if>
|
@@ -1549,7 +1575,7 @@
|
|
1549
1575
|
|
1550
1576
|
<xsl:template match="itu:formula" name="formula">
|
1551
1577
|
<xsl:param name="sectionNum"/>
|
1552
|
-
<fo:block id="{@id}" margin-top="6pt"> <!-- text-align="center" -->
|
1578
|
+
<fo:block id="{@id}" margin-top="6pt" margin-bottom="6pt"> <!-- text-align="center" -->
|
1553
1579
|
<xsl:apply-templates/>
|
1554
1580
|
<fo:inline keep-together.within-line="always">
|
1555
1581
|
</fo:inline>
|
@@ -1599,18 +1625,22 @@
|
|
1599
1625
|
<xsl:param name="sectionNum"/>
|
1600
1626
|
|
1601
1627
|
<xsl:variable name="section" select="xalan:nodeset($contents)//item[@id = current()/@target]/@section"/>
|
1628
|
+
<xsl:variable name="topsection" select="xalan:nodeset($contents)//item[@id = current()/@target]/@topsection"/>
|
1629
|
+
<xsl:variable name="xref_id" select="generate-id()"/>
|
1630
|
+
<xsl:variable name="xreftopsection" select="xalan:nodeset($contents)//item[@id = $xref_id]/@topsection"/>
|
1602
1631
|
|
1603
1632
|
<xsl:variable name="text" select="xalan:nodeset($contents)//item[@id = current()/@target]/text()"/>
|
1604
1633
|
|
1605
1634
|
<fo:basic-link internal-destination="{@target}" color="blue" text-decoration="underline" fox:alt-text="{@target}">
|
1606
1635
|
<xsl:variable name="type" select="xalan:nodeset($contents)//item[@id = current()/@target]/@type"/>
|
1636
|
+
<xsl:variable name="level" select="xalan:nodeset($contents)//item[@id =current()/@target]/@level"/>
|
1607
1637
|
<xsl:choose>
|
1608
|
-
<xsl:when test="$type = 'clause'"
|
1638
|
+
<xsl:when test="($type = 'clause' or $type = 'term') and $level = 1"><xsl:value-of select="$title-clause"/></xsl:when><!-- and not (ancestor::annex) -->
|
1639
|
+
<xsl:when test="($type = 'clause' or $type = 'term') and $level > 1"><xsl:value-of select="translate($title-clause, $upper, $lower)"/></xsl:when>
|
1609
1640
|
<xsl:when test="$type = 'example'">Example </xsl:when>
|
1610
1641
|
<xsl:when test="$type = 'figure'"/>
|
1611
1642
|
<xsl:when test="$type = 'formula'"/>
|
1612
1643
|
<xsl:when test="$type = 'table'"/>
|
1613
|
-
<xsl:when test="$type = 'term'">Clause </xsl:when>
|
1614
1644
|
<xsl:when test="$type = 'note'"><xsl:text>Note </xsl:text><xsl:value-of select="xalan:nodeset($contents)//item[@id = current()/@target]/text()"/></xsl:when>
|
1615
1645
|
|
1616
1646
|
<xsl:otherwise/> <!-- <xsl:value-of select="$type"/> -->
|
@@ -1623,8 +1653,10 @@
|
|
1623
1653
|
</xsl:variable>
|
1624
1654
|
<xsl:if test="not(contains($section, $currentSection))">
|
1625
1655
|
<xsl:text>in </xsl:text>
|
1626
|
-
<xsl:
|
1627
|
-
|
1656
|
+
<xsl:if test="$level = 1">
|
1657
|
+
<xsl:value-of select="xalan:nodeset($contents)//item[@id = current()/@target]/@parent"/>
|
1658
|
+
<xsl:text> </xsl:text>
|
1659
|
+
</xsl:if>
|
1628
1660
|
<xsl:value-of select="$section"/>
|
1629
1661
|
</xsl:if>
|
1630
1662
|
</xsl:when>
|
@@ -1635,13 +1667,17 @@
|
|
1635
1667
|
|
1636
1668
|
<xsl:when test="$type = 'formula'">
|
1637
1669
|
<xsl:value-of select="$text"/>
|
1638
|
-
<xsl:variable name="currentSection">
|
1670
|
+
<!-- <xsl:variable name="currentSection">
|
1639
1671
|
<xsl:call-template name="getSection"/>
|
1640
|
-
</xsl:variable>
|
1641
|
-
|
1672
|
+
</xsl:variable>
|
1673
|
+
|
1674
|
+
<xsl:if test="not(contains($section, $currentSection))"> -->
|
1675
|
+
<xsl:if test="$topsection != $xreftopsection">
|
1642
1676
|
<xsl:text> in </xsl:text>
|
1643
|
-
<xsl:
|
1644
|
-
|
1677
|
+
<xsl:if test="$level = 1">
|
1678
|
+
<xsl:value-of select="xalan:nodeset($contents)//item[@id = current()/@target]/@parent"/>
|
1679
|
+
<xsl:text> </xsl:text>
|
1680
|
+
</xsl:if>
|
1645
1681
|
<xsl:value-of select="$section"/>
|
1646
1682
|
</xsl:if>
|
1647
1683
|
</xsl:when>
|
@@ -1655,7 +1691,11 @@
|
|
1655
1691
|
<xsl:call-template name="getSection"/>
|
1656
1692
|
</xsl:variable>
|
1657
1693
|
<xsl:if test="not(contains($section, $currentSection))">
|
1658
|
-
<xsl:text> in
|
1694
|
+
<xsl:text> in </xsl:text>
|
1695
|
+
<xsl:choose>
|
1696
|
+
<xsl:when test="$level = 1"><xsl:value-of select="$title-clause"/></xsl:when>
|
1697
|
+
<xsl:when test="$level > 1"><xsl:value-of select="translate($title-clause, $upper, $lower)"/></xsl:when>
|
1698
|
+
</xsl:choose>
|
1659
1699
|
<xsl:value-of select="$section"/>
|
1660
1700
|
</xsl:if>
|
1661
1701
|
</xsl:when>
|
@@ -1696,8 +1736,8 @@
|
|
1696
1736
|
</xsl:template>
|
1697
1737
|
|
1698
1738
|
<xsl:template match="itu:example/itu:name">
|
1699
|
-
<fo:block font-weight="bold">
|
1700
|
-
<xsl:
|
1739
|
+
<fo:block font-weight="bold">
|
1740
|
+
<xsl:value-of select="normalize-space($title-example)"/>
|
1701
1741
|
<xsl:if test="count(ancestor::itu:clause[1]/itu:example) > 1">
|
1702
1742
|
<xsl:text> </xsl:text><xsl:number count="itu:example"/>
|
1703
1743
|
</xsl:if>
|
@@ -1750,18 +1790,30 @@
|
|
1750
1790
|
<xsl:apply-templates/>
|
1751
1791
|
</xsl:template>
|
1752
1792
|
|
1753
|
-
<xsl:template match="itu:
|
1754
|
-
<fo:block
|
1755
|
-
<xsl:
|
1756
|
-
<xsl:when test="@lang = 'en'"/>
|
1757
|
-
<xsl:otherwise>
|
1758
|
-
<xsl:attribute name="white-space">pre</xsl:attribute>
|
1759
|
-
</xsl:otherwise>
|
1760
|
-
</xsl:choose>
|
1761
|
-
<xsl:apply-templates/>
|
1793
|
+
<xsl:template match="itu:quote">
|
1794
|
+
<fo:block margin-top="6pt" margin-left="12mm" margin-right="12mm">
|
1795
|
+
<xsl:apply-templates select=".//itu:p"/>
|
1762
1796
|
</fo:block>
|
1797
|
+
<xsl:if test="itu:author or itu:source">
|
1798
|
+
<fo:block text-align="right">
|
1799
|
+
<!-- — ISO, ISO 7301:2011, Clause 1 -->
|
1800
|
+
<xsl:text>— </xsl:text>
|
1801
|
+
<xsl:value-of select="itu:author"/>
|
1802
|
+
<xsl:if test="itu:author and itu:source">
|
1803
|
+
<xsl:text>, </xsl:text>
|
1804
|
+
</xsl:if>
|
1805
|
+
<xsl:apply-templates select="itu:source"/>
|
1806
|
+
</fo:block>
|
1807
|
+
</xsl:if>
|
1763
1808
|
</xsl:template>
|
1764
1809
|
|
1810
|
+
<xsl:template match="itu:source">
|
1811
|
+
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
1812
|
+
<xsl:value-of select="@citeas" disable-output-escaping="yes"/>
|
1813
|
+
<xsl:apply-templates select="itu:localityStack"/>
|
1814
|
+
</fo:basic-link>
|
1815
|
+
</xsl:template>
|
1816
|
+
|
1765
1817
|
<xsl:template name="insertHeaderFooter">
|
1766
1818
|
<fo:static-content flow-name="footer-even" font-family="Times New Roman" font-size="11pt">
|
1767
1819
|
<fo:block-container height="19mm" display-align="after">
|
@@ -2322,6 +2374,14 @@
|
|
2322
2374
|
<xsl:variable name="num">
|
2323
2375
|
<xsl:number format=".1" level="multiple" count="itu:clause/itu:clause | itu:clause/itu:terms | itu:terms/itu:term | itu:clause/itu:term | itu:clause/itu:definitions"/>
|
2324
2376
|
</xsl:variable>
|
2377
|
+
<!-- <xsl:variable name="sectionNum_">
|
2378
|
+
<xsl:choose>
|
2379
|
+
<xsl:when test="normalize-space($sectionNum) = ''"><xsl:number format="1" count="itu:sections/*"/></xsl:when>
|
2380
|
+
<xsl:otherwise>
|
2381
|
+
<xsl:value-of select="$sectionNum"/>
|
2382
|
+
</xsl:otherwise>
|
2383
|
+
</xsl:choose>
|
2384
|
+
</xsl:variable> -->
|
2325
2385
|
<xsl:value-of select="concat($sectionNum, $num)"/>
|
2326
2386
|
</xsl:when>
|
2327
2387
|
<xsl:otherwise>
|
@@ -2331,8 +2391,8 @@
|
|
2331
2391
|
</xsl:when>
|
2332
2392
|
<xsl:when test="ancestor::itu:annex[@obligation = 'informative']">
|
2333
2393
|
<xsl:choose>
|
2334
|
-
<xsl:when test="$level = 1">
|
2335
|
-
<xsl:text>
|
2394
|
+
<xsl:when test="$level = 1">
|
2395
|
+
<xsl:value-of select="$title-appendix"/><xsl:text> </xsl:text>
|
2336
2396
|
<xsl:number format="I" level="any" count="itu:annex[@obligation = 'informative']"/>
|
2337
2397
|
</xsl:when>
|
2338
2398
|
<xsl:otherwise>
|
@@ -2342,8 +2402,8 @@
|
|
2342
2402
|
</xsl:when>
|
2343
2403
|
<xsl:when test="ancestor::itu:annex[not(@obligation) or @obligation != 'informative']">
|
2344
2404
|
<xsl:choose>
|
2345
|
-
<xsl:when test="$level = 1">
|
2346
|
-
<xsl:
|
2405
|
+
<xsl:when test="$level = 1">
|
2406
|
+
<xsl:value-of select="$title-annex"/>
|
2347
2407
|
<xsl:choose>
|
2348
2408
|
<xsl:when test="count(//itu:annex) = 1">
|
2349
2409
|
<xsl:choose>
|
@@ -2400,17 +2460,95 @@
|
|
2400
2460
|
</xsl:otherwise>
|
2401
2461
|
</xsl:choose>
|
2402
2462
|
</xsl:template>
|
2463
|
+
|
2464
|
+
<xsl:template name="getTopSection">
|
2465
|
+
<xsl:param name="sectionNum"/>
|
2466
|
+
<xsl:variable name="section">
|
2467
|
+
<xsl:call-template name="getSection">
|
2468
|
+
<xsl:with-param name="sectionNum" select="$sectionNum"/>
|
2469
|
+
</xsl:call-template>
|
2470
|
+
</xsl:variable>
|
2471
|
+
<xsl:variable name="topsection_" select="normalize-space(translate($section, '().-',' '))"/>
|
2472
|
+
<xsl:choose>
|
2473
|
+
<xsl:when test="contains($topsection_, ' ')">
|
2474
|
+
<xsl:value-of select="substring-before($topsection_, ' ')"/>
|
2475
|
+
</xsl:when>
|
2476
|
+
<xsl:otherwise>
|
2477
|
+
<xsl:value-of select="$topsection_"/>
|
2478
|
+
</xsl:otherwise>
|
2479
|
+
</xsl:choose>
|
2480
|
+
</xsl:template>
|
2403
2481
|
|
2404
|
-
<xsl:variable
|
2482
|
+
<xsl:variable name="title-table">
|
2483
|
+
|
2484
|
+
<xsl:text>Table </xsl:text>
|
2485
|
+
|
2486
|
+
|
2487
|
+
</xsl:variable><xsl:variable name="title-note">
|
2488
|
+
|
2489
|
+
<xsl:text>NOTE </xsl:text>
|
2490
|
+
|
2491
|
+
|
2492
|
+
</xsl:variable><xsl:variable name="title-figure">
|
2493
|
+
|
2494
|
+
<xsl:text>Figure </xsl:text>
|
2495
|
+
|
2496
|
+
|
2497
|
+
</xsl:variable><xsl:variable name="title-example">
|
2498
|
+
|
2499
|
+
<xsl:text>EXAMPLE </xsl:text>
|
2500
|
+
|
2501
|
+
|
2502
|
+
</xsl:variable><xsl:variable name="title-inequality">Inequality </xsl:variable><xsl:variable name="title-equation">Equation </xsl:variable><xsl:variable name="title-annex">
|
2405
2503
|
|
2504
|
+
<xsl:text>Annex </xsl:text>
|
2406
2505
|
|
2407
|
-
|
2506
|
+
|
2507
|
+
</xsl:variable><xsl:variable name="title-appendix">
|
2508
|
+
<xsl:text>Appendix </xsl:text>
|
2509
|
+
</xsl:variable><xsl:variable name="title-clause">
|
2510
|
+
|
2511
|
+
<xsl:text>Clause </xsl:text>
|
2512
|
+
|
2513
|
+
|
2514
|
+
</xsl:variable><xsl:variable name="title-edition">
|
2515
|
+
<xsl:text>Edition </xsl:text>
|
2516
|
+
</xsl:variable><xsl:variable name="title-toc">
|
2517
|
+
|
2518
|
+
Table of Contents
|
2519
|
+
</xsl:variable><xsl:variable name="title-page">Page</xsl:variable><xsl:variable name="title-key">Key</xsl:variable><xsl:variable name="title-where">where</xsl:variable><xsl:variable name="title-descriptors">Descriptors</xsl:variable><xsl:variable name="title-part-en">Part </xsl:variable><xsl:variable name="title-part-fr">Partie </xsl:variable><xsl:variable name="title-note-to-entry">Note # to entry: </xsl:variable><xsl:variable name="title-modified">modified</xsl:variable><xsl:variable name="title-source">SOURCE</xsl:variable><xsl:variable name="title-keywords">Keywords</xsl:variable><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'
'"/><xsl:attribute-set name="link-style">
|
2520
|
+
|
2521
|
+
|
2522
|
+
</xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
|
2523
|
+
|
2524
|
+
|
2525
|
+
|
2526
|
+
|
2527
|
+
|
2528
|
+
<xsl:attribute name="font-family">Courier</xsl:attribute>
|
2529
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
2530
|
+
<xsl:attribute name="margin-top">6pt</xsl:attribute>
|
2531
|
+
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
2532
|
+
|
2533
|
+
|
2534
|
+
|
2535
|
+
|
2536
|
+
</xsl:attribute-set><xsl:attribute-set name="appendix-style">
|
2537
|
+
|
2538
|
+
|
2539
|
+
|
2540
|
+
</xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
|
2541
|
+
|
2542
|
+
|
2543
|
+
|
2544
|
+
</xsl:attribute-set><xsl:template match="text()">
|
2408
2545
|
<xsl:value-of select="."/>
|
2409
|
-
</xsl:template><xsl:template
|
2546
|
+
</xsl:template><xsl:template match="*[local-name()='br']">
|
2410
2547
|
<xsl:value-of select="$linebreak"/>
|
2411
|
-
</xsl:template><xsl:template
|
2412
|
-
<xsl:call-template name="add-zero-spaces"/>
|
2413
|
-
|
2548
|
+
</xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
|
2549
|
+
<!-- <xsl:call-template name="add-zero-spaces"/> -->
|
2550
|
+
<xsl:call-template name="add-zero-spaces-java"/>
|
2551
|
+
</xsl:template><xsl:template match="*[local-name()='table']">
|
2414
2552
|
|
2415
2553
|
<xsl:variable name="simple-table">
|
2416
2554
|
<!-- <xsl:copy> -->
|
@@ -2444,44 +2582,13 @@
|
|
2444
2582
|
|
2445
2583
|
|
2446
2584
|
|
2447
|
-
|
2448
|
-
|
2449
|
-
|
2450
|
-
|
2451
|
-
|
2452
|
-
|
2453
|
-
|
2454
|
-
|
2455
|
-
|
2456
|
-
|
2457
|
-
<xsl:choose>
|
2458
|
-
<xsl:when test="ancestor::itu:annex[@obligation = 'informative']">
|
2459
|
-
<xsl:variable name="annex-id" select="ancestor::itu:annex/@id"/>
|
2460
|
-
<!-- Table in Appendix -->
|
2461
|
-
<xsl:number format="I-" count="itu:annex[@obligation = 'informative']"/>
|
2462
|
-
<xsl:number format="1" level="any" count="itu:table[(not(@unnumbered) or @unnumbered != 'true') and ancestor::itu:annex[@id = $annex-id]]"/>
|
2463
|
-
</xsl:when>
|
2464
|
-
<!-- Table in Annex -->
|
2465
|
-
<xsl:when test="ancestor::itu:annex[not(@obligation) or @obligation != 'informative']">
|
2466
|
-
<xsl:variable name="annex-id" select="ancestor::itu:annex/@id"/>
|
2467
|
-
<xsl:number format="A-" count="itu:annex[not(@obligation) or @obligation != 'informative']"/>
|
2468
|
-
<xsl:number format="1" level="any" count="itu:table[(not(@unnumbered) or @unnumbered != 'true') and ancestor::itu:annex[@id = $annex-id]]"/>
|
2469
|
-
</xsl:when>
|
2470
|
-
</xsl:choose>
|
2471
|
-
|
2472
|
-
|
2473
|
-
|
2474
|
-
|
2475
|
-
|
2476
|
-
</xsl:when>
|
2477
|
-
<xsl:otherwise>
|
2478
|
-
|
2479
|
-
|
2480
|
-
<xsl:number format="A." count="*[local-name()='annex']"/>
|
2481
|
-
<xsl:number format="1" level="any" count="//*[local-name()='table'] [not(ancestor::*[local-name()='annex']) and not(ancestor::*[local-name()='executivesummary']) and not(ancestor::*[local-name()='bibdata'])] [not(@unnumbered) or @unnumbered != 'true']"/>
|
2482
|
-
|
2483
|
-
</xsl:otherwise>
|
2484
|
-
</xsl:choose>
|
2585
|
+
|
2586
|
+
|
2587
|
+
<xsl:value-of select="$title-table"/>
|
2588
|
+
|
2589
|
+
<xsl:call-template name="getTableNumber"/>
|
2590
|
+
|
2591
|
+
|
2485
2592
|
<xsl:if test="*[local-name()='name']">
|
2486
2593
|
|
2487
2594
|
|
@@ -2557,6 +2664,7 @@
|
|
2557
2664
|
|
2558
2665
|
|
2559
2666
|
|
2667
|
+
|
2560
2668
|
<fo:table id="{@id}" table-layout="fixed" width="100%" margin-left="{$margin-left}mm" margin-right="{$margin-left}mm" table-omit-footer-at-break="true">
|
2561
2669
|
|
2562
2670
|
|
@@ -2573,9 +2681,10 @@
|
|
2573
2681
|
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
2574
2682
|
|
2575
2683
|
|
2684
|
+
|
2576
2685
|
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
2577
2686
|
<xsl:choose>
|
2578
|
-
<xsl:when test=". = 1">
|
2687
|
+
<xsl:when test=". = 1 or . = 0">
|
2579
2688
|
<fo:table-column column-width="proportional-column-width(2)"/>
|
2580
2689
|
</xsl:when>
|
2581
2690
|
<xsl:otherwise>
|
@@ -2589,15 +2698,53 @@
|
|
2589
2698
|
|
2590
2699
|
|
2591
2700
|
</fo:block-container>
|
2592
|
-
</xsl:template><xsl:template
|
2701
|
+
</xsl:template><xsl:template name="getTableNumber">
|
2702
|
+
<xsl:choose>
|
2703
|
+
<xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
|
2704
|
+
<xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table'][not(@unnumbered) or @unnumbered != 'true']"/>
|
2705
|
+
</xsl:when>
|
2706
|
+
<xsl:when test="ancestor::*[local-name()='annex']">
|
2707
|
+
|
2708
|
+
|
2709
|
+
|
2710
|
+
|
2711
|
+
<xsl:choose>
|
2712
|
+
<xsl:when test="ancestor::*[local-name()='annex'][@obligation = 'informative']">
|
2713
|
+
<xsl:variable name="annex-id" select="ancestor::*[local-name()='annex']/@id"/>
|
2714
|
+
<!-- Table in Appendix -->
|
2715
|
+
<xsl:number format="I-" count="*[local-name()='annex'][@obligation = 'informative']"/>
|
2716
|
+
<xsl:number format="1" level="any" count="*[local-name()='table'][(not(@unnumbered) or @unnumbered != 'true') and ancestor::*[local-name()='annex'][@id = $annex-id]]"/>
|
2717
|
+
</xsl:when>
|
2718
|
+
<!-- Table in Annex -->
|
2719
|
+
<xsl:when test="ancestor::*[local-name()='annex'][not(@obligation) or @obligation != 'informative']">
|
2720
|
+
<xsl:variable name="annex-id" select="ancestor::*[local-name()='annex']/@id"/>
|
2721
|
+
<xsl:number format="A-" count="*[local-name()='annex'][not(@obligation) or @obligation != 'informative']"/>
|
2722
|
+
<xsl:number format="1" level="any" count="*[local-name()='table'][(not(@unnumbered) or @unnumbered != 'true') and ancestor::*[local-name()='annex'][@id = $annex-id]]"/>
|
2723
|
+
</xsl:when>
|
2724
|
+
</xsl:choose>
|
2725
|
+
|
2726
|
+
|
2727
|
+
|
2728
|
+
|
2729
|
+
|
2730
|
+
</xsl:when>
|
2731
|
+
<xsl:otherwise>
|
2732
|
+
|
2733
|
+
|
2734
|
+
<xsl:number format="A." count="*[local-name()='annex']"/>
|
2735
|
+
<xsl:number format="1" level="any" count="//*[local-name()='table'] [not(ancestor::*[local-name()='annex']) and not(ancestor::*[local-name()='executivesummary']) and not(ancestor::*[local-name()='bibdata'])] [not(@unnumbered) or @unnumbered != 'true']"/>
|
2736
|
+
|
2737
|
+
</xsl:otherwise>
|
2738
|
+
</xsl:choose>
|
2739
|
+
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']"/><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="process">
|
2593
2740
|
<xsl:apply-templates/>
|
2594
|
-
</xsl:template><xsl:template
|
2741
|
+
</xsl:template><xsl:template name="calculate-columns-numbers">
|
2595
2742
|
<xsl:param name="table-row"/>
|
2596
2743
|
<xsl:variable name="columns-count" select="count($table-row/*)"/>
|
2597
2744
|
<xsl:variable name="sum-colspans" select="sum($table-row/*/@colspan)"/>
|
2598
2745
|
<xsl:variable name="columns-with-colspan" select="count($table-row/*[@colspan])"/>
|
2599
2746
|
<xsl:value-of select="$columns-count + $sum-colspans - $columns-with-colspan"/>
|
2600
|
-
</xsl:template><xsl:template
|
2747
|
+
</xsl:template><xsl:template name="calculate-column-widths">
|
2601
2748
|
<xsl:param name="table"/>
|
2602
2749
|
<xsl:param name="cols-count"/>
|
2603
2750
|
<xsl:param name="curr-col" select="1"/>
|
@@ -2606,7 +2753,7 @@
|
|
2606
2753
|
<xsl:if test="$curr-col <= $cols-count">
|
2607
2754
|
<xsl:variable name="widths">
|
2608
2755
|
<xsl:choose>
|
2609
|
-
<xsl:when test="not($table)"
|
2756
|
+
<xsl:when test="not($table)"><!-- this branch is not using in production, for debug only -->
|
2610
2757
|
<xsl:for-each select="*[local-name()='thead']//*[local-name()='tr']">
|
2611
2758
|
<xsl:variable name="words">
|
2612
2759
|
<xsl:call-template name="tokenize">
|
@@ -2645,9 +2792,16 @@
|
|
2645
2792
|
<xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
|
2646
2793
|
</xsl:variable>
|
2647
2794
|
<xsl:variable name="words">
|
2795
|
+
<xsl:variable name="string_with_added_zerospaces">
|
2796
|
+
<xsl:call-template name="add-zero-spaces-java">
|
2797
|
+
<xsl:with-param name="text" select="$td_text"/>
|
2798
|
+
</xsl:call-template>
|
2799
|
+
</xsl:variable>
|
2648
2800
|
<xsl:call-template name="tokenize">
|
2649
2801
|
<!-- <xsl:with-param name="text" select="translate(td[$curr-col],'- —:', ' ')"/> -->
|
2650
|
-
|
2802
|
+
<!-- 2009 thinspace -->
|
2803
|
+
<!-- <xsl:with-param name="text" select="translate(normalize-space($td_text),'- —:', ' ')"/> -->
|
2804
|
+
<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '', ' '))"/>
|
2651
2805
|
</xsl:call-template>
|
2652
2806
|
</xsl:variable>
|
2653
2807
|
<xsl:variable name="max_length">
|
@@ -2688,17 +2842,24 @@
|
|
2688
2842
|
<xsl:with-param name="table" select="$table"/>
|
2689
2843
|
</xsl:call-template>
|
2690
2844
|
</xsl:if>
|
2691
|
-
</xsl:template><xsl:template
|
2845
|
+
</xsl:template><xsl:template match="text()" mode="td_text">
|
2692
2846
|
<xsl:variable name="zero-space"></xsl:variable>
|
2693
2847
|
<xsl:value-of select="translate(., $zero-space, ' ')"/><xsl:text> </xsl:text>
|
2694
|
-
</xsl:template><xsl:template
|
2848
|
+
</xsl:template><xsl:template match="*[local-name()='termsource']" mode="td_text">
|
2849
|
+
<xsl:value-of select="*[local-name()='origin']/@citeas"/>
|
2850
|
+
</xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
|
2851
|
+
<xsl:value-of select="@target"/>
|
2852
|
+
</xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
|
2853
|
+
<xsl:param name="cols-count"/>
|
2695
2854
|
<!-- font-weight="bold" -->
|
2696
|
-
<fo:table-header>
|
2855
|
+
<fo:table-header>
|
2856
|
+
|
2697
2857
|
<xsl:apply-templates/>
|
2698
2858
|
</fo:table-header>
|
2699
|
-
</xsl:template><xsl:template
|
2859
|
+
</xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
|
2700
2860
|
<xsl:apply-templates/>
|
2701
|
-
</xsl:template><xsl:template
|
2861
|
+
</xsl:template><xsl:template name="insertTableFooter">
|
2862
|
+
<xsl:param name="cols-count"/>
|
2702
2863
|
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
|
2703
2864
|
<xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
|
2704
2865
|
|
@@ -2709,22 +2870,7 @@
|
|
2709
2870
|
<!-- if there are note(s) or fn(s) then create footer row -->
|
2710
2871
|
<xsl:if test="$isNoteOrFnExist = 'true'">
|
2711
2872
|
|
2712
|
-
|
2713
|
-
<xsl:choose>
|
2714
|
-
<xsl:when test="../*[local-name()='thead']">
|
2715
|
-
<!-- <xsl:value-of select="count(../*[local-name()='thead']/*[local-name()='tr']/*[local-name()='th'])"/> -->
|
2716
|
-
<xsl:call-template name="calculate-columns-numbers">
|
2717
|
-
<xsl:with-param name="table-row" select="../*[local-name()='thead']/*[local-name()='tr'][1]"/>
|
2718
|
-
</xsl:call-template>
|
2719
|
-
</xsl:when>
|
2720
|
-
<xsl:otherwise>
|
2721
|
-
<!-- <xsl:value-of select="count(./*[local-name()='tr'][1]/*[local-name()='td'])"/> -->
|
2722
|
-
<xsl:call-template name="calculate-columns-numbers">
|
2723
|
-
<xsl:with-param name="table-row" select="./*[local-name()='tr'][1]"/>
|
2724
|
-
</xsl:call-template>
|
2725
|
-
</xsl:otherwise>
|
2726
|
-
</xsl:choose>
|
2727
|
-
</xsl:variable>
|
2873
|
+
|
2728
2874
|
|
2729
2875
|
<fo:table-row>
|
2730
2876
|
<fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
|
@@ -2756,11 +2902,30 @@
|
|
2756
2902
|
</fo:table-footer>
|
2757
2903
|
|
2758
2904
|
</xsl:if>
|
2759
|
-
</xsl:template><xsl:template
|
2905
|
+
</xsl:template><xsl:template match="*[local-name()='tbody']">
|
2760
2906
|
|
2761
|
-
<xsl:
|
2907
|
+
<xsl:variable name="cols-count">
|
2908
|
+
<xsl:choose>
|
2909
|
+
<xsl:when test="../*[local-name()='thead']">
|
2910
|
+
<xsl:call-template name="calculate-columns-numbers">
|
2911
|
+
<xsl:with-param name="table-row" select="../*[local-name()='thead']/*[local-name()='tr'][1]"/>
|
2912
|
+
</xsl:call-template>
|
2913
|
+
</xsl:when>
|
2914
|
+
<xsl:otherwise>
|
2915
|
+
<xsl:call-template name="calculate-columns-numbers">
|
2916
|
+
<xsl:with-param name="table-row" select="./*[local-name()='tr'][1]"/>
|
2917
|
+
</xsl:call-template>
|
2918
|
+
</xsl:otherwise>
|
2919
|
+
</xsl:choose>
|
2920
|
+
</xsl:variable>
|
2762
2921
|
|
2763
|
-
<xsl:
|
2922
|
+
<xsl:apply-templates select="../*[local-name()='thead']" mode="process">
|
2923
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
2924
|
+
</xsl:apply-templates>
|
2925
|
+
|
2926
|
+
<xsl:call-template name="insertTableFooter">
|
2927
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
2928
|
+
</xsl:call-template>
|
2764
2929
|
|
2765
2930
|
<fo:table-body>
|
2766
2931
|
<xsl:apply-templates/>
|
@@ -2768,7 +2933,7 @@
|
|
2768
2933
|
|
2769
2934
|
</fo:table-body>
|
2770
2935
|
|
2771
|
-
</xsl:template><xsl:template
|
2936
|
+
</xsl:template><xsl:template match="*[local-name()='tr']">
|
2772
2937
|
<xsl:variable name="parent-name" select="local-name(..)"/>
|
2773
2938
|
<!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
|
2774
2939
|
<fo:table-row min-height="4mm">
|
@@ -2788,7 +2953,7 @@
|
|
2788
2953
|
|
2789
2954
|
<xsl:apply-templates/>
|
2790
2955
|
</fo:table-row>
|
2791
|
-
</xsl:template><xsl:template
|
2956
|
+
</xsl:template><xsl:template match="*[local-name()='th']">
|
2792
2957
|
<fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
|
2793
2958
|
|
2794
2959
|
|
@@ -2815,7 +2980,7 @@
|
|
2815
2980
|
<xsl:apply-templates/>
|
2816
2981
|
</fo:block>
|
2817
2982
|
</fo:table-cell>
|
2818
|
-
</xsl:template><xsl:template
|
2983
|
+
</xsl:template><xsl:template match="*[local-name()='td']">
|
2819
2984
|
<fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
|
2820
2985
|
|
2821
2986
|
|
@@ -2842,6 +3007,7 @@
|
|
2842
3007
|
</xsl:attribute>
|
2843
3008
|
</xsl:if>
|
2844
3009
|
<fo:block>
|
3010
|
+
|
2845
3011
|
<xsl:apply-templates/>
|
2846
3012
|
</fo:block>
|
2847
3013
|
<!-- <xsl:choose>
|
@@ -2857,16 +3023,18 @@
|
|
2857
3023
|
|
2858
3024
|
|
2859
3025
|
</fo:table-cell>
|
2860
|
-
</xsl:template><xsl:template
|
3026
|
+
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
|
2861
3027
|
|
2862
3028
|
|
2863
3029
|
<fo:block font-size="10pt" margin-bottom="12pt">
|
2864
3030
|
|
2865
3031
|
|
2866
3032
|
|
3033
|
+
|
2867
3034
|
<fo:inline padding-right="2mm">
|
2868
3035
|
|
2869
|
-
|
3036
|
+
|
3037
|
+
<xsl:value-of select="$title-note"/>
|
2870
3038
|
|
2871
3039
|
<xsl:variable name="id" select="ancestor::*[local-name() = 'table'][1]/@id"/>
|
2872
3040
|
<xsl:if test="count(//*[local-name()='note'][ancestor::*[@id = $id]]) > 1">
|
@@ -2880,9 +3048,9 @@
|
|
2880
3048
|
<xsl:apply-templates mode="process"/>
|
2881
3049
|
</fo:block>
|
2882
3050
|
|
2883
|
-
</xsl:template><xsl:template
|
3051
|
+
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
|
2884
3052
|
<xsl:apply-templates/>
|
2885
|
-
</xsl:template><xsl:template
|
3053
|
+
</xsl:template><xsl:template name="fn_display">
|
2886
3054
|
<xsl:variable name="references">
|
2887
3055
|
<xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
|
2888
3056
|
<fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
|
@@ -2903,6 +3071,12 @@
|
|
2903
3071
|
|
2904
3072
|
|
2905
3073
|
|
3074
|
+
|
3075
|
+
<xsl:attribute name="margin-bottom">2pt</xsl:attribute>
|
3076
|
+
<xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
|
3077
|
+
<xsl:attribute name="text-indent">-5mm</xsl:attribute>
|
3078
|
+
<xsl:attribute name="start-indent">5mm</xsl:attribute>
|
3079
|
+
|
2906
3080
|
<fo:inline font-size="80%" padding-right="5mm" id="{@id}">
|
2907
3081
|
|
2908
3082
|
<xsl:attribute name="vertical-align">super</xsl:attribute>
|
@@ -2912,6 +3086,7 @@
|
|
2912
3086
|
|
2913
3087
|
|
2914
3088
|
<xsl:attribute name="padding-right">3mm</xsl:attribute>
|
3089
|
+
<xsl:attribute name="font-size">70%</xsl:attribute>
|
2915
3090
|
|
2916
3091
|
|
2917
3092
|
<xsl:value-of select="@reference"/>
|
@@ -2928,7 +3103,7 @@
|
|
2928
3103
|
</fo:block>
|
2929
3104
|
</xsl:if>
|
2930
3105
|
</xsl:for-each>
|
2931
|
-
</xsl:template><xsl:template
|
3106
|
+
</xsl:template><xsl:template name="fn_name_display">
|
2932
3107
|
<!-- <xsl:variable name="references">
|
2933
3108
|
<xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
|
2934
3109
|
<fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
|
@@ -2944,7 +3119,7 @@
|
|
2944
3119
|
<xsl:apply-templates/>
|
2945
3120
|
</fo:block>
|
2946
3121
|
</xsl:for-each>
|
2947
|
-
</xsl:template><xsl:template
|
3122
|
+
</xsl:template><xsl:template name="fn_display_figure">
|
2948
3123
|
<xsl:variable name="key_iso">
|
2949
3124
|
<!-- and (not(@class) or @class !='pseudocode') -->
|
2950
3125
|
</xsl:variable>
|
@@ -2995,7 +3170,7 @@
|
|
2995
3170
|
</fo:block>
|
2996
3171
|
</xsl:if>
|
2997
3172
|
|
2998
|
-
</xsl:template><xsl:template
|
3173
|
+
</xsl:template><xsl:template match="*[local-name()='fn']">
|
2999
3174
|
<!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
|
3000
3175
|
<fo:inline font-size="80%" keep-with-previous.within-line="always">
|
3001
3176
|
|
@@ -3010,11 +3185,11 @@
|
|
3010
3185
|
<xsl:value-of select="@reference"/>
|
3011
3186
|
</fo:basic-link>
|
3012
3187
|
</fo:inline>
|
3013
|
-
</xsl:template><xsl:template
|
3188
|
+
</xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
|
3014
3189
|
<fo:inline>
|
3015
3190
|
<xsl:apply-templates/>
|
3016
3191
|
</fo:inline>
|
3017
|
-
</xsl:template><xsl:template
|
3192
|
+
</xsl:template><xsl:template match="*[local-name()='dl']">
|
3018
3193
|
<xsl:variable name="parent" select="local-name(..)"/>
|
3019
3194
|
|
3020
3195
|
<xsl:variable name="key_iso">
|
@@ -3026,8 +3201,8 @@
|
|
3026
3201
|
|
3027
3202
|
|
3028
3203
|
<fo:block margin-bottom="12pt" text-align="left">
|
3029
|
-
|
3030
|
-
<xsl:text>
|
3204
|
+
|
3205
|
+
<xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
|
3031
3206
|
<xsl:apply-templates select="*[local-name()='dt']/*"/>
|
3032
3207
|
<xsl:text/>
|
3033
3208
|
<xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
|
@@ -3042,7 +3217,7 @@
|
|
3042
3217
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
3043
3218
|
|
3044
3219
|
|
3045
|
-
<xsl:
|
3220
|
+
<xsl:value-of select="$title-where"/>:
|
3046
3221
|
</fo:block>
|
3047
3222
|
</xsl:when>
|
3048
3223
|
<xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
|
@@ -3050,7 +3225,7 @@
|
|
3050
3225
|
|
3051
3226
|
|
3052
3227
|
|
3053
|
-
<xsl:
|
3228
|
+
<xsl:value-of select="$title-key"/>
|
3054
3229
|
</fo:block>
|
3055
3230
|
</xsl:when>
|
3056
3231
|
</xsl:choose>
|
@@ -3060,14 +3235,19 @@
|
|
3060
3235
|
<fo:block>
|
3061
3236
|
|
3062
3237
|
|
3063
|
-
<xsl:if test="
|
3064
|
-
<xsl:attribute name="margin-left"
|
3238
|
+
<xsl:if test="$parent = 'figure' or $parent = 'formula'">
|
3239
|
+
<xsl:attribute name="margin-left">7.4mm</xsl:attribute>
|
3065
3240
|
</xsl:if>
|
3241
|
+
<xsl:if test="$parent = 'li'">
|
3242
|
+
<!-- <xsl:attribute name="margin-left">-4mm</xsl:attribute> -->
|
3243
|
+
</xsl:if>
|
3244
|
+
|
3066
3245
|
|
3067
3246
|
|
3068
3247
|
<fo:block>
|
3069
3248
|
|
3070
3249
|
|
3250
|
+
|
3071
3251
|
<!-- create virtual html table for dl/[dt and dd] -->
|
3072
3252
|
<xsl:variable name="html-table">
|
3073
3253
|
<xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
|
@@ -3119,7 +3299,7 @@
|
|
3119
3299
|
<xsl:otherwise>
|
3120
3300
|
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
3121
3301
|
<xsl:choose>
|
3122
|
-
<xsl:when test=". = 1">
|
3302
|
+
<xsl:when test=". = 1 or . = 0">
|
3123
3303
|
<fo:table-column column-width="proportional-column-width(2)"/>
|
3124
3304
|
</xsl:when>
|
3125
3305
|
<xsl:otherwise>
|
@@ -3142,7 +3322,7 @@
|
|
3142
3322
|
</fo:block>
|
3143
3323
|
</fo:block>
|
3144
3324
|
</xsl:if>
|
3145
|
-
</xsl:template><xsl:template
|
3325
|
+
</xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']">
|
3146
3326
|
<xsl:param name="key_iso"/>
|
3147
3327
|
|
3148
3328
|
<!-- <tr>
|
@@ -3158,7 +3338,7 @@
|
|
3158
3338
|
<xsl:if test="normalize-space($key_iso) = 'true'">
|
3159
3339
|
<xsl:attribute name="margin-top">0</xsl:attribute>
|
3160
3340
|
</xsl:if>
|
3161
|
-
|
3341
|
+
<xsl:value-of select="$title-note"/>
|
3162
3342
|
</fo:block>
|
3163
3343
|
</fo:table-cell>
|
3164
3344
|
<fo:table-cell>
|
@@ -3167,7 +3347,7 @@
|
|
3167
3347
|
</fo:block>
|
3168
3348
|
</fo:table-cell>
|
3169
3349
|
</fo:table-row>
|
3170
|
-
</xsl:template><xsl:template
|
3350
|
+
</xsl:template><xsl:template match="*[local-name()='dt']" mode="dl">
|
3171
3351
|
<tr>
|
3172
3352
|
<td>
|
3173
3353
|
<xsl:apply-templates/>
|
@@ -3180,11 +3360,16 @@
|
|
3180
3360
|
</td>
|
3181
3361
|
</tr>
|
3182
3362
|
|
3183
|
-
</xsl:template><xsl:template
|
3363
|
+
</xsl:template><xsl:template match="*[local-name()='dt']">
|
3184
3364
|
<xsl:param name="key_iso"/>
|
3185
3365
|
|
3186
3366
|
<fo:table-row>
|
3187
3367
|
<fo:table-cell>
|
3368
|
+
|
3369
|
+
<xsl:if test="ancestor::*[1][local-name() = 'dl']/preceding-sibling::*[1][local-name() = 'formula']">
|
3370
|
+
<xsl:attribute name="padding-right">3mm</xsl:attribute>
|
3371
|
+
</xsl:if>
|
3372
|
+
|
3188
3373
|
<fo:block margin-top="6pt">
|
3189
3374
|
|
3190
3375
|
|
@@ -3194,6 +3379,13 @@
|
|
3194
3379
|
</xsl:if>
|
3195
3380
|
|
3196
3381
|
|
3382
|
+
|
3383
|
+
|
3384
|
+
<xsl:if test="ancestor::*[1][local-name() = 'dl']/preceding-sibling::*[1][local-name() = 'formula']">
|
3385
|
+
<xsl:attribute name="text-align">right</xsl:attribute>
|
3386
|
+
</xsl:if>
|
3387
|
+
|
3388
|
+
|
3197
3389
|
<xsl:apply-templates/>
|
3198
3390
|
|
3199
3391
|
</fo:block>
|
@@ -3211,37 +3403,37 @@
|
|
3211
3403
|
</fo:table-cell>
|
3212
3404
|
</fo:table-row>
|
3213
3405
|
|
3214
|
-
</xsl:template><xsl:template
|
3406
|
+
</xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
|
3215
3407
|
<xsl:apply-templates/>
|
3216
|
-
</xsl:template><xsl:template
|
3408
|
+
</xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
|
3217
3409
|
<xsl:apply-templates/>
|
3218
|
-
</xsl:template><xsl:template
|
3410
|
+
</xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
|
3219
3411
|
<fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
|
3220
|
-
</xsl:template><xsl:template
|
3412
|
+
</xsl:template><xsl:template match="*[local-name()='em']">
|
3221
3413
|
<fo:inline font-style="italic">
|
3222
3414
|
<xsl:apply-templates/>
|
3223
3415
|
</fo:inline>
|
3224
|
-
</xsl:template><xsl:template
|
3416
|
+
</xsl:template><xsl:template match="*[local-name()='strong']">
|
3225
3417
|
<fo:inline font-weight="bold">
|
3226
3418
|
<xsl:apply-templates/>
|
3227
3419
|
</fo:inline>
|
3228
|
-
</xsl:template><xsl:template
|
3420
|
+
</xsl:template><xsl:template match="*[local-name()='sup']">
|
3229
3421
|
<fo:inline font-size="80%" vertical-align="super">
|
3230
3422
|
<xsl:apply-templates/>
|
3231
3423
|
</fo:inline>
|
3232
|
-
</xsl:template><xsl:template
|
3424
|
+
</xsl:template><xsl:template match="*[local-name()='sub']">
|
3233
3425
|
<fo:inline font-size="80%" vertical-align="sub">
|
3234
3426
|
<xsl:apply-templates/>
|
3235
3427
|
</fo:inline>
|
3236
|
-
</xsl:template><xsl:template
|
3237
|
-
<fo:inline font-family="Courier" font-size="10pt">
|
3428
|
+
</xsl:template><xsl:template match="*[local-name()='tt']">
|
3429
|
+
<fo:inline font-family="Courier" font-size="10pt">
|
3238
3430
|
<xsl:apply-templates/>
|
3239
3431
|
</fo:inline>
|
3240
|
-
</xsl:template><xsl:template
|
3432
|
+
</xsl:template><xsl:template match="*[local-name()='del']">
|
3241
3433
|
<fo:inline font-size="10pt" color="red" text-decoration="line-through">
|
3242
3434
|
<xsl:apply-templates/>
|
3243
3435
|
</fo:inline>
|
3244
|
-
</xsl:template><xsl:template
|
3436
|
+
</xsl:template><xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
|
3245
3437
|
<xsl:variable name="text" select="normalize-space(.)"/>
|
3246
3438
|
<fo:inline font-size="75%">
|
3247
3439
|
<xsl:if test="string-length($text) > 0">
|
@@ -3250,7 +3442,7 @@
|
|
3250
3442
|
</xsl:call-template>
|
3251
3443
|
</xsl:if>
|
3252
3444
|
</fo:inline>
|
3253
|
-
</xsl:template><xsl:template
|
3445
|
+
</xsl:template><xsl:template name="recursiveSmallCaps">
|
3254
3446
|
<xsl:param name="text"/>
|
3255
3447
|
<xsl:variable name="char" select="substring($text,1,1)"/>
|
3256
3448
|
<xsl:variable name="upperCase" select="translate($char, $lower, $upper)"/>
|
@@ -3269,7 +3461,7 @@
|
|
3269
3461
|
<xsl:with-param name="text" select="substring($text,2)"/>
|
3270
3462
|
</xsl:call-template>
|
3271
3463
|
</xsl:if>
|
3272
|
-
</xsl:template><xsl:template
|
3464
|
+
</xsl:template><xsl:template name="tokenize">
|
3273
3465
|
<xsl:param name="text"/>
|
3274
3466
|
<xsl:param name="separator" select="' '"/>
|
3275
3467
|
<xsl:choose>
|
@@ -3317,7 +3509,7 @@
|
|
3317
3509
|
</xsl:call-template>
|
3318
3510
|
</xsl:otherwise>
|
3319
3511
|
</xsl:choose>
|
3320
|
-
</xsl:template><xsl:template
|
3512
|
+
</xsl:template><xsl:template name="max_length">
|
3321
3513
|
<xsl:param name="words"/>
|
3322
3514
|
<xsl:for-each select="$words//word">
|
3323
3515
|
<xsl:sort select="." data-type="number" order="descending"/>
|
@@ -3325,7 +3517,11 @@
|
|
3325
3517
|
<xsl:value-of select="."/>
|
3326
3518
|
</xsl:if>
|
3327
3519
|
</xsl:for-each>
|
3328
|
-
</xsl:template><xsl:template
|
3520
|
+
</xsl:template><xsl:template name="add-zero-spaces-java">
|
3521
|
+
<xsl:param name="text" select="."/>
|
3522
|
+
<!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
|
3523
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| )','$1')"/>
|
3524
|
+
</xsl:template><xsl:template name="add-zero-spaces">
|
3329
3525
|
<xsl:param name="text" select="."/>
|
3330
3526
|
<xsl:variable name="zero-space-after-chars">-</xsl:variable>
|
3331
3527
|
<xsl:variable name="zero-space-after-dot">.</xsl:variable>
|
@@ -3378,7 +3574,7 @@
|
|
3378
3574
|
<xsl:value-of select="$text"/>
|
3379
3575
|
</xsl:otherwise>
|
3380
3576
|
</xsl:choose>
|
3381
|
-
</xsl:template><xsl:template
|
3577
|
+
</xsl:template><xsl:template name="add-zero-spaces-equal">
|
3382
3578
|
<xsl:param name="text" select="."/>
|
3383
3579
|
<xsl:variable name="zero-space-after-equals">==========</xsl:variable>
|
3384
3580
|
<xsl:variable name="zero-space-after-equal">=</xsl:variable>
|
@@ -3404,7 +3600,7 @@
|
|
3404
3600
|
<xsl:value-of select="$text"/>
|
3405
3601
|
</xsl:otherwise>
|
3406
3602
|
</xsl:choose>
|
3407
|
-
</xsl:template><xsl:template
|
3603
|
+
</xsl:template><xsl:template name="getSimpleTable">
|
3408
3604
|
<xsl:variable name="simple-table">
|
3409
3605
|
|
3410
3606
|
<!-- Step 1. colspan processing -->
|
@@ -3431,9 +3627,9 @@
|
|
3431
3627
|
</xsl:choose> -->
|
3432
3628
|
</xsl:variable>
|
3433
3629
|
<xsl:copy-of select="$simple-table"/>
|
3434
|
-
</xsl:template><xsl:template
|
3630
|
+
</xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
|
3435
3631
|
<xsl:apply-templates mode="simple-table-colspan"/>
|
3436
|
-
</xsl:template><xsl:template
|
3632
|
+
</xsl:template><xsl:template match="*[local-name()='fn']" mode="simple-table-colspan"/><xsl:template match="*[local-name()='th'] | *[local-name()='td']" mode="simple-table-colspan">
|
3437
3633
|
<xsl:choose>
|
3438
3634
|
<xsl:when test="@colspan">
|
3439
3635
|
<xsl:variable name="td">
|
@@ -3455,16 +3651,16 @@
|
|
3455
3651
|
</xsl:element>
|
3456
3652
|
</xsl:otherwise>
|
3457
3653
|
</xsl:choose>
|
3458
|
-
</xsl:template><xsl:template
|
3654
|
+
</xsl:template><xsl:template match="@colspan" mode="simple-table-colspan"/><xsl:template match="*[local-name()='tr']" mode="simple-table-colspan">
|
3459
3655
|
<xsl:element name="tr">
|
3460
3656
|
<xsl:apply-templates select="@*" mode="simple-table-colspan"/>
|
3461
3657
|
<xsl:apply-templates mode="simple-table-colspan"/>
|
3462
3658
|
</xsl:element>
|
3463
|
-
</xsl:template><xsl:template
|
3659
|
+
</xsl:template><xsl:template match="@*|node()" mode="simple-table-colspan">
|
3464
3660
|
<xsl:copy>
|
3465
3661
|
<xsl:apply-templates select="@*|node()" mode="simple-table-colspan"/>
|
3466
3662
|
</xsl:copy>
|
3467
|
-
</xsl:template><xsl:template
|
3663
|
+
</xsl:template><xsl:template name="repeatNode">
|
3468
3664
|
<xsl:param name="count"/>
|
3469
3665
|
<xsl:param name="node"/>
|
3470
3666
|
|
@@ -3475,18 +3671,18 @@
|
|
3475
3671
|
</xsl:call-template>
|
3476
3672
|
<xsl:copy-of select="$node"/>
|
3477
3673
|
</xsl:if>
|
3478
|
-
</xsl:template><xsl:template
|
3674
|
+
</xsl:template><xsl:template match="@*|node()" mode="simple-table-rowspan">
|
3479
3675
|
<xsl:copy>
|
3480
3676
|
<xsl:apply-templates select="@*|node()" mode="simple-table-rowspan"/>
|
3481
3677
|
</xsl:copy>
|
3482
|
-
</xsl:template><xsl:template
|
3678
|
+
</xsl:template><xsl:template match="tbody" mode="simple-table-rowspan">
|
3483
3679
|
<xsl:copy>
|
3484
3680
|
<xsl:copy-of select="tr[1]"/>
|
3485
3681
|
<xsl:apply-templates select="tr[2]" mode="simple-table-rowspan">
|
3486
3682
|
<xsl:with-param name="previousRow" select="tr[1]"/>
|
3487
3683
|
</xsl:apply-templates>
|
3488
3684
|
</xsl:copy>
|
3489
|
-
</xsl:template><xsl:template
|
3685
|
+
</xsl:template><xsl:template match="tr" mode="simple-table-rowspan">
|
3490
3686
|
<xsl:param name="previousRow"/>
|
3491
3687
|
<xsl:variable name="currentRow" select="."/>
|
3492
3688
|
|
@@ -3520,13 +3716,13 @@
|
|
3520
3716
|
<xsl:apply-templates select="following-sibling::tr[1]" mode="simple-table-rowspan">
|
3521
3717
|
<xsl:with-param name="previousRow" select="$newRow"/>
|
3522
3718
|
</xsl:apply-templates>
|
3523
|
-
</xsl:template><xsl:template
|
3719
|
+
</xsl:template><xsl:template name="getLang">
|
3524
3720
|
<xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
|
3525
3721
|
<xsl:choose>
|
3526
3722
|
<xsl:when test="$language = 'English'">en</xsl:when>
|
3527
3723
|
<xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
|
3528
3724
|
</xsl:choose>
|
3529
|
-
</xsl:template><xsl:template
|
3725
|
+
</xsl:template><xsl:template name="capitalizeWords">
|
3530
3726
|
<xsl:param name="str"/>
|
3531
3727
|
<xsl:variable name="str2" select="translate($str, '-', ' ')"/>
|
3532
3728
|
<xsl:choose>
|
@@ -3544,19 +3740,19 @@
|
|
3544
3740
|
<xsl:value-of select="substring($str2, 2)"/>
|
3545
3741
|
</xsl:otherwise>
|
3546
3742
|
</xsl:choose>
|
3547
|
-
</xsl:template><xsl:template
|
3743
|
+
</xsl:template><xsl:template match="mathml:math">
|
3548
3744
|
<fo:inline font-family="STIX2Math">
|
3549
3745
|
<fo:instream-foreign-object fox:alt-text="Math">
|
3550
3746
|
<xsl:copy-of select="."/>
|
3551
3747
|
</fo:instream-foreign-object>
|
3552
3748
|
</fo:inline>
|
3553
|
-
</xsl:template><xsl:template
|
3749
|
+
</xsl:template><xsl:template match="*[local-name()='localityStack']">
|
3554
3750
|
<xsl:for-each select="*[local-name()='locality']">
|
3555
3751
|
<xsl:if test="position() =1"><xsl:text>, </xsl:text></xsl:if>
|
3556
3752
|
<xsl:apply-templates select="."/>
|
3557
3753
|
<xsl:if test="position() != last()"><xsl:text>; </xsl:text></xsl:if>
|
3558
3754
|
</xsl:for-each>
|
3559
|
-
</xsl:template><xsl:template
|
3755
|
+
</xsl:template><xsl:template match="*[local-name()='link']" name="link">
|
3560
3756
|
<xsl:variable name="target">
|
3561
3757
|
<xsl:choose>
|
3562
3758
|
<xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
|
@@ -3586,4 +3782,122 @@
|
|
3586
3782
|
</xsl:otherwise>
|
3587
3783
|
</xsl:choose>
|
3588
3784
|
</fo:inline>
|
3785
|
+
</xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
3786
|
+
<fo:block xsl:use-attribute-sets="sourcecode-style">
|
3787
|
+
<!-- <xsl:choose>
|
3788
|
+
<xsl:when test="@lang = 'en'"></xsl:when>
|
3789
|
+
<xsl:otherwise> -->
|
3790
|
+
<xsl:attribute name="white-space">pre</xsl:attribute>
|
3791
|
+
<xsl:attribute name="wrap-option">wrap</xsl:attribute>
|
3792
|
+
<!-- </xsl:otherwise>
|
3793
|
+
</xsl:choose> -->
|
3794
|
+
<xsl:apply-templates/>
|
3795
|
+
</fo:block>
|
3796
|
+
</xsl:template><xsl:template match="*[local-name()='bookmark']">
|
3797
|
+
<fo:inline id="{@id}"/>
|
3798
|
+
</xsl:template><xsl:template match="*[local-name()='appendix']">
|
3799
|
+
<fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
|
3800
|
+
<fo:inline padding-right="5mm"><xsl:value-of select="$title-appendix"/> <xsl:number/></fo:inline>
|
3801
|
+
<xsl:apply-templates select="*[local-name()='title']" mode="process"/>
|
3802
|
+
</fo:block>
|
3803
|
+
<xsl:apply-templates/>
|
3804
|
+
</xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
|
3805
|
+
<fo:inline><xsl:apply-templates/></fo:inline>
|
3806
|
+
</xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']">
|
3807
|
+
<fo:block xsl:use-attribute-sets="appendix-example-style">
|
3808
|
+
<xsl:variable name="claims_id" select="ancestor::*[local-name()='clause'][1]/@id"/>
|
3809
|
+
<xsl:value-of select="$title-example"/>
|
3810
|
+
<xsl:if test="count(ancestor::*[local-name()='clause'][1]//*[local-name()='example']) > 1">
|
3811
|
+
<xsl:number count="*[local-name()='example'][ancestor::*[local-name()='clause'][@id = $claims_id]]" level="any"/><xsl:text> </xsl:text>
|
3812
|
+
</xsl:if>
|
3813
|
+
<xsl:if test="*[local-name()='name']">
|
3814
|
+
<xsl:text>— </xsl:text><xsl:apply-templates select="*[local-name()='name']" mode="process"/>
|
3815
|
+
</xsl:if>
|
3816
|
+
</fo:block>
|
3817
|
+
<xsl:apply-templates/>
|
3818
|
+
</xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']/*[local-name()='name']"/><xsl:template match="*[local-name()='appendix']//*[local-name()='example']/*[local-name()='name']" mode="process">
|
3819
|
+
<fo:inline><xsl:apply-templates/></fo:inline>
|
3820
|
+
</xsl:template><xsl:template match="*[local-name() = 'callout']">
|
3821
|
+
<fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}"><<xsl:apply-templates/>></fo:basic-link>
|
3822
|
+
</xsl:template><xsl:template match="*[local-name() = 'annotation']">
|
3823
|
+
<xsl:variable name="annotation-id" select="@id"/>
|
3824
|
+
<xsl:variable name="callout" select="//*[@target = $annotation-id]/text()"/>
|
3825
|
+
<fo:block id="{$annotation-id}" white-space="nowrap">
|
3826
|
+
<fo:inline>
|
3827
|
+
<xsl:apply-templates>
|
3828
|
+
<xsl:with-param name="callout" select="concat('<', $callout, '> ')"/>
|
3829
|
+
</xsl:apply-templates>
|
3830
|
+
</fo:inline>
|
3831
|
+
</fo:block>
|
3832
|
+
</xsl:template><xsl:template match="*[local-name() = 'annotation']/*[local-name() = 'p']">
|
3833
|
+
<xsl:param name="callout"/>
|
3834
|
+
<fo:inline id="{@id}">
|
3835
|
+
<!-- for first p in annotation, put <x> -->
|
3836
|
+
<xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if>
|
3837
|
+
<xsl:apply-templates/>
|
3838
|
+
</fo:inline>
|
3839
|
+
</xsl:template><xsl:template name="convertDate">
|
3840
|
+
<xsl:param name="date"/>
|
3841
|
+
<xsl:param name="format" select="'short'"/>
|
3842
|
+
<xsl:variable name="year" select="substring($date, 1, 4)"/>
|
3843
|
+
<xsl:variable name="month" select="substring($date, 6, 2)"/>
|
3844
|
+
<xsl:variable name="day" select="substring($date, 9, 2)"/>
|
3845
|
+
<xsl:variable name="monthStr">
|
3846
|
+
<xsl:choose>
|
3847
|
+
<xsl:when test="$month = '01'">January</xsl:when>
|
3848
|
+
<xsl:when test="$month = '02'">February</xsl:when>
|
3849
|
+
<xsl:when test="$month = '03'">March</xsl:when>
|
3850
|
+
<xsl:when test="$month = '04'">April</xsl:when>
|
3851
|
+
<xsl:when test="$month = '05'">May</xsl:when>
|
3852
|
+
<xsl:when test="$month = '06'">June</xsl:when>
|
3853
|
+
<xsl:when test="$month = '07'">July</xsl:when>
|
3854
|
+
<xsl:when test="$month = '08'">August</xsl:when>
|
3855
|
+
<xsl:when test="$month = '09'">September</xsl:when>
|
3856
|
+
<xsl:when test="$month = '10'">October</xsl:when>
|
3857
|
+
<xsl:when test="$month = '11'">November</xsl:when>
|
3858
|
+
<xsl:when test="$month = '12'">December</xsl:when>
|
3859
|
+
</xsl:choose>
|
3860
|
+
</xsl:variable>
|
3861
|
+
<xsl:variable name="result">
|
3862
|
+
<xsl:choose>
|
3863
|
+
<xsl:when test="$format = 'short' or $day = ''">
|
3864
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
|
3865
|
+
</xsl:when>
|
3866
|
+
<xsl:otherwise>
|
3867
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
|
3868
|
+
</xsl:otherwise>
|
3869
|
+
</xsl:choose>
|
3870
|
+
</xsl:variable>
|
3871
|
+
<xsl:value-of select="$result"/>
|
3872
|
+
</xsl:template><xsl:template name="insertKeywords">
|
3873
|
+
<xsl:param name="sorting" select="'true'"/>
|
3874
|
+
<xsl:param name="charAtEnd" select="'.'"/>
|
3875
|
+
<xsl:param name="charDelim" select="', '"/>
|
3876
|
+
<xsl:choose>
|
3877
|
+
<xsl:when test="$sorting = 'true' or $sorting = 'yes'">
|
3878
|
+
<xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
|
3879
|
+
<xsl:sort data-type="text" order="ascending"/>
|
3880
|
+
<xsl:call-template name="insertKeyword">
|
3881
|
+
<xsl:with-param name="charAtEnd" select="$charAtEnd"/>
|
3882
|
+
<xsl:with-param name="charDelim" select="$charDelim"/>
|
3883
|
+
</xsl:call-template>
|
3884
|
+
</xsl:for-each>
|
3885
|
+
</xsl:when>
|
3886
|
+
<xsl:otherwise>
|
3887
|
+
<xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
|
3888
|
+
<xsl:call-template name="insertKeyword">
|
3889
|
+
<xsl:with-param name="charAtEnd" select="$charAtEnd"/>
|
3890
|
+
<xsl:with-param name="charDelim" select="$charDelim"/>
|
3891
|
+
</xsl:call-template>
|
3892
|
+
</xsl:for-each>
|
3893
|
+
</xsl:otherwise>
|
3894
|
+
</xsl:choose>
|
3895
|
+
</xsl:template><xsl:template name="insertKeyword">
|
3896
|
+
<xsl:param name="charAtEnd"/>
|
3897
|
+
<xsl:param name="charDelim"/>
|
3898
|
+
<xsl:apply-templates/>
|
3899
|
+
<xsl:choose>
|
3900
|
+
<xsl:when test="position() != last()"><xsl:value-of select="$charDelim"/></xsl:when>
|
3901
|
+
<xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
|
3902
|
+
</xsl:choose>
|
3589
3903
|
</xsl:template></xsl:stylesheet>
|