metanorma-itu 2.4.7 → 2.4.8

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.
@@ -122,6 +122,23 @@
122
122
  </oneOrMore>
123
123
  </choice>
124
124
  </define>
125
+ <define name="LocalizedMarkedUpString1">
126
+ <!-- multiple languages and scripts possible: comma delimit them if so -->
127
+ <ref name="LocalizedStringAttrs"/>
128
+ <oneOrMore>
129
+ <ref name="TextElement"/>
130
+ </oneOrMore>
131
+ </define>
132
+ <define name="LocalizedMarkedUpString">
133
+ <choice>
134
+ <ref name="LocalizedMarkedUpString1"/>
135
+ <oneOrMore>
136
+ <element name="variant">
137
+ <ref name="LocalizedMarkedUpString1"/>
138
+ </element>
139
+ </oneOrMore>
140
+ </choice>
141
+ </define>
125
142
  <!--
126
143
  Unlike UML, change type to format: type is overloaded
127
144
  Would be need if plain were default value and could omit the attribute
@@ -204,10 +221,7 @@
204
221
  </define>
205
222
  <define name="roledescription">
206
223
  <element name="description">
207
- <ref name="LocalizedStringAttrs"/>
208
- <oneOrMore>
209
- <ref name="TextElement"/>
210
- </oneOrMore>
224
+ <ref name="LocalizedMarkedUpString"/>
211
225
  </element>
212
226
  </define>
213
227
  <define name="person">
@@ -332,10 +346,7 @@
332
346
  </define>
333
347
  <define name="affiliationdescription">
334
348
  <element name="description">
335
- <ref name="LocalizedStringAttrs"/>
336
- <oneOrMore>
337
- <ref name="TextElement"/>
338
- </oneOrMore>
349
+ <ref name="LocalizedMarkedUpString"/>
339
350
  </element>
340
351
  </define>
341
352
  <define name="organization">
@@ -384,7 +395,7 @@
384
395
  </define>
385
396
  <define name="logo">
386
397
  <element name="logo">
387
- <ref name="image"/>
398
+ <ref name="image-no-id"/>
388
399
  </element>
389
400
  </define>
390
401
  <define name="depiction">
@@ -393,7 +404,7 @@
393
404
  <attribute name="scope"/>
394
405
  </optional>
395
406
  <zeroOrMore>
396
- <ref name="image"/>
407
+ <ref name="image-no-id"/>
397
408
  </zeroOrMore>
398
409
  </element>
399
410
  </define>
@@ -946,10 +957,7 @@
946
957
  <optional>
947
958
  <attribute name="type"/>
948
959
  </optional>
949
- <ref name="LocalizedStringAttrs"/>
950
- <zeroOrMore>
951
- <ref name="TextElement"/>
952
- </zeroOrMore>
960
+ <ref name="LocalizedMarkedUpString"/>
953
961
  </define>
954
962
  <!-- TitleType = ( "alternative" | "original" | "unofficial" | "subtitle" | "main" ) -->
955
963
  <define name="TypedUri">
@@ -1040,10 +1048,7 @@
1040
1048
  <data type="boolean"/>
1041
1049
  </attribute>
1042
1050
  </optional>
1043
- <ref name="LocalizedStringAttrs"/>
1044
- <oneOrMore>
1045
- <ref name="TextElement"/>
1046
- </oneOrMore>
1051
+ <ref name="LocalizedMarkedUpString"/>
1047
1052
  </element>
1048
1053
  </define>
1049
1054
  <define name="docnumber">
@@ -1268,10 +1273,7 @@
1268
1273
  <optional>
1269
1274
  <attribute name="type"/>
1270
1275
  </optional>
1271
- <ref name="LocalizedStringAttrs"/>
1272
- <oneOrMore>
1273
- <ref name="TextElement"/>
1274
- </oneOrMore>
1276
+ <ref name="LocalizedMarkedUpString"/>
1275
1277
  </element>
1276
1278
  </define>
1277
1279
  <define name="bibabstract">
@@ -1279,7 +1281,7 @@
1279
1281
  <ref name="LocalizedStringAttrs"/>
1280
1282
  <choice>
1281
1283
  <oneOrMore>
1282
- <ref name="BasicBlock"/>
1284
+ <ref name="BasicBlockNoId"/>
1283
1285
  </oneOrMore>
1284
1286
  <oneOrMore>
1285
1287
  <ref name="TextElement"/>
@@ -1389,10 +1391,7 @@
1389
1391
  </attribute>
1390
1392
  <optional>
1391
1393
  <element name="description">
1392
- <ref name="LocalizedStringAttrs"/>
1393
- <oneOrMore>
1394
- <ref name="TextElement"/>
1395
- </oneOrMore>
1394
+ <ref name="LocalizedMarkedUpString"/>
1396
1395
  </element>
1397
1396
  </optional>
1398
1397
  <element name="bibitem">
@@ -35,11 +35,9 @@ module Metanorma
35
35
  super
36
36
  end
37
37
 
38
- def doctype(node)
39
- ret = node.attr("doctype")&.gsub(/\s+/, "-")&.downcase ||
40
- "recommendation"
41
- ret = "recommendation" if ret == "article"
42
- ret
38
+ def init_misc(node)
39
+ super
40
+ @default_doctype = "recommendation"
43
41
  end
44
42
 
45
43
  def olist(node)
@@ -16,19 +16,18 @@ module Metanorma
16
16
  super + %w(complements)
17
17
  end
18
18
 
19
- def title_attr(type, lang = "en")
20
- { language: lang, format: "text/plain", type: type }
19
+ def insert_title(xml, type, lang, content)
20
+ attr = { language: lang, format: "text/plain", type: type }
21
+ xml.title **attr_code(attr) do |t|
22
+ t << Metanorma::Utils::asciidoc_sub(content)
23
+ end
21
24
  end
22
25
 
23
26
  def title_defaultlang(node, xml)
24
- a = node.attr("title") || node.attr("title-#{@lang}")
25
- xml.title **attr_code(title_attr("main", @lang)) do |t|
26
- t << (Metanorma::Utils::asciidoc_sub(a) || node.title)
27
- end
27
+ a = node.attr("title") || node.attr("title-#{@lang}") || node.title
28
+ insert_title(xml, "main", @lang, a)
28
29
  if a = node.attr("annextitle") || node.attr("annextitle-#{@lang}")
29
- xml.title **attr_code(title_attr("annex", @lang)) do |t|
30
- t << Metanorma::Utils::asciidoc_sub(a)
31
- end
30
+ insert_title(xml, "annex", @lang, a)
32
31
  end
33
32
  end
34
33
 
@@ -37,9 +36,7 @@ module Metanorma
37
36
  /^(?:annex)?title-(?<lang>.+)$/ =~ k or next
38
37
  lang == @lang and next
39
38
  type = /^annex/.match?(k) ? "annex" : "main"
40
- xml.title **attr_code(title_attr(type, lang)) do |t|
41
- t << Metanorma::Utils::asciidoc_sub(v)
42
- end
39
+ insert_title(xml, type, lang, v)
43
40
  end
44
41
  end
45
42
 
@@ -55,19 +52,14 @@ module Metanorma
55
52
 
56
53
  def other_title_defaultlang(node, xml, type)
57
54
  a = node.attr(type) || node.attr("#{type}-#{@lang}")
58
- xml.title **attr_code(title_attr(type.sub(/-title/, ""), @lang)) do |t|
59
- t << Metanorma::Utils::asciidoc_sub(a)
60
- end
55
+ insert_title(xml, type.sub(/-title/, ""), @lang, a)
61
56
  end
62
57
 
63
58
  def other_title_otherlangs(node, xml, type)
64
59
  node.attributes.each do |k, v|
65
60
  m = /^#{type}-(?<lang>.+)$/.match(k) or next
66
61
  m[:lang] == @lang and next
67
- xml.title **attr_code(title_attr(type.sub(/-title/, ""),
68
- m[:lang])) do |t|
69
- t << Metanorma::Utils::asciidoc_sub(v)
70
- end
62
+ insert_title(xml, type.sub(/-title/, ""), m[:lang], v)
71
63
  end
72
64
  end
73
65
 
@@ -78,9 +70,7 @@ module Metanorma
78
70
  def org_abbrev
79
71
  if @i18n.get["ITU"]
80
72
  { @i18n.international_telecommunication_union => @i18n.get["ITU"] }
81
- else
82
- {}
83
- end
73
+ else {} end
84
74
  end
85
75
 
86
76
  def metadata_committee(node, xml)
@@ -166,15 +156,15 @@ module Metanorma
166
156
  end
167
157
 
168
158
  def metadata_recommendationstatus(node, xml)
169
- node.attr("recommendation-from") or return
159
+ node.attr("recommendation-from") || node.attr("approval-process") or
160
+ return
170
161
  xml.recommendationstatus do |s|
171
- s.from node.attr("recommendation-from")
172
- s.to node.attr("recommendation-to") if node.attr("recommendation-to")
173
- if node.attr("approval-process")
174
- s.approvalstage **{ process: node.attr("approval-process") } do |a|
175
- a << node.attr("approval-status")
162
+ a = node.attr("recommendation-from") and s.from a
163
+ a = node.attr("recommendation-to") and s.to a
164
+ node.attr("approval-process") and
165
+ s.approvalstage **{ process: node.attr("approval-process") } do |x|
166
+ x << node.attr("approval-status")
176
167
  end
177
- end
178
168
  end
179
169
  end
180
170
 
@@ -197,6 +187,12 @@ module Metanorma
197
187
  end
198
188
  end
199
189
 
190
+ def metadata_contribution(node, xml)
191
+ %w(timing).each do |k|
192
+ a = node.attr(k) and xml.send k, a
193
+ end
194
+ end
195
+
200
196
  def metadata_meeting_date(val, xml)
201
197
  xml.meeting_date do |m|
202
198
  d = val.split("/")
@@ -237,6 +233,7 @@ module Metanorma
237
233
  metadata_recommendationstatus(node, xml)
238
234
  metadata_ip_notice(node, xml)
239
235
  metadata_techreport(node, xml)
236
+ metadata_contribution(node, xml)
240
237
  structured_id(node, xml)
241
238
  metadata_coverpage_images(node, xml)
242
239
  end