metanorma-standoc 1.11.1 → 1.11.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/lib/asciidoctor/standoc/blocks.rb +1 -1
  3. data/lib/asciidoctor/standoc/cleanup.rb +1 -1
  4. data/lib/asciidoctor/standoc/cleanup_boilerplate.rb +28 -20
  5. data/lib/asciidoctor/standoc/cleanup_ref_dl.rb +25 -15
  6. data/lib/asciidoctor/standoc/cleanup_section_names.rb +2 -2
  7. data/lib/asciidoctor/standoc/cleanup_terms.rb +23 -19
  8. data/lib/asciidoctor/standoc/cleanup_terms_designations.rb +31 -14
  9. data/lib/asciidoctor/standoc/datamodel/attributes_table_preprocessor.rb +6 -6
  10. data/lib/asciidoctor/standoc/inline.rb +13 -11
  11. data/lib/asciidoctor/standoc/isodoc.rng +42 -17
  12. data/lib/asciidoctor/standoc/ref.rb +101 -75
  13. data/lib/asciidoctor/standoc/ref_date_id.rb +30 -1
  14. data/lib/asciidoctor/standoc/ref_sect.rb +16 -6
  15. data/lib/asciidoctor/standoc/reqt.rb +1 -1
  16. data/lib/asciidoctor/standoc/section.rb +1 -1
  17. data/lib/asciidoctor/standoc/validate.rb +1 -1
  18. data/lib/isodoc/html/htmlstyle.css +1 -1
  19. data/lib/isodoc/html/htmlstyle.scss +1 -1
  20. data/lib/metanorma/standoc/version.rb +1 -1
  21. data/metanorma-standoc.gemspec +2 -2
  22. data/spec/asciidoctor/blocks_spec.rb +15 -15
  23. data/spec/asciidoctor/cleanup_sections_spec.rb +1 -1
  24. data/spec/asciidoctor/cleanup_spec.rb +4 -4
  25. data/spec/asciidoctor/cleanup_terms_spec.rb +248 -63
  26. data/spec/asciidoctor/datamodel/attributes_table_preprocessor_spec.rb +21 -21
  27. data/spec/asciidoctor/datamodel/diagram_preprocessor_spec.rb +16 -16
  28. data/spec/asciidoctor/inline_spec.rb +5 -5
  29. data/spec/asciidoctor/isobib_cache_spec.rb +4 -8
  30. data/spec/asciidoctor/macros_spec.rb +2 -2
  31. data/spec/asciidoctor/refs_spec.rb +842 -664
  32. data/spec/asciidoctor/section_spec.rb +2 -2
  33. data/spec/spec_helper.rb +0 -1
  34. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +176 -176
  35. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec1.yml +12 -12
  36. data/spec/vcr_cassettes/isobib_get_123.yml +12 -12
  37. data/spec/vcr_cassettes/isobib_get_123_1.yml +24 -24
  38. data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +34 -34
  39. data/spec/vcr_cassettes/isobib_get_123_2001.yml +11 -11
  40. data/spec/vcr_cassettes/isobib_get_124.yml +13 -13
  41. data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +14 -14
  42. data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +46 -46
  43. metadata +5 -5
@@ -22,37 +22,44 @@ module Asciidoctor
22
22
  { id: match[:anchor], type: "standard" }
23
23
  end
24
24
 
25
- def isorefrender1(bib, match, yr, allp = "")
25
+ def isorefrender1(bib, match, year, allp = "")
26
26
  bib.title(**plaintxt) { |i| i << ref_normalise(match[:text]) }
27
27
  docid(bib, match[:usrlbl]) if match[:usrlbl]
28
- docid(bib, id_and_year(match[:code], yr) + allp)
28
+ docid(bib, id_and_year(match[:code], year) + allp)
29
29
  docnumber(bib, match[:code])
30
30
  end
31
31
 
32
- def isorefmatches(xml, match)
32
+ def isorefmatchescode(match)
33
33
  yr = norm_year(match[:year])
34
- ref = fetch_ref xml, match[:code], yr,
35
- title: match[:text], usrlbl: match[:usrlbl],
36
- lang: (@lang || :all)
37
- return use_my_anchor(ref, match[:anchor]) if ref
38
-
39
- xml.bibitem **attr_code(ref_attributes(match)) do |t|
40
- isorefrender1(t, match, yr)
41
- yr and t.date **{ type: "published" } do |d|
42
- set_date_range(d, yr)
34
+ { code: match[:code], year: yr, match: match,
35
+ title: match[:text], usrlbl: match[:usrlbl],
36
+ lang: (@lang || :all) }
37
+ end
38
+
39
+ def isorefmatchesout(item, xml)
40
+ if item[:doc] then use_retrieved_relaton(item, xml)
41
+ else
42
+ xml.bibitem **attr_code(ref_attributes(item[:ref][:match])) do |t|
43
+ isorefrender1(t, item[:ref][:match], item[:ref][:year])
44
+ item[:ref][:year] and t.date **{ type: "published" } do |d|
45
+ set_date_range(d, item[:ref][:year])
46
+ end
47
+ iso_publisher(t, item[:ref][:match][:code])
43
48
  end
44
- iso_publisher(t, match[:code])
45
49
  end
46
50
  end
47
51
 
48
- def isorefmatches2(xml, match)
49
- ref = fetch_ref xml, match[:code], nil,
50
- no_year: true, note: match[:fn],
51
- title: match[:text], usrlbl: match[:usrlbl],
52
- lang: (@lang || :all)
53
- return use_my_anchor(ref, match[:anchor]) if ref
52
+ def isorefmatches2code(match)
53
+ { code: match[:code], no_year: true,
54
+ note: match[:fn], year: nil, match: match,
55
+ title: match[:text], usrlbl: match[:usrlbl],
56
+ lang: (@lang || :all) }
57
+ end
54
58
 
55
- isorefmatches2_1(xml, match)
59
+ def isorefmatches2out(item, xml)
60
+ if item[:doc] then use_retrieved_relaton(item, xml)
61
+ else isorefmatches2_1(xml, item[:ref][:match])
62
+ end
56
63
  end
57
64
 
58
65
  def isorefmatches2_1(xml, match)
@@ -70,16 +77,22 @@ module Asciidoctor
70
77
  end
71
78
  end
72
79
 
73
- def isorefmatches3(xml, match)
80
+ def isorefmatches3code(match)
74
81
  yr = norm_year(match[:year])
75
82
  hasyr = !yr.nil? && yr != "--"
76
- ref = fetch_ref(xml, match[:code], hasyr ? yr : nil,
77
- all_parts: true, no_year: yr == "--",
78
- text: match[:text], usrlbl: match[:usrlbl],
79
- lang: (@lang || :all))
80
- return use_my_anchor(ref, match[:anchor]) if ref
81
-
82
- isorefmatches3_1(xml, match, yr, hasyr, ref)
83
+ { code: match[:code], match: match, yr: yr, hasyr: hasyr,
84
+ year: hasyr ? yr : nil,
85
+ all_parts: true, no_year: yr == "--",
86
+ text: match[:text], usrlbl: match[:usrlbl],
87
+ lang: (@lang || :all) }
88
+ end
89
+
90
+ def isorefmatches3out(item, xml)
91
+ if item[:doc] then use_retrieved_relaton(item, xml)
92
+ else
93
+ isorefmatches3_1(xml, item[:ref][:match], item[:ref][:yr],
94
+ item[:ref][:hasyr], item[:doc])
95
+ end
83
96
  end
84
97
 
85
98
  def isorefmatches3_1(xml, match, yr, _hasyr, _ref)
@@ -120,56 +133,34 @@ module Asciidoctor
120
133
  end
121
134
 
122
135
  MALFORMED_REF = "no anchor on reference, markup may be malformed: see "\
123
- "https://www.metanorma.com/author/topics/document-format/bibliography/ , "\
124
- "https://www.metanorma.com/author/iso/topics/markup/#bibliographies".freeze
125
-
126
- def analyse_ref_nofetch(ret)
127
- return ret unless m = /^nofetch\((?<id>.+)\)$/.match(ret[:id])
128
-
129
- ret.merge(id: m[:id], nofetch: true)
130
- end
131
-
132
- def analyse_ref_repo_path(ret)
133
- return ret unless m =
134
- /^(?<type>repo|path):\((?<key>[^,]+),?(?<id>.*)\)$/.match(ret[:id])
135
-
136
- id = m[:id].empty? ? m[:key].sub(%r{^[^/]+/}, "") : m[:id]
137
- ret.merge(id: id, type: m[:type], key: m[:key], nofetch: true)
138
- end
139
-
140
- def analyse_ref_numeric(ret)
141
- return ret unless /^\d+$/.match?(ret[:id])
142
-
143
- ret.merge(numeric: true)
144
- end
145
-
146
- # ref id = (usrlbl)code[:-]year
147
- # code = nofetch(code) | (repo|path):(key,code) | \[? number \]? | ident
148
- def analyse_ref_code(code)
149
- ret = { id: code }
150
- return ret if code.blank?
151
-
152
- analyse_ref_nofetch(analyse_ref_repo_path(analyse_ref_numeric(ret)))
153
- end
136
+ "https://www.metanorma.com/author/topics/document-format/bibliography/ , "\
137
+ "https://www.metanorma.com/author/iso/topics/markup/#bibliographies".freeze
154
138
 
155
139
  # TODO: alternative where only title is available
156
- def refitem(xml, item, node)
157
- m = NON_ISO_REF.match(item) and return refitem1(xml, item, m)
140
+ def refitemcode(item, node)
141
+ m = NON_ISO_REF.match(item) and return refitem1code(item, m)
158
142
  @log.add("AsciiDoc Input", node, "#{MALFORMED_REF}: #{item}")
159
- nil
143
+ {}
160
144
  end
161
145
 
162
- def refitem1(xml, _item, match)
146
+ def refitem1code(_item, match)
163
147
  code = analyse_ref_code(match[:code])
164
- unless (code[:id] && code[:numeric]) || code[:nofetch]
165
- ref = fetch_ref(xml, code[:id],
166
- match.names.include?("year") ? match[:year] : nil,
167
- title: match[:text],
168
- usrlbl: match[:usrlbl], lang: (@lang || :all)) and
169
- return use_my_anchor(ref, match[:anchor])
148
+ if (code[:id] && code[:numeric]) || code[:nofetch]
149
+ { code: nil, match: match, analyse_code: code }
150
+ else
151
+ { code: code[:id], analyse_code: code,
152
+ year: match.names.include?("year") ? match[:year] : nil,
153
+ title: match[:text], match: match,
154
+ usrlbl: match[:usrlbl], lang: (@lang || :all) }
170
155
  end
156
+ end
157
+
158
+ def refitemout(item, xml)
159
+ return nil if item[:ref][:match].nil?
171
160
 
172
- refitem_render(xml, match, code)
161
+ item[:doc] or return refitem_render(xml, item[:ref][:match],
162
+ item[:ref][:analyse_code])
163
+ use_retrieved_relaton(item, xml)
173
164
  end
174
165
 
175
166
  def ref_normalise(ref)
@@ -211,15 +202,50 @@ module Asciidoctor
211
202
  [matched, matched2, matched3]
212
203
  end
213
204
 
214
- def reference1(node, item, xml)
205
+ def reference1code(item, node)
215
206
  matched, matched2, matched3 = reference1_matches(item)
216
207
  if matched3.nil? && matched2.nil? && matched.nil?
217
- refitem(xml, item, node)
218
- elsif !matched.nil? then isorefmatches(xml, matched)
219
- elsif !matched2.nil? then isorefmatches2(xml, matched2)
220
- elsif !matched3.nil? then isorefmatches3(xml, matched3)
208
+ refitemcode(item, node).merge(process: 0)
209
+ elsif !matched.nil? then isorefmatchescode(matched).merge(process: 1)
210
+ elsif !matched2.nil? then isorefmatches2code(matched2).merge(process: 2)
211
+ elsif !matched3.nil? then isorefmatches3code(matched3).merge(process: 3)
221
212
  end
222
213
  end
214
+
215
+ def reference1out(item, xml)
216
+ case item[:ref][:process]
217
+ when 0 then refitemout(item, xml)
218
+ when 1 then isorefmatchesout(item, xml)
219
+ when 2 then isorefmatches2out(item, xml)
220
+ when 3 then isorefmatches3out(item, xml)
221
+ end
222
+ end
223
+
224
+ def reference_preproc(node)
225
+ refs = node.items.each_with_object([]) do |b, m|
226
+ m << reference1code(b.text, node)
227
+ end
228
+ results = refs.each_with_index.with_object(Queue.new) do |(ref, i), res|
229
+ fetch_ref_async(ref.merge(ord: i), i, res)
230
+ end
231
+ [refs, results]
232
+ end
233
+
234
+ def reference(node)
235
+ refs, results = reference_preproc(node)
236
+ noko do |xml|
237
+ ret = refs.each.with_object([]) do |_, m|
238
+ ref, i, doc = results.pop
239
+ m[i.to_i] = { ref: ref }
240
+ if doc.is_a?(RelatonBib::RequestError)
241
+ @log.add("Bibliography", nil, "Could not retrieve #{ref[:code]}: "\
242
+ "no access to online site")
243
+ else m[i.to_i][:doc] = doc
244
+ end
245
+ end
246
+ ret.each { |b| reference1out(b, xml) }
247
+ end.join
248
+ end
223
249
  end
224
250
  end
225
251
  end
@@ -26,7 +26,7 @@ module Asciidoctor
26
26
  def conditional_date(bib, match, noyr)
27
27
  if match.names.include?("year") && !match[:year].nil?
28
28
  bib.date(**{ type: "published" }) do |d|
29
- noyr and d.on "--" or set_date_range(d, norm_year(match[:year]))
29
+ (noyr and d.on "--") or set_date_range(d, norm_year(match[:year]))
30
30
  end
31
31
  end
32
32
  end
@@ -57,6 +57,35 @@ module Asciidoctor
57
57
  def mn_code(code)
58
58
  code.sub(/^\(/, "[").sub(/\).*$/, "]").sub(/^nofetch\((.+)\)$/, "\\1")
59
59
  end
60
+
61
+ def analyse_ref_nofetch(ret)
62
+ return ret unless m = /^nofetch\((?<id>.+)\)$/.match(ret[:id])
63
+
64
+ ret.merge(id: m[:id], nofetch: true)
65
+ end
66
+
67
+ def analyse_ref_repo_path(ret)
68
+ return ret unless m =
69
+ /^(?<type>repo|path):\((?<key>[^,]+),?(?<id>.*)\)$/.match(ret[:id])
70
+
71
+ id = m[:id].empty? ? m[:key].sub(%r{^[^/]+/}, "") : m[:id]
72
+ ret.merge(id: id, type: m[:type], key: m[:key], nofetch: true)
73
+ end
74
+
75
+ def analyse_ref_numeric(ret)
76
+ return ret unless /^\d+$/.match?(ret[:id])
77
+
78
+ ret.merge(numeric: true)
79
+ end
80
+
81
+ # ref id = (usrlbl)code[:-]year
82
+ # code = nofetch(code) | (repo|path):(key,code) | \[? number \]? | ident
83
+ def analyse_ref_code(code)
84
+ ret = { id: code }
85
+ return ret if code.blank?
86
+
87
+ analyse_ref_nofetch(analyse_ref_repo_path(analyse_ref_numeric(ret)))
88
+ end
60
89
  end
61
90
  end
62
91
  end
@@ -9,12 +9,6 @@ module Asciidoctor
9
9
  @norm_ref
10
10
  end
11
11
 
12
- def reference(node)
13
- noko do |xml|
14
- node.items.each { |item| reference1(node, item.text, xml) }
15
- end.join
16
- end
17
-
18
12
  def bibliography_parse(attrs, xml, node)
19
13
  x = biblio_prep(attrs, xml, node) and return x
20
14
  @biblio = true
@@ -86,6 +80,16 @@ module Asciidoctor
86
80
  nil
87
81
  end
88
82
 
83
+ def fetch_ref_async(ref, idx, res)
84
+ if ref[:code].nil? || ref[:no_year] || @bibdb.nil?
85
+ res << [ref, idx, nil]
86
+ else
87
+ @bibdb.fetch_async(ref[:code], ref[:year], ref) do |doc|
88
+ res << [ref, idx, doc]
89
+ end
90
+ end
91
+ end
92
+
89
93
  def emend_biblio(xml, code, title, usrlbl)
90
94
  unless xml.at("/bibitem/docidentifier[not(@type = 'DOI')][text()]")
91
95
  @log.add("Bibliography", nil,
@@ -112,6 +116,12 @@ module Asciidoctor
112
116
  xml.to_xml.sub(/<\?[^>]+>/, "")
113
117
  end
114
118
 
119
+ def use_retrieved_relaton(item, xml)
120
+ xml.parent.add_child(smart_render_xml(item[:doc], item[:ref][:code],
121
+ item[:ref]))
122
+ use_my_anchor(xml, item[:ref][:match][:anchor])
123
+ end
124
+
115
125
  def init_bib_caches(node)
116
126
  return if @no_isobib
117
127
 
@@ -1,5 +1,5 @@
1
1
  require "htmlentities"
2
- require "uri"
2
+ require "uri" if /^2\./.match?(RUBY_VERSION)
3
3
  require "mime/types"
4
4
  require "base64"
5
5
 
@@ -1,4 +1,4 @@
1
- require "uri"
1
+ require "uri" if /^2\./.match?(RUBY_VERSION)
2
2
  require_relative "ref_sect"
3
3
  require_relative "terms"
4
4
 
@@ -112,7 +112,7 @@ module Asciidoctor
112
112
  def schema_validate1(file, doc, schema)
113
113
  file.write(doc.to_xml)
114
114
  file.close
115
- errors = Jing.new(schema).validate(file.path)
115
+ errors = Jing.new(schema, encoding: "UTF-8").validate(file.path)
116
116
  warn "Syntax Valid!" if errors.none?
117
117
  errors.each do |e|
118
118
  @log.add("Metanorma XML Syntax",
@@ -492,7 +492,7 @@ h3 {
492
492
  font-size: 1.1em;
493
493
  font-weight: 100; }
494
494
 
495
- .TermNum, .Terms, .AltTerms {
495
+ .TermNum {
496
496
  color: #C70039;
497
497
  font-weight: 100; }
498
498
 
@@ -185,7 +185,7 @@ p.document-stage {
185
185
  font-weight: 100;
186
186
  }
187
187
 
188
- .TermNum, .Terms, .AltTerms {
188
+ .TermNum {
189
189
  color: #C70039;
190
190
  font-weight: 100;
191
191
  }
@@ -19,6 +19,6 @@ module Metanorma
19
19
  end
20
20
 
21
21
  module Standoc
22
- VERSION = "1.11.1".freeze
22
+ VERSION = "1.11.2".freeze
23
23
  end
24
24
  end
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
27
27
  spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
28
28
 
29
29
  spec.add_dependency "asciidoctor", "~> 2.0.0"
30
- spec.add_dependency "iev", "~> 0.2.1"
30
+ spec.add_dependency "iev", "~> 0.3.0"
31
31
  spec.add_dependency "isodoc", "~> 1.8.0"
32
32
  spec.add_dependency "metanorma-plugin-datastruct"
33
33
  spec.add_dependency "metanorma-plugin-lutaml"
@@ -42,7 +42,7 @@ Gem::Specification.new do |spec|
42
42
  spec.add_dependency "relaton-iev", "~> 1.1.0"
43
43
  spec.add_dependency "unicode2latex", "~> 0.0.1"
44
44
 
45
- spec.add_development_dependency "byebug"
45
+ spec.add_development_dependency "debug"
46
46
  spec.add_development_dependency "equivalent-xml", "~> 0.6"
47
47
  spec.add_development_dependency "guard", "~> 2.14"
48
48
  spec.add_development_dependency "guard-rspec", "~> 4.7"
@@ -355,7 +355,7 @@ RSpec.describe Asciidoctor::Standoc do
355
355
  <term id='term-term1'>
356
356
  <preferred><expression><name>Term1</name></expression></preferred>
357
357
  <definition>
358
- <verbaldefinition>
358
+ <verbal-definition>
359
359
  <p id='_'>first definition</p>
360
360
  <termsource status='identical' type="authoritative">
361
361
  <origin bibitemid='ISO2191' type='inline' citeas=''>
@@ -366,10 +366,10 @@ RSpec.describe Asciidoctor::Standoc do
366
366
  </localityStack>
367
367
  </origin>
368
368
  </termsource>
369
- </verbaldefinition>
369
+ </verbal-definition>
370
370
  </definition>
371
371
  <definition>
372
- <verbaldefinition>
372
+ <verbal-definition>
373
373
  <p id='_'>second definition</p>
374
374
  <termsource status='identical' type="authoritative">
375
375
  <origin bibitemid='ISO2191' type='inline' citeas=''>
@@ -380,7 +380,7 @@ RSpec.describe Asciidoctor::Standoc do
380
380
  </localityStack>
381
381
  </origin>
382
382
  </termsource>
383
- </verbaldefinition>
383
+ </verbal-definition>
384
384
  </definition>
385
385
  <termnote id='_'>
386
386
  <p id='_'>This is a note</p>
@@ -550,9 +550,9 @@ RSpec.describe Asciidoctor::Standoc do
550
550
  </expression>
551
551
  </preferred>
552
552
  <definition>
553
- <verbaldefinition>
553
+ <verbal-definition>
554
554
  <p id='_'>definition2</p>
555
- </verbaldefinition>
555
+ </verbal-definition>
556
556
  </definition>
557
557
  <termnote id='_'>
558
558
  <p id='_'>Note 2</p>
@@ -1254,7 +1254,7 @@ RSpec.describe Asciidoctor::Standoc do
1254
1254
  the following terms and definitions apply.</p>
1255
1255
  <term id="term-term1">
1256
1256
  <preferred><expression><name>Term1</name></expression></preferred>
1257
- <definition><verbaldefinition><p id='_'>Definition 0</p></verbaldefinition></definition>
1257
+ <definition><verbal-definition><p id='_'>Definition 0</p></verbal-definition></definition>
1258
1258
  <termsource status="identical" type="authoritative">
1259
1259
  <origin bibitemid="ISO2191" type="inline" citeas="">
1260
1260
  <localityStack>
@@ -1273,9 +1273,9 @@ RSpec.describe Asciidoctor::Standoc do
1273
1273
  <term id='term-term2'>
1274
1274
  <preferred><expression><name>Term2</name></expression></preferred>
1275
1275
  <definition>
1276
- <verbaldefinition>
1276
+ <verbal-definition>
1277
1277
  <p id='_'>Definition</p>
1278
- </verbaldefinition>
1278
+ </verbal-definition>
1279
1279
  </definition>
1280
1280
  <termsource status='identical' type="authoritative">
1281
1281
  <origin citeas=''>
@@ -1329,7 +1329,7 @@ RSpec.describe Asciidoctor::Standoc do
1329
1329
  the following terms and definitions apply.</p>
1330
1330
  <term id="term-term1">
1331
1331
  <preferred><expression><name>Term1</name></expression></preferred>
1332
- <definition><verbaldefinition><p id='_'>Definition 0</p></verbaldefinition></definition>
1332
+ <definition><verbal-definition><p id='_'>Definition 0</p></verbal-definition></definition>
1333
1333
  <termsource status="modified" type="authoritative">
1334
1334
  <origin bibitemid="ISO2191" type="inline" citeas="">
1335
1335
  <localityStack>
@@ -1343,9 +1343,9 @@ RSpec.describe Asciidoctor::Standoc do
1343
1343
  </term>
1344
1344
  <term id='term-term2'>
1345
1345
  <preferred><expression><name>Term2</name></expression></preferred>
1346
- <definition><verbaldefinition>
1346
+ <definition><verbal-definition>
1347
1347
  <p id='_'>Definition</p>
1348
- </verbaldefinition></definition>
1348
+ </verbal-definition></definition>
1349
1349
  <termsource status='modified' type="authoritative">
1350
1350
  <origin citeas=''>
1351
1351
  <termref base='IEV' target='xyz'/>
@@ -1395,7 +1395,7 @@ RSpec.describe Asciidoctor::Standoc do
1395
1395
  <name>Term1</name>
1396
1396
  </expression>
1397
1397
  </preferred>
1398
- <definition><verbaldefinition><p id='_'>Definition 0</p></verbaldefinition></definition>
1398
+ <definition><verbal-definition><p id='_'>Definition 0</p></verbal-definition></definition>
1399
1399
  <termsource status='generalisation' type='authoritative'>
1400
1400
  <origin bibitemid='ISO2191' type='inline' citeas=''>
1401
1401
  <localityStack>
@@ -1415,9 +1415,9 @@ RSpec.describe Asciidoctor::Standoc do
1415
1415
  <name>Term2</name>
1416
1416
  </expression>
1417
1417
  </preferred>
1418
- <definition><verbaldefinition>
1418
+ <definition><verbal-definition>
1419
1419
  <p id='_'>Definition</p>
1420
- </verbaldefinition></definition>
1420
+ </verbal-definition></definition>
1421
1421
  <termsource status='modified' type='lineage'>
1422
1422
  <origin citeas=''>
1423
1423
  <termref base='IEV' target='xyz'/>
@@ -29,7 +29,7 @@ RSpec.describe Asciidoctor::Standoc do
29
29
  </ul>
30
30
  <term id="term-time">
31
31
  <preferred><expression><name>Time</name></expression></preferred>
32
- <definition><verbaldefinition><p id="_">This paragraph is extraneous</p></verbaldefinition></definition>
32
+ <definition><verbal-definition><p id="_">This paragraph is extraneous</p></verbal-definition></definition>
33
33
  </term></terms>
34
34
  </sections>
35
35
  </standard-document>
@@ -426,7 +426,7 @@ RSpec.describe Asciidoctor::Standoc do
426
426
  <p id="_">For the purposes of this document, the following terms and definitions apply.</p>
427
427
  <term id="term-term1">
428
428
  <preferred><expression><name>Term1</name></expression></preferred>
429
- <definition><verbaldefinition><p id='_'>Definition 0</p></verbaldefinition></definition>
429
+ <definition><verbal-definition><p id='_'>Definition 0</p></verbal-definition></definition>
430
430
  <termsource status="identical" type="authoritative">
431
431
  <origin bibitemid="ISO2191" type="inline" citeas="">
432
432
  <localityStack>
@@ -545,7 +545,7 @@ RSpec.describe Asciidoctor::Standoc do
545
545
  <p id="_">For the purposes of this document, the following terms and definitions apply.</p>
546
546
  <term id="term-automation1">
547
547
  <preferred><expression><name>Automation1</name></expression></preferred>
548
- <definition><verbaldefinition><p id='_'>Definition 1</p></verbaldefinition></definition>
548
+ <definition><verbal-definition><p id='_'>Definition 1</p></verbal-definition></definition>
549
549
  <termsource status="identical" type="authoritative">
550
550
  <origin bibitemid="IEC60050-103" type="inline" citeas="IEC 60050-103:2009">
551
551
  <localityStack>
@@ -556,7 +556,7 @@ RSpec.describe Asciidoctor::Standoc do
556
556
  </term>
557
557
  <term id="term-automation2">
558
558
  <preferred><expression><name>Automation2</name></expression></preferred>
559
- <definition><verbaldefinition><p id='_'>Definition 2</p></verbaldefinition></definition>
559
+ <definition><verbal-definition><p id='_'>Definition 2</p></verbal-definition></definition>
560
560
  <termsource status="identical" type="authoritative">
561
561
  <origin bibitemid="IEC60050-102" type="inline" citeas="IEC 60050-102:2007">
562
562
  <localityStack>
@@ -567,7 +567,7 @@ RSpec.describe Asciidoctor::Standoc do
567
567
  </term>
568
568
  <term id="term-automation3">
569
569
  <preferred><expression><name>Automation3</name></expression></preferred>
570
- <definition><verbaldefinition><p id='_'>Definition 3</p></verbaldefinition></definition>
570
+ <definition><verbal-definition><p id='_'>Definition 3</p></verbal-definition></definition>
571
571
  <termsource status="identical" type="authoritative">
572
572
  <origin bibitemid="IEC60050-103" type="inline" citeas="IEC 60050-103:2009">
573
573
  <localityStack>