metanorma-itu 1.0.12 → 1.0.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/macos.yml +8 -7
- data/.github/workflows/ubuntu.yml +12 -9
- data/.github/workflows/windows.yml +8 -8
- data/lib/asciidoctor/itu/biblio.rng +142 -37
- data/lib/asciidoctor/itu/cleanup.rb +80 -71
- data/lib/asciidoctor/itu/converter.rb +7 -11
- data/lib/asciidoctor/itu/front.rb +47 -18
- data/lib/asciidoctor/itu/isodoc.rng +48 -2
- data/lib/asciidoctor/itu/validate.rb +1 -1
- data/lib/isodoc/itu/base_convert.rb +63 -14
- data/lib/isodoc/itu/html/_coverpage.scss +7 -3
- data/lib/isodoc/itu/html/header.html +8 -8
- data/lib/isodoc/itu/html/html_itu_titlepage.html +6 -7
- data/lib/isodoc/itu/html/htmlstyle.scss +17 -9
- data/lib/isodoc/itu/html/itu.scss +28 -1
- data/lib/isodoc/itu/html/scripts.html +14 -27
- data/lib/isodoc/itu/html/word_itu_intro.html +11 -1
- data/lib/isodoc/itu/html/word_itu_titlepage.html +3 -6
- data/lib/isodoc/itu/html/wordstyle.scss +6 -5
- data/lib/isodoc/itu/html_convert.rb +3 -3
- data/lib/isodoc/itu/i18n-en.yaml +2 -1
- data/lib/isodoc/itu/itu.recommendation-annex.xsl +3903 -0
- data/lib/isodoc/itu/itu.recommendation.xsl +3903 -0
- data/lib/isodoc/itu/itu.resolution.xsl +3903 -0
- data/lib/isodoc/itu/metadata.rb +16 -6
- data/lib/isodoc/itu/pdf_convert.rb +17 -44
- data/lib/isodoc/itu/ref.rb +48 -21
- data/lib/isodoc/itu/terms.rb +4 -5
- data/lib/isodoc/itu/word_convert.rb +7 -3
- data/lib/isodoc/itu/xref.rb +27 -16
- data/lib/metanorma/itu/processor.rb +8 -0
- data/lib/metanorma/itu/version.rb +1 -1
- data/metanorma-itu.gemspec +1 -1
- metadata +7 -5
- data/lib/isodoc/itu/html/scripts.pdf.html +0 -72
@@ -90,15 +90,6 @@ module Asciidoctor
|
|
90
90
|
end
|
91
91
|
end
|
92
92
|
|
93
|
-
def norm_ref_parse(attrs, xml, node)
|
94
|
-
@norm_ref = true
|
95
|
-
xml.references **attr_code(attrs) do |xml_section|
|
96
|
-
xml_section.title { |t| t << "References" }
|
97
|
-
xml_section << node.content
|
98
|
-
end
|
99
|
-
@norm_ref = false
|
100
|
-
end
|
101
|
-
|
102
93
|
def term_def_title(toplevel, node)
|
103
94
|
return node.title unless toplevel
|
104
95
|
"Definitions"
|
@@ -131,8 +122,6 @@ module Asciidoctor
|
|
131
122
|
div.next = "<p>#{@term_def_boilerplate}</p>"
|
132
123
|
end
|
133
124
|
|
134
|
-
NORM_REF = "//bibliography/references[title = 'References']".freeze
|
135
|
-
|
136
125
|
def load_yaml(lang, script)
|
137
126
|
y = if @i18nyaml then YAML.load_file(@i18nyaml)
|
138
127
|
elsif lang == "en"
|
@@ -148,6 +137,13 @@ module Asciidoctor
|
|
148
137
|
super
|
149
138
|
end
|
150
139
|
|
140
|
+
def metadata_keywords(node, xml)
|
141
|
+
return unless node.attr("keywords")
|
142
|
+
node.attr("keywords").split(/,[ ]*/).sort.each_with_index do |kw, i|
|
143
|
+
xml.keyword (i == 0 ? kw.capitalize : kw)
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
151
147
|
def html_extract_attributes(node)
|
152
148
|
super.merge(hierarchical_assets: node.attr("hierarchical-object-numbering"))
|
153
149
|
end
|
@@ -4,36 +4,63 @@ require "fileutils"
|
|
4
4
|
|
5
5
|
module Asciidoctor
|
6
6
|
module ITU
|
7
|
-
|
8
|
-
# A {Converter} implementation that generates RSD output, and a document
|
9
|
-
# schema encapsulation of the document for validation
|
10
|
-
#
|
11
7
|
class Converter < Standoc::Converter
|
12
8
|
def metadata_status(node, xml)
|
13
9
|
xml.status do |s|
|
14
10
|
s.stage (node.attributes.has_key?("draft") ? "draft" :
|
15
|
-
(node.attr("status") || node.attr("docstage") ||
|
11
|
+
(node.attr("status") || node.attr("docstage") ||
|
12
|
+
"published" ))
|
16
13
|
end
|
17
14
|
end
|
18
15
|
|
19
16
|
def title_english(node, xml)
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
17
|
+
at = { language: "en", format: "text/plain", type: "main" }
|
18
|
+
a = node.attr("title") || node.attr("title-en")
|
19
|
+
xml.title **attr_code(at) do |t|
|
20
|
+
t << (Asciidoctor::Standoc::Utils::asciidoc_sub(a) || node.title)
|
21
|
+
end
|
22
|
+
if a = node.attr("annextitle") || node.attr("annextitle-en")
|
23
|
+
at[:type] = "annex"
|
24
|
+
xml.title **attr_code(at) do |t|
|
25
|
+
t << Asciidoctor::Standoc::Utils::asciidoc_sub(a)
|
27
26
|
end
|
28
27
|
end
|
29
28
|
end
|
30
29
|
|
31
30
|
def title_otherlangs(node, xml)
|
32
31
|
node.attributes.each do |k, v|
|
33
|
-
next unless /^(annex)?title-(?<
|
34
|
-
next if
|
35
|
-
|
36
|
-
|
32
|
+
next unless /^(annex)?title-(?<lang>.+)$/ =~ k
|
33
|
+
next if lang == "en"
|
34
|
+
type = /^annex/.match(k) ? "annex" : "main"
|
35
|
+
xml.title **attr_code(language: lang, format: "text/plain",
|
36
|
+
type: type) do |t|
|
37
|
+
t << v
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def title(node, xml)
|
43
|
+
super
|
44
|
+
subtitle_english(node, xml)
|
45
|
+
subtitle_otherlangs(node, xml)
|
46
|
+
end
|
47
|
+
|
48
|
+
def subtitle_english(node, xml)
|
49
|
+
at = { language: "en", format: "text/plain", type: "subtitle" }
|
50
|
+
a = node.attr("subtitle") || node.attr("subtitle-en")
|
51
|
+
xml.title **attr_code(at) do |t|
|
52
|
+
t << Asciidoctor::Standoc::Utils::asciidoc_sub(a)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def subtitle_otherlangs(node, xml)
|
57
|
+
node.attributes.each do |k, v|
|
58
|
+
next unless /^subtitle-(?<lang>.+)$/ =~ k
|
59
|
+
next if lang == "en"
|
60
|
+
xml.title **attr_code(language: lang, format: "text/plain",
|
61
|
+
type: "subtitle") do |t|
|
62
|
+
t << v
|
63
|
+
end
|
37
64
|
end
|
38
65
|
end
|
39
66
|
|
@@ -89,11 +116,13 @@ module Asciidoctor
|
|
89
116
|
|
90
117
|
def metadata_committee2(node, g, suffix, prefix)
|
91
118
|
g.name node.attr("#{prefix}group#{suffix}")
|
92
|
-
|
119
|
+
node.attr("#{prefix}groupacronym#{suffix}") and
|
120
|
+
g.acronym node.attr("#{prefix}groupacronym#{suffix}")
|
93
121
|
if node.attr("#{prefix}groupyearstart#{suffix}")
|
94
122
|
g.period do |p|
|
95
123
|
p.start node.attr("#{prefix}groupyearstart#{suffix}")
|
96
|
-
|
124
|
+
node.attr("#{prefix}groupacronym#{suffix}") and
|
125
|
+
p.end node.attr("#{prefix}groupyearend#{suffix}")
|
97
126
|
end
|
98
127
|
end
|
99
128
|
end
|
@@ -53,6 +53,14 @@
|
|
53
53
|
<optional>
|
54
54
|
<attribute name="alt"/>
|
55
55
|
</optional>
|
56
|
+
<optional>
|
57
|
+
<attribute name="case">
|
58
|
+
<choice>
|
59
|
+
<value>capital</value>
|
60
|
+
<value>lowercase</value>
|
61
|
+
</choice>
|
62
|
+
</attribute>
|
63
|
+
</optional>
|
56
64
|
<text/>
|
57
65
|
</element>
|
58
66
|
</define>
|
@@ -129,6 +137,9 @@
|
|
129
137
|
</choice>
|
130
138
|
</attribute>
|
131
139
|
</optional>
|
140
|
+
<attribute name="normative">
|
141
|
+
<data type="boolean"/>
|
142
|
+
</attribute>
|
132
143
|
<optional>
|
133
144
|
<ref name="section-title"/>
|
134
145
|
</optional>
|
@@ -305,6 +316,21 @@
|
|
305
316
|
</define>
|
306
317
|
</include>
|
307
318
|
<!-- end overrides -->
|
319
|
+
<define name="TextElement" combine="choice">
|
320
|
+
<ref name="concept"/>
|
321
|
+
</define>
|
322
|
+
<define name="concept">
|
323
|
+
<element name="concept">
|
324
|
+
<optional>
|
325
|
+
<attribute name="term"/>
|
326
|
+
</optional>
|
327
|
+
<choice>
|
328
|
+
<ref name="eref"/>
|
329
|
+
<ref name="xref"/>
|
330
|
+
<ref name="termref"/>
|
331
|
+
</choice>
|
332
|
+
</element>
|
333
|
+
</define>
|
308
334
|
<define name="BasicBlock" combine="choice">
|
309
335
|
<choice>
|
310
336
|
<ref name="requirement"/>
|
@@ -884,7 +910,15 @@
|
|
884
910
|
<attribute name="id">
|
885
911
|
<data type="ID"/>
|
886
912
|
</attribute>
|
887
|
-
<
|
913
|
+
<oneOrMore>
|
914
|
+
<choice>
|
915
|
+
<ref name="paragraph"/>
|
916
|
+
<ref name="ul"/>
|
917
|
+
<ref name="ol"/>
|
918
|
+
<ref name="dl"/>
|
919
|
+
<ref name="formula"/>
|
920
|
+
</choice>
|
921
|
+
</oneOrMore>
|
888
922
|
</element>
|
889
923
|
</define>
|
890
924
|
<define name="termexample">
|
@@ -911,7 +945,10 @@
|
|
911
945
|
</define>
|
912
946
|
<define name="origin">
|
913
947
|
<element name="origin">
|
914
|
-
<
|
948
|
+
<choice>
|
949
|
+
<ref name="erefType"/>
|
950
|
+
<ref name="termref"/>
|
951
|
+
</choice>
|
915
952
|
</element>
|
916
953
|
</define>
|
917
954
|
<define name="modification">
|
@@ -919,6 +956,15 @@
|
|
919
956
|
<ref name="paragraph"/>
|
920
957
|
</element>
|
921
958
|
</define>
|
959
|
+
<define name="termref">
|
960
|
+
<element name="termref">
|
961
|
+
<attribute name="base"/>
|
962
|
+
<attribute name="target"/>
|
963
|
+
<optional>
|
964
|
+
<text/>
|
965
|
+
</optional>
|
966
|
+
</element>
|
967
|
+
</define>
|
922
968
|
<define name="structuredidentifier">
|
923
969
|
<element name="structuredidentifier">
|
924
970
|
<optional>
|
@@ -45,7 +45,7 @@ module Asciidoctor
|
|
45
45
|
def extract_text(node)
|
46
46
|
return "" if node.nil?
|
47
47
|
node1 = Nokogiri::XML.fragment(node.to_s)
|
48
|
-
node1.xpath("//link | //locality").each(&:remove)
|
48
|
+
node1.xpath("//link | //locality | //localityStack").each(&:remove)
|
49
49
|
ret = ""
|
50
50
|
node1.traverse { |x| ret += x.text if x.text? }
|
51
51
|
ret
|
@@ -37,13 +37,20 @@ module IsoDoc
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
+
def bracket_opt(b)
|
41
|
+
return b if b.nil?
|
42
|
+
return b if /^\[.+\]$/.match(b)
|
43
|
+
"[#{b}]"
|
44
|
+
end
|
45
|
+
|
40
46
|
def clausedelim
|
41
47
|
""
|
42
48
|
end
|
43
49
|
|
44
50
|
def note_label(node)
|
45
51
|
n = get_anchors[node["id"]]
|
46
|
-
|
52
|
+
(n.nil? || n[:label].nil? || n[:label].empty?) and
|
53
|
+
return "#{@note_lbl} – "
|
47
54
|
l10n("#{@note_lbl} #{n[:label]} – ")
|
48
55
|
end
|
49
56
|
|
@@ -64,7 +71,8 @@ module IsoDoc
|
|
64
71
|
end
|
65
72
|
|
66
73
|
def annex_name(annex, name, div)
|
67
|
-
|
74
|
+
r_a = @meta.get[:doctype_original] == "recommendation-annex"
|
75
|
+
div.h1 **{ class: r_a ? "RecommendationAnnex" : "Annex" } do |t|
|
68
76
|
t << "#{anchor(annex['id'], :label)} "
|
69
77
|
t.br
|
70
78
|
t.br
|
@@ -76,14 +84,28 @@ module IsoDoc
|
|
76
84
|
end
|
77
85
|
|
78
86
|
def annex_obligation_subtitle(annex, div)
|
79
|
-
type = annex&.document&.root&.at("//bibdata/ext/doctype")&.text ||
|
80
|
-
"recommendation"
|
81
|
-
type = type.split(" ").map {|w| w.capitalize }.join(" ")
|
82
87
|
info = annex["obligation"] == "informative"
|
83
88
|
div.p **{class: "annex_obligation" } do |p|
|
84
|
-
p << (info ? @inform_annex_lbl : @norm_annex_lbl).
|
89
|
+
p << (info ? @inform_annex_lbl : @norm_annex_lbl).
|
90
|
+
sub(/%/, @meta.get[:doctype] || "")
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
def annex(isoxml, out)
|
95
|
+
isoxml.xpath(ns("//annex")).each do |c|
|
96
|
+
@meta.get[:doctype_original] == "recommendation-annex" or
|
97
|
+
page_break(out)
|
98
|
+
out.div **attr_code(id: c["id"], class: "Section3") do |s|
|
99
|
+
annex_name(c, nil, s) unless c.at(ns("./title"))
|
100
|
+
c.elements.each do |c1|
|
101
|
+
if c1.name == "title" then annex_name(c, c1, s)
|
102
|
+
else
|
103
|
+
parse(c1, s)
|
104
|
+
end
|
105
|
+
end
|
85
106
|
end
|
86
107
|
end
|
108
|
+
end
|
87
109
|
|
88
110
|
def i18n_init(lang, script)
|
89
111
|
super
|
@@ -96,13 +118,24 @@ module IsoDoc
|
|
96
118
|
def cleanup(docxml)
|
97
119
|
super
|
98
120
|
term_cleanup(docxml)
|
121
|
+
refs_cleanup(docxml)
|
122
|
+
title_cleanup(docxml)
|
123
|
+
end
|
124
|
+
|
125
|
+
def title_cleanup(docxml)
|
126
|
+
docxml.xpath("//h1[@class = 'RecommendationAnnex']").each do |h|
|
127
|
+
h.name = "p"
|
128
|
+
h["class"] = "h1Annex"
|
129
|
+
end
|
130
|
+
docxml
|
99
131
|
end
|
100
132
|
|
101
133
|
def term_cleanup(docxml)
|
102
134
|
docxml.xpath("//p[@class = 'Terms']").each do |d|
|
103
135
|
h2 = d.at("./preceding-sibling::*[@class = 'TermNum'][1]")
|
104
|
-
h2.
|
105
|
-
h2
|
136
|
+
d.children.first.previous = "<b>#{h2.children.to_xml}</b> "
|
137
|
+
d["id"] = h2["id"]
|
138
|
+
h2.remove
|
106
139
|
end
|
107
140
|
docxml.xpath("//p[@class = 'TermNum']").each do |d|
|
108
141
|
d1 = d.next_element and d1.name == "p" or next
|
@@ -112,17 +145,31 @@ module IsoDoc
|
|
112
145
|
docxml
|
113
146
|
end
|
114
147
|
|
148
|
+
def refs_cleanup(docxml)
|
149
|
+
docxml.xpath("//tx[following-sibling::tx]").each do |tx|
|
150
|
+
tx << tx.next_element.remove.children
|
151
|
+
end
|
152
|
+
docxml.xpath("//tx").each do |tx|
|
153
|
+
tx.name = "td"
|
154
|
+
tx["colspan"] = "2"
|
155
|
+
tx.wrap("<tr></tr>")
|
156
|
+
end
|
157
|
+
docxml
|
158
|
+
end
|
159
|
+
|
115
160
|
def info(isoxml, out)
|
116
|
-
@meta.keywords isoxml, out
|
117
161
|
@meta.ip_notice_received isoxml, out
|
118
162
|
super
|
119
163
|
end
|
120
164
|
|
121
165
|
def get_eref_linkend(node)
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
166
|
+
l = anchor_linkend(node, docid_l10n(node["target"] || node["citeas"]))
|
167
|
+
l && !/^\[.*\]$/.match(l) and l = "[#{l}]"
|
168
|
+
l += eref_localities(node.xpath(ns("./locality | ./localityStack")), l)
|
169
|
+
contents = node.children.select do |c|
|
170
|
+
!%w{locality localityStack}.include? c.name
|
171
|
+
end
|
172
|
+
return l if contents.nil? || contents.empty?
|
126
173
|
Nokogiri::XML::NodeSet.new(node.document, contents).to_xml
|
127
174
|
end
|
128
175
|
|
@@ -139,9 +186,11 @@ module IsoDoc
|
|
139
186
|
|
140
187
|
def middle_title(out)
|
141
188
|
out.p(**{ class: "zzSTDTitle1" }) do |p|
|
142
|
-
id = @meta.get[:docnumber] and p << "
|
189
|
+
id = @meta.get[:docnumber] and p << "#{@meta.get[:doctype]} #{id}"
|
143
190
|
end
|
144
191
|
out.p(**{ class: "zzSTDTitle2" }) { |p| p << @meta.get[:doctitle] }
|
192
|
+
s = @meta.get[:docsubtitle] and
|
193
|
+
out.p(**{ class: "zzSTDTitle3" }) { |p| p << s }
|
145
194
|
end
|
146
195
|
|
147
196
|
def add_parse(node, out)
|
@@ -62,14 +62,18 @@
|
|
62
62
|
@include coverpageStageBlock();
|
63
63
|
}
|
64
64
|
|
65
|
-
span.doc-title {
|
65
|
+
span.doc-title, span.doc-annextitle {
|
66
66
|
font-size: 26px;
|
67
67
|
font-weight: 800;
|
68
68
|
margin-top: 20px;
|
69
|
-
border-top: 2px solid #DA1D52;
|
70
69
|
margin-right: 42px;
|
71
70
|
}
|
72
71
|
|
72
|
+
span.doc-title {
|
73
|
+
border-top: 2px solid #DA1D52;
|
74
|
+
}
|
75
|
+
|
76
|
+
|
73
77
|
.doc-footer {
|
74
78
|
margin-top: 100px;
|
75
79
|
|
@@ -107,7 +111,7 @@ span.doc-title {
|
|
107
111
|
padding: 0 3em 0 6em;
|
108
112
|
}
|
109
113
|
|
110
|
-
.zzSTDTitle1, .zzSTDTitle2, .MsoCommentText {
|
114
|
+
.zzSTDTitle1, .zzSTDTitle2, .zzSTDTitle3, .MsoCommentText {
|
111
115
|
display: none;
|
112
116
|
}
|
113
117
|
|
@@ -116,7 +116,7 @@ style='mso-element:field-separator'>
|
|
116
116
|
style='mso-ansi-language:FR-CH;font-weight:normal;mso-no-proof:yes'>ii</span><!--[if supportFields]><span
|
117
117
|
lang=EN-GB style='font-weight:normal'><span style='mso-element:field-end'></span></span><![endif]--><span
|
118
118
|
lang=FR-CH style='mso-ansi-language:FR-CH'><span style='mso-tab-count:1'> </span>Rec.
|
119
|
-
ITU‑{{ bureau }} {{
|
119
|
+
ITU‑{{ bureau }} {{ docnumeric }} ({{ pubdate_monthyear }})<o:p></o:p></span></p>
|
120
120
|
</div>
|
121
121
|
|
122
122
|
<div style='mso-element:footer' id=ef2l>
|
@@ -129,12 +129,12 @@ style='mso-element:field-separator'>
|
|
129
129
|
style='mso-ansi-language:FR-CH;font-weight:normal;mso-no-proof:yes'>ii</span><!--[if supportFields]><span
|
130
130
|
lang=EN-GB style='font-weight:normal'><span style='mso-element:field-end'></span></span><![endif]--><span
|
131
131
|
lang=FR-CH style='mso-ansi-language:FR-CH'><span style='mso-tab-count:1'> </span>Rec.
|
132
|
-
ITU‑{{ bureau }} {{
|
132
|
+
ITU‑{{ bureau }} {{ docnumeric }} ({{ pubdate_monthyear }})<o:p></o:p></span></p>
|
133
133
|
</div>
|
134
134
|
|
135
135
|
<div style='mso-element:footer' id=f2>
|
136
136
|
<p class=FooterQP style='line-height:12.0pt'><span lang=EN-GB><span style='mso-tab-count:2'> </span>Rec.
|
137
|
-
ITU‑{{ bureau }} {{
|
137
|
+
ITU‑{{ bureau }} {{docnumeric}} ({{ pubdate_monthyear }})<span style='mso-tab-count:1'> </span></span><!--[if supportFields]><span
|
138
138
|
lang=EN-GB style='font-weight:normal'><span style='mso-element:field-begin'></span>
|
139
139
|
PAGE<span style='mso-spacerun:yes'> </span>\* MERGEFORMAT <span
|
140
140
|
style='mso-element:field-separator'></span></span><![endif]--><span lang=EN-GB
|
@@ -145,7 +145,7 @@ lang=EN-GB style='font-weight:normal'>
|
|
145
145
|
|
146
146
|
<div style='mso-element:footer' id=f2l>
|
147
147
|
<p class=FooterQPLandscape style='line-height:12.0pt'><span lang=EN-GB><span style='mso-tab-count:2'> </span>Rec.
|
148
|
-
ITU‑{{ bureau }} {{
|
148
|
+
ITU‑{{ bureau }} {{docnumeric}} ({{ pubdate_monthyear }})<span style='mso-tab-count:1'> </span></span><!--[if supportFields]><span
|
149
149
|
lang=EN-GB style='font-weight:normal'><span style='mso-element:field-begin'></span>
|
150
150
|
PAGE<span style='mso-spacerun:yes'> </span>\* MERGEFORMAT <span
|
151
151
|
style='mso-element:field-separator'></span></span><![endif]--><span lang=EN-GB
|
@@ -164,7 +164,7 @@ style='mso-element:field-separator'>
|
|
164
164
|
style='mso-ansi-language:FR-CH;font-weight:normal;mso-no-proof:yes'>ii</span><!--[if supportFields]><span
|
165
165
|
lang=EN-GB style='font-weight:normal'><span style='mso-element:field-end'></span></span><![endif]--><span
|
166
166
|
lang=FR-CH style='mso-ansi-language:FR-CH'><span style='mso-tab-count:1'> </span>Rec.
|
167
|
-
ITU‑{{ bureau }} {{
|
167
|
+
ITU‑{{ bureau }} {{ docnumeric }} ({{ pubdate_monthyear }})<o:p></o:p></span></p>
|
168
168
|
</div>
|
169
169
|
|
170
170
|
<div style='mso-element:footer' id=ef3l>
|
@@ -177,12 +177,12 @@ style='mso-element:field-separator'>
|
|
177
177
|
style='mso-ansi-language:FR-CH;font-weight:normal;mso-no-proof:yes'>ii</span><!--[if supportFields]><span
|
178
178
|
lang=EN-GB style='font-weight:normal'><span style='mso-element:field-end'></span></span><![endif]--><span
|
179
179
|
lang=FR-CH style='mso-ansi-language:FR-CH'><span style='mso-tab-count:1'> </span>Rec.
|
180
|
-
ITU‑{{ bureau }} {{
|
180
|
+
ITU‑{{ bureau }} {{ docnumeric }} ({{ pubdate_monthyear }})<o:p></o:p></span></p>
|
181
181
|
</div>
|
182
182
|
|
183
183
|
<div style='mso-element:footer' id=f3>
|
184
184
|
<p class=FooterQP style='line-height:12.0pt'><span lang=EN-GB><span style='mso-tab-count:2'> </span>Rec.
|
185
|
-
ITU‑{{ bureau }} {{
|
185
|
+
ITU‑{{ bureau }} {{docnumeric}} ({{ pubdate_monthyear }})<span style='mso-tab-count:1'> </span></span><!--[if supportFields]><span
|
186
186
|
lang=EN-GB style='font-weight:normal'><span style='mso-element:field-begin'></span>
|
187
187
|
PAGE<span style='mso-spacerun:yes'> </span>\* MERGEFORMAT <span
|
188
188
|
style='mso-element:field-separator'></span></span><![endif]--><span lang=EN-GB
|
@@ -193,7 +193,7 @@ lang=EN-GB style='font-weight:normal'>
|
|
193
193
|
|
194
194
|
<div style='mso-element:footer' id=f3l>
|
195
195
|
<p class=FooterQPLandscape style='line-height:12.0pt'><span lang=EN-GB><span style='mso-tab-count:2'> </span>Rec.
|
196
|
-
ITU‑{{ bureau }} {{
|
196
|
+
ITU‑{{ bureau }} {{docnumeric}} ({{ pubdate_monthyear }})<span style='mso-tab-count:1'> </span></span><!--[if supportFields]><span
|
197
197
|
lang=EN-GB style='font-weight:normal'><span style='mso-element:field-begin'></span>
|
198
198
|
PAGE<span style='mso-spacerun:yes'> </span>\* MERGEFORMAT <span
|
199
199
|
style='mso-element:field-separator'></span></span><![endif]--><span lang=EN-GB
|