metanorma-standoc 1.8.2 → 1.8.3

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.
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