metanorma-standoc 1.3.24 → 1.3.29
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/macos.yml +10 -1
- data/.github/workflows/ubuntu.yml +13 -3
- data/.github/workflows/windows.yml +8 -1
- data/lib/asciidoctor/standoc/base.rb +29 -11
- data/lib/asciidoctor/standoc/biblio.rng +75 -28
- data/lib/asciidoctor/standoc/blocks.rb +12 -5
- data/lib/asciidoctor/standoc/cleanup.rb +17 -8
- data/lib/asciidoctor/standoc/cleanup_block.rb +3 -0
- data/lib/asciidoctor/standoc/cleanup_boilerplate.rb +1 -3
- data/lib/asciidoctor/standoc/cleanup_inline.rb +3 -0
- data/lib/asciidoctor/standoc/cleanup_ref.rb +15 -6
- data/lib/asciidoctor/standoc/cleanup_section.rb +36 -8
- data/lib/asciidoctor/standoc/front.rb +5 -3
- data/lib/asciidoctor/standoc/inline.rb +43 -18
- data/lib/asciidoctor/standoc/isodoc.rng +31 -1
- data/lib/asciidoctor/standoc/macros.rb +2 -1
- data/lib/asciidoctor/standoc/macros_yaml2text.rb +142 -0
- data/lib/asciidoctor/standoc/ref.rb +6 -4
- data/lib/asciidoctor/standoc/section.rb +41 -9
- data/lib/asciidoctor/standoc/utils.rb +2 -11
- data/lib/asciidoctor/standoc/validate.rb +8 -2
- data/lib/asciidoctor/standoc/validate_section.rb +1 -3
- data/lib/metanorma/standoc/latexml_requirement.rb +14 -12
- data/lib/metanorma/standoc/version.rb +1 -1
- data/metanorma-standoc.gemspec +2 -2
- data/spec/asciidoctor-standoc/base_spec.rb +8 -0
- data/spec/asciidoctor-standoc/blocks_spec.rb +74 -2
- data/spec/asciidoctor-standoc/cleanup_spec.rb +75 -28
- data/spec/asciidoctor-standoc/inline_spec.rb +4 -3
- data/spec/asciidoctor-standoc/macros_spec.rb +9 -8
- data/spec/asciidoctor-standoc/macros_yaml2text_spec.rb +564 -0
- data/spec/asciidoctor-standoc/refs_dl_spec.rb +91 -3
- data/spec/asciidoctor-standoc/refs_spec.rb +272 -166
- data/spec/asciidoctor-standoc/section_spec.rb +197 -6
- data/spec/asciidoctor-standoc/validate_spec.rb +67 -2
- data/spec/assets/codes.yml +695 -0
- data/spec/assets/xref_error.adoc +7 -0
- data/spec/examples/codes_table.html +3174 -0
- data/spec/metanorma/processor_spec.rb +2 -2
- data/spec/spec_helper.rb +1 -0
- data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +77 -271
- data/spec/vcr_cassettes/isobib_get_123.yml +36 -82
- data/spec/vcr_cassettes/isobib_get_123_2001.yml +17 -40
- data/spec/vcr_cassettes/isobib_get_124.yml +19 -101
- data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +8 -8
- data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +34 -34
- metadata +11 -6
@@ -62,6 +62,7 @@ module Asciidoctor
|
|
62
62
|
t.title(**plaintxt) { |i| i << ref_normalise(m[:text]) }
|
63
63
|
docid(t, m[:usrlbl]) if m[:usrlbl]
|
64
64
|
docid(t, id_and_year(m[:code], yr))
|
65
|
+
t.docnumber m[:code].sub(/^[^\d]*/, "")
|
65
66
|
yr and t.date **{ type: "published" } do |d|
|
66
67
|
set_date_range(d, yr)
|
67
68
|
end
|
@@ -78,6 +79,7 @@ module Asciidoctor
|
|
78
79
|
t.title(**plaintxt) { |i| i << ref_normalise(m[:text]) }
|
79
80
|
docid(t, m[:usrlbl]) if m[:usrlbl]
|
80
81
|
docid(t, id_and_year(m[:code], "--"))
|
82
|
+
t.docnumber m[:code].sub(/^[^\d]*/, "")
|
81
83
|
t.date **{ type: "published" } do |d|
|
82
84
|
d.on "--"
|
83
85
|
end
|
@@ -108,6 +110,7 @@ module Asciidoctor
|
|
108
110
|
t.title(**plaintxt) { |i| i << ref_normalise(m[:text]) }
|
109
111
|
docid(t, m[:usrlbl]) if m[:usrlbl]
|
110
112
|
docid(t, id_and_year(m[:code], yr) + " (all parts)")
|
113
|
+
t.docnumber m[:code].sub(/^[^\d]*/, "")
|
111
114
|
conditional_date(t, m, noyr)
|
112
115
|
iso_publisher(t, m[:code])
|
113
116
|
m.names.include?("fn") && m[:fn] and
|
@@ -139,6 +142,7 @@ module Asciidoctor
|
|
139
142
|
end
|
140
143
|
docid(t, m[:usrlbl]) if m[:usrlbl]
|
141
144
|
docid(t, /^\d+$/.match(m[:code]) ? "[#{m[:code]}]" : m[:code])
|
145
|
+
t.docnumber m[:code].sub(/^[^\d]*/, "") unless /^\d+$|^\(.+\)$/.match(m[:code])
|
142
146
|
end
|
143
147
|
end
|
144
148
|
|
@@ -149,7 +153,7 @@ module Asciidoctor
|
|
149
153
|
# TODO: alternative where only title is available
|
150
154
|
def refitem(xml, item, node)
|
151
155
|
unless m = NON_ISO_REF.match(item)
|
152
|
-
@log.add("
|
156
|
+
@log.add("AsciiDoc Input", node, "#{MALFORMED_REF}: #{item}")
|
153
157
|
return
|
154
158
|
end
|
155
159
|
unless m[:code] && /^\d+$/.match(m[:code])
|
@@ -206,9 +210,7 @@ module Asciidoctor
|
|
206
210
|
|
207
211
|
def reference(node)
|
208
212
|
noko do |xml|
|
209
|
-
node.items.each
|
210
|
-
reference1(node, item.text, xml)
|
211
|
-
end
|
213
|
+
node.items.each { |item| reference1(node, item.text, xml) }
|
212
214
|
end.join
|
213
215
|
end
|
214
216
|
|
@@ -53,7 +53,15 @@ module Asciidoctor
|
|
53
53
|
def section_attributes(node)
|
54
54
|
{ id: Utils::anchor_or_uuid(node),
|
55
55
|
language: node.attributes["language"],
|
56
|
-
script: node.attributes["script"]
|
56
|
+
script: node.attributes["script"],
|
57
|
+
annex: (
|
58
|
+
((node.attr("style") == "appendix" || node.role == "appendix") &&
|
59
|
+
node.level == 1) ? true : nil
|
60
|
+
),
|
61
|
+
preface: (
|
62
|
+
(node.role == "preface" || node.attr("style") == "preface") ?
|
63
|
+
true : nil),
|
64
|
+
}
|
57
65
|
end
|
58
66
|
|
59
67
|
def section(node)
|
@@ -75,7 +83,12 @@ module Asciidoctor
|
|
75
83
|
else
|
76
84
|
if @term_def then term_def_subclause_parse(a, xml, node)
|
77
85
|
elsif @definitions then symbols_parse(a, xml, node)
|
86
|
+
elsif @norm_ref then norm_ref_parse(a, xml, node)
|
78
87
|
elsif @biblio then bibliography_parse(a, xml, node)
|
88
|
+
elsif node.attr("style") == "bibliography" && sectiontype(node, false) == "normative references"
|
89
|
+
norm_ref_parse(a, xml, node)
|
90
|
+
elsif node.attr("style") == "bibliography" && sectiontype(node, false) == "bibliography"
|
91
|
+
bibliography_parse(a, xml, node)
|
79
92
|
elsif node.attr("style") == "bibliography"
|
80
93
|
bibliography_parse(a, xml, node)
|
81
94
|
elsif node.attr("style") == "abstract"
|
@@ -118,7 +131,6 @@ module Asciidoctor
|
|
118
131
|
def clause_parse(attrs, xml, node)
|
119
132
|
attrs["inline-header".to_sym] = node.option? "inline-header"
|
120
133
|
attrs[:bibitem] = true if node.option? "bibitem"
|
121
|
-
attrs[:preface] = true if node.role == "preface" || node.attr("style") == "preface"
|
122
134
|
attrs[:level] = node.attr("level")
|
123
135
|
set_obligation(attrs, node)
|
124
136
|
xml.send "clause", **attr_code(attrs) do |xml_section|
|
@@ -137,11 +149,11 @@ module Asciidoctor
|
|
137
149
|
end
|
138
150
|
|
139
151
|
def bibliography_parse(attrs, xml, node)
|
152
|
+
node.option? "bibitem" and return bibitem_parse(attrs, xml, node)
|
140
153
|
node.attr("style") == "bibliography" or
|
141
|
-
|
142
|
-
@log.add("Asciidoctor Input", node, "Section not marked up as [bibliography]!")
|
154
|
+
@log.add("AsciiDoc Input", node, "Section not marked up as [bibliography]!")
|
143
155
|
@biblio = true
|
144
|
-
xml.references **attr_code(attrs) do |xml_section|
|
156
|
+
xml.references **attr_code(attrs.merge(normative: false)) do |xml_section|
|
145
157
|
title = node.level == 1 ? "Bibliography" : node.title
|
146
158
|
xml_section.title { |t| t << title }
|
147
159
|
xml_section << node.content
|
@@ -180,14 +192,16 @@ module Asciidoctor
|
|
180
192
|
|
181
193
|
# subclause contains subclauses
|
182
194
|
def term_def_subclause_parse(attrs, xml, node)
|
183
|
-
node.role == "nonterm"
|
184
|
-
sectiontype(node, false) == "terms and definitions" and
|
195
|
+
node.role == "nonterm" and
|
185
196
|
return nonterm_term_def_subclause_parse(attrs, xml, node)
|
197
|
+
st = sectiontype(node, false)
|
186
198
|
return symbols_parse(attrs, xml, node) if @definitions
|
187
199
|
sub = node.find_by(context: :section) { |s| s.level == node.level + 1 }
|
188
200
|
sub.empty? || (return term_def_parse(attrs, xml, node, false))
|
189
|
-
|
201
|
+
st == "symbols and abbreviated terms" and
|
190
202
|
(return symbols_parse(attrs, xml, node))
|
203
|
+
st == "terms and definitions" and
|
204
|
+
return clause_parse(attrs, xml, node)
|
191
205
|
term_def_subclause_parse1(attrs, xml, node)
|
192
206
|
end
|
193
207
|
|
@@ -204,6 +218,11 @@ module Asciidoctor
|
|
204
218
|
SYMBOLS_TITLES.include? s.title.downcase
|
205
219
|
end
|
206
220
|
return "Terms and definitions" if sub.empty?
|
221
|
+
sym = /symbol/i.match(node.title)
|
222
|
+
abbrev = /abbreviat/i.match(node.title)
|
223
|
+
sym && abbrev and return "Terms, definitions, symbols and abbreviated terms"
|
224
|
+
sym and return "Terms, definitions and symbols"
|
225
|
+
abbrev and return "Terms, definitions and abbreviated terms"
|
207
226
|
"Terms, definitions, symbols and abbreviated terms"
|
208
227
|
end
|
209
228
|
|
@@ -217,9 +236,22 @@ module Asciidoctor
|
|
217
236
|
end
|
218
237
|
end
|
219
238
|
|
239
|
+
def bibitem_parse(attrs, xml, node)
|
240
|
+
norm_ref = @norm_ref
|
241
|
+
biblio = @biblio
|
242
|
+
@biblio = false
|
243
|
+
@norm_ref = false
|
244
|
+
clause_parse(attrs, xml, node)
|
245
|
+
@biblio = biblio
|
246
|
+
@norm_ref = norm_ref
|
247
|
+
end
|
248
|
+
|
220
249
|
def norm_ref_parse(attrs, xml, node)
|
250
|
+
node.option? "bibitem" and return bibitem_parse(attrs, xml, node)
|
251
|
+
node.attr("style") == "bibliography" or
|
252
|
+
@log.add("AsciiDoc Input", node, "Section not marked up as [bibliography]!")
|
221
253
|
@norm_ref = true
|
222
|
-
xml.references **attr_code(attrs) do |xml_section|
|
254
|
+
xml.references **attr_code(attrs.merge(normative: true)) do |xml_section|
|
223
255
|
xml_section.title { |t| t << "Normative References" }
|
224
256
|
xml_section << node.content
|
225
257
|
end
|
@@ -20,7 +20,8 @@ module Asciidoctor
|
|
20
20
|
def asciidoc_sub(x)
|
21
21
|
return nil if x.nil?
|
22
22
|
return "" if x.empty?
|
23
|
-
d = Asciidoctor::Document.new(x.lines.entries, {header_footer: false
|
23
|
+
d = Asciidoctor::Document.new(x.lines.entries, { header_footer: false,
|
24
|
+
backend: :standoc })
|
24
25
|
b = d.parse.blocks.first
|
25
26
|
b.apply_subs(b.source)
|
26
27
|
end
|
@@ -66,16 +67,6 @@ module Asciidoctor
|
|
66
67
|
end
|
67
68
|
end
|
68
69
|
|
69
|
-
=begin
|
70
|
-
def warning(node, msg, text)
|
71
|
-
return if @novalid
|
72
|
-
warntext = "asciidoctor: WARNING"\
|
73
|
-
"(#{current_location(node)}): #{msg}"
|
74
|
-
warntext += ": #{text}" if text
|
75
|
-
warn warntext
|
76
|
-
end
|
77
|
-
=end
|
78
|
-
|
79
70
|
def flatten_rawtext_lines(node, result)
|
80
71
|
node.lines.each do |x|
|
81
72
|
if node.respond_to?(:context) && (node.context == :literal ||
|
@@ -25,7 +25,6 @@ module Asciidoctor
|
|
25
25
|
@iev = init_iev or return
|
26
26
|
iev = @iev.fetch(locality, xmldoc&.at("//language")&.text || "en") or next
|
27
27
|
pref.include?(iev.downcase) or
|
28
|
-
#warn %(Term "#{pref[0]}" does not match IEV #{locality} "#{iev}")
|
29
28
|
@log.add("Bibliography", t, %(Term "#{pref[0]}" does not match IEV #{locality} "#{iev}"))
|
30
29
|
end
|
31
30
|
end
|
@@ -38,14 +37,20 @@ module Asciidoctor
|
|
38
37
|
|
39
38
|
def repeat_id_validate(doc)
|
40
39
|
ids = {}
|
40
|
+
crash = false
|
41
41
|
doc.xpath("//*[@id]").each do |x|
|
42
42
|
if ids[x["id"]]
|
43
|
-
|
43
|
+
@log.add("Anchors", x, "Anchor #{x['id']} has already been used at line #{ids[x['id']]}")
|
44
|
+
crash = true
|
44
45
|
else
|
45
46
|
ids[x["id"]] = x.line
|
46
47
|
end
|
47
48
|
end
|
49
|
+
if crash
|
50
|
+
clean_exit
|
51
|
+
abort("Cannot deal with multiple instances of same ID")
|
48
52
|
end
|
53
|
+
end
|
49
54
|
|
50
55
|
def schema_validate(doc, schema)
|
51
56
|
Tempfile.open(["tmp", ".xml"], :encoding => 'UTF-8') do |f|
|
@@ -58,6 +63,7 @@ module Asciidoctor
|
|
58
63
|
@log.add("Syntax", "XML Line #{"%06d" % error[:line]}:#{error[:column]}", error[:message])
|
59
64
|
end
|
60
65
|
rescue Jing::Error => e
|
66
|
+
clean_exit
|
61
67
|
abort "Jing failed with error: #{e}"
|
62
68
|
ensure
|
63
69
|
f.close!
|
@@ -14,8 +14,7 @@ module Asciidoctor
|
|
14
14
|
callouts = x.elements.select { |e| e.name == "callout" }
|
15
15
|
annotations = x.elements.select { |e| e.name == "annotation" }
|
16
16
|
if callouts.size != annotations.size
|
17
|
-
|
18
|
-
@log.add("Asciidoctor Input", x, "mismatch of callouts and annotations")
|
17
|
+
@log.add("AsciiDoc Input", x, "mismatch of callouts and annotations")
|
19
18
|
end
|
20
19
|
end
|
21
20
|
end
|
@@ -23,7 +22,6 @@ module Asciidoctor
|
|
23
22
|
def style_warning(node, msg, text = nil)
|
24
23
|
w = msg
|
25
24
|
w += ": #{text}" if text
|
26
|
-
#warn w
|
27
25
|
@log.add("Style Warning", node, w)
|
28
26
|
end
|
29
27
|
|
@@ -11,31 +11,33 @@ module Metanorma
|
|
11
11
|
version = version_output&.match(%r{\d+(.\d+)*})
|
12
12
|
|
13
13
|
if version.to_s.empty?
|
14
|
-
@error_message = "LaTeXML not
|
15
|
-
|
14
|
+
@error_message = "LaTeXML is not available. (Or is PATH not setup properly?)"\
|
15
|
+
" You must upgrade/install LaTeXML to a version higher than `#{@recommended_version}`"
|
16
16
|
|
17
17
|
elsif Gem::Version.new(version) < Gem::Version.new(@minimal_version)
|
18
|
-
@error_message = "Minimal supported LaTeXML version is
|
19
|
-
"
|
18
|
+
@error_message = "Minimal supported LaTeXML version is `#{@minimal_version}` "\
|
19
|
+
"Version `#{version}` found; recommended version is `#{@recommended_version}`"
|
20
20
|
|
21
21
|
elsif Gem::Version.new(version) < Gem::Version.new(@recommended_version)
|
22
22
|
version = "unknown" if version.to_s.empty?
|
23
|
-
header_msg = "latexmlmath version
|
23
|
+
header_msg = "latexmlmath version `#{version}` below `#{@recommended_version}`!"
|
24
24
|
suggestion = if Gem.win_platform?
|
25
25
|
"cmd encoding is set to UTF-8 with `chcp 65001`"
|
26
26
|
else
|
27
27
|
"terminal encoding is set to UTF-8 with `export LANG=en_US.UTF-8`"
|
28
28
|
end
|
29
29
|
|
30
|
-
@error_message = "WARNING #{header_msg} Please sure that #{suggestion} command"
|
30
|
+
@error_message = "WARNING #{header_msg} Please sure that #{suggestion} command."
|
31
31
|
|
32
|
-
@cmd =
|
32
|
+
@cmd = 'latexmlmath --strict --preload=amsmath -- -'
|
33
|
+
@cmd2 = 'latexmlmath --strict -- -'
|
33
34
|
else
|
34
|
-
@cmd =
|
35
|
+
@cmd = 'latexmlmath --strict --preload=amsmath --inputencoding=UTF-8 -- -'
|
36
|
+
@cmd2 = 'latexmlmath --strict --inputencoding=UTF-8 -- -'
|
35
37
|
end
|
36
38
|
rescue
|
37
|
-
@error_message = "LaTeXML not
|
38
|
-
" You must upgrade/install LaTeXML to
|
39
|
+
@error_message = "LaTeXML is not available. (Or is PATH not setup properly?)"\
|
40
|
+
" You must upgrade/install LaTeXML to a version higher than `#{@recommended_version}`"
|
39
41
|
end
|
40
42
|
|
41
43
|
def satisfied(abort = false)
|
@@ -53,8 +55,8 @@ module Metanorma
|
|
53
55
|
def cmd
|
54
56
|
abort @error_message unless @error_message.nil?
|
55
57
|
|
56
|
-
@cmd
|
58
|
+
[@cmd, @cmd2]
|
57
59
|
end
|
58
60
|
end
|
59
61
|
end
|
60
|
-
end
|
62
|
+
end
|
data/metanorma-standoc.gemspec
CHANGED
@@ -30,8 +30,8 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.add_dependency "ruby-jing"
|
31
31
|
spec.add_dependency "isodoc", "~> 1.0.20"
|
32
32
|
spec.add_dependency "iev", "~> 0.2.1"
|
33
|
-
spec.add_dependency "relaton", "~> 0.
|
34
|
-
spec.add_dependency "relaton-iev", "~>
|
33
|
+
spec.add_dependency "relaton", "~> 1.0.0"
|
34
|
+
spec.add_dependency "relaton-iev", "~> 1.0.0"
|
35
35
|
spec.add_dependency "sterile", "~> 1.0.14"
|
36
36
|
spec.add_dependency "concurrent-ruby"
|
37
37
|
spec.add_dependency "unicode2latex", "~> 0.0.1"
|
@@ -53,6 +53,8 @@ RSpec.describe Asciidoctor::Standoc do
|
|
53
53
|
:issued-date: 1007-01-01
|
54
54
|
:circulated-date: 1008-01-01
|
55
55
|
:unchanged-date: 1009-01-01
|
56
|
+
:vote-started-date: 1011-01-01
|
57
|
+
:vote-ended-date: 1012-01-01
|
56
58
|
:date: Fred 1010-01-01
|
57
59
|
:date_2: Jack 1010-01-01
|
58
60
|
:draft: 3.4
|
@@ -141,6 +143,12 @@ RSpec.describe Asciidoctor::Standoc do
|
|
141
143
|
<date type="unchanged">
|
142
144
|
<on>1009-01-01</on>
|
143
145
|
</date>
|
146
|
+
<date type='vote-started'>
|
147
|
+
<on>1011-01-01</on>
|
148
|
+
</date>
|
149
|
+
<date type='vote-ended'>
|
150
|
+
<on>1012-01-01</on>
|
151
|
+
</date>
|
144
152
|
<date type="Fred">
|
145
153
|
<on>1010-01-01</on>
|
146
154
|
</date>
|
@@ -6,13 +6,14 @@ RSpec.describe Asciidoctor::Standoc do
|
|
6
6
|
expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
7
7
|
#{ASCIIDOC_BLANK_HDR}
|
8
8
|
|
9
|
+
[format="rfc,html"]
|
9
10
|
++++
|
10
11
|
<abc>X > Y</abc>
|
11
12
|
++++
|
12
13
|
INPUT
|
13
14
|
#{BLANK_HDR}
|
14
15
|
<sections>
|
15
|
-
<abc
|
16
|
+
<passthrough formats='rfc,html'><abc>X > Y</abc></passthrough>
|
16
17
|
</sections>
|
17
18
|
</standard-document>
|
18
19
|
OUTPUT
|
@@ -75,7 +76,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
75
76
|
</formula>
|
76
77
|
<formula id="_" subsequence="A">
|
77
78
|
<stem type="MathML">
|
78
|
-
<math xmlns="http://www.w3.org/1998/Math/MathML"
|
79
|
+
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
|
79
80
|
<mrow>
|
80
81
|
<mi>M</mi>
|
81
82
|
<mo>=</mo>
|
@@ -309,6 +310,11 @@ RSpec.describe Asciidoctor::Standoc do
|
|
309
310
|
=== Term1
|
310
311
|
|
311
312
|
NOTE: This is a note
|
313
|
+
|
314
|
+
[NOTE,keep-separate=true]
|
315
|
+
====
|
316
|
+
XYZ
|
317
|
+
====
|
312
318
|
INPUT
|
313
319
|
#{BLANK_HDR}
|
314
320
|
<sections>
|
@@ -320,6 +326,9 @@ RSpec.describe Asciidoctor::Standoc do
|
|
320
326
|
<termnote id="_">
|
321
327
|
<p id="_">This is a note</p>
|
322
328
|
</termnote>
|
329
|
+
<termnote id='_'>
|
330
|
+
<p id='_'>XYZ</p>
|
331
|
+
</termnote>
|
323
332
|
</term>
|
324
333
|
</terms>
|
325
334
|
</sections>
|
@@ -394,6 +403,11 @@ RSpec.describe Asciidoctor::Standoc do
|
|
394
403
|
|
395
404
|
[[ABC]]
|
396
405
|
NOTE: This is a note
|
406
|
+
|
407
|
+
[NOTE,keep-separate=true]
|
408
|
+
====
|
409
|
+
XYZ
|
410
|
+
====
|
397
411
|
INPUT
|
398
412
|
#{BLANK_HDR}
|
399
413
|
<preface><foreword id="_" obligation="informative">
|
@@ -407,6 +421,9 @@ RSpec.describe Asciidoctor::Standoc do
|
|
407
421
|
<note id="ABC">
|
408
422
|
<p id="_">This is a note</p>
|
409
423
|
</note>
|
424
|
+
<note id='_'>
|
425
|
+
<p id='_'>XYZ</p>
|
426
|
+
</note>
|
410
427
|
</clause></sections>
|
411
428
|
|
412
429
|
</standard-document>
|
@@ -924,6 +941,19 @@ RSpec.describe Asciidoctor::Standoc do
|
|
924
941
|
|
925
942
|
[.source]
|
926
943
|
<<ISO2191,section=1>>
|
944
|
+
|
945
|
+
=== Term2
|
946
|
+
|
947
|
+
Definition
|
948
|
+
|
949
|
+
[.source]
|
950
|
+
{{IEV:xyz}}
|
951
|
+
|
952
|
+
[.source]
|
953
|
+
{{IEV:xyz,t1}}
|
954
|
+
|
955
|
+
[.source]
|
956
|
+
{{IEV:xyz,t1,t2}}
|
927
957
|
INPUT
|
928
958
|
#{BLANK_HDR}
|
929
959
|
<sections>
|
@@ -940,6 +970,27 @@ RSpec.describe Asciidoctor::Standoc do
|
|
940
970
|
</origin>
|
941
971
|
</termsource>
|
942
972
|
</term>
|
973
|
+
<term id='_'>
|
974
|
+
<preferred>Term2</preferred>
|
975
|
+
<definition>
|
976
|
+
<p id='_'>Definition</p>
|
977
|
+
</definition>
|
978
|
+
<termsource status='identical'>
|
979
|
+
<origin citeas=''>
|
980
|
+
<termref base='IEV' target='xyz'/>
|
981
|
+
</origin>
|
982
|
+
</termsource>
|
983
|
+
<termsource status='identical'>
|
984
|
+
<origin citeas=''>
|
985
|
+
<termref base='IEV' target='xyz'>t1</termref>
|
986
|
+
</origin>
|
987
|
+
</termsource>
|
988
|
+
<termsource status='identical'>
|
989
|
+
<origin citeas=''>
|
990
|
+
<termref base='IEV' target='xyz'>t1</termref>
|
991
|
+
</origin>
|
992
|
+
</termsource>
|
993
|
+
</term>
|
943
994
|
</terms>
|
944
995
|
</sections>
|
945
996
|
</standard-document>
|
@@ -955,6 +1006,13 @@ RSpec.describe Asciidoctor::Standoc do
|
|
955
1006
|
|
956
1007
|
[.source]
|
957
1008
|
<<ISO2191,section=1>>, with adjustments
|
1009
|
+
|
1010
|
+
=== Term2
|
1011
|
+
|
1012
|
+
Definition
|
1013
|
+
|
1014
|
+
[.source]
|
1015
|
+
{{IEV:xyz}}, with adjustments
|
958
1016
|
INPUT
|
959
1017
|
#{BLANK_HDR}
|
960
1018
|
<sections>
|
@@ -975,6 +1033,20 @@ RSpec.describe Asciidoctor::Standoc do
|
|
975
1033
|
</modification>
|
976
1034
|
</termsource>
|
977
1035
|
</term>
|
1036
|
+
<term id='_'>
|
1037
|
+
<preferred>Term2</preferred>
|
1038
|
+
<definition>
|
1039
|
+
<p id='_'>Definition</p>
|
1040
|
+
</definition>
|
1041
|
+
<termsource status='modified'>
|
1042
|
+
<origin citeas=''>
|
1043
|
+
<termref base='IEV' target='xyz'/>
|
1044
|
+
</origin>
|
1045
|
+
<modification>
|
1046
|
+
<p id='_'>with adjustments</p>
|
1047
|
+
</modification>
|
1048
|
+
</termsource>
|
1049
|
+
</term>
|
978
1050
|
</terms>
|
979
1051
|
</sections>
|
980
1052
|
</standard-document>
|