metanorma-standoc 2.2.3.1 → 2.2.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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/lib/metanorma/standoc/base.rb +2 -1
  3. data/lib/metanorma/standoc/biblio.rng +32 -1
  4. data/lib/metanorma/standoc/blocks.rb +2 -1
  5. data/lib/metanorma/standoc/cleanup_biblio.rb +111 -23
  6. data/lib/metanorma/standoc/cleanup_boilerplate.rb +2 -2
  7. data/lib/metanorma/standoc/front.rb +1 -0
  8. data/lib/metanorma/standoc/isodoc.rng +9 -0
  9. data/lib/metanorma/standoc/macros_plantuml.rb +23 -10
  10. data/lib/metanorma/standoc/render.rb +1 -0
  11. data/lib/metanorma/standoc/term_lookup_cleanup.rb +32 -13
  12. data/lib/metanorma/standoc/utils.rb +3 -3
  13. data/lib/metanorma/standoc/validate.rb +12 -3
  14. data/lib/metanorma/standoc/version.rb +1 -1
  15. data/metanorma-standoc.gemspec +2 -2
  16. data/spec/metanorma/base_spec.rb +10 -1
  17. data/spec/metanorma/biblio_spec.rb +47 -17
  18. data/spec/metanorma/blocks_spec.rb +2 -2
  19. data/spec/metanorma/cleanup_sections_spec.rb +2 -1
  20. data/spec/metanorma/inline_spec.rb +10 -9
  21. data/spec/metanorma/isobib_cache_spec.rb +2 -2
  22. data/spec/metanorma/macros_concept_spec.rb +1 -1
  23. data/spec/metanorma/macros_spec.rb +2 -2
  24. data/spec/metanorma/refs_spec.rb +25 -25
  25. data/spec/metanorma/validate_spec.rb +33 -0
  26. data/spec/vcr_cassettes/bsi16341.yml +38 -38
  27. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +64 -64
  28. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec1.yml +13 -13
  29. data/spec/vcr_cassettes/hide_refs.yml +53 -53
  30. data/spec/vcr_cassettes/isobib_get_123.yml +11 -11
  31. data/spec/vcr_cassettes/isobib_get_123_1.yml +22 -22
  32. data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +54 -54
  33. data/spec/vcr_cassettes/isobib_get_123_2.yml +24 -24
  34. data/spec/vcr_cassettes/isobib_get_123_2001.yml +12 -12
  35. data/spec/vcr_cassettes/isobib_get_124.yml +11 -11
  36. data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +22 -24
  37. data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +55 -55
  38. data/spec/vcr_cassettes/std-link.yml +13 -13
  39. metadata +6 -10
  40. data/spec/requirements/default/blocks_spec.rb +0 -250
  41. data/spec/requirements/default/cleanup_spec.rb +0 -173
  42. data/spec/requirements/modspec/cleanup_spec.rb +0 -333
  43. data/spec/requirements/modspec/validate_spec.rb +0 -330
@@ -896,12 +896,12 @@ RSpec.describe Metanorma::Standoc do
896
896
  [bibliography]
897
897
  === Normative References
898
898
 
899
- * [[[A, B]]], span:surname[Wozniak], span:initials[S.] & span:givenname[Steve] span:surname[Jobs]. span:pubyear[1996]. span:title[_Work_]. In span:surname.editor[Gates], span:initials.editor[W. H], Collected Essays. span:docid.ISO[ISO 1234]. span:pubplace[Geneva]: span:publisher[International Standardization Organization]. span:uri.citation[http://www.example.com]. span:type[inbook]
899
+ * [[[A, B]]], span:surname[Wozniak], span:initials[S.] & span:givenname[Steve] span:surname[Jobs]. span:date.issued[1991]. span:date[1996]. span:title[_Work_]. span:in_surname.editor[Gates], span:in_initials.editor[W. H] & span:in_organization[UNICEF], span:in_title[Collected Essays]. _span:series[Bibliographers Anonymous]_. span:docid.ISO[ISO 1234]. span:pubplace[Geneva]: span:publisher[International Standardization Organization]. span:uri.citation[http://www.example.com]. span:volume[4] span:issue[2–3] span:pages[12-13] span:pages[19]. span:type[inbook]
900
900
  INPUT
901
901
  output = <<~OUTPUT
902
902
  #{BLANK_HDR}
903
903
  <sections> </sections>
904
- <bibliography>
904
+ <bibliography>
905
905
  <references id='_' normative='true' obligation='informative'>
906
906
  <title>Normative references</title>
907
907
  <p id='_'>
@@ -911,14 +911,15 @@ RSpec.describe Metanorma::Standoc do
911
911
  references, the latest edition of the referenced document (including any
912
912
  amendments) applies.
913
913
  </p>
914
- <bibitem id='A' type="inbook">
914
+ <bibitem id='A' type='inbook'>
915
915
  <formattedref format='application/x-isodoc+xml'>
916
- Wozniak, S. &amp; Steve Jobs. 1996.
916
+ Wozniak, S. &amp; Steve Jobs. 1991. 1996.
917
917
  <em>Work</em>
918
- . In Gates, W. H, Collected Essays. ISO 1234. Geneva: International
919
- Standardization Organization.
918
+ . Gates, W. H &amp; UNICEF, Collected Essays.
919
+ <em>Bibliographers Anonymous</em>
920
+ . ISO 1234. Geneva: International Standardization Organization.
920
921
  <link target='http://www.example.com'/>
921
- .
922
+ . 4 2–3 12-13 19.
922
923
  </formattedref>
923
924
  <title>
924
925
  <em>Work</em>
@@ -928,6 +929,7 @@ RSpec.describe Metanorma::Standoc do
928
929
  </uri>
929
930
  <docidentifier>B</docidentifier>
930
931
  <docidentifier type='ISO'>ISO 1234</docidentifier>
932
+ <date type='issued'>1991</date>
931
933
  <date type='published'>1996</date>
932
934
  <contributor>
933
935
  <role type='author'/>
@@ -947,22 +949,50 @@ RSpec.describe Metanorma::Standoc do
947
949
  </name>
948
950
  </person>
949
951
  </contributor>
950
- <contributor>
951
- <role type='editor'/>
952
- <person>
953
- <name>
954
- <formatted-initials>W. H</formatted-initials>
955
- <surname>Gates</surname>
956
- </name>
957
- </person>
958
- </contributor>
959
952
  <contributor>
960
953
  <role type='publisher'/>
961
954
  <organization>
962
955
  <name>International Standardization Organization</name>
963
956
  </organization>
964
957
  </contributor>
965
- <place/>
958
+ <place>Geneva</place>
959
+ <relation type='includedIn'>
960
+ <bibitem type='book'>
961
+ <title>Collected Essays</title>
962
+ <contributor>
963
+ <role type='editor'/>
964
+ <person>
965
+ <name>
966
+ <formatted-initials>W. H</formatted-initials>
967
+ <surname>Gates</surname>
968
+ </name>
969
+ </person>
970
+ </contributor>
971
+ <contributor>
972
+ <role type='author'/>
973
+ <organization>
974
+ <name>UNICEF</name>
975
+ </organization>
976
+ </contributor>
977
+ <series>
978
+ <title>Bibliographers Anonymous</title>
979
+ </series>
980
+ </bibitem>
981
+ </relation>
982
+ <extent type='volume'>
983
+ <referenceFrom>4</referenceFrom>
984
+ </extent>
985
+ <extent type='issue'>
986
+ <referenceFrom>2</referenceFrom>
987
+ <referenceTo>3</referenceTo>
988
+ </extent>
989
+ <extent type='page'>
990
+ <referenceFrom>12</referenceFrom>
991
+ <referenceTo>13</referenceTo>
992
+ </extent>
993
+ <extent type='page'>
994
+ <referenceFrom>19</referenceFrom>
995
+ </extent>
966
996
  </bibitem>
967
997
  </references>
968
998
  </bibliography>
@@ -1135,7 +1135,7 @@ RSpec.describe Metanorma::Standoc do
1135
1135
  #{ASCIIDOC_BLANK_HDR}
1136
1136
 
1137
1137
  [[ABC]]
1138
- [%unnumbered,number=3]
1138
+ [%unnumbered,number=3,class=plate]
1139
1139
  .Split-it-right sample divider
1140
1140
  image::spec/examples/rice_images/rice_image1.png[alttext]
1141
1141
 
@@ -1143,7 +1143,7 @@ RSpec.describe Metanorma::Standoc do
1143
1143
  output = <<~OUTPUT
1144
1144
  #{BLANK_HDR}
1145
1145
  <sections>
1146
- <figure id="ABC" unnumbered="true" number="3">
1146
+ <figure id="ABC" unnumbered="true" number="3" class="plate">
1147
1147
  <name>Split-it-right sample divider</name>
1148
1148
  <image src="spec/examples/rice_images/rice_image1.png" id="_" mimetype="image/png" height="auto" width="auto" alt="alttext"/>
1149
1149
  </figure>
@@ -3,6 +3,7 @@ require "relaton_iec"
3
3
  require "fileutils"
4
4
 
5
5
  RSpec.describe Metanorma::Standoc do
6
+ =begin
6
7
  it "appends any initial user-supplied text to boilerplate in terms and definitions" do
7
8
  input = <<~INPUT
8
9
  #{ASCIIDOC_BLANK_HDR}
@@ -1354,7 +1355,7 @@ RSpec.describe Metanorma::Standoc do
1354
1355
  expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
1355
1356
  .to be_equivalent_to xmlpp(output)
1356
1357
  end
1357
-
1358
+ =end
1358
1359
  it "processes section names, internationalisation file" do
1359
1360
  input = <<~INPUT
1360
1361
  #{ASCIIDOC_BLANK_HDR.sub(/:nodoc:/, ":no-pdf:\n:i18nyaml: spec/assets/i18n.yaml")}
@@ -1,6 +1,7 @@
1
1
  require "spec_helper"
2
2
 
3
3
  RSpec.describe Metanorma::Standoc do
4
+ =begin
4
5
  it "handles spacing around markup" do
5
6
  input = <<~INPUT
6
7
  #{ASCIIDOC_BLANK_HDR}
@@ -336,7 +337,7 @@ RSpec.describe Metanorma::Standoc do
336
337
  expect((strip_guid(Asciidoctor.convert(input, *OPTIONS))))
337
338
  .to be_equivalent_to(output)
338
339
  end
339
-
340
+ =end
340
341
  it "processes crossreferences" do
341
342
  input = <<~INPUT
342
343
  #{ASCIIDOC_BLANK_HDR}
@@ -389,8 +390,8 @@ RSpec.describe Metanorma::Standoc do
389
390
  </sections>
390
391
  </standard-document>
391
392
  OUTPUT
392
- expect((strip_guid(Asciidoctor.convert(input, *OPTIONS))))
393
- .to be_equivalent_to(output)
393
+ expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
394
+ .to be_equivalent_to(xmlpp(output))
394
395
  end
395
396
 
396
397
  it "processes formatting within crossreferences" do
@@ -417,8 +418,8 @@ RSpec.describe Metanorma::Standoc do
417
418
  </sections>
418
419
  </standard-document>
419
420
  OUTPUT
420
- expect((strip_guid(Asciidoctor.convert(input, *OPTIONS))))
421
- .to be_equivalent_to(output)
421
+ expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
422
+ .to be_equivalent_to(xmlpp(output))
422
423
  end
423
424
 
424
425
  it "processes formatting within crossreferences to non-existent anchor" do
@@ -444,8 +445,8 @@ RSpec.describe Metanorma::Standoc do
444
445
  </sections>
445
446
  </standard-document>
446
447
  OUTPUT
447
- expect((strip_guid(Asciidoctor.convert(input, *OPTIONS))))
448
- .to be_equivalent_to(output)
448
+ expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
449
+ .to be_equivalent_to(xmlpp(output))
449
450
  end
450
451
 
451
452
  it "processes combinations of crossreferences" do
@@ -475,8 +476,8 @@ RSpec.describe Metanorma::Standoc do
475
476
  </sections>
476
477
  </standard-document>
477
478
  OUTPUT
478
- expect((strip_guid(Asciidoctor.convert(input, *OPTIONS))))
479
- .to be_equivalent_to(output)
479
+ expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
480
+ .to be_equivalent_to(xmlpp(output))
480
481
  end
481
482
 
482
483
  it "processes bibliographic anchors" do
@@ -50,7 +50,7 @@ ISO_124_DATED = <<~XML.freeze
50
50
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
51
51
  <uri type="rss">https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
52
52
  <docidentifier type="ISO" primary="true">ISO 124:2014</docidentifier>
53
- <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7</docidentifier>
53
+ <docidentifier type='URN'>urn:iso:std:iso:124:ed-7</docidentifier>
54
54
  <docnumber>124</docnumber>
55
55
  <date type="published">
56
56
  <on>2014-03</on>
@@ -210,7 +210,7 @@ ISO_123_DATED = <<~XML.freeze
210
210
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
211
211
  <uri type="rss">https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
212
212
  <docidentifier type="ISO" primary="true">ISO 123:2001</docidentifier>
213
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
213
+ <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
214
214
  <docnumber>123</docnumber>
215
215
  <date type="published">
216
216
  <on>2001-05</on>
@@ -847,7 +847,7 @@ RSpec.describe Metanorma::Standoc do
847
847
  end
848
848
  end
849
849
 
850
- context "multiply exising ids in document" do
850
+ context "multiply existing ids in document" do
851
851
  let(:input) do
852
852
  <<~XML
853
853
  #{ASCIIDOC_BLANK_HDR}
@@ -975,7 +975,7 @@ RSpec.describe Metanorma::Standoc do
975
975
  <uri type='src'>https://www.iso.org/standard/3944.html</uri>
976
976
  <uri type='rss'>https://www.iso.org/contents/data/standard/00/39/3944.detail.rss</uri>
977
977
  <docidentifier type='ISO' primary='true'>ISO 131</docidentifier>
978
- <docidentifier type='URN'>urn:iso:std:iso:131:stage-95.99:ed-1</docidentifier>
978
+ <docidentifier type='URN'>urn:iso:std:iso:131:ed-1</docidentifier>
979
979
  <docnumber>131</docnumber>
980
980
  <contributor>
981
981
  <role type='publisher'/>
@@ -1018,7 +1018,7 @@ RSpec.describe Metanorma::Standoc do
1018
1018
  <uri type='src'>https://www.iso.org/standard/3944.html</uri>
1019
1019
  <uri type='rss'>https://www.iso.org/contents/data/standard/00/39/3944.detail.rss</uri>
1020
1020
  <docidentifier type='ISO' primary='true'>ISO 131:1979</docidentifier>
1021
- <docidentifier type='URN'>urn:iso:std:iso:131:stage-95.99:ed-1</docidentifier>
1021
+ <docidentifier type='URN'>urn:iso:std:iso:131:ed-1</docidentifier>
1022
1022
  <docnumber>131</docnumber>
1023
1023
  <date type='published'>
1024
1024
  <on>1979-11</on>
@@ -285,7 +285,7 @@ RSpec.describe Metanorma::Standoc do
285
285
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
286
286
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
287
287
  <docidentifier type='ISO' primary="true">ISO 123</docidentifier>
288
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
288
+ <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
289
289
  <docnumber>123</docnumber>
290
290
  <contributor>
291
291
  <role type='publisher'/>
@@ -326,7 +326,7 @@ RSpec.describe Metanorma::Standoc do
326
326
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
327
327
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
328
328
  <docidentifier type='ISO' primary="true">ISO 123:2001</docidentifier>
329
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
329
+ <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
330
330
  <docnumber>123</docnumber>
331
331
  <date type='published'>
332
332
  <on>2001-05</on>
@@ -382,7 +382,7 @@ RSpec.describe Metanorma::Standoc do
382
382
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
383
383
  <docidentifier type='ISO' primary="true">ISO 123</docidentifier>
384
384
  <docidentifier type='metanorma'>[1]</docidentifier>
385
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
385
+ <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
386
386
  <docnumber>123</docnumber>
387
387
  <contributor>
388
388
  <role type='publisher'/>
@@ -423,7 +423,7 @@ RSpec.describe Metanorma::Standoc do
423
423
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
424
424
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
425
425
  <docidentifier type='ISO' primary="true">ISO 123:2001</docidentifier>
426
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
426
+ <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
427
427
  <docnumber>123</docnumber>
428
428
  <date type='published'>
429
429
  <on>2001-05</on>
@@ -519,7 +519,7 @@ RSpec.describe Metanorma::Standoc do
519
519
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
520
520
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
521
521
  <docidentifier type='ISO' primary="true">ISO 123</docidentifier>
522
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
522
+ <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
523
523
  <docnumber>123</docnumber>
524
524
  <contributor>
525
525
  <role type='publisher'/>
@@ -561,7 +561,7 @@ RSpec.describe Metanorma::Standoc do
561
561
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
562
562
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
563
563
  <docidentifier type='ISO' primary="true">ISO 123:2001</docidentifier>
564
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
564
+ <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
565
565
  <docnumber>123</docnumber>
566
566
  <date type='published'>
567
567
  <on>2001-05</on>
@@ -622,7 +622,7 @@ RSpec.describe Metanorma::Standoc do
622
622
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
623
623
  <docidentifier type='ISO' primary="true">ISO 123</docidentifier>
624
624
  <docidentifier type='metanorma'>[1]</docidentifier>
625
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
625
+ <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
626
626
  <docnumber>123</docnumber>
627
627
  <contributor>
628
628
  <role type='publisher'/>
@@ -664,7 +664,7 @@ RSpec.describe Metanorma::Standoc do
664
664
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
665
665
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
666
666
  <docidentifier type='ISO' primary="true">ISO 123:2001</docidentifier>
667
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
667
+ <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
668
668
  <docnumber>123</docnumber>
669
669
  <date type='published'>
670
670
  <on>2001-05</on>
@@ -798,7 +798,7 @@ RSpec.describe Metanorma::Standoc do
798
798
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:21071:en</uri>
799
799
  <uri type="rss">https://www.iso.org/contents/data/standard/02/10/21071.detail.rss</uri>
800
800
  <docidentifier type="ISO" primary="true">ISO/IEC TR 12382:1992</docidentifier>
801
- <docidentifier type='URN'>urn:iso:std:iso-iec:tr:12382:stage-90.93:ed-2</docidentifier>
801
+ <docidentifier type='URN'>urn:iso:std:iso-iec:tr:12382:ed-2</docidentifier>
802
802
  <docnumber>12382</docnumber>
803
803
  <date type="published">
804
804
  <on>1992-12</on>
@@ -846,7 +846,7 @@ RSpec.describe Metanorma::Standoc do
846
846
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
847
847
  <uri type="rss">https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
848
848
  <docidentifier type="ISO" primary="true">ISO 124:2014</docidentifier>
849
- <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7</docidentifier>
849
+ <docidentifier type='URN'>urn:iso:std:iso:124:ed-7</docidentifier>
850
850
  <docnumber>124</docnumber>
851
851
  <date type="published">
852
852
  <on>2014-03</on>
@@ -892,7 +892,7 @@ RSpec.describe Metanorma::Standoc do
892
892
  <uri type="rss">https://www.iso.org/contents/data/standard/02/10/21071.detail.rss</uri>
893
893
  <docidentifier type="ISO" primary="true">ISO/IEC TR 12382:1992</docidentifier>
894
894
  <docidentifier type='metanorma'>[1]</docidentifier>
895
- <docidentifier type='URN'>urn:iso:std:iso-iec:tr:12382:stage-90.93:ed-2</docidentifier>
895
+ <docidentifier type='URN'>urn:iso:std:iso-iec:tr:12382:ed-2</docidentifier>
896
896
  <docnumber>12382</docnumber>
897
897
  <date type="published">
898
898
  <on>1992-12</on>
@@ -941,7 +941,7 @@ RSpec.describe Metanorma::Standoc do
941
941
  <uri type="rss">https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
942
942
  <docidentifier type="ISO" primary="true">ISO 124:2014</docidentifier>
943
943
  <docidentifier type='metanorma'>[1]</docidentifier>
944
- <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7</docidentifier>
944
+ <docidentifier type='URN'>urn:iso:std:iso:124:ed-7</docidentifier>
945
945
  <docnumber>124</docnumber>
946
946
  <date type="published">
947
947
  <on>2014-03</on>
@@ -1021,7 +1021,7 @@ RSpec.describe Metanorma::Standoc do
1021
1021
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
1022
1022
  <uri type='rss'>https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
1023
1023
  <docidentifier type='ISO' primary="true">ISO 124:2014</docidentifier>
1024
- <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7</docidentifier>
1024
+ <docidentifier type='URN'>urn:iso:std:iso:124:ed-7</docidentifier>
1025
1025
  <docnumber>124</docnumber>
1026
1026
  <date type='published'>
1027
1027
  <on>2014-03</on>
@@ -1118,7 +1118,7 @@ RSpec.describe Metanorma::Standoc do
1118
1118
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
1119
1119
  <uri type='rss'>https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
1120
1120
  <docidentifier type='ISO' primary="true">ISO 124</docidentifier>
1121
- <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7</docidentifier>
1121
+ <docidentifier type='URN'>urn:iso:std:iso:124:ed-7</docidentifier>
1122
1122
  <docnumber>124</docnumber>
1123
1123
  <contributor>
1124
1124
  <role type='publisher'/>
@@ -1159,7 +1159,7 @@ RSpec.describe Metanorma::Standoc do
1159
1159
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
1160
1160
  <uri type='rss'>https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
1161
1161
  <docidentifier type='ISO' primary="true">ISO 124:2014</docidentifier>
1162
- <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7</docidentifier>
1162
+ <docidentifier type='URN'>urn:iso:std:iso:124:ed-7</docidentifier>
1163
1163
  <docnumber>124</docnumber>
1164
1164
  <date type='published'>
1165
1165
  <on>2014-03</on>
@@ -1218,7 +1218,7 @@ RSpec.describe Metanorma::Standoc do
1218
1218
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:72849:en</uri>
1219
1219
  <uri type='rss'>https://www.iso.org/contents/data/standard/07/28/72849.detail.rss</uri>
1220
1220
  <docidentifier type='ISO' primary="true">ISO 125</docidentifier>
1221
- <docidentifier type='URN'>urn:iso:std:iso:125:stage-60.60:ed-7</docidentifier>
1221
+ <docidentifier type='URN'>urn:iso:std:iso:125:ed-7</docidentifier>
1222
1222
  <docnumber>125</docnumber>
1223
1223
  <contributor>
1224
1224
  <role type='publisher'/>
@@ -1262,7 +1262,7 @@ RSpec.describe Metanorma::Standoc do
1262
1262
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:72849:en</uri>
1263
1263
  <uri type='rss'>https://www.iso.org/contents/data/standard/07/28/72849.detail.rss</uri>
1264
1264
  <docidentifier type='ISO' primary="true">ISO 125:2020</docidentifier>
1265
- <docidentifier type='URN'>urn:iso:std:iso:125:stage-60.60:ed-7</docidentifier>
1265
+ <docidentifier type='URN'>urn:iso:std:iso:125:ed-7</docidentifier>
1266
1266
  <docnumber>125</docnumber>
1267
1267
  <date type='published'>
1268
1268
  <on>2020-02</on>
@@ -1325,7 +1325,7 @@ RSpec.describe Metanorma::Standoc do
1325
1325
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:72849:en</uri>
1326
1326
  <uri type='rss'>https://www.iso.org/contents/data/standard/07/28/72849.detail.rss</uri>
1327
1327
  <docidentifier type='ISO' primary="true">ISO 125</docidentifier>
1328
- <docidentifier type='URN'>urn:iso:std:iso:125:stage-60.60:ed-7</docidentifier>
1328
+ <docidentifier type='URN'>urn:iso:std:iso:125:ed-7</docidentifier>
1329
1329
  <docnumber>125</docnumber>
1330
1330
  <contributor>
1331
1331
  <role type='publisher'/>
@@ -1369,7 +1369,7 @@ RSpec.describe Metanorma::Standoc do
1369
1369
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:72849:en</uri>
1370
1370
  <uri type='rss'>https://www.iso.org/contents/data/standard/07/28/72849.detail.rss</uri>
1371
1371
  <docidentifier type='ISO' primary="true">ISO 125:2020</docidentifier>
1372
- <docidentifier type='URN'>urn:iso:std:iso:125:stage-60.60:ed-7</docidentifier>
1372
+ <docidentifier type='URN'>urn:iso:std:iso:125:ed-7</docidentifier>
1373
1373
  <docnumber>125</docnumber>
1374
1374
  <date type='published'>
1375
1375
  <on>2020-02</on>
@@ -1432,7 +1432,7 @@ RSpec.describe Metanorma::Standoc do
1432
1432
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
1433
1433
  <uri type='rss'>https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
1434
1434
  <docidentifier type='ISO' primary="true">ISO 124</docidentifier>
1435
- <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7</docidentifier>
1435
+ <docidentifier type='URN'>urn:iso:std:iso:124:ed-7</docidentifier>
1436
1436
  <docnumber>124</docnumber>
1437
1437
  <contributor>
1438
1438
  <role type='publisher'/>
@@ -1473,7 +1473,7 @@ RSpec.describe Metanorma::Standoc do
1473
1473
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
1474
1474
  <uri type='rss'>https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
1475
1475
  <docidentifier type='ISO' primary="true">ISO 124:2014</docidentifier>
1476
- <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7</docidentifier>
1476
+ <docidentifier type='URN'>urn:iso:std:iso:124:ed-7</docidentifier>
1477
1477
  <docnumber>124</docnumber>
1478
1478
  <date type='published'>
1479
1479
  <on>2014-03</on>
@@ -2307,7 +2307,7 @@ RSpec.describe Metanorma::Standoc do
2307
2307
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
2308
2308
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
2309
2309
  <docidentifier type='ISO' primary="true">ISO 123</docidentifier>
2310
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
2310
+ <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
2311
2311
  <docnumber>123</docnumber>
2312
2312
  <contributor>
2313
2313
  <role type='publisher'/>
@@ -2348,7 +2348,7 @@ RSpec.describe Metanorma::Standoc do
2348
2348
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
2349
2349
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
2350
2350
  <docidentifier type='ISO' primary="true">ISO 123:2001</docidentifier>
2351
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
2351
+ <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
2352
2352
  <docnumber>123</docnumber>
2353
2353
  <date type='published'>
2354
2354
  <on>2001-05</on>
@@ -2414,7 +2414,7 @@ RSpec.describe Metanorma::Standoc do
2414
2414
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
2415
2415
  <docidentifier type='ISO' primary="true">ISO 123</docidentifier>
2416
2416
  <docidentifier type='metanorma'>[1]</docidentifier>
2417
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
2417
+ <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
2418
2418
  <docnumber>123</docnumber>
2419
2419
  <contributor>
2420
2420
  <role type='publisher'/>
@@ -2455,7 +2455,7 @@ RSpec.describe Metanorma::Standoc do
2455
2455
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
2456
2456
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
2457
2457
  <docidentifier type='ISO' primary="true">ISO 123:2001</docidentifier>
2458
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
2458
+ <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
2459
2459
  <docnumber>123</docnumber>
2460
2460
  <date type='published'>
2461
2461
  <on>2001-05</on>
@@ -381,18 +381,31 @@ RSpec.describe Metanorma::Standoc do
381
381
  == Clause 1
382
382
  [[ghi]]A:: B
383
383
 
384
+ == Terms and Definitions
385
+
386
+ [[jkl]]
387
+ === Term1
388
+
389
+ ==== Term2
390
+
384
391
  == Symbols and Abbreviated Terms
385
392
  [[def]]DEF:: def
386
393
 
394
+ {{<<jkl>>,term1}}
387
395
  {{<<abc>>,term}}
388
396
  {{<<def>>,term}}
389
397
  {{<<ghi>>,term}}
398
+ {{Terms and Definitions}}
390
399
  INPUT
391
400
  expect do
392
401
  Asciidoctor.convert(input, *OPTIONS)
393
402
  end.to raise_error(SystemExit)
394
403
  rescue SystemExit
395
404
  end
405
+ expect(File.read("test.err"))
406
+ .to include %(Term reference to `Terms-and-Definitions` missing: "Terms-and-Definitions" is not defined in document. Did you mean to point to a subterm?)
407
+ expect(File.read("test.err"))
408
+ .to include "Concept term1 is pointing to jkl, which is not a term or symbol. Did you mean to point to a subterm?"
396
409
  expect(File.read("test.err"))
397
410
  .to include "Concept term is pointing to abc, which is not a term or symbol"
398
411
  expect(File.read("test.err"))
@@ -741,6 +754,26 @@ RSpec.describe Metanorma::Standoc do
741
754
  INPUT
742
755
  expect(File.read("test.err"))
743
756
  .to include "Error: Term reference to `xyz` missing:"
757
+ expect(File.read("test.err"))
758
+ .not_to include "Did you mean to point to a subterm?"
759
+
760
+ Asciidoctor.convert(<<~"INPUT", *OPTIONS)
761
+ #{VALIDATING_BLANK_HDR}
762
+
763
+ [[xyz]]
764
+ == Terms and definitions
765
+
766
+ === Term 1
767
+
768
+ related:see[xyz]
769
+
770
+ Definition
771
+
772
+ INPUT
773
+ expect(File.read("test.err"))
774
+ .to include "Error: Term reference to `xyz` missing:"
775
+ expect(File.read("test.err"))
776
+ .to include "Did you mean to point to a subterm?"
744
777
 
745
778
  Asciidoctor.convert(<<~"INPUT", *OPTIONS)
746
779
  #{VALIDATING_BLANK_HDR}