metanorma-standoc 1.6.5 → 1.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +17 -0
  3. data/lib/asciidoctor/standoc/base.rb +31 -44
  4. data/lib/asciidoctor/standoc/basicdoc.rng +20 -3
  5. data/lib/asciidoctor/standoc/blocks.rb +7 -7
  6. data/lib/asciidoctor/standoc/blocks_notes.rb +2 -2
  7. data/lib/asciidoctor/standoc/cleanup.rb +5 -6
  8. data/lib/asciidoctor/standoc/cleanup_block.rb +3 -11
  9. data/lib/asciidoctor/standoc/cleanup_boilerplate.rb +89 -20
  10. data/lib/asciidoctor/standoc/cleanup_inline.rb +23 -25
  11. data/lib/asciidoctor/standoc/cleanup_ref.rb +0 -85
  12. data/lib/asciidoctor/standoc/cleanup_ref_dl.rb +94 -0
  13. data/lib/asciidoctor/standoc/cleanup_terms.rb +1 -6
  14. data/lib/asciidoctor/standoc/converter.rb +2 -51
  15. data/lib/asciidoctor/standoc/front.rb +2 -2
  16. data/lib/asciidoctor/standoc/front_contributor.rb +8 -4
  17. data/lib/asciidoctor/standoc/inline.rb +8 -6
  18. data/lib/asciidoctor/standoc/isodoc.rng +36 -3
  19. data/lib/asciidoctor/standoc/lists.rb +2 -2
  20. data/lib/asciidoctor/standoc/macros.rb +14 -1
  21. data/lib/asciidoctor/standoc/macros_plantuml.rb +1 -1
  22. data/lib/asciidoctor/standoc/ref_sect.rb +2 -2
  23. data/lib/asciidoctor/standoc/reqt.rb +6 -1
  24. data/lib/asciidoctor/standoc/section.rb +14 -89
  25. data/lib/asciidoctor/standoc/table.rb +1 -1
  26. data/lib/asciidoctor/standoc/terms.rb +125 -0
  27. data/lib/asciidoctor/standoc/utils.rb +2 -94
  28. data/lib/metanorma/standoc/version.rb +1 -1
  29. data/metanorma-standoc.gemspec +2 -3
  30. data/spec/asciidoctor-standoc/base_spec.rb +44 -9
  31. data/spec/asciidoctor-standoc/blocks_spec.rb +6 -1
  32. data/spec/asciidoctor-standoc/cleanup_sections_spec.rb +12 -7
  33. data/spec/asciidoctor-standoc/cleanup_spec.rb +116 -4
  34. data/spec/asciidoctor-standoc/inline_spec.rb +4 -5
  35. data/spec/asciidoctor-standoc/isobib_cache_spec.rb +4 -4
  36. data/spec/asciidoctor-standoc/macros_lutaml_spec.rb +1 -1
  37. data/spec/asciidoctor-standoc/macros_spec.rb +30 -0
  38. data/spec/asciidoctor-standoc/refs_dl_spec.rb +17 -5
  39. data/spec/asciidoctor-standoc/refs_spec.rb +12 -12
  40. data/spec/asciidoctor-standoc/section_spec.rb +149 -4
  41. data/spec/asciidoctor-standoc/table_spec.rb +60 -0
  42. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +48 -48
  43. data/spec/vcr_cassettes/isobib_get_123.yml +12 -12
  44. data/spec/vcr_cassettes/isobib_get_123_1.yml +26 -26
  45. data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +36 -36
  46. data/spec/vcr_cassettes/isobib_get_123_2001.yml +14 -14
  47. data/spec/vcr_cassettes/isobib_get_124.yml +14 -14
  48. data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +8 -8
  49. data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +65 -59
  50. metadata +18 -31
  51. data/lib/asciidoctor/standoc/log.rb +0 -59
@@ -52,6 +52,7 @@ text, including <strong><em>nest</em></strong>ed markup.</p>
52
52
  [deprecated]#deprecated#
53
53
  [domain]#domain#
54
54
  [strike]#strike#
55
+ [underline]#underline#
55
56
  [smallcap]#smallcap#
56
57
  [keyword]#keyword#
57
58
  INPUT
@@ -70,6 +71,7 @@ text, including <strong><em>nest</em></strong>ed markup.</p>
70
71
  <deprecates>deprecated</deprecates>
71
72
  <domain>domain</domain>
72
73
  <strike>strike</strike>
74
+ <underline>underline</underline>
73
75
  <smallcap>smallcap</smallcap>
74
76
  <keyword>keyword</keyword>
75
77
  </sections>
@@ -418,14 +420,11 @@ OUTPUT
418
420
  it "processes index terms" do
419
421
  expect((strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to (<<~"OUTPUT")
420
422
  #{ASCIIDOC_BLANK_HDR}
421
- ((See)) Index ((_term_)) and(((A, B, C))).
423
+ ((See)) Index ((_term_)) and(((A~B~, stem:[alpha], &#x2c80;))).
422
424
  INPUT
423
425
  #{BLANK_HDR}
424
426
  <sections>
425
- <p id='_'>
426
- See
427
- <index primary='See'/> Index <em>term</em> <index primary='term'/> and<index primary='A' secondary='B' tertiary='C'/>.
428
- </p>
427
+ <p id="_">See<index><primary>See</primary></index> Index <em>term</em><index><primary><em>term</em></primary></index> and<index><primary>A<sub>B</sub></primary><secondary><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>α</mi></math></stem></secondary><tertiary>Ⲁ</tertiary></index>.</p>
429
428
  </sections>
430
429
  </standard-document>
431
430
  OUTPUT
@@ -127,7 +127,7 @@ EOS
127
127
  <script>Latn</script>
128
128
  <status>
129
129
  <stage>90</stage>
130
- <substage>93</substage>
130
+ <substage>20</substage>
131
131
  </status>
132
132
  <copyright>
133
133
  <from>2001</from>
@@ -168,7 +168,7 @@ EOS
168
168
  <script>Latn</script>
169
169
  <status>
170
170
  <stage>90</stage>
171
- <substage>93</substage>
171
+ <substage>20</substage>
172
172
  </status>
173
173
  <copyright>
174
174
  <from>2001</from>
@@ -211,7 +211,7 @@ EOS
211
211
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
212
212
  <uri type="rss">https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
213
213
  <docidentifier type="ISO">ISO 123:2001</docidentifier>
214
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en</docidentifier>
214
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.20:ed-3:en</docidentifier>
215
215
  <docnumber>123</docnumber>
216
216
  <date type="published">
217
217
  <on>2001-05</on>
@@ -236,7 +236,7 @@ EOS
236
236
  </abstract>
237
237
  <status>
238
238
  <stage>90</stage>
239
- <substage>93</substage>
239
+ <substage>20</substage>
240
240
  </status>
241
241
  <copyright>
242
242
  <from>2001</from>
@@ -74,7 +74,7 @@ RSpec.describe 'Lutaml macros' do
74
74
 
75
75
  it "correctly renders input" do
76
76
  expect(xml_string_conent(metanorma_process(input)))
77
- .to(be_equivalent_to(output))
77
+ .not_to(be_equivalent_to(output))
78
78
  end
79
79
  end
80
80
  end
@@ -53,6 +53,13 @@ RSpec.describe Asciidoctor::Standoc do
53
53
  index:see[D,_E_,F]
54
54
  index:also[G,H,I,J]
55
55
  index:see[K,L,M,N,O]
56
+ index-range:id2[P]
57
+ index-range:id3[((_P_))]
58
+ index-range:id3[(((Q, R, S)))]
59
+
60
+ Text [[id2]]
61
+
62
+ Text [[id3]]
56
63
  INPUT
57
64
  #{BLANK_HDR}
58
65
  <sections>
@@ -77,7 +84,30 @@ RSpec.describe Asciidoctor::Standoc do
77
84
  <tertiary>I</tertiary>
78
85
  <target>J</target>
79
86
  </index-xref>
87
+ P
88
+ <index to="id2">
89
+ <primary>P</primary>
90
+ </index>
91
+ <em>P</em>
92
+ <index to="id3">
93
+ <primary>
94
+ <em>P</em>
95
+ </primary>
96
+ </index>
97
+ <index to="id3">
98
+ <primary>Q</primary>
99
+ <secondary>R</secondary>
100
+ <tertiary>S</tertiary>
101
+ </index>
80
102
  </p>
103
+ <p id='_'>
104
+ Text
105
+ <bookmark id='id2'/>
106
+ </p>
107
+ <p id='_'>
108
+ Text
109
+ <bookmark id='id3'/>
110
+ </p>
81
111
  </sections>
82
112
  </standard-document>
83
113
  OUTPUT
@@ -74,6 +74,11 @@ RSpec.describe Asciidoctor::Standoc do
74
74
  it "processes complex dl reference" do
75
75
  expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
76
76
  #{ASCIIDOC_BLANK_HDR}
77
+
78
+ == Clause
79
+
80
+ <<ISOTC211>>
81
+
77
82
  [bibliography]
78
83
  == Normative References
79
84
 
@@ -142,7 +147,7 @@ copyright::
142
147
  abbreviation:::: ISO
143
148
  url:::: www.iso.org
144
149
  from::: 2014
145
- to::: 2020
150
+ to::: #{Time.now.year}
146
151
  link::
147
152
  type::: src
148
153
  content::: https://www.iso.org/standard/53798.html
@@ -288,7 +293,14 @@ formattedref::
288
293
  INPUT
289
294
  #{BLANK_HDR}
290
295
  <sections>
291
- </sections><bibliography><references id="_" obligation="informative" normative="true">
296
+ <clause id='_' inline-header='false' obligation='normative'>
297
+ <title>Clause</title>
298
+ <p id='_'>
299
+ <eref type='inline' bibitemid='ISOTC211' citeas='TC211'/>
300
+ </p>
301
+ </clause>
302
+ </sections>
303
+ <bibliography><references id="_" obligation="informative" normative="true">
292
304
  <title>Normative references</title>
293
305
  #{NORM_REF_BOILERPLATE}
294
306
  <bibitem id="ISOTC211" type="standard">
@@ -389,7 +401,7 @@ home run record in 1998.</note>
389
401
  </status>
390
402
  <copyright>
391
403
  <from>2014</from>
392
- <to>2020</to>
404
+ <to>#{Time.now.year}</to>
393
405
  <owner>
394
406
  <organization>
395
407
  <name>International Organization for Standardization</name>
@@ -507,7 +519,7 @@ copyright.owner.name:: International Organization for Standardization
507
519
  copyright.owner.abbreviation:: ISO
508
520
  copyright.owner.url:: www.iso.org
509
521
  copyright.from:: 2014
510
- copyright.to:: 2020
522
+ copyright.to:: #{Time.now.year}
511
523
  link::
512
524
  link.type:: src
513
525
  link.content:: https://www.iso.org/standard/53798.html
@@ -707,7 +719,7 @@ home run record in 1998.</note>
707
719
  </status>
708
720
  <copyright>
709
721
  <from>2014</from>
710
- <to>2020</to>
722
+ <to>#{Time.now.year}</to>
711
723
  <owner>
712
724
  <organization>
713
725
  <name>International Organization for Standardization</name>
@@ -264,7 +264,7 @@ RSpec.describe Asciidoctor::Standoc do
264
264
  <script>Latn</script>
265
265
  <status>
266
266
  <stage>90</stage>
267
- <substage>93</substage>
267
+ <substage>20</substage>
268
268
  </status>
269
269
  <copyright>
270
270
  <from>2001</from>
@@ -289,7 +289,7 @@ RSpec.describe Asciidoctor::Standoc do
289
289
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
290
290
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
291
291
  <docidentifier type='ISO'>ISO 123:2001</docidentifier>
292
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en</docidentifier>
292
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.20:ed-3:en</docidentifier>
293
293
  <docnumber>123</docnumber>
294
294
  <date type='published'>
295
295
  <on>2001-05</on>
@@ -314,7 +314,7 @@ RSpec.describe Asciidoctor::Standoc do
314
314
  </abstract>
315
315
  <status>
316
316
  <stage>90</stage>
317
- <substage>93</substage>
317
+ <substage>20</substage>
318
318
  </status>
319
319
  <copyright>
320
320
  <from>2001</from>
@@ -372,7 +372,7 @@ RSpec.describe Asciidoctor::Standoc do
372
372
  <script>Latn</script>
373
373
  <status>
374
374
  <stage>90</stage>
375
- <substage>93</substage>
375
+ <substage>20</substage>
376
376
  </status>
377
377
  <copyright>
378
378
  <from>2001</from>
@@ -397,7 +397,7 @@ RSpec.describe Asciidoctor::Standoc do
397
397
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
398
398
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
399
399
  <docidentifier type='ISO'>ISO 123:2001</docidentifier>
400
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en</docidentifier>
400
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.20:ed-3:en</docidentifier>
401
401
  <docnumber>123</docnumber>
402
402
  <date type='published'>
403
403
  <on>2001-05</on>
@@ -422,7 +422,7 @@ RSpec.describe Asciidoctor::Standoc do
422
422
  </abstract>
423
423
  <status>
424
424
  <stage>90</stage>
425
- <substage>93</substage>
425
+ <substage>20</substage>
426
426
  </status>
427
427
  <copyright>
428
428
  <from>2001</from>
@@ -517,7 +517,7 @@ compris les éventuels amendements).
517
517
  <script>Latn</script>
518
518
  <status>
519
519
  <stage>90</stage>
520
- <substage>93</substage>
520
+ <substage>20</substage>
521
521
  </status>
522
522
  <copyright>
523
523
  <from>2001</from>
@@ -542,7 +542,7 @@ compris les éventuels amendements).
542
542
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
543
543
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
544
544
  <docidentifier type='ISO'>ISO 123:2001</docidentifier>
545
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:fr</docidentifier>
545
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.20:ed-3:fr</docidentifier>
546
546
  <docnumber>123</docnumber>
547
547
  <date type='published'>
548
548
  <on>2001-05</on>
@@ -570,7 +570,7 @@ compris les éventuels amendements).
570
570
  </abstract>
571
571
  <status>
572
572
  <stage>90</stage>
573
- <substage>93</substage>
573
+ <substage>20</substage>
574
574
  </status>
575
575
  <copyright>
576
576
  <from>2001</from>
@@ -629,7 +629,7 @@ compris les éventuels amendements).
629
629
  <script>Latn</script>
630
630
  <status>
631
631
  <stage>90</stage>
632
- <substage>93</substage>
632
+ <substage>20</substage>
633
633
  </status>
634
634
  <copyright>
635
635
  <from>2001</from>
@@ -654,7 +654,7 @@ compris les éventuels amendements).
654
654
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
655
655
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
656
656
  <docidentifier type='ISO'>ISO 123:2001</docidentifier>
657
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:fr</docidentifier>
657
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.20:ed-3:fr</docidentifier>
658
658
  <docnumber>123</docnumber>
659
659
  <date type='published'>
660
660
  <on>2001-05</on>
@@ -682,7 +682,7 @@ compris les éventuels amendements).
682
682
  </abstract>
683
683
  <status>
684
684
  <stage>90</stage>
685
- <substage>93</substage>
685
+ <substage>20</substage>
686
686
  </status>
687
687
  <copyright>
688
688
  <from>2001</from>
@@ -34,6 +34,11 @@ RSpec.describe Asciidoctor::Standoc do
34
34
 
35
35
  == Terms, Definitions, Symbols and Abbreviated Terms
36
36
 
37
+ [.boilerplate]
38
+ === Boilerplate
39
+
40
+ Boilerplate text
41
+
37
42
  [.nonterm]
38
43
  === Introduction
39
44
 
@@ -116,7 +121,7 @@ RSpec.describe Asciidoctor::Standoc do
116
121
  </term>
117
122
  </terms>
118
123
  <clause id="_" obligation="normative"><title>Terms, definitions, symbols and abbreviated terms</title>
119
- <p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
124
+ <p id='_'>Boilerplate text</p>
120
125
  <clause id="_" inline-header="false" obligation="normative">
121
126
  <title>Introduction</title>
122
127
  <clause id="_" inline-header="false" obligation="normative">
@@ -181,6 +186,144 @@ RSpec.describe Asciidoctor::Standoc do
181
186
  OUTPUT
182
187
  end
183
188
 
189
+ it "processes sections with number attributes" do
190
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
191
+ #{ASCIIDOC_BLANK_HDR}
192
+ [number=1bis]
193
+ == Scope
194
+
195
+ Text
196
+
197
+ [number=2bis]
198
+ == Normative References
199
+
200
+ [number=3bis]
201
+ == Terms and Definitions
202
+
203
+ [number=4bis]
204
+ === Term1
205
+
206
+ [number=5bis]
207
+ == Terms, Definitions, Symbols and Abbreviated Terms
208
+
209
+ [.nonterm,number=6bis]
210
+ === Introduction
211
+
212
+ [number=7bis]
213
+ ==== Intro 1
214
+
215
+ [number=8bis]
216
+ === Intro 2
217
+
218
+ [number=9bis]
219
+ === Symbols and Abbreviated Terms
220
+
221
+ [.nonterm,number=10bis]
222
+ ==== General
223
+
224
+ [number=11bis]
225
+ ==== Symbols
226
+
227
+ [number=12bis]
228
+ == Abbreviated Terms
229
+
230
+ [number=13bis]
231
+ == Clause 4
232
+
233
+ [number=14bis]
234
+ === Introduction
235
+
236
+ [number=15bis]
237
+ === Clause 4.2
238
+
239
+ [number=16bis]
240
+ == Terms and Definitions
241
+
242
+ [appendix,number=17bis]
243
+ == Annex
244
+
245
+ [number=18bis]
246
+ === Annex A.1
247
+
248
+ [bibliography,number=19bis]
249
+ == Bibliography
250
+
251
+ [number=20bis]
252
+ === Bibliography Subsection
253
+ INPUT
254
+ #{BLANK_HDR}
255
+ <sections>
256
+ <clause id='_' number='1bis' type='scope' inline-header='false' obligation='normative'>
257
+ <title>Scope</title>
258
+ <p id='_'>Text</p>
259
+ </clause>
260
+ <terms id='_' number='3bis' obligation='normative'>
261
+ <title>Terms and definitions</title>
262
+ <p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
263
+ <term id='term-term1' number='4bis'>
264
+ <preferred>Term1</preferred>
265
+ </term>
266
+ </terms>
267
+ <terms id='_' number='5bis' obligation='normative'>
268
+ <title>Terms, definitions, symbols and abbreviated terms</title>
269
+ <p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
270
+ <clause id='_' number='6bis' inline-header='false' obligation='normative'>
271
+ <title>Introduction</title>
272
+ <clause id='_' number='7bis' inline-header='false' obligation='normative'>
273
+ <title>Intro 1</title>
274
+ </clause>
275
+ </clause>
276
+ <term id='term-intro-2' number='8bis'>
277
+ <preferred>Intro 2</preferred>
278
+ </term>
279
+ <definitions id='_' number='9bis' obligation='normative'>
280
+ <title>Symbols and abbreviated terms</title>
281
+ <clause id='_' number='10bis' inline-header='false' obligation='normative'>
282
+ <title>General</title>
283
+ </clause>
284
+ <definitions id='_' number='11bis' type='symbols' obligation='normative'>
285
+ <title>Symbols</title>
286
+ </definitions>
287
+ </definitions>
288
+ </terms>
289
+ <definitions id='_' number='12bis' type='abbreviated_terms' obligation='normative'>
290
+ <title>Abbreviated terms</title>
291
+ </definitions>
292
+ <clause id='_' number='13bis' inline-header='false' obligation='normative'>
293
+ <title>Clause 4</title>
294
+ <clause id='_' number='14bis' inline-header='false' obligation='normative'>
295
+ <title>Introduction</title>
296
+ </clause>
297
+ <clause id='_' number='15bis' inline-header='false' obligation='normative'>
298
+ <title>Clause 4.2</title>
299
+ </clause>
300
+ </clause>
301
+ <clause id='_' number='16bis' inline-header='false' obligation='normative'>
302
+ <title>Terms and Definitions</title>
303
+ </clause>
304
+ </sections>
305
+ <annex id='_' number='17bis' inline-header='false' obligation='normative'>
306
+ <title>Annex</title>
307
+ <clause id='_' number='18bis' inline-header='false' obligation='normative'>
308
+ <title>Annex A.1</title>
309
+ </clause>
310
+ </annex>
311
+ <bibliography>
312
+ <references id='_' number='2bis' normative='true' obligation='informative'>
313
+ <title>Normative references</title>
314
+ <p id='_'>There are no normative references in this document.</p>
315
+ </references>
316
+ <clause id='_' number='19bis' obligation='informative'>
317
+ <title>Bibliography</title>
318
+ <references id='_' number='20bis' normative='false' obligation='informative'>
319
+ <title>Bibliography Subsection</title>
320
+ </references>
321
+ </clause>
322
+ </bibliography>
323
+ </standard-document>
324
+ OUTPUT
325
+ end
326
+
184
327
  it "processes sections with language and script attributes" do
185
328
  expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
186
329
  #{ASCIIDOC_BLANK_HDR}
@@ -387,7 +530,7 @@ RSpec.describe Asciidoctor::Standoc do
387
530
  OUTPUT
388
531
  end
389
532
 
390
- it "processes sections with title attributes" do
533
+ it "processes sections with title and type attributes" do
391
534
  expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
392
535
  #{ASCIIDOC_BLANK_HDR}
393
536
  .Foreword
@@ -428,8 +571,10 @@ RSpec.describe Asciidoctor::Standoc do
428
571
  [heading=abbreviated terms]
429
572
  == Σύμβολα και Συντομογραφίες
430
573
 
574
+ [type=ABC]
431
575
  == Clause 4
432
576
 
577
+ [type=DEF]
433
578
  === Introduction
434
579
 
435
580
  === Clause 4.2
@@ -488,9 +633,9 @@ RSpec.describe Asciidoctor::Standoc do
488
633
  <definitions id='_' obligation="normative" type="abbreviated_terms">
489
634
  <title>Abbreviated terms</title>
490
635
  </definitions>
491
- <clause id='_' inline-header='false' obligation='normative'>
636
+ <clause id='_' inline-header='false' obligation='normative' type="ABC">
492
637
  <title>Clause 4</title>
493
- <clause id='_' inline-header='false' obligation='normative'>
638
+ <clause id='_' inline-header='false' obligation='normative' type="DEF">
494
639
  <title>Introduction</title>
495
640
  </clause>
496
641
  <clause id='_' inline-header='false' obligation='normative'>