metanorma-standoc 1.6.4 → 1.6.5
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.
- checksums.yaml +4 -4
- data/lib/asciidoctor/standoc/base.rb +8 -16
- data/lib/asciidoctor/standoc/basicdoc.rng +32 -0
- data/lib/asciidoctor/standoc/cleanup.rb +1 -1
- data/lib/asciidoctor/standoc/cleanup_ref.rb +17 -24
- data/lib/asciidoctor/standoc/cleanup_terms.rb +3 -0
- data/lib/asciidoctor/standoc/converter.rb +3 -0
- data/lib/asciidoctor/standoc/isodoc.rng +15 -0
- data/lib/asciidoctor/standoc/macros.rb +19 -63
- data/lib/asciidoctor/standoc/macros_terms.rb +82 -0
- data/lib/asciidoctor/standoc/ref.rb +12 -21
- data/lib/asciidoctor/standoc/table.rb +12 -0
- data/lib/asciidoctor/standoc/term_lookup_cleanup.rb +86 -0
- data/lib/metanorma/standoc/version.rb +1 -1
- data/spec/asciidoctor-standoc/blocks_spec.rb +8 -8
- data/spec/asciidoctor-standoc/cleanup_sections_spec.rb +6 -6
- data/spec/asciidoctor-standoc/cleanup_spec.rb +70 -9
- data/spec/asciidoctor-standoc/macros_plantuml_spec.rb +307 -0
- data/spec/asciidoctor-standoc/macros_spec.rb +228 -277
- data/spec/asciidoctor-standoc/section_spec.rb +11 -11
- data/spec/asciidoctor-standoc/table_spec.rb +86 -0
- data/spec/fixtures/diagram_definitions.lutaml +4 -4
- data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +49 -49
- data/spec/vcr_cassettes/isobib_get_123.yml +14 -14
- data/spec/vcr_cassettes/isobib_get_123_1.yml +28 -28
- data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +37 -37
- data/spec/vcr_cassettes/isobib_get_123_2001.yml +14 -14
- data/spec/vcr_cassettes/isobib_get_124.yml +14 -14
- data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +8 -8
- data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +51 -61
- metadata +5 -2
@@ -1,6 +1,6 @@
|
|
1
1
|
module Asciidoctor
|
2
2
|
module Standoc
|
3
|
-
module
|
3
|
+
module Refs
|
4
4
|
def iso_publisher(t, code)
|
5
5
|
code.sub(/ .*$/, "").split(/\//).each do |abbrev|
|
6
6
|
t.contributor do |c|
|
@@ -70,8 +70,7 @@ module Asciidoctor
|
|
70
70
|
|
71
71
|
def isorefmatches(xml, m)
|
72
72
|
yr = norm_year(m[:year])
|
73
|
-
ref = fetch_ref xml, m[:code], yr, title: m[:text], usrlbl: m[:usrlbl],
|
74
|
-
lang: (@lang || :all)
|
73
|
+
ref = fetch_ref xml, m[:code], yr, title: m[:text], usrlbl: m[:usrlbl], lang: (@lang || :all)
|
75
74
|
return use_my_anchor(ref, m[:anchor]) if ref
|
76
75
|
xml.bibitem **attr_code(ref_attributes(m)) do |t|
|
77
76
|
isorefrender1(t, m, yr)
|
@@ -105,8 +104,7 @@ module Asciidoctor
|
|
105
104
|
def conditional_date(t, m, noyr)
|
106
105
|
m.names.include?("year") and !m[:year].nil? and
|
107
106
|
t.date(**{ type: "published" }) do |d|
|
108
|
-
noyr and d.on "--" or
|
109
|
-
set_date_range(d, norm_year(m[:year]))
|
107
|
+
noyr and d.on "--" or set_date_range(d, norm_year(m[:year]))
|
110
108
|
end
|
111
109
|
end
|
112
110
|
|
@@ -114,8 +112,7 @@ module Asciidoctor
|
|
114
112
|
yr = norm_year(m[:year])
|
115
113
|
hasyr = !yr.nil? && yr != "--"
|
116
114
|
ref = fetch_ref xml, m[:code], hasyr ? yr : nil, all_parts: true,
|
117
|
-
no_year: yr == "--", text: m[:text], usrlbl: m[:usrlbl],
|
118
|
-
lang: (@lang || :all)
|
115
|
+
no_year: yr == "--", text: m[:text], usrlbl: m[:usrlbl], lang: (@lang || :all)
|
119
116
|
return use_my_anchor(ref, m[:anchor]) if ref
|
120
117
|
isorefmatches3_1(xml, m, yr, hasyr, ref)
|
121
118
|
end
|
@@ -140,8 +137,7 @@ module Asciidoctor
|
|
140
137
|
end
|
141
138
|
docid(t, m[:usrlbl]) if m[:usrlbl]
|
142
139
|
docid(t, /^\d+$/.match(code[:id]) ? "[#{code[:id]}]" : code[:id])
|
143
|
-
code[:type] == "repo" and
|
144
|
-
t.docidentifier code[:key], **{ type: "repository" }
|
140
|
+
code[:type] == "repo" and t.docidentifier code[:key], **{ type: "repository" }
|
145
141
|
end
|
146
142
|
|
147
143
|
def refitem_render(xml, m, code)
|
@@ -155,9 +151,8 @@ module Asciidoctor
|
|
155
151
|
end
|
156
152
|
|
157
153
|
MALFORMED_REF = "no anchor on reference, markup may be malformed: see "\
|
158
|
-
"https://www.metanorma.com/author/topics/document-format/"\
|
159
|
-
"
|
160
|
-
"#bibliographies".freeze
|
154
|
+
"https://www.metanorma.com/author/topics/document-format/bibliography/ , "\
|
155
|
+
"https://www.metanorma.com/author/iso/topics/markup/#bibliographies".freeze
|
161
156
|
|
162
157
|
def analyse_ref_nofetch(ret)
|
163
158
|
return ret unless m = /^nofetch\((?<id>.+)\)$/.match(ret[:id])
|
@@ -165,9 +160,8 @@ module Asciidoctor
|
|
165
160
|
end
|
166
161
|
|
167
162
|
def analyse_ref_repo_path(ret)
|
168
|
-
return ret unless m =
|
169
|
-
|
170
|
-
id = m[:id].empty? ? m[:key].sub(%r{^[^/]+/}, "") : m[:id]
|
163
|
+
return ret unless m = /^(?<type>repo|path):\((?<key>[^,]+),?(?<id>.*)\)$/.match(ret[:id])
|
164
|
+
id = m[:id].empty? ? m[:key].sub(%r{^[^/]+/}, "") : m[:id]
|
171
165
|
ret.merge(id: id, type: m[:type], key: m[:key], nofetch: true)
|
172
166
|
end
|
173
167
|
|
@@ -194,8 +188,7 @@ module Asciidoctor
|
|
194
188
|
def refitem1(xml, item, m)
|
195
189
|
code = analyse_ref_code(m[:code])
|
196
190
|
unless code[:id] && code[:numeric] || code[:nofetch]
|
197
|
-
ref = fetch_ref xml, code[:id],
|
198
|
-
m.names.include?("year") ? m[:year] : nil, title: m[:text],
|
191
|
+
ref = fetch_ref xml, code[:id], m.names.include?("year") ? m[:year] : nil, title: m[:text],
|
199
192
|
usrlbl: m[:usrlbl], lang: (@lang || :all)
|
200
193
|
return use_my_anchor(ref, m[:anchor]) if ref
|
201
194
|
end
|
@@ -212,8 +205,7 @@ module Asciidoctor
|
|
212
205
|
|
213
206
|
ISO_REF = %r{^<ref\sid="(?<anchor>[^"]+)">
|
214
207
|
\[(?<usrlbl>\([^)]+\))?(?<code>(ISO|IEC)[^0-9]*\s[0-9-]+|IEV)
|
215
|
-
(:(?<year>[0-9][0-9-]+))?\]</ref>,?\s*
|
216
|
-
(?<text>.*)$}xm
|
208
|
+
(:(?<year>[0-9][0-9-]+))?\]</ref>,?\s*(?<text>.*)$}xm
|
217
209
|
|
218
210
|
ISO_REF_NO_YEAR = %r{^<ref\sid="(?<anchor>[^"]+)">
|
219
211
|
\[(?<usrlbl>\([^)]+\))?(?<code>(ISO|IEC)[^0-9]*\s[0-9-]+):
|
@@ -239,8 +231,7 @@ module Asciidoctor
|
|
239
231
|
|
240
232
|
def reference1(node, item, xml)
|
241
233
|
matched, matched2, matched3 = reference1_matches(item)
|
242
|
-
if matched3.nil? && matched2.nil? && matched.nil?
|
243
|
-
refitem(xml, item, node)
|
234
|
+
if matched3.nil? && matched2.nil? && matched.nil? then refitem(xml, item, node)
|
244
235
|
elsif !matched.nil? then isorefmatches(xml, matched)
|
245
236
|
elsif !matched2.nil? then isorefmatches2(xml, matched2)
|
246
237
|
elsif !matched3.nil? then isorefmatches3(xml, matched3)
|
@@ -17,6 +17,7 @@ module Asciidoctor
|
|
17
17
|
@table_fn_number = "a"
|
18
18
|
noko do |xml|
|
19
19
|
xml.table **attr_code(table_attrs(node)) do |xml_table|
|
20
|
+
colgroup(node, xml_table)
|
20
21
|
table_name(node, xml_table)
|
21
22
|
%i(head body foot).reject do |tblsec|
|
22
23
|
node.rows[tblsec].empty?
|
@@ -28,6 +29,17 @@ module Asciidoctor
|
|
28
29
|
|
29
30
|
private
|
30
31
|
|
32
|
+
def colgroup(node, xml_table)
|
33
|
+
return if node.option? "autowidth"
|
34
|
+
cols = node&.attr("cols")&.split(/,/) or return
|
35
|
+
return unless cols.size > 1 and cols.all? { |c| /\d/.match(c) }
|
36
|
+
xml_table.colgroup do |cg|
|
37
|
+
node.columns.each do |col|
|
38
|
+
cg.col **{ width: "#{col.attr 'colpcwidth'}%" }
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
31
43
|
def table_name(node, xml_table)
|
32
44
|
if node.title?
|
33
45
|
xml_table.name do |n|
|
@@ -0,0 +1,86 @@
|
|
1
|
+
# frozen_string_literal: true.
|
2
|
+
|
3
|
+
module Asciidoctor
|
4
|
+
module Standoc
|
5
|
+
# Intelligent term lookup xml modifier
|
6
|
+
# Lookup all `term` and `calause` tags and replace `termxref` tags with
|
7
|
+
# `xref`:target tag
|
8
|
+
class TermLookupCleanup
|
9
|
+
AUTOMATIC_GENERATED_ID_REGEXP = /\A_/
|
10
|
+
EXISTING_TERM_REGEXP = /\Aterm-/
|
11
|
+
|
12
|
+
attr_reader :xmldoc, :termlookup, :log
|
13
|
+
|
14
|
+
def initialize(xmldoc, log)
|
15
|
+
@xmldoc = xmldoc
|
16
|
+
@log = log
|
17
|
+
@termlookup = {}
|
18
|
+
end
|
19
|
+
|
20
|
+
def call
|
21
|
+
@termlookup = replace_automatic_generated_ids_terms
|
22
|
+
set_termxref_tags_target
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def set_termxref_tags_target
|
28
|
+
xmldoc.xpath('//termxref').each do |node|
|
29
|
+
target = normalize_ref_id(node.text)
|
30
|
+
if termlookup[target].nil?
|
31
|
+
remove_missing_ref(node, target)
|
32
|
+
next
|
33
|
+
end
|
34
|
+
modify_ref_node(node, target)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def remove_missing_ref(node, target)
|
39
|
+
log.add('AsciiDoc Input', node,
|
40
|
+
%(Error: Term reference in `term[#{target}]` missing: \
|
41
|
+
"#{target}" is not defined in document))
|
42
|
+
term_name_node = node.previous.previous
|
43
|
+
term_name_node.remove
|
44
|
+
term_name_node.name = "strong"
|
45
|
+
term_name_node.children.first.content =
|
46
|
+
%(term "#{term_name_node.text}" not resolved)
|
47
|
+
node.add_previous_sibling(term_name_node)
|
48
|
+
node.remove
|
49
|
+
end
|
50
|
+
|
51
|
+
def modify_ref_node(node, target)
|
52
|
+
node.name = 'xref'
|
53
|
+
node['target'] = termlookup[target]
|
54
|
+
node.children.remove
|
55
|
+
node.remove_attribute('defaultref')
|
56
|
+
end
|
57
|
+
|
58
|
+
def replace_automatic_generated_ids_terms
|
59
|
+
xmldoc.xpath('//term').each.with_object({}) do |term_node, res|
|
60
|
+
normalize_id_and_memorize(term_node, res, './preferred')
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def normalize_id_and_memorize(term_node, res_table, text_selector)
|
65
|
+
term_text = normalize_ref_id(term_node.at(text_selector).text)
|
66
|
+
unless AUTOMATIC_GENERATED_ID_REGEXP.match(term_node['id']).nil?
|
67
|
+
term_node['id'] = unique_text_id(term_text)
|
68
|
+
end
|
69
|
+
res_table[term_text] = term_node['id']
|
70
|
+
end
|
71
|
+
|
72
|
+
def normalize_ref_id(text)
|
73
|
+
text.downcase.gsub(/[[:space:]]/, '-')
|
74
|
+
end
|
75
|
+
|
76
|
+
def unique_text_id(text)
|
77
|
+
return "term-#{text}" if xmldoc.at("//*[@id = 'term-#{text}']").nil?
|
78
|
+
(1..Float::INFINITY).lazy.each do |index|
|
79
|
+
if xmldoc.at("//*[@id = 'term-#{text}-#{index}']").nil?
|
80
|
+
break("term-#{text}-#{index}")
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
@@ -318,7 +318,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
318
318
|
<terms id="_" obligation="normative">
|
319
319
|
<title>Terms and definitions</title>
|
320
320
|
<p id="_">For the purposes of this document, the following terms and definitions apply.</p>
|
321
|
-
<term id="
|
321
|
+
<term id="term-term1">
|
322
322
|
<preferred>Term1</preferred>
|
323
323
|
<termnote id="_">
|
324
324
|
<p id="_">This is a note</p>
|
@@ -383,7 +383,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
383
383
|
<sections>
|
384
384
|
<terms id="_" obligation="normative"><title>Terms, definitions and symbols</title>
|
385
385
|
<p id="_">For the purposes of this document, the following terms and definitions apply.</p>
|
386
|
-
<term id="
|
386
|
+
<term id="term-term1">
|
387
387
|
<preferred>Term1</preferred>
|
388
388
|
</term>
|
389
389
|
<definitions id="_" obligation="normative" type="symbols">
|
@@ -528,7 +528,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
528
528
|
<terms id="_" obligation="normative">
|
529
529
|
<title>Terms and definitions</title>
|
530
530
|
<p id="_">For the purposes of this document, the following terms and definitions apply.</p>
|
531
|
-
<term id="
|
531
|
+
<term id="term-term1">
|
532
532
|
<preferred>Term1</preferred>
|
533
533
|
|
534
534
|
<termexample id="ABC">
|
@@ -583,7 +583,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
583
583
|
#{BLANK_HDR}
|
584
584
|
<sections>
|
585
585
|
<terms id="_" obligation="normative"><title>Terms, definitions and symbols</title>
|
586
|
-
<p id="_">For the purposes of this document, the following terms and definitions apply.</p><term id="
|
586
|
+
<p id="_">For the purposes of this document, the following terms and definitions apply.</p><term id="term-term1">
|
587
587
|
<preferred>Term1</preferred>
|
588
588
|
</term>
|
589
589
|
<definitions id="_" obligation="normative" type="symbols">
|
@@ -972,7 +972,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
972
972
|
<terms id="_" obligation="normative">
|
973
973
|
<title>Terms and definitions</title><p id="_">For the purposes of this document,
|
974
974
|
the following terms and definitions apply.</p>
|
975
|
-
<term id="
|
975
|
+
<term id="term-term1">
|
976
976
|
<preferred>Term1</preferred>
|
977
977
|
<termsource status="identical">
|
978
978
|
<origin bibitemid="ISO2191" type="inline" citeas="">
|
@@ -982,7 +982,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
982
982
|
</origin>
|
983
983
|
</termsource>
|
984
984
|
</term>
|
985
|
-
<term id='
|
985
|
+
<term id='term-term2'>
|
986
986
|
<preferred>Term2</preferred>
|
987
987
|
<definition>
|
988
988
|
<p id='_'>Definition</p>
|
@@ -1032,7 +1032,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1032
1032
|
<title>Terms and definitions</title>
|
1033
1033
|
<p id="_">For the purposes of this document,
|
1034
1034
|
the following terms and definitions apply.</p>
|
1035
|
-
<term id="
|
1035
|
+
<term id="term-term1">
|
1036
1036
|
<preferred>Term1</preferred>
|
1037
1037
|
<termsource status="modified">
|
1038
1038
|
<origin bibitemid="ISO2191" type="inline" citeas="">
|
@@ -1045,7 +1045,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1045
1045
|
</modification>
|
1046
1046
|
</termsource>
|
1047
1047
|
</term>
|
1048
|
-
<term id='
|
1048
|
+
<term id='term-term2'>
|
1049
1049
|
<preferred>Term2</preferred>
|
1050
1050
|
<definition>
|
1051
1051
|
<p id='_'>Definition</p>
|
@@ -21,7 +21,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
21
21
|
<terms id="_" obligation="normative"><title>Terms and definitions</title>
|
22
22
|
<p id="_">For the purposes of this document, the following terms and definitions apply.</p>
|
23
23
|
|
24
|
-
<term id="
|
24
|
+
<term id="term-time">
|
25
25
|
<preferred>Time</preferred>
|
26
26
|
<definition><p id="_">This paragraph is extraneous</p></definition>
|
27
27
|
</term></terms>
|
@@ -456,7 +456,7 @@ INPUT
|
|
456
456
|
</fn>
|
457
457
|
</title>
|
458
458
|
<p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
|
459
|
-
<term id='
|
459
|
+
<term id='term-term1'>
|
460
460
|
<preferred>Term1</preferred>
|
461
461
|
</term>
|
462
462
|
</terms>
|
@@ -728,7 +728,7 @@ INPUT
|
|
728
728
|
<terms id='_' obligation='normative'>
|
729
729
|
<title>Terms and definitions</title>
|
730
730
|
<p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
|
731
|
-
<term id='
|
731
|
+
<term id='term-term1'>
|
732
732
|
<preferred>Term1</preferred>
|
733
733
|
</term>
|
734
734
|
</terms>
|
@@ -962,7 +962,7 @@ INPUT
|
|
962
962
|
Pour les besoins du présent document, les termes et définitions suivants
|
963
963
|
s’appliquent.
|
964
964
|
</p>
|
965
|
-
<term id='
|
965
|
+
<term id='term-term1'>
|
966
966
|
<preferred>Term1</preferred>
|
967
967
|
</term>
|
968
968
|
</terms>
|
@@ -1193,7 +1193,7 @@ INPUT
|
|
1193
1193
|
<terms id='_' obligation='normative'>
|
1194
1194
|
<title>术语和定义</title>
|
1195
1195
|
<p id='_'>下列术语和定义适用于本文件。</p>
|
1196
|
-
<term id='
|
1196
|
+
<term id='term-term1'>
|
1197
1197
|
<preferred>Term1</preferred>
|
1198
1198
|
</term>
|
1199
1199
|
</terms>
|
@@ -1424,7 +1424,7 @@ INPUT
|
|
1424
1424
|
<terms id='_' obligation='normative'>
|
1425
1425
|
<title>Terms and definitions</title>
|
1426
1426
|
<p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
|
1427
|
-
<term id='
|
1427
|
+
<term id='term-term1'>
|
1428
1428
|
<preferred>Term1</preferred>
|
1429
1429
|
</term>
|
1430
1430
|
</terms>
|
@@ -158,7 +158,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
158
158
|
<terms id="_" obligation="normative">
|
159
159
|
<title>Terms and definitions</title>
|
160
160
|
<p id="_">For the purposes of this document, the following terms and definitions apply.</p>
|
161
|
-
<term id="
|
161
|
+
<term id="term-t90"><preferred><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub>
|
162
162
|
<mrow>
|
163
163
|
<mi>t</mi>
|
164
164
|
</mrow>
|
@@ -200,11 +200,11 @@ RSpec.describe Asciidoctor::Standoc do
|
|
200
200
|
<terms id="_" obligation="normative">
|
201
201
|
<title>Terms and definitions</title>
|
202
202
|
<p id="_">For the purposes of this document, the following terms and definitions apply.</p>
|
203
|
-
<term id="
|
203
|
+
<term id="term-tempus">
|
204
204
|
<preferred>Tempus</preferred>
|
205
205
|
<domain>relativity</domain><definition><p id="_"> Time</p></definition>
|
206
206
|
</term>
|
207
|
-
<term id='
|
207
|
+
<term id='term-tempus1'>
|
208
208
|
<preferred>Tempus1</preferred>
|
209
209
|
<domain>relativity2</domain>
|
210
210
|
<definition>
|
@@ -243,7 +243,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
243
243
|
<terms id="_" obligation="normative">
|
244
244
|
<title>Terms and definitions</title>
|
245
245
|
<p id="_">For the purposes of this document, the following terms and definitions apply.</p>
|
246
|
-
<term id="
|
246
|
+
<term id="term-t90"><preferred><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub>
|
247
247
|
<mrow>
|
248
248
|
<mi>t</mi>
|
249
249
|
</mrow>
|
@@ -530,7 +530,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
530
530
|
<terms id="_" obligation="normative">
|
531
531
|
<title>Terms and definitions</title>
|
532
532
|
<p id="_">For the purposes of this document, the following terms and definitions apply.</p>
|
533
|
-
<term id="
|
533
|
+
<term id="term-term1">
|
534
534
|
<preferred>Term1</preferred>
|
535
535
|
<termsource status="identical">
|
536
536
|
<origin bibitemid="ISO2191" type="inline" citeas="">
|
@@ -1059,7 +1059,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1059
1059
|
<terms id="_" obligation="normative">
|
1060
1060
|
<title>Terms and definitions</title>
|
1061
1061
|
<p id="_">For the purposes of this document, the following terms and definitions apply.</p>
|
1062
|
-
<term id="
|
1062
|
+
<term id="term-term"><preferred>Term</preferred>
|
1063
1063
|
|
1064
1064
|
|
1065
1065
|
|
@@ -1123,7 +1123,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1123
1123
|
<sections>
|
1124
1124
|
<terms id="_" obligation="normative"><title>Terms and definitions</title>
|
1125
1125
|
<p id="_">For the purposes of this document, the following terms and definitions apply.</p>
|
1126
|
-
<term id="
|
1126
|
+
<term id="term-automation1">
|
1127
1127
|
<preferred>Automation1</preferred>
|
1128
1128
|
<termsource status="identical">
|
1129
1129
|
<origin bibitemid="IEC60050-103" type="inline" citeas="IEC 60050-103:2009">
|
@@ -1133,7 +1133,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1133
1133
|
</origin>
|
1134
1134
|
</termsource>
|
1135
1135
|
</term>
|
1136
|
-
<term id="
|
1136
|
+
<term id="term-automation2">
|
1137
1137
|
<preferred>Automation2</preferred>
|
1138
1138
|
<termsource status="identical">
|
1139
1139
|
<origin bibitemid="IEC60050-102" type="inline" citeas="IEC 60050-102:2007">
|
@@ -1143,7 +1143,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1143
1143
|
</origin>
|
1144
1144
|
</termsource>
|
1145
1145
|
</term>
|
1146
|
-
<term id="
|
1146
|
+
<term id="term-automation3">
|
1147
1147
|
<preferred>Automation3</preferred>
|
1148
1148
|
<termsource status="identical">
|
1149
1149
|
<origin bibitemid="IEC60050-103" type="inline" citeas="IEC 60050-103:2009">
|
@@ -1415,6 +1415,14 @@ OUTPUT
|
|
1415
1415
|
* [[[iso125,ISO 125]]] _Standard 124_
|
1416
1416
|
* [[[iso126,1]]] _Standard 123_
|
1417
1417
|
|
1418
|
+
[bibliography]
|
1419
|
+
== Bibliography Redux
|
1420
|
+
|
1421
|
+
[bibliography]
|
1422
|
+
=== Clause 1
|
1423
|
+
* [[[iso127,ISO 124]]] _Standard 124_
|
1424
|
+
* [[[iso128,1]]] _Standard 123_
|
1425
|
+
|
1418
1426
|
INPUT
|
1419
1427
|
#{BLANK_HDR}
|
1420
1428
|
<sections><clause id="_" inline-header="false" obligation="normative">
|
@@ -1462,6 +1470,29 @@ OUTPUT
|
|
1462
1470
|
</formattedref>
|
1463
1471
|
<docidentifier type="metanorma">[4]</docidentifier>
|
1464
1472
|
</bibitem>
|
1473
|
+
</references>
|
1474
|
+
</clause>
|
1475
|
+
<clause id='_' obligation='informative'>
|
1476
|
+
<title>Bibliography Redux</title>
|
1477
|
+
<references id='_' normative='false' obligation='informative'>
|
1478
|
+
<title>Clause 1</title>
|
1479
|
+
<bibitem id='iso127' type='standard'>
|
1480
|
+
<title format='text/plain'>Standard 124</title>
|
1481
|
+
<docidentifier>ISO 124</docidentifier>
|
1482
|
+
<docnumber>124</docnumber>
|
1483
|
+
<contributor>
|
1484
|
+
<role type='publisher'/>
|
1485
|
+
<organization>
|
1486
|
+
<name>ISO</name>
|
1487
|
+
</organization>
|
1488
|
+
</contributor>
|
1489
|
+
</bibitem>
|
1490
|
+
<bibitem id='iso128'>
|
1491
|
+
<formattedref format='application/x-isodoc+xml'>
|
1492
|
+
<em>Standard 123</em>
|
1493
|
+
</formattedref>
|
1494
|
+
<docidentifier type='metanorma'>[6]</docidentifier>
|
1495
|
+
</bibitem>
|
1465
1496
|
</references></clause></bibliography>
|
1466
1497
|
</standard-document>
|
1467
1498
|
OUTPUT
|
@@ -1927,6 +1958,11 @@ Author
|
|
1927
1958
|
<mi>α</mi>
|
1928
1959
|
<mo>+</mo>
|
1929
1960
|
<mi>AB</mi>
|
1961
|
+
<mstyle mathvariant="italic">
|
1962
|
+
<mrow>
|
1963
|
+
<mi>Α</mi>
|
1964
|
+
</mrow>
|
1965
|
+
</mstyle>
|
1930
1966
|
</math>
|
1931
1967
|
++++
|
1932
1968
|
INPUT
|
@@ -1946,6 +1982,11 @@ expect(xmlpp(strip_guid(Asciidoctor.convert(input, backend: :standoc, header_foo
|
|
1946
1982
|
<mi>α</mi>
|
1947
1983
|
<mo>+</mo>
|
1948
1984
|
<mi>AB</mi>
|
1985
|
+
<mstyle mathvariant='italic'>
|
1986
|
+
<mrow>
|
1987
|
+
<mi>Α</mi>
|
1988
|
+
</mrow>
|
1989
|
+
</mstyle>
|
1949
1990
|
</math>
|
1950
1991
|
</stem>
|
1951
1992
|
</formula>
|
@@ -1968,6 +2009,11 @@ expect(xmlpp(strip_guid(Asciidoctor.convert(input, backend: :standoc, header_foo
|
|
1968
2009
|
<mi>α</mi>
|
1969
2010
|
<mo>+</mo>
|
1970
2011
|
<mi>AB</mi>
|
2012
|
+
<mstyle mathvariant='italic'>
|
2013
|
+
<mrow>
|
2014
|
+
<mi>Α</mi>
|
2015
|
+
</mrow>
|
2016
|
+
</mstyle>
|
1971
2017
|
</math>
|
1972
2018
|
</stem>
|
1973
2019
|
</formula>
|
@@ -1990,6 +2036,11 @@ expect(xmlpp(strip_guid(Asciidoctor.convert(input, backend: :standoc, header_foo
|
|
1990
2036
|
<mi>α</mi>
|
1991
2037
|
<mo>+</mo>
|
1992
2038
|
<mi>AB</mi>
|
2039
|
+
<mstyle mathvariant='italic'>
|
2040
|
+
<mrow>
|
2041
|
+
<mi>Α</mi>
|
2042
|
+
</mrow>
|
2043
|
+
</mstyle>
|
1993
2044
|
</math>
|
1994
2045
|
</stem>
|
1995
2046
|
</formula>
|
@@ -2012,6 +2063,11 @@ expect(xmlpp(strip_guid(Asciidoctor.convert(input, backend: :standoc, header_foo
|
|
2012
2063
|
<mi mathvariant="normal">α</mi>
|
2013
2064
|
<mo>+</mo>
|
2014
2065
|
<mi>AB</mi>
|
2066
|
+
<mstyle mathvariant='italic'>
|
2067
|
+
<mrow>
|
2068
|
+
<mi>Α</mi>
|
2069
|
+
</mrow>
|
2070
|
+
</mstyle>
|
2015
2071
|
</math>
|
2016
2072
|
</stem>
|
2017
2073
|
</formula>
|
@@ -2034,6 +2090,11 @@ expect(xmlpp(strip_guid(Asciidoctor.convert(input, backend: :standoc, header_foo
|
|
2034
2090
|
<mi>α</mi>
|
2035
2091
|
<mo>+</mo>
|
2036
2092
|
<mi>AB</mi>
|
2093
|
+
<mstyle mathvariant='italic'>
|
2094
|
+
<mrow>
|
2095
|
+
<mi>Α</mi>
|
2096
|
+
</mrow>
|
2097
|
+
</mstyle>
|
2037
2098
|
</math>
|
2038
2099
|
</stem>
|
2039
2100
|
</formula>
|