metanorma-standoc 1.10.5 → 1.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +19 -23
  3. data/Rakefile +1 -1
  4. data/lib/asciidoctor/standoc/base.rb +14 -17
  5. data/lib/asciidoctor/standoc/basicdoc.rng +21 -4
  6. data/lib/asciidoctor/standoc/blocks.rb +26 -23
  7. data/lib/asciidoctor/standoc/blocks_notes.rb +17 -22
  8. data/lib/asciidoctor/standoc/cleanup.rb +46 -12
  9. data/lib/asciidoctor/standoc/cleanup_block.rb +5 -70
  10. data/lib/asciidoctor/standoc/cleanup_image.rb +6 -7
  11. data/lib/asciidoctor/standoc/cleanup_inline.rb +44 -102
  12. data/lib/asciidoctor/standoc/cleanup_maths.rb +5 -6
  13. data/lib/asciidoctor/standoc/cleanup_ref.rb +5 -0
  14. data/lib/asciidoctor/standoc/cleanup_reqt.rb +51 -33
  15. data/lib/asciidoctor/standoc/cleanup_section_names.rb +5 -5
  16. data/lib/asciidoctor/standoc/cleanup_symbols.rb +48 -0
  17. data/lib/asciidoctor/standoc/cleanup_table.rb +68 -0
  18. data/lib/asciidoctor/standoc/cleanup_terms.rb +38 -78
  19. data/lib/asciidoctor/standoc/cleanup_terms_designations.rb +162 -0
  20. data/lib/asciidoctor/standoc/cleanup_text.rb +5 -2
  21. data/lib/asciidoctor/standoc/cleanup_xref.rb +107 -0
  22. data/lib/asciidoctor/standoc/converter.rb +15 -0
  23. data/lib/asciidoctor/standoc/inline.rb +7 -5
  24. data/lib/asciidoctor/standoc/isodoc.rng +435 -78
  25. data/lib/asciidoctor/standoc/lists.rb +15 -15
  26. data/lib/asciidoctor/standoc/macros.rb +14 -43
  27. data/lib/asciidoctor/standoc/macros_note.rb +45 -0
  28. data/lib/asciidoctor/standoc/macros_plantuml.rb +29 -14
  29. data/lib/asciidoctor/standoc/macros_terms.rb +82 -20
  30. data/lib/asciidoctor/standoc/ref_sect.rb +24 -17
  31. data/lib/asciidoctor/standoc/reqt.rb +2 -2
  32. data/lib/asciidoctor/standoc/reqt.rng +23 -2
  33. data/lib/asciidoctor/standoc/term_lookup_cleanup.rb +50 -11
  34. data/lib/asciidoctor/standoc/terms.rb +21 -3
  35. data/lib/asciidoctor/standoc/utils.rb +36 -23
  36. data/lib/asciidoctor/standoc/validate.rb +45 -27
  37. data/lib/asciidoctor/standoc/validate_section.rb +5 -2
  38. data/lib/metanorma/standoc/version.rb +1 -1
  39. data/metanorma-standoc.gemspec +1 -1
  40. data/spec/asciidoctor/base_spec.rb +4 -36
  41. data/spec/asciidoctor/blank_spec.rb +37 -0
  42. data/spec/asciidoctor/blocks_spec.rb +296 -47
  43. data/spec/asciidoctor/cleanup_blocks_spec.rb +1018 -0
  44. data/spec/asciidoctor/cleanup_sections_spec.rb +153 -12
  45. data/spec/asciidoctor/cleanup_spec.rb +179 -1265
  46. data/spec/asciidoctor/cleanup_terms_spec.rb +990 -0
  47. data/spec/asciidoctor/inline_spec.rb +38 -2
  48. data/spec/asciidoctor/lists_spec.rb +6 -6
  49. data/spec/asciidoctor/macros_plantuml_spec.rb +37 -2
  50. data/spec/asciidoctor/macros_spec.rb +226 -138
  51. data/spec/asciidoctor/refs_spec.rb +4 -26
  52. data/spec/asciidoctor/section_spec.rb +18 -18
  53. data/spec/asciidoctor/validate_spec.rb +109 -1
  54. data/spec/assets/xref_error.adoc +1 -0
  55. data/spec/fixtures/datamodel_description_sections_tree.xml +327 -326
  56. data/spec/spec_helper.rb +6 -7
  57. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +51 -51
  58. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec1.yml +13 -13
  59. data/spec/vcr_cassettes/isobib_get_123.yml +13 -13
  60. data/spec/vcr_cassettes/isobib_get_123_1.yml +26 -26
  61. data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +34 -34
  62. data/spec/vcr_cassettes/isobib_get_123_2001.yml +12 -12
  63. data/spec/vcr_cassettes/isobib_get_124.yml +13 -13
  64. data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +16 -16
  65. data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +51 -49
  66. metadata +13 -5
@@ -4,9 +4,10 @@ RSpec.describe Asciidoctor::Standoc do
4
4
  it "processes the Asciidoctor::Standoc inline macros" do
5
5
  input = <<~INPUT
6
6
  #{ASCIIDOC_BLANK_HDR}
7
+ preferred:[term0]
7
8
  alt:[term1]
8
- deprecated:[term1]
9
- domain:[term1]
9
+ deprecated:[term2]
10
+ domain:[term3]
10
11
  inherit:[<<ref1>>]
11
12
  autonumber:table[3]
12
13
  add:[a <<clause>>] del:[B]
@@ -20,9 +21,10 @@ RSpec.describe Asciidoctor::Standoc do
20
21
  <preface>
21
22
  <foreword id='_' obligation='informative'>
22
23
  <title>Foreword</title>
23
- <admitted>term1</admitted>
24
- <deprecates>term1</deprecates>
25
- <domain>term1</domain>
24
+ <preferred><expression><name>term0</name></expression></preferred>
25
+ <admitted><expression><name>term1</name></expression></admitted>
26
+ <deprecates><expression><name>term2</name></expression></deprecates>
27
+ <domain>term3</domain>
26
28
  <inherit>
27
29
  <eref type='inline' bibitemid='ref1' citeas='XYZ 123'/>
28
30
  </inherit>
@@ -161,9 +163,10 @@ RSpec.describe Asciidoctor::Standoc do
161
163
  .to be_equivalent_to xmlpp(output)
162
164
  end
163
165
 
164
- it "processes the Asciidoctor::Standoc concept macros" do
166
+ it "processes the Asciidoctor::Standoc concept and related macros" do
165
167
  input = <<~INPUT
166
168
  #{ASCIIDOC_BLANK_HDR}
169
+
167
170
  {{clause1}}
168
171
  term:[clause1]
169
172
  {{clause1,w\[o\]rd}}
@@ -175,7 +178,10 @@ RSpec.describe Asciidoctor::Standoc do
175
178
  term:[blah,word]
176
179
  {{blah,term,word}}
177
180
  {{blah,term,word,xref}}
178
- {{blah,term,word,xref,option="noital,noref"}}
181
+ {{blah,term,word,xref,options="noital,noref,nolinkmention,nolinkref"}}
182
+ {{blah,term,word,xref,options="ital,ref,linkmention,linkref"}}
183
+
184
+ related:contrast[blah]
179
185
 
180
186
  [[clause1]]
181
187
  == Clause
@@ -283,7 +289,7 @@ RSpec.describe Asciidoctor::Standoc do
283
289
  <tt>blah</tt>
284
290
  </strong>
285
291
  </concept>
286
- <concept ital='false' ref='false'>
292
+ <concept ital='false' ref='false' linkmention='false' linkref='false'>
287
293
  <strong>
288
294
  term
289
295
  <tt>blah</tt>
@@ -293,7 +299,25 @@ RSpec.describe Asciidoctor::Standoc do
293
299
  <tt>blah</tt>
294
300
  </strong>
295
301
  </concept>
296
- </p>
302
+ <concept ital='true' ref='true' linkmention='true' linkref='true'>
303
+ <strong>
304
+ term
305
+ <tt>blah</tt>
306
+ , display
307
+ <tt>term</tt>
308
+ not resolved via ID
309
+ <tt>blah</tt>
310
+ </strong>
311
+ </concept>
312
+ </p>
313
+ <related type='contrast'>
314
+ <strong>
315
+ term
316
+ <tt>blah</tt>
317
+ not resolved via ID
318
+ <tt>blah</tt>
319
+ </strong>
320
+ </related>
297
321
  </foreword>
298
322
  </preface>
299
323
  <sections>
@@ -311,20 +335,23 @@ RSpec.describe Asciidoctor::Standoc do
311
335
  it "processes the Asciidoctor::Standoc concept macros for acronyms" do
312
336
  input = <<~INPUT
313
337
  #{ASCIIDOC_BLANK_HDR}
338
+
314
339
  {{Clause1}}
315
340
  {{Clause1,Clause 1}}
316
341
  {{Clause 2}}
317
342
  {{Clause 2,Clause 1}}
318
343
  {{<<Clause2>>,Clause 2}}
344
+
319
345
  symbol:[Clause1]
320
346
  symbol:[Clause1,word]
321
347
  symbol:[Clause 2]
322
348
  symbol:[Clause 2,word]
349
+
323
350
  {{<<Clause2>>,word}}
324
351
  {{<<Clause2>>,word,term}}
325
352
  {{<<Clause2>>,word,term,xref}}
326
- {{<<Clause2>>,word,term,xref,option="noital,noref"}}
327
- {{<<Clause2>>,word,term,xref,option="ital,ref"}}
353
+ {{<<Clause2>>,word,term,xref,options="noital,noref,nolinkmention,nolinkref"}}
354
+ {{<<Clause2>>,word,term,xref,options="ital,ref,linkmention,linkref"}}
328
355
 
329
356
  == Terms and definitions
330
357
  === Clause1
@@ -363,6 +390,7 @@ RSpec.describe Asciidoctor::Standoc do
363
390
  <renderterm>Clause 2</renderterm>
364
391
  <xref target='Clause2'/>
365
392
  </concept>
393
+ </p><p id="_">
366
394
  <concept>
367
395
  <refterm>Clause1</refterm>
368
396
  <renderterm>Clause1</renderterm>
@@ -383,6 +411,7 @@ RSpec.describe Asciidoctor::Standoc do
383
411
  <renderterm>word</renderterm>
384
412
  <xref target='Clause2'/>
385
413
  </concept>
414
+ </p><p id="_">
386
415
  <concept>
387
416
  <refterm>word</refterm>
388
417
  <renderterm>word</renderterm>
@@ -398,12 +427,12 @@ RSpec.describe Asciidoctor::Standoc do
398
427
  <renderterm>term</renderterm>
399
428
  <xref target='Clause2'>xref</xref>
400
429
  </concept>
401
- <concept ital='false' ref='false'>
430
+ <concept ital='false' ref='false' linkmention='false' linkref='false'>
402
431
  <refterm>word</refterm>
403
432
  <renderterm>term</renderterm>
404
433
  <xref target='Clause2'>xref</xref>
405
434
  </concept>
406
- <concept ital='true' ref='true'>
435
+ <concept ital='true' ref='true' linkmention='true' linkref='true'>
407
436
  <refterm>word</refterm>
408
437
  <renderterm>term</renderterm>
409
438
  <xref target='Clause2'>xref</xref>
@@ -416,7 +445,7 @@ RSpec.describe Asciidoctor::Standoc do
416
445
  <title>Terms and definitions</title>
417
446
  <p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
418
447
  <term id='term-clause1'>
419
- <preferred>Clause1</preferred>
448
+ <preferred><expression><name>Clause1</name></expression></preferred>
420
449
  </term>
421
450
  </terms>
422
451
  <definitions id='_' obligation='normative'>
@@ -439,7 +468,7 @@ RSpec.describe Asciidoctor::Standoc do
439
468
  .to be_equivalent_to xmlpp(output)
440
469
  end
441
470
 
442
- it "processes the concept macros with xrefs" do
471
+ it "processes the concept and related macros with xrefs" do
443
472
  input = <<~INPUT
444
473
  #{ASCIIDOC_BLANK_HDR}
445
474
  {{<<clause1>>}}
@@ -447,6 +476,8 @@ RSpec.describe Asciidoctor::Standoc do
447
476
  {{<<clause1>>,term,w\[o\]rd}}
448
477
  {{<<clause1>>,term,w\[o\]rd,Clause #1}}
449
478
 
479
+ related:supersedes[<<clause1>>,term]
480
+
450
481
  [[clause1]]
451
482
  == Clause
452
483
  Terms are defined here
@@ -476,6 +507,14 @@ RSpec.describe Asciidoctor::Standoc do
476
507
  <xref target='clause1'>Clause #1</xref>
477
508
  </concept>
478
509
  </p>
510
+ <related type='supersedes'>
511
+ <preferred>
512
+ <expression>
513
+ <name>term</name>
514
+ </expression>
515
+ </preferred>
516
+ <xref target='clause1'/>
517
+ </related>
479
518
  </foreword>
480
519
  </preface>
481
520
  <sections>
@@ -490,7 +529,7 @@ RSpec.describe Asciidoctor::Standoc do
490
529
  .to be_equivalent_to xmlpp(output)
491
530
  end
492
531
 
493
- it "processes the concept macros with erefs" do
532
+ it "processes the concept and related macros with erefs" do
494
533
  input = <<~INPUT
495
534
  #{ASCIIDOC_BLANK_HDR}
496
535
  {{<<blah>>}}
@@ -504,6 +543,8 @@ RSpec.describe Asciidoctor::Standoc do
504
543
  {{<<blah,clause=3.1,figure=a>>,word}}
505
544
  {{<<blah,clause=3.1,figure=a>>,term,word,Clause #1}}
506
545
 
546
+ related:narrower[<<blah,clause=3.1,figure=a>>,term]
547
+
507
548
  [bibliography]
508
549
  == Bibliography
509
550
  * [[[blah,blah]]] _Blah_
@@ -605,6 +646,23 @@ RSpec.describe Asciidoctor::Standoc do
605
646
  </eref>
606
647
  </concept>
607
648
  </p>
649
+ <related type='narrower'>
650
+ <preferred>
651
+ <expression>
652
+ <name>term</name>
653
+ </expression>
654
+ </preferred>
655
+ <eref bibitemid='blah'>
656
+ <localityStack>
657
+ <locality type='clause'>
658
+ <referenceFrom>3.1</referenceFrom>
659
+ </locality>
660
+ <locality type='figure'>
661
+ <referenceFrom>a</referenceFrom>
662
+ </locality>
663
+ </localityStack>
664
+ </eref>
665
+ </related>
608
666
  </foreword>
609
667
  </preface>
610
668
  <sections> </sections>
@@ -625,39 +683,49 @@ RSpec.describe Asciidoctor::Standoc do
625
683
  .to be_equivalent_to xmlpp(output)
626
684
  end
627
685
 
628
- it "processes the concept macros with termbase" do
686
+ it "processes the concept and related macros with termbase" do
629
687
  input = <<~INPUT
630
688
  #{ASCIIDOC_BLANK_HDR}
631
689
  {{<<IEV:135-13-13>>}}
632
690
  {{<<IEV:135-13-13>>,word}}
633
691
  {{<<IEV:135-13-13>>,term,word}}
634
692
  {{<<IEV:135-13-13>>,term,word,Clause #1}}
693
+
694
+ related:see[<<IEV:135-13-13>>,term]
635
695
  INPUT
636
696
  output = <<~OUTPUT
637
- #{BLANK_HDR}
638
- <sections>
639
- <p id='_'>
640
- <concept>
641
- <termref base='IEV' target='135-13-13'/>
642
- </concept>
643
- <concept>
644
- <refterm>word</refterm>
645
- <renderterm>word</renderterm>
646
- <termref base='IEV' target='135-13-13'/>
647
- </concept>
648
- <concept>
649
- <refterm>term</refterm>
650
- <renderterm>word</renderterm>
651
- <termref base='IEV' target='135-13-13'/>
652
- </concept>
653
- <concept>
654
- <refterm>term</refterm>
655
- <renderterm>word</renderterm>
656
- <termref base='IEV' target='135-13-13'>Clause #1</termref>
657
- </concept>
658
- </p>
659
- </sections>
660
- </standard-document>
697
+ #{BLANK_HDR}
698
+ <sections>
699
+ <p id='_'>
700
+ <concept>
701
+ <termref base='IEV' target='135-13-13'/>
702
+ </concept>
703
+ <concept>
704
+ <refterm>word</refterm>
705
+ <renderterm>word</renderterm>
706
+ <termref base='IEV' target='135-13-13'/>
707
+ </concept>
708
+ <concept>
709
+ <refterm>term</refterm>
710
+ <renderterm>word</renderterm>
711
+ <termref base='IEV' target='135-13-13'/>
712
+ </concept>
713
+ <concept>
714
+ <refterm>term</refterm>
715
+ <renderterm>word</renderterm>
716
+ <termref base='IEV' target='135-13-13'>Clause #1</termref>
717
+ </concept>
718
+ </p>
719
+ <related type='see'>
720
+ <preferred>
721
+ <expression>
722
+ <name>term</name>
723
+ </expression>
724
+ </preferred>
725
+ <termref base='IEV' target='135-13-13'/>
726
+ </related>
727
+ </sections>
728
+ </standard-document>
661
729
  OUTPUT
662
730
  expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
663
731
  .to be_equivalent_to xmlpp(output)
@@ -678,7 +746,7 @@ RSpec.describe Asciidoctor::Standoc do
678
746
  <definitions id='clause1' obligation='normative'>
679
747
  <title>Symbols and abbreviated terms</title>
680
748
  <dl id='_'>
681
- <dt id='symbol-_-_x_-'>
749
+ <dt id='symbol-_-__x230a_x__x230b_-'>
682
750
  <stem type='MathML'>
683
751
  <math xmlns='http://www.w3.org/1998/Math/MathML'>
684
752
  <mo>&#8970;</mo>
@@ -700,7 +768,7 @@ RSpec.describe Asciidoctor::Standoc do
700
768
  function.
701
769
  </p>
702
770
  </dd>
703
- <dt id='symbol-_-_x_--1'>
771
+ <dt id='symbol-_-__x2308_x__x2309_-'>
704
772
  <stem type='MathML'>
705
773
  <math xmlns='http://www.w3.org/1998/Math/MathML'>
706
774
  <mo>&#8968;</mo>
@@ -1073,7 +1141,7 @@ RSpec.describe Asciidoctor::Standoc do
1073
1141
  output = <<~OUTPUT
1074
1142
  #{BLANK_HDR}
1075
1143
  <sections>
1076
- <form id='_' name='N1' action='/action_page.php' class="checkboxes">
1144
+ <form id='N0' name='N1' action='/action_page.php' class="checkboxes">
1077
1145
  <p id='_'>
1078
1146
  <label for='fname'>First name:</label>
1079
1147
  <br/>
@@ -1176,7 +1244,7 @@ RSpec.describe Asciidoctor::Standoc do
1176
1244
  </clause>
1177
1245
  <clause id='clause1Ab' inline-header='false' obligation='normative'>
1178
1246
  <title>Clause 1Ab</title>
1179
- <variant-title variant_title='true' type='toc'>1Ab Clause</variant-title>
1247
+ <variant-title type='toc'>1Ab Clause</variant-title>
1180
1248
  </clause>
1181
1249
  </clause>
1182
1250
  <clause id='clause1B' inline-header='false' obligation='normative'>
@@ -1256,6 +1324,8 @@ RSpec.describe Asciidoctor::Standoc do
1256
1324
  term:[name,name2] is a term
1257
1325
 
1258
1326
  {{name,name2}} is a term
1327
+
1328
+ related:equivalent[name]
1259
1329
  XML
1260
1330
  end
1261
1331
  let(:output) do
@@ -1266,7 +1336,7 @@ RSpec.describe Asciidoctor::Standoc do
1266
1336
  <title>Terms and definitions</title>
1267
1337
  <p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
1268
1338
  <term id='term-name'>
1269
- <preferred>name</preferred>
1339
+ <preferred><expression><name>name</name></expression></preferred>
1270
1340
  </term>
1271
1341
  </terms>
1272
1342
  <clause id='_' inline-header='false' obligation='normative'>
@@ -1287,6 +1357,14 @@ RSpec.describe Asciidoctor::Standoc do
1287
1357
  </concept>
1288
1358
  is a term
1289
1359
  </p>
1360
+ <related type='equivalent'>
1361
+ <preferred>
1362
+ <expression>
1363
+ <name>name</name>
1364
+ </expression>
1365
+ </preferred>
1366
+ <xref target='term-name'>name</xref>
1367
+ </related>
1290
1368
  </clause>
1291
1369
  </sections>
1292
1370
  </standard-document>
@@ -1321,7 +1399,7 @@ RSpec.describe Asciidoctor::Standoc do
1321
1399
  <title>Terms and definitions</title>
1322
1400
  <p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
1323
1401
  <term id='term-name'>
1324
- <preferred>name</preferred>
1402
+ <preferred><expression><name>name</name></expression></preferred>
1325
1403
  </term>
1326
1404
  </terms>
1327
1405
  <clause id='_' inline-header='false' obligation='normative'>
@@ -1385,10 +1463,10 @@ RSpec.describe Asciidoctor::Standoc do
1385
1463
  <title>Terms and definitions</title>
1386
1464
  <p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
1387
1465
  <term id='term-name-1'>
1388
- <preferred>name</preferred>
1466
+ <preferred><expression><name>name</name></expression></preferred>
1389
1467
  </term>
1390
1468
  <term id='term-name2-1'>
1391
- <preferred>name2</preferred>
1469
+ <preferred><expression><name>name2</name></expression></preferred>
1392
1470
  </term>
1393
1471
  </terms>
1394
1472
  <clause id='term-name' inline-header='false' obligation='normative'>
@@ -1460,83 +1538,93 @@ RSpec.describe Asciidoctor::Standoc do
1460
1538
  {{name identity}} is a term
1461
1539
 
1462
1540
  Moreover, {{missing}} is a term
1541
+
1542
+ related:equivalent[missing]
1463
1543
  XML
1464
1544
  end
1465
1545
  let(:output) do
1466
1546
  <<~XML
1467
- #{BLANK_HDR}
1468
- <sections>
1469
- <terms id='_' obligation='normative'>
1470
- <title>Terms and definitions</title>
1471
- <p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
1472
- <term id='term-name-identity'>
1473
- <preferred>name identity</preferred>
1474
- </term>
1475
- <term id='name-check'>
1476
- <preferred>name check</preferred>
1477
- <definition>
1478
- <p id='_'>paragraph</p>
1479
- <p id='_'>
1480
- <concept>
1481
- <refterm>name check</refterm>
1482
- <renderterm>name check</renderterm>
1483
- <xref target='name-check'/>
1484
- </concept>
1485
- is a term
1486
- </p>
1487
- <p id='_'>
1488
- <concept>
1489
- <refterm>name identity</refterm>
1490
- <renderterm>name identity</renderterm>
1491
- <xref target='term-name-identity'/>
1492
- </concept>
1493
- is a term
1494
- </p>
1495
- <p id='_'>
1496
- Moreover,
1497
- <concept>
1498
- <strong>
1499
- term
1500
- <tt>missing</tt>
1501
- not resolved via ID
1502
- <tt>missing</tt>
1503
- </strong>
1504
- </concept>
1505
- is a term
1506
- </p>
1507
- <p id='_'>
1508
- <concept>
1509
- <refterm>name check</refterm>
1510
- <renderterm>name check</renderterm>
1511
- <xref target='name-check'/>
1512
- </concept>
1513
- is a term
1514
- </p>
1515
- <p id='_'>
1516
- <concept>
1517
- <refterm>name identity</refterm>
1518
- <renderterm>name identity</renderterm>
1519
- <xref target='term-name-identity'/>
1520
- </concept>
1521
- is a term
1522
- </p>
1523
- <p id='_'>
1524
- Moreover,
1525
- <concept>
1526
- <strong>
1527
- term
1528
- <tt>missing</tt>
1529
- not resolved via ID
1530
- <tt>missing</tt>
1531
- </strong>
1532
- </concept>
1533
- is a term
1534
- </p>
1535
- </definition>
1536
- </term>
1537
- </terms>
1538
- </sections>
1539
- </standard-document>
1547
+ #{BLANK_HDR}
1548
+ <sections>
1549
+ <terms id='_' obligation='normative'>
1550
+ <title>Terms and definitions</title>
1551
+ <p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
1552
+ <term id='term-name-identity'>
1553
+ <preferred><expression><name>name identity</name></expression></preferred>
1554
+ </term>
1555
+ <term id='name-check'>
1556
+ <preferred><expression><name>name check</name></expression></preferred>
1557
+ <related type='equivalent'>
1558
+ <strong>
1559
+ term
1560
+ <tt>missing</tt>
1561
+ not resolved via ID
1562
+ <tt>missing</tt>
1563
+ </strong>
1564
+ </related>
1565
+ <definition><verbaldefinition>
1566
+ <p id='_'>paragraph</p>
1567
+ <p id='_'>
1568
+ <concept>
1569
+ <refterm>name check</refterm>
1570
+ <renderterm>name check</renderterm>
1571
+ <xref target='name-check'/>
1572
+ </concept>
1573
+ is a term
1574
+ </p>
1575
+ <p id='_'>
1576
+ <concept>
1577
+ <refterm>name identity</refterm>
1578
+ <renderterm>name identity</renderterm>
1579
+ <xref target='term-name-identity'/>
1580
+ </concept>
1581
+ is a term
1582
+ </p>
1583
+ <p id='_'>
1584
+ Moreover,
1585
+ <concept>
1586
+ <strong>
1587
+ term
1588
+ <tt>missing</tt>
1589
+ not resolved via ID
1590
+ <tt>missing</tt>
1591
+ </strong>
1592
+ </concept>
1593
+ is a term
1594
+ </p>
1595
+ <p id='_'>
1596
+ <concept>
1597
+ <refterm>name check</refterm>
1598
+ <renderterm>name check</renderterm>
1599
+ <xref target='name-check'/>
1600
+ </concept>
1601
+ is a term
1602
+ </p>
1603
+ <p id='_'>
1604
+ <concept>
1605
+ <refterm>name identity</refterm>
1606
+ <renderterm>name identity</renderterm>
1607
+ <xref target='term-name-identity'/>
1608
+ </concept>
1609
+ is a term
1610
+ </p>
1611
+ <p id='_'>
1612
+ Moreover,
1613
+ <concept>
1614
+ <strong>
1615
+ term
1616
+ <tt>missing</tt>
1617
+ not resolved via ID
1618
+ <tt>missing</tt>
1619
+ </strong>
1620
+ </concept>
1621
+ is a term
1622
+ </p>
1623
+ </verbaldefinition></definition>
1624
+ </term>
1625
+ </terms>
1626
+ </sections>
1627
+ </standard-document>
1540
1628
  XML
1541
1629
  end
1542
1630
 
@@ -1600,44 +1688,44 @@ RSpec.describe Asciidoctor::Standoc do
1600
1688
  [lutaml_uml_datamodel_description,#{example_file}]
1601
1689
  --
1602
1690
  [.diagram_include_block, base_path="requirements/"]
1603
- ...
1691
+ .....
1604
1692
  Diagram text
1605
- ...
1693
+ .....
1606
1694
 
1607
1695
  [.include_block, package="Another", base_path="spec/fixtures/"]
1608
- ...
1696
+ .....
1609
1697
  my text
1610
- ...
1698
+ .....
1611
1699
 
1612
1700
  [.include_block, base_path="spec/fixtures/"]
1613
- ...
1701
+ .....
1614
1702
  my text
1615
- ...
1703
+ .....
1616
1704
 
1617
1705
  [.before]
1618
- ...
1706
+ .....
1619
1707
  mine text
1620
- ...
1708
+ .....
1621
1709
 
1622
1710
  [.before, package="Another"]
1623
- ...
1711
+ .....
1624
1712
  text before Another package
1625
- ...
1713
+ .....
1626
1714
 
1627
1715
  [.after, package="Another"]
1628
- ...
1716
+ .....
1629
1717
  text after Another package
1630
- ...
1718
+ .....
1631
1719
 
1632
1720
  [.after, package="CityGML"]
1633
- ...
1721
+ .....
1634
1722
  text after CityGML package
1635
- ...
1723
+ .....
1636
1724
 
1637
1725
  [.after]
1638
- ...
1726
+ .....
1639
1727
  footer text
1640
- ...
1728
+ .....
1641
1729
  --
1642
1730
  TEXT
1643
1731
  end