metanorma-standoc 1.10.6 → 1.11.0.1

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.
Files changed (63) 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 +10 -17
  5. data/lib/asciidoctor/standoc/basicdoc.rng +21 -4
  6. data/lib/asciidoctor/standoc/blocks.rb +23 -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 +3 -71
  10. data/lib/asciidoctor/standoc/cleanup_image.rb +6 -7
  11. data/lib/asciidoctor/standoc/cleanup_inline.rb +42 -106
  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 +5 -24
  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 +37 -77
  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 +14 -0
  23. data/lib/asciidoctor/standoc/inline.rb +7 -5
  24. data/lib/asciidoctor/standoc/isodoc.rng +419 -77
  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 +55 -8
  30. data/lib/asciidoctor/standoc/ref_sect.rb +26 -18
  31. data/lib/asciidoctor/standoc/reqt.rng +23 -2
  32. data/lib/asciidoctor/standoc/term_lookup_cleanup.rb +50 -11
  33. data/lib/asciidoctor/standoc/terms.rb +12 -2
  34. data/lib/asciidoctor/standoc/utils.rb +36 -23
  35. data/lib/asciidoctor/standoc/validate.rb +45 -27
  36. data/lib/asciidoctor/standoc/validate_section.rb +5 -2
  37. data/lib/metanorma/standoc/version.rb +1 -1
  38. data/metanorma-standoc.gemspec +1 -1
  39. data/spec/asciidoctor/base_spec.rb +4 -36
  40. data/spec/asciidoctor/blank_spec.rb +37 -0
  41. data/spec/asciidoctor/blocks_spec.rb +208 -49
  42. data/spec/asciidoctor/cleanup_sections_spec.rb +153 -12
  43. data/spec/asciidoctor/cleanup_spec.rb +104 -285
  44. data/spec/asciidoctor/cleanup_terms_spec.rb +990 -0
  45. data/spec/asciidoctor/inline_spec.rb +38 -2
  46. data/spec/asciidoctor/lists_spec.rb +6 -6
  47. data/spec/asciidoctor/macros_plantuml_spec.rb +37 -2
  48. data/spec/asciidoctor/macros_spec.rb +191 -114
  49. data/spec/asciidoctor/refs_spec.rb +12 -30
  50. data/spec/asciidoctor/section_spec.rb +18 -18
  51. data/spec/asciidoctor/validate_spec.rb +87 -2
  52. data/spec/fixtures/datamodel_description_sections_tree.xml +3 -2
  53. data/spec/spec_helper.rb +6 -7
  54. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +51 -51
  55. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec1.yml +13 -13
  56. data/spec/vcr_cassettes/isobib_get_123.yml +13 -13
  57. data/spec/vcr_cassettes/isobib_get_123_1.yml +26 -26
  58. data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +34 -34
  59. data/spec/vcr_cassettes/isobib_get_123_2001.yml +12 -12
  60. data/spec/vcr_cassettes/isobib_get_124.yml +13 -13
  61. data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +16 -16
  62. data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +51 -49
  63. metadata +12 -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}}
@@ -178,6 +181,8 @@ RSpec.describe Asciidoctor::Standoc do
178
181
  {{blah,term,word,xref,options="noital,noref,nolinkmention,nolinkref"}}
179
182
  {{blah,term,word,xref,options="ital,ref,linkmention,linkref"}}
180
183
 
184
+ related:contrast[blah]
185
+
181
186
  [[clause1]]
182
187
  == Clause
183
188
  Terms are defined here
@@ -304,7 +309,15 @@ RSpec.describe Asciidoctor::Standoc do
304
309
  <tt>blah</tt>
305
310
  </strong>
306
311
  </concept>
307
- </p>
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>
308
321
  </foreword>
309
322
  </preface>
310
323
  <sections>
@@ -322,15 +335,18 @@ RSpec.describe Asciidoctor::Standoc do
322
335
  it "processes the Asciidoctor::Standoc concept macros for acronyms" do
323
336
  input = <<~INPUT
324
337
  #{ASCIIDOC_BLANK_HDR}
338
+
325
339
  {{Clause1}}
326
340
  {{Clause1,Clause 1}}
327
341
  {{Clause 2}}
328
342
  {{Clause 2,Clause 1}}
329
343
  {{<<Clause2>>,Clause 2}}
344
+
330
345
  symbol:[Clause1]
331
346
  symbol:[Clause1,word]
332
347
  symbol:[Clause 2]
333
348
  symbol:[Clause 2,word]
349
+
334
350
  {{<<Clause2>>,word}}
335
351
  {{<<Clause2>>,word,term}}
336
352
  {{<<Clause2>>,word,term,xref}}
@@ -374,6 +390,7 @@ RSpec.describe Asciidoctor::Standoc do
374
390
  <renderterm>Clause 2</renderterm>
375
391
  <xref target='Clause2'/>
376
392
  </concept>
393
+ </p><p id="_">
377
394
  <concept>
378
395
  <refterm>Clause1</refterm>
379
396
  <renderterm>Clause1</renderterm>
@@ -394,6 +411,7 @@ RSpec.describe Asciidoctor::Standoc do
394
411
  <renderterm>word</renderterm>
395
412
  <xref target='Clause2'/>
396
413
  </concept>
414
+ </p><p id="_">
397
415
  <concept>
398
416
  <refterm>word</refterm>
399
417
  <renderterm>word</renderterm>
@@ -427,7 +445,7 @@ RSpec.describe Asciidoctor::Standoc do
427
445
  <title>Terms and definitions</title>
428
446
  <p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
429
447
  <term id='term-clause1'>
430
- <preferred>Clause1</preferred>
448
+ <preferred><expression><name>Clause1</name></expression></preferred>
431
449
  </term>
432
450
  </terms>
433
451
  <definitions id='_' obligation='normative'>
@@ -450,7 +468,7 @@ RSpec.describe Asciidoctor::Standoc do
450
468
  .to be_equivalent_to xmlpp(output)
451
469
  end
452
470
 
453
- it "processes the concept macros with xrefs" do
471
+ it "processes the concept and related macros with xrefs" do
454
472
  input = <<~INPUT
455
473
  #{ASCIIDOC_BLANK_HDR}
456
474
  {{<<clause1>>}}
@@ -458,6 +476,8 @@ RSpec.describe Asciidoctor::Standoc do
458
476
  {{<<clause1>>,term,w\[o\]rd}}
459
477
  {{<<clause1>>,term,w\[o\]rd,Clause #1}}
460
478
 
479
+ related:supersedes[<<clause1>>,term]
480
+
461
481
  [[clause1]]
462
482
  == Clause
463
483
  Terms are defined here
@@ -487,6 +507,14 @@ RSpec.describe Asciidoctor::Standoc do
487
507
  <xref target='clause1'>Clause #1</xref>
488
508
  </concept>
489
509
  </p>
510
+ <related type='supersedes'>
511
+ <preferred>
512
+ <expression>
513
+ <name>term</name>
514
+ </expression>
515
+ </preferred>
516
+ <xref target='clause1'/>
517
+ </related>
490
518
  </foreword>
491
519
  </preface>
492
520
  <sections>
@@ -501,7 +529,7 @@ RSpec.describe Asciidoctor::Standoc do
501
529
  .to be_equivalent_to xmlpp(output)
502
530
  end
503
531
 
504
- it "processes the concept macros with erefs" do
532
+ it "processes the concept and related macros with erefs" do
505
533
  input = <<~INPUT
506
534
  #{ASCIIDOC_BLANK_HDR}
507
535
  {{<<blah>>}}
@@ -515,6 +543,8 @@ RSpec.describe Asciidoctor::Standoc do
515
543
  {{<<blah,clause=3.1,figure=a>>,word}}
516
544
  {{<<blah,clause=3.1,figure=a>>,term,word,Clause #1}}
517
545
 
546
+ related:narrower[<<blah,clause=3.1,figure=a>>,term]
547
+
518
548
  [bibliography]
519
549
  == Bibliography
520
550
  * [[[blah,blah]]] _Blah_
@@ -616,6 +646,23 @@ RSpec.describe Asciidoctor::Standoc do
616
646
  </eref>
617
647
  </concept>
618
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>
619
666
  </foreword>
620
667
  </preface>
621
668
  <sections> </sections>
@@ -636,39 +683,49 @@ RSpec.describe Asciidoctor::Standoc do
636
683
  .to be_equivalent_to xmlpp(output)
637
684
  end
638
685
 
639
- it "processes the concept macros with termbase" do
686
+ it "processes the concept and related macros with termbase" do
640
687
  input = <<~INPUT
641
688
  #{ASCIIDOC_BLANK_HDR}
642
689
  {{<<IEV:135-13-13>>}}
643
690
  {{<<IEV:135-13-13>>,word}}
644
691
  {{<<IEV:135-13-13>>,term,word}}
645
692
  {{<<IEV:135-13-13>>,term,word,Clause #1}}
693
+
694
+ related:see[<<IEV:135-13-13>>,term]
646
695
  INPUT
647
696
  output = <<~OUTPUT
648
- #{BLANK_HDR}
649
- <sections>
650
- <p id='_'>
651
- <concept>
652
- <termref base='IEV' target='135-13-13'/>
653
- </concept>
654
- <concept>
655
- <refterm>word</refterm>
656
- <renderterm>word</renderterm>
657
- <termref base='IEV' target='135-13-13'/>
658
- </concept>
659
- <concept>
660
- <refterm>term</refterm>
661
- <renderterm>word</renderterm>
662
- <termref base='IEV' target='135-13-13'/>
663
- </concept>
664
- <concept>
665
- <refterm>term</refterm>
666
- <renderterm>word</renderterm>
667
- <termref base='IEV' target='135-13-13'>Clause #1</termref>
668
- </concept>
669
- </p>
670
- </sections>
671
- </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>
672
729
  OUTPUT
673
730
  expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
674
731
  .to be_equivalent_to xmlpp(output)
@@ -1084,7 +1141,7 @@ RSpec.describe Asciidoctor::Standoc do
1084
1141
  output = <<~OUTPUT
1085
1142
  #{BLANK_HDR}
1086
1143
  <sections>
1087
- <form id='_' name='N1' action='/action_page.php' class="checkboxes">
1144
+ <form id='N0' name='N1' action='/action_page.php' class="checkboxes">
1088
1145
  <p id='_'>
1089
1146
  <label for='fname'>First name:</label>
1090
1147
  <br/>
@@ -1187,7 +1244,7 @@ RSpec.describe Asciidoctor::Standoc do
1187
1244
  </clause>
1188
1245
  <clause id='clause1Ab' inline-header='false' obligation='normative'>
1189
1246
  <title>Clause 1Ab</title>
1190
- <variant-title variant_title='true' type='toc'>1Ab Clause</variant-title>
1247
+ <variant-title type='toc'>1Ab Clause</variant-title>
1191
1248
  </clause>
1192
1249
  </clause>
1193
1250
  <clause id='clause1B' inline-header='false' obligation='normative'>
@@ -1267,6 +1324,8 @@ RSpec.describe Asciidoctor::Standoc do
1267
1324
  term:[name,name2] is a term
1268
1325
 
1269
1326
  {{name,name2}} is a term
1327
+
1328
+ related:equivalent[name]
1270
1329
  XML
1271
1330
  end
1272
1331
  let(:output) do
@@ -1277,7 +1336,7 @@ RSpec.describe Asciidoctor::Standoc do
1277
1336
  <title>Terms and definitions</title>
1278
1337
  <p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
1279
1338
  <term id='term-name'>
1280
- <preferred>name</preferred>
1339
+ <preferred><expression><name>name</name></expression></preferred>
1281
1340
  </term>
1282
1341
  </terms>
1283
1342
  <clause id='_' inline-header='false' obligation='normative'>
@@ -1298,6 +1357,14 @@ RSpec.describe Asciidoctor::Standoc do
1298
1357
  </concept>
1299
1358
  is a term
1300
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>
1301
1368
  </clause>
1302
1369
  </sections>
1303
1370
  </standard-document>
@@ -1332,7 +1399,7 @@ RSpec.describe Asciidoctor::Standoc do
1332
1399
  <title>Terms and definitions</title>
1333
1400
  <p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
1334
1401
  <term id='term-name'>
1335
- <preferred>name</preferred>
1402
+ <preferred><expression><name>name</name></expression></preferred>
1336
1403
  </term>
1337
1404
  </terms>
1338
1405
  <clause id='_' inline-header='false' obligation='normative'>
@@ -1396,10 +1463,10 @@ RSpec.describe Asciidoctor::Standoc do
1396
1463
  <title>Terms and definitions</title>
1397
1464
  <p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
1398
1465
  <term id='term-name-1'>
1399
- <preferred>name</preferred>
1466
+ <preferred><expression><name>name</name></expression></preferred>
1400
1467
  </term>
1401
1468
  <term id='term-name2-1'>
1402
- <preferred>name2</preferred>
1469
+ <preferred><expression><name>name2</name></expression></preferred>
1403
1470
  </term>
1404
1471
  </terms>
1405
1472
  <clause id='term-name' inline-header='false' obligation='normative'>
@@ -1471,83 +1538,93 @@ RSpec.describe Asciidoctor::Standoc do
1471
1538
  {{name identity}} is a term
1472
1539
 
1473
1540
  Moreover, {{missing}} is a term
1541
+
1542
+ related:equivalent[missing]
1474
1543
  XML
1475
1544
  end
1476
1545
  let(:output) do
1477
1546
  <<~XML
1478
- #{BLANK_HDR}
1479
- <sections>
1480
- <terms id='_' obligation='normative'>
1481
- <title>Terms and definitions</title>
1482
- <p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
1483
- <term id='term-name-identity'>
1484
- <preferred>name identity</preferred>
1485
- </term>
1486
- <term id='name-check'>
1487
- <preferred>name check</preferred>
1488
- <definition>
1489
- <p id='_'>paragraph</p>
1490
- <p id='_'>
1491
- <concept>
1492
- <refterm>name check</refterm>
1493
- <renderterm>name check</renderterm>
1494
- <xref target='name-check'/>
1495
- </concept>
1496
- is a term
1497
- </p>
1498
- <p id='_'>
1499
- <concept>
1500
- <refterm>name identity</refterm>
1501
- <renderterm>name identity</renderterm>
1502
- <xref target='term-name-identity'/>
1503
- </concept>
1504
- is a term
1505
- </p>
1506
- <p id='_'>
1507
- Moreover,
1508
- <concept>
1509
- <strong>
1510
- term
1511
- <tt>missing</tt>
1512
- not resolved via ID
1513
- <tt>missing</tt>
1514
- </strong>
1515
- </concept>
1516
- is a term
1517
- </p>
1518
- <p id='_'>
1519
- <concept>
1520
- <refterm>name check</refterm>
1521
- <renderterm>name check</renderterm>
1522
- <xref target='name-check'/>
1523
- </concept>
1524
- is a term
1525
- </p>
1526
- <p id='_'>
1527
- <concept>
1528
- <refterm>name identity</refterm>
1529
- <renderterm>name identity</renderterm>
1530
- <xref target='term-name-identity'/>
1531
- </concept>
1532
- is a term
1533
- </p>
1534
- <p id='_'>
1535
- Moreover,
1536
- <concept>
1537
- <strong>
1538
- term
1539
- <tt>missing</tt>
1540
- not resolved via ID
1541
- <tt>missing</tt>
1542
- </strong>
1543
- </concept>
1544
- is a term
1545
- </p>
1546
- </definition>
1547
- </term>
1548
- </terms>
1549
- </sections>
1550
- </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>
1551
1628
  XML
1552
1629
  end
1553
1630
 
@@ -999,6 +999,7 @@ RSpec.describe Asciidoctor::Standoc do
999
999
  <docidentifier type='IETF'>RFC 8341</docidentifier>
1000
1000
  <docidentifier type='rfc-anchor'>RFC8341</docidentifier>
1001
1001
  <docidentifier type='DOI'>10.17487/RFC8341</docidentifier>
1002
+ <docnumber>RFC8341</docnumber>
1002
1003
  <date type='published'>
1003
1004
  <on>2018-03</on>
1004
1005
  </date>
@@ -1008,12 +1009,6 @@ RSpec.describe Asciidoctor::Standoc do
1008
1009
  <name>
1009
1010
  <completename language='en'>A. Bierman</completename>
1010
1011
  </name>
1011
- <affiliation>
1012
- <organization>
1013
- <name>Internet Engineering Task Force</name>
1014
- <abbreviation>IETF</abbreviation>
1015
- </organization>
1016
- </affiliation>
1017
1012
  </person>
1018
1013
  </contributor>
1019
1014
  <contributor>
@@ -1022,12 +1017,6 @@ RSpec.describe Asciidoctor::Standoc do
1022
1017
  <name>
1023
1018
  <completename language='en'>M. Bjorklund</completename>
1024
1019
  </name>
1025
- <affiliation>
1026
- <organization>
1027
- <name>Internet Engineering Task Force</name>
1028
- <abbreviation>IETF</abbreviation>
1029
- </organization>
1030
- </affiliation>
1031
1020
  </person>
1032
1021
  </contributor>
1033
1022
  <contributor>
@@ -1039,7 +1028,8 @@ RSpec.describe Asciidoctor::Standoc do
1039
1028
  </contributor>
1040
1029
  <language>en</language>
1041
1030
  <script>Latn</script>
1042
- <abstract format='text/plain' language='en' script='Latn'>
1031
+ <abstract format='text/html' language='en' script='Latn'>
1032
+ <p id='_'>
1043
1033
  The standardization of network configuration interfaces for use with
1044
1034
  the Network Configuration Protocol (NETCONF) or the RESTCONF protocol
1045
1035
  requires a structured and secure operating environment that promotes
@@ -1047,7 +1037,8 @@ RSpec.describe Asciidoctor::Standoc do
1047
1037
  standard mechanisms to restrict NETCONF or RESTCONF protocol access
1048
1038
  for particular users to a preconfigured subset of all available
1049
1039
  NETCONF or RESTCONF protocol operations and content. This document
1050
- defines such an access control model.This document obsoletes RFC 6536.
1040
+ defines such an access control model.</p>
1041
+ <p id='_'>This document obsoletes RFC 6536.</p>
1051
1042
  </abstract>
1052
1043
  <series type='main'>
1053
1044
  <title format='text/plain' language='en' script='Latn'>STD</title>
@@ -1070,6 +1061,7 @@ RSpec.describe Asciidoctor::Standoc do
1070
1061
  <docidentifier type='metanorma'>[1]</docidentifier>
1071
1062
  <docidentifier type='rfc-anchor'>RFC8341</docidentifier>
1072
1063
  <docidentifier type='DOI'>10.17487/RFC8341</docidentifier>
1064
+ <docnumber>RFC8341</docnumber>
1073
1065
  <date type='published'>
1074
1066
  <on>2018-03</on>
1075
1067
  </date>
@@ -1079,12 +1071,6 @@ RSpec.describe Asciidoctor::Standoc do
1079
1071
  <name>
1080
1072
  <completename language='en'>A. Bierman</completename>
1081
1073
  </name>
1082
- <affiliation>
1083
- <organization>
1084
- <name>Internet Engineering Task Force</name>
1085
- <abbreviation>IETF</abbreviation>
1086
- </organization>
1087
- </affiliation>
1088
1074
  </person>
1089
1075
  </contributor>
1090
1076
  <contributor>
@@ -1093,12 +1079,6 @@ RSpec.describe Asciidoctor::Standoc do
1093
1079
  <name>
1094
1080
  <completename language='en'>M. Bjorklund</completename>
1095
1081
  </name>
1096
- <affiliation>
1097
- <organization>
1098
- <name>Internet Engineering Task Force</name>
1099
- <abbreviation>IETF</abbreviation>
1100
- </organization>
1101
- </affiliation>
1102
1082
  </person>
1103
1083
  </contributor>
1104
1084
  <contributor>
@@ -1110,7 +1090,8 @@ RSpec.describe Asciidoctor::Standoc do
1110
1090
  </contributor>
1111
1091
  <language>en</language>
1112
1092
  <script>Latn</script>
1113
- <abstract format='text/plain' language='en' script='Latn'>
1093
+ <abstract format='text/html' language='en' script='Latn'>
1094
+ <p id='_'>
1114
1095
  The standardization of network configuration interfaces for use with
1115
1096
  the Network Configuration Protocol (NETCONF) or the RESTCONF protocol
1116
1097
  requires a structured and secure operating environment that promotes
@@ -1118,7 +1099,8 @@ RSpec.describe Asciidoctor::Standoc do
1118
1099
  standard mechanisms to restrict NETCONF or RESTCONF protocol access
1119
1100
  for particular users to a preconfigured subset of all available
1120
1101
  NETCONF or RESTCONF protocol operations and content. This document
1121
- defines such an access control model.This document obsoletes RFC 6536.
1102
+ defines such an access control model.</p>
1103
+ <p id='_'>This document obsoletes RFC 6536.</p>
1122
1104
  </abstract>
1123
1105
  <series type='main'>
1124
1106
  <title format='text/plain' language='en' script='Latn'>STD</title>
@@ -1684,7 +1666,7 @@ RSpec.describe Asciidoctor::Standoc do
1684
1666
  def mock_isobib_get_123_no_docid(n)
1685
1667
  expect(RelatonIso::IsoBibliography).to receive(:get).with("ISO 123", nil, { lang: "en", title: "<em>Standard</em>", usrlbl: nil }) do
1686
1668
  RelatonBib::XMLParser.from_xml(<<~"OUTPUT")
1687
- <bibitem type=\"standard\" id=\"ISO123\">\n <uri type=\"src\">https://www.iso.org/standard/23281.html</uri>\n <uri type=\"obp\">https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>\n <uri type=\"rss\">https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>\n <date type=\"published\">\n <on>2001</on>\n </date>\n <contributor>\n <role type=\"publisher\"/>\n <organization>\n <name>International Organization for Standardization</name>\n <abbreviation>ISO</abbreviation>\n <uri>www.iso.org</uri>\n </organization>\n </contributor>\n <edition>3</edition>\n <language>en</language>\n <language>fr</language>\n <script>Latn</script>\n <status><stage>Published</stage></status>\n <copyright>\n <from>2001</from>\n <owner>\n <organization>\n <name>ISO</name>\n <abbreviation></abbreviation>\n </organization>\n </owner>\n </copyright>\n <relation type=\"obsoletes\">\n <bibitem type="standard">\n <formattedref format="text/plain">ISO 123:1985</formattedref>\n </bibitem>\n </relation>\n <relation type=\"updates\">\n <bibitem type="standard">\n <formattedref format="text/plain">ISO 123:2001</formattedref>\n </bibitem>\n </relation>\n</bibitem>
1669
+ <bibitem type=\"standard\" id=\"ISO123\">\n <uri type=\"src\">https://www.iso.org/standard/23281.html</uri>\n <uri type=\"obp\">https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>\n <uri type=\"rss\">https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>\n <date type=\"published\">\n <on>2001</on>\n </date>\n <contributor>\n <role type=\"publisher\"/>\n <organization>\n <name>International Organization for Standardization</name>\n <abbreviation>ISO</abbreviation>\n <uri>www.iso.org</uri>\n </organization>\n </contributor>\n <edition>3</edition>\n <language>en</language>\n <language>fr</language>\n <script>Latn</script>\n <status><stage>Published</stage></status>\n <copyright>\n <from>2001</from>\n <owner>\n <organization>\n <name>ISO</name>\n <abbreviation></abbreviation>\n </organization>\n </owner>\n </copyright>\n <relation type=\"obsoletes\">\n <bibitem type="standard">\n <formattedref format="text/plain">ISO 123:1985</formattedref>\n </bibitem>\n </relation>\n <relation type=\"updates\">\n <bibitem type="standard">\n <formattedref format="text/plain">ISO 123:2001</formattedref>\n </bibitem>\n </relation>\n<ext></fred></ext></bibitem>
1688
1670
  OUTPUT
1689
1671
  end.exactly(n).times
1690
1672
  end
@@ -1692,7 +1674,7 @@ RSpec.describe Asciidoctor::Standoc do
1692
1674
  def mock_isobib_get_123_no_docid_lbl(n)
1693
1675
  expect(RelatonIso::IsoBibliography).to receive(:get).with("ISO 123", nil, { lang: "en", title: "<em>Standard</em>", usrlbl: "(1)" }) do
1694
1676
  RelatonBib::XMLParser.from_xml(<<~"OUTPUT")
1695
- <bibitem type=\"standard\" id=\"ISO123\">\n <uri type=\"src\">https://www.iso.org/standard/23281.html</uri>\n <uri type=\"obp\">https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>\n <uri type=\"rss\">https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>\n <date type=\"published\">\n <on>2001</on>\n </date>\n <contributor>\n <role type=\"publisher\"/>\n <organization>\n <name>International Organization for Standardization</name>\n <abbreviation>ISO</abbreviation>\n <uri>www.iso.org</uri>\n </organization>\n </contributor>\n <edition>3</edition>\n <language>en</language>\n <language>fr</language>\n <script>Latn</script>\n <status><stage>Published</stage></status>\n <copyright>\n <from>2001</from>\n <owner>\n <organization>\n <name>ISO</name>\n <abbreviation></abbreviation>\n </organization>\n </owner>\n </copyright>\n <relation type=\"obsoletes\">\n <bibitem type="standard">\n <formattedref format="text/plain">ISO 123:1985</formattedref>\n </bibitem>\n </relation>\n <relation type=\"updates\">\n <bibitem type="standard">\n <formattedref format="text/plain">ISO 123:2001</formattedref>\n </bibitem>\n </relation>\n</bibitem>
1677
+ <bibitem type=\"standard\" id=\"ISO123\">\n <uri type=\"src\">https://www.iso.org/standard/23281.html</uri>\n <uri type=\"obp\">https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>\n <uri type=\"rss\">https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>\n <date type=\"published\">\n <on>2001</on>\n </date>\n <contributor>\n <role type=\"publisher\"/>\n <organization>\n <name>International Organization for Standardization</name>\n <abbreviation>ISO</abbreviation>\n <uri>www.iso.org</uri>\n </organization>\n </contributor>\n <edition>3</edition>\n <language>en</language>\n <language>fr</language>\n <script>Latn</script>\n <status><stage>Published</stage></status>\n <copyright>\n <from>2001</from>\n <owner>\n <organization>\n <name>ISO</name>\n <abbreviation></abbreviation>\n </organization>\n </owner>\n </copyright>\n <relation type=\"obsoletes\">\n <bibitem type="standard">\n <formattedref format="text/plain">ISO 123:1985</formattedref>\n </bibitem>\n </relation>\n <relation type=\"updates\">\n <bibitem type="standard">\n <formattedref format="text/plain">ISO 123:2001</formattedref>\n </bibitem>\n </relation>\n<ext></fred></ext></bibitem>
1696
1678
  OUTPUT
1697
1679
  end.exactly(n).times
1698
1680
  end