metanorma-ietf 2.0.11 → 2.1.2
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/.github/workflows/macos.yml +0 -1
- data/.github/workflows/ubuntu.yml +0 -1
- data/.github/workflows/windows.yml +0 -1
- data/Gemfile +1 -1
- data/lib/asciidoctor/ietf/biblio.rng +14 -4
- data/lib/asciidoctor/ietf/blocks.rb +7 -5
- data/lib/asciidoctor/ietf/converter.rb +3 -13
- data/lib/asciidoctor/ietf/ietf.rng +8 -2
- data/lib/asciidoctor/ietf/isodoc.rng +444 -1
- data/lib/asciidoctor/ietf/reqt.rng +23 -0
- data/lib/isodoc/ietf/blocks.rb +21 -10
- data/lib/isodoc/ietf/front.rb +13 -9
- data/lib/isodoc/ietf/inline.rb +6 -2
- data/lib/isodoc/ietf/metadata.rb +9 -17
- data/lib/isodoc/ietf/reqt.rb +5 -0
- data/lib/isodoc/ietf/rfc_convert.rb +8 -2
- data/lib/isodoc/ietf/section.rb +16 -1
- data/lib/isodoc/ietf/table.rb +2 -2
- data/lib/isodoc/ietf/terms.rb +0 -13
- data/lib/isodoc/ietf/xref.rb +20 -0
- data/lib/metanorma/ietf/processor.rb +16 -13
- data/lib/metanorma/ietf/version.rb +1 -1
- data/metanorma-ietf.gemspec +2 -2
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e9d92d766e6d9479c0dc5a90ad2cfcdb1dd79cd6e548fd78e623df2ec6d8cf86
|
4
|
+
data.tar.gz: 67f5bdc9e04cf52c9288496b4ae4239b9f48a23e5a96007728dc4be1515c01ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1d9e9d63636308c52fa65e46eb1dc6748c6acb3135eb5da3d650ce57f1b123747488661f326d44437265704cdb6ddedf04bc3a4230ee4c1cb6fbe4861b83fb5f
|
7
|
+
data.tar.gz: ee42bbb010c200541e0bbd95a89d308328b1a62762ca3bfffac36ce8b93e0c956473add3b65ce260a89b030c48e7fd951dba4e79570266709b58bb5d91f94474
|
data/.github/workflows/macos.yml
CHANGED
data/Gemfile
CHANGED
@@ -532,7 +532,7 @@
|
|
532
532
|
</define>
|
533
533
|
<define name="LocalityType">
|
534
534
|
<data type="string">
|
535
|
-
<param name="pattern">section|clause|part|paragraph|chapter|page|whole|table|annex|figure|note|list|example|volume|issue|time|locality:[a-zA-Z0-9_]+</param>
|
535
|
+
<param name="pattern">section|clause|part|paragraph|chapter|page|whole|table|annex|figure|note|list|example|volume|issue|time|anchor|locality:[a-zA-Z0-9_]+</param>
|
536
536
|
</data>
|
537
537
|
</define>
|
538
538
|
<define name="referenceFrom">
|
@@ -661,9 +661,9 @@
|
|
661
661
|
<optional>
|
662
662
|
<ref name="status"/>
|
663
663
|
</optional>
|
664
|
-
<
|
664
|
+
<zeroOrMore>
|
665
665
|
<ref name="copyright"/>
|
666
|
-
</
|
666
|
+
</zeroOrMore>
|
667
667
|
<zeroOrMore>
|
668
668
|
<ref name="docrelation"/>
|
669
669
|
</zeroOrMore>
|
@@ -1021,7 +1021,17 @@
|
|
1021
1021
|
<optional>
|
1022
1022
|
<ref name="to"/>
|
1023
1023
|
</optional>
|
1024
|
-
<
|
1024
|
+
<oneOrMore>
|
1025
|
+
<ref name="owner"/>
|
1026
|
+
</oneOrMore>
|
1027
|
+
<optional>
|
1028
|
+
<ref name="copyright_scope"/>
|
1029
|
+
</optional>
|
1030
|
+
</element>
|
1031
|
+
</define>
|
1032
|
+
<define name="copyright_scope">
|
1033
|
+
<element name="scope">
|
1034
|
+
<text/>
|
1025
1035
|
</element>
|
1026
1036
|
</define>
|
1027
1037
|
<define name="from">
|
@@ -2,18 +2,20 @@ module Asciidoctor
|
|
2
2
|
module Ietf
|
3
3
|
class Converter < ::Asciidoctor::Standoc::Converter
|
4
4
|
def para_attrs(node)
|
5
|
-
attr_code(
|
6
|
-
|
5
|
+
attr_code( "keep-with-next": node.attr("keepWithNext") ||
|
6
|
+
node.attr("keep-with-next"),
|
7
|
+
"keep-with-previous": node.attr("keepWithPrevious") ||
|
8
|
+
node.attr("keep-with-previous"),
|
7
9
|
id: ::Asciidoctor::Standoc::Utils::anchor_or_uuid(node))
|
8
10
|
end
|
9
11
|
|
10
|
-
def
|
12
|
+
def ul_attrs(node)
|
11
13
|
attr_code(id: ::Asciidoctor::Standoc::Utils::anchor_or_uuid(node),
|
12
14
|
nobullet: node.attr("nobullet"),
|
13
15
|
spacing: node.attr("spacing"))
|
14
16
|
end
|
15
17
|
|
16
|
-
def
|
18
|
+
def ol_attrs(node)
|
17
19
|
attr_code(id: ::Asciidoctor::Standoc::Utils::anchor_or_uuid(node),
|
18
20
|
type: node.attr("format") || olist_style(node.style),
|
19
21
|
group: node.attr("group"),
|
@@ -21,7 +23,7 @@ module Asciidoctor
|
|
21
23
|
start: node.attr("start"))
|
22
24
|
end
|
23
25
|
|
24
|
-
def
|
26
|
+
def dl_attrs(node)
|
25
27
|
attr_code(id: ::Asciidoctor::Standoc::Utils::anchor_or_uuid(node),
|
26
28
|
newline: node.attr("newline"),
|
27
29
|
indent: node.attr("indent"),
|
@@ -26,19 +26,9 @@ module Asciidoctor
|
|
26
26
|
super
|
27
27
|
end
|
28
28
|
|
29
|
-
def
|
30
|
-
|
31
|
-
|
32
|
-
ret = ret1.to_xml(indent: 2)
|
33
|
-
unless node.attr("nodoc") || !node.attr("docfile")
|
34
|
-
filename = node.attr("docfile").gsub(/\.adoc/, ".xml").
|
35
|
-
gsub(%r{^.*/}, "")
|
36
|
-
File.open(filename, "w") { |f| f.write(ret) }
|
37
|
-
rfc_converter(node).convert filename unless node.attr("nodoc")
|
38
|
-
end
|
39
|
-
@log.write(@localdir + @filename + ".err") unless @novalid
|
40
|
-
@files_to_delete.each { |f| FileUtils.rm f }
|
41
|
-
ret
|
29
|
+
def outputs(node, ret)
|
30
|
+
File.open(@filename + ".xml", "w:UTF-8") { |f| f.write(ret) }
|
31
|
+
rfc_converter(node).convert(@filename + ".xml")
|
42
32
|
end
|
43
33
|
|
44
34
|
def doctype(node)
|
@@ -69,12 +69,12 @@
|
|
69
69
|
</attribute>
|
70
70
|
</optional>
|
71
71
|
<optional>
|
72
|
-
<attribute name="
|
72
|
+
<attribute name="keep-with-next">
|
73
73
|
<data type="boolean"/>
|
74
74
|
</attribute>
|
75
75
|
</optional>
|
76
76
|
<optional>
|
77
|
-
<attribute name="
|
77
|
+
<attribute name="keep-with-previous">
|
78
78
|
<data type="boolean"/>
|
79
79
|
</attribute>
|
80
80
|
</optional>
|
@@ -297,6 +297,9 @@
|
|
297
297
|
<data type="boolean"/>
|
298
298
|
</attribute>
|
299
299
|
</optional>
|
300
|
+
<optional>
|
301
|
+
<attribute name="number"/>
|
302
|
+
</optional>
|
300
303
|
<optional>
|
301
304
|
<attribute name="subsequence"/>
|
302
305
|
</optional>
|
@@ -379,6 +382,9 @@
|
|
379
382
|
<data type="boolean"/>
|
380
383
|
</attribute>
|
381
384
|
</optional>
|
385
|
+
<optional>
|
386
|
+
<attribute name="number"/>
|
387
|
+
</optional>
|
382
388
|
<optional>
|
383
389
|
<attribute name="subsequence"/>
|
384
390
|
</optional>
|
@@ -53,9 +53,96 @@
|
|
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>
|
67
|
+
<define name="ul">
|
68
|
+
<element name="ul">
|
69
|
+
<attribute name="id">
|
70
|
+
<data type="ID"/>
|
71
|
+
</attribute>
|
72
|
+
<optional>
|
73
|
+
<attribute name="keep-with-next">
|
74
|
+
<data type="boolean"/>
|
75
|
+
</attribute>
|
76
|
+
</optional>
|
77
|
+
<optional>
|
78
|
+
<attribute name="keep-lines-together">
|
79
|
+
<data type="boolean"/>
|
80
|
+
</attribute>
|
81
|
+
</optional>
|
82
|
+
<oneOrMore>
|
83
|
+
<ref name="li"/>
|
84
|
+
</oneOrMore>
|
85
|
+
<zeroOrMore>
|
86
|
+
<ref name="note"/>
|
87
|
+
</zeroOrMore>
|
88
|
+
</element>
|
89
|
+
</define>
|
90
|
+
<define name="ol">
|
91
|
+
<element name="ol">
|
92
|
+
<attribute name="id">
|
93
|
+
<data type="ID"/>
|
94
|
+
</attribute>
|
95
|
+
<optional>
|
96
|
+
<attribute name="keep-with-next">
|
97
|
+
<data type="boolean"/>
|
98
|
+
</attribute>
|
99
|
+
</optional>
|
100
|
+
<optional>
|
101
|
+
<attribute name="keep-lines-together">
|
102
|
+
<data type="boolean"/>
|
103
|
+
</attribute>
|
104
|
+
</optional>
|
105
|
+
<attribute name="type">
|
106
|
+
<choice>
|
107
|
+
<value>roman</value>
|
108
|
+
<value>alphabet</value>
|
109
|
+
<value>arabic</value>
|
110
|
+
<value>roman_upper</value>
|
111
|
+
<value>alphabet_upper</value>
|
112
|
+
</choice>
|
113
|
+
</attribute>
|
114
|
+
<oneOrMore>
|
115
|
+
<ref name="li"/>
|
116
|
+
</oneOrMore>
|
117
|
+
<zeroOrMore>
|
118
|
+
<ref name="note"/>
|
119
|
+
</zeroOrMore>
|
120
|
+
</element>
|
121
|
+
</define>
|
122
|
+
<define name="dl">
|
123
|
+
<element name="dl">
|
124
|
+
<attribute name="id">
|
125
|
+
<data type="ID"/>
|
126
|
+
</attribute>
|
127
|
+
<optional>
|
128
|
+
<attribute name="keep-with-next">
|
129
|
+
<data type="boolean"/>
|
130
|
+
</attribute>
|
131
|
+
</optional>
|
132
|
+
<optional>
|
133
|
+
<attribute name="keep-lines-together">
|
134
|
+
<data type="boolean"/>
|
135
|
+
</attribute>
|
136
|
+
</optional>
|
137
|
+
<oneOrMore>
|
138
|
+
<ref name="dt"/>
|
139
|
+
<ref name="dd"/>
|
140
|
+
</oneOrMore>
|
141
|
+
<zeroOrMore>
|
142
|
+
<ref name="note"/>
|
143
|
+
</zeroOrMore>
|
144
|
+
</element>
|
145
|
+
</define>
|
59
146
|
<define name="example">
|
60
147
|
<element name="example">
|
61
148
|
<attribute name="id">
|
@@ -69,6 +156,19 @@
|
|
69
156
|
<optional>
|
70
157
|
<attribute name="subsequence"/>
|
71
158
|
</optional>
|
159
|
+
<optional>
|
160
|
+
<attribute name="number"/>
|
161
|
+
</optional>
|
162
|
+
<optional>
|
163
|
+
<attribute name="keep-with-next">
|
164
|
+
<data type="boolean"/>
|
165
|
+
</attribute>
|
166
|
+
</optional>
|
167
|
+
<optional>
|
168
|
+
<attribute name="keep-lines-together">
|
169
|
+
<data type="boolean"/>
|
170
|
+
</attribute>
|
171
|
+
</optional>
|
72
172
|
<optional>
|
73
173
|
<ref name="tname"/>
|
74
174
|
</optional>
|
@@ -89,6 +189,296 @@
|
|
89
189
|
</zeroOrMore>
|
90
190
|
</element>
|
91
191
|
</define>
|
192
|
+
<define name="table">
|
193
|
+
<element name="table">
|
194
|
+
<attribute name="id">
|
195
|
+
<data type="ID"/>
|
196
|
+
</attribute>
|
197
|
+
<optional>
|
198
|
+
<attribute name="unnumbered">
|
199
|
+
<data type="boolean"/>
|
200
|
+
</attribute>
|
201
|
+
</optional>
|
202
|
+
<optional>
|
203
|
+
<attribute name="number"/>
|
204
|
+
</optional>
|
205
|
+
<optional>
|
206
|
+
<attribute name="subsequence"/>
|
207
|
+
</optional>
|
208
|
+
<optional>
|
209
|
+
<attribute name="alt"/>
|
210
|
+
</optional>
|
211
|
+
<optional>
|
212
|
+
<attribute name="summary"/>
|
213
|
+
</optional>
|
214
|
+
<optional>
|
215
|
+
<attribute name="uri">
|
216
|
+
<data type="anyURI"/>
|
217
|
+
</attribute>
|
218
|
+
</optional>
|
219
|
+
<optional>
|
220
|
+
<attribute name="keep-with-next">
|
221
|
+
<data type="boolean"/>
|
222
|
+
</attribute>
|
223
|
+
</optional>
|
224
|
+
<optional>
|
225
|
+
<attribute name="keep-lines-together">
|
226
|
+
<data type="boolean"/>
|
227
|
+
</attribute>
|
228
|
+
</optional>
|
229
|
+
<optional>
|
230
|
+
<ref name="tname"/>
|
231
|
+
</optional>
|
232
|
+
<optional>
|
233
|
+
<ref name="thead"/>
|
234
|
+
</optional>
|
235
|
+
<ref name="tbody"/>
|
236
|
+
<optional>
|
237
|
+
<ref name="tfoot"/>
|
238
|
+
</optional>
|
239
|
+
<zeroOrMore>
|
240
|
+
<ref name="table-note"/>
|
241
|
+
</zeroOrMore>
|
242
|
+
<optional>
|
243
|
+
<ref name="dl"/>
|
244
|
+
</optional>
|
245
|
+
</element>
|
246
|
+
</define>
|
247
|
+
<define name="figure">
|
248
|
+
<element name="figure">
|
249
|
+
<attribute name="id">
|
250
|
+
<data type="ID"/>
|
251
|
+
</attribute>
|
252
|
+
<optional>
|
253
|
+
<attribute name="unnumbered">
|
254
|
+
<data type="boolean"/>
|
255
|
+
</attribute>
|
256
|
+
</optional>
|
257
|
+
<optional>
|
258
|
+
<attribute name="number"/>
|
259
|
+
</optional>
|
260
|
+
<optional>
|
261
|
+
<attribute name="subsequence"/>
|
262
|
+
</optional>
|
263
|
+
<optional>
|
264
|
+
<attribute name="keep-with-next">
|
265
|
+
<data type="boolean"/>
|
266
|
+
</attribute>
|
267
|
+
</optional>
|
268
|
+
<optional>
|
269
|
+
<attribute name="keep-lines-together">
|
270
|
+
<data type="boolean"/>
|
271
|
+
</attribute>
|
272
|
+
</optional>
|
273
|
+
<optional>
|
274
|
+
<attribute name="class"/>
|
275
|
+
</optional>
|
276
|
+
<optional>
|
277
|
+
<ref name="source"/>
|
278
|
+
</optional>
|
279
|
+
<optional>
|
280
|
+
<ref name="tname"/>
|
281
|
+
</optional>
|
282
|
+
<choice>
|
283
|
+
<ref name="image"/>
|
284
|
+
<ref name="video"/>
|
285
|
+
<ref name="audio"/>
|
286
|
+
<ref name="pre"/>
|
287
|
+
<oneOrMore>
|
288
|
+
<ref name="paragraph-with-footnote"/>
|
289
|
+
</oneOrMore>
|
290
|
+
<zeroOrMore>
|
291
|
+
<ref name="figure"/>
|
292
|
+
</zeroOrMore>
|
293
|
+
</choice>
|
294
|
+
<zeroOrMore>
|
295
|
+
<ref name="fn"/>
|
296
|
+
</zeroOrMore>
|
297
|
+
<optional>
|
298
|
+
<ref name="dl"/>
|
299
|
+
</optional>
|
300
|
+
<zeroOrMore>
|
301
|
+
<ref name="note"/>
|
302
|
+
</zeroOrMore>
|
303
|
+
</element>
|
304
|
+
</define>
|
305
|
+
<define name="sourcecode">
|
306
|
+
<element name="sourcecode">
|
307
|
+
<attribute name="id">
|
308
|
+
<data type="ID"/>
|
309
|
+
</attribute>
|
310
|
+
<optional>
|
311
|
+
<attribute name="unnumbered">
|
312
|
+
<data type="boolean"/>
|
313
|
+
</attribute>
|
314
|
+
</optional>
|
315
|
+
<optional>
|
316
|
+
<attribute name="number"/>
|
317
|
+
</optional>
|
318
|
+
<optional>
|
319
|
+
<attribute name="subsequence"/>
|
320
|
+
</optional>
|
321
|
+
<optional>
|
322
|
+
<attribute name="keep-with-next">
|
323
|
+
<data type="boolean"/>
|
324
|
+
</attribute>
|
325
|
+
</optional>
|
326
|
+
<optional>
|
327
|
+
<attribute name="keep-lines-together">
|
328
|
+
<data type="boolean"/>
|
329
|
+
</attribute>
|
330
|
+
</optional>
|
331
|
+
<optional>
|
332
|
+
<attribute name="lang"/>
|
333
|
+
</optional>
|
334
|
+
<optional>
|
335
|
+
<ref name="tname"/>
|
336
|
+
</optional>
|
337
|
+
<oneOrMore>
|
338
|
+
<choice>
|
339
|
+
<text/>
|
340
|
+
<ref name="callout"/>
|
341
|
+
</choice>
|
342
|
+
</oneOrMore>
|
343
|
+
<zeroOrMore>
|
344
|
+
<ref name="annotation"/>
|
345
|
+
</zeroOrMore>
|
346
|
+
<zeroOrMore>
|
347
|
+
<ref name="note"/>
|
348
|
+
</zeroOrMore>
|
349
|
+
</element>
|
350
|
+
</define>
|
351
|
+
<define name="formula">
|
352
|
+
<element name="formula">
|
353
|
+
<attribute name="id">
|
354
|
+
<data type="ID"/>
|
355
|
+
</attribute>
|
356
|
+
<optional>
|
357
|
+
<attribute name="unnumbered">
|
358
|
+
<data type="boolean"/>
|
359
|
+
</attribute>
|
360
|
+
</optional>
|
361
|
+
<optional>
|
362
|
+
<attribute name="number"/>
|
363
|
+
</optional>
|
364
|
+
<optional>
|
365
|
+
<attribute name="subsequence"/>
|
366
|
+
</optional>
|
367
|
+
<optional>
|
368
|
+
<attribute name="keep-with-next">
|
369
|
+
<data type="boolean"/>
|
370
|
+
</attribute>
|
371
|
+
</optional>
|
372
|
+
<optional>
|
373
|
+
<attribute name="keep-lines-together">
|
374
|
+
<data type="boolean"/>
|
375
|
+
</attribute>
|
376
|
+
</optional>
|
377
|
+
<optional>
|
378
|
+
<attribute name="inequality">
|
379
|
+
<data type="boolean"/>
|
380
|
+
</attribute>
|
381
|
+
</optional>
|
382
|
+
<ref name="stem"/>
|
383
|
+
<optional>
|
384
|
+
<ref name="dl"/>
|
385
|
+
</optional>
|
386
|
+
<zeroOrMore>
|
387
|
+
<ref name="note"/>
|
388
|
+
</zeroOrMore>
|
389
|
+
</element>
|
390
|
+
</define>
|
391
|
+
<define name="ParagraphType">
|
392
|
+
<attribute name="id">
|
393
|
+
<data type="ID"/>
|
394
|
+
</attribute>
|
395
|
+
<optional>
|
396
|
+
<attribute name="align">
|
397
|
+
<ref name="Alignments"/>
|
398
|
+
</attribute>
|
399
|
+
</optional>
|
400
|
+
<optional>
|
401
|
+
<attribute name="keep-with-next">
|
402
|
+
<data type="boolean"/>
|
403
|
+
</attribute>
|
404
|
+
</optional>
|
405
|
+
<optional>
|
406
|
+
<attribute name="keep-lines-together">
|
407
|
+
<data type="boolean"/>
|
408
|
+
</attribute>
|
409
|
+
</optional>
|
410
|
+
<zeroOrMore>
|
411
|
+
<ref name="TextElement"/>
|
412
|
+
</zeroOrMore>
|
413
|
+
<zeroOrMore>
|
414
|
+
<ref name="note"/>
|
415
|
+
</zeroOrMore>
|
416
|
+
</define>
|
417
|
+
<define name="paragraph-with-footnote">
|
418
|
+
<element name="p">
|
419
|
+
<attribute name="id">
|
420
|
+
<data type="ID"/>
|
421
|
+
</attribute>
|
422
|
+
<optional>
|
423
|
+
<attribute name="align">
|
424
|
+
<ref name="Alignments"/>
|
425
|
+
</attribute>
|
426
|
+
</optional>
|
427
|
+
<optional>
|
428
|
+
<attribute name="keep-with-next">
|
429
|
+
<data type="boolean"/>
|
430
|
+
</attribute>
|
431
|
+
</optional>
|
432
|
+
<optional>
|
433
|
+
<attribute name="keep-lines-together">
|
434
|
+
<data type="boolean"/>
|
435
|
+
</attribute>
|
436
|
+
</optional>
|
437
|
+
<zeroOrMore>
|
438
|
+
<choice>
|
439
|
+
<ref name="TextElement"/>
|
440
|
+
<ref name="fn"/>
|
441
|
+
</choice>
|
442
|
+
</zeroOrMore>
|
443
|
+
<zeroOrMore>
|
444
|
+
<ref name="note"/>
|
445
|
+
</zeroOrMore>
|
446
|
+
</element>
|
447
|
+
</define>
|
448
|
+
<define name="quote">
|
449
|
+
<element name="quote">
|
450
|
+
<attribute name="id">
|
451
|
+
<data type="ID"/>
|
452
|
+
</attribute>
|
453
|
+
<optional>
|
454
|
+
<attribute name="alignment">
|
455
|
+
<ref name="Alignments"/>
|
456
|
+
</attribute>
|
457
|
+
</optional>
|
458
|
+
<optional>
|
459
|
+
<attribute name="keep-with-next">
|
460
|
+
<data type="boolean"/>
|
461
|
+
</attribute>
|
462
|
+
</optional>
|
463
|
+
<optional>
|
464
|
+
<attribute name="keep-lines-together">
|
465
|
+
<data type="boolean"/>
|
466
|
+
</attribute>
|
467
|
+
</optional>
|
468
|
+
<optional>
|
469
|
+
<ref name="quote-source"/>
|
470
|
+
</optional>
|
471
|
+
<optional>
|
472
|
+
<ref name="quote-author"/>
|
473
|
+
</optional>
|
474
|
+
<oneOrMore>
|
475
|
+
<ref name="paragraph-with-footnote"/>
|
476
|
+
</oneOrMore>
|
477
|
+
<zeroOrMore>
|
478
|
+
<ref name="note"/>
|
479
|
+
</zeroOrMore>
|
480
|
+
</element>
|
481
|
+
</define>
|
92
482
|
<define name="BibDataExtensionType">
|
93
483
|
<ref name="doctype"/>
|
94
484
|
<optional>
|
@@ -157,6 +547,30 @@
|
|
157
547
|
<attribute name="id">
|
158
548
|
<data type="ID"/>
|
159
549
|
</attribute>
|
550
|
+
<optional>
|
551
|
+
<attribute name="unnumbered">
|
552
|
+
<data type="boolean"/>
|
553
|
+
</attribute>
|
554
|
+
</optional>
|
555
|
+
<optional>
|
556
|
+
<attribute name="number"/>
|
557
|
+
</optional>
|
558
|
+
<optional>
|
559
|
+
<attribute name="subsequence"/>
|
560
|
+
</optional>
|
561
|
+
<optional>
|
562
|
+
<attribute name="keep-with-next">
|
563
|
+
<data type="boolean"/>
|
564
|
+
</attribute>
|
565
|
+
</optional>
|
566
|
+
<optional>
|
567
|
+
<attribute name="keep-lines-together">
|
568
|
+
<data type="boolean"/>
|
569
|
+
</attribute>
|
570
|
+
</optional>
|
571
|
+
<optional>
|
572
|
+
<attribute name="type"/>
|
573
|
+
</optional>
|
160
574
|
<oneOrMore>
|
161
575
|
<choice>
|
162
576
|
<ref name="paragraph"/>
|
@@ -902,7 +1316,36 @@
|
|
902
1316
|
<attribute name="id">
|
903
1317
|
<data type="ID"/>
|
904
1318
|
</attribute>
|
905
|
-
<
|
1319
|
+
<optional>
|
1320
|
+
<attribute name="unnumbered">
|
1321
|
+
<data type="boolean"/>
|
1322
|
+
</attribute>
|
1323
|
+
</optional>
|
1324
|
+
<optional>
|
1325
|
+
<attribute name="number"/>
|
1326
|
+
</optional>
|
1327
|
+
<optional>
|
1328
|
+
<attribute name="subsequence"/>
|
1329
|
+
</optional>
|
1330
|
+
<optional>
|
1331
|
+
<attribute name="keep-with-next">
|
1332
|
+
<data type="boolean"/>
|
1333
|
+
</attribute>
|
1334
|
+
</optional>
|
1335
|
+
<optional>
|
1336
|
+
<attribute name="keep-lines-together">
|
1337
|
+
<data type="boolean"/>
|
1338
|
+
</attribute>
|
1339
|
+
</optional>
|
1340
|
+
<oneOrMore>
|
1341
|
+
<choice>
|
1342
|
+
<ref name="paragraph"/>
|
1343
|
+
<ref name="ul"/>
|
1344
|
+
<ref name="ol"/>
|
1345
|
+
<ref name="dl"/>
|
1346
|
+
<ref name="formula"/>
|
1347
|
+
</choice>
|
1348
|
+
</oneOrMore>
|
906
1349
|
</element>
|
907
1350
|
</define>
|
908
1351
|
<define name="termexample">
|
@@ -30,9 +30,22 @@
|
|
30
30
|
<data type="boolean"/>
|
31
31
|
</attribute>
|
32
32
|
</optional>
|
33
|
+
<optional>
|
34
|
+
<attribute name="number"/>
|
35
|
+
</optional>
|
33
36
|
<optional>
|
34
37
|
<attribute name="subsequence"/>
|
35
38
|
</optional>
|
39
|
+
<optional>
|
40
|
+
<attribute name="keep-with-next">
|
41
|
+
<data type="boolean"/>
|
42
|
+
</attribute>
|
43
|
+
</optional>
|
44
|
+
<optional>
|
45
|
+
<attribute name="keep-lines-together">
|
46
|
+
<data type="boolean"/>
|
47
|
+
</attribute>
|
48
|
+
</optional>
|
36
49
|
<attribute name="id">
|
37
50
|
<data type="ID"/>
|
38
51
|
</attribute>
|
@@ -141,6 +154,16 @@
|
|
141
154
|
<data type="boolean"/>
|
142
155
|
</attribute>
|
143
156
|
</optional>
|
157
|
+
<optional>
|
158
|
+
<attribute name="keep-with-next">
|
159
|
+
<data type="boolean"/>
|
160
|
+
</attribute>
|
161
|
+
</optional>
|
162
|
+
<optional>
|
163
|
+
<attribute name="keep-lines-together">
|
164
|
+
<data type="boolean"/>
|
165
|
+
</attribute>
|
166
|
+
</optional>
|
144
167
|
<oneOrMore>
|
145
168
|
<ref name="BasicBlock"/>
|
146
169
|
</oneOrMore>
|
data/lib/isodoc/ietf/blocks.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
module IsoDoc::Ietf
|
2
2
|
class RfcConvert < ::IsoDoc::Convert
|
3
3
|
def para_attrs(node)
|
4
|
-
{ keepWithNext: node["
|
5
|
-
keepWithPrevious: node["
|
4
|
+
{ keepWithNext: node["keep-with-next"],
|
5
|
+
keepWithPrevious: node["keep-with-previous"],
|
6
6
|
anchor: node["id"] }
|
7
7
|
end
|
8
8
|
|
@@ -56,23 +56,25 @@ module IsoDoc::Ietf
|
|
56
56
|
end
|
57
57
|
end
|
58
58
|
|
59
|
-
def
|
59
|
+
def dl_attrs(node)
|
60
60
|
attr_code(anchor: node["id"],
|
61
61
|
newline: node["newline"],
|
62
62
|
indent: node["indent"],
|
63
63
|
spacing: node["spacing"])
|
64
64
|
end
|
65
65
|
|
66
|
-
|
66
|
+
def dt_parse(dt, term)
|
67
67
|
if dt.elements.empty?
|
68
|
-
|
68
|
+
term << dt.text
|
69
69
|
else
|
70
70
|
dt.children.each { |n| parse(n, term) }
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
74
74
|
def note_label(node)
|
75
|
-
|
75
|
+
n = @xrefs.get[node["id"]]
|
76
|
+
return l10n("#{@note_lbl}: ") if n.nil? || n[:label].nil? || n[:label].empty?
|
77
|
+
l10n("#{@note_lbl} #{n[:label]}: ")
|
76
78
|
end
|
77
79
|
|
78
80
|
def note_parse(node, out)
|
@@ -94,7 +96,7 @@ module IsoDoc::Ietf
|
|
94
96
|
end
|
95
97
|
|
96
98
|
def example_label(node, div, name)
|
97
|
-
n =
|
99
|
+
n = @xrefs.get[node["id"]]
|
98
100
|
div.t **attr_code(anchor: node["id"], keepWithNext: "true") do |p|
|
99
101
|
lbl = (n.nil? || n[:label].nil? || n[:label].empty?) ? @example_lbl :
|
100
102
|
l10n("#{@example_lbl} #{n[:label]}")
|
@@ -112,8 +114,8 @@ module IsoDoc::Ietf
|
|
112
114
|
div.sourcecode **attr_code(type: node["lang"], name: node["filename"],
|
113
115
|
markers: node["markers"],
|
114
116
|
src: node["src"]) do |s|
|
115
|
-
|
116
|
-
|
117
|
+
node.children.each { |x| parse(x, s) unless x.name == "name" }
|
118
|
+
end
|
117
119
|
end
|
118
120
|
end
|
119
121
|
|
@@ -144,12 +146,21 @@ module IsoDoc::Ietf
|
|
144
146
|
def formula_parse1(node, out)
|
145
147
|
out.t **attr_code(anchor: node["id"]) do |p|
|
146
148
|
parse(node.at(ns("./stem")), p)
|
147
|
-
lbl = anchor(node['id'], :label, false)
|
149
|
+
lbl = @xrefs.anchor(node['id'], :label, false)
|
148
150
|
lbl.nil? or
|
149
151
|
p << " (#{lbl})"
|
150
152
|
end
|
151
153
|
end
|
152
154
|
|
155
|
+
def formula_parse(node, out)
|
156
|
+
formula_parse1(node, out)
|
157
|
+
formula_where(node.at(ns("./dl")), out)
|
158
|
+
node.children.each do |n|
|
159
|
+
next if %w(stem dl).include? n.name
|
160
|
+
parse(n, out)
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
153
164
|
def quote_attribution(node)
|
154
165
|
author = node&.at(ns("./author"))&.text
|
155
166
|
source = node&.at(ns("./source/@uri"))&.text
|
data/lib/isodoc/ietf/front.rb
CHANGED
@@ -19,16 +19,20 @@ module IsoDoc::Ietf
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def info(isoxml, out)
|
22
|
-
@meta.keywords isoxml, out
|
23
22
|
@meta.areas isoxml, out
|
24
23
|
super
|
25
24
|
end
|
26
25
|
|
26
|
+
def output_if_translit(text)
|
27
|
+
return nil if text.nil?
|
28
|
+
text.transliterate != text ? text.transliterate : nil
|
29
|
+
end
|
30
|
+
|
27
31
|
def title(isoxml, front)
|
28
32
|
title = @meta.get[:doctitle] or return
|
29
33
|
front.title title, **attr_code(abbrev: @meta.get[:docabbrev],
|
30
|
-
ascii: @meta.get[:docascii] ||
|
31
|
-
title
|
34
|
+
ascii: (@meta.get[:docascii] ||
|
35
|
+
output_if_translit(title)))
|
32
36
|
end
|
33
37
|
|
34
38
|
def seriesinfo(isoxml, front)
|
@@ -38,7 +42,7 @@ module IsoDoc::Ietf
|
|
38
42
|
|
39
43
|
def seriesinfo_attr(isoxml)
|
40
44
|
attr_code(value: @meta.get[:docnumber] || "",
|
41
|
-
asciiValue: @meta.get[:docnumber]
|
45
|
+
asciiValue: output_if_translit(@meta.get[:docnumber]),
|
42
46
|
status: @meta.get[:stage],
|
43
47
|
stream: isoxml&.at(ns("//bibdata/series[@type = 'stream']/"\
|
44
48
|
"title"))&.text)
|
@@ -83,9 +87,9 @@ module IsoDoc::Ietf
|
|
83
87
|
|
84
88
|
def pers_author_attrs1(ret, full, init, c)
|
85
89
|
full and ret.merge!(attr_code(
|
86
|
-
asciiFullname: full
|
87
|
-
asciiInitials: init
|
88
|
-
asciiSurname: c&.at(ns("./surname"))
|
90
|
+
asciiFullname: output_if_translit(full),
|
91
|
+
asciiInitials: output_if_translit(init),
|
92
|
+
asciiSurname: output_if_translit(c&.at(ns("./surname")))))
|
89
93
|
ret
|
90
94
|
end
|
91
95
|
|
@@ -114,8 +118,8 @@ module IsoDoc::Ietf
|
|
114
118
|
def organization(org, out, show)
|
115
119
|
name = org.at(ns("./name"))&.text
|
116
120
|
out.organization name, **attr_code(
|
117
|
-
showOnFrontPage: show&.text, ascii: name
|
118
|
-
asciiAbbrev: org
|
121
|
+
showOnFrontPage: show&.text, ascii: output_if_translit(name),
|
122
|
+
asciiAbbrev: output_if_translit(org.at(ns("./abbreviation"))),
|
119
123
|
abbrev: org.at(ns("./abbreviation")))
|
120
124
|
end
|
121
125
|
|
data/lib/isodoc/ietf/inline.rb
CHANGED
@@ -120,11 +120,15 @@ module IsoDoc::Ietf
|
|
120
120
|
|
121
121
|
def eref_parse(node, out)
|
122
122
|
linkend = node.children.reject { |c| %w{locality localityStack}.include? c.name }
|
123
|
+
relative = node["relative"] ||
|
124
|
+
node.at(ns(".//locality[@type = 'anchor']/referenceFrom"))&.text || ""
|
123
125
|
section = eref_clause(node.xpath(ns("./locality | ./localityStack")), nil) || ""
|
126
|
+
section = "" if relative.empty?
|
124
127
|
out.relref **attr_code(target: node["bibitemid"], section: section,
|
128
|
+
relative: relative,
|
125
129
|
displayFormat: node["displayFormat"]) do |l|
|
126
|
-
|
127
|
-
|
130
|
+
linkend.each { |n| parse(n, l) }
|
131
|
+
end
|
128
132
|
end
|
129
133
|
|
130
134
|
def eref_clause(refs, target)
|
data/lib/isodoc/ietf/metadata.rb
CHANGED
@@ -19,14 +19,6 @@ module IsoDoc
|
|
19
19
|
# = item describedby convertedfrom alternate
|
20
20
|
end
|
21
21
|
|
22
|
-
def keywords(isoxml, _out)
|
23
|
-
ret = []
|
24
|
-
isoxml.xpath(ns("//bibdata/keyword")).each do |kw|
|
25
|
-
ret << kw.text
|
26
|
-
end
|
27
|
-
set(:keywords, ret)
|
28
|
-
end
|
29
|
-
|
30
22
|
def areas(isoxml, _out)
|
31
23
|
ret = []
|
32
24
|
isoxml.xpath(ns("//bibdata/ext/area")).each do |kw|
|
@@ -45,18 +37,18 @@ module IsoDoc
|
|
45
37
|
wg(xml)
|
46
38
|
end
|
47
39
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
40
|
+
def wg(xml)
|
41
|
+
workgroups = []
|
42
|
+
xml.xpath(ns("//bibdata/ext/editorialgroup/workgroup")).each do |wg|
|
43
|
+
workgroups << wg.text
|
52
44
|
end
|
53
|
-
|
45
|
+
set(:wg, workgroups)
|
54
46
|
end
|
55
47
|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
48
|
+
def doctype(isoxml, _out)
|
49
|
+
super
|
50
|
+
set(:doctype, "Rfc") if get[:doctype].nil?
|
51
|
+
end
|
60
52
|
end
|
61
53
|
end
|
62
54
|
end
|
data/lib/isodoc/ietf/reqt.rb
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
module IsoDoc::Ietf
|
2
2
|
class RfcConvert < ::IsoDoc::Convert
|
3
|
+
def recommendation_labels(node)
|
4
|
+
[node.at(ns("./label")), node.at(ns("./title")),
|
5
|
+
@xrefs.anchor(node['id'], :label, false)]
|
6
|
+
end
|
7
|
+
|
3
8
|
def recommendation_name(node, out, type)
|
4
9
|
label, title, lbl = recommendation_labels(node)
|
5
10
|
out.t **{ keepWithNext: "true" } do |b|
|
@@ -9,11 +9,12 @@ require_relative "./cleanup"
|
|
9
9
|
require_relative "./footnotes"
|
10
10
|
require_relative "./references"
|
11
11
|
require_relative "./section"
|
12
|
+
require_relative "./xref"
|
12
13
|
|
13
14
|
module IsoDoc::Ietf
|
14
15
|
class RfcConvert < ::IsoDoc::Convert
|
15
16
|
def convert1(docxml, filename, dir)
|
16
|
-
|
17
|
+
@xrefs.parse docxml
|
17
18
|
info docxml, nil
|
18
19
|
xml = noko do |xml|
|
19
20
|
xml.rfc **attr_code(rfc_attributes(docxml)) do |html|
|
@@ -30,6 +31,10 @@ module IsoDoc::Ietf
|
|
30
31
|
@meta = Metadata.new(lang, script, labels)
|
31
32
|
end
|
32
33
|
|
34
|
+
def xref_init(lang, script, klass, labels, options)
|
35
|
+
@xrefs = Xref.new(lang, script, klass, labels, options)
|
36
|
+
end
|
37
|
+
|
33
38
|
def extract_delims(text)
|
34
39
|
@openmathdelim = "$$"
|
35
40
|
@closemathdelim = "$$"
|
@@ -58,7 +63,7 @@ module IsoDoc::Ietf
|
|
58
63
|
result = from_xhtml(cleanup(to_xhtml(textcleanup(result)))).
|
59
64
|
sub(/<!DOCTYPE[^>]+>\n/, "").
|
60
65
|
sub(/(<rfc[^<]+? )lang="[^"]+"/, "\\1")
|
61
|
-
File.open(
|
66
|
+
File.open(filename, "w:UTF-8") { |f| f.write(result) }
|
62
67
|
@files_to_delete.each { |f| FileUtils.rm_rf f }
|
63
68
|
end
|
64
69
|
|
@@ -71,6 +76,7 @@ module IsoDoc::Ietf
|
|
71
76
|
super
|
72
77
|
@xinclude = options[:use_xinclude] == "true"
|
73
78
|
@format = :rfc
|
79
|
+
@suffix = "rfc.xml"
|
74
80
|
end
|
75
81
|
end
|
76
82
|
end
|
data/lib/isodoc/ietf/section.rb
CHANGED
@@ -60,7 +60,8 @@ module IsoDoc::Ietf
|
|
60
60
|
{
|
61
61
|
docName: @meta.get[:doctype] == "Internet Draft" ? @meta.get[:docnumber] : nil,
|
62
62
|
number: @meta.get[:doctype].casecmp?("rfc") ? @meta.get[:docnumber] : nil,
|
63
|
-
category:
|
63
|
+
category: series2category(
|
64
|
+
docxml&.at(ns("//bibdata/series[@type = 'intended']/title"))&.text),
|
64
65
|
ipr: docxml&.at(ns("//bibdata/ext/ipr"))&.text,
|
65
66
|
obsoletes: obs,
|
66
67
|
updates: upd,
|
@@ -78,6 +79,20 @@ module IsoDoc::Ietf
|
|
78
79
|
}
|
79
80
|
end
|
80
81
|
|
82
|
+
def series2category(series)
|
83
|
+
case series&.downcase
|
84
|
+
when "standard", "std" then "std"
|
85
|
+
when "informational", "info" then "info"
|
86
|
+
when "experimental", "exp" then "exp"
|
87
|
+
when "bcp" then "bcp"
|
88
|
+
when "fyi", "info" then "info"
|
89
|
+
when "full-standard" then "std"
|
90
|
+
when "historic" then "historic"
|
91
|
+
else
|
92
|
+
"std"
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
81
96
|
def xpath_comma(xpath)
|
82
97
|
return nil if xpath.empty?
|
83
98
|
xpath.map { |x| x.text }.join(", ")
|
data/lib/isodoc/ietf/table.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
module IsoDoc::Ietf
|
2
2
|
class RfcConvert < ::IsoDoc::Convert
|
3
|
-
def
|
3
|
+
def table_attrs(node)
|
4
4
|
attr_code(anchor: node["id"], align: node["align"])
|
5
5
|
end
|
6
6
|
|
7
7
|
def table_parse(node, out)
|
8
8
|
@in_table = true
|
9
|
-
out.table **
|
9
|
+
out.table **table_attrs(node) do |t|
|
10
10
|
table_title_parse(node, out)
|
11
11
|
thead_parse(node, t)
|
12
12
|
tbody_parse(node, t)
|
data/lib/isodoc/ietf/terms.rb
CHANGED
@@ -48,18 +48,5 @@ module IsoDoc::Ietf
|
|
48
48
|
|
49
49
|
def termdocsource_parse(_node, _out)
|
50
50
|
end
|
51
|
-
|
52
|
-
def termnote_anchor_names(docxml)
|
53
|
-
docxml.xpath(ns("//term[descendant::termnote]")).each do |t|
|
54
|
-
c = Counter.new
|
55
|
-
notes = t.xpath(ns(".//termnote"))
|
56
|
-
notes.each do |n|
|
57
|
-
next if n["id"].nil? || n["id"].empty?
|
58
|
-
idx = notes.size == 1 ? "" : " #{c.increment(n).print}"
|
59
|
-
@anchors[n["id"]] =
|
60
|
-
anchor_struct(idx, n, @note_xref_lbl, "note", false)
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
51
|
end
|
65
52
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require "isodoc"
|
2
|
+
|
3
|
+
module IsoDoc
|
4
|
+
module Ietf
|
5
|
+
class Xref < IsoDoc::Xref
|
6
|
+
def termnote_anchor_names(docxml)
|
7
|
+
docxml.xpath(ns("//term[descendant::termnote]")).each do |t|
|
8
|
+
c = IsoDoc::XrefGen::Counter.new
|
9
|
+
notes = t.xpath(ns(".//termnote"))
|
10
|
+
notes.each do |n|
|
11
|
+
next if n["id"].nil? || n["id"].empty?
|
12
|
+
idx = notes.size == 1 ? "" : " #{c.increment(n).print}"
|
13
|
+
@anchors[n["id"]] =
|
14
|
+
anchor_struct(idx, n, @labels["note_xref"], "note", false)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -26,11 +26,6 @@ module Metanorma
|
|
26
26
|
"Metanorma::Ietf #{::Metanorma::Ietf::VERSION}"
|
27
27
|
end
|
28
28
|
|
29
|
-
def input_to_isodoc(file, filename)
|
30
|
-
# This is XML RFC v3 output in text
|
31
|
-
Metanorma::Input::Asciidoc.new.process(file, filename, @asciidoctor_backend)
|
32
|
-
end
|
33
|
-
|
34
29
|
def extract_options(isodocxml)
|
35
30
|
{}
|
36
31
|
end
|
@@ -48,14 +43,19 @@ module Metanorma
|
|
48
43
|
nil
|
49
44
|
end
|
50
45
|
|
46
|
+
def use_presentation_xml(ext)
|
47
|
+
false
|
48
|
+
end
|
49
|
+
|
51
50
|
def xml2rfc_present?
|
52
51
|
!which("xml2rfc").nil?
|
53
52
|
end
|
54
53
|
|
55
|
-
def output(isodoc_node, outname, format, options={})
|
54
|
+
def output(isodoc_node, inname, outname, format, options={})
|
56
55
|
case format
|
57
56
|
when :rfc
|
58
|
-
|
57
|
+
outname ||= inname.sub(/\.xml$/, ".rfc.xml")
|
58
|
+
IsoDoc::Ietf::RfcConvert.new(options).convert(inname, isodoc_node, nil, outname)
|
59
59
|
@done_rfc = true
|
60
60
|
|
61
61
|
when :txt
|
@@ -64,9 +64,10 @@ module Metanorma
|
|
64
64
|
return
|
65
65
|
end
|
66
66
|
|
67
|
-
rfcname =
|
68
|
-
output(isodoc_node,
|
67
|
+
rfcname = inname.sub(/\.xml$/, ".rfc.xml")
|
68
|
+
output(isodoc_node, inname, rfcname, :rfc, options) unless @done_rfc
|
69
69
|
|
70
|
+
outname ||= inname.sub(/\.xml$/, ".txt")
|
70
71
|
system("xml2rfc --text #{rfcname} -o #{outname}")
|
71
72
|
|
72
73
|
when :pdf
|
@@ -75,9 +76,10 @@ module Metanorma
|
|
75
76
|
return
|
76
77
|
end
|
77
78
|
|
78
|
-
rfcname =
|
79
|
-
output(isodoc_node,
|
79
|
+
rfcname = inname.sub(/\.xml$/, ".rfc.xml")
|
80
|
+
output(isodoc_node, inname, rfcname, :rfc, options) unless @done_rfc
|
80
81
|
|
82
|
+
outname ||= inname.sub(/\.xml$/, ".pdf")
|
81
83
|
system("xml2rfc --pdf #{rfcname} -o #{outname}")
|
82
84
|
|
83
85
|
when :html
|
@@ -86,9 +88,10 @@ module Metanorma
|
|
86
88
|
return
|
87
89
|
end
|
88
90
|
|
89
|
-
rfcname =
|
90
|
-
output(isodoc_node,
|
91
|
+
rfcname = inname.sub(/\.xml$/, ".rfc.xml")
|
92
|
+
output(isodoc_node, inname, rfcname, :rfc, options) unless @done_rfc
|
91
93
|
|
94
|
+
outname ||= inname.sub(/\.xml$/, ".html")
|
92
95
|
system("xml2rfc --html #{rfcname} -o #{outname}")
|
93
96
|
|
94
97
|
else
|
data/metanorma-ietf.gemspec
CHANGED
@@ -35,8 +35,8 @@ Gem::Specification.new do |spec|
|
|
35
35
|
spec.require_paths = ["lib"]
|
36
36
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
|
37
37
|
|
38
|
-
spec.add_dependency "metanorma-standoc", "~> 1.
|
39
|
-
spec.add_dependency "isodoc", "~> 1.
|
38
|
+
spec.add_dependency "metanorma-standoc", "~> 1.4.0"
|
39
|
+
spec.add_dependency "isodoc", "~> 1.1.0"
|
40
40
|
spec.add_dependency "mathml2asciimath"
|
41
41
|
|
42
42
|
spec.add_development_dependency "byebug"
|
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: 2.
|
4
|
+
version: 2.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-07-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: metanorma-standoc
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: 1.4.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
26
|
+
version: 1.4.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: isodoc
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.
|
33
|
+
version: 1.1.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: 1.
|
40
|
+
version: 1.1.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: mathml2asciimath
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -269,6 +269,7 @@ files:
|
|
269
269
|
- lib/isodoc/ietf/section.rb
|
270
270
|
- lib/isodoc/ietf/table.rb
|
271
271
|
- lib/isodoc/ietf/terms.rb
|
272
|
+
- lib/isodoc/ietf/xref.rb
|
272
273
|
- lib/metanorma-ietf.rb
|
273
274
|
- lib/metanorma/ietf.rb
|
274
275
|
- lib/metanorma/ietf/processor.rb
|
@@ -281,7 +282,7 @@ homepage: https://github.com/metanorma/metanorma-ietf
|
|
281
282
|
licenses:
|
282
283
|
- BSD-2-Clause
|
283
284
|
metadata: {}
|
284
|
-
post_install_message:
|
285
|
+
post_install_message:
|
285
286
|
rdoc_options: []
|
286
287
|
require_paths:
|
287
288
|
- lib
|
@@ -296,9 +297,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
296
297
|
- !ruby/object:Gem::Version
|
297
298
|
version: '0'
|
298
299
|
requirements: []
|
299
|
-
|
300
|
-
|
301
|
-
signing_key:
|
300
|
+
rubygems_version: 3.0.3
|
301
|
+
signing_key:
|
302
302
|
specification_version: 4
|
303
303
|
summary: metanorma-ietf lets you write IETF documents, such as Internet-Drafts and
|
304
304
|
RFCs, in AsciiDoc.
|