metanorma-ietf 3.2.7 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6fd9451cbef06ef76da69248206d57d3f0ffebc2630a6555b13e427537ffbab7
4
- data.tar.gz: 31fc41666d0ef64880706985072479867b4939204eddd2e7a6b1e6d7807c91b7
3
+ metadata.gz: 109aa7a03b031de0e72dabfabbe34735c822ebf0156ce74f1f2803b2f808d358
4
+ data.tar.gz: 3cf266330db5a81e0ef4e2efd5aae8ffb68261fe47d3780396102c740cf28c66
5
5
  SHA512:
6
- metadata.gz: d0eea3484675fcbf5fc8f1d9e44fc0f285eb7f47aa1fab68d6df2aba8b6e387226e87228b33f26c8e8a7f43b92543f45b3d8496c73e62df78ab3831f374ea673
7
- data.tar.gz: 598547b40037d36f82c146f7283cb30b18b8518e98f353b44a70f15569cdb0b505e19933ae89a8564e7c20a35b10c2b667a1651e8bae8cd5b6b56968c146c697
6
+ metadata.gz: a0b0e91046d7f9019bbfe911a3e21afbb2f5c26789e1d4de286a8898125fc607e4cdaa4d563806db6bbcaae3b4438f506d6ef46fe8272a52aba0edaf7e78e951
7
+ data.tar.gz: cd39365adb5279a71cdcddb42ba33e9a68cc54d5d1ca346128694adb58fb013da87b6b9ddaab7312ebd74eeec2b6c7e0ca72f1fc2246c99c17a39713c9ab5bac
@@ -112,9 +112,8 @@ module IsoDoc
112
112
 
113
113
  def figure_data_uri(docxml)
114
114
  docxml.xpath("//artwork").each do |a|
115
- next unless %r{^data:image/svg\+xml;base64}.match?(a["src"])
116
-
117
- f = Metanorma::Utils::save_dataimage(a["src"])
115
+ %r{^data:image/svg\+xml;base64}.match?(a["src"]) or next
116
+ f = Vectory::Utils::save_dataimage(a["src"])
118
117
  a.delete("src")
119
118
  a.children = File.read(f).sub(%r{<\?.+\?>}, "")
120
119
  end
@@ -95,8 +95,89 @@
95
95
  <ref name="pagebreak"/>
96
96
  <ref name="hr"/>
97
97
  <ref name="bookmark"/>
98
+ <ref name="amend"/>
98
99
  </choice>
99
100
  </define>
101
+ <define name="amend">
102
+ <element name="amend">
103
+ <ref name="AmendType"/>
104
+ </element>
105
+ </define>
106
+ <define name="AmendType">
107
+ <optional>
108
+ <attribute name="id">
109
+ <data type="ID"/>
110
+ </attribute>
111
+ </optional>
112
+ <attribute name="change">
113
+ <choice>
114
+ <value>add</value>
115
+ <value>modify</value>
116
+ <value>delete</value>
117
+ <value>replace</value>
118
+ </choice>
119
+ </attribute>
120
+ <optional>
121
+ <attribute name="path"/>
122
+ </optional>
123
+ <optional>
124
+ <attribute name="path_end"/>
125
+ </optional>
126
+ <optional>
127
+ <attribute name="title"/>
128
+ </optional>
129
+ <optional>
130
+ <element name="location">
131
+ <zeroOrMore>
132
+ <choice>
133
+ <ref name="locality"/>
134
+ <ref name="localityStack"/>
135
+ </choice>
136
+ </zeroOrMore>
137
+ </element>
138
+ </optional>
139
+ <optional>
140
+ <element name="description">
141
+ <zeroOrMore>
142
+ <ref name="BasicBlock"/>
143
+ </zeroOrMore>
144
+ </element>
145
+ </optional>
146
+ <optional>
147
+ <element name="newcontent">
148
+ <optional>
149
+ <attribute name="id">
150
+ <data type="ID"/>
151
+ </attribute>
152
+ </optional>
153
+ <zeroOrMore>
154
+ <ref name="BasicBlock"/>
155
+ </zeroOrMore>
156
+ </element>
157
+ </optional>
158
+ <zeroOrMore>
159
+ <ref name="classification"/>
160
+ </zeroOrMore>
161
+ <zeroOrMore>
162
+ <ref name="contributor"/>
163
+ </zeroOrMore>
164
+ </define>
165
+ <define name="classification">
166
+ <element name="classification">
167
+ <ref name="classification_tag"/>
168
+ <ref name="classification_value"/>
169
+ </element>
170
+ </define>
171
+ <define name="classification_tag">
172
+ <element name="tag">
173
+ <text/>
174
+ </element>
175
+ </define>
176
+ <define name="classification_value">
177
+ <element name="value">
178
+ <text/>
179
+ </element>
180
+ </define>
100
181
  <define name="paragraph">
101
182
  <element name="p">
102
183
  <ref name="ParagraphType"/>
@@ -939,18 +1020,12 @@
939
1020
  </optional>
940
1021
  <optional>
941
1022
  <attribute name="width">
942
- <choice>
943
- <data type="int"/>
944
- <value>auto</value>
945
- </choice>
1023
+ <ref name="ImageSize"/>
946
1024
  </attribute>
947
1025
  </optional>
948
1026
  <optional>
949
1027
  <attribute name="height">
950
- <choice>
951
- <data type="int"/>
952
- <value>auto</value>
953
- </choice>
1028
+ <ref name="ImageSize"/>
954
1029
  </attribute>
955
1030
  </optional>
956
1031
  <optional>
@@ -965,6 +1040,14 @@
965
1040
  </attribute>
966
1041
  </optional>
967
1042
  </define>
1043
+ <define name="ImageSize">
1044
+ <choice>
1045
+ <data type="string">
1046
+ <param name="pattern">\d+([.]\d+)?(%?)</param>
1047
+ </data>
1048
+ <value>auto</value>
1049
+ </choice>
1050
+ </define>
968
1051
  <define name="video">
969
1052
  <element name="video">
970
1053
  <attribute name="id">
@@ -9,11 +9,42 @@
9
9
  -->
10
10
  <include href="biblio.rng">
11
11
  <define name="BibData">
12
- <ref name="BibliographicItem"/>
12
+ <ref name="StandardBibliographicItem"/>
13
13
  <optional>
14
14
  <ref name="ext"/>
15
15
  </optional>
16
16
  </define>
17
+ <define name="docrelation">
18
+ <element name="relation">
19
+ <attribute name="type">
20
+ <ref name="DocRelationType"/>
21
+ </attribute>
22
+ <optional>
23
+ <element name="description">
24
+ <ref name="FormattedString"/>
25
+ </element>
26
+ </optional>
27
+ <element name="bibitem">
28
+ <ref name="StandardReducedBibliographicItem"/>
29
+ </element>
30
+ <choice>
31
+ <zeroOrMore>
32
+ <ref name="locality"/>
33
+ </zeroOrMore>
34
+ <zeroOrMore>
35
+ <ref name="localityStack"/>
36
+ </zeroOrMore>
37
+ </choice>
38
+ <choice>
39
+ <zeroOrMore>
40
+ <ref name="sourceLocality"/>
41
+ </zeroOrMore>
42
+ <zeroOrMore>
43
+ <ref name="sourceLocalityStack"/>
44
+ </zeroOrMore>
45
+ </choice>
46
+ </element>
47
+ </define>
17
48
  </include>
18
49
  <define name="ext">
19
50
  <element name="ext">
@@ -161,4 +192,16 @@
161
192
  </optional>
162
193
  </element>
163
194
  </define>
195
+ <define name="StandardBibliographicItem">
196
+ <ref name="BibliographicItem"/>
197
+ <zeroOrMore>
198
+ <ref name="amend"/>
199
+ </zeroOrMore>
200
+ </define>
201
+ <define name="StandardReducedBibliographicItem">
202
+ <ref name="ReducedBibliographicItem"/>
203
+ <zeroOrMore>
204
+ <ref name="amend"/>
205
+ </zeroOrMore>
206
+ </define>
164
207
  </grammar>
@@ -241,6 +241,9 @@
241
241
  </element>
242
242
  </define>
243
243
  <define name="FullNameType">
244
+ <optional>
245
+ <ref name="name_abbreviation"/>
246
+ </optional>
244
247
  <choice>
245
248
  <group>
246
249
  <zeroOrMore>
@@ -266,6 +269,11 @@
266
269
  <ref name="variantname"/>
267
270
  </zeroOrMore>
268
271
  </define>
272
+ <define name="name_abbreviation">
273
+ <element name="abbreviation">
274
+ <ref name="LocalizedString"/>
275
+ </element>
276
+ </define>
269
277
  <define name="prefix">
270
278
  <element name="prefix">
271
279
  <ref name="LocalizedString"/>
@@ -870,6 +878,9 @@
870
878
  <optional>
871
879
  <ref name="validity"/>
872
880
  </optional>
881
+ <optional>
882
+ <ref name="depiction"/>
883
+ </optional>
873
884
  </define>
874
885
  <define name="btitle">
875
886
  <element name="title">
@@ -9,33 +9,9 @@ module Metanorma
9
9
  personal_author(node, xml)
10
10
  end
11
11
 
12
- =begin
13
- def metadata_publisher(node, xml)
14
- publishers = node.attr("publisher") || "IETF"
15
- csv_split(publishers)&.each do |p|
16
- xml.contributor do |c|
17
- c.role **{ type: "publisher" }
18
- c.organization { |a| organization(a, p, true) }
19
- end
20
- end
21
- end
22
-
23
- def metadata_copyright(node, xml)
24
- publishers = node.attr("copyright-holder") || node.attr("publisher") || "IETF"
25
- csv_split(publishers)&.each do |p|
26
- xml.copyright do |c|
27
- c.from (node.attr("copyright-year") || Date.today.year)
28
- c.owner do |owner|
29
- owner.organization { |o| organization(o, p, true) }
30
- end
31
- end
32
- end
12
+ def default_publisher
13
+ "IETF"
33
14
  end
34
- =end
35
-
36
- def default_publisher
37
- "IETF"
38
- end
39
15
 
40
16
  def org_abbrev
41
17
  { "Internet Engineering Task Force" => "IETF" }
@@ -47,10 +23,10 @@ end
47
23
  end
48
24
  a = node.attr("intended-series") and
49
25
  xml.series **{ type: "intended" } do |s|
50
- parts = a.split(/ /)
51
- s.title parts[0]
52
- s.number parts[1..-1].join(" ") if parts.size > 1
53
- end
26
+ parts = a.split(/ /)
27
+ s.title parts[0]
28
+ s.number parts[1..-1].join(" ") if parts.size > 1
29
+ end
54
30
  end
55
31
 
56
32
  def title(node, xml)
@@ -69,7 +45,7 @@ end
69
45
  end
70
46
 
71
47
  def metadata_committee(node, xml)
72
- return unless node.attr("workgroup")
48
+ node.attr("workgroup") or return
73
49
  xml.editorialgroup do |a|
74
50
  committee_component("workgroup", node, a)
75
51
  end
@@ -81,14 +57,14 @@ end
81
57
  xml.area a
82
58
  end
83
59
  xml.ipr (node.attr("ipr") || "trust200902")
84
- x = node.attr("consensus") and xml.consensus x
85
- x = node.attr("index-include") and xml.indexInclude x
60
+ x = node.attr("consensus") and xml.consensus (x != "false")
61
+ x = node.attr("index-include") and xml.indexInclude (x != "false")
86
62
  x = node.attr("ipr-extract") and xml.iprExtract x
87
- x = node.attr("sort-refs") and xml.sortRefs x
88
- x = node.attr("sym-refs") and xml.symRefs x
89
- x = node.attr("toc-include") and xml.tocInclude x
63
+ x = node.attr("sort-refs") and xml.sortRefs (x != "false")
64
+ x = node.attr("sym-refs") and xml.symRefs (x != "false")
65
+ x = node.attr("toc-include") and xml.tocInclude (x != "false")
90
66
  x = node.attr("toc-depth") and xml.tocDepth x
91
- x = node.attr("show-on-front-page") and xml.showOnFrontPage x
67
+ x = node.attr("show-on-front-page") and xml.showOnFrontPage (x != "false")
92
68
  xml.pi { |pi| set_pi(node, pi) }
93
69
  end
94
70
 
@@ -135,7 +111,7 @@ end
135
111
 
136
112
  def pi_code(rfc_pis, pi)
137
113
  rfc_pis.each_pair do |k, v|
138
- next if v.nil?
114
+ v.nil? and next
139
115
  pi.send k.to_s, v
140
116
  end
141
117
  end
@@ -17,10 +17,19 @@
17
17
  these elements; we just want one namespace for any child grammars
18
18
  of this.
19
19
  -->
20
- <!-- VERSION v1.2.9 -->
20
+ <!-- VERSION v1.2.12 -->
21
21
  <grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
22
22
  <include href="reqt.rng"/>
23
23
  <include href="basicdoc.rng">
24
+ <define name="amend">
25
+ <element name="amend">
26
+ <ref name="BlockAttributes"/>
27
+ <ref name="AmendType"/>
28
+ <zeroOrMore>
29
+ <ref name="autonumber"/>
30
+ </zeroOrMore>
31
+ </element>
32
+ </define>
24
33
  <define name="admonition">
25
34
  <element name="admonition">
26
35
  <attribute name="type">
@@ -2319,69 +2328,6 @@
2319
2328
  <ref name="CitationType"/>
2320
2329
  </element>
2321
2330
  </define>
2322
- <define name="amend">
2323
- <element name="amend">
2324
- <optional>
2325
- <attribute name="id">
2326
- <data type="ID"/>
2327
- </attribute>
2328
- </optional>
2329
- <attribute name="change">
2330
- <choice>
2331
- <value>add</value>
2332
- <value>modify</value>
2333
- <value>delete</value>
2334
- <value>replace</value>
2335
- </choice>
2336
- </attribute>
2337
- <optional>
2338
- <attribute name="path"/>
2339
- </optional>
2340
- <optional>
2341
- <attribute name="path_end"/>
2342
- </optional>
2343
- <optional>
2344
- <attribute name="title"/>
2345
- </optional>
2346
- <ref name="BlockAttributes"/>
2347
- <optional>
2348
- <element name="location">
2349
- <zeroOrMore>
2350
- <ref name="locality"/>
2351
- </zeroOrMore>
2352
- </element>
2353
- </optional>
2354
- <zeroOrMore>
2355
- <ref name="autonumber"/>
2356
- </zeroOrMore>
2357
- <optional>
2358
- <element name="description">
2359
- <zeroOrMore>
2360
- <ref name="BasicBlock"/>
2361
- </zeroOrMore>
2362
- </element>
2363
- </optional>
2364
- <optional>
2365
- <element name="newcontent">
2366
- <optional>
2367
- <attribute name="id">
2368
- <data type="ID"/>
2369
- </attribute>
2370
- </optional>
2371
- <zeroOrMore>
2372
- <ref name="BasicBlock"/>
2373
- </zeroOrMore>
2374
- </element>
2375
- </optional>
2376
- <optional>
2377
- <element name="description">
2378
- <zeroOrMore>
2379
- <ref name="BasicBlock"/>
2380
- </zeroOrMore>
2381
- </element>
2382
- </optional>
2383
- </element>
2384
- </define>
2385
2331
  <define name="autonumber">
2386
2332
  <element name="autonumber">
2387
2333
  <attribute name="type">
@@ -207,20 +207,4 @@
207
207
  <value>permission</value>
208
208
  </choice>
209
209
  </define>
210
- <define name="classification">
211
- <element name="classification">
212
- <ref name="classification_tag"/>
213
- <ref name="classification_value"/>
214
- </element>
215
- </define>
216
- <define name="classification_tag">
217
- <element name="tag">
218
- <text/>
219
- </element>
220
- </define>
221
- <define name="classification_value">
222
- <element name="value">
223
- <text/>
224
- </element>
225
- </define>
226
210
  </grammar>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Ietf
3
- VERSION = "3.2.7".freeze
3
+ VERSION = "3.3.0".freeze
4
4
  end
5
5
  end
@@ -1,5 +1,6 @@
1
1
  require "asciidoctor" unless defined? Asciidoctor::Converter
2
2
  require "metanorma"
3
+ require "vectory"
3
4
 
4
5
  require_relative "metanorma/ietf"
5
6
  require_relative "metanorma/ietf/converter"
@@ -37,8 +37,9 @@ Gem::Specification.new do |spec|
37
37
  spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
38
38
 
39
39
  spec.add_dependency "metanorma-ietf-data"
40
- spec.add_dependency "metanorma-standoc", "~> 2.7.0"
40
+ spec.add_dependency "metanorma-standoc", "~> 2.8.0"
41
41
  spec.add_dependency "relaton-render"
42
+ spec.add_dependency "vectory", "~> 0.6"
42
43
 
43
44
  spec.add_development_dependency "debug"
44
45
  spec.add_development_dependency "equivalent-xml", "~> 0.6"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-ietf
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.7
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-22 00:00:00.000000000 Z
11
+ date: 2024-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-ietf-data
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 2.7.0
33
+ version: 2.8.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 2.7.0
40
+ version: 2.8.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: relaton-render
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: vectory
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.6'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.6'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: debug
57
71
  requirement: !ruby/object:Gem::Requirement