metanorma-standoc 1.10.4.1 → 1.10.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.adoc +19 -23
- data/lib/asciidoctor/standoc/base.rb +11 -13
- data/lib/asciidoctor/standoc/basicdoc.rng +21 -4
- data/lib/asciidoctor/standoc/blocks.rb +27 -22
- data/lib/asciidoctor/standoc/blocks_notes.rb +17 -22
- data/lib/asciidoctor/standoc/cleanup.rb +38 -71
- data/lib/asciidoctor/standoc/cleanup_block.rb +5 -70
- data/lib/asciidoctor/standoc/cleanup_image.rb +6 -7
- data/lib/asciidoctor/standoc/cleanup_inline.rb +27 -98
- data/lib/asciidoctor/standoc/cleanup_maths.rb +113 -21
- data/lib/asciidoctor/standoc/cleanup_ref.rb +5 -0
- data/lib/asciidoctor/standoc/cleanup_reqt.rb +56 -18
- data/lib/asciidoctor/standoc/cleanup_section.rb +1 -0
- data/lib/asciidoctor/standoc/cleanup_section_names.rb +31 -14
- data/lib/asciidoctor/standoc/cleanup_table.rb +68 -0
- data/lib/asciidoctor/standoc/cleanup_terms.rb +1 -1
- data/lib/asciidoctor/standoc/cleanup_text.rb +73 -0
- data/lib/asciidoctor/standoc/cleanup_xref.rb +107 -0
- data/lib/asciidoctor/standoc/converter.rb +13 -0
- data/lib/asciidoctor/standoc/isodoc.rng +241 -61
- data/lib/asciidoctor/standoc/lists.rb +15 -15
- data/lib/asciidoctor/standoc/macros.rb +14 -43
- data/lib/asciidoctor/standoc/macros_note.rb +45 -0
- data/lib/asciidoctor/standoc/macros_terms.rb +33 -15
- data/lib/asciidoctor/standoc/reqt.rb +2 -2
- data/lib/asciidoctor/standoc/reqt.rng +23 -2
- data/lib/asciidoctor/standoc/table.rb +22 -20
- data/lib/asciidoctor/standoc/terms.rb +9 -1
- data/lib/asciidoctor/standoc/validate.rb +23 -14
- data/lib/asciidoctor/standoc/validate_section.rb +5 -2
- data/lib/metanorma/standoc/version.rb +1 -1
- data/metanorma-standoc.gemspec +1 -1
- data/spec/asciidoctor/base_spec.rb +0 -33
- data/spec/asciidoctor/blank_spec.rb +37 -0
- data/spec/asciidoctor/blocks_spec.rb +151 -30
- data/spec/asciidoctor/cleanup_blocks_spec.rb +1018 -0
- data/spec/asciidoctor/cleanup_sections_spec.rb +207 -0
- data/spec/asciidoctor/cleanup_spec.rb +193 -1078
- data/spec/asciidoctor/inline_spec.rb +36 -0
- data/spec/asciidoctor/isobib_cache_spec.rb +8 -8
- data/spec/asciidoctor/lists_spec.rb +6 -6
- data/spec/asciidoctor/macros_plantuml_spec.rb +1 -1
- data/spec/asciidoctor/macros_spec.rb +41 -26
- data/spec/asciidoctor/refs_dl_spec.rb +1 -1
- data/spec/asciidoctor/refs_spec.rb +220 -444
- data/spec/asciidoctor/section_spec.rb +1 -1
- data/spec/asciidoctor/validate_spec.rb +51 -0
- data/spec/assets/xref_error.adoc +1 -0
- data/spec/fixtures/datamodel_description_sections_tree.xml +24 -24
- data/spec/spec_helper.rb +5 -7
- data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +231 -143
- data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec1.yml +152 -0
- data/spec/vcr_cassettes/isobib_get_123.yml +52 -36
- data/spec/vcr_cassettes/isobib_get_123_1.yml +103 -71
- data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +112 -80
- data/spec/vcr_cassettes/isobib_get_123_2001.yml +50 -34
- data/spec/vcr_cassettes/isobib_get_124.yml +51 -35
- data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +16 -16
- data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +70 -46
- metadata +11 -4
@@ -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
|
@@ -88,14 +88,14 @@ ISO_124_DATED = <<~XML.freeze
|
|
88
88
|
<ext>
|
89
89
|
<doctype>international-standard</doctype>
|
90
90
|
<editorialgroup>
|
91
|
-
|
91
|
+
<technical-committee number='45' type='TC' identifier='ISO/TC 45/SC 3'>Raw materials (including latex) for use in the rubber industry</technical-committee>
|
92
92
|
</editorialgroup>
|
93
93
|
<ics>
|
94
94
|
<code>83.040.10</code>
|
95
95
|
<text>Latex and raw rubber</text>
|
96
96
|
</ics>
|
97
97
|
<structuredidentifier type="ISO">
|
98
|
-
<project-number>ISO 124</project-number>
|
98
|
+
<project-number part="">ISO 124</project-number>
|
99
99
|
</structuredidentifier>
|
100
100
|
</ext>
|
101
101
|
</bibdata>
|
@@ -186,14 +186,14 @@ ISO_123_UNDATED = <<~XML.freeze
|
|
186
186
|
<ext>
|
187
187
|
<doctype>international-standard</doctype>
|
188
188
|
<editorialgroup>
|
189
|
-
|
189
|
+
<technical-committee number='45' type='TC' identifier='ISO/TC 45/SC 3'>Raw materials (including latex) for use in the rubber industry</technical-committee>
|
190
190
|
</editorialgroup>
|
191
191
|
<ics>
|
192
192
|
<code>83.040.10</code>
|
193
193
|
<text>Latex and raw rubber</text>
|
194
194
|
</ics>
|
195
195
|
<structuredidentifier type="ISO">
|
196
|
-
<project-number>ISO 123</project-number>
|
196
|
+
<project-number part="">ISO 123</project-number>
|
197
197
|
</structuredidentifier>
|
198
198
|
</ext>
|
199
199
|
</bibdata>
|
@@ -227,9 +227,9 @@ ISO_123_DATED = <<~XML.freeze
|
|
227
227
|
<script>Latn</script>
|
228
228
|
<abstract format='text/plain' language='en' script='Latn'>
|
229
229
|
This International Standard specifies procedures for sampling natural rubber
|
230
|
-
latex concentrate and for sampling
|
230
|
+
latex concentrate and for sampling synthetic rubber latices and artificial
|
231
231
|
latices. It is also suitable for sampling rubber latex contained in drums,
|
232
|
-
tank cars
|
232
|
+
tank cars or tanks. The procedures may also be used for sampling plastics
|
233
233
|
dispersions.
|
234
234
|
</abstract>
|
235
235
|
<status>
|
@@ -253,14 +253,14 @@ ISO_123_DATED = <<~XML.freeze
|
|
253
253
|
<ext>
|
254
254
|
<doctype>international-standard</doctype>
|
255
255
|
<editorialgroup>
|
256
|
-
|
256
|
+
<technical-committee number='45' type='TC' identifier='ISO/TC 45/SC 3'>Raw materials (including latex) for use in the rubber industry</technical-committee>
|
257
257
|
</editorialgroup>
|
258
258
|
<ics>
|
259
259
|
<code>83.040.10</code>
|
260
260
|
<text>Latex and raw rubber</text>
|
261
261
|
</ics>
|
262
262
|
<structuredidentifier type="ISO">
|
263
|
-
<project-number>ISO 123</project-number>
|
263
|
+
<project-number part="">ISO 123</project-number>
|
264
264
|
</structuredidentifier>
|
265
265
|
</ext>
|
266
266
|
</bibdata>
|
@@ -73,7 +73,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
73
73
|
output = Asciidoctor.convert(<<~"INPUT", *OPTIONS)
|
74
74
|
#{ASCIIDOC_BLANK_HDR}
|
75
75
|
[[id]]
|
76
|
-
[keep-with-next=true,keep-lines-together=true]
|
76
|
+
[keep-with-next=true,keep-lines-together=true,tag=X,multilingual-rendering=common]
|
77
77
|
* First
|
78
78
|
* Second
|
79
79
|
+
|
@@ -84,7 +84,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
84
84
|
--
|
85
85
|
|
86
86
|
[[id1]]
|
87
|
-
[keep-with-next=true,keep-lines-together=true]
|
87
|
+
[keep-with-next=true,keep-lines-together=true,tag=X,multilingual-rendering=common]
|
88
88
|
[loweralpha]
|
89
89
|
. First
|
90
90
|
. Second
|
@@ -103,7 +103,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
103
103
|
[arabic]
|
104
104
|
... E
|
105
105
|
... F
|
106
|
-
[keep-with-next=true,keep-lines-together=true]
|
106
|
+
[keep-with-next=true,keep-lines-together=true,tag=X,multilingual-rendering=common]
|
107
107
|
Notes1::
|
108
108
|
Notes:: Note 1.
|
109
109
|
+
|
@@ -117,14 +117,14 @@ RSpec.describe Asciidoctor::Standoc do
|
|
117
117
|
INPUT
|
118
118
|
expect(xmlpp(strip_guid(output))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
119
119
|
#{BLANK_HDR}
|
120
|
-
<sections><ul id="id" keep-with-next="true" keep-lines-together="true">
|
120
|
+
<sections><ul id="id" keep-with-next="true" keep-lines-together="true" tag='X' multilingual-rendering='common' >
|
121
121
|
<li>
|
122
122
|
<p id="_">First</p>
|
123
123
|
</li>
|
124
124
|
<li><p id="_">Second</p><p id="_">entry1</p>
|
125
125
|
<p id="_">entry2</p></li>
|
126
126
|
</ul>
|
127
|
-
<ol id="id1" type="alphabet" keep-with-next="true" keep-lines-together="true">
|
127
|
+
<ol id="id1" type="alphabet" keep-with-next="true" keep-lines-together="true" tag='X' multilingual-rendering='common' >
|
128
128
|
<li>
|
129
129
|
<p id="_">First</p>
|
130
130
|
</li>
|
@@ -164,7 +164,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
164
164
|
</li>
|
165
165
|
<li>
|
166
166
|
<p id="_">F</p>
|
167
|
-
<dl id="_" keep-with-next="true" keep-lines-together="true">
|
167
|
+
<dl id="_" keep-with-next="true" keep-lines-together="true" tag='X' multilingual-rendering='common'>
|
168
168
|
<dt>Notes1</dt>
|
169
169
|
<dd/>
|
170
170
|
<dt>Notes</dt>
|
@@ -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>
|
@@ -175,7 +175,8 @@ RSpec.describe Asciidoctor::Standoc do
|
|
175
175
|
term:[blah,word]
|
176
176
|
{{blah,term,word}}
|
177
177
|
{{blah,term,word,xref}}
|
178
|
-
{{blah,term,word,xref,
|
178
|
+
{{blah,term,word,xref,options="noital,noref,nolinkmention,nolinkref"}}
|
179
|
+
{{blah,term,word,xref,options="ital,ref,linkmention,linkref"}}
|
179
180
|
|
180
181
|
[[clause1]]
|
181
182
|
== Clause
|
@@ -283,7 +284,17 @@ RSpec.describe Asciidoctor::Standoc do
|
|
283
284
|
<tt>blah</tt>
|
284
285
|
</strong>
|
285
286
|
</concept>
|
286
|
-
<concept ital='false' ref='false'>
|
287
|
+
<concept ital='false' ref='false' linkmention='false' linkref='false'>
|
288
|
+
<strong>
|
289
|
+
term
|
290
|
+
<tt>blah</tt>
|
291
|
+
, display
|
292
|
+
<tt>term</tt>
|
293
|
+
not resolved via ID
|
294
|
+
<tt>blah</tt>
|
295
|
+
</strong>
|
296
|
+
</concept>
|
297
|
+
<concept ital='true' ref='true' linkmention='true' linkref='true'>
|
287
298
|
<strong>
|
288
299
|
term
|
289
300
|
<tt>blah</tt>
|
@@ -323,8 +334,8 @@ RSpec.describe Asciidoctor::Standoc do
|
|
323
334
|
{{<<Clause2>>,word}}
|
324
335
|
{{<<Clause2>>,word,term}}
|
325
336
|
{{<<Clause2>>,word,term,xref}}
|
326
|
-
{{<<Clause2>>,word,term,xref,
|
327
|
-
{{<<Clause2>>,word,term,xref,
|
337
|
+
{{<<Clause2>>,word,term,xref,options="noital,noref,nolinkmention,nolinkref"}}
|
338
|
+
{{<<Clause2>>,word,term,xref,options="ital,ref,linkmention,linkref"}}
|
328
339
|
|
329
340
|
== Terms and definitions
|
330
341
|
=== Clause1
|
@@ -398,12 +409,12 @@ RSpec.describe Asciidoctor::Standoc do
|
|
398
409
|
<renderterm>term</renderterm>
|
399
410
|
<xref target='Clause2'>xref</xref>
|
400
411
|
</concept>
|
401
|
-
<concept ital='false' ref='false'>
|
412
|
+
<concept ital='false' ref='false' linkmention='false' linkref='false'>
|
402
413
|
<refterm>word</refterm>
|
403
414
|
<renderterm>term</renderterm>
|
404
415
|
<xref target='Clause2'>xref</xref>
|
405
416
|
</concept>
|
406
|
-
<concept ital='true' ref='true'>
|
417
|
+
<concept ital='true' ref='true' linkmention='true' linkref='true'>
|
407
418
|
<refterm>word</refterm>
|
408
419
|
<renderterm>term</renderterm>
|
409
420
|
<xref target='Clause2'>xref</xref>
|
@@ -678,7 +689,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
678
689
|
<definitions id='clause1' obligation='normative'>
|
679
690
|
<title>Symbols and abbreviated terms</title>
|
680
691
|
<dl id='_'>
|
681
|
-
<dt id='symbol-_-
|
692
|
+
<dt id='symbol-_-__x230a_x__x230b_-'>
|
682
693
|
<stem type='MathML'>
|
683
694
|
<math xmlns='http://www.w3.org/1998/Math/MathML'>
|
684
695
|
<mo>⌊</mo>
|
@@ -700,7 +711,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
700
711
|
function.
|
701
712
|
</p>
|
702
713
|
</dd>
|
703
|
-
<dt id='symbol-_-
|
714
|
+
<dt id='symbol-_-__x2308_x__x2309_-'>
|
704
715
|
<stem type='MathML'>
|
705
716
|
<math xmlns='http://www.w3.org/1998/Math/MathML'>
|
706
717
|
<mo>⌈</mo>
|
@@ -1073,7 +1084,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1073
1084
|
output = <<~OUTPUT
|
1074
1085
|
#{BLANK_HDR}
|
1075
1086
|
<sections>
|
1076
|
-
<form id='
|
1087
|
+
<form id='N0' name='N1' action='/action_page.php' class="checkboxes">
|
1077
1088
|
<p id='_'>
|
1078
1089
|
<label for='fname'>First name:</label>
|
1079
1090
|
<br/>
|
@@ -1147,6 +1158,9 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1147
1158
|
[[clause1Ab]]
|
1148
1159
|
==== Clause 1Ab
|
1149
1160
|
|
1161
|
+
[.variant-title,type=toc]
|
1162
|
+
1Ab Clause
|
1163
|
+
|
1150
1164
|
[[clause1B]]
|
1151
1165
|
=== Clause 1B
|
1152
1166
|
|
@@ -1173,6 +1187,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1173
1187
|
</clause>
|
1174
1188
|
<clause id='clause1Ab' inline-header='false' obligation='normative'>
|
1175
1189
|
<title>Clause 1Ab</title>
|
1190
|
+
<variant-title type='toc'>1Ab Clause</variant-title>
|
1176
1191
|
</clause>
|
1177
1192
|
</clause>
|
1178
1193
|
<clause id='clause1B' inline-header='false' obligation='normative'>
|
@@ -1196,7 +1211,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1196
1211
|
<xref target='clause1Aa'>Clause 1Aa</xref>
|
1197
1212
|
</li>
|
1198
1213
|
<li>
|
1199
|
-
<xref target='clause1Ab'>Clause
|
1214
|
+
<xref target='clause1Ab'>1Ab Clause</xref>
|
1200
1215
|
</li>
|
1201
1216
|
</ul>
|
1202
1217
|
</li>
|
@@ -1596,44 +1611,44 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1596
1611
|
[lutaml_uml_datamodel_description,#{example_file}]
|
1597
1612
|
--
|
1598
1613
|
[.diagram_include_block, base_path="requirements/"]
|
1599
|
-
|
1614
|
+
.....
|
1600
1615
|
Diagram text
|
1601
|
-
|
1616
|
+
.....
|
1602
1617
|
|
1603
1618
|
[.include_block, package="Another", base_path="spec/fixtures/"]
|
1604
|
-
|
1619
|
+
.....
|
1605
1620
|
my text
|
1606
|
-
|
1621
|
+
.....
|
1607
1622
|
|
1608
1623
|
[.include_block, base_path="spec/fixtures/"]
|
1609
|
-
|
1624
|
+
.....
|
1610
1625
|
my text
|
1611
|
-
|
1626
|
+
.....
|
1612
1627
|
|
1613
1628
|
[.before]
|
1614
|
-
|
1629
|
+
.....
|
1615
1630
|
mine text
|
1616
|
-
|
1631
|
+
.....
|
1617
1632
|
|
1618
1633
|
[.before, package="Another"]
|
1619
|
-
|
1634
|
+
.....
|
1620
1635
|
text before Another package
|
1621
|
-
|
1636
|
+
.....
|
1622
1637
|
|
1623
1638
|
[.after, package="Another"]
|
1624
|
-
|
1639
|
+
.....
|
1625
1640
|
text after Another package
|
1626
|
-
|
1641
|
+
.....
|
1627
1642
|
|
1628
1643
|
[.after, package="CityGML"]
|
1629
|
-
|
1644
|
+
.....
|
1630
1645
|
text after CityGML package
|
1631
|
-
|
1646
|
+
.....
|
1632
1647
|
|
1633
1648
|
[.after]
|
1634
|
-
|
1649
|
+
.....
|
1635
1650
|
footer text
|
1636
|
-
|
1651
|
+
.....
|
1637
1652
|
--
|
1638
1653
|
TEXT
|
1639
1654
|
end
|
@@ -821,7 +821,7 @@ OUTPUT
|
|
821
821
|
<title>Subsection</title>
|
822
822
|
</clause>
|
823
823
|
<references id='_' obligation='informative' normative="true">
|
824
|
-
<title>Normative
|
824
|
+
<title>Normative References</title>
|
825
825
|
<bibitem id='A'>
|
826
826
|
<formattedref format='application/x-isodoc+xml'>Title</formattedref>
|
827
827
|
<docidentifier>B</docidentifier>
|