metanorma-itu 1.0.18 → 1.1.0
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/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>
|