metanorma-standoc 2.1.2 → 2.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/lib/metanorma/standoc/biblio.rng +102 -5
  3. data/lib/metanorma/standoc/blocks.rb +3 -6
  4. data/lib/metanorma/standoc/blocks_notes.rb +1 -1
  5. data/lib/metanorma/standoc/cleanup.rb +3 -1
  6. data/lib/metanorma/standoc/cleanup_block.rb +41 -1
  7. data/lib/metanorma/standoc/cleanup_footnotes.rb +19 -17
  8. data/lib/metanorma/standoc/cleanup_ref.rb +16 -0
  9. data/lib/metanorma/standoc/cleanup_section.rb +6 -0
  10. data/lib/metanorma/standoc/cleanup_terms.rb +6 -2
  11. data/lib/metanorma/standoc/cleanup_xref.rb +2 -1
  12. data/lib/metanorma/standoc/converter.rb +2 -0
  13. data/lib/metanorma/standoc/isodoc.rng +33 -0
  14. data/lib/metanorma/standoc/macros_note.rb +26 -0
  15. data/lib/metanorma/standoc/ref.rb +3 -1
  16. data/lib/metanorma/standoc/ref_sect.rb +5 -2
  17. data/lib/metanorma/standoc/ref_utility.rb +20 -6
  18. data/lib/metanorma/standoc/section.rb +3 -1
  19. data/lib/metanorma/standoc/term_lookup_cleanup.rb +1 -1
  20. data/lib/metanorma/standoc/utils.rb +1 -1
  21. data/lib/metanorma/standoc/version.rb +1 -1
  22. data/metanorma-standoc.gemspec +1 -1
  23. data/spec/examples/datamodel/address_class_profile.presentation.xml +14 -0
  24. data/spec/metanorma/blocks_spec.rb +55 -0
  25. data/spec/metanorma/cleanup_blocks_spec.rb +83 -0
  26. data/spec/metanorma/cleanup_sections_spec.rb +55 -4
  27. data/spec/metanorma/cleanup_spec.rb +1 -1
  28. data/spec/metanorma/isobib_cache_spec.rb +6 -4
  29. data/spec/metanorma/macros_spec.rb +36 -8
  30. data/spec/metanorma/refs_dl_spec.rb +18 -7
  31. data/spec/metanorma/refs_spec.rb +252 -281
  32. data/spec/metanorma/validate_spec.rb +60 -1
  33. data/spec/spec_helper.rb +1 -1
  34. data/spec/vcr_cassettes/bsi16341.yml +58 -72
  35. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +98 -98
  36. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec1.yml +14 -14
  37. data/spec/vcr_cassettes/hide_refs.yml +57 -57
  38. data/spec/vcr_cassettes/isobib_get_123.yml +13 -13
  39. data/spec/vcr_cassettes/isobib_get_123_1.yml +27 -27
  40. data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +36 -36
  41. data/spec/vcr_cassettes/isobib_get_123_2.yml +295 -0
  42. data/spec/vcr_cassettes/isobib_get_123_2001.yml +13 -13
  43. data/spec/vcr_cassettes/isobib_get_124.yml +13 -13
  44. data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +228 -52
  45. data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +46 -46
  46. data/spec/vcr_cassettes/std-link.yml +13 -71
  47. metadata +7 -5
@@ -95,7 +95,6 @@ RSpec.describe Metanorma::Standoc do
95
95
  </organization>
96
96
  </contributor>
97
97
  </bibitem>
98
-
99
98
  </references>
100
99
  </bibliography>
101
100
  </standard-document>
@@ -232,6 +231,35 @@ RSpec.describe Metanorma::Standoc do
232
231
  .to_stderr
233
232
  end
234
233
 
234
+ it "customises docidentifier by language" do
235
+ mock_rfcbib_get_rfc8342(3)
236
+ mock_rfcbib_get_rfc8343(3)
237
+ input = <<~"INPUT"
238
+ #{ISOBIB_BLANK_HDR}
239
+
240
+ <<iso123>>
241
+ <<iso124>>
242
+
243
+ [bibliography]
244
+ == Normative References
245
+
246
+ * [[[iso123,ISO 8342]]] _Standard_
247
+ * [[[iso124,ISO 8343]]] _Standard_
248
+ INPUT
249
+ doc = Asciidoctor.convert(input
250
+ .sub(/:novalid:/, ":language: de\n:novalid:"), *OPTIONS)
251
+ expect(doc).to include '<eref type="inline" bibitemid="iso123" citeas="ISO 8342-DE"/>'
252
+ expect(doc).to include '<eref type="inline" bibitemid="iso124" citeas="ISO 8343-DE"/>'
253
+ doc = Asciidoctor.convert(input
254
+ .sub(/:novalid:/, ":language: fr\n:novalid:"), *OPTIONS)
255
+ expect(doc).to include '<eref type="inline" bibitemid="iso123" citeas="ISO 8342-EN"/>'
256
+ expect(doc).to include '<eref type="inline" bibitemid="iso124" citeas="ISO 8343-FR"/>'
257
+ doc = Asciidoctor.convert(input
258
+ .sub(/:novalid:/, ":language: en\n:novalid:"), *OPTIONS)
259
+ expect(doc).to include '<eref type="inline" bibitemid="iso123" citeas="ISO 8342-EN"/>'
260
+ expect(doc).to include '<eref type="inline" bibitemid="iso124" citeas="ISO 8341"/>'
261
+ end
262
+
235
263
  it "fetches simple ISO reference" do
236
264
  VCR.use_cassette "isobib_get_123_1" do
237
265
  input = <<~INPUT
@@ -257,7 +285,7 @@ RSpec.describe Metanorma::Standoc do
257
285
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
258
286
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
259
287
  <docidentifier type='ISO' primary="true">ISO 123</docidentifier>
260
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en</docidentifier>
288
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
261
289
  <docnumber>123</docnumber>
262
290
  <contributor>
263
291
  <role type='publisher'/>
@@ -285,6 +313,7 @@ RSpec.describe Metanorma::Standoc do
285
313
  <relation type='obsoletes'>
286
314
  <bibitem type='standard'>
287
315
  <formattedref format='text/plain'>ISO 123:1985</formattedref>
316
+ <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
288
317
  </bibitem>
289
318
  </relation>
290
319
  <relation type='instance'>
@@ -297,7 +326,7 @@ RSpec.describe Metanorma::Standoc do
297
326
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
298
327
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
299
328
  <docidentifier type='ISO' primary="true">ISO 123:2001</docidentifier>
300
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en</docidentifier>
329
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
301
330
  <docnumber>123</docnumber>
302
331
  <date type='published'>
303
332
  <on>2001-05</on>
@@ -335,6 +364,7 @@ RSpec.describe Metanorma::Standoc do
335
364
  <relation type='obsoletes'>
336
365
  <bibitem type='standard'>
337
366
  <formattedref format='text/plain'>ISO 123:1985</formattedref>
367
+ <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
338
368
  </bibitem>
339
369
  </relation>
340
370
  <place>Geneva</place>
@@ -352,7 +382,7 @@ RSpec.describe Metanorma::Standoc do
352
382
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
353
383
  <docidentifier type='ISO' primary="true">ISO 123</docidentifier>
354
384
  <docidentifier type='metanorma'>[1]</docidentifier>
355
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en</docidentifier>
385
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
356
386
  <docnumber>123</docnumber>
357
387
  <contributor>
358
388
  <role type='publisher'/>
@@ -380,6 +410,7 @@ RSpec.describe Metanorma::Standoc do
380
410
  <relation type='obsoletes'>
381
411
  <bibitem type='standard'>
382
412
  <formattedref format='text/plain'>ISO 123:1985</formattedref>
413
+ <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
383
414
  </bibitem>
384
415
  </relation>
385
416
  <relation type='instance'>
@@ -392,7 +423,7 @@ RSpec.describe Metanorma::Standoc do
392
423
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
393
424
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
394
425
  <docidentifier type='ISO' primary="true">ISO 123:2001</docidentifier>
395
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en</docidentifier>
426
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
396
427
  <docnumber>123</docnumber>
397
428
  <date type='published'>
398
429
  <on>2001-05</on>
@@ -430,6 +461,7 @@ RSpec.describe Metanorma::Standoc do
430
461
  <relation type='obsoletes'>
431
462
  <bibitem type='standard'>
432
463
  <formattedref format='text/plain'>ISO 123:1985</formattedref>
464
+ <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
433
465
  </bibitem>
434
466
  </relation>
435
467
  <place>Geneva</place>
@@ -487,7 +519,7 @@ RSpec.describe Metanorma::Standoc do
487
519
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
488
520
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
489
521
  <docidentifier type='ISO' primary="true">ISO 123</docidentifier>
490
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:fr</docidentifier>
522
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
491
523
  <docnumber>123</docnumber>
492
524
  <contributor>
493
525
  <role type='publisher'/>
@@ -516,6 +548,7 @@ RSpec.describe Metanorma::Standoc do
516
548
  <relation type='obsoletes'>
517
549
  <bibitem type='standard'>
518
550
  <formattedref format='text/plain'>ISO 123:1985</formattedref>
551
+ <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
519
552
  </bibitem>
520
553
  </relation>
521
554
  <relation type='instance'>
@@ -528,7 +561,7 @@ RSpec.describe Metanorma::Standoc do
528
561
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
529
562
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
530
563
  <docidentifier type='ISO' primary="true">ISO 123:2001</docidentifier>
531
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:fr</docidentifier>
564
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
532
565
  <docnumber>123</docnumber>
533
566
  <date type='published'>
534
567
  <on>2001-05</on>
@@ -571,6 +604,7 @@ RSpec.describe Metanorma::Standoc do
571
604
  <relation type='obsoletes'>
572
605
  <bibitem type='standard'>
573
606
  <formattedref format='text/plain'>ISO 123:1985</formattedref>
607
+ <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
574
608
  </bibitem>
575
609
  </relation>
576
610
  <place>Geneva</place>
@@ -588,7 +622,7 @@ RSpec.describe Metanorma::Standoc do
588
622
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
589
623
  <docidentifier type='ISO' primary="true">ISO 123</docidentifier>
590
624
  <docidentifier type='metanorma'>[1]</docidentifier>
591
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:fr</docidentifier>
625
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
592
626
  <docnumber>123</docnumber>
593
627
  <contributor>
594
628
  <role type='publisher'/>
@@ -617,6 +651,7 @@ RSpec.describe Metanorma::Standoc do
617
651
  <relation type='obsoletes'>
618
652
  <bibitem type='standard'>
619
653
  <formattedref format='text/plain'>ISO 123:1985</formattedref>
654
+ <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
620
655
  </bibitem>
621
656
  </relation>
622
657
  <relation type='instance'>
@@ -629,7 +664,7 @@ RSpec.describe Metanorma::Standoc do
629
664
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
630
665
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
631
666
  <docidentifier type='ISO' primary="true">ISO 123:2001</docidentifier>
632
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:fr</docidentifier>
667
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
633
668
  <docnumber>123</docnumber>
634
669
  <date type='published'>
635
670
  <on>2001-05</on>
@@ -672,6 +707,7 @@ RSpec.describe Metanorma::Standoc do
672
707
  <relation type='obsoletes'>
673
708
  <bibitem type='standard'>
674
709
  <formattedref format='text/plain'>ISO 123:1985</formattedref>
710
+ <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
675
711
  </bibitem>
676
712
  </relation>
677
713
  <place>Geneva</place>
@@ -762,7 +798,7 @@ RSpec.describe Metanorma::Standoc do
762
798
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:21071:en</uri>
763
799
  <uri type="rss">https://www.iso.org/contents/data/standard/02/10/21071.detail.rss</uri>
764
800
  <docidentifier type="ISO" primary="true">ISO/IEC TR 12382:1992</docidentifier>
765
- <docidentifier type='URN'>urn:iso:std:iso-iec:tr:12382:stage-90.93:ed-2:en</docidentifier>
801
+ <docidentifier type='URN'>urn:iso:std:iso-iec:tr:12382:stage-90.93:ed-2</docidentifier>
766
802
  <docnumber>12382</docnumber>
767
803
  <date type="published">
768
804
  <on>1992-12</on>
@@ -810,7 +846,7 @@ RSpec.describe Metanorma::Standoc do
810
846
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
811
847
  <uri type="rss">https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
812
848
  <docidentifier type="ISO" primary="true">ISO 124:2014</docidentifier>
813
- <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7:en</docidentifier>
849
+ <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7</docidentifier>
814
850
  <docnumber>124</docnumber>
815
851
  <date type="published">
816
852
  <on>2014-03</on>
@@ -842,6 +878,7 @@ RSpec.describe Metanorma::Standoc do
842
878
  <relation type="obsoletes">
843
879
  <bibitem type="standard">
844
880
  <formattedref format="text/plain">ISO 124:2011</formattedref>
881
+ <docidentifier type='ISO' primary='true'>ISO 124:2011</docidentifier>
845
882
  </bibitem>
846
883
  </relation>
847
884
  <place>Geneva</place>
@@ -855,7 +892,7 @@ RSpec.describe Metanorma::Standoc do
855
892
  <uri type="rss">https://www.iso.org/contents/data/standard/02/10/21071.detail.rss</uri>
856
893
  <docidentifier type="ISO" primary="true">ISO/IEC TR 12382:1992</docidentifier>
857
894
  <docidentifier type='metanorma'>[1]</docidentifier>
858
- <docidentifier type='URN'>urn:iso:std:iso-iec:tr:12382:stage-90.93:ed-2:en</docidentifier>
895
+ <docidentifier type='URN'>urn:iso:std:iso-iec:tr:12382:stage-90.93:ed-2</docidentifier>
859
896
  <docnumber>12382</docnumber>
860
897
  <date type="published">
861
898
  <on>1992-12</on>
@@ -904,7 +941,7 @@ RSpec.describe Metanorma::Standoc do
904
941
  <uri type="rss">https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
905
942
  <docidentifier type="ISO" primary="true">ISO 124:2014</docidentifier>
906
943
  <docidentifier type='metanorma'>[1]</docidentifier>
907
- <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7:en</docidentifier>
944
+ <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7</docidentifier>
908
945
  <docnumber>124</docnumber>
909
946
  <date type="published">
910
947
  <on>2014-03</on>
@@ -936,6 +973,7 @@ RSpec.describe Metanorma::Standoc do
936
973
  <relation type="obsoletes">
937
974
  <bibitem type="standard">
938
975
  <formattedref format="text/plain">ISO 124:2011</formattedref>
976
+ <docidentifier type='ISO' primary='true'>ISO 124:2011</docidentifier>
939
977
  </bibitem>
940
978
  </relation>
941
979
  <place>Geneva</place>
@@ -983,7 +1021,7 @@ RSpec.describe Metanorma::Standoc do
983
1021
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
984
1022
  <uri type='rss'>https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
985
1023
  <docidentifier type='ISO' primary="true">ISO 124:2014</docidentifier>
986
- <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7:en</docidentifier>
1024
+ <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7</docidentifier>
987
1025
  <docnumber>124</docnumber>
988
1026
  <date type='published'>
989
1027
  <on>2014-03</on>
@@ -1015,6 +1053,7 @@ RSpec.describe Metanorma::Standoc do
1015
1053
  <relation type='obsoletes'>
1016
1054
  <bibitem type='standard'>
1017
1055
  <formattedref format='text/plain'>ISO 124:2011</formattedref>
1056
+ <docidentifier type='ISO' primary='true'>ISO 124:2011</docidentifier>
1018
1057
  </bibitem>
1019
1058
  </relation>
1020
1059
  <place>Geneva</place>
@@ -1026,6 +1065,24 @@ RSpec.describe Metanorma::Standoc do
1026
1065
  end
1027
1066
  end
1028
1067
 
1068
+ it "suppress identifier on bibitem" do
1069
+ VCR.use_cassette "dated_iso_ref_joint_iso_iec1" do
1070
+ input = <<~INPUT
1071
+ #{ISOBIB_BLANK_HDR}
1072
+ [bibliography]
1073
+ == Normative References
1074
+
1075
+ * [[[iso123,dropid(ABC)]]] _Standard_
1076
+ * [[[iso124,dropid(ISO 124:2014)]]] _Standard_
1077
+ INPUT
1078
+ doc = Nokogiri::XML(Asciidoctor.convert(input, *OPTIONS))
1079
+ expect(doc.at("//xmlns:bibitem[@id = 'iso123']/@suppress_identifier")&.text)
1080
+ .to eq("true")
1081
+ expect(doc.at("//xmlns:bibitem[@id = 'iso124']/@suppress_identifier")&.text)
1082
+ .to eq("true")
1083
+ end
1084
+ end
1085
+
1029
1086
  it "hides individual references" do
1030
1087
  VCR.use_cassette "hide_refs",
1031
1088
  match_requests_on: %i[method uri body] do
@@ -1061,7 +1118,7 @@ RSpec.describe Metanorma::Standoc do
1061
1118
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
1062
1119
  <uri type='rss'>https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
1063
1120
  <docidentifier type='ISO' primary="true">ISO 124</docidentifier>
1064
- <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7:en</docidentifier>
1121
+ <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7</docidentifier>
1065
1122
  <docnumber>124</docnumber>
1066
1123
  <contributor>
1067
1124
  <role type='publisher'/>
@@ -1089,6 +1146,7 @@ RSpec.describe Metanorma::Standoc do
1089
1146
  <relation type='obsoletes'>
1090
1147
  <bibitem type='standard'>
1091
1148
  <formattedref format='text/plain'>ISO 124:2011</formattedref>
1149
+ <docidentifier type='ISO' primary='true'>ISO 124:2011</docidentifier>
1092
1150
  </bibitem>
1093
1151
  </relation>
1094
1152
  <relation type='instance'>
@@ -1101,7 +1159,7 @@ RSpec.describe Metanorma::Standoc do
1101
1159
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
1102
1160
  <uri type='rss'>https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
1103
1161
  <docidentifier type='ISO' primary="true">ISO 124:2014</docidentifier>
1104
- <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7:en</docidentifier>
1162
+ <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7</docidentifier>
1105
1163
  <docnumber>124</docnumber>
1106
1164
  <date type='published'>
1107
1165
  <on>2014-03</on>
@@ -1140,6 +1198,7 @@ RSpec.describe Metanorma::Standoc do
1140
1198
  <relation type='obsoletes'>
1141
1199
  <bibitem type='standard'>
1142
1200
  <formattedref format='text/plain'>ISO 124:2011</formattedref>
1201
+ <docidentifier type='ISO' primary='true'>ISO 124:2011</docidentifier>
1143
1202
  </bibitem>
1144
1203
  </relation>
1145
1204
  <place>Geneva</place>
@@ -1159,7 +1218,7 @@ RSpec.describe Metanorma::Standoc do
1159
1218
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:72849:en</uri>
1160
1219
  <uri type='rss'>https://www.iso.org/contents/data/standard/07/28/72849.detail.rss</uri>
1161
1220
  <docidentifier type='ISO' primary="true">ISO 125</docidentifier>
1162
- <docidentifier type='URN'>urn:iso:std:iso:125:stage-60.60:ed-7:en</docidentifier>
1221
+ <docidentifier type='URN'>urn:iso:std:iso:125:stage-60.60:ed-7</docidentifier>
1163
1222
  <docnumber>125</docnumber>
1164
1223
  <contributor>
1165
1224
  <role type='publisher'/>
@@ -1187,6 +1246,7 @@ RSpec.describe Metanorma::Standoc do
1187
1246
  <relation type='obsoletes'>
1188
1247
  <bibitem type='standard'>
1189
1248
  <formattedref format='text/plain'>ISO 125:2011</formattedref>
1249
+ <docidentifier type='ISO' primary='true'>ISO 125:2011</docidentifier>
1190
1250
  </bibitem>
1191
1251
  </relation>
1192
1252
  <relation type='instance'>
@@ -1202,7 +1262,7 @@ RSpec.describe Metanorma::Standoc do
1202
1262
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:72849:en</uri>
1203
1263
  <uri type='rss'>https://www.iso.org/contents/data/standard/07/28/72849.detail.rss</uri>
1204
1264
  <docidentifier type='ISO' primary="true">ISO 125:2020</docidentifier>
1205
- <docidentifier type='URN'>urn:iso:std:iso:125:stage-60.60:ed-7:en</docidentifier>
1265
+ <docidentifier type='URN'>urn:iso:std:iso:125:stage-60.60:ed-7</docidentifier>
1206
1266
  <docnumber>125</docnumber>
1207
1267
  <date type='published'>
1208
1268
  <on>2020-02</on>
@@ -1242,6 +1302,7 @@ RSpec.describe Metanorma::Standoc do
1242
1302
  <relation type='obsoletes'>
1243
1303
  <bibitem type='standard'>
1244
1304
  <formattedref format='text/plain'>ISO 125:2011</formattedref>
1305
+ <docidentifier type='ISO' primary='true'>ISO 125:2011</docidentifier>
1245
1306
  </bibitem>
1246
1307
  </relation>
1247
1308
  <place>Geneva</place>
@@ -1264,7 +1325,7 @@ RSpec.describe Metanorma::Standoc do
1264
1325
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:72849:en</uri>
1265
1326
  <uri type='rss'>https://www.iso.org/contents/data/standard/07/28/72849.detail.rss</uri>
1266
1327
  <docidentifier type='ISO' primary="true">ISO 125</docidentifier>
1267
- <docidentifier type='URN'>urn:iso:std:iso:125:stage-60.60:ed-7:en</docidentifier>
1328
+ <docidentifier type='URN'>urn:iso:std:iso:125:stage-60.60:ed-7</docidentifier>
1268
1329
  <docnumber>125</docnumber>
1269
1330
  <contributor>
1270
1331
  <role type='publisher'/>
@@ -1292,6 +1353,7 @@ RSpec.describe Metanorma::Standoc do
1292
1353
  <relation type='obsoletes'>
1293
1354
  <bibitem type='standard'>
1294
1355
  <formattedref format='text/plain'>ISO 125:2011</formattedref>
1356
+ <docidentifier type='ISO' primary='true'>ISO 125:2011</docidentifier>
1295
1357
  </bibitem>
1296
1358
  </relation>
1297
1359
  <relation type='instance'>
@@ -1307,7 +1369,7 @@ RSpec.describe Metanorma::Standoc do
1307
1369
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:72849:en</uri>
1308
1370
  <uri type='rss'>https://www.iso.org/contents/data/standard/07/28/72849.detail.rss</uri>
1309
1371
  <docidentifier type='ISO' primary="true">ISO 125:2020</docidentifier>
1310
- <docidentifier type='URN'>urn:iso:std:iso:125:stage-60.60:ed-7:en</docidentifier>
1372
+ <docidentifier type='URN'>urn:iso:std:iso:125:stage-60.60:ed-7</docidentifier>
1311
1373
  <docnumber>125</docnumber>
1312
1374
  <date type='published'>
1313
1375
  <on>2020-02</on>
@@ -1347,6 +1409,7 @@ RSpec.describe Metanorma::Standoc do
1347
1409
  <relation type='obsoletes'>
1348
1410
  <bibitem type='standard'>
1349
1411
  <formattedref format='text/plain'>ISO 125:2011</formattedref>
1412
+ <docidentifier type='ISO' primary='true'>ISO 125:2011</docidentifier>
1350
1413
  </bibitem>
1351
1414
  </relation>
1352
1415
  <place>Geneva</place>
@@ -1369,7 +1432,7 @@ RSpec.describe Metanorma::Standoc do
1369
1432
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
1370
1433
  <uri type='rss'>https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
1371
1434
  <docidentifier type='ISO' primary="true">ISO 124</docidentifier>
1372
- <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7:en</docidentifier>
1435
+ <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7</docidentifier>
1373
1436
  <docnumber>124</docnumber>
1374
1437
  <contributor>
1375
1438
  <role type='publisher'/>
@@ -1397,6 +1460,7 @@ RSpec.describe Metanorma::Standoc do
1397
1460
  <relation type='obsoletes'>
1398
1461
  <bibitem type='standard'>
1399
1462
  <formattedref format='text/plain'>ISO 124:2011</formattedref>
1463
+ <docidentifier type='ISO' primary='true'>ISO 124:2011</docidentifier>
1400
1464
  </bibitem>
1401
1465
  </relation>
1402
1466
  <relation type='instance'>
@@ -1409,7 +1473,7 @@ RSpec.describe Metanorma::Standoc do
1409
1473
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
1410
1474
  <uri type='rss'>https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
1411
1475
  <docidentifier type='ISO' primary="true">ISO 124:2014</docidentifier>
1412
- <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7:en</docidentifier>
1476
+ <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7</docidentifier>
1413
1477
  <docnumber>124</docnumber>
1414
1478
  <date type='published'>
1415
1479
  <on>2014-03</on>
@@ -1448,6 +1512,7 @@ RSpec.describe Metanorma::Standoc do
1448
1512
  <relation type='obsoletes'>
1449
1513
  <bibitem type='standard'>
1450
1514
  <formattedref format='text/plain'>ISO 124:2011</formattedref>
1515
+ <docidentifier type='ISO' primary='true'>ISO 124:2011</docidentifier>
1451
1516
  </bibitem>
1452
1517
  </relation>
1453
1518
  <place>Geneva</place>
@@ -1656,127 +1721,121 @@ RSpec.describe Metanorma::Standoc do
1656
1721
  <clause id="_" inline-header="false" obligation="normative">
1657
1722
  <title>Clause 4</title>
1658
1723
  <p id="_">
1659
- <eref type="inline" bibitemid="iso123" citeas="RFC 8341"/>
1724
+ <eref type="inline" bibitemid="iso123" citeas="IETF RFC 8341"/>
1660
1725
  </p>
1661
1726
  </clause>
1662
1727
  </sections><bibliography><references id="_" obligation="informative" normative="true">
1663
1728
  <title>Normative references</title>
1664
1729
  #{NORM_REF_BOILERPLATE}
1665
- <bibitem id='iso123' type='standard'>
1666
- <fetched/>
1667
- <title format='text/plain' language='en' script='Latn'>Network Configuration Access Control Model</title>
1668
- <uri type='src'>https://www.rfc-editor.org/info/rfc8341</uri>
1669
- <docidentifier type='RFC' primary="true">RFC 8341</docidentifier>
1670
- <docidentifier type='RFC' scope='anchor'>RFC8341</docidentifier>
1671
- <docidentifier type='DOI'>10.17487/RFC8341</docidentifier>
1672
- <docnumber>RFC8341</docnumber>
1673
- <date type='published'>
1674
- <on>2018-03</on>
1675
- </date>
1676
- <contributor>
1677
- <role type='publisher'/>
1678
- <organization>
1679
- <name>Internet Engineering Task Force</name>
1680
- <abbreviation>IETF</abbreviation>
1681
- </organization>
1682
- </contributor>
1683
- <contributor>
1684
- <role type='author'/>
1685
- <person>
1686
- <name>
1687
- <completename language='en'>A. Bierman</completename>
1688
- </name>
1689
- </person>
1690
- </contributor>
1691
- <contributor>
1692
- <role type='author'/>
1693
- <person>
1694
- <name>
1695
- <completename language='en'>M. Bjorklund</completename>
1696
- </name>
1697
- </person>
1698
- </contributor>
1699
- <language>en</language>
1700
- <script>Latn</script>
1701
- <abstract format='text/html' language='en' script='Latn'>
1702
- <p id='_'>
1703
- The standardization of network configuration interfaces for use with
1704
- the Network Configuration Protocol (NETCONF) or the RESTCONF protocol
1705
- requires a structured and secure operating environment that promotes
1706
- human usability and multi-vendor interoperability. There is a need for
1707
- standard mechanisms to restrict NETCONF or RESTCONF protocol access
1708
- for particular users to a preconfigured subset of all available
1709
- NETCONF or RESTCONF protocol operations and content. This document
1710
- defines such an access control model.</p>
1711
- <p id='_'>This document obsoletes RFC 6536.</p>
1712
- </abstract>
1713
- <series type='main'>
1714
- <title format='text/plain' language='en' script='Latn'>STD</title>
1715
- <number>91</number>
1716
- </series>
1717
- <series type='main'>
1718
- <title format='text/plain' language='en' script='Latn'>RFC</title>
1719
- <number>8341</number>
1720
- </series>
1721
- </bibitem>
1722
- <bibitem id='iso124' type='standard'>
1723
- <fetched/>
1724
- <title format='text/plain' language='en' script='Latn'>Network Configuration Access Control Model</title>
1725
- <uri type='src'>https://www.rfc-editor.org/info/rfc8341</uri>
1726
- <docidentifier type='RFC' primary="true">RFC 8341</docidentifier>
1727
- <docidentifier type='metanorma'>[1]</docidentifier>
1728
- <docidentifier type='RFC' scope='anchor'>RFC8341</docidentifier>
1729
- <docidentifier type='DOI'>10.17487/RFC8341</docidentifier>
1730
- <docnumber>RFC8341</docnumber>
1731
- <date type='published'>
1732
- <on>2018-03</on>
1733
- </date>
1734
- <contributor>
1735
- <role type='publisher'/>
1736
- <organization>
1737
- <name>Internet Engineering Task Force</name>
1738
- <abbreviation>IETF</abbreviation>
1739
- </organization>
1740
- </contributor>
1741
- <contributor>
1742
- <role type='author'/>
1743
- <person>
1744
- <name>
1745
- <completename language='en'>A. Bierman</completename>
1746
- </name>
1747
- </person>
1748
- </contributor>
1749
- <contributor>
1750
- <role type='author'/>
1751
- <person>
1752
- <name>
1753
- <completename language='en'>M. Bjorklund</completename>
1754
- </name>
1755
- </person>
1756
- </contributor>
1757
- <language>en</language>
1758
- <script>Latn</script>
1759
- <abstract format='text/html' language='en' script='Latn'>
1760
- <p id='_'>
1761
- The standardization of network configuration interfaces for use with
1762
- the Network Configuration Protocol (NETCONF) or the RESTCONF protocol
1763
- requires a structured and secure operating environment that promotes
1764
- human usability and multi-vendor interoperability. There is a need for
1765
- standard mechanisms to restrict NETCONF or RESTCONF protocol access
1766
- for particular users to a preconfigured subset of all available
1767
- NETCONF or RESTCONF protocol operations and content. This document
1768
- defines such an access control model.</p>
1769
- <p id='_'>This document obsoletes RFC 6536.</p>
1770
- </abstract>
1771
- <series type='main'>
1772
- <title format='text/plain' language='en' script='Latn'>STD</title>
1773
- <number>91</number>
1774
- </series>
1775
- <series type='main'>
1776
- <title format='text/plain' language='en' script='Latn'>RFC</title>
1777
- <number>8341</number>
1778
- </series>
1779
- </bibitem>
1730
+ <bibitem id='iso123' type='standard'>
1731
+ <fetched/>
1732
+ <title type='main' format='text/plain'>Network Configuration Access Control Model</title>
1733
+ <uri type='src'>https://www.rfc-editor.org/info/rfc8341</uri>
1734
+ <docidentifier type='IETF' primary='true'>RFC 8341</docidentifier>
1735
+ <docidentifier type='IETF' scope='anchor'>RFC8341</docidentifier>
1736
+ <docidentifier type='DOI'>10.17487/RFC8341</docidentifier>
1737
+ <docnumber>RFC8341</docnumber>
1738
+ <date type='published'>
1739
+ <on>2018-03</on>
1740
+ </date>
1741
+ <contributor>
1742
+ <role type='author'/>
1743
+ <person>
1744
+ <name>
1745
+ <completename language='en' script='Latn'>A. Bierman</completename>
1746
+ </name>
1747
+ </person>
1748
+ </contributor>
1749
+ <contributor>
1750
+ <role type='author'/>
1751
+ <person>
1752
+ <name>
1753
+ <completename language='en' script='Latn'>M. Bjorklund</completename>
1754
+ </name>
1755
+ </person>
1756
+ </contributor>
1757
+ <language>en</language>
1758
+ <script>Latn</script>
1759
+ <abstract format='text/html' language='en' script='Latn'>
1760
+ <p id='_'>
1761
+ The standardization of network configuration interfaces for use with
1762
+ the Network Configuration Protocol (NETCONF) or the RESTCONF
1763
+ protocol requires a structured and secure operating environment that
1764
+ promotes human usability and multi-vendor interoperability. There is
1765
+ a need for standard mechanisms to restrict NETCONF or RESTCONF
1766
+ protocol access for particular users to a preconfigured subset of
1767
+ all available NETCONF or RESTCONF protocol operations and content.
1768
+ This document defines such an access control model.
1769
+ </p>
1770
+ <p id='_'>This document obsoletes RFC 6536.</p>
1771
+ </abstract>
1772
+ <series>
1773
+ <title format='text/plain'>STD</title>
1774
+ <number>91</number>
1775
+ </series>
1776
+ <series>
1777
+ <title format='text/plain'>RFC</title>
1778
+ <number>8341</number>
1779
+ </series>
1780
+ <keyword>NETCONF RESTCONF</keyword>
1781
+ <keyword>YANG</keyword>
1782
+ <keyword>XML</keyword>
1783
+ </bibitem>
1784
+ <bibitem id='iso124' type='standard'>
1785
+ <fetched/>
1786
+ <title type='main' format='text/plain'>Network Configuration Access Control Model</title>
1787
+ <uri type='src'>https://www.rfc-editor.org/info/rfc8341</uri>
1788
+ <docidentifier type='IETF' primary='true'>RFC 8341</docidentifier>
1789
+ <docidentifier type='metanorma'>[1]</docidentifier>
1790
+ <docidentifier type='IETF' scope='anchor'>RFC8341</docidentifier>
1791
+ <docidentifier type='DOI'>10.17487/RFC8341</docidentifier>
1792
+ <docnumber>RFC8341</docnumber>
1793
+ <date type='published'>
1794
+ <on>2018-03</on>
1795
+ </date>
1796
+ <contributor>
1797
+ <role type='author'/>
1798
+ <person>
1799
+ <name>
1800
+ <completename language='en' script='Latn'>A. Bierman</completename>
1801
+ </name>
1802
+ </person>
1803
+ </contributor>
1804
+ <contributor>
1805
+ <role type='author'/>
1806
+ <person>
1807
+ <name>
1808
+ <completename language='en' script='Latn'>M. Bjorklund</completename>
1809
+ </name>
1810
+ </person>
1811
+ </contributor>
1812
+ <language>en</language>
1813
+ <script>Latn</script>
1814
+ <abstract format='text/html' language='en' script='Latn'>
1815
+ <p id='_'>
1816
+ The standardization of network configuration interfaces for use with
1817
+ the Network Configuration Protocol (NETCONF) or the RESTCONF
1818
+ protocol requires a structured and secure operating environment that
1819
+ promotes human usability and multi-vendor interoperability. There is
1820
+ a need for standard mechanisms to restrict NETCONF or RESTCONF
1821
+ protocol access for particular users to a preconfigured subset of
1822
+ all available NETCONF or RESTCONF protocol operations and content.
1823
+ This document defines such an access control model.
1824
+ </p>
1825
+ <p id='_'>This document obsoletes RFC 6536.</p>
1826
+ </abstract>
1827
+ <series>
1828
+ <title format='text/plain'>STD</title>
1829
+ <number>91</number>
1830
+ </series>
1831
+ <series>
1832
+ <title format='text/plain'>RFC</title>
1833
+ <number>8341</number>
1834
+ </series>
1835
+ <keyword>NETCONF RESTCONF</keyword>
1836
+ <keyword>YANG</keyword>
1837
+ <keyword>XML</keyword>
1838
+ </bibitem>
1780
1839
  </references>
1781
1840
  </bibliography>
1782
1841
  </standard-document>
@@ -1958,6 +2017,7 @@ RSpec.describe Metanorma::Standoc do
1958
2017
 
1959
2018
  * [[[iso123,repo:(ab/ISO 123)]]] _Standard_
1960
2019
  * [[[iso124,repo:(ab/ISO 124,id)]]] _Standard_
2020
+ * [[[iso125,dropid(repo:(ab/ISO 124,id))]]] _Standard_
1961
2021
  INPUT
1962
2022
  output = <<~OUTPUT
1963
2023
  #{BLANK_HDR}
@@ -2003,6 +2063,13 @@ RSpec.describe Metanorma::Standoc do
2003
2063
  <docnumber>123</docnumber>
2004
2064
  </bibitem>
2005
2065
  <bibitem id='iso124'>
2066
+ <formattedref format='application/x-isodoc+xml'>
2067
+ <em>Standard</em>
2068
+ </formattedref>
2069
+ <docidentifier>id</docidentifier>
2070
+ <docidentifier type='repository'>ab/ISO 124</docidentifier>
2071
+ </bibitem>
2072
+ <bibitem id='iso125' suppress_identifier='true'>
2006
2073
  <formattedref format='application/x-isodoc+xml'>
2007
2074
  <em>Standard</em>
2008
2075
  </formattedref>
@@ -2211,9 +2278,9 @@ RSpec.describe Metanorma::Standoc do
2211
2278
  end
2212
2279
 
2213
2280
  it "overrides normative status of bibliographies" do
2214
- # mock_isobib_get_123_no_docid(1)
2215
- # mock_isobib_get_123_no_docid_lbl(1)
2216
- VCR.use_cassette "isobib_get_123_1" do
2281
+ #mock_isobib_get_123_no_docid(1)
2282
+ #mock_isobib_get_123_no_docid_lbl(1)
2283
+ VCR.use_cassette "isobib_get_123_2" do
2217
2284
  input = <<~INPUT
2218
2285
  #{ISOBIB_BLANK_HDR}
2219
2286
 
@@ -2242,7 +2309,7 @@ RSpec.describe Metanorma::Standoc do
2242
2309
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
2243
2310
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
2244
2311
  <docidentifier type='ISO' primary="true">ISO 123</docidentifier>
2245
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en</docidentifier>
2312
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
2246
2313
  <docnumber>123</docnumber>
2247
2314
  <contributor>
2248
2315
  <role type='publisher'/>
@@ -2270,6 +2337,7 @@ RSpec.describe Metanorma::Standoc do
2270
2337
  <relation type='obsoletes'>
2271
2338
  <bibitem type='standard'>
2272
2339
  <formattedref format='text/plain'>ISO 123:1985</formattedref>
2340
+ <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
2273
2341
  </bibitem>
2274
2342
  </relation>
2275
2343
  <relation type='instance'>
@@ -2282,7 +2350,7 @@ RSpec.describe Metanorma::Standoc do
2282
2350
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
2283
2351
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
2284
2352
  <docidentifier type='ISO' primary="true">ISO 123:2001</docidentifier>
2285
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en</docidentifier>
2353
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
2286
2354
  <docnumber>123</docnumber>
2287
2355
  <date type='published'>
2288
2356
  <on>2001-05</on>
@@ -2320,6 +2388,7 @@ RSpec.describe Metanorma::Standoc do
2320
2388
  <relation type='obsoletes'>
2321
2389
  <bibitem type='standard'>
2322
2390
  <formattedref format='text/plain'>ISO 123:1985</formattedref>
2391
+ <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
2323
2392
  </bibitem>
2324
2393
  </relation>
2325
2394
  <place>Geneva</place>
@@ -2347,7 +2416,7 @@ RSpec.describe Metanorma::Standoc do
2347
2416
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
2348
2417
  <docidentifier type='ISO' primary="true">ISO 123</docidentifier>
2349
2418
  <docidentifier type='metanorma'>[1]</docidentifier>
2350
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en</docidentifier>
2419
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
2351
2420
  <docnumber>123</docnumber>
2352
2421
  <contributor>
2353
2422
  <role type='publisher'/>
@@ -2375,6 +2444,7 @@ RSpec.describe Metanorma::Standoc do
2375
2444
  <relation type='obsoletes'>
2376
2445
  <bibitem type='standard'>
2377
2446
  <formattedref format='text/plain'>ISO 123:1985</formattedref>
2447
+ <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
2378
2448
  </bibitem>
2379
2449
  </relation>
2380
2450
  <relation type='instance'>
@@ -2387,7 +2457,7 @@ RSpec.describe Metanorma::Standoc do
2387
2457
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
2388
2458
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
2389
2459
  <docidentifier type='ISO' primary="true">ISO 123:2001</docidentifier>
2390
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en</docidentifier>
2460
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
2391
2461
  <docnumber>123</docnumber>
2392
2462
  <date type='published'>
2393
2463
  <on>2001-05</on>
@@ -2425,6 +2495,7 @@ RSpec.describe Metanorma::Standoc do
2425
2495
  <relation type='obsoletes'>
2426
2496
  <bibitem type='standard'>
2427
2497
  <formattedref format='text/plain'>ISO 123:1985</formattedref>
2498
+ <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
2428
2499
  </bibitem>
2429
2500
  </relation>
2430
2501
  <place>Geneva</place>
@@ -2495,7 +2566,7 @@ RSpec.describe Metanorma::Standoc do
2495
2566
  <foreword id='_' obligation='informative'>
2496
2567
  <title>Foreword</title>
2497
2568
  <p id='_'>
2498
- <eref type='inline' bibitemid='iso124' citeas='[&amp;#x3c;strong&amp;#x3e;A&amp;#x3c;/strong&amp;#x3e;.&amp;#x3c;fn reference=&amp;#x22;1&amp;#x22;&amp;#x3e;&amp;#x3c;p&amp;#x3e;hello&amp;#x3c;/p&amp;#x3e;&amp;#xa;&amp;#x3c;/fn&amp;#x3e;]'/>
2569
+ <eref type='inline' bibitemid='iso124' citeas='[&lt;strong&gt;A&lt;/strong&gt;.&lt;fn reference=&quot;1&quot;&gt;&lt;p&gt;hello&lt;/p&gt;&#10;&lt;/fn&gt;]'/>
2499
2570
  </p>
2500
2571
  </foreword>
2501
2572
  </preface>
@@ -2531,6 +2602,7 @@ RSpec.describe Metanorma::Standoc do
2531
2602
  #{ASCIIDOC_BLANK_HDR}
2532
2603
  == Section
2533
2604
 
2605
+ <<ref1,clause=3-5>>
2534
2606
  <<ref1,clause=3;to!clause=5>>
2535
2607
  <<ref1,from!clause=3;to!clause=5,text>>
2536
2608
  <<ref1,clause=3;clause=5>>
@@ -2549,6 +2621,14 @@ RSpec.describe Metanorma::Standoc do
2549
2621
  <clause id='_' inline-header='false' obligation='normative'>
2550
2622
  <title>Section</title>
2551
2623
  <p id='_'>
2624
+ <eref type='inline' bibitemid='ref1' citeas='XYZ'>
2625
+ <localityStack>
2626
+ <locality type='clause'>
2627
+ <referenceFrom>3</referenceFrom>
2628
+ <referenceTo>5</referenceTo>
2629
+ </locality>
2630
+ </localityStack>
2631
+ </eref>
2552
2632
  <eref type='inline' bibitemid='ref1' citeas='XYZ'>
2553
2633
  <localityStack connective='from'>
2554
2634
  <locality type='clause'>
@@ -2655,22 +2735,6 @@ RSpec.describe Metanorma::Standoc do
2655
2735
 
2656
2736
  private
2657
2737
 
2658
- def mock_isobib_get_123
2659
- expect(RelatonIso::IsoBibliography).to receive(:get)
2660
- .with("ISO 123", nil, { code: "ISO 123",
2661
- lang: "en",
2662
- match: anything,
2663
- process: 1,
2664
- ord: anything,
2665
- title: "<em>Standard</em>",
2666
- usrlbl: nil,
2667
- year: nil }) do
2668
- IsoBibItem::XMLParser.from_xml(<<~"OUTPUT")
2669
- <bibitem type=\"standard\" id=\"ISO123\">\n <title format=\"text/plain\" language=\"en\" script=\"Latn\">Rubber latex -- Sampling</title>\n <title format=\"text/plain\" language=\"fr\" script=\"Latn\">Latex de caoutchouc -- ?chantillonnage</title>\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 <docidentifier>ISO 123</docidentifier>\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>Published</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>
2670
- OUTPUT
2671
- end
2672
- end
2673
-
2674
2738
  def mock_isobib_get_123_no_docid(times)
2675
2739
  expect(RelatonIso::IsoBibliography).to receive(:get)
2676
2740
  .with("ISO 123", nil, { code: "ISO 123",
@@ -2703,136 +2767,43 @@ RSpec.describe Metanorma::Standoc do
2703
2767
  end.exactly(times).times
2704
2768
  end
2705
2769
 
2706
- def mock_isobib_get_124
2707
- expect(RelatonIso::IsoBibliography).to receive(:get)
2708
- .with("ISO 124",
2709
- "2014", anything) do
2710
- IsoBibItem::XMLParser.from_xml(<<~"OUTPUT")
2711
- <bibitem type="standard" id="iso124">
2712
- <title format="text/plain" language="en" script="Latn">Latex, rubber -- Determination of total solids content</title>
2713
- <title format="text/plain" language="fr" script="Latn">Latex de caoutchouc -- Détermination des matières solides totales</title>
2714
- <uri type="src">https://www.iso.org/standard/61884.html</uri>
2715
- <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
2716
- <uri type="rss">https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
2717
- <docidentifier>ISO 124</docidentifier>
2718
- <date type="published">
2719
- <on>2014</on>
2720
- </date>
2721
- <contributor>
2722
- <role type="publisher"/>
2723
- <organization>
2724
- <name>International Organization for Standardization</name>
2725
- <abbreviation>ISO</abbreviation>
2726
- <uri>www.iso.org</uri>
2727
- </organization>
2728
- </contributor>
2729
- <edition>7</edition>
2730
- <language>en</language>
2731
- <language>fr</language>
2732
- <script>Latn</script>
2733
- <abstract format="text/plain" language="en" script="Latn">ISO 124:2014 specifies methods for the determination of the total solids content of natural rubber field and concentrated latices and synthetic rubber latex. These methods are not necessarily suitable for latex from natural sources other than the Hevea brasiliensis, for vulcanized latex, for compounded latex, or for artificial dispersions of rubber.</abstract>
2734
- <status>Published</status>
2735
- <copyright>
2736
- <from>2014</from>
2737
- <owner>
2738
- <organization>
2739
- <name>ISO</name>
2740
- <abbreviation/>
2741
- </organization>
2742
- </owner>
2743
- </copyright>
2744
- <relation type="obsoletes">
2745
- <bibitem type="standard">
2746
- <formattedref format="text/plain">ISO 124:2011</formattedref>
2747
- </bibitem>
2748
- </relation>
2749
- <ics>
2750
- <code>83.040.10</code>
2751
- <text>Latex and raw rubber</text>
2752
- </ics>
2770
+ def mock_rfcbib_get_rfc8342(times)
2771
+ expect(RelatonIso::IsoBibliography).to receive(:get).with("ISO 8342", nil,
2772
+ anything) do
2773
+ RelatonBib::XMLParser.from_xml(<<~"OUTPUT")
2774
+ <bibitem id="RFC8342">
2775
+ <title format="text/plain" language="en" script="Latn">Network Configuration Access Control Model</title>
2776
+ <docidentifier type="DOI">10.17487/RFC8341</docidentifier>
2777
+ <docidentifier type="ISO">ISO 8341</docidentifier>
2778
+ <docidentifier type="ISO" primary="true">ISO 8342-EN</docidentifier>
2779
+ <docidentifier type="ISO" language="fr">ISO 8342-FR</docidentifier>
2780
+ <docidentifier type="ISO" primary="true" language="de">ISO 8342-DE</docidentifier>
2781
+ <date type="published">
2782
+ <on>2018</on>
2783
+ </date>
2784
+ <status>published</status>
2753
2785
  </bibitem>
2754
2786
  OUTPUT
2755
- end
2756
- end
2757
-
2758
- def mock_isobib_get_iec12382
2759
- expect(RelatonIso::IsoBibliography).to receive(:get).with(
2760
- "ISO/IEC TR 12382", "1992", anything
2761
- ) do
2762
- IsoBibItem::XMLParser.from_xml(<<~"OUTPUT")
2763
- <bibitem type="standard" id="iso123">
2764
- <title format="text/plain" language="en" script="Latn">Permuted index of the vocabulary of information technology</title>
2765
- <title format="text/plain" language="fr" script="Latn">Index permuté du vocabulaire des technologies de l'information</title>
2766
- <uri type="src">https://www.iso.org/standard/21071.html</uri>
2767
- <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:21071:en</uri>
2768
- <uri type="rss">https://www.iso.org/contents/data/standard/02/10/21071.detail.rss</uri>
2769
- <docidentifier>ISO/IEC 12382</docidentifier>
2770
- <date type="published">
2771
- <on>1992</on>
2772
- </date>
2773
- <contributor>
2774
- <role type="publisher"/>
2775
- <organization>
2776
- <name>International Organization for Standardization</name>
2777
- <abbreviation>ISO</abbreviation>
2778
- <uri>www.iso.org</uri>
2779
- </organization>
2780
- </contributor>
2781
- <contributor>
2782
- <role type="publisher"/>
2783
- <organization>
2784
- <name>International Electrotechnical Commission</name>
2785
- <abbreviation>IEC</abbreviation>
2786
- <uri>www.iec.ch</uri>
2787
- </organization>
2788
- </contributor>
2789
- <edition>2</edition>
2790
- <language>en</language>
2791
- <language>fr</language>
2792
- <script>Latn</script>
2793
- <abstract format="text/plain" language="en" script="Latn">Contains a permuted index of all terms included in the parts 1 — 28 of ISO 2382. If any of these parts has been revised, the present TR refers to the revision.</abstract>
2794
- <status>Published</status>
2795
- <copyright>
2796
- <from>1992</from>
2797
- <owner>
2798
- <organization>
2799
- <name>ISO/IEC</name>
2800
- <abbreviation/>
2801
- </organization>
2802
- </owner>
2803
- </copyright>
2804
- <relation type="updates">
2805
- <bibitem type="standard">
2806
- <formattedref format="text/plain">ISO/IEC TR 12382:1992</formattedref>
2807
- </bibitem>
2808
- </relation>
2809
- <ics>
2810
- <code>35.020</code>
2811
- <text>Information technology (IT) in general</text>
2812
- </ics>
2813
- <ics>
2814
- <code>01.040.35</code>
2815
- <text>Information technology (Vocabularies)</text>
2816
- </ics>
2817
- </bibitem>
2818
- OUTPUT
2819
- end
2787
+ end.exactly(times).times
2820
2788
  end
2821
2789
 
2822
- def mock_rfcbib_get_rfc8341
2823
- expect(IETFBib::RfcBibliography).to receive(:get).with("RFC 8341", nil,
2824
- anything) do
2825
- IsoBibItem::XMLParser.from_xml(<<~"OUTPUT")
2826
- <bibitem id="RFC8341">
2790
+ def mock_rfcbib_get_rfc8343(times)
2791
+ expect(RelatonIso::IsoBibliography).to receive(:get).with("ISO 8343", nil,
2792
+ anything) do
2793
+ RelatonBib::XMLParser.from_xml(<<~"OUTPUT")
2794
+ <bibitem id="RFC8343">
2827
2795
  <title format="text/plain" language="en" script="Latn">Network Configuration Access Control Model</title>
2828
2796
  <docidentifier type="DOI">10.17487/RFC8341</docidentifier>
2829
- <docidentifier type="RFC">RFC 8341</docidentifier>
2797
+ <docidentifier type="ISO">ISO 8341</docidentifier>
2798
+ <docidentifier type="ISO">ISO 8343-EN</docidentifier>
2799
+ <docidentifier type="ISO" language="fr">ISO 8343-FR</docidentifier>
2800
+ <docidentifier type="ISO" language="de">ISO 8343-DE</docidentifier>
2830
2801
  <date type="published">
2831
2802
  <on>2018</on>
2832
2803
  </date>
2833
2804
  <status>published</status>
2834
2805
  </bibitem>
2835
2806
  OUTPUT
2836
- end
2807
+ end.exactly(times).times
2837
2808
  end
2838
2809
  end