metanorma-ietf 3.1.8 → 3.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.adoc +8 -29
- data/lib/isodoc/ietf/inline.rb +14 -16
- data/lib/metanorma/ietf/converter.rb +2 -2
- data/lib/metanorma/ietf/isodoc.rng +29 -4
- data/lib/metanorma/ietf/relaton-ietf.rng +15 -0
- data/lib/metanorma/ietf/version.rb +1 -1
- data/metanorma-ietf.gemspec +1 -2
- metadata +4 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0caa70c59e0b00b7eaf785a68d24b0ec9368c4c0c45c1dee96ef973b0d8c0150
|
4
|
+
data.tar.gz: fcc948fcdb7b9e4b05596b741659052789c595deaf65798a517929bc30173faf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4699fae2fcb874453ca24a16295b72efe450f03dbb16f002884002b7b324f0f5bf03c843f0424a1a8395914d3db9d031f37b2ffb221d0fa2317e0a63c487b0cc
|
7
|
+
data.tar.gz: ba585e9aa3859230b9bf0ff1f574a33ded9268620e40c4438495c8b5a1731b0f8a89e2628b9e1d8a942b9a6d25bcecaba8e0557fc0ea943bebd5eed2c6265280
|
data/README.adoc
CHANGED
@@ -23,12 +23,8 @@ gem, and aligns closely to it.
|
|
23
23
|
|
24
24
|
The following outputs are generated:
|
25
25
|
|
26
|
-
* RFC XML v2
|
27
|
-
** Metanorma `doctype`: `rfc2`
|
28
|
-
** Metanorma file extension: `xmlrfc` (not `xml`!)
|
29
|
-
|
30
26
|
* RFC XML v3
|
31
|
-
** Metanorma `doctype`: `
|
27
|
+
** Metanorma `doctype`: `ietf`
|
32
28
|
** Metanorma file extension: `xmlrfc` (not `xml`!)
|
33
29
|
|
34
30
|
The "`xml2rfc`" Vocabulary (hereinafter "`RFC XML`") is an XML-based language
|
@@ -37,18 +33,16 @@ https://www.ietf.org/id-info/guidelines.html[Internet-Drafts]
|
|
37
33
|
and https://tools.ietf.org/html/rfc7322[RFCs (RFC7322)].
|
38
34
|
|
39
35
|
This gem allows you to author these types of documents in AsciiDoc, and outputs
|
40
|
-
RFC XML output in
|
36
|
+
RFC XML output in v3 format:
|
41
37
|
|
42
38
|
* v3 RFC XML (https://tools.ietf.org/html/rfc7991[RFC 7991])
|
43
|
-
* v2 RFC XML (https://tools.ietf.org/html/rfc7749[RFC 7749])
|
44
39
|
|
45
40
|
Its syntax is designed to be "`native-asciidoctor`" as much as possible, with
|
46
41
|
some templated use of attributes to convey added information for RFC XML
|
47
42
|
output.
|
48
43
|
|
49
|
-
|
50
|
-
|
51
|
-
https://datatracker.ietf.org/doc/draft-ribose-asciirfc/[AsciiRFC IETF Internet-Draft].
|
44
|
+
For further information about the markup used, please refer to the
|
45
|
+
https://www.metanorma.org/author/ietf/[Writing IETF I-Ds and RFCs using AsciiDoc & Metanorma].
|
52
46
|
|
53
47
|
|
54
48
|
|
@@ -58,13 +52,12 @@ The preferred way to invoke this gem is via the `metanorma` command:
|
|
58
52
|
|
59
53
|
[source,console]
|
60
54
|
----
|
61
|
-
$ metanorma --type
|
62
|
-
$ metanorma --type
|
55
|
+
$ metanorma --type ietf a.adoc # output RFC XML v3, text, HTML
|
56
|
+
$ metanorma --type ietf --extensions xmlrfc a.adoc # output RFC XML v3
|
63
57
|
----
|
64
58
|
|
65
|
-
The gem translates the document into IETF XML RFC format.
|
66
|
-
|
67
|
-
Text and HTML versions should be generated using the `xml2rfc` tool.
|
59
|
+
The gem translates the document into IETF XML RFC format. By default, the gem
|
60
|
+
then runs the `xml2rfc` tool to generate text and HTML versions as well.
|
68
61
|
|
69
62
|
|
70
63
|
== Installation
|
@@ -141,18 +134,6 @@ include::spec/examples/example-v3.adoc[]
|
|
141
134
|
----
|
142
135
|
endif::[]
|
143
136
|
|
144
|
-
=== RFC XML v2 Example
|
145
|
-
|
146
|
-
ifdef::env-github[]
|
147
|
-
include::spec/examples/example-v2.adoc[]
|
148
|
-
endif::[]
|
149
|
-
ifndef::env-github[]
|
150
|
-
[source,asciidoc]
|
151
|
-
----
|
152
|
-
include::spec/examples/example-v2.adoc[]
|
153
|
-
----
|
154
|
-
endif::[]
|
155
|
-
|
156
137
|
|
157
138
|
== Development
|
158
139
|
|
@@ -210,9 +191,7 @@ This gem is developed, maintained and funded by https://www.ribose.com[Ribose In
|
|
210
191
|
|
211
192
|
== Examples
|
212
193
|
|
213
|
-
////
|
214
194
|
* Example documents are avalable at the https://github.com/metanorma/mn-samples-ietf[mn-samples-ietf] repository.
|
215
|
-
////
|
216
195
|
|
217
196
|
* Document templates are available at the https://github.com/metanorma/mn-templates-ietf[mn-templates-ietf] repository.
|
218
197
|
|
data/lib/isodoc/ietf/inline.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
require "mathml2asciimath"
|
2
|
-
|
3
1
|
module IsoDoc
|
4
2
|
module Ietf
|
5
3
|
class RfcConvert < ::IsoDoc::Convert
|
@@ -60,7 +58,8 @@ module IsoDoc
|
|
60
58
|
|
61
59
|
def stem_parse(node, out)
|
62
60
|
stem = case node["type"]
|
63
|
-
when "MathML" then
|
61
|
+
when "MathML" then Plurimath::Math
|
62
|
+
.parse(node.children.to_xml, "mathml").to_asciimath
|
64
63
|
else HTMLEntities.new.encode(node.text)
|
65
64
|
end
|
66
65
|
out << "#{@openmathdelim} #{stem} #{@closemathdelim}"
|
@@ -82,12 +81,15 @@ module IsoDoc
|
|
82
81
|
end
|
83
82
|
end
|
84
83
|
|
84
|
+
def image_parse_attrs(node)
|
85
|
+
{ src: node["src"], title: node["title"],
|
86
|
+
align: node["align"], name: node["filename"],
|
87
|
+
anchor: node["id"], type: "svg",
|
88
|
+
alt: node["alt"] }
|
89
|
+
end
|
90
|
+
|
85
91
|
def image_parse(node, out, caption)
|
86
|
-
|
87
|
-
align: node["align"], name: node["filename"],
|
88
|
-
anchor: node["id"], type: "svg",
|
89
|
-
alt: node["alt"] }
|
90
|
-
out.artwork **attr_code(attrs)
|
92
|
+
out.artwork **attr_code(image_parse_attrs(node))
|
91
93
|
image_title_parse(out, caption)
|
92
94
|
end
|
93
95
|
|
@@ -102,14 +104,10 @@ module IsoDoc
|
|
102
104
|
def svg_parse(node, out)
|
103
105
|
if node.parent.name == "image" then super
|
104
106
|
else
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
out.artwork **attr_code(attrs) do |x|
|
110
|
-
out = x
|
111
|
-
super
|
112
|
-
end
|
107
|
+
out.artwork **attr_code(image_parse_attrs(node)) do |x|
|
108
|
+
out = x
|
109
|
+
super
|
110
|
+
end
|
113
111
|
end
|
114
112
|
end
|
115
113
|
|
@@ -53,8 +53,8 @@ module Metanorma
|
|
53
53
|
when :single then xml << "'#{node.text}'"
|
54
54
|
when :superscript then xml.sup { |s| s << node.text }
|
55
55
|
when :subscript then xml.sub { |s| s << node.text }
|
56
|
-
when :asciimath then stem_parse(node.text, xml, :asciimath)
|
57
|
-
when :latexmath then stem_parse(node.text, xml, :latexmath)
|
56
|
+
when :asciimath then stem_parse(node.text, xml, :asciimath, false)
|
57
|
+
when :latexmath then stem_parse(node.text, xml, :latexmath, false)
|
58
58
|
else
|
59
59
|
case node.role
|
60
60
|
when "bcp14" then xml.bcp14 { |s| s << node.text.upcase }
|
@@ -17,7 +17,7 @@
|
|
17
17
|
these elements; we just want one namespace for any child grammars
|
18
18
|
of this.
|
19
19
|
-->
|
20
|
-
<!-- VERSION v1.2.
|
20
|
+
<!-- VERSION v1.2.4 -->
|
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">
|
@@ -192,9 +192,11 @@
|
|
192
192
|
</attribute>
|
193
193
|
</optional>
|
194
194
|
<attribute name="citeas"/>
|
195
|
-
<
|
196
|
-
<
|
197
|
-
|
195
|
+
<optional>
|
196
|
+
<attribute name="type">
|
197
|
+
<ref name="ReferenceFormat"/>
|
198
|
+
</attribute>
|
199
|
+
</optional>
|
198
200
|
<optional>
|
199
201
|
<attribute name="alt"/>
|
200
202
|
</optional>
|
@@ -836,6 +838,26 @@
|
|
836
838
|
<ref name="paragraph"/>
|
837
839
|
</element>
|
838
840
|
</define>
|
841
|
+
<define name="stem">
|
842
|
+
<element name="stem">
|
843
|
+
<attribute name="type">
|
844
|
+
<choice>
|
845
|
+
<value>MathML</value>
|
846
|
+
<value>AsciiMath</value>
|
847
|
+
<value>LatexMath</value>
|
848
|
+
</choice>
|
849
|
+
</attribute>
|
850
|
+
<attribute name="block">
|
851
|
+
<data type="boolean"/>
|
852
|
+
</attribute>
|
853
|
+
<oneOrMore>
|
854
|
+
<choice>
|
855
|
+
<text/>
|
856
|
+
<ref name="AnyElement"/>
|
857
|
+
</choice>
|
858
|
+
</oneOrMore>
|
859
|
+
</element>
|
860
|
+
</define>
|
839
861
|
<define name="em">
|
840
862
|
<element name="em">
|
841
863
|
<zeroOrMore>
|
@@ -2046,6 +2068,9 @@
|
|
2046
2068
|
</define>
|
2047
2069
|
<define name="termdefinition">
|
2048
2070
|
<element name="definition">
|
2071
|
+
<optional>
|
2072
|
+
<attribute name="type"/>
|
2073
|
+
</optional>
|
2049
2074
|
<choice>
|
2050
2075
|
<ref name="verbaldefinition"/>
|
2051
2076
|
<ref name="nonverbalrep"/>
|
@@ -26,6 +26,9 @@
|
|
26
26
|
<zeroOrMore>
|
27
27
|
<ref name="area"/>
|
28
28
|
</zeroOrMore>
|
29
|
+
<optional>
|
30
|
+
<ref name="stream"/>
|
31
|
+
</optional>
|
29
32
|
<optional>
|
30
33
|
<ref name="ipr"/>
|
31
34
|
</optional>
|
@@ -315,4 +318,16 @@
|
|
315
318
|
</optional>
|
316
319
|
</element>
|
317
320
|
</define>
|
321
|
+
<define name="stream">
|
322
|
+
<element name="stream">
|
323
|
+
<choice>
|
324
|
+
<value>IAB</value>
|
325
|
+
<value>IETF</value>
|
326
|
+
<value>Independent</value>
|
327
|
+
<value>IRTF</value>
|
328
|
+
<value>Legacy</value>
|
329
|
+
<value>Editorial</value>
|
330
|
+
</choice>
|
331
|
+
</element>
|
332
|
+
</define>
|
318
333
|
</grammar>
|
data/metanorma-ietf.gemspec
CHANGED
@@ -36,9 +36,8 @@ Gem::Specification.new do |spec|
|
|
36
36
|
spec.require_paths = ["lib"]
|
37
37
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
|
38
38
|
|
39
|
-
spec.add_dependency "mathml2asciimath"
|
40
39
|
spec.add_dependency "metanorma-ietf-data"
|
41
|
-
spec.add_dependency "metanorma-standoc", "~> 2.4
|
40
|
+
spec.add_dependency "metanorma-standoc", "~> 2.5.4"
|
42
41
|
|
43
42
|
spec.add_development_dependency "debug"
|
44
43
|
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-ietf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1
|
4
|
+
version: 3.2.1
|
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-
|
11
|
+
date: 2023-08-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: mathml2asciimath
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: metanorma-ietf-data
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,14 +30,14 @@ dependencies:
|
|
44
30
|
requirements:
|
45
31
|
- - "~>"
|
46
32
|
- !ruby/object:Gem::Version
|
47
|
-
version: 2.4
|
33
|
+
version: 2.5.4
|
48
34
|
type: :runtime
|
49
35
|
prerelease: false
|
50
36
|
version_requirements: !ruby/object:Gem::Requirement
|
51
37
|
requirements:
|
52
38
|
- - "~>"
|
53
39
|
- !ruby/object:Gem::Version
|
54
|
-
version: 2.4
|
40
|
+
version: 2.5.4
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: debug
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|