metanorma-standoc 1.8.2 → 1.8.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/lib/asciidoctor/standoc/blocks.rb +16 -7
  3. data/lib/asciidoctor/standoc/cleanup.rb +1 -0
  4. data/lib/asciidoctor/standoc/cleanup_block.rb +34 -20
  5. data/lib/asciidoctor/standoc/cleanup_inline.rb +4 -3
  6. data/lib/asciidoctor/standoc/isodoc.rng +63 -0
  7. data/lib/metanorma/standoc/version.rb +1 -1
  8. data/metanorma-standoc.gemspec +1 -1
  9. data/spec/{asciidoctor-standoc → asciidoctor}/base_spec.rb +0 -0
  10. data/spec/{asciidoctor-standoc → asciidoctor}/blocks_spec.rb +0 -0
  11. data/spec/{asciidoctor-standoc → asciidoctor}/cleanup_sections_spec.rb +0 -0
  12. data/spec/{asciidoctor-standoc → asciidoctor}/cleanup_spec.rb +99 -2
  13. data/spec/{asciidoctor-standoc → asciidoctor}/datamodel/attributes_table_preprocessor_spec.rb +0 -0
  14. data/spec/{asciidoctor-standoc → asciidoctor}/datamodel/diagram_preprocessor_spec.rb +0 -0
  15. data/spec/{asciidoctor-standoc → asciidoctor}/inline_spec.rb +0 -0
  16. data/spec/{asciidoctor-standoc → asciidoctor}/isobib_cache_spec.rb +0 -0
  17. data/spec/{asciidoctor-standoc → asciidoctor}/lists_spec.rb +0 -0
  18. data/spec/{asciidoctor-standoc → asciidoctor}/macros_json2text_spec.rb +0 -0
  19. data/spec/{asciidoctor-standoc → asciidoctor}/macros_lutaml_spec.rb +0 -0
  20. data/spec/{asciidoctor-standoc → asciidoctor}/macros_plantuml_spec.rb +0 -0
  21. data/spec/{asciidoctor-standoc → asciidoctor}/macros_spec.rb +0 -0
  22. data/spec/{asciidoctor-standoc → asciidoctor}/macros_yaml2text_spec.rb +0 -0
  23. data/spec/{asciidoctor-standoc → asciidoctor}/refs_dl_spec.rb +0 -0
  24. data/spec/{asciidoctor-standoc → asciidoctor}/refs_spec.rb +144 -122
  25. data/spec/{asciidoctor-standoc → asciidoctor}/section_spec.rb +0 -0
  26. data/spec/{asciidoctor-standoc → asciidoctor}/table_spec.rb +0 -0
  27. data/spec/{asciidoctor-standoc → asciidoctor}/validate_spec.rb +0 -0
  28. data/spec/fixtures/action_schemaexpg1.svg +122 -0
  29. data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +94 -30
  30. metadata +25 -24
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 90c09f71739f8d485363ce3a4f950b143c0264f5b4657fd0891df83a00c44f72
4
- data.tar.gz: cb0c51236e8c1780aa2a89b7a0c53efeabc2a4af3ef68e6c08aa8936efdea47d
3
+ metadata.gz: a5a0e8bdc48a2fa268df4c2d2342787a3c1312eb349c0a8a37306c2674c4440e
4
+ data.tar.gz: e063188d68034654d5edf0d45b51b22b7018371dfeef1b252576b6d3d8fe57b9
5
5
  SHA512:
6
- metadata.gz: 96533136bca911c4f886e6d0aeaa0e86ce94cf754d721af5537c835b744980fef11555e494d5d485a348c1ea911d1394cfb215f9f02cbf095a90bd652cae2916
7
- data.tar.gz: 80bd100da6d8d05fdc69f8f52d20e9af182bd3196c42074663241dc8e35bee952eb8bf7ef95fbf444dbcd25f1bd45ac7d864f70c394df372f8d24b1e26a385d7
6
+ metadata.gz: fd3fe9734d21153f7955dbd3b3eeade50bee97403a6bc53c18ef97cb72345970c7951f9d96b51916f4ce7a89ff56d6c8e6d9cf5b6d67482ed598c2c6ae8090e8
7
+ data.tar.gz: dbc628d7b0df786191086a908b0f849bb9f75dc23881030748313ed78350d9722675371483232bc52ebd38404ec1da79ee1e985484ae648212479a0b66ac346d
@@ -74,11 +74,20 @@ module Asciidoctor
74
74
  %w(recommendation requirement permission).include?(role) and
75
75
  return requirement(node, role)
76
76
  return pseudocode_example(node) if role == "pseudocode"
77
+ return svgmap_example(node) if role == "svgmap"
77
78
  example_proper(node)
78
79
  end
79
80
 
81
+ def svgmap_example(node)
82
+ noko do |xml|
83
+ xml.svgmap **attr_code(example_attrs(node).merge(src: node.attr("src"), alt: node.attr("alt"))) do |ex|
84
+ ex << node.content
85
+ end
86
+ end.join("\n")
87
+ end
88
+
89
+ # prevent A's and other subs inappropriate for pseudocode
80
90
  def pseudocode_example(node)
81
- # prevent A's and other subs inappropriate for pseudocode
82
91
  node.blocks.each { |b| b.remove_sub(:replacements) }
83
92
  noko do |xml|
84
93
  xml.figure **example_attrs(node).merge(class: "pseudocode") do |ex|
@@ -121,7 +130,7 @@ module Asciidoctor
121
130
 
122
131
  def para_attrs(node)
123
132
  attr_code(keep_attrs(node).merge(align: node.attr("align"),
124
- id: Metanorma::Utils::anchor_or_uuid(node)))
133
+ id: Metanorma::Utils::anchor_or_uuid(node)))
125
134
  end
126
135
 
127
136
  def paragraph(node)
@@ -135,7 +144,7 @@ module Asciidoctor
135
144
 
136
145
  def quote_attrs(node)
137
146
  attr_code(keep_attrs(node).merge(align: node.attr("align"),
138
- id: Metanorma::Utils::anchor_or_uuid(node)))
147
+ id: Metanorma::Utils::anchor_or_uuid(node)))
139
148
  end
140
149
 
141
150
  def quote_attribution(node, out)
@@ -160,10 +169,10 @@ module Asciidoctor
160
169
 
161
170
  def listing_attrs(node)
162
171
  attr_code(keep_attrs(node).merge(lang: node.attr("language"),
163
- id: Metanorma::Utils::anchor_or_uuid(node),
164
- unnumbered: node.option?("unnumbered") ? "true" : nil,
165
- number: node.attr("number"),
166
- filename: node.attr("filename")))
172
+ id: Metanorma::Utils::anchor_or_uuid(node),
173
+ unnumbered: node.option?("unnumbered") ? "true" : nil,
174
+ number: node.attr("number"),
175
+ filename: node.attr("filename")))
167
176
  end
168
177
 
169
178
  # NOTE: html escaping is performed by Nokogiri
@@ -45,6 +45,7 @@ module Asciidoctor
45
45
  xref_cleanup(xmldoc)
46
46
  concept_cleanup(xmldoc)
47
47
  origin_cleanup(xmldoc)
48
+ svgmap_cleanup(xmldoc)
48
49
  termdef_cleanup(xmldoc)
49
50
  RelatonIev::iev_cleanup(xmldoc, @bibdb)
50
51
  element_name_cleanup(xmldoc)
@@ -1,6 +1,5 @@
1
1
  require "date"
2
2
  require "htmlentities"
3
- require "json"
4
3
  require "open-uri"
5
4
 
6
5
  module Asciidoctor
@@ -22,9 +21,7 @@ module Asciidoctor
22
21
  def dl1_table_cleanup(xmldoc)
23
22
  q = "//table/following-sibling::*[1][self::dl]"
24
23
  xmldoc.xpath(q).each do |s|
25
- if s["key"] == "true"
26
- s.previous_element << s.remove
27
- end
24
+ s["key"] == "true" and s.previous_element << s.remove
28
25
  end
29
26
  end
30
27
 
@@ -91,9 +88,7 @@ module Asciidoctor
91
88
  def formula_cleanup_where1(x)
92
89
  q = "//formula/following-sibling::*[1][self::dl]"
93
90
  x.xpath(q).each do |s|
94
- if s["key"] == "true"
95
- s.previous_element << s.remove
96
- end
91
+ s["key"] == "true" and s.previous_element << s.remove
97
92
  end
98
93
  end
99
94
 
@@ -111,9 +106,7 @@ module Asciidoctor
111
106
  def figure_dl_cleanup1(xmldoc)
112
107
  q = "//figure/following-sibling::*[self::dl]"
113
108
  xmldoc.xpath(q).each do |s|
114
- if s["key"] == "true"
115
- s.previous_element << s.remove
116
- end
109
+ s["key"] == "true" and s.previous_element << s.remove
117
110
  end
118
111
  end
119
112
 
@@ -121,8 +114,7 @@ module Asciidoctor
121
114
  def figure_dl_cleanup2(xmldoc)
122
115
  q = "//figure/following-sibling::*[self::p]"
123
116
  xmldoc.xpath(q).each do |s|
124
- if s.text =~ /^\s*key[^a-z]*$/i && !s.next_element.nil? &&
125
- s.next_element.name == "dl"
117
+ if s.text =~ /^\s*key[^a-z]*$/i && !s.next_element.nil? && s.next_element.name == "dl"
126
118
  s.next_element["key"] = "true"
127
119
  s.previous_element << s.next_element.remove
128
120
  s.remove
@@ -133,8 +125,7 @@ module Asciidoctor
133
125
  # examples containing only figures become subfigures of figures
134
126
  def subfigure_cleanup(xmldoc)
135
127
  xmldoc.xpath("//example[figure]").each do |e|
136
- next unless e.elements.map { |m| m.name }.
137
- reject { |m| %w(name figure).include? m }.empty?
128
+ next unless e.elements.map { |m| m.name }.reject { |m| %w(name figure).include? m }.empty?
138
129
  e.name = "figure"
139
130
  end
140
131
  end
@@ -146,12 +137,10 @@ module Asciidoctor
146
137
  subfigure_cleanup(xmldoc)
147
138
  end
148
139
 
149
- ELEMS_ALLOW_NOTES =
150
- %w[p formula ul ol dl figure].freeze
140
+ ELEMS_ALLOW_NOTES = %w[p formula ul ol dl figure].freeze
151
141
 
152
142
  # if a note is at the end of a section, it is left alone
153
- # if a note is followed by a non-note block,
154
- # it is moved inside its preceding block if it is not delimited
143
+ # if a note is followed by a non-note block, it is moved inside its preceding block if it is not delimited
155
144
  # (so there was no way of making that block include the note)
156
145
  def note_cleanup(xmldoc)
157
146
  q = "//note[following-sibling::*[not(local-name() = 'note')]]"
@@ -199,9 +188,34 @@ module Asciidoctor
199
188
  n = d.next.remove
200
189
  d << n.children
201
190
  end
202
- r.xpath("./description[normalize-space(.)='']").each do |d|
203
- d.replace("\n")
191
+ r.xpath("./description[normalize-space(.)='']").each { |d| d.replace("\n") }
192
+ end
193
+
194
+ def svgmap_cleanup(xmldoc)
195
+ svgmap_populate(xmldoc)
196
+ Metanorma::Utils::svgmap_rewrite(xmldoc, @localdir)
197
+ end
198
+
199
+ def svgmap_populate(xmldoc)
200
+ xmldoc.xpath("//svgmap").each do |s|
201
+ s1 = s.dup
202
+ s.children.remove
203
+ f = s1.at(".//figure") and s << f
204
+ s1.xpath(".//li").each do |li|
205
+ t = li&.at(".//eref | .//link | .//xref") or next
206
+ href = t.xpath("./following-sibling::node()")
207
+ next if href.empty?
208
+ s << %[<target href="#{svgmap_target(href)}">#{t.to_xml}</target>]
209
+ end
210
+ end
211
+ end
212
+
213
+ def svgmap_target(nodeset)
214
+ nodeset.each do |n|
215
+ next unless n.name == "link"
216
+ n.children = n["target"]
204
217
  end
218
+ nodeset.text.sub(/^[,;]/, "").strip
205
219
  end
206
220
  end
207
221
  end
@@ -74,10 +74,11 @@ module Asciidoctor
74
74
 
75
75
  def xref_to_eref(x)
76
76
  x["bibitemid"] = x["target"]
77
- x["citeas"] = @anchors&.dig(x["target"], :xref) ||
77
+ unless x["citeas"] = @anchors&.dig(x["target"], :xref)
78
+ @internal_eref_namespaces.include?(x["type"]) or
78
79
  @log.add("Crossreferences", x,
79
- "#{x['target']} does not have a corresponding anchor ID "\
80
- "in the bibliography!")
80
+ "#{x['target']} does not have a corresponding anchor ID in the bibliography!")
81
+ end
81
82
  x.delete("target")
82
83
  extract_localities(x) unless x.children.empty?
83
84
  end
@@ -812,6 +812,8 @@
812
812
  <ref name="requirement"/>
813
813
  <ref name="recommendation"/>
814
814
  <ref name="permission"/>
815
+ <ref name="imagemap"/>
816
+ <ref name="svgmap"/>
815
817
  </choice>
816
818
  </define>
817
819
  <define name="bibliography">
@@ -1635,4 +1637,65 @@
1635
1637
  <text/>
1636
1638
  </element>
1637
1639
  </define>
1640
+ <define name="imagemap">
1641
+ <element name="imagemap">
1642
+ <ref name="figure"/>
1643
+ <zeroOrMore>
1644
+ <element name="area">
1645
+ <attribute name="type">
1646
+ <choice>
1647
+ <value>rect</value>
1648
+ <value>circle</value>
1649
+ <value>ellipse</value>
1650
+ <value>poly</value>
1651
+ </choice>
1652
+ </attribute>
1653
+ <choice>
1654
+ <ref name="xref"/>
1655
+ <ref name="hyperlink"/>
1656
+ <ref name="eref"/>
1657
+ </choice>
1658
+ <oneOrMore>
1659
+ <element name="coords">
1660
+ <attribute name="x">
1661
+ <data type="float"/>
1662
+ </attribute>
1663
+ <attribute name="y">
1664
+ <data type="float"/>
1665
+ </attribute>
1666
+ </element>
1667
+ </oneOrMore>
1668
+ <optional>
1669
+ <element name="radius">
1670
+ <attribute name="x">
1671
+ <data type="float"/>
1672
+ </attribute>
1673
+ <optional>
1674
+ <attribute name="y">
1675
+ <data type="float"/>
1676
+ </attribute>
1677
+ </optional>
1678
+ </element>
1679
+ </optional>
1680
+ </element>
1681
+ </zeroOrMore>
1682
+ </element>
1683
+ </define>
1684
+ <define name="svgmap">
1685
+ <element name="svgmap">
1686
+ <ref name="figure"/>
1687
+ <zeroOrMore>
1688
+ <element name="target">
1689
+ <attribute name="href">
1690
+ <data type="anyURI"/>
1691
+ </attribute>
1692
+ <choice>
1693
+ <ref name="xref"/>
1694
+ <ref name="hyperlink"/>
1695
+ <ref name="eref"/>
1696
+ </choice>
1697
+ </element>
1698
+ </zeroOrMore>
1699
+ </element>
1700
+ </define>
1638
1701
  </grammar>
@@ -19,6 +19,6 @@ module Metanorma
19
19
  end
20
20
 
21
21
  module Standoc
22
- VERSION= "1.8.2".freeze
22
+ VERSION= "1.8.3".freeze
23
23
  end
24
24
  end
@@ -37,7 +37,7 @@ Gem::Specification.new do |spec|
37
37
  spec.add_dependency "relaton-iev", "~> 1.1.0"
38
38
  spec.add_dependency "concurrent-ruby"
39
39
  spec.add_dependency "unicode2latex", "~> 0.0.1"
40
- spec.add_dependency "metanorma-utils", "~> 1"
40
+ spec.add_dependency "metanorma-utils", "~> 1.0.2"
41
41
  spec.add_dependency "mimemagic"
42
42
  spec.add_dependency "mathml2asciimath"
43
43
  spec.add_dependency "latexmath"
@@ -3,6 +3,105 @@ require "relaton_iec"
3
3
  require "fileutils"
4
4
 
5
5
  RSpec.describe Asciidoctor::Standoc do
6
+ it "processes svgmap" do
7
+ FileUtils.cp "spec/fixtures/action_schemaexpg1.svg", "action_schemaexpg1.svg"
8
+ FileUtils.cp "spec/fixtures/action_schemaexpg1.svg", "action_schemaexpg2.svg"
9
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
10
+ #{ASCIIDOC_BLANK_HDR}
11
+
12
+ [svgmap]
13
+ ====
14
+ * <<ref1,Computer>>; http://www.example.com
15
+ ====
16
+
17
+ [[ref1]]
18
+ [.svgmap]
19
+ ====
20
+ image::action_schemaexpg1.svg[]
21
+
22
+ * <<ref1,Computer>>; mn://action_schema
23
+ * http://www.example.com[Phone]; http://www.example.com
24
+ ====
25
+
26
+ [svgmap]
27
+ ====
28
+ [alt=Workmap]
29
+ image::action_schemaexpg2.svg[]
30
+
31
+ * <<ref1,Computer>>; href1.htm
32
+ * http://www.example.com[Phone]; mn://basic_attribute_schema
33
+ * <<express:action_schema:action_schema.basic,Coffee>>; mn://support_resource_schema
34
+ ====
35
+ INPUT
36
+ #{BLANK_HDR}
37
+ <sections>
38
+ <svgmap id='_'>
39
+ <target href='http://www.example.com'>
40
+ <xref target='ref1'>Computer</xref>
41
+ </target>
42
+ </svgmap>
43
+ <figure id='_'>
44
+ <image src='action_schemaexpg1.svg' id='_' mimetype='image/svg+xml' height='auto' width='auto'/>
45
+ </figure>
46
+ <svgmap id='_'>
47
+ <figure id='_'>
48
+ <image src='action_schemaexpg2.svg' id='_' mimetype='image/svg+xml' height='auto' width='auto' alt='Workmap'/>
49
+ </figure>
50
+ <target href='mn://support_resource_schema'>
51
+ <eref bibitemid='express_action_schema' citeas=''>
52
+ <localityStack>
53
+ <locality type='anchor'>
54
+ <referenceFrom>action_schema.basic</referenceFrom>
55
+ </locality>
56
+ </localityStack>
57
+ Coffee
58
+ </eref>
59
+ </target>
60
+ </svgmap>
61
+ </sections>
62
+ <bibliography>
63
+ <references hidden='true' normative='false'>
64
+ <bibitem id='express_action_schema' type='internal'>
65
+ <docidentifier type='repository'>express/action_schema</docidentifier>
66
+ </bibitem>
67
+ </references>
68
+ </bibliography>
69
+ </standard-document>
70
+ OUTPUT
71
+ expect(xmlpp(File.read("action_schemaexpg1.svg", encoding: "utf-8").sub(%r{<image .*</image>}m, ""))).to be_equivalent_to <<~OUTPUT
72
+ <?xml version='1.0' encoding='UTF-8'?>
73
+ <!-- Generator: Adobe Illustrator 25.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
74
+ <svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' id='Layer_1' x='0px' y='0px' viewBox='0 0 595.28 841.89' style='enable-background:new 0 0 595.28 841.89;' xml:space='preserve'>
75
+ <style type='text/css'> .st0{fill:none;stroke:#000000;stroke-miterlimit:10;} </style>
76
+ <a xlink:href='#ref1'>
77
+ <rect x='123.28' y='273.93' class='st0' width='88.05' height='41.84'/>
78
+ </a>
79
+ <a xlink:href='mn://basic_attribute_schema'>
80
+ <rect x='324.69' y='450.52' class='st0' width='132.62' height='40.75'/>
81
+ </a>
82
+ <a xlink:href='mn://support_resource_schema'>
83
+ <rect x='324.69' y='528.36' class='st0' width='148.16' height='40.75'/>
84
+ </a>
85
+ </svg>
86
+ OUTPUT
87
+ expect(xmlpp(File.read("action_schemaexpg2.svg", encoding: "utf-8").sub(%r{<image .*</image>}m, ""))).to be_equivalent_to <<~OUTPUT
88
+ <?xml version='1.0' encoding='UTF-8'?>
89
+ <!-- Generator: Adobe Illustrator 25.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
90
+ <svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' id='Layer_1' x='0px' y='0px' viewBox='0 0 595.28 841.89' style='enable-background:new 0 0 595.28 841.89;' xml:space='preserve'>
91
+ <style type='text/css'> .st0{fill:none;stroke:#000000;stroke-miterlimit:10;} </style>
92
+ <a xlink:href='mn://action_schema'>
93
+ <rect x='123.28' y='273.93' class='st0' width='88.05' height='41.84'/>
94
+ </a>
95
+ <a xlink:href='http://www.example.com'>
96
+ <rect x='324.69' y='450.52' class='st0' width='132.62' height='40.75'/>
97
+ </a>
98
+ <a xlink:href='mn://support_resource_schema'>
99
+ <rect x='324.69' y='528.36' class='st0' width='148.16' height='40.75'/>
100
+ </a>
101
+ </svg>
102
+ OUTPUT
103
+ end
104
+
6
105
  it "processes markup in sourcecode" do
7
106
  expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
8
107
  #{ASCIIDOC_BLANK_HDR}
@@ -2404,6 +2503,4 @@ OUTPUT
2404
2503
  end.at_least :once
2405
2504
  end
2406
2505
 
2407
-
2408
-
2409
2506
  end
@@ -1214,128 +1214,150 @@ OUTPUT
1214
1214
  </sections><bibliography><references id="_" obligation="informative" normative="true">
1215
1215
  <title>Normative references</title>
1216
1216
  #{NORM_REF_BOILERPLATE}
1217
- <bibitem id="iso123" type="standard">
1218
- <fetched>#{Date.today}</fetched>
1219
- <title format="text/plain" language="en" script="Latn">Network Configuration Access Control Model</title>
1220
- <uri type='xml'>https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8341.xml</uri>
1221
- <uri type="src">https://www.rfc-editor.org/info/rfc8341</uri>
1222
- <docidentifier type="IETF">RFC 8341</docidentifier>
1223
- <docidentifier type='rfc-anchor'>RFC8341</docidentifier>
1224
- <docidentifier type="DOI">10.17487/RFC8341</docidentifier>
1225
- <date type="published">
1226
- <on>2018-03</on>
1227
- </date>
1228
- <contributor>
1229
- <role type="author"/>
1230
- <person>
1231
- <name>
1232
- <completename language="en">A. Bierman</completename>
1233
- </name>
1234
- <affiliation>
1235
- <organization>
1236
- <name>Internet Engineering Task Force</name>
1237
- <abbreviation>IETF</abbreviation>
1238
- </organization>
1239
- </affiliation>
1240
- </person>
1241
- </contributor>
1242
- <contributor>
1243
- <role type="author"/>
1244
- <person>
1245
- <name>
1246
- <completename language="en">M. Bjorklund</completename>
1247
- </name>
1248
- <affiliation>
1249
- <organization>
1250
- <name>Internet Engineering Task Force</name>
1251
- <abbreviation>IETF</abbreviation>
1252
- </organization>
1253
- </affiliation>
1254
- </person>
1255
- </contributor>
1256
- <contributor>
1257
- <role type='publisher'/>
1258
- <organization>
1259
- <name>Internet Engineering Task Force</name>
1260
- <abbreviation>IETF</abbreviation>
1261
- </organization>
1262
- </contributor>
1263
- <language>en</language>
1264
- <script>Latn</script>
1265
- <abstract format="text/plain" language="en" script="Latn">The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.This document obsoletes RFC 6536.</abstract>
1266
- <series type="main">
1267
- <title format="text/plain" language="en" script="Latn">STD</title>
1268
- <number>91</number>
1269
- </series>
1270
- <series type="main">
1271
- <title format="text/plain" language="en" script="Latn">RFC</title>
1272
- <number>8341</number>
1273
- </series>
1274
- <place>Fremont, CA</place>
1275
- </bibitem>
1276
- <bibitem id="iso124" type="standard">
1277
- <fetched>#{Date.today}</fetched>
1278
- <title format="text/plain" language="en" script="Latn">Network Configuration Access Control Model</title>
1279
- <uri type='xml'>https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8341.xml</uri>
1280
- <uri type="src">https://www.rfc-editor.org/info/rfc8341</uri>
1281
- <docidentifier type="IETF">RFC 8341</docidentifier>
1282
- <docidentifier type='metanorma'>[2]</docidentifier>
1283
- <docidentifier type='rfc-anchor'>RFC8341</docidentifier>
1284
- <docidentifier type="DOI">10.17487/RFC8341</docidentifier>
1285
- <date type="published">
1286
- <on>2018-03</on>
1287
- </date>
1288
- <contributor>
1289
- <role type="author"/>
1290
- <person>
1291
- <name>
1292
- <completename language="en">A. Bierman</completename>
1293
- </name>
1294
- <affiliation>
1295
- <organization>
1296
- <name>Internet Engineering Task Force</name>
1297
- <abbreviation>IETF</abbreviation>
1298
- </organization>
1299
- </affiliation>
1300
- </person>
1301
- </contributor>
1302
- <contributor>
1303
- <role type="author"/>
1304
- <person>
1305
- <name>
1306
- <completename language="en">M. Bjorklund</completename>
1307
- </name>
1308
- <affiliation>
1309
- <organization>
1310
- <name>Internet Engineering Task Force</name>
1311
- <abbreviation>IETF</abbreviation>
1312
- </organization>
1313
- </affiliation>
1314
- </person>
1315
- </contributor>
1316
- <contributor>
1317
- <role type='publisher'/>
1318
- <organization>
1319
- <name>Internet Engineering Task Force</name>
1320
- <abbreviation>IETF</abbreviation>
1321
- </organization>
1322
- </contributor>
1323
- <language>en</language>
1324
- <script>Latn</script>
1325
- <abstract format="text/plain" language="en" script="Latn">The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.This document obsoletes RFC 6536.</abstract>
1326
- <series type="main">
1327
- <title format="text/plain" language="en" script="Latn">STD</title>
1328
- <number>91</number>
1329
- </series>
1330
- <series type="main">
1331
- <title format="text/plain" language="en" script="Latn">RFC</title>
1332
- <number>8341</number>
1333
- </series>
1334
- <place>Fremont, CA</place>
1335
- </bibitem>
1336
- </references>
1337
- </bibliography>
1338
- </standard-document>
1217
+ <bibitem id='iso123' type='standard'>
1218
+ <fetched>#{Date.today}</fetched>
1219
+ <title format='text/plain' language='en' script='Latn'>Network Configuration Access Control Model</title>
1220
+ <uri type='xml'>
1221
+ https://raw.githubusercontent.com/relaton/relaton-data-ietf/master/data/reference.RFC.8341.xml
1222
+ </uri>
1223
+ <uri type='src'>https://www.rfc-editor.org/info/rfc8341</uri>
1224
+ <docidentifier type='IETF'>RFC 8341</docidentifier>
1225
+ <docidentifier type='rfc-anchor'>RFC8341</docidentifier>
1226
+ <docidentifier type='DOI'>10.17487/RFC8341</docidentifier>
1227
+ <date type='published'>
1228
+ <on>2018-03</on>
1229
+ </date>
1230
+ <contributor>
1231
+ <role type='author'/>
1232
+ <person>
1233
+ <name>
1234
+ <completename language='en'>A. Bierman</completename>
1235
+ </name>
1236
+ <affiliation>
1237
+ <organization>
1238
+ <name>Internet Engineering Task Force</name>
1239
+ <abbreviation>IETF</abbreviation>
1240
+ </organization>
1241
+ </affiliation>
1242
+ </person>
1243
+ </contributor>
1244
+ <contributor>
1245
+ <role type='author'/>
1246
+ <person>
1247
+ <name>
1248
+ <completename language='en'>M. Bjorklund</completename>
1249
+ </name>
1250
+ <affiliation>
1251
+ <organization>
1252
+ <name>Internet Engineering Task Force</name>
1253
+ <abbreviation>IETF</abbreviation>
1254
+ </organization>
1255
+ </affiliation>
1256
+ </person>
1257
+ </contributor>
1258
+ <contributor>
1259
+ <role type='publisher'/>
1260
+ <organization>
1261
+ <name>Internet Engineering Task Force</name>
1262
+ <abbreviation>IETF</abbreviation>
1263
+ </organization>
1264
+ </contributor>
1265
+ <language>en</language>
1266
+ <script>Latn</script>
1267
+ <abstract format='text/plain' language='en' script='Latn'>
1268
+ The standardization of network configuration interfaces for use with
1269
+ the Network Configuration Protocol (NETCONF) or the RESTCONF protocol
1270
+ requires a structured and secure operating environment that promotes
1271
+ human usability and multi-vendor interoperability. There is a need for
1272
+ standard mechanisms to restrict NETCONF or RESTCONF protocol access
1273
+ for particular users to a preconfigured subset of all available
1274
+ NETCONF or RESTCONF protocol operations and content. This document
1275
+ defines such an access control model.This document obsoletes RFC 6536.
1276
+ </abstract>
1277
+ <series type='main'>
1278
+ <title format='text/plain' language='en' script='Latn'>STD</title>
1279
+ <number>91</number>
1280
+ </series>
1281
+ <series type='main'>
1282
+ <title format='text/plain' language='en' script='Latn'>RFC</title>
1283
+ <number>8341</number>
1284
+ </series>
1285
+ <place>Fremont, CA</place>
1286
+ </bibitem>
1287
+ <bibitem id='iso124' type='standard'>
1288
+ <fetched>#{Date.today}</fetched>
1289
+ <title format='text/plain' language='en' script='Latn'>Network Configuration Access Control Model</title>
1290
+ <uri type='xml'>
1291
+ https://raw.githubusercontent.com/relaton/relaton-data-ietf/master/data/reference.RFC.8341.xml
1292
+ </uri>
1293
+ <uri type='src'>https://www.rfc-editor.org/info/rfc8341</uri>
1294
+ <docidentifier type='IETF'>RFC 8341</docidentifier>
1295
+ <docidentifier type='metanorma'>[2]</docidentifier>
1296
+ <docidentifier type='rfc-anchor'>RFC8341</docidentifier>
1297
+ <docidentifier type='DOI'>10.17487/RFC8341</docidentifier>
1298
+ <date type='published'>
1299
+ <on>2018-03</on>
1300
+ </date>
1301
+ <contributor>
1302
+ <role type='author'/>
1303
+ <person>
1304
+ <name>
1305
+ <completename language='en'>A. Bierman</completename>
1306
+ </name>
1307
+ <affiliation>
1308
+ <organization>
1309
+ <name>Internet Engineering Task Force</name>
1310
+ <abbreviation>IETF</abbreviation>
1311
+ </organization>
1312
+ </affiliation>
1313
+ </person>
1314
+ </contributor>
1315
+ <contributor>
1316
+ <role type='author'/>
1317
+ <person>
1318
+ <name>
1319
+ <completename language='en'>M. Bjorklund</completename>
1320
+ </name>
1321
+ <affiliation>
1322
+ <organization>
1323
+ <name>Internet Engineering Task Force</name>
1324
+ <abbreviation>IETF</abbreviation>
1325
+ </organization>
1326
+ </affiliation>
1327
+ </person>
1328
+ </contributor>
1329
+ <contributor>
1330
+ <role type='publisher'/>
1331
+ <organization>
1332
+ <name>Internet Engineering Task Force</name>
1333
+ <abbreviation>IETF</abbreviation>
1334
+ </organization>
1335
+ </contributor>
1336
+ <language>en</language>
1337
+ <script>Latn</script>
1338
+ <abstract format='text/plain' language='en' script='Latn'>
1339
+ The standardization of network configuration interfaces for use with
1340
+ the Network Configuration Protocol (NETCONF) or the RESTCONF protocol
1341
+ requires a structured and secure operating environment that promotes
1342
+ human usability and multi-vendor interoperability. There is a need for
1343
+ standard mechanisms to restrict NETCONF or RESTCONF protocol access
1344
+ for particular users to a preconfigured subset of all available
1345
+ NETCONF or RESTCONF protocol operations and content. This document
1346
+ defines such an access control model.This document obsoletes RFC 6536.
1347
+ </abstract>
1348
+ <series type='main'>
1349
+ <title format='text/plain' language='en' script='Latn'>STD</title>
1350
+ <number>91</number>
1351
+ </series>
1352
+ <series type='main'>
1353
+ <title format='text/plain' language='en' script='Latn'>RFC</title>
1354
+ <number>8341</number>
1355
+ </series>
1356
+ <place>Fremont, CA</place>
1357
+ </bibitem>
1358
+ </references>
1359
+ </bibliography>
1360
+ </standard-document>
1339
1361
  OUTPUT
1340
1362
  end
1341
1363
  end
@@ -0,0 +1,122 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 25.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 595.28 841.89" style="enable-background:new 0 0 595.28 841.89;" xml:space="preserve">
5
+ <style type="text/css">
6
+ .st0{fill:none;stroke:#000000;stroke-miterlimit:10;}
7
+ </style>
8
+ <image style="overflow:visible;" width="368" height="315" xlink:href="data:image/gif;base64,R0lGODlhcAE7Aff/AAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBm
9
+ ZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/MwD/ZgD/
10
+ mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNmZjNmmTNm
11
+ zDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/mTP/zDP/
12
+ /2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZmzGZm/2aZ
13
+ AGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkA
14
+ M5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZAJmZM5mZ
15
+ ZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswA
16
+ mcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZ
17
+ zMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A
18
+ //8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///M
19
+ AP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP////j4+PLy8uvr6+Xl5d/f39jY2NLS0szM
20
+ zMXFxb+/v7i4uLKysqysrKWlpZ+fn5mZmZKSkoyMjIWFhX9/f3l5eXJycmxsbGZmZl9fX1lZWVJS
21
+ UkxMTEZGRj8/Pzk5OTMzMywsLCYmJh8fHxkZGRMTEwwMDAYGBgAAACwAAAAAcAE7AQAI/gCvCRxI
22
+ sKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bN
23
+ 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" transform="matrix(1 0 0 1 114 263.8898)">
112
+ </image>
113
+ <a xlink:href="mn://action_schema" >
114
+ <rect x="123.28" y="273.93" class="st0" width="88.05" height="41.84"/>
115
+ </a>
116
+ <a xlink:href="mn://basic_attribute_schema" >
117
+ <rect x="324.69" y="450.52" class="st0" width="132.62" height="40.75"/>
118
+ </a>
119
+ <a xlink:href="mn://support_resource_schema" >
120
+ <rect x="324.69" y="528.36" class="st0" width="148.16" height="40.75"/>
121
+ </a>
122
+ </svg>
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8341.xml
5
+ uri: https://raw.githubusercontent.com/relaton/relaton-data-ietf/master/data/reference.RFC.8341.xml
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -14,28 +14,60 @@ http_interactions:
14
14
  User-Agent:
15
15
  - Ruby
16
16
  Host:
17
- - xml2rfc.tools.ietf.org
17
+ - raw.githubusercontent.com
18
18
  response:
19
19
  status:
20
20
  code: 200
21
21
  message: OK
22
22
  headers:
23
- Date:
24
- - Sat, 23 Jan 2021 13:43:29 GMT
25
- Server:
26
- - Apache/2.2.22 (Debian)
27
- Last-Modified:
28
- - Sat, 23 Jan 2021 00:35:19 GMT
23
+ Connection:
24
+ - keep-alive
25
+ Content-Length:
26
+ - '618'
27
+ Content-Type:
28
+ - text/plain; charset=utf-8
29
+ Cache-Control:
30
+ - max-age=300
31
+ Content-Security-Policy:
32
+ - default-src 'none'; style-src 'unsafe-inline'; sandbox
29
33
  Etag:
30
- - '"39c1e56-46c-5b9867ab51fc0"'
34
+ - W/"917849434ef8ee04a3bcadf9ae049ece388743c0c3d6cc3be9719aa90d0c2aa3"
35
+ Strict-Transport-Security:
36
+ - max-age=31536000
37
+ X-Content-Type-Options:
38
+ - nosniff
39
+ X-Frame-Options:
40
+ - deny
41
+ X-Xss-Protection:
42
+ - 1; mode=block
43
+ X-Github-Request-Id:
44
+ - B5BC:0DDF:19AA11:1D7122:602088BC
31
45
  Accept-Ranges:
32
46
  - bytes
33
- Content-Length:
34
- - '1132'
35
- Content-Type:
36
- - application/xml
47
+ Date:
48
+ - Mon, 08 Feb 2021 00:41:41 GMT
49
+ Via:
50
+ - 1.1 varnish
51
+ X-Served-By:
52
+ - cache-mel11240-MEL
53
+ X-Cache:
54
+ - MISS
55
+ X-Cache-Hits:
56
+ - '0'
57
+ X-Timer:
58
+ - S1612744901.364584,VS0,VE392
59
+ Vary:
60
+ - Authorization,Accept-Encoding, Accept-Encoding
61
+ Access-Control-Allow-Origin:
62
+ - "*"
63
+ X-Fastly-Request-Id:
64
+ - 3eb9cc91bfd01ce6f01a711732c525441e210a07
65
+ Expires:
66
+ - Mon, 08 Feb 2021 00:46:41 GMT
67
+ Source-Age:
68
+ - '0'
37
69
  body:
38
- encoding: UTF-8
70
+ encoding: ASCII-8BIT
39
71
  string: |
40
72
  <?xml version='1.0' encoding='UTF-8'?>
41
73
 
@@ -52,10 +84,10 @@ http_interactions:
52
84
  <seriesInfo name='DOI' value='10.17487/RFC8341'/>
53
85
  </reference>
54
86
  http_version:
55
- recorded_at: Sat, 23 Jan 2021 13:43:29 GMT
87
+ recorded_at: Mon, 08 Feb 2021 00:41:41 GMT
56
88
  - request:
57
89
  method: get
58
- uri: https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8341.xml
90
+ uri: https://raw.githubusercontent.com/relaton/relaton-data-ietf/master/data/reference.RFC.8341.xml
59
91
  body:
60
92
  encoding: US-ASCII
61
93
  string: ''
@@ -67,28 +99,60 @@ http_interactions:
67
99
  User-Agent:
68
100
  - Ruby
69
101
  Host:
70
- - xml2rfc.tools.ietf.org
102
+ - raw.githubusercontent.com
71
103
  response:
72
104
  status:
73
105
  code: 200
74
106
  message: OK
75
107
  headers:
76
- Date:
77
- - Sat, 23 Jan 2021 13:43:30 GMT
78
- Server:
79
- - Apache/2.2.22 (Debian)
80
- Last-Modified:
81
- - Sat, 23 Jan 2021 00:35:19 GMT
108
+ Connection:
109
+ - keep-alive
110
+ Content-Length:
111
+ - '618'
112
+ Content-Type:
113
+ - text/plain; charset=utf-8
114
+ Cache-Control:
115
+ - max-age=300
116
+ Content-Security-Policy:
117
+ - default-src 'none'; style-src 'unsafe-inline'; sandbox
82
118
  Etag:
83
- - '"39c1e56-46c-5b9867ab51fc0"'
119
+ - W/"917849434ef8ee04a3bcadf9ae049ece388743c0c3d6cc3be9719aa90d0c2aa3"
120
+ Strict-Transport-Security:
121
+ - max-age=31536000
122
+ X-Content-Type-Options:
123
+ - nosniff
124
+ X-Frame-Options:
125
+ - deny
126
+ X-Xss-Protection:
127
+ - 1; mode=block
128
+ X-Github-Request-Id:
129
+ - B5BC:0DDF:19AA11:1D7122:602088BC
84
130
  Accept-Ranges:
85
131
  - bytes
86
- Content-Length:
87
- - '1132'
88
- Content-Type:
89
- - application/xml
132
+ Date:
133
+ - Mon, 08 Feb 2021 00:41:41 GMT
134
+ Via:
135
+ - 1.1 varnish
136
+ X-Served-By:
137
+ - cache-mel11257-MEL
138
+ X-Cache:
139
+ - HIT
140
+ X-Cache-Hits:
141
+ - '1'
142
+ X-Timer:
143
+ - S1612744902.820850,VS0,VE0
144
+ Vary:
145
+ - Authorization,Accept-Encoding, Accept-Encoding
146
+ Access-Control-Allow-Origin:
147
+ - "*"
148
+ X-Fastly-Request-Id:
149
+ - c7ec6c3ddfd52d0d407a26b2e03bf80e8f3a44f7
150
+ Expires:
151
+ - Mon, 08 Feb 2021 00:46:41 GMT
152
+ Source-Age:
153
+ - '0'
90
154
  body:
91
- encoding: UTF-8
155
+ encoding: ASCII-8BIT
92
156
  string: |
93
157
  <?xml version='1.0' encoding='UTF-8'?>
94
158
 
@@ -105,5 +169,5 @@ http_interactions:
105
169
  <seriesInfo name='DOI' value='10.17487/RFC8341'/>
106
170
  </reference>
107
171
  http_version:
108
- recorded_at: Sat, 23 Jan 2021 13:43:30 GMT
172
+ recorded_at: Mon, 08 Feb 2021 00:41:41 GMT
109
173
  recorded_with: VCR 5.0.0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-standoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.2
4
+ version: 1.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-25 00:00:00.000000000 Z
11
+ date: 2021-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciidoctor
@@ -156,14 +156,14 @@ dependencies:
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: '1'
159
+ version: 1.0.2
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: '1'
166
+ version: 1.0.2
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: mimemagic
169
169
  requirement: !ruby/object:Gem::Requirement
@@ -451,25 +451,25 @@ files:
451
451
  - lib/metanorma/standoc/processor.rb
452
452
  - lib/metanorma/standoc/version.rb
453
453
  - metanorma-standoc.gemspec
454
- - spec/asciidoctor-standoc/base_spec.rb
455
- - spec/asciidoctor-standoc/blocks_spec.rb
456
- - spec/asciidoctor-standoc/cleanup_sections_spec.rb
457
- - spec/asciidoctor-standoc/cleanup_spec.rb
458
- - spec/asciidoctor-standoc/datamodel/attributes_table_preprocessor_spec.rb
459
- - spec/asciidoctor-standoc/datamodel/diagram_preprocessor_spec.rb
460
- - spec/asciidoctor-standoc/inline_spec.rb
461
- - spec/asciidoctor-standoc/isobib_cache_spec.rb
462
- - spec/asciidoctor-standoc/lists_spec.rb
463
- - spec/asciidoctor-standoc/macros_json2text_spec.rb
464
- - spec/asciidoctor-standoc/macros_lutaml_spec.rb
465
- - spec/asciidoctor-standoc/macros_plantuml_spec.rb
466
- - spec/asciidoctor-standoc/macros_spec.rb
467
- - spec/asciidoctor-standoc/macros_yaml2text_spec.rb
468
- - spec/asciidoctor-standoc/refs_dl_spec.rb
469
- - spec/asciidoctor-standoc/refs_spec.rb
470
- - spec/asciidoctor-standoc/section_spec.rb
471
- - spec/asciidoctor-standoc/table_spec.rb
472
- - spec/asciidoctor-standoc/validate_spec.rb
454
+ - spec/asciidoctor/base_spec.rb
455
+ - spec/asciidoctor/blocks_spec.rb
456
+ - spec/asciidoctor/cleanup_sections_spec.rb
457
+ - spec/asciidoctor/cleanup_spec.rb
458
+ - spec/asciidoctor/datamodel/attributes_table_preprocessor_spec.rb
459
+ - spec/asciidoctor/datamodel/diagram_preprocessor_spec.rb
460
+ - spec/asciidoctor/inline_spec.rb
461
+ - spec/asciidoctor/isobib_cache_spec.rb
462
+ - spec/asciidoctor/lists_spec.rb
463
+ - spec/asciidoctor/macros_json2text_spec.rb
464
+ - spec/asciidoctor/macros_lutaml_spec.rb
465
+ - spec/asciidoctor/macros_plantuml_spec.rb
466
+ - spec/asciidoctor/macros_spec.rb
467
+ - spec/asciidoctor/macros_yaml2text_spec.rb
468
+ - spec/asciidoctor/refs_dl_spec.rb
469
+ - spec/asciidoctor/refs_spec.rb
470
+ - spec/asciidoctor/section_spec.rb
471
+ - spec/asciidoctor/table_spec.rb
472
+ - spec/asciidoctor/validate_spec.rb
473
473
  - spec/assets/boilerplate.xml
474
474
  - spec/assets/codes.yml
475
475
  - spec/assets/header.html
@@ -529,6 +529,7 @@ files:
529
529
  - spec/examples/rice_images/rice_image3_1.png
530
530
  - spec/examples/rice_images/rice_image3_2.png
531
531
  - spec/examples/rice_images/rice_image3_3.png
532
+ - spec/fixtures/action_schemaexpg1.svg
532
533
  - spec/fixtures/diagram_definitions.lutaml
533
534
  - spec/fixtures/macros_datamodel/address_class_profile.xml
534
535
  - spec/fixtures/macros_datamodel/address_component_profile.xml
@@ -566,7 +567,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
566
567
  - !ruby/object:Gem::Version
567
568
  version: '0'
568
569
  requirements: []
569
- rubygems_version: 3.0.3
570
+ rubygems_version: 3.1.4
570
571
  signing_key:
571
572
  specification_version: 4
572
573
  summary: metanorma-standoc realises standards following the Metanorma standoc model