metanorma-standoc 1.5.2 → 1.6.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +66 -0
  3. data/README.adoc +1 -3
  4. data/lib/asciidoctor/standoc/base.rb +6 -1
  5. data/lib/asciidoctor/standoc/basicdoc.rng +23 -0
  6. data/lib/asciidoctor/standoc/cleanup.rb +79 -12
  7. data/lib/asciidoctor/standoc/cleanup_amend.rb +54 -0
  8. data/lib/asciidoctor/standoc/cleanup_block.rb +41 -6
  9. data/lib/asciidoctor/standoc/cleanup_boilerplate.rb +14 -0
  10. data/lib/asciidoctor/standoc/cleanup_footnotes.rb +11 -3
  11. data/lib/asciidoctor/standoc/cleanup_inline.rb +11 -2
  12. data/lib/asciidoctor/standoc/cleanup_ref.rb +3 -4
  13. data/lib/asciidoctor/standoc/cleanup_section.rb +1 -2
  14. data/lib/asciidoctor/standoc/converter.rb +6 -2
  15. data/lib/asciidoctor/standoc/front.rb +9 -3
  16. data/lib/asciidoctor/standoc/front_contributor.rb +58 -18
  17. data/lib/asciidoctor/standoc/inline.rb +21 -31
  18. data/lib/asciidoctor/standoc/isodoc.rng +135 -58
  19. data/lib/asciidoctor/standoc/lists.rb +4 -2
  20. data/lib/asciidoctor/standoc/macros.rb +59 -33
  21. data/lib/asciidoctor/standoc/ref.rb +41 -46
  22. data/lib/asciidoctor/standoc/ref_sect.rb +12 -5
  23. data/lib/asciidoctor/standoc/section.rb +11 -10
  24. data/lib/asciidoctor/standoc/table.rb +3 -2
  25. data/lib/asciidoctor/standoc/views/datamodel/model_representation.adoc.erb +10 -10
  26. data/lib/liquid/custom_blocks/key_iterator.rb +21 -0
  27. data/lib/liquid/custom_blocks/with_json_nested_context.rb +18 -0
  28. data/lib/liquid/custom_blocks/with_yaml_nested_context.rb +19 -0
  29. data/lib/liquid/custom_filters/values.rb +7 -0
  30. data/lib/metanorma/standoc.rb +0 -5
  31. data/lib/metanorma/standoc/version.rb +20 -1
  32. data/metanorma-standoc.gemspec +5 -4
  33. data/spec/asciidoctor-standoc/base_spec.rb +246 -9
  34. data/spec/asciidoctor-standoc/blocks_spec.rb +255 -143
  35. data/spec/asciidoctor-standoc/cleanup_sections_spec.rb +1498 -0
  36. data/spec/asciidoctor-standoc/cleanup_spec.rb +409 -1572
  37. data/spec/asciidoctor-standoc/inline_spec.rb +128 -4
  38. data/spec/asciidoctor-standoc/isobib_cache_spec.rb +6 -20
  39. data/spec/asciidoctor-standoc/lists_spec.rb +10 -1
  40. data/spec/asciidoctor-standoc/macros_json2text_spec.rb +10 -0
  41. data/spec/asciidoctor-standoc/macros_lutaml_spec.rb +80 -0
  42. data/spec/asciidoctor-standoc/macros_spec.rb +36 -0
  43. data/spec/asciidoctor-standoc/macros_yaml2text_spec.rb +6 -561
  44. data/spec/asciidoctor-standoc/refs_dl_spec.rb +2 -2
  45. data/spec/asciidoctor-standoc/refs_spec.rb +266 -55
  46. data/spec/asciidoctor-standoc/section_spec.rb +0 -1
  47. data/spec/asciidoctor-standoc/table_spec.rb +112 -112
  48. data/spec/asciidoctor-standoc/validate_spec.rb +5 -1
  49. data/spec/examples/codes_table.html +1365 -1365
  50. data/spec/fixtures/macros_datamodel/address_class_profile.xml +46 -46
  51. data/spec/fixtures/macros_datamodel/address_component_profile.xml +21 -21
  52. data/spec/fixtures/macros_datamodel/blank_definition_profile.xml +21 -21
  53. data/spec/fixtures/test.exp +121 -0
  54. data/spec/spec_helper.rb +142 -108
  55. data/spec/support/shared_examples/structured_data_2_text_preprocessor.rb +781 -0
  56. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +50 -234
  57. data/spec/vcr_cassettes/isobib_get_123.yml +13 -59
  58. data/spec/vcr_cassettes/isobib_get_123_1.yml +23 -115
  59. data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +361 -0
  60. data/spec/vcr_cassettes/isobib_get_123_2001.yml +11 -57
  61. data/spec/vcr_cassettes/isobib_get_124.yml +13 -59
  62. data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +8 -8
  63. data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +50 -36
  64. metadata +59 -11
  65. data/.github/workflows/macos.yml +0 -46
  66. data/.github/workflows/ubuntu.yml +0 -49
  67. data/.github/workflows/windows.yml +0 -53
  68. data/lib/asciidoctor/standoc/macros_yaml2text.rb +0 -165
  69. data/lib/metanorma/standoc/latexml_requirement.rb +0 -62
  70. data/lib/metanorma/standoc/requirement.rb +0 -13
@@ -291,7 +291,7 @@ formattedref::
291
291
  </sections><bibliography><references id="_" obligation="informative" normative="true">
292
292
  <title>Normative references</title>
293
293
  #{NORM_REF_BOILERPLATE}
294
- <bibitem id="TC211" type="standard">
294
+ <bibitem id="ISOTC211" type="standard">
295
295
  <fetched>2019-06-30</fetched>
296
296
  <title type="main" format="text/plain">Geographic information</title>
297
297
  <title type="subtitle" format="text/plain" language="en" script="Latn">Geographic information subtitle</title>
@@ -611,7 +611,7 @@ series.formattedref.script:: Latn
611
611
  </sections><bibliography><references id="_" obligation="informative" normative="true">
612
612
  <title>Normative references</title>
613
613
  #{NORM_REF_BOILERPLATE}
614
- <bibitem id="TC211" type="standard">
614
+ <bibitem id="ISOTC211" type="standard">
615
615
  <fetched>2019-06-30</fetched>
616
616
  <title type="main" format="text/plain">Geographic information</title>
617
617
  <title type="subtitle" format="text/plain" language="en" script="Latn">Geographic information subtitle</title>
@@ -30,7 +30,7 @@ RSpec.describe Asciidoctor::Standoc do
30
30
  </bibitem>
31
31
  <bibitem id='iso124' type='standard'>
32
32
  <title format='text/plain'>Standard</title>
33
- <docidentifier type='metanorma'>[1]</docidentifier>
33
+ <docidentifier type='metanorma'>[2]</docidentifier>
34
34
  <docidentifier>ISO 123</docidentifier>
35
35
  <docnumber>123</docnumber>
36
36
  <contributor>
@@ -77,7 +77,7 @@ RSpec.describe Asciidoctor::Standoc do
77
77
  </bibitem>
78
78
  <bibitem id="iso124" type="standard">
79
79
  <title format="text/plain">Standard</title>
80
- <docidentifier type='metanorma'>[1]</docidentifier>
80
+ <docidentifier type='metanorma'>[2]</docidentifier>
81
81
  <docidentifier>ISO 123:1066-1067</docidentifier>
82
82
  <docnumber>123</docnumber>
83
83
  <date type="published">
@@ -120,7 +120,7 @@ RSpec.describe Asciidoctor::Standoc do
120
120
  <title>Foreword</title>
121
121
  <p id='_'>
122
122
  <eref type='inline' bibitemid='iso123' citeas='ISO 123'/>
123
- <eref type='inline' bibitemid='iso124' citeas='[1]'/>
123
+ <eref type='inline' bibitemid='iso124' citeas='[2]'/>
124
124
  </p>
125
125
  </foreword>
126
126
  </preface>
@@ -213,7 +213,7 @@ RSpec.describe Asciidoctor::Standoc do
213
213
  </bibitem>
214
214
  </relation>
215
215
  <docidentifier>ISO 123</docidentifier>
216
- <docidentifier type='metanorma'>[1]</docidentifier>
216
+ <docidentifier type='metanorma'>[2]</docidentifier>
217
217
  <title><em>Standard</em></title>
218
218
  </bibitem>
219
219
  </references></bibliography>
@@ -223,7 +223,6 @@ RSpec.describe Asciidoctor::Standoc do
223
223
  end
224
224
 
225
225
  it "fetches simple ISO reference" do
226
- # mock_isobib_get_123
227
226
  VCR.use_cassette "isobib_get_123_1" do
228
227
  expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp( <<~"OUTPUT")
229
228
  #{ISOBIB_BLANK_HDR}
@@ -243,6 +242,241 @@ RSpec.describe Asciidoctor::Standoc do
243
242
  <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
244
243
  <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
245
244
  <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex – Sampling</title>
245
+ <uri type='src'>https://www.iso.org/standard/23281.html</uri>
246
+ <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
247
+ <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
248
+ <docidentifier type='ISO'>ISO 123 (all parts)</docidentifier>
249
+ <docidentifier type='URN'>urn:iso:std:iso:123</docidentifier>
250
+ <docnumber>123</docnumber>
251
+ <date type='published'>
252
+ <on>2001</on>
253
+ </date>
254
+ <contributor>
255
+ <role type='publisher'/>
256
+ <organization>
257
+ <name>International Organization for Standardization</name>
258
+ <abbreviation>ISO</abbreviation>
259
+ <uri>www.iso.org</uri>
260
+ </organization>
261
+ </contributor>
262
+ <edition>3</edition>
263
+ <language>en</language>
264
+ <script>Latn</script>
265
+ <status>
266
+ <stage>90</stage>
267
+ <substage>93</substage>
268
+ </status>
269
+ <copyright>
270
+ <from>2001</from>
271
+ <owner>
272
+ <organization>
273
+ <name>ISO</name>
274
+ </organization>
275
+ </owner>
276
+ </copyright>
277
+ <relation type='obsoletes'>
278
+ <bibitem type='standard'>
279
+ <formattedref format='text/plain'>ISO 123:1985</formattedref>
280
+ </bibitem>
281
+ </relation>
282
+ <relation type='instance'>
283
+ <bibitem type='standard'>
284
+ <fetched>#{Date.today}</fetched>
285
+ <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
286
+ <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
287
+ <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex — Sampling</title>
288
+ <uri type='src'>https://www.iso.org/standard/23281.html</uri>
289
+ <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
290
+ <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
291
+ <docidentifier type='ISO'>ISO 123:2001</docidentifier>
292
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en</docidentifier>
293
+ <docnumber>123</docnumber>
294
+ <date type='published'>
295
+ <on>2001</on>
296
+ </date>
297
+ <contributor>
298
+ <role type='publisher'/>
299
+ <organization>
300
+ <name>International Organization for Standardization</name>
301
+ <abbreviation>ISO</abbreviation>
302
+ <uri>www.iso.org</uri>
303
+ </organization>
304
+ </contributor>
305
+ <edition>3</edition>
306
+ <language>en</language>
307
+ <script>Latn</script>
308
+ <status>
309
+ <stage>90</stage>
310
+ <substage>93</substage>
311
+ </status>
312
+ <copyright>
313
+ <from>2001</from>
314
+ <owner>
315
+ <organization>
316
+ <name>ISO</name>
317
+ </organization>
318
+ </owner>
319
+ </copyright>
320
+ <relation type='obsoletes'>
321
+ <bibitem type='standard'>
322
+ <formattedref format='text/plain'>ISO 123:1985</formattedref>
323
+ </bibitem>
324
+ </relation>
325
+ <place>Geneva</place>
326
+ </bibitem>
327
+ </relation>
328
+ <relation type='instance'>
329
+ <bibitem type='standard'>
330
+ <formattedref format='text/plain'>ISO 123:1985</formattedref>
331
+ </bibitem>
332
+ </relation>
333
+ <relation type='instance'>
334
+ <bibitem type='standard'>
335
+ <formattedref format='text/plain'>ISO 123:1974</formattedref>
336
+ </bibitem>
337
+ </relation>
338
+ <place>Geneva</place>
339
+ </bibitem>
340
+ <bibitem id='iso124' type='standard'>
341
+ <fetched>#{Date.today}</fetched>
342
+ <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
343
+ <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
344
+ <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex – Sampling</title>
345
+ <uri type='src'>https://www.iso.org/standard/23281.html</uri>
346
+ <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
347
+ <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
348
+ <docidentifier type='ISO'>ISO 123 (all parts)</docidentifier>
349
+ <docidentifier type='metanorma'>[2]</docidentifier>
350
+ <docidentifier type='URN'>urn:iso:std:iso:123</docidentifier>
351
+ <docnumber>123</docnumber>
352
+ <date type='published'>
353
+ <on>2001</on>
354
+ </date>
355
+ <contributor>
356
+ <role type='publisher'/>
357
+ <organization>
358
+ <name>International Organization for Standardization</name>
359
+ <abbreviation>ISO</abbreviation>
360
+ <uri>www.iso.org</uri>
361
+ </organization>
362
+ </contributor>
363
+ <edition>3</edition>
364
+ <language>en</language>
365
+ <script>Latn</script>
366
+ <status>
367
+ <stage>90</stage>
368
+ <substage>93</substage>
369
+ </status>
370
+ <copyright>
371
+ <from>2001</from>
372
+ <owner>
373
+ <organization>
374
+ <name>ISO</name>
375
+ </organization>
376
+ </owner>
377
+ </copyright>
378
+ <relation type='obsoletes'>
379
+ <bibitem type='standard'>
380
+ <formattedref format='text/plain'>ISO 123:1985</formattedref>
381
+ </bibitem>
382
+ </relation>
383
+ <relation type='instance'>
384
+ <bibitem type='standard'>
385
+ <fetched>#{Date.today}</fetched>
386
+ <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
387
+ <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
388
+ <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex — Sampling</title>
389
+ <uri type='src'>https://www.iso.org/standard/23281.html</uri>
390
+ <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
391
+ <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
392
+ <docidentifier type='ISO'>ISO 123:2001</docidentifier>
393
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en</docidentifier>
394
+ <docnumber>123</docnumber>
395
+ <date type='published'>
396
+ <on>2001</on>
397
+ </date>
398
+ <contributor>
399
+ <role type='publisher'/>
400
+ <organization>
401
+ <name>International Organization for Standardization</name>
402
+ <abbreviation>ISO</abbreviation>
403
+ <uri>www.iso.org</uri>
404
+ </organization>
405
+ </contributor>
406
+ <edition>3</edition>
407
+ <language>en</language>
408
+ <script>Latn</script>
409
+ <status>
410
+ <stage>90</stage>
411
+ <substage>93</substage>
412
+ </status>
413
+ <copyright>
414
+ <from>2001</from>
415
+ <owner>
416
+ <organization>
417
+ <name>ISO</name>
418
+ </organization>
419
+ </owner>
420
+ </copyright>
421
+ <relation type='obsoletes'>
422
+ <bibitem type='standard'>
423
+ <formattedref format='text/plain'>ISO 123:1985</formattedref>
424
+ </bibitem>
425
+ </relation>
426
+ <place>Geneva</place>
427
+ </bibitem>
428
+ </relation>
429
+ <relation type='instance'>
430
+ <bibitem type='standard'>
431
+ <formattedref format='text/plain'>ISO 123:1985</formattedref>
432
+ </bibitem>
433
+ </relation>
434
+ <relation type='instance'>
435
+ <bibitem type='standard'>
436
+ <formattedref format='text/plain'>ISO 123:1974</formattedref>
437
+ </bibitem>
438
+ </relation>
439
+ <place>Geneva</place>
440
+ </bibitem>
441
+ </references>
442
+ </bibliography>
443
+ </standard-document>
444
+ OUTPUT
445
+ end
446
+ end
447
+
448
+ it "fetches simple ISO reference in French" do
449
+ VCR.use_cassette "isobib_get_123_1_fr" do
450
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp( <<~"OUTPUT")
451
+ = Document title
452
+ Author
453
+ :docfile: test.adoc
454
+ :nodoc:
455
+ :novalid:
456
+ :no-isobib-cache:
457
+ :language: fr
458
+
459
+ [bibliography]
460
+ == Normative References
461
+
462
+ * [[[iso123,ISO 123]]] _Standard_
463
+ * [[[iso124,(1)ISO 123]]] _Standard_
464
+ INPUT
465
+ #{BLANK_HDR.sub(%r{<language>en</language>}, "<language>fr</language>")}
466
+ <sections>
467
+
468
+ </sections><bibliography>
469
+ <references id='_' normative='true' obligation='informative'>
470
+ <title>Références normatives</title>
471
+ <p id='_'>
472
+ Les documents suivants cités dans le texte constituent, pour tout ou
473
+ partie de leur contenu, des exigences du présent document. Pour les
474
+ références datées, seule l’édition citée s’applique. Pour les références
475
+ non datées, la dernière édition du document de référence s’applique (y
476
+ compris les éventuels amendements).
477
+ </p>
478
+ <bibitem id='iso123' type='standard'>
479
+ <fetched>#{Date.today}</fetched>
246
480
  <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
247
481
  <title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
248
482
  <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc – Échantillonnage</title>
@@ -250,6 +484,7 @@ RSpec.describe Asciidoctor::Standoc do
250
484
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
251
485
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
252
486
  <docidentifier type='ISO'>ISO 123 (all parts)</docidentifier>
487
+ <docidentifier type='URN'>urn:iso:std:iso:123</docidentifier>
253
488
  <docnumber>123</docnumber>
254
489
  <date type='published'>
255
490
  <on>2001</on>
@@ -286,9 +521,6 @@ RSpec.describe Asciidoctor::Standoc do
286
521
  <relation type='instance'>
287
522
  <bibitem type='standard'>
288
523
  <fetched>#{Date.today}</fetched>
289
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
290
- <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
291
- <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex — Sampling</title>
292
524
  <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
293
525
  <title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
294
526
  <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc — Échantillonnage</title>
@@ -296,6 +528,7 @@ RSpec.describe Asciidoctor::Standoc do
296
528
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
297
529
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
298
530
  <docidentifier type='ISO'>ISO 123:2001</docidentifier>
531
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:fr</docidentifier>
299
532
  <docnumber>123</docnumber>
300
533
  <date type='published'>
301
534
  <on>2001</on>
@@ -346,9 +579,6 @@ RSpec.describe Asciidoctor::Standoc do
346
579
  </bibitem>
347
580
  <bibitem id='iso124' type='standard'>
348
581
  <fetched>#{Date.today}</fetched>
349
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
350
- <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
351
- <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex – Sampling</title>
352
582
  <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
353
583
  <title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
354
584
  <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc – Échantillonnage</title>
@@ -356,7 +586,8 @@ RSpec.describe Asciidoctor::Standoc do
356
586
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
357
587
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
358
588
  <docidentifier type='ISO'>ISO 123 (all parts)</docidentifier>
359
- <docidentifier type='metanorma'>[1]</docidentifier>
589
+ <docidentifier type='metanorma'>[2]</docidentifier>
590
+ <docidentifier type='URN'>urn:iso:std:iso:123</docidentifier>
360
591
  <docnumber>123</docnumber>
361
592
  <date type='published'>
362
593
  <on>2001</on>
@@ -393,9 +624,6 @@ RSpec.describe Asciidoctor::Standoc do
393
624
  <relation type='instance'>
394
625
  <bibitem type='standard'>
395
626
  <fetched>#{Date.today}</fetched>
396
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
397
- <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
398
- <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex — Sampling</title>
399
627
  <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
400
628
  <title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
401
629
  <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc — Échantillonnage</title>
@@ -403,6 +631,7 @@ RSpec.describe Asciidoctor::Standoc do
403
631
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
404
632
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
405
633
  <docidentifier type='ISO'>ISO 123:2001</docidentifier>
634
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:fr</docidentifier>
406
635
  <docnumber>123</docnumber>
407
636
  <date type='published'>
408
637
  <on>2001</on>
@@ -485,7 +714,7 @@ RSpec.describe Asciidoctor::Standoc do
485
714
  </bibitem>
486
715
  <bibitem id='iso124' type='standard'>
487
716
  <title format='text/plain'>Standard</title>
488
- <docidentifier type='metanorma'>[1]</docidentifier>
717
+ <docidentifier type='metanorma'>[2]</docidentifier>
489
718
  <docidentifier>IEC 123</docidentifier>
490
719
  <docnumber>123</docnumber>
491
720
  <contributor>
@@ -525,12 +754,11 @@ RSpec.describe Asciidoctor::Standoc do
525
754
  <fetched>#{Date.today}</fetched>
526
755
  <title type="title-main" format="text/plain" language="en" script="Latn">Permuted index of the vocabulary of information technology</title>
527
756
  <title type="main" format="text/plain" language="en" script="Latn">Permuted index of the vocabulary of information technology</title>
528
- <title type="title-main" format="text/plain" language="fr" script="Latn">Index permuté du vocabulaire des technologies de l’information</title>
529
- <title type="main" format="text/plain" language="fr" script="Latn">Index permuté du vocabulaire des technologies de l’information</title>
530
757
  <uri type="src">https://www.iso.org/standard/21071.html</uri>
531
758
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:21071:en</uri>
532
759
  <uri type="rss">https://www.iso.org/contents/data/standard/02/10/21071.detail.rss</uri>
533
760
  <docidentifier type="ISO">ISO/IEC TR 12382:1992</docidentifier>
761
+ <docidentifier type='URN'>urn:iso:std:iso-iec:tr:12382:stage-90.93:ed-2:en</docidentifier>
534
762
  <docnumber>12382</docnumber>
535
763
  <date type="published">
536
764
  <on>1992</on>
@@ -553,10 +781,8 @@ RSpec.describe Asciidoctor::Standoc do
553
781
  </contributor>
554
782
  <edition>2</edition>
555
783
  <language>en</language>
556
- <language>fr</language>
557
784
  <script>Latn</script>
558
785
  <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>
559
- <abstract format="text/plain" language="fr" 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>
560
786
  <status>
561
787
  <stage>90</stage>
562
788
  <substage>93</substage>
@@ -576,13 +802,11 @@ RSpec.describe Asciidoctor::Standoc do
576
802
  <title type="title-intro" format="text/plain" language="en" script="Latn">Latex, rubber</title>
577
803
  <title type="title-main" format="text/plain" language="en" script="Latn">Determination of total solids content</title>
578
804
  <title type='main' format='text/plain' language='en' script='Latn'>Latex, rubber — Determination of total solids content</title>
579
- <title type="title-intro" format="text/plain" language="fr" script="Latn">Latex de caoutchouc</title>
580
- <title type="title-main" format="text/plain" language="fr" script="Latn">Détermination des matières solides totales</title>
581
- <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc — Détermination des matières solides totales</title>
582
805
  <uri type="src">https://www.iso.org/standard/61884.html</uri>
583
806
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
584
807
  <uri type="rss">https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
585
808
  <docidentifier type="ISO">ISO 124:2014</docidentifier>
809
+ <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7:en</docidentifier>
586
810
  <docnumber>124</docnumber>
587
811
  <date type="published">
588
812
  <on>2014</on>
@@ -597,10 +821,8 @@ RSpec.describe Asciidoctor::Standoc do
597
821
  </contributor>
598
822
  <edition>7</edition>
599
823
  <language>en</language>
600
- <language>fr</language>
601
824
  <script>Latn</script>
602
825
  <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>
603
- <abstract format="text/plain" language="fr" script="Latn">L’ISO 124:2014 spécifie des méthodes pour la détermination des matières solides totales dans le latex de plantation, le latex de concentré de caoutchouc naturel et le latex de caoutchouc synthétique. Ces méthodes ne conviennent pas nécessairement au latex d’origine naturelle autre que celui de l’Hevea brasiliensis, au latex vulcanisé, aux mélanges de latex, ou aux dispersions artificielles de caoutchouc.</abstract>
604
826
  <status>
605
827
  <stage>90</stage>
606
828
  <substage>93</substage>
@@ -624,13 +846,12 @@ RSpec.describe Asciidoctor::Standoc do
624
846
  <fetched>#{Date.today}</fetched>
625
847
  <title type="title-main" format="text/plain" language="en" script="Latn">Permuted index of the vocabulary of information technology</title>
626
848
  <title type='main' format='text/plain' language='en' script='Latn'>Permuted index of the vocabulary of information technology</title>
627
- <title type="title-main" format="text/plain" language="fr" script="Latn">Index permuté du vocabulaire des technologies de l’information</title>
628
- <title type='main' format='text/plain' language='fr' script='Latn'>Index permuté du vocabulaire des technologies de l’information</title>
629
849
  <uri type="src">https://www.iso.org/standard/21071.html</uri>
630
850
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:21071:en</uri>
631
851
  <uri type="rss">https://www.iso.org/contents/data/standard/02/10/21071.detail.rss</uri>
632
852
  <docidentifier type="ISO">ISO/IEC TR 12382:1992</docidentifier>
633
- <docidentifier type='metanorma'>[1]</docidentifier>
853
+ <docidentifier type='metanorma'>[3]</docidentifier>
854
+ <docidentifier type='URN'>urn:iso:std:iso-iec:tr:12382:stage-90.93:ed-2:en</docidentifier>
634
855
  <docnumber>12382</docnumber>
635
856
  <date type="published">
636
857
  <on>1992</on>
@@ -653,10 +874,8 @@ RSpec.describe Asciidoctor::Standoc do
653
874
  </contributor>
654
875
  <edition>2</edition>
655
876
  <language>en</language>
656
- <language>fr</language>
657
877
  <script>Latn</script>
658
878
  <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>
659
- <abstract format="text/plain" language="fr" 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>
660
879
  <status>
661
880
  <stage>90</stage>
662
881
  <substage>93</substage>
@@ -676,14 +895,12 @@ RSpec.describe Asciidoctor::Standoc do
676
895
  <title type="title-intro" format="text/plain" language="en" script="Latn">Latex, rubber</title>
677
896
  <title type="title-main" format="text/plain" language="en" script="Latn">Determination of total solids content</title>
678
897
  <title type='main' format='text/plain' language='en' script='Latn'>Latex, rubber — Determination of total solids content</title>
679
- <title type="title-intro" format="text/plain" language="fr" script="Latn">Latex de caoutchouc</title>
680
- <title type="title-main" format="text/plain" language="fr" script="Latn">Détermination des matières solides totales</title>
681
- <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc — Détermination des matières solides totales</title>
682
898
  <uri type="src">https://www.iso.org/standard/61884.html</uri>
683
899
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
684
900
  <uri type="rss">https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
685
901
  <docidentifier type="ISO">ISO 124:2014</docidentifier>
686
- <docidentifier type='metanorma'>[1]</docidentifier>
902
+ <docidentifier type='metanorma'>[4]</docidentifier>
903
+ <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7:en</docidentifier>
687
904
  <docnumber>124</docnumber>
688
905
  <date type="published">
689
906
  <on>2014</on>
@@ -698,10 +915,8 @@ RSpec.describe Asciidoctor::Standoc do
698
915
  </contributor>
699
916
  <edition>7</edition>
700
917
  <language>en</language>
701
- <language>fr</language>
702
918
  <script>Latn</script>
703
919
  <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>
704
- <abstract format="text/plain" language="fr" script="Latn">L’ISO 124:2014 spécifie des méthodes pour la détermination des matières solides totales dans le latex de plantation, le latex de concentré de caoutchouc naturel et le latex de caoutchouc synthétique. Ces méthodes ne conviennent pas nécessairement au latex d’origine naturelle autre que celui de l’Hevea brasiliensis, au latex vulcanisé, aux mélanges de latex, ou aux dispersions artificielles de caoutchouc.</abstract>
705
920
  <status>
706
921
  <stage>90</stage>
707
922
  <substage>93</substage>
@@ -756,13 +971,11 @@ RSpec.describe Asciidoctor::Standoc do
756
971
  <title type='title-intro' format='text/plain' language='en' script='Latn'>Latex, rubber</title>
757
972
  <title type='title-main' format='text/plain' language='en' script='Latn'>Determination of total solids content</title>
758
973
  <title type='main' format='text/plain' language='en' script='Latn'>Latex, rubber — Determination of total solids content</title>
759
- <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
760
- <title type='title-main' format='text/plain' language='fr' script='Latn'>Détermination des matières solides totales</title>
761
- <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc — Détermination des matières solides totales</title>
762
974
  <uri type='src'>https://www.iso.org/standard/61884.html</uri>
763
975
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
764
976
  <uri type='rss'>https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
765
977
  <docidentifier type='ISO'>ISO 124:2014</docidentifier>
978
+ <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7:en</docidentifier>
766
979
  <docnumber>124</docnumber>
767
980
  <date type='published'>
768
981
  <on>2014</on>
@@ -777,10 +990,8 @@ RSpec.describe Asciidoctor::Standoc do
777
990
  </contributor>
778
991
  <edition>7</edition>
779
992
  <language>en</language>
780
- <language>fr</language>
781
993
  <script>Latn</script>
782
994
  <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>
783
- <abstract format='text/plain' language='fr' script='Latn'>L’ISO 124:2014 spécifie des méthodes pour la détermination des matières solides totales dans le latex de plantation, le latex de concentré de caoutchouc naturel et le latex de caoutchouc synthétique. Ces méthodes ne conviennent pas nécessairement au latex d’origine naturelle autre que celui de l’Hevea brasiliensis, au latex vulcanisé, aux mélanges de latex, ou aux dispersions artificielles de caoutchouc.</abstract>
784
995
  <status>
785
996
  <stage>90</stage>
786
997
  <substage>93</substage>
@@ -850,7 +1061,7 @@ OUTPUT
850
1061
  <name>ISO</name>
851
1062
  </organization>
852
1063
  </contributor>
853
- <note format="text/plain" type="ISO DATE">The standard is in press</note>
1064
+ <note format="text/plain" type="Unpublished-Status">The standard is in press</note>
854
1065
  </bibitem>
855
1066
  <bibitem id="iso125" type="standard">
856
1067
  <title format="text/plain">Standard</title>
@@ -865,11 +1076,11 @@ OUTPUT
865
1076
  <name>ISO</name>
866
1077
  </organization>
867
1078
  </contributor>
868
- <note format="text/plain" type="ISO DATE">The standard is in press</note>
1079
+ <note format="text/plain" type="Unpublished-Status">The standard is in press</note>
869
1080
  </bibitem>
870
1081
  <bibitem id='iso126' type='standard'>
871
1082
  <title format='text/plain'>Standard</title>
872
- <docidentifier type='metanorma'>[1]</docidentifier>
1083
+ <docidentifier type='metanorma'>[4]</docidentifier>
873
1084
  <docidentifier>ISO 123:—</docidentifier>
874
1085
  <docnumber>123</docnumber>
875
1086
  <date type='published'>
@@ -923,7 +1134,7 @@ OUTPUT
923
1134
  </bibitem>
924
1135
  <bibitem id='iso124' type='standard'>
925
1136
  <title format='text/plain'>Standard</title>
926
- <docidentifier type='metanorma'>[1]</docidentifier>
1137
+ <docidentifier type='metanorma'>[2]</docidentifier>
927
1138
  <docidentifier>ISO 123:1066 (all parts)</docidentifier>
928
1139
  <docnumber>123</docnumber>
929
1140
  <date type='published'>
@@ -1036,7 +1247,7 @@ OUTPUT
1036
1247
  <uri type='xml'>https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8341.xml</uri>
1037
1248
  <uri type="src">https://www.rfc-editor.org/info/rfc8341</uri>
1038
1249
  <docidentifier type="IETF">RFC 8341</docidentifier>
1039
- <docidentifier type='metanorma'>[1]</docidentifier>
1250
+ <docidentifier type='metanorma'>[2]</docidentifier>
1040
1251
  <docidentifier type='rfc-anchor'>RFC8341</docidentifier>
1041
1252
  <docidentifier type="DOI">10.17487/RFC8341</docidentifier>
1042
1253
  <date type="published">
@@ -1123,7 +1334,7 @@ OUTPUT
1123
1334
  <formattedref format='application/x-isodoc+xml'>
1124
1335
  <em>Standard</em>
1125
1336
  </formattedref>
1126
- <docidentifier type='metanorma'>[1]</docidentifier>
1337
+ <docidentifier type='metanorma'>[2]</docidentifier>
1127
1338
  <docidentifier>XYZ 123:1066 (all parts)</docidentifier>
1128
1339
  <docnumber>123:1066 (all parts)</docnumber>
1129
1340
  </bibitem>
@@ -1198,7 +1409,7 @@ OUTPUT
1198
1409
  * [[[iso124,(1)ISO 123]]] _Standard_
1199
1410
  INPUT
1200
1411
  <?xml version="1.0" encoding="UTF-8"?>
1201
- <standard-document xmlns="https://www.metanorma.org/ns/standoc">
1412
+ <standard-document xmlns="https://www.metanorma.org/ns/standoc" type="semantic" version="#{Metanorma::Standoc::VERSION}">
1202
1413
  <bibdata type="standard">
1203
1414
  <title language="en" format="text/plain">Document title</title>
1204
1415
  <language>en</language>
@@ -1229,7 +1440,7 @@ OUTPUT
1229
1440
  </bibitem>
1230
1441
  <bibitem id='iso124' type='standard'>
1231
1442
  <title format='text/plain'>Standard</title>
1232
- <docidentifier type='metanorma'>[1]</docidentifier>
1443
+ <docidentifier type='metanorma'>[2]</docidentifier>
1233
1444
  <docidentifier type='ISO'>ISO 123</docidentifier>
1234
1445
  <docnumber>123</docnumber>
1235
1446
  <contributor>
@@ -1374,8 +1585,8 @@ OUTPUT
1374
1585
  <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
1375
1586
  <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex – Sampling</title>
1376
1587
  <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
1377
- <title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
1378
- <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc – Échantillonnage</title>
1588
+ <title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
1589
+ <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc – Échantillonnage</title>
1379
1590
  <uri type='src'>https://www.iso.org/standard/23281.html</uri>
1380
1591
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
1381
1592
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
@@ -1421,8 +1632,8 @@ OUTPUT
1421
1632
  <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
1422
1633
  <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex – Sampling</title>
1423
1634
  <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
1424
- <title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
1425
- <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc – Échantillonnage</title>
1635
+ <title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
1636
+ <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc – Échantillonnage</title>
1426
1637
  <uri type='src'>https://www.iso.org/standard/23281.html</uri>
1427
1638
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
1428
1639
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
@@ -1502,7 +1713,7 @@ OUTPUT
1502
1713
  end
1503
1714
 
1504
1715
  def mock_isobib_get_123_no_docid
1505
- expect(RelatonIso::IsoBibliography).to receive(:get).with("ISO 123", nil, {:title=>"<em>Standard</em>", usrlbl: nil}) do
1716
+ expect(RelatonIso::IsoBibliography).to receive(:get).with("ISO 123", nil, {:lang=>"en", :title=>"<em>Standard</em>", usrlbl: nil}) do
1506
1717
  RelatonBib::XMLParser.from_xml(<<~"OUTPUT")
1507
1718
  <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>
1508
1719
  OUTPUT
@@ -1510,7 +1721,7 @@ OUTPUT
1510
1721
  end
1511
1722
 
1512
1723
  def mock_isobib_get_123_no_docid_lbl
1513
- expect(RelatonIso::IsoBibliography).to receive(:get).with("ISO 123", nil, {:title=>"<em>Standard</em>", usrlbl: "(1)"}) do
1724
+ expect(RelatonIso::IsoBibliography).to receive(:get).with("ISO 123", nil, {:lang=>"en", :title=>"<em>Standard</em>", usrlbl: "(1)"}) do
1514
1725
  RelatonBib::XMLParser.from_xml(<<~"OUTPUT")
1515
1726
  <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>
1516
1727
  OUTPUT