metanorma-standoc 1.10.6 → 1.10.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/asciidoctor/standoc/base.rb +3 -13
- data/lib/asciidoctor/standoc/cleanup.rb +26 -1
- data/lib/asciidoctor/standoc/cleanup_block.rb +3 -71
- data/lib/asciidoctor/standoc/cleanup_inline.rb +0 -102
- data/lib/asciidoctor/standoc/cleanup_reqt.rb +3 -3
- data/lib/asciidoctor/standoc/cleanup_section_names.rb +5 -5
- data/lib/asciidoctor/standoc/cleanup_table.rb +68 -0
- data/lib/asciidoctor/standoc/cleanup_text.rb +5 -2
- data/lib/asciidoctor/standoc/cleanup_xref.rb +107 -0
- data/lib/asciidoctor/standoc/converter.rb +12 -0
- data/lib/asciidoctor/standoc/isodoc.rng +9 -0
- data/lib/asciidoctor/standoc/macros.rb +14 -43
- data/lib/asciidoctor/standoc/macros_note.rb +45 -0
- data/lib/metanorma/standoc/version.rb +1 -1
- data/spec/asciidoctor/base_spec.rb +0 -33
- data/spec/asciidoctor/blank_spec.rb +37 -0
- data/spec/asciidoctor/blocks_spec.rb +31 -0
- data/spec/asciidoctor/cleanup_sections_spec.rb +146 -5
- data/spec/asciidoctor/cleanup_spec.rb +1 -1
- data/spec/asciidoctor/inline_spec.rb +36 -0
- data/spec/asciidoctor/macros_plantuml_spec.rb +1 -1
- data/spec/asciidoctor/macros_spec.rb +1 -1
- data/spec/fixtures/datamodel_description_sections_tree.xml +3 -2
- data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +45 -45
- data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec1.yml +12 -12
- data/spec/vcr_cassettes/isobib_get_123.yml +13 -13
- data/spec/vcr_cassettes/isobib_get_123_1.yml +23 -23
- data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +33 -33
- data/spec/vcr_cassettes/isobib_get_123_2001.yml +12 -12
- data/spec/vcr_cassettes/isobib_get_124.yml +13 -13
- data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +16 -16
- data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +52 -50
- metadata +6 -2
@@ -6,6 +6,7 @@ require "csv"
|
|
6
6
|
require_relative "./macros_plantuml"
|
7
7
|
require_relative "./macros_terms"
|
8
8
|
require_relative "./macros_form"
|
9
|
+
require_relative "./macros_note"
|
9
10
|
require_relative "./datamodel/attributes_table_preprocessor"
|
10
11
|
require_relative "./datamodel/diagram_preprocessor"
|
11
12
|
require "metanorma-plugin-datastruct"
|
@@ -41,7 +42,7 @@ module Asciidoctor
|
|
41
42
|
def process(_parent, target, attr)
|
42
43
|
args = preprocess_attrs(attr) or return
|
43
44
|
ret = "<index-xref also='#{target == 'also'}'>"\
|
44
|
-
|
45
|
+
"<primary>#{args[:primary]}</primary>"
|
45
46
|
ret += "<secondary>#{args[:secondary]}</secondary>" if args[:secondary]
|
46
47
|
ret += "<tertiary>#{args[:tertiary]}</tertiary>" if args[:tertiary]
|
47
48
|
ret + "<target>#{args[:target]}</target></index-xref>"
|
@@ -50,7 +51,7 @@ module Asciidoctor
|
|
50
51
|
|
51
52
|
class IndexRangeInlineMacro < Asciidoctor::Extensions::InlineMacroProcessor
|
52
53
|
use_dsl
|
53
|
-
named "index-range"
|
54
|
+
named :"index-range"
|
54
55
|
parse_content_as :text
|
55
56
|
|
56
57
|
def process(parent, target, attr)
|
@@ -121,35 +122,6 @@ module Asciidoctor
|
|
121
122
|
end
|
122
123
|
end
|
123
124
|
|
124
|
-
class ToDoAdmonitionBlock < Extensions::BlockProcessor
|
125
|
-
use_dsl
|
126
|
-
named :TODO
|
127
|
-
on_contexts :example, :paragraph
|
128
|
-
|
129
|
-
def process(parent, reader, attrs)
|
130
|
-
attrs["name"] = "todo"
|
131
|
-
attrs["caption"] = "TODO"
|
132
|
-
create_block(parent, :admonition, reader.lines, attrs,
|
133
|
-
content_model: :compound)
|
134
|
-
end
|
135
|
-
end
|
136
|
-
|
137
|
-
class ToDoInlineAdmonitionBlock < Extensions::Treeprocessor
|
138
|
-
def process(document)
|
139
|
-
(document.find_by context: :paragraph).each do |para|
|
140
|
-
next unless /^TODO: /.match? para.lines[0]
|
141
|
-
|
142
|
-
parent = para.parent
|
143
|
-
para.set_attr("name", "todo")
|
144
|
-
para.set_attr("caption", "TODO")
|
145
|
-
para.lines[0].sub!(/^TODO: /, "")
|
146
|
-
todo = Block.new(parent, :admonition, attributes: para.attributes,
|
147
|
-
source: para.lines, content_model: :compound)
|
148
|
-
parent.blocks[parent.blocks.index(para)] = todo
|
149
|
-
end
|
150
|
-
end
|
151
|
-
end
|
152
|
-
|
153
125
|
class AutonumberInlineMacro < Extensions::InlineMacroProcessor
|
154
126
|
use_dsl
|
155
127
|
named :autonumber
|
@@ -177,18 +149,6 @@ module Asciidoctor
|
|
177
149
|
end
|
178
150
|
end
|
179
151
|
|
180
|
-
class FootnoteBlockInlineMacro < Asciidoctor::Extensions::InlineMacroProcessor
|
181
|
-
use_dsl
|
182
|
-
named :footnoteblock
|
183
|
-
parse_content_as :text
|
184
|
-
using_format :short
|
185
|
-
|
186
|
-
def process(parent, _target, attrs)
|
187
|
-
out = Asciidoctor::Inline.new(parent, :quoted, attrs["text"]).convert
|
188
|
-
%{<footnoteblock>#{out}</footnoteblock>}
|
189
|
-
end
|
190
|
-
end
|
191
|
-
|
192
152
|
class AddMacro < Asciidoctor::Extensions::InlineMacroProcessor
|
193
153
|
use_dsl
|
194
154
|
named :add
|
@@ -229,5 +189,16 @@ module Asciidoctor
|
|
229
189
|
"<toc>#{content}</toc>"
|
230
190
|
end
|
231
191
|
end
|
192
|
+
|
193
|
+
class PassInlineMacro < Asciidoctor::Extensions::InlineMacroProcessor
|
194
|
+
use_dsl
|
195
|
+
named :"pass-format"
|
196
|
+
|
197
|
+
def process(parent, target, attrs)
|
198
|
+
format = target || "metanorma"
|
199
|
+
out = Asciidoctor::Inline.new(parent, :quoted, attrs[1]).convert
|
200
|
+
%{<passthrough formats="#{format}">#{out}</passthrough>}
|
201
|
+
end
|
202
|
+
end
|
232
203
|
end
|
233
204
|
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module Asciidoctor
|
2
|
+
module Standoc
|
3
|
+
class ToDoAdmonitionBlock < Extensions::BlockProcessor
|
4
|
+
use_dsl
|
5
|
+
named :TODO
|
6
|
+
on_contexts :example, :paragraph
|
7
|
+
|
8
|
+
def process(parent, reader, attrs)
|
9
|
+
attrs["name"] = "todo"
|
10
|
+
attrs["caption"] = "TODO"
|
11
|
+
create_block(parent, :admonition, reader.lines, attrs,
|
12
|
+
content_model: :compound)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class ToDoInlineAdmonitionBlock < Extensions::Treeprocessor
|
17
|
+
def process(document)
|
18
|
+
(document.find_by context: :paragraph).each do |para|
|
19
|
+
next unless /^TODO: /.match? para.lines[0]
|
20
|
+
|
21
|
+
parent = para.parent
|
22
|
+
para.set_attr("name", "todo")
|
23
|
+
para.set_attr("caption", "TODO")
|
24
|
+
para.lines[0].sub!(/^TODO: /, "")
|
25
|
+
todo = Block.new(parent, :admonition, attributes: para.attributes,
|
26
|
+
source: para.lines,
|
27
|
+
content_model: :compound)
|
28
|
+
parent.blocks[parent.blocks.index(para)] = todo
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
class FootnoteBlockInlineMacro < Asciidoctor::Extensions::InlineMacroProcessor
|
34
|
+
use_dsl
|
35
|
+
named :footnoteblock
|
36
|
+
parse_content_as :text
|
37
|
+
using_format :short
|
38
|
+
|
39
|
+
def process(parent, _target, attrs)
|
40
|
+
out = Asciidoctor::Inline.new(parent, :quoted, attrs["text"]).convert
|
41
|
+
%{<footnoteblock>#{out}</footnoteblock>}
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -6,39 +6,6 @@ RSpec.describe Asciidoctor::Standoc do
|
|
6
6
|
expect(Metanorma::Standoc::VERSION).not_to be nil
|
7
7
|
end
|
8
8
|
|
9
|
-
it "processes a blank document" do
|
10
|
-
input = <<~INPUT
|
11
|
-
#{ASCIIDOC_BLANK_HDR}
|
12
|
-
INPUT
|
13
|
-
output = <<~OUTPUT
|
14
|
-
#{BLANK_HDR}
|
15
|
-
<sections/>
|
16
|
-
</standard-document>
|
17
|
-
OUTPUT
|
18
|
-
expect(xmlpp(Asciidoctor.convert(input, *OPTIONS)))
|
19
|
-
.to be_equivalent_to xmlpp(output)
|
20
|
-
end
|
21
|
-
|
22
|
-
it "converts a blank document" do
|
23
|
-
FileUtils.rm_f "test.doc"
|
24
|
-
input = <<~INPUT
|
25
|
-
= Document title
|
26
|
-
Author
|
27
|
-
:docfile: test.adoc
|
28
|
-
:novalid:
|
29
|
-
INPUT
|
30
|
-
output = <<~OUTPUT
|
31
|
-
#{BLANK_HDR}
|
32
|
-
<sections/>
|
33
|
-
</standard-document>
|
34
|
-
OUTPUT
|
35
|
-
expect(xmlpp(Asciidoctor.convert(input, *OPTIONS)))
|
36
|
-
.to be_equivalent_to xmlpp(output)
|
37
|
-
expect(File.exist?("test.doc")).to be true
|
38
|
-
expect(File.exist?("test.pdf")).to be true
|
39
|
-
expect(File.exist?("htmlstyle.css")).to be false
|
40
|
-
end
|
41
|
-
|
42
9
|
it "assigns default scripts to major languages" do
|
43
10
|
FileUtils.rm_f "test.doc"
|
44
11
|
input = <<~INPUT
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require "fileutils"
|
3
|
+
|
4
|
+
RSpec.describe Asciidoctor::Standoc do
|
5
|
+
it "processes a blank document" do
|
6
|
+
input = <<~INPUT
|
7
|
+
#{ASCIIDOC_BLANK_HDR}
|
8
|
+
INPUT
|
9
|
+
output = <<~OUTPUT
|
10
|
+
#{BLANK_HDR}
|
11
|
+
<sections/>
|
12
|
+
</standard-document>
|
13
|
+
OUTPUT
|
14
|
+
expect(xmlpp(Asciidoctor.convert(input, *OPTIONS)))
|
15
|
+
.to be_equivalent_to xmlpp(output)
|
16
|
+
end
|
17
|
+
|
18
|
+
it "converts a blank document" do
|
19
|
+
FileUtils.rm_f "test.doc"
|
20
|
+
input = <<~INPUT
|
21
|
+
= Document title
|
22
|
+
Author
|
23
|
+
:docfile: test.adoc
|
24
|
+
:novalid:
|
25
|
+
INPUT
|
26
|
+
output = <<~OUTPUT
|
27
|
+
#{BLANK_HDR}
|
28
|
+
<sections/>
|
29
|
+
</standard-document>
|
30
|
+
OUTPUT
|
31
|
+
expect(xmlpp(Asciidoctor.convert(input, *OPTIONS)))
|
32
|
+
.to be_equivalent_to xmlpp(output)
|
33
|
+
expect(File.exist?("test.doc")).to be true
|
34
|
+
expect(File.exist?("test.pdf")).to be true
|
35
|
+
expect(File.exist?("htmlstyle.css")).to be false
|
36
|
+
end
|
37
|
+
end
|
@@ -1605,4 +1605,35 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1605
1605
|
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
1606
1606
|
.to be_equivalent_to xmlpp(output)
|
1607
1607
|
end
|
1608
|
+
|
1609
|
+
it "processes hard breaks" do
|
1610
|
+
input = <<~INPUT
|
1611
|
+
#{ASCIIDOC_BLANK_HDR}
|
1612
|
+
|
1613
|
+
[%hardbreaks]
|
1614
|
+
One hardbreak
|
1615
|
+
Two
|
1616
|
+
|
1617
|
+
Three hardbreaks +
|
1618
|
+
Four
|
1619
|
+
INPUT
|
1620
|
+
output = <<~OUTPUT
|
1621
|
+
#{BLANK_HDR}
|
1622
|
+
<sections>
|
1623
|
+
<p id='_'>
|
1624
|
+
One hardbreak
|
1625
|
+
<br/>
|
1626
|
+
Two
|
1627
|
+
</p>
|
1628
|
+
<p id='_'>
|
1629
|
+
Three hardbreaks
|
1630
|
+
<br/>
|
1631
|
+
Four
|
1632
|
+
</p>
|
1633
|
+
</sections>
|
1634
|
+
</standard-document>
|
1635
|
+
OUTPUT
|
1636
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
1637
|
+
.to be_equivalent_to xmlpp(output)
|
1638
|
+
end
|
1608
1639
|
end
|
@@ -1610,7 +1610,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1610
1610
|
== Clause
|
1611
1611
|
|
1612
1612
|
[.variant-title,type=toc]
|
1613
|
-
Clause _A_ stem:[
|
1613
|
+
Clause _A_ stem:[y]
|
1614
1614
|
|
1615
1615
|
Text
|
1616
1616
|
INPUT
|
@@ -1622,8 +1622,8 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1622
1622
|
<p id='_'>Text</p>
|
1623
1623
|
<clause id='_' inline-header='false' obligation='normative'>
|
1624
1624
|
<title>Subclause</title>
|
1625
|
-
<variant-title
|
1626
|
-
<variant-title
|
1625
|
+
<variant-title type='sub'>“A” ‘B’</variant-title>
|
1626
|
+
<variant-title type='toc'>
|
1627
1627
|
Clause
|
1628
1628
|
<em>A</em>
|
1629
1629
|
<stem type='MathML'>
|
@@ -1638,12 +1638,153 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1638
1638
|
</sections>
|
1639
1639
|
<annex id='_' inline-header='false' obligation='normative'>
|
1640
1640
|
<title>Clause</title>
|
1641
|
-
<variant-title
|
1641
|
+
<variant-title type='toc'>
|
1642
1642
|
Clause
|
1643
1643
|
<em>A</em>
|
1644
1644
|
<stem type='MathML'>
|
1645
1645
|
<math xmlns='http://www.w3.org/1998/Math/MathML'>
|
1646
|
-
<mi>
|
1646
|
+
<mi>y</mi>
|
1647
|
+
</math>
|
1648
|
+
</stem>
|
1649
|
+
</variant-title>
|
1650
|
+
<p id='_'>Text</p>
|
1651
|
+
</annex>
|
1652
|
+
</standard-document>
|
1653
|
+
OUTPUT
|
1654
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
1655
|
+
.to be_equivalent_to xmlpp(output)
|
1656
|
+
end
|
1657
|
+
|
1658
|
+
it "processes TOC clause" do
|
1659
|
+
input = <<~INPUT
|
1660
|
+
#{ASCIIDOC_BLANK_HDR}
|
1661
|
+
|
1662
|
+
== Clause
|
1663
|
+
Text
|
1664
|
+
|
1665
|
+
[type=toc]
|
1666
|
+
=== Table of contents
|
1667
|
+
|
1668
|
+
Text at the start
|
1669
|
+
|
1670
|
+
==== Toc 1
|
1671
|
+
|
1672
|
+
* <<cl2>>
|
1673
|
+
** <<a1>>
|
1674
|
+
|
1675
|
+
==== Toc 2
|
1676
|
+
|
1677
|
+
* <<cl2,some text>>
|
1678
|
+
** <<a1,some more text>>
|
1679
|
+
|
1680
|
+
[[cl2]]
|
1681
|
+
== Clause2
|
1682
|
+
|
1683
|
+
[.variant-title,type=toc]
|
1684
|
+
Clause _A_ stem:[x]
|
1685
|
+
|
1686
|
+
[.variant-title,type=sub]
|
1687
|
+
"A" 'B'
|
1688
|
+
|
1689
|
+
Text
|
1690
|
+
|
1691
|
+
[[a1]]
|
1692
|
+
[appendix]
|
1693
|
+
== Clause
|
1694
|
+
|
1695
|
+
[.variant-title,type=toc]
|
1696
|
+
Clause _A_ stem:[y]
|
1697
|
+
|
1698
|
+
Text
|
1699
|
+
INPUT
|
1700
|
+
output = <<~OUTPUT
|
1701
|
+
#{BLANK_HDR}
|
1702
|
+
<sections>
|
1703
|
+
<clause id='_' inline-header='false' obligation='normative'>
|
1704
|
+
<title>Clause</title>
|
1705
|
+
<p id='_'>Text</p>
|
1706
|
+
<clause id='_' type='toc' inline-header='false' obligation='normative'>
|
1707
|
+
<title>Table of contents</title>
|
1708
|
+
<p id='_'>Text at the start</p>
|
1709
|
+
<clause id='_' inline-header='false' obligation='normative'>
|
1710
|
+
<title>Toc 1</title>
|
1711
|
+
<toc>
|
1712
|
+
<ul id='_'>
|
1713
|
+
<li>
|
1714
|
+
<p id='_'>
|
1715
|
+
<xref target='cl2'>
|
1716
|
+
Clause
|
1717
|
+
<em>A</em>
|
1718
|
+
<stem type='MathML'>
|
1719
|
+
<math xmlns='http://www.w3.org/1998/Math/MathML'>
|
1720
|
+
<mi>x</mi>
|
1721
|
+
</math>
|
1722
|
+
</stem>
|
1723
|
+
</xref>
|
1724
|
+
</p>
|
1725
|
+
<ul id='_'>
|
1726
|
+
<li>
|
1727
|
+
<p id='_'>
|
1728
|
+
<xref target='a1'>
|
1729
|
+
Clause
|
1730
|
+
<em>A</em>
|
1731
|
+
<stem type='MathML'>
|
1732
|
+
<math xmlns='http://www.w3.org/1998/Math/MathML'>
|
1733
|
+
<mi>y</mi>
|
1734
|
+
</math>
|
1735
|
+
</stem>
|
1736
|
+
</xref>
|
1737
|
+
</p>
|
1738
|
+
</li>
|
1739
|
+
</ul>
|
1740
|
+
</li>
|
1741
|
+
</ul>
|
1742
|
+
</toc>
|
1743
|
+
</clause>
|
1744
|
+
<clause id='_' inline-header='false' obligation='normative'>
|
1745
|
+
<title>Toc 2</title>
|
1746
|
+
<toc>
|
1747
|
+
<ul id='_'>
|
1748
|
+
<li>
|
1749
|
+
<p id='_'>
|
1750
|
+
<xref target='cl2'>some text</xref>
|
1751
|
+
</p>
|
1752
|
+
<ul id='_'>
|
1753
|
+
<li>
|
1754
|
+
<p id='_'>
|
1755
|
+
<xref target='a1'>some more text</xref>
|
1756
|
+
</p>
|
1757
|
+
</li>
|
1758
|
+
</ul>
|
1759
|
+
</li>
|
1760
|
+
</ul>
|
1761
|
+
</toc>
|
1762
|
+
</clause>
|
1763
|
+
</clause>
|
1764
|
+
</clause>
|
1765
|
+
<clause id='cl2' inline-header='false' obligation='normative'>
|
1766
|
+
<title>Clause2</title>
|
1767
|
+
<variant-title type='sub'>“A” ‘B’</variant-title>
|
1768
|
+
<variant-title type='toc'>
|
1769
|
+
Clause
|
1770
|
+
<em>A</em>
|
1771
|
+
<stem type='MathML'>
|
1772
|
+
<math xmlns='http://www.w3.org/1998/Math/MathML'>
|
1773
|
+
<mi>x</mi>
|
1774
|
+
</math>
|
1775
|
+
</stem>
|
1776
|
+
</variant-title>
|
1777
|
+
<p id='_'>Text</p>
|
1778
|
+
</clause>
|
1779
|
+
</sections>
|
1780
|
+
<annex id='a1' inline-header='false' obligation='normative'>
|
1781
|
+
<title>Clause</title>
|
1782
|
+
<variant-title type='toc'>
|
1783
|
+
Clause
|
1784
|
+
<em>A</em>
|
1785
|
+
<stem type='MathML'>
|
1786
|
+
<math xmlns='http://www.w3.org/1998/Math/MathML'>
|
1787
|
+
<mi>y</mi>
|
1647
1788
|
</math>
|
1648
1789
|
</stem>
|
1649
1790
|
</variant-title>
|
@@ -819,7 +819,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
819
819
|
<abstract format="text/plain" language="en" script="Latn">IEC 60050-103:2009 gives the terminology relative to functions of one or more variables. Together with IEC 60050-102, it covers the mathematical terminology used in the fields of electricity, electronics and telecommunications. It maintains a clear distinction between mathematical concepts and physical concepts, even if some terms are used in both cases. Mathematical symbols are generally in accordance with IEC 60027-1 and ISO 80000-2. This standard cancels and replaces Sections 101-13, 101-14 and 101-15 of International Standard IEC 60050-101:1998. It has the status of a horizontal standard in accordance with IEC Guide 108.</abstract>
|
820
820
|
<status>
|
821
821
|
<stage>60</stage>
|
822
|
-
<substage>
|
822
|
+
<substage>60</substage>
|
823
823
|
</status>
|
824
824
|
<copyright>
|
825
825
|
<from>2009</from>
|
@@ -480,4 +480,40 @@ RSpec.describe Asciidoctor::Standoc do
|
|
480
480
|
expect((strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
481
481
|
.to be_equivalent_to(output)
|
482
482
|
end
|
483
|
+
|
484
|
+
it "processes format-specific inline pass" do
|
485
|
+
input = <<~INPUT
|
486
|
+
#{ASCIIDOC_BLANK_HDR}
|
487
|
+
|
488
|
+
pass-format:rfc,html[<abc>X > Y</abc>]
|
489
|
+
INPUT
|
490
|
+
output = <<~OUTPUT
|
491
|
+
#{BLANK_HDR}
|
492
|
+
<sections>
|
493
|
+
<p id='_'>
|
494
|
+
<passthrough formats='rfc,html'><abc>X > Y</abc></passthrough>
|
495
|
+
</p>
|
496
|
+
</sections>
|
497
|
+
</standard-document>
|
498
|
+
OUTPUT
|
499
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
500
|
+
.to be_equivalent_to xmlpp(output)
|
501
|
+
end
|
502
|
+
|
503
|
+
it "processes Metanorma XML inline pass" do
|
504
|
+
input = <<~INPUT
|
505
|
+
#{ASCIIDOC_BLANK_HDR}
|
506
|
+
|
507
|
+
+<abc>X >+ +++Y+++ pass:c[</abc>]
|
508
|
+
INPUT
|
509
|
+
output = <<~OUTPUT
|
510
|
+
#{BLANK_HDR}
|
511
|
+
<sections>
|
512
|
+
<p id='_'><abc>X > Y </abc></p>
|
513
|
+
</sections>
|
514
|
+
</standard-document>
|
515
|
+
OUTPUT
|
516
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
517
|
+
.to be_equivalent_to xmlpp(output)
|
518
|
+
end
|
483
519
|
end
|
@@ -201,7 +201,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
201
201
|
<tr>
|
202
202
|
<th valign='top' align='left'>Name</th>
|
203
203
|
<th valign='top' align='left'>Definition</th>
|
204
|
-
<th valign='top' align='left'>Mandatory/ Optional/ Conditional</th>
|
204
|
+
<th valign='top' align='left'>Mandatory / Optional / Conditional</th>
|
205
205
|
<th valign='top' align='left'>Max Occur</th>
|
206
206
|
<th valign='top' align='left'>Data Type</th>
|
207
207
|
</tr>
|
@@ -1187,7 +1187,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1187
1187
|
</clause>
|
1188
1188
|
<clause id='clause1Ab' inline-header='false' obligation='normative'>
|
1189
1189
|
<title>Clause 1Ab</title>
|
1190
|
-
<variant-title
|
1190
|
+
<variant-title type='toc'>1Ab Clause</variant-title>
|
1191
1191
|
</clause>
|
1192
1192
|
</clause>
|
1193
1193
|
<clause id='clause1B' inline-header='false' obligation='normative'>
|
@@ -37,7 +37,7 @@
|
|
37
37
|
<table id='section-EAID_82206E96_8D23_48dd_AC2F_31939C484AF2' width='100%'>
|
38
38
|
<name>
|
39
39
|
Elements of “ISO 19135 Procedures for item registration
|
40
|
-
XML::RE_Register” (
|
40
|
+
XML::RE_Register” (interface)
|
41
41
|
</name>
|
42
42
|
<tbody>
|
43
43
|
<tr>
|
@@ -288,7 +288,7 @@
|
|
288
288
|
as its value a set of URI’s, each referencing
|
289
289
|
information about online resources associated with the
|
290
290
|
register. EXAMPLE
|
291
|
-
�http://www.digest.org/Navigate2.htmï¿
|
291
|
+
�http://www.digest.org/Navigate2.htm� and �http://www.epa.gov/opppmsd1/PPISdata/index.html� are sample valuescorresponding value of the attribute
|
292
292
|
<em>OnLineResource.linkage</em>
|
293
293
|
specifies a resource providing access to the complete
|
294
294
|
content of the register. EXAMPLE
|
@@ -313,6 +313,7 @@
|
|
313
313
|
<td colspan='7' valign='top' align='left'>
|
314
314
|
<p id='_'>
|
315
315
|
<tt>count(self.version +self.dateOfLastChange) >= 1</tt>
|
316
|
+
: ``
|
316
317
|
</p>
|
317
318
|
</td>
|
318
319
|
</tr>
|