metanorma-itu 1.0.18 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/asciidoctor/itu/cleanup.rb +72 -72
- data/lib/asciidoctor/itu/converter.rb +12 -17
- data/lib/isodoc/itu.rb +1 -0
- data/lib/isodoc/itu/base_convert.rb +8 -3
- data/lib/isodoc/itu/itu.recommendation-annex.xsl +625 -170
- data/lib/isodoc/itu/itu.recommendation.xsl +625 -170
- data/lib/isodoc/itu/itu.resolution.xsl +625 -170
- data/lib/isodoc/itu/pdf_convert.rb +0 -13
- data/lib/isodoc/itu/presentation_xml_convert.rb +10 -0
- data/lib/isodoc/itu/ref.rb +0 -5
- data/lib/isodoc/itu/terms.rb +8 -21
- data/lib/isodoc/itu/word_convert.rb +1 -1
- data/lib/isodoc/itu/xref.rb +40 -16
- data/lib/metanorma/itu/processor.rb +6 -4
- data/lib/metanorma/itu/version.rb +1 -1
- data/metanorma-itu.gemspec +1 -1
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b6ac25e837c79b80506bd97901541337cec2796e4d152c66713cc566190ae157
|
4
|
+
data.tar.gz: 1a304163bea03ddb785255c0a513b505e0f62e7107a65054d67a354e457e52eb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a834bd5d824a3478a832bc8aea5f43391d7c54282a09092a9355503f7fdb3542da68f3ba4d651ea288700ba473d79eaa13fb6e1836172080255d74bc23e80dfe
|
7
|
+
data.tar.gz: fa30f3b4d4db6531691b520c1ff75610b8c0198c9db1ea12e4e5507febfdc481c73b4f6dd46f287e732abaa63a3a187002815ccd6fe8401c9df46de1bdada7a1
|
@@ -71,46 +71,46 @@ module Asciidoctor
|
|
71
71
|
x.at("//sections/clause[descendant::definitions]")
|
72
72
|
unless x.at("//sections/clause/title[text() = 'Conventions']")
|
73
73
|
ins.next = "<clause id='_#{UUIDTools::UUID.random_create}'>"\
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
74
|
+
"<title>Conventions</title><p>"\
|
75
|
+
"#{@labels['clause_empty']}</p></clause>"
|
76
|
+
end
|
77
|
+
end
|
78
78
|
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
79
|
+
def cleanup(xmldoc)
|
80
|
+
symbols_cleanup(xmldoc)
|
81
|
+
super
|
82
|
+
obligations_cleanup(xmldoc)
|
83
|
+
xmldoc
|
84
|
+
end
|
85
85
|
|
86
|
-
|
87
|
-
|
88
|
-
|
86
|
+
def smartquotes_cleanup(xmldoc)
|
87
|
+
return super if @smartquotes
|
88
|
+
xmldoc.traverse do |n|
|
89
89
|
next unless n.text?
|
90
90
|
n.replace(HTMLEntities.new.encode(
|
91
91
|
n.text.gsub(/\u2019|\u2018|\u201a|\u201b/, "'").
|
92
92
|
gsub(/\u201c|\u201d|\u201e|\u201f/, '"'), :basic))
|
93
|
-
|
94
|
-
|
95
|
-
|
93
|
+
end
|
94
|
+
xmldoc
|
95
|
+
end
|
96
96
|
|
97
|
-
|
98
|
-
|
97
|
+
def termdef_cleanup(xmldoc)
|
98
|
+
xmldoc.xpath("//term/preferred").each do |p|
|
99
99
|
if ["terms defined elsewhere",
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
end
|
104
|
-
end
|
105
|
-
super
|
100
|
+
"terms defined in this recommendation"].include? p.text.downcase
|
101
|
+
p.name = "title"
|
102
|
+
p.parent.name = "terms"
|
106
103
|
end
|
104
|
+
end
|
105
|
+
super
|
106
|
+
end
|
107
107
|
|
108
|
-
|
109
|
-
|
108
|
+
def termdef_boilerplate_cleanup(xmldoc)
|
109
|
+
end
|
110
110
|
|
111
|
-
|
112
|
-
|
113
|
-
|
111
|
+
def symbols_cleanup(xmldoc)
|
112
|
+
sym = xmldoc.at("//definitions/title")
|
113
|
+
sym and sym&.next_element&.name == "dl" and
|
114
114
|
sym.next = "<p>#{@symbols_boilerplate}</p>"
|
115
115
|
end
|
116
116
|
|
@@ -118,55 +118,55 @@ module Asciidoctor
|
|
118
118
|
|
119
119
|
def pub_class(bib)
|
120
120
|
return 1 if bib.at("#{PUBLISHER}[abbreviation = 'ITU']")
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
121
|
+
return 1 if bib.at("#{PUBLISHER}[name = 'International "\
|
122
|
+
"Telecommunication Union']")
|
123
|
+
return 2 if bib.at("#{PUBLISHER}[abbreviation = 'ISO']")
|
124
|
+
return 2 if bib.at("#{PUBLISHER}[name = 'International Organization "\
|
125
|
+
"for Standardization']")
|
126
|
+
return 3 if bib.at("#{PUBLISHER}[abbreviation = 'IEC']")
|
127
|
+
return 3 if bib.at("#{PUBLISHER}[name = 'International "\
|
128
|
+
"Electrotechnical Commission']")
|
129
|
+
return 4 if bib.at("./docidentifier[@type][not(@type = 'DOI' or "\
|
130
|
+
"@type = 'metanorma' or @type = 'ISSN' or @type = "\
|
131
|
+
"'ISBN')]")
|
132
|
+
5
|
133
|
+
end
|
134
134
|
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
end
|
135
|
+
def sort_biblio(bib)
|
136
|
+
bib.sort do |a, b|
|
137
|
+
sort_biblio_key(a) <=> sort_biblio_key(b)
|
139
138
|
end
|
139
|
+
end
|
140
140
|
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
141
|
+
# sort by: doc class (ITU, ISO, IEC, other standard (not DOI &c), other
|
142
|
+
# then standard class (docid class other than DOI &c)
|
143
|
+
# then alphanumeric doc id (not DOI &c)
|
144
|
+
# then title
|
145
|
+
def sort_biblio_key(bib)
|
146
|
+
pubclass = pub_class(bib)
|
147
|
+
num = bib&.at("./docnumber")&.text
|
148
|
+
id = bib&.at("./docidentifier[not(@type = 'DOI' or @type = "\
|
149
|
+
"'metanorma' or @type = 'ISSN' or @type = 'ISBN')]")
|
150
|
+
metaid = bib&.at("./docidentifier[@type = 'metanorma']")&.text
|
151
|
+
abbrid = metaid unless /^\[\d+\]$/.match(metaid)
|
152
|
+
type = id['type'] if id
|
153
|
+
title = bib&.at("./title[@type = 'main']")&.text ||
|
154
|
+
bib&.at("./title")&.text || bib&.at("./formattedref")&.text
|
155
|
+
"#{pubclass} :: #{type} :: #{id&.text || metaid} :: #{title}"
|
156
|
+
end
|
157
157
|
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
end
|
158
|
+
def biblio_reorder(xmldoc)
|
159
|
+
xmldoc.xpath("//references").each do |r|
|
160
|
+
biblio_reorder1(r)
|
162
161
|
end
|
162
|
+
end
|
163
163
|
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
end
|
164
|
+
def normref_cleanup(xmldoc)
|
165
|
+
super
|
166
|
+
r = xmldoc.at(NORM_REF) || return
|
167
|
+
title = r.at("./title") and
|
168
|
+
title.content = "References"
|
170
169
|
end
|
171
170
|
end
|
172
171
|
end
|
172
|
+
end
|
@@ -53,21 +53,12 @@ module Asciidoctor
|
|
53
53
|
end.join("\n")
|
54
54
|
end
|
55
55
|
|
56
|
-
def
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
gsub(%r{^.*/}, "")
|
63
|
-
File.open(filename, "w") { |f| f.write(ret) }
|
64
|
-
html_converter(node).convert filename unless node.attr("nodoc")
|
65
|
-
word_converter(node).convert filename unless node.attr("nodoc")
|
66
|
-
pdf_converter(node).convert filename unless node.attr("nodoc")
|
67
|
-
end
|
68
|
-
@log.write(@localdir + @filename + ".err") unless @novalid
|
69
|
-
@files_to_delete.each { |f| FileUtils.rm f }
|
70
|
-
ret
|
56
|
+
def outputs(node, ret)
|
57
|
+
File.open(@filename + ".xml", "w:UTF-8") { |f| f.write(ret) }
|
58
|
+
presentation_xml_converter(node).convert(@filename + ".xml")
|
59
|
+
html_converter(node).convert(@filename + ".presentation.xml", nil, false, "#{@filename}.html")
|
60
|
+
doc_converter(node).convert(@filename + ".presentation.xml", nil, false, "#{@filename}.doc")
|
61
|
+
pdf_converter(node)&.convert(@filename + ".presentation.xml", nil, false, "#{@filename}.pdf")
|
71
62
|
end
|
72
63
|
|
73
64
|
def validate(doc)
|
@@ -137,7 +128,7 @@ module Asciidoctor
|
|
137
128
|
super
|
138
129
|
end
|
139
130
|
|
140
|
-
|
131
|
+
def metadata_keywords(node, xml)
|
141
132
|
return unless node.attr("keywords")
|
142
133
|
node.attr("keywords").split(/,[ ]*/).sort.each_with_index do |kw, i|
|
143
134
|
xml.keyword (i == 0 ? kw.capitalize : kw)
|
@@ -152,6 +143,10 @@ module Asciidoctor
|
|
152
143
|
super.merge(hierarchical_assets: node.attr("hierarchical-object-numbering"))
|
153
144
|
end
|
154
145
|
|
146
|
+
def presentation_xml_converter(node)
|
147
|
+
IsoDoc::ITU::PresentationXMLConvert.new(html_extract_attributes(node))
|
148
|
+
end
|
149
|
+
|
155
150
|
def html_converter(node)
|
156
151
|
IsoDoc::ITU::HtmlConvert.new(html_extract_attributes(node))
|
157
152
|
end
|
@@ -160,7 +155,7 @@ module Asciidoctor
|
|
160
155
|
IsoDoc::ITU::PdfConvert.new(html_extract_attributes(node))
|
161
156
|
end
|
162
157
|
|
163
|
-
def
|
158
|
+
def doc_converter(node)
|
164
159
|
IsoDoc::ITU::WordConvert.new(doc_extract_attributes(node))
|
165
160
|
end
|
166
161
|
end
|
data/lib/isodoc/itu.rb
CHANGED
@@ -22,6 +22,11 @@ module IsoDoc
|
|
22
22
|
@meta = Metadata.new(lang, script, labels)
|
23
23
|
end
|
24
24
|
|
25
|
+
def xref_init(lang, script, klass, labels, options)
|
26
|
+
@xrefs = Xref.new(lang, script, klass, labels,
|
27
|
+
options.merge(hierarchical_assets: @hierarchical_assets))
|
28
|
+
end
|
29
|
+
|
25
30
|
FRONT_CLAUSE = "//*[parent::preface]"\
|
26
31
|
"[not(local-name() = 'abstract')]".freeze
|
27
32
|
|
@@ -48,14 +53,14 @@ module IsoDoc
|
|
48
53
|
end
|
49
54
|
|
50
55
|
def note_label(node)
|
51
|
-
n =
|
56
|
+
n = @xrefs.get[node["id"]]
|
52
57
|
(n.nil? || n[:label].nil? || n[:label].empty?) and
|
53
58
|
return "#{@note_lbl} – "
|
54
59
|
l10n("#{@note_lbl} #{n[:label]} – ")
|
55
60
|
end
|
56
61
|
|
57
62
|
def prefix_container(container, linkend, _target)
|
58
|
-
l10n("#{linkend} #{@labels["in"]} #{anchor(container, :xref)}")
|
63
|
+
l10n("#{linkend} #{@labels["in"]} #{@xrefs.anchor(container, :xref)}")
|
59
64
|
end
|
60
65
|
|
61
66
|
def ol_depth(node)
|
@@ -73,7 +78,7 @@ module IsoDoc
|
|
73
78
|
def annex_name(annex, name, div)
|
74
79
|
r_a = @meta.get[:doctype_original] == "recommendation-annex"
|
75
80
|
div.h1 **{ class: r_a ? "RecommendationAnnex" : "Annex" } do |t|
|
76
|
-
t << "#{anchor(annex['id'], :label)} "
|
81
|
+
t << "#{@xrefs.anchor(annex['id'], :label)} "
|
77
82
|
t.br
|
78
83
|
t.br
|
79
84
|
t.b do |b|
|
@@ -26,8 +26,9 @@
|
|
26
26
|
</xsl:call-template>
|
27
27
|
</xsl:variable>
|
28
28
|
<xsl:variable name="doctype">
|
29
|
-
<xsl:
|
30
|
-
|
29
|
+
<xsl:call-template name="capitalize">
|
30
|
+
<xsl:with-param name="str" select="/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype"/>
|
31
|
+
</xsl:call-template>
|
31
32
|
</xsl:variable>
|
32
33
|
|
33
34
|
|
@@ -119,35 +120,7 @@
|
|
119
120
|
</fo:page-sequence-master>
|
120
121
|
</fo:layout-master-set>
|
121
122
|
|
122
|
-
<
|
123
|
-
<pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
|
124
|
-
<pdf:dictionary type="normal" key="ViewerPreferences">
|
125
|
-
<pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
|
126
|
-
</pdf:dictionary>
|
127
|
-
</pdf:catalog>
|
128
|
-
<x:xmpmeta xmlns:x="adobe:ns:meta/">
|
129
|
-
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
130
|
-
<rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
|
131
|
-
<!-- Dublin Core properties go here -->
|
132
|
-
<dc:title><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:title[@type='main']"/> </dc:title>
|
133
|
-
<dc:creator><xsl:value-of select="/itu:iso-standard/itu:bibdata/itu:contributor[itu:role/@type='author']/itu:organization/itu:name"/></dc:creator>
|
134
|
-
<dc:description>
|
135
|
-
<xsl:variable name="abstract">
|
136
|
-
<xsl:copy-of select="/itu:itu-standard/itu:bibdata/itu:abstract//text()"/>
|
137
|
-
</xsl:variable>
|
138
|
-
<xsl:value-of select="normalize-space($abstract)"/>
|
139
|
-
</dc:description>
|
140
|
-
<pdf:Keywords>
|
141
|
-
<xsl:call-template name="insertKeywords"/>
|
142
|
-
</pdf:Keywords>
|
143
|
-
</rdf:Description>
|
144
|
-
<rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
|
145
|
-
<!-- XMP properties go here -->
|
146
|
-
<xmp:CreatorTool/>
|
147
|
-
</rdf:Description>
|
148
|
-
</rdf:RDF>
|
149
|
-
</x:xmpmeta>
|
150
|
-
</fo:declarations>
|
123
|
+
<xsl:call-template name="addPDFUAmeta"/>
|
151
124
|
|
152
125
|
<!-- cover page -->
|
153
126
|
<fo:page-sequence master-reference="cover-page">
|
@@ -217,7 +190,12 @@
|
|
217
190
|
<fo:table-cell text-align="right">
|
218
191
|
<xsl:if test="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid">
|
219
192
|
<fo:block font-size="18pt" font-weight="bold">
|
220
|
-
|
193
|
+
<xsl:variable name="title-annex">
|
194
|
+
<xsl:call-template name="getTitle">
|
195
|
+
<xsl:with-param name="name" select="'title-annex'"/>
|
196
|
+
</xsl:call-template>
|
197
|
+
</xsl:variable>
|
198
|
+
<xsl:value-of select="$title-annex"/><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid"/>
|
221
199
|
</fo:block>
|
222
200
|
</xsl:if>
|
223
201
|
<fo:block font-size="14pt">
|
@@ -304,7 +282,12 @@
|
|
304
282
|
<xsl:text> </xsl:text>
|
305
283
|
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:docnumber"/>
|
306
284
|
<xsl:if test="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid">
|
307
|
-
<xsl:
|
285
|
+
<xsl:variable name="title-annex">
|
286
|
+
<xsl:call-template name="getTitle">
|
287
|
+
<xsl:with-param name="name" select="'title-annex'"/>
|
288
|
+
</xsl:call-template>
|
289
|
+
</xsl:variable>
|
290
|
+
<xsl:text> — </xsl:text><xsl:value-of select="$title-annex"/><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid"/>
|
308
291
|
</xsl:if>
|
309
292
|
</fo:block>
|
310
293
|
</fo:table-cell>
|
@@ -339,6 +322,11 @@
|
|
339
322
|
<xsl:value-of select="$linebreak"/>
|
340
323
|
</fo:block>
|
341
324
|
<fo:block font-weight="bold" margin-top="18pt" margin-bottom="18pt">
|
325
|
+
<xsl:variable name="title-keywords">
|
326
|
+
<xsl:call-template name="getTitle">
|
327
|
+
<xsl:with-param name="name" select="'title-keywords'"/>
|
328
|
+
</xsl:call-template>
|
329
|
+
</xsl:variable>
|
342
330
|
<xsl:value-of select="$title-keywords"/>
|
343
331
|
</fo:block>
|
344
332
|
<fo:block>
|
@@ -365,6 +353,16 @@
|
|
365
353
|
<xsl:if test="xalan:nodeset($contents)//item">
|
366
354
|
<fo:block break-after="page"/>
|
367
355
|
<fo:block-container>
|
356
|
+
<xsl:variable name="title-toc">
|
357
|
+
<xsl:call-template name="getTitle">
|
358
|
+
<xsl:with-param name="name" select="'title-toc'"/>
|
359
|
+
</xsl:call-template>
|
360
|
+
</xsl:variable>
|
361
|
+
<xsl:variable name="title-page">
|
362
|
+
<xsl:call-template name="getTitle">
|
363
|
+
<xsl:with-param name="name" select="'title-page'"/>
|
364
|
+
</xsl:call-template>
|
365
|
+
</xsl:variable>
|
368
366
|
<fo:block margin-top="6pt" text-align="center" font-weight="bold"><xsl:value-of select="$title-toc"/></fo:block>
|
369
367
|
<fo:block margin-top="6pt" text-align="right" font-weight="bold"><xsl:value-of select="$title-page"/></fo:block>
|
370
368
|
|
@@ -611,15 +609,16 @@
|
|
611
609
|
<xsl:template match="itu:figure" mode="contents">
|
612
610
|
<xsl:param name="sectionNum"/>
|
613
611
|
<item level="" id="{@id}" display="false" type="figure">
|
612
|
+
<xsl:variable name="title-figure">
|
613
|
+
<xsl:call-template name="getTitle">
|
614
|
+
<xsl:with-param name="name" select="'title-figure'"/>
|
615
|
+
</xsl:call-template>
|
616
|
+
</xsl:variable>
|
614
617
|
<xsl:variable name="title" select="$title-figure"/>
|
615
618
|
<xsl:attribute name="section">
|
616
619
|
<xsl:call-template name="getSection">
|
617
620
|
<xsl:with-param name="sectionNum" select="$sectionNum"/>
|
618
|
-
</xsl:call-template>
|
619
|
-
<!-- <xsl:text>Figure </xsl:text>
|
620
|
-
<xsl:call-template name="getItemNumber">
|
621
|
-
<xsl:with-param name="brackets" select="'false'"/>
|
622
|
-
</xsl:call-template> -->
|
621
|
+
</xsl:call-template>
|
623
622
|
</xsl:attribute>
|
624
623
|
<xsl:attribute name="topsection">
|
625
624
|
<xsl:call-template name="getTopSection">
|
@@ -639,13 +638,16 @@
|
|
639
638
|
<xsl:template match="itu:table" mode="contents">
|
640
639
|
<xsl:param name="sectionNum"/>
|
641
640
|
<item level="" id="{@id}" display="false" type="table">
|
641
|
+
<xsl:variable name="title-table">
|
642
|
+
<xsl:call-template name="getTitle">
|
643
|
+
<xsl:with-param name="name" select="'title-table'"/>
|
644
|
+
</xsl:call-template>
|
645
|
+
</xsl:variable>
|
642
646
|
<xsl:variable name="title" select="$title-table"/>
|
643
647
|
<xsl:attribute name="section">
|
644
648
|
<xsl:call-template name="getSection">
|
645
649
|
<xsl:with-param name="sectionNum" select="$sectionNum"/>
|
646
|
-
</xsl:call-template>
|
647
|
-
<!-- <xsl:text>Table </xsl:text>
|
648
|
-
<xsl:call-template name="getItemNumber"/> -->
|
650
|
+
</xsl:call-template>
|
649
651
|
</xsl:attribute>
|
650
652
|
<xsl:attribute name="topsection">
|
651
653
|
<xsl:call-template name="getTopSection">
|
@@ -666,6 +668,16 @@
|
|
666
668
|
<xsl:template match="itu:formula" mode="contents">
|
667
669
|
<xsl:param name="sectionNum"/>
|
668
670
|
<item level="" id="{@id}" display="false" type="formula">
|
671
|
+
<xsl:variable name="title-inequality">
|
672
|
+
<xsl:call-template name="getTitle">
|
673
|
+
<xsl:with-param name="name" select="'title-inequality'"/>
|
674
|
+
</xsl:call-template>
|
675
|
+
</xsl:variable>
|
676
|
+
<xsl:variable name="title-equation">
|
677
|
+
<xsl:call-template name="getTitle">
|
678
|
+
<xsl:with-param name="name" select="'title-equation'"/>
|
679
|
+
</xsl:call-template>
|
680
|
+
</xsl:variable>
|
669
681
|
<xsl:variable name="title">
|
670
682
|
<xsl:choose>
|
671
683
|
<xsl:when test="@inequality = 'true'"><xsl:value-of select="$title-inequality"/></xsl:when>
|
@@ -682,6 +694,11 @@
|
|
682
694
|
</xsl:attribute>
|
683
695
|
<xsl:variable name="parent-element" select="local-name(..)"/>
|
684
696
|
<xsl:attribute name="parent">
|
697
|
+
<xsl:variable name="title-clause">
|
698
|
+
<xsl:call-template name="getTitle">
|
699
|
+
<xsl:with-param name="name" select="'title-clause'"/>
|
700
|
+
</xsl:call-template>
|
701
|
+
</xsl:variable>
|
685
702
|
<xsl:choose>
|
686
703
|
<xsl:when test="$parent-element = 'clause'"><xsl:value-of select="normalize-space($title-clause)"/></xsl:when>
|
687
704
|
<xsl:otherwise/>
|
@@ -795,6 +812,11 @@
|
|
795
812
|
<xsl:variable name="parent-element" select="local-name(..)"/>
|
796
813
|
<item level="" id="{@id}" display="false" type="example" section="{$section}">
|
797
814
|
<xsl:attribute name="parent">
|
815
|
+
<xsl:variable name="title-clause">
|
816
|
+
<xsl:call-template name="getTitle">
|
817
|
+
<xsl:with-param name="name" select="'title-clause'"/>
|
818
|
+
</xsl:call-template>
|
819
|
+
</xsl:variable>
|
798
820
|
<xsl:choose>
|
799
821
|
<xsl:when test="$parent-element = 'clause'"><xsl:value-of select="normalize-space($title-clause)"/></xsl:when>
|
800
822
|
<xsl:otherwise/>
|
@@ -937,8 +959,13 @@
|
|
937
959
|
<xsl:value-of select="$linebreak"/>
|
938
960
|
<xsl:value-of select="$linebreak"/>
|
939
961
|
</fo:block>
|
940
|
-
<fo:block font-weight="bold" margin-top="18pt" margin-bottom="18pt">
|
941
|
-
<xsl:
|
962
|
+
<fo:block font-weight="bold" margin-top="18pt" margin-bottom="18pt">
|
963
|
+
<xsl:variable name="title-summary">
|
964
|
+
<xsl:call-template name="getTitle">
|
965
|
+
<xsl:with-param name="name" select="'title-summary'"/>
|
966
|
+
</xsl:call-template>
|
967
|
+
</xsl:variable>
|
968
|
+
<xsl:value-of select="$title-summary"/>
|
942
969
|
</fo:block>
|
943
970
|
<xsl:apply-templates/>
|
944
971
|
</xsl:template>
|
@@ -995,7 +1022,12 @@
|
|
995
1022
|
<fo:block font-size="11pt" space-before="4pt" text-align="justify">
|
996
1023
|
<xsl:if test="ancestor::itu:figure">
|
997
1024
|
<xsl:attribute name="keep-with-previous">always</xsl:attribute>
|
998
|
-
</xsl:if>
|
1025
|
+
</xsl:if>
|
1026
|
+
<xsl:variable name="title-note">
|
1027
|
+
<xsl:call-template name="getTitle">
|
1028
|
+
<xsl:with-param name="name" select="'title-note'"/>
|
1029
|
+
</xsl:call-template>
|
1030
|
+
</xsl:variable>
|
999
1031
|
<xsl:value-of select="$title-note"/>
|
1000
1032
|
<!-- <xsl:if test="../following-sibling::itu:note or ../preceding-sibling::itu:note"> -->
|
1001
1033
|
<xsl:if test="count(//itu:note[ancestor::*[local-name() = 'clause'][1][@id = $id] and not (ancestor::itu:table)]) > 1">
|
@@ -1231,12 +1263,20 @@
|
|
1231
1263
|
</fo:block>
|
1232
1264
|
</xsl:template>
|
1233
1265
|
|
1266
|
+
<xsl:template match="itu:term">
|
1267
|
+
<xsl:param name="sectionNum"/>
|
1268
|
+
<fo:block id="{@id}">
|
1269
|
+
<xsl:apply-templates>
|
1270
|
+
<xsl:with-param name="sectionNum" select="$sectionNum"/>
|
1271
|
+
</xsl:apply-templates>
|
1272
|
+
</fo:block>
|
1273
|
+
</xsl:template>
|
1234
1274
|
|
1235
1275
|
<xsl:template match="itu:preferred">
|
1236
1276
|
<xsl:param name="sectionNum"/>
|
1237
1277
|
<!-- DEBUG need -->
|
1238
1278
|
<fo:block space-before="6pt" text-align="justify">
|
1239
|
-
<fo:inline
|
1279
|
+
<fo:inline padding-right="5mm" font-weight="bold">
|
1240
1280
|
<!-- <xsl:value-of select="$sectionNum"/><xsl:number format=".1" level="multiple" count="itu:clause/itu:clause | itu:clause/itu:terms | itu:terms/itu:term"/> -->
|
1241
1281
|
<xsl:variable name="level">
|
1242
1282
|
<xsl:call-template name="getLevel"/>
|
@@ -1263,7 +1303,7 @@
|
|
1263
1303
|
<xsl:variable name="citeas" select="../itu:termsource/itu:origin/@citeas"/>
|
1264
1304
|
<xsl:choose>
|
1265
1305
|
<xsl:when test="contains($citeas, '[')">
|
1266
|
-
<xsl:text> </xsl:text><xsl:value-of select="$citeas" disable-output-escaping="yes"
|
1306
|
+
<xsl:text> </xsl:text><xsl:value-of select="$citeas"/> <!-- disable-output-escaping="yes" -->
|
1267
1307
|
</xsl:when>
|
1268
1308
|
<xsl:otherwise>
|
1269
1309
|
<xsl:text> [</xsl:text><xsl:value-of select="$citeas"/><xsl:text>]</xsl:text>
|
@@ -1386,6 +1426,11 @@
|
|
1386
1426
|
<xsl:choose>
|
1387
1427
|
<xsl:when test="local-name(*) = 'figure' and normalize-space(itu:name) = ''"/><!-- don't show 'Figure' for outer figure without name -->
|
1388
1428
|
<xsl:when test="$itemnumber != ''">
|
1429
|
+
<xsl:variable name="title-figure">
|
1430
|
+
<xsl:call-template name="getTitle">
|
1431
|
+
<xsl:with-param name="name" select="'title-figure'"/>
|
1432
|
+
</xsl:call-template>
|
1433
|
+
</xsl:variable>
|
1389
1434
|
<xsl:value-of select="$title-figure"/>
|
1390
1435
|
<xsl:value-of select="$itemnumber"/>
|
1391
1436
|
</xsl:when>
|
@@ -1467,6 +1512,11 @@
|
|
1467
1512
|
<xsl:template match="itu:ul//itu:note/itu:p | itu:ol//itu:note/itu:p" mode="process">
|
1468
1513
|
<xsl:variable name="id" select="ancestor::*[local-name() = 'clause'][1]/@id"/>
|
1469
1514
|
<fo:block font-size="11pt" margin-top="4pt">
|
1515
|
+
<xsl:variable name="title-note">
|
1516
|
+
<xsl:call-template name="getTitle">
|
1517
|
+
<xsl:with-param name="name" select="'title-note'"/>
|
1518
|
+
</xsl:call-template>
|
1519
|
+
</xsl:variable>
|
1470
1520
|
<xsl:value-of select="$title-note"/>
|
1471
1521
|
<!-- <xsl:if test="../following-sibling::itu:note or ../preceding-sibling::itu:note"> -->
|
1472
1522
|
<xsl:if test="count(//itu:note[ancestor::*[@id = $id] and not (ancestor::itu:table)]) > 1">
|
@@ -1532,6 +1582,11 @@
|
|
1532
1582
|
|
1533
1583
|
<xsl:template match="itu:termnote">
|
1534
1584
|
<fo:block id="{@id}" margin-top="4pt">
|
1585
|
+
<xsl:variable name="title-note">
|
1586
|
+
<xsl:call-template name="getTitle">
|
1587
|
+
<xsl:with-param name="name" select="'title-note'"/>
|
1588
|
+
</xsl:call-template>
|
1589
|
+
</xsl:variable>
|
1535
1590
|
<xsl:value-of select="$title-note"/>
|
1536
1591
|
<xsl:if test="following-sibling::itu:termnote or preceding-sibling::itu:termnote">
|
1537
1592
|
<xsl:number/><xsl:text> </xsl:text>
|
@@ -1634,10 +1689,22 @@
|
|
1634
1689
|
<fo:basic-link internal-destination="{@target}" color="blue" text-decoration="underline" fox:alt-text="{@target}">
|
1635
1690
|
<xsl:variable name="type" select="xalan:nodeset($contents)//item[@id = current()/@target]/@type"/>
|
1636
1691
|
<xsl:variable name="level" select="xalan:nodeset($contents)//item[@id =current()/@target]/@level"/>
|
1692
|
+
|
1693
|
+
<xsl:variable name="title-clause">
|
1694
|
+
<xsl:call-template name="getTitle">
|
1695
|
+
<xsl:with-param name="name" select="'title-clause'"/>
|
1696
|
+
</xsl:call-template>
|
1697
|
+
</xsl:variable>
|
1698
|
+
<xsl:variable name="title-example-xref">
|
1699
|
+
<xsl:call-template name="getTitle">
|
1700
|
+
<xsl:with-param name="name" select="'title-example-xref'"/>
|
1701
|
+
</xsl:call-template>
|
1702
|
+
</xsl:variable>
|
1703
|
+
|
1637
1704
|
<xsl:choose>
|
1638
1705
|
<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="
|
1640
|
-
<xsl:when test="$type = 'example'"
|
1706
|
+
<xsl:when test="($type = 'clause' or $type = 'term') and $level > 1"><xsl:value-of select="java:toLowerCase(java:java.lang.String.new($title-clause))"/></xsl:when>
|
1707
|
+
<xsl:when test="$type = 'example'"><xsl:value-of select="$title-example-xref"/></xsl:when>
|
1641
1708
|
<xsl:when test="$type = 'figure'"/>
|
1642
1709
|
<xsl:when test="$type = 'formula'"/>
|
1643
1710
|
<xsl:when test="$type = 'table'"/>
|
@@ -1646,13 +1713,20 @@
|
|
1646
1713
|
<xsl:otherwise/> <!-- <xsl:value-of select="$type"/> -->
|
1647
1714
|
</xsl:choose>
|
1648
1715
|
|
1716
|
+
<xsl:variable name="title-in">
|
1717
|
+
<xsl:call-template name="getTitle">
|
1718
|
+
<xsl:with-param name="name" select="'title-in'"/>
|
1719
|
+
</xsl:call-template>
|
1720
|
+
</xsl:variable>
|
1721
|
+
|
1649
1722
|
<xsl:choose>
|
1650
1723
|
<xsl:when test="$type = 'example'">
|
1651
1724
|
<xsl:variable name="currentSection">
|
1652
1725
|
<xsl:call-template name="getSection"/>
|
1653
1726
|
</xsl:variable>
|
1654
|
-
<xsl:if test="not(contains($section, $currentSection))">
|
1655
|
-
|
1727
|
+
<xsl:if test="not(contains($section, $currentSection))">
|
1728
|
+
|
1729
|
+
<xsl:value-of select="$title-in"/>
|
1656
1730
|
<xsl:if test="$level = 1">
|
1657
1731
|
<xsl:value-of select="xalan:nodeset($contents)//item[@id = current()/@target]/@parent"/>
|
1658
1732
|
<xsl:text> </xsl:text>
|
@@ -1673,7 +1747,8 @@
|
|
1673
1747
|
|
1674
1748
|
<xsl:if test="not(contains($section, $currentSection))"> -->
|
1675
1749
|
<xsl:if test="$topsection != $xreftopsection">
|
1676
|
-
<xsl:text>
|
1750
|
+
<xsl:text> </xsl:text>
|
1751
|
+
<xsl:value-of select="$title-in"/>
|
1677
1752
|
<xsl:if test="$level = 1">
|
1678
1753
|
<xsl:value-of select="xalan:nodeset($contents)//item[@id = current()/@target]/@parent"/>
|
1679
1754
|
<xsl:text> </xsl:text>
|
@@ -1691,10 +1766,11 @@
|
|
1691
1766
|
<xsl:call-template name="getSection"/>
|
1692
1767
|
</xsl:variable>
|
1693
1768
|
<xsl:if test="not(contains($section, $currentSection))">
|
1694
|
-
<xsl:text>
|
1769
|
+
<xsl:text> </xsl:text>
|
1770
|
+
<xsl:value-of select="$title-in"/>
|
1695
1771
|
<xsl:choose>
|
1696
1772
|
<xsl:when test="$level = 1"><xsl:value-of select="$title-clause"/></xsl:when>
|
1697
|
-
<xsl:when test="$level > 1"><xsl:value-of select="
|
1773
|
+
<xsl:when test="$level > 1"><xsl:value-of select="java:toLowerCase(java:java.lang.String.new($title-clause))"/></xsl:when>
|
1698
1774
|
</xsl:choose>
|
1699
1775
|
<xsl:value-of select="$section"/>
|
1700
1776
|
</xsl:if>
|
@@ -1737,6 +1813,11 @@
|
|
1737
1813
|
|
1738
1814
|
<xsl:template match="itu:example/itu:name">
|
1739
1815
|
<fo:block font-weight="bold">
|
1816
|
+
<xsl:variable name="title-example">
|
1817
|
+
<xsl:call-template name="getTitle">
|
1818
|
+
<xsl:with-param name="name" select="'title-example'"/>
|
1819
|
+
</xsl:call-template>
|
1820
|
+
</xsl:variable>
|
1740
1821
|
<xsl:value-of select="normalize-space($title-example)"/>
|
1741
1822
|
<xsl:if test="count(ancestor::itu:clause[1]/itu:example) > 1">
|
1742
1823
|
<xsl:text> </xsl:text><xsl:number count="itu:example"/>
|
@@ -1764,10 +1845,10 @@
|
|
1764
1845
|
<fo:basic-link internal-destination="{@bibitemid}" color="blue" text-decoration="underline" fox:alt-text="{@citeas}">
|
1765
1846
|
<xsl:choose>
|
1766
1847
|
<xsl:when test="contains(@citeas, '[')">
|
1767
|
-
<xsl:value-of select="@citeas" disable-output-escaping="yes"
|
1848
|
+
<xsl:value-of select="@citeas"/> <!-- disable-output-escaping="yes" -->
|
1768
1849
|
</xsl:when>
|
1769
1850
|
<xsl:otherwise>
|
1770
|
-
<xsl:text>[</xsl:text><xsl:value-of select="@citeas"
|
1851
|
+
<xsl:text>[</xsl:text><xsl:value-of select="@citeas"/><xsl:text>]</xsl:text> <!-- disable-output-escaping="yes" -->
|
1771
1852
|
</xsl:otherwise>
|
1772
1853
|
</xsl:choose>
|
1773
1854
|
|
@@ -1778,8 +1859,13 @@
|
|
1778
1859
|
</xsl:template>
|
1779
1860
|
|
1780
1861
|
<xsl:template match="itu:locality">
|
1862
|
+
<xsl:variable name="title-section">
|
1863
|
+
<xsl:call-template name="getTitle">
|
1864
|
+
<xsl:with-param name="name" select="'title-section'"/>
|
1865
|
+
</xsl:call-template>
|
1866
|
+
</xsl:variable>
|
1781
1867
|
<xsl:choose>
|
1782
|
-
<xsl:when test="@type ='section'"
|
1868
|
+
<xsl:when test="@type ='section'"><xsl:value-of select="normalize-space($title-section)"/></xsl:when>
|
1783
1869
|
<xsl:otherwise/>
|
1784
1870
|
</xsl:choose>
|
1785
1871
|
<xsl:value-of select="itu:referenceFrom"/>
|
@@ -1809,7 +1895,7 @@
|
|
1809
1895
|
|
1810
1896
|
<xsl:template match="itu:source">
|
1811
1897
|
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
1812
|
-
<xsl:value-of select="@citeas" disable-output-escaping="yes"
|
1898
|
+
<xsl:value-of select="@citeas"/> <!-- disable-output-escaping="yes" -->
|
1813
1899
|
<xsl:apply-templates select="itu:localityStack"/>
|
1814
1900
|
</fo:basic-link>
|
1815
1901
|
</xsl:template>
|
@@ -2335,24 +2421,6 @@
|
|
2335
2421
|
</xsl:if>
|
2336
2422
|
</xsl:template>
|
2337
2423
|
|
2338
|
-
<xsl:template name="getLevel">
|
2339
|
-
<xsl:variable name="level_total" select="count(ancestor::*)"/>
|
2340
|
-
<xsl:variable name="level">
|
2341
|
-
<xsl:choose>
|
2342
|
-
<xsl:when test="ancestor::itu:sections">
|
2343
|
-
<xsl:value-of select="$level_total - 2"/>
|
2344
|
-
</xsl:when>
|
2345
|
-
<xsl:when test="ancestor::itu:bibliography">
|
2346
|
-
<xsl:value-of select="$level_total - 2"/>
|
2347
|
-
</xsl:when>
|
2348
|
-
<xsl:when test="local-name(ancestor::*[1]) = 'annex'">1</xsl:when>
|
2349
|
-
<xsl:otherwise>
|
2350
|
-
<xsl:value-of select="$level_total - 1"/>
|
2351
|
-
</xsl:otherwise>
|
2352
|
-
</xsl:choose>
|
2353
|
-
</xsl:variable>
|
2354
|
-
<xsl:value-of select="$level"/>
|
2355
|
-
</xsl:template>
|
2356
2424
|
|
2357
2425
|
<xsl:template name="getSection">
|
2358
2426
|
<xsl:param name="sectionNum"/>
|
@@ -2372,7 +2440,7 @@
|
|
2372
2440
|
</xsl:when>
|
2373
2441
|
<xsl:when test="$level >= 2">
|
2374
2442
|
<xsl:variable name="num">
|
2375
|
-
<xsl:
|
2443
|
+
<xsl:call-template name="getSubSection"/>
|
2376
2444
|
</xsl:variable>
|
2377
2445
|
<!-- <xsl:variable name="sectionNum_">
|
2378
2446
|
<xsl:choose>
|
@@ -2392,6 +2460,11 @@
|
|
2392
2460
|
<xsl:when test="ancestor::itu:annex[@obligation = 'informative']">
|
2393
2461
|
<xsl:choose>
|
2394
2462
|
<xsl:when test="$level = 1">
|
2463
|
+
<xsl:variable name="title-appendix">
|
2464
|
+
<xsl:call-template name="getTitle">
|
2465
|
+
<xsl:with-param name="name" select="'title-appendix'"/>
|
2466
|
+
</xsl:call-template>
|
2467
|
+
</xsl:variable>
|
2395
2468
|
<xsl:value-of select="$title-appendix"/><xsl:text> </xsl:text>
|
2396
2469
|
<xsl:number format="I" level="any" count="itu:annex[@obligation = 'informative']"/>
|
2397
2470
|
</xsl:when>
|
@@ -2403,6 +2476,11 @@
|
|
2403
2476
|
<xsl:when test="ancestor::itu:annex[not(@obligation) or @obligation != 'informative']">
|
2404
2477
|
<xsl:choose>
|
2405
2478
|
<xsl:when test="$level = 1">
|
2479
|
+
<xsl:variable name="title-annex">
|
2480
|
+
<xsl:call-template name="getTitle">
|
2481
|
+
<xsl:with-param name="name" select="'title-annex'"/>
|
2482
|
+
</xsl:call-template>
|
2483
|
+
</xsl:variable>
|
2406
2484
|
<xsl:value-of select="$title-annex"/>
|
2407
2485
|
<xsl:choose>
|
2408
2486
|
<xsl:when test="count(//itu:annex) = 1">
|
@@ -2450,17 +2528,6 @@
|
|
2450
2528
|
</xsl:if>
|
2451
2529
|
</xsl:template>
|
2452
2530
|
|
2453
|
-
<xsl:template name="getId">
|
2454
|
-
<xsl:choose>
|
2455
|
-
<xsl:when test="../@id">
|
2456
|
-
<xsl:value-of select="../@id"/>
|
2457
|
-
</xsl:when>
|
2458
|
-
<xsl:otherwise>
|
2459
|
-
<xsl:value-of select="concat(local-name(..), '_', text())"/>
|
2460
|
-
</xsl:otherwise>
|
2461
|
-
</xsl:choose>
|
2462
|
-
</xsl:template>
|
2463
|
-
|
2464
2531
|
<xsl:template name="getTopSection">
|
2465
2532
|
<xsl:param name="sectionNum"/>
|
2466
2533
|
<xsl:variable name="section">
|
@@ -2479,44 +2546,185 @@
|
|
2479
2546
|
</xsl:choose>
|
2480
2547
|
</xsl:template>
|
2481
2548
|
|
2482
|
-
<xsl:variable name="
|
2549
|
+
<xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
|
2483
2550
|
|
2484
|
-
|
2551
|
+
<title-table lang="en">Table </title-table>
|
2552
|
+
<title-table lang="fr">Tableau </title-table>
|
2553
|
+
|
2554
|
+
<title-table lang="zh">Table </title-table>
|
2485
2555
|
|
2486
2556
|
|
2487
|
-
|
2557
|
+
|
2558
|
+
<title-note lang="en">NOTE </title-note>
|
2559
|
+
<title-note lang="fr">NOTE </title-note>
|
2488
2560
|
|
2489
|
-
<
|
2561
|
+
<title-note lang="zh">NOTE </title-note>
|
2490
2562
|
|
2491
2563
|
|
2492
|
-
</xsl:variable><xsl:variable name="title-figure">
|
2493
2564
|
|
2494
|
-
|
2565
|
+
<title-figure lang="en">Figure </title-figure>
|
2566
|
+
<title-figure lang="fr">Figure </title-figure>
|
2495
2567
|
|
2568
|
+
<title-figure lang="zh">Figure </title-figure>
|
2496
2569
|
|
2497
|
-
</xsl:variable><xsl:variable name="title-example">
|
2498
2570
|
|
2499
|
-
<xsl:text>EXAMPLE </xsl:text>
|
2500
2571
|
|
2572
|
+
<title-example lang="en">EXAMPLE </title-example>
|
2573
|
+
<title-example lang="fr">EXEMPLE </title-example>
|
2501
2574
|
|
2502
|
-
|
2575
|
+
<title-example lang="zh">EXAMPLE </title-example>
|
2503
2576
|
|
2504
|
-
<xsl:text>Annex </xsl:text>
|
2505
2577
|
|
2506
2578
|
|
2507
|
-
|
2508
|
-
<
|
2509
|
-
|
2579
|
+
<title-example-xref lang="en">Example </title-example-xref>
|
2580
|
+
<title-example-xref lang="fr">Exemple </title-example-xref>
|
2581
|
+
|
2582
|
+
<title-section lang="en">Section </title-section>
|
2583
|
+
<title-section lang="fr">Section </title-section>
|
2510
2584
|
|
2511
|
-
|
2585
|
+
<title-inequality lang="en">Inequality </title-inequality>
|
2586
|
+
<title-inequality lang="fr">Inequality </title-inequality>
|
2512
2587
|
|
2588
|
+
<title-equation lang="en">Equation </title-equation>
|
2589
|
+
<title-equation lang="fr">Equation </title-equation>
|
2590
|
+
|
2591
|
+
<title-annex lang="en">Annex </title-annex>
|
2592
|
+
<title-annex lang="fr">Annexe </title-annex>
|
2593
|
+
|
2594
|
+
<title-annex lang="zh">Annex </title-annex>
|
2513
2595
|
|
2514
|
-
</xsl:variable><xsl:variable name="title-edition">
|
2515
|
-
<xsl:text>Edition </xsl:text>
|
2516
|
-
</xsl:variable><xsl:variable name="title-toc">
|
2517
2596
|
|
2518
|
-
|
2519
|
-
|
2597
|
+
|
2598
|
+
<title-appendix lang="en">Appendix </title-appendix>
|
2599
|
+
<title-appendix lang="fr">Appendix </title-appendix>
|
2600
|
+
|
2601
|
+
<title-clause lang="en">Clause </title-clause>
|
2602
|
+
<title-clause lang="fr">Article </title-clause>
|
2603
|
+
|
2604
|
+
<title-clause lang="zh">Clause </title-clause>
|
2605
|
+
|
2606
|
+
|
2607
|
+
|
2608
|
+
<title-edition lang="en">
|
2609
|
+
|
2610
|
+
<xsl:text>Edition </xsl:text>
|
2611
|
+
|
2612
|
+
|
2613
|
+
</title-edition>
|
2614
|
+
|
2615
|
+
<title-formula lang="en">Formula </title-formula>
|
2616
|
+
<title-formula lang="fr">Formula </title-formula>
|
2617
|
+
|
2618
|
+
<title-toc lang="en">
|
2619
|
+
|
2620
|
+
|
2621
|
+
<xsl:text>Table of Contents</xsl:text>
|
2622
|
+
|
2623
|
+
|
2624
|
+
</title-toc>
|
2625
|
+
<title-toc lang="fr">Sommaire</title-toc>
|
2626
|
+
|
2627
|
+
<title-toc lang="zh">Contents</title-toc>
|
2628
|
+
|
2629
|
+
|
2630
|
+
|
2631
|
+
<title-page lang="en">Page</title-page>
|
2632
|
+
<title-page lang="fr">Page</title-page>
|
2633
|
+
|
2634
|
+
<title-key lang="en">Key</title-key>
|
2635
|
+
<title-key lang="fr">Légende</title-key>
|
2636
|
+
|
2637
|
+
<title-where lang="en">where</title-where>
|
2638
|
+
<title-where lang="fr">où</title-where>
|
2639
|
+
|
2640
|
+
<title-descriptors lang="en">Descriptors</title-descriptors>
|
2641
|
+
|
2642
|
+
<title-part lang="en">
|
2643
|
+
|
2644
|
+
|
2645
|
+
</title-part>
|
2646
|
+
<title-part lang="fr">
|
2647
|
+
|
2648
|
+
|
2649
|
+
</title-part>
|
2650
|
+
<title-part lang="zh">第 # 部分:</title-part>
|
2651
|
+
|
2652
|
+
<title-note-to-entry lang="en">Note # to entry: </title-note-to-entry>
|
2653
|
+
<title-note-to-entry lang="fr">Note # à l'article: </title-note-to-entry>
|
2654
|
+
|
2655
|
+
<title-note-to-entry lang="zh">Note # to entry: </title-note-to-entry>
|
2656
|
+
|
2657
|
+
|
2658
|
+
|
2659
|
+
<title-modified lang="en">modified</title-modified>
|
2660
|
+
<title-modified lang="fr">modifiée</title-modified>
|
2661
|
+
|
2662
|
+
<title-modified lang="zh">modified</title-modified>
|
2663
|
+
|
2664
|
+
|
2665
|
+
|
2666
|
+
<title-source lang="en">SOURCE</title-source>
|
2667
|
+
|
2668
|
+
<title-keywords lang="en">Keywords</title-keywords>
|
2669
|
+
|
2670
|
+
<title-deprecated lang="en">DEPRECATED</title-deprecated>
|
2671
|
+
<title-deprecated lang="fr">DEPRECATED</title-deprecated>
|
2672
|
+
|
2673
|
+
<title-submitting-organizations lang="en">Submitting Organizations</title-submitting-organizations>
|
2674
|
+
|
2675
|
+
<title-list-tables lang="en">List of Tables</title-list-tables>
|
2676
|
+
|
2677
|
+
<title-list-figures lang="en">List of Figures</title-list-figures>
|
2678
|
+
|
2679
|
+
<title-recommendation lang="en">Recommendation </title-recommendation>
|
2680
|
+
|
2681
|
+
<title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
|
2682
|
+
|
2683
|
+
<title-abstract lang="en">Abstract</title-abstract>
|
2684
|
+
|
2685
|
+
<title-summary lang="en">Summary</title-summary>
|
2686
|
+
|
2687
|
+
<title-in lang="en">in </title-in>
|
2688
|
+
|
2689
|
+
<title-box lang="en">Box </title-box>
|
2690
|
+
|
2691
|
+
<title-partly-supercedes lang="en">Partly Supercedes </title-partly-supercedes>
|
2692
|
+
<title-partly-supercedes lang="zh">部分代替 </title-partly-supercedes>
|
2693
|
+
|
2694
|
+
<title-completion-date lang="en">Completion date for this manuscript</title-completion-date>
|
2695
|
+
<title-completion-date lang="zh">本稿完成日期</title-completion-date>
|
2696
|
+
|
2697
|
+
<title-issuance-date lang="en">Issuance Date: #</title-issuance-date>
|
2698
|
+
<title-issuance-date lang="zh"># 发布</title-issuance-date>
|
2699
|
+
|
2700
|
+
<title-implementation-date lang="en">Implementation Date: #</title-implementation-date>
|
2701
|
+
<title-implementation-date lang="zh"># 实施</title-implementation-date>
|
2702
|
+
|
2703
|
+
<title-obligation-normative lang="en">normative</title-obligation-normative>
|
2704
|
+
<title-obligation-normative lang="zh">规范性附录</title-obligation-normative>
|
2705
|
+
|
2706
|
+
<title-caution lang="en">CAUTION</title-caution>
|
2707
|
+
<title-caution lang="zh">注意</title-caution>
|
2708
|
+
|
2709
|
+
<title-warning lang="en">WARNING</title-warning>
|
2710
|
+
<title-warning lang="zh">警告</title-warning>
|
2711
|
+
|
2712
|
+
<title-amendment lang="en">AMENDMENT</title-amendment>
|
2713
|
+
</xsl:variable><xsl:template name="getTitle">
|
2714
|
+
<xsl:param name="name"/>
|
2715
|
+
<xsl:variable name="lang">
|
2716
|
+
<xsl:call-template name="getLang"/>
|
2717
|
+
</xsl:variable>
|
2718
|
+
<xsl:variable name="title_" select="$titles/*[local-name() = $name][@lang = $lang]"/>
|
2719
|
+
<xsl:choose>
|
2720
|
+
<xsl:when test="normalize-space($title_) != ''">
|
2721
|
+
<xsl:value-of select="$title_"/>
|
2722
|
+
</xsl:when>
|
2723
|
+
<xsl:otherwise>
|
2724
|
+
<xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
|
2725
|
+
</xsl:otherwise>
|
2726
|
+
</xsl:choose>
|
2727
|
+
</xsl:template><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
2728
|
|
2521
2729
|
|
2522
2730
|
</xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
|
@@ -2583,7 +2791,11 @@
|
|
2583
2791
|
|
2584
2792
|
|
2585
2793
|
|
2586
|
-
|
2794
|
+
<xsl:variable name="title-table">
|
2795
|
+
<xsl:call-template name="getTitle">
|
2796
|
+
<xsl:with-param name="name" select="'title-table'"/>
|
2797
|
+
</xsl:call-template>
|
2798
|
+
</xsl:variable>
|
2587
2799
|
<xsl:value-of select="$title-table"/>
|
2588
2800
|
|
2589
2801
|
<xsl:call-template name="getTableNumber"/>
|
@@ -2692,7 +2904,16 @@
|
|
2692
2904
|
</xsl:otherwise>
|
2693
2905
|
</xsl:choose>
|
2694
2906
|
</xsl:for-each>
|
2695
|
-
|
2907
|
+
|
2908
|
+
<xsl:choose>
|
2909
|
+
<xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
|
2910
|
+
<xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
|
2911
|
+
</xsl:when>
|
2912
|
+
<xsl:otherwise>
|
2913
|
+
<xsl:apply-templates/>
|
2914
|
+
</xsl:otherwise>
|
2915
|
+
</xsl:choose>
|
2916
|
+
|
2696
2917
|
</fo:table>
|
2697
2918
|
|
2698
2919
|
|
@@ -2856,6 +3077,10 @@
|
|
2856
3077
|
|
2857
3078
|
<xsl:apply-templates/>
|
2858
3079
|
</fo:table-header>
|
3080
|
+
</xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
|
3081
|
+
<fo:table-body>
|
3082
|
+
<xsl:apply-templates/>
|
3083
|
+
</fo:table-body>
|
2859
3084
|
</xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
|
2860
3085
|
<xsl:apply-templates/>
|
2861
3086
|
</xsl:template><xsl:template name="insertTableFooter">
|
@@ -3034,6 +3259,11 @@
|
|
3034
3259
|
<fo:inline padding-right="2mm">
|
3035
3260
|
|
3036
3261
|
|
3262
|
+
<xsl:variable name="title-note">
|
3263
|
+
<xsl:call-template name="getTitle">
|
3264
|
+
<xsl:with-param name="name" select="'title-note'"/>
|
3265
|
+
</xsl:call-template>
|
3266
|
+
</xsl:variable>
|
3037
3267
|
<xsl:value-of select="$title-note"/>
|
3038
3268
|
|
3039
3269
|
<xsl:variable name="id" select="ancestor::*[local-name() = 'table'][1]/@id"/>
|
@@ -3130,6 +3360,36 @@
|
|
3130
3360
|
</fn>
|
3131
3361
|
</xsl:for-each>
|
3132
3362
|
</xsl:variable>
|
3363
|
+
|
3364
|
+
<!-- current hierarchy is 'figure' element -->
|
3365
|
+
<xsl:variable name="following_dl_colwidths">
|
3366
|
+
<xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
|
3367
|
+
<xsl:variable name="html-table">
|
3368
|
+
<xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
|
3369
|
+
<xsl:element name="{$ns}:table">
|
3370
|
+
<xsl:for-each select="*[local-name() = 'dl'][1]">
|
3371
|
+
<tbody>
|
3372
|
+
<xsl:apply-templates mode="dl"/>
|
3373
|
+
</tbody>
|
3374
|
+
</xsl:for-each>
|
3375
|
+
</xsl:element>
|
3376
|
+
</xsl:variable>
|
3377
|
+
|
3378
|
+
<xsl:call-template name="calculate-column-widths">
|
3379
|
+
<xsl:with-param name="cols-count" select="2"/>
|
3380
|
+
<xsl:with-param name="table" select="$html-table"/>
|
3381
|
+
</xsl:call-template>
|
3382
|
+
|
3383
|
+
</xsl:if>
|
3384
|
+
</xsl:variable>
|
3385
|
+
|
3386
|
+
|
3387
|
+
<xsl:variable name="maxlength_dt">
|
3388
|
+
<xsl:for-each select="*[local-name() = 'dl'][1]">
|
3389
|
+
<xsl:call-template name="getMaxLength_dt"/>
|
3390
|
+
</xsl:for-each>
|
3391
|
+
</xsl:variable>
|
3392
|
+
|
3133
3393
|
<xsl:if test="xalan:nodeset($references)//fn">
|
3134
3394
|
<fo:block>
|
3135
3395
|
<fo:table width="95%" table-layout="fixed">
|
@@ -3137,8 +3397,19 @@
|
|
3137
3397
|
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
3138
3398
|
|
3139
3399
|
</xsl:if>
|
3140
|
-
<
|
3141
|
-
|
3400
|
+
<xsl:choose>
|
3401
|
+
<!-- if there 'dl', then set same columns width -->
|
3402
|
+
<xsl:when test="xalan:nodeset($following_dl_colwidths)//column">
|
3403
|
+
<xsl:call-template name="setColumnWidth_dl">
|
3404
|
+
<xsl:with-param name="colwidths" select="$following_dl_colwidths"/>
|
3405
|
+
<xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
|
3406
|
+
</xsl:call-template>
|
3407
|
+
</xsl:when>
|
3408
|
+
<xsl:otherwise>
|
3409
|
+
<fo:table-column column-width="15%"/>
|
3410
|
+
<fo:table-column column-width="85%"/>
|
3411
|
+
</xsl:otherwise>
|
3412
|
+
</xsl:choose>
|
3142
3413
|
<fo:table-body>
|
3143
3414
|
<xsl:for-each select="xalan:nodeset($references)//fn">
|
3144
3415
|
<xsl:variable name="reference" select="@reference"/>
|
@@ -3202,6 +3473,11 @@
|
|
3202
3473
|
|
3203
3474
|
<fo:block margin-bottom="12pt" text-align="left">
|
3204
3475
|
|
3476
|
+
<xsl:variable name="title-where">
|
3477
|
+
<xsl:call-template name="getTitle">
|
3478
|
+
<xsl:with-param name="name" select="'title-where'"/>
|
3479
|
+
</xsl:call-template>
|
3480
|
+
</xsl:variable>
|
3205
3481
|
<xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
|
3206
3482
|
<xsl:apply-templates select="*[local-name()='dt']/*"/>
|
3207
3483
|
<xsl:text/>
|
@@ -3217,14 +3493,24 @@
|
|
3217
3493
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
3218
3494
|
|
3219
3495
|
|
3496
|
+
<xsl:variable name="title-where">
|
3497
|
+
<xsl:call-template name="getTitle">
|
3498
|
+
<xsl:with-param name="name" select="'title-where'"/>
|
3499
|
+
</xsl:call-template>
|
3500
|
+
</xsl:variable>
|
3220
3501
|
<xsl:value-of select="$title-where"/>:
|
3221
3502
|
</fo:block>
|
3222
3503
|
</xsl:when>
|
3223
3504
|
<xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
|
3224
|
-
<fo:block font-weight="bold" text-align="left" margin-bottom="12pt">
|
3505
|
+
<fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
|
3225
3506
|
|
3226
3507
|
|
3227
3508
|
|
3509
|
+
<xsl:variable name="title-key">
|
3510
|
+
<xsl:call-template name="getTitle">
|
3511
|
+
<xsl:with-param name="name" select="'title-key'"/>
|
3512
|
+
</xsl:call-template>
|
3513
|
+
</xsl:variable>
|
3228
3514
|
<xsl:value-of select="$title-key"/>
|
3229
3515
|
</fo:block>
|
3230
3516
|
</xsl:when>
|
@@ -3248,23 +3534,6 @@
|
|
3248
3534
|
|
3249
3535
|
|
3250
3536
|
|
3251
|
-
<!-- create virtual html table for dl/[dt and dd] -->
|
3252
|
-
<xsl:variable name="html-table">
|
3253
|
-
<xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
|
3254
|
-
<xsl:element name="{$ns}:table">
|
3255
|
-
<tbody>
|
3256
|
-
<xsl:apply-templates mode="dl"/>
|
3257
|
-
</tbody>
|
3258
|
-
</xsl:element>
|
3259
|
-
</xsl:variable>
|
3260
|
-
<!-- html-table<xsl:copy-of select="$html-table"/> -->
|
3261
|
-
<xsl:variable name="colwidths">
|
3262
|
-
<xsl:call-template name="calculate-column-widths">
|
3263
|
-
<xsl:with-param name="cols-count" select="2"/>
|
3264
|
-
<xsl:with-param name="table" select="$html-table"/>
|
3265
|
-
</xsl:call-template>
|
3266
|
-
</xsl:variable>
|
3267
|
-
<!-- colwidths=<xsl:value-of select="$colwidths"/> -->
|
3268
3537
|
|
3269
3538
|
<fo:table width="95%" table-layout="fixed">
|
3270
3539
|
|
@@ -3277,42 +3546,30 @@
|
|
3277
3546
|
|
3278
3547
|
</xsl:when>
|
3279
3548
|
</xsl:choose>
|
3280
|
-
|
3281
|
-
|
3282
|
-
|
3283
|
-
|
3284
|
-
|
3285
|
-
|
3286
|
-
|
3287
|
-
|
3288
|
-
|
3289
|
-
|
3290
|
-
|
3291
|
-
|
3292
|
-
|
3293
|
-
|
3294
|
-
|
3295
|
-
|
3296
|
-
|
3297
|
-
|
3298
|
-
|
3299
|
-
|
3300
|
-
|
3301
|
-
|
3302
|
-
|
3303
|
-
|
3304
|
-
</xsl:when>
|
3305
|
-
<xsl:otherwise>
|
3306
|
-
<fo:table-column column-width="proportional-column-width({.})"/>
|
3307
|
-
</xsl:otherwise>
|
3308
|
-
</xsl:choose>
|
3309
|
-
</xsl:for-each>
|
3310
|
-
</xsl:otherwise>
|
3311
|
-
</xsl:choose>
|
3312
|
-
<!-- <fo:table-column column-width="15%"/>
|
3313
|
-
<fo:table-column column-width="85%"/> -->
|
3314
|
-
</xsl:otherwise>
|
3315
|
-
</xsl:choose>
|
3549
|
+
<!-- create virtual html table for dl/[dt and dd] -->
|
3550
|
+
<xsl:variable name="html-table">
|
3551
|
+
<xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
|
3552
|
+
<xsl:element name="{$ns}:table">
|
3553
|
+
<tbody>
|
3554
|
+
<xsl:apply-templates mode="dl"/>
|
3555
|
+
</tbody>
|
3556
|
+
</xsl:element>
|
3557
|
+
</xsl:variable>
|
3558
|
+
<!-- html-table<xsl:copy-of select="$html-table"/> -->
|
3559
|
+
<xsl:variable name="colwidths">
|
3560
|
+
<xsl:call-template name="calculate-column-widths">
|
3561
|
+
<xsl:with-param name="cols-count" select="2"/>
|
3562
|
+
<xsl:with-param name="table" select="$html-table"/>
|
3563
|
+
</xsl:call-template>
|
3564
|
+
</xsl:variable>
|
3565
|
+
<!-- colwidths=<xsl:value-of select="$colwidths"/> -->
|
3566
|
+
<xsl:variable name="maxlength_dt">
|
3567
|
+
<xsl:call-template name="getMaxLength_dt"/>
|
3568
|
+
</xsl:variable>
|
3569
|
+
<xsl:call-template name="setColumnWidth_dl">
|
3570
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
3571
|
+
<xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
|
3572
|
+
</xsl:call-template>
|
3316
3573
|
<fo:table-body>
|
3317
3574
|
<xsl:apply-templates>
|
3318
3575
|
<xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
|
@@ -3322,6 +3579,60 @@
|
|
3322
3579
|
</fo:block>
|
3323
3580
|
</fo:block>
|
3324
3581
|
</xsl:if>
|
3582
|
+
</xsl:template><xsl:template name="setColumnWidth_dl">
|
3583
|
+
<xsl:param name="colwidths"/>
|
3584
|
+
<xsl:param name="maxlength_dt"/>
|
3585
|
+
<xsl:choose>
|
3586
|
+
<xsl:when test="ancestor::*[local-name()='dl']"><!-- second level, i.e. inlined table -->
|
3587
|
+
<fo:table-column column-width="50%"/>
|
3588
|
+
<fo:table-column column-width="50%"/>
|
3589
|
+
</xsl:when>
|
3590
|
+
<xsl:otherwise>
|
3591
|
+
<xsl:choose>
|
3592
|
+
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 2"> <!-- if dt contains short text like t90, a, etc -->
|
3593
|
+
<fo:table-column column-width="5%"/>
|
3594
|
+
<fo:table-column column-width="95%"/>
|
3595
|
+
</xsl:when>
|
3596
|
+
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 5"> <!-- if dt contains short text like t90, a, etc -->
|
3597
|
+
<fo:table-column column-width="10%"/>
|
3598
|
+
<fo:table-column column-width="90%"/>
|
3599
|
+
</xsl:when>
|
3600
|
+
<!-- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] > 1.7">
|
3601
|
+
<fo:table-column column-width="60%"/>
|
3602
|
+
<fo:table-column column-width="40%"/>
|
3603
|
+
</xsl:when> -->
|
3604
|
+
<xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] > 1.3">
|
3605
|
+
<fo:table-column column-width="50%"/>
|
3606
|
+
<fo:table-column column-width="50%"/>
|
3607
|
+
</xsl:when>
|
3608
|
+
<xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] > 0.5">
|
3609
|
+
<fo:table-column column-width="40%"/>
|
3610
|
+
<fo:table-column column-width="60%"/>
|
3611
|
+
</xsl:when>
|
3612
|
+
<xsl:otherwise>
|
3613
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
3614
|
+
<xsl:choose>
|
3615
|
+
<xsl:when test=". = 1 or . = 0">
|
3616
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
3617
|
+
</xsl:when>
|
3618
|
+
<xsl:otherwise>
|
3619
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
3620
|
+
</xsl:otherwise>
|
3621
|
+
</xsl:choose>
|
3622
|
+
</xsl:for-each>
|
3623
|
+
</xsl:otherwise>
|
3624
|
+
</xsl:choose>
|
3625
|
+
<!-- <fo:table-column column-width="15%"/>
|
3626
|
+
<fo:table-column column-width="85%"/> -->
|
3627
|
+
</xsl:otherwise>
|
3628
|
+
</xsl:choose>
|
3629
|
+
</xsl:template><xsl:template name="getMaxLength_dt">
|
3630
|
+
<xsl:for-each select="*[local-name()='dt']">
|
3631
|
+
<xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
|
3632
|
+
<xsl:if test="position() = 1">
|
3633
|
+
<xsl:value-of select="string-length(normalize-space(.))"/>
|
3634
|
+
</xsl:if>
|
3635
|
+
</xsl:for-each>
|
3325
3636
|
</xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']">
|
3326
3637
|
<xsl:param name="key_iso"/>
|
3327
3638
|
|
@@ -3338,6 +3649,11 @@
|
|
3338
3649
|
<xsl:if test="normalize-space($key_iso) = 'true'">
|
3339
3650
|
<xsl:attribute name="margin-top">0</xsl:attribute>
|
3340
3651
|
</xsl:if>
|
3652
|
+
<xsl:variable name="title-note">
|
3653
|
+
<xsl:call-template name="getTitle">
|
3654
|
+
<xsl:with-param name="name" select="'title-note'"/>
|
3655
|
+
</xsl:call-template>
|
3656
|
+
</xsl:variable>
|
3341
3657
|
<xsl:value-of select="$title-note"/>
|
3342
3658
|
</fo:block>
|
3343
3659
|
</fo:table-cell>
|
@@ -3387,7 +3703,11 @@
|
|
3387
3703
|
|
3388
3704
|
|
3389
3705
|
<xsl:apply-templates/>
|
3390
|
-
|
3706
|
+
<!-- <xsl:if test="$namespace = 'gb'">
|
3707
|
+
<xsl:if test="ancestor::*[local-name()='formula']">
|
3708
|
+
<xsl:text>—</xsl:text>
|
3709
|
+
</xsl:if>
|
3710
|
+
</xsl:if> -->
|
3391
3711
|
</fo:block>
|
3392
3712
|
</fo:table-cell>
|
3393
3713
|
<fo:table-cell>
|
@@ -3445,7 +3765,8 @@
|
|
3445
3765
|
</xsl:template><xsl:template name="recursiveSmallCaps">
|
3446
3766
|
<xsl:param name="text"/>
|
3447
3767
|
<xsl:variable name="char" select="substring($text,1,1)"/>
|
3448
|
-
<xsl:variable name="upperCase" select="translate($char, $lower, $upper)"/>
|
3768
|
+
<!-- <xsl:variable name="upperCase" select="translate($char, $lower, $upper)"/> -->
|
3769
|
+
<xsl:variable name="upperCase" select="java:toUpperCase(java:java.lang.String.new($char))"/>
|
3449
3770
|
<xsl:choose>
|
3450
3771
|
<xsl:when test="$char=$upperCase">
|
3451
3772
|
<fo:inline font-size="{100 div 0.75}%">
|
@@ -3728,18 +4049,28 @@
|
|
3728
4049
|
<xsl:choose>
|
3729
4050
|
<xsl:when test="contains($str2, ' ')">
|
3730
4051
|
<xsl:variable name="substr" select="substring-before($str2, ' ')"/>
|
3731
|
-
<xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
|
3732
|
-
<xsl:value-of select="substring($substr, 2)"/>
|
4052
|
+
<!-- <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
|
4053
|
+
<xsl:value-of select="substring($substr, 2)"/> -->
|
4054
|
+
<xsl:call-template name="capitalize">
|
4055
|
+
<xsl:with-param name="str" select="$substr"/>
|
4056
|
+
</xsl:call-template>
|
3733
4057
|
<xsl:text> </xsl:text>
|
3734
4058
|
<xsl:call-template name="capitalizeWords">
|
3735
4059
|
<xsl:with-param name="str" select="substring-after($str2, ' ')"/>
|
3736
4060
|
</xsl:call-template>
|
3737
4061
|
</xsl:when>
|
3738
4062
|
<xsl:otherwise>
|
3739
|
-
<xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
|
3740
|
-
<xsl:value-of select="substring($str2, 2)"/>
|
4063
|
+
<!-- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
|
4064
|
+
<xsl:value-of select="substring($str2, 2)"/> -->
|
4065
|
+
<xsl:call-template name="capitalize">
|
4066
|
+
<xsl:with-param name="str" select="$str2"/>
|
4067
|
+
</xsl:call-template>
|
3741
4068
|
</xsl:otherwise>
|
3742
4069
|
</xsl:choose>
|
4070
|
+
</xsl:template><xsl:template name="capitalize">
|
4071
|
+
<xsl:param name="str"/>
|
4072
|
+
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new(substring($str, 1, 1)))"/>
|
4073
|
+
<xsl:value-of select="substring($str, 2)"/>
|
3743
4074
|
</xsl:template><xsl:template match="mathml:math">
|
3744
4075
|
<fo:inline font-family="STIX2Math">
|
3745
4076
|
<fo:instream-foreign-object fox:alt-text="Math">
|
@@ -3797,6 +4128,11 @@
|
|
3797
4128
|
<fo:inline id="{@id}"/>
|
3798
4129
|
</xsl:template><xsl:template match="*[local-name()='appendix']">
|
3799
4130
|
<fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
|
4131
|
+
<xsl:variable name="title-appendix">
|
4132
|
+
<xsl:call-template name="getTitle">
|
4133
|
+
<xsl:with-param name="name" select="'title-appendix'"/>
|
4134
|
+
</xsl:call-template>
|
4135
|
+
</xsl:variable>
|
3800
4136
|
<fo:inline padding-right="5mm"><xsl:value-of select="$title-appendix"/> <xsl:number/></fo:inline>
|
3801
4137
|
<xsl:apply-templates select="*[local-name()='title']" mode="process"/>
|
3802
4138
|
</fo:block>
|
@@ -3806,6 +4142,11 @@
|
|
3806
4142
|
</xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']">
|
3807
4143
|
<fo:block xsl:use-attribute-sets="appendix-example-style">
|
3808
4144
|
<xsl:variable name="claims_id" select="ancestor::*[local-name()='clause'][1]/@id"/>
|
4145
|
+
<xsl:variable name="title-example">
|
4146
|
+
<xsl:call-template name="getTitle">
|
4147
|
+
<xsl:with-param name="name" select="'title-example'"/>
|
4148
|
+
</xsl:call-template>
|
4149
|
+
</xsl:variable>
|
3809
4150
|
<xsl:value-of select="$title-example"/>
|
3810
4151
|
<xsl:if test="count(ancestor::*[local-name()='clause'][1]//*[local-name()='example']) > 1">
|
3811
4152
|
<xsl:number count="*[local-name()='example'][ancestor::*[local-name()='clause'][@id = $claims_id]]" level="any"/><xsl:text> </xsl:text>
|
@@ -3836,6 +4177,17 @@
|
|
3836
4177
|
<xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if>
|
3837
4178
|
<xsl:apply-templates/>
|
3838
4179
|
</fo:inline>
|
4180
|
+
</xsl:template><xsl:template match="*[local-name() = 'modification']">
|
4181
|
+
<xsl:variable name="title-modified">
|
4182
|
+
<xsl:call-template name="getTitle">
|
4183
|
+
<xsl:with-param name="name" select="'title-modified'"/>
|
4184
|
+
</xsl:call-template>
|
4185
|
+
</xsl:variable>
|
4186
|
+
<xsl:choose>
|
4187
|
+
<xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:text>—</xsl:text></xsl:when>
|
4188
|
+
<xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise>
|
4189
|
+
</xsl:choose>
|
4190
|
+
<xsl:apply-templates/>
|
3839
4191
|
</xsl:template><xsl:template name="convertDate">
|
3840
4192
|
<xsl:param name="date"/>
|
3841
4193
|
<xsl:param name="format" select="'short'"/>
|
@@ -3900,4 +4252,107 @@
|
|
3900
4252
|
<xsl:when test="position() != last()"><xsl:value-of select="$charDelim"/></xsl:when>
|
3901
4253
|
<xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
|
3902
4254
|
</xsl:choose>
|
4255
|
+
</xsl:template><xsl:template name="addPDFUAmeta">
|
4256
|
+
<fo:declarations>
|
4257
|
+
<pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
|
4258
|
+
<pdf:dictionary type="normal" key="ViewerPreferences">
|
4259
|
+
<pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
|
4260
|
+
</pdf:dictionary>
|
4261
|
+
</pdf:catalog>
|
4262
|
+
<x:xmpmeta xmlns:x="adobe:ns:meta/">
|
4263
|
+
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
4264
|
+
<rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
|
4265
|
+
<!-- Dublin Core properties go here -->
|
4266
|
+
<dc:title>
|
4267
|
+
<xsl:variable name="title">
|
4268
|
+
|
4269
|
+
|
4270
|
+
|
4271
|
+
|
4272
|
+
<xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'title'][@type='main']"/>
|
4273
|
+
|
4274
|
+
</xsl:variable>
|
4275
|
+
<xsl:choose>
|
4276
|
+
<xsl:when test="normalize-space($title) != ''">
|
4277
|
+
<xsl:value-of select="$title"/>
|
4278
|
+
</xsl:when>
|
4279
|
+
<xsl:otherwise>
|
4280
|
+
<xsl:text> </xsl:text>
|
4281
|
+
</xsl:otherwise>
|
4282
|
+
</xsl:choose>
|
4283
|
+
</dc:title>
|
4284
|
+
<dc:creator>
|
4285
|
+
|
4286
|
+
<xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']/*[local-name() = 'organization']/*[local-name() = 'name']"/>
|
4287
|
+
|
4288
|
+
|
4289
|
+
</dc:creator>
|
4290
|
+
<dc:description>
|
4291
|
+
<xsl:variable name="abstract">
|
4292
|
+
|
4293
|
+
|
4294
|
+
|
4295
|
+
|
4296
|
+
<xsl:copy-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'abstract']//text()"/>
|
4297
|
+
|
4298
|
+
</xsl:variable>
|
4299
|
+
<xsl:value-of select="normalize-space($abstract)"/>
|
4300
|
+
</dc:description>
|
4301
|
+
<pdf:Keywords>
|
4302
|
+
<xsl:call-template name="insertKeywords"/>
|
4303
|
+
</pdf:Keywords>
|
4304
|
+
</rdf:Description>
|
4305
|
+
<rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
|
4306
|
+
<!-- XMP properties go here -->
|
4307
|
+
<xmp:CreatorTool/>
|
4308
|
+
</rdf:Description>
|
4309
|
+
</rdf:RDF>
|
4310
|
+
</x:xmpmeta>
|
4311
|
+
</fo:declarations>
|
4312
|
+
</xsl:template><xsl:template name="getId">
|
4313
|
+
<xsl:choose>
|
4314
|
+
<xsl:when test="../@id">
|
4315
|
+
<xsl:value-of select="../@id"/>
|
4316
|
+
</xsl:when>
|
4317
|
+
<xsl:otherwise>
|
4318
|
+
<!-- <xsl:value-of select="concat(local-name(..), '_', text())"/> -->
|
4319
|
+
<xsl:value-of select="concat(generate-id(..), '_', text())"/>
|
4320
|
+
</xsl:otherwise>
|
4321
|
+
</xsl:choose>
|
4322
|
+
</xsl:template><xsl:template name="getLevel">
|
4323
|
+
<xsl:variable name="level_total" select="count(ancestor::*)"/>
|
4324
|
+
<xsl:variable name="level">
|
4325
|
+
<xsl:choose>
|
4326
|
+
<xsl:when test="ancestor::*[local-name() = 'preface']">
|
4327
|
+
<xsl:value-of select="$level_total - 2"/>
|
4328
|
+
</xsl:when>
|
4329
|
+
<xsl:when test="ancestor::*[local-name() = 'sections']">
|
4330
|
+
<xsl:value-of select="$level_total - 2"/>
|
4331
|
+
</xsl:when>
|
4332
|
+
<xsl:when test="ancestor::*[local-name() = 'bibliography']">
|
4333
|
+
<xsl:value-of select="$level_total - 2"/>
|
4334
|
+
</xsl:when>
|
4335
|
+
<xsl:when test="local-name(ancestor::*[1]) = 'annex'">1</xsl:when>
|
4336
|
+
<xsl:otherwise>
|
4337
|
+
<xsl:value-of select="$level_total - 1"/>
|
4338
|
+
</xsl:otherwise>
|
4339
|
+
</xsl:choose>
|
4340
|
+
</xsl:variable>
|
4341
|
+
<xsl:value-of select="$level"/>
|
4342
|
+
</xsl:template><xsl:template name="getSubSection">
|
4343
|
+
<xsl:number format=".1" level="multiple" count="*[local-name() = 'clause']/*[local-name() = 'clause'] | *[local-name() = 'clause']/*[local-name() = 'terms'] | *[local-name() = 'terms']/*[local-name() = 'term'] | *[local-name() = 'clause']/*[local-name() = 'term'] | *[local-name() = 'terms']/*[local-name() = 'clause'] | *[local-name() = 'terms']/*[local-name() = 'definitions'] | *[local-name() = 'definitions']/*[local-name() = 'clause'] | *[local-name() = 'clause']/*[local-name() = 'definitions'] | *[local-name() = 'definitions']/*[local-name() = 'definitions'] | *[local-name() = 'clause']/*[local-name() = 'references']"/>
|
4344
|
+
</xsl:template><xsl:template name="split">
|
4345
|
+
<xsl:param name="pText" select="."/>
|
4346
|
+
<xsl:param name="sep" select="','"/>
|
4347
|
+
<xsl:if test="string-length($pText) >0">
|
4348
|
+
<item>
|
4349
|
+
<xsl:value-of select="normalize-space(substring-before(concat($pText, ','), $sep))"/>
|
4350
|
+
</item>
|
4351
|
+
<xsl:call-template name="split">
|
4352
|
+
<xsl:with-param name="pText" select="substring-after($pText, $sep)"/>
|
4353
|
+
<xsl:with-param name="sep" select="$sep"/>
|
4354
|
+
</xsl:call-template>
|
4355
|
+
</xsl:if>
|
4356
|
+
</xsl:template><xsl:template name="getDocumentId">
|
4357
|
+
<xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
|
3903
4358
|
</xsl:template></xsl:stylesheet>
|