metanorma-iso 2.0.2 → 2.0.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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/lib/isodoc/iso/html/html_iso_titlepage.html +1 -1
  4. data/lib/isodoc/iso/html/isodoc.css +1 -2
  5. data/lib/isodoc/iso/html/isodoc.scss +0 -1
  6. data/lib/isodoc/iso/html/word_iso_titlepage.html +1 -1
  7. data/lib/isodoc/iso/html/wordstyle.css +20 -0
  8. data/lib/isodoc/iso/html/wordstyle.scss +20 -0
  9. data/lib/isodoc/iso/i18n-en.yaml +29 -2
  10. data/lib/isodoc/iso/i18n-fr.yaml +27 -3
  11. data/lib/isodoc/iso/i18n-ru.yaml +45 -0
  12. data/lib/isodoc/iso/i18n-zh-Hans.yaml +27 -3
  13. data/lib/isodoc/iso/i18n.rb +1 -0
  14. data/lib/isodoc/iso/init.rb +1 -2
  15. data/lib/isodoc/iso/iso.amendment.xsl +1752 -807
  16. data/lib/isodoc/iso/iso.international-standard.xsl +1752 -807
  17. data/lib/isodoc/iso/metadata.rb +12 -2
  18. data/lib/isodoc/iso/presentation_xml_convert.rb +58 -21
  19. data/lib/metanorma/iso/basicdoc.rng +5 -3
  20. data/lib/metanorma/iso/biblio.rng +5 -3
  21. data/lib/metanorma/iso/boilerplate-fr.xml +3 -3
  22. data/lib/metanorma/iso/boilerplate-ru.xml +39 -0
  23. data/lib/metanorma/iso/boilerplate.xml +3 -3
  24. data/lib/metanorma/iso/cleanup.rb +42 -11
  25. data/lib/metanorma/iso/front.rb +1 -1
  26. data/lib/metanorma/iso/front_id.rb +1 -0
  27. data/lib/metanorma/iso/isodoc.rng +73 -3
  28. data/lib/metanorma/iso/processor.rb +14 -7
  29. data/lib/metanorma/iso/validate.rb +30 -2
  30. data/lib/metanorma/iso/validate_image.rb +3 -3
  31. data/lib/metanorma/iso/validate_list.rb +107 -0
  32. data/lib/metanorma/iso/validate_section.rb +42 -34
  33. data/lib/metanorma/iso/validate_style.rb +32 -2
  34. data/lib/metanorma/iso/validate_title.rb +13 -1
  35. data/lib/metanorma/iso/version.rb +1 -1
  36. data/spec/isodoc/amd_spec.rb +10 -5
  37. data/spec/isodoc/i18n_spec.rb +350 -9
  38. data/spec/isodoc/inline_spec.rb +127 -10
  39. data/spec/isodoc/metadata_spec.rb +153 -3
  40. data/spec/isodoc/postproc_spec.rb +3 -4
  41. data/spec/isodoc/section_spec.rb +1 -0
  42. data/spec/isodoc/terms_spec.rb +4 -4
  43. data/spec/isodoc/xref_spec.rb +18 -18
  44. data/spec/metanorma/base_spec.rb +434 -375
  45. data/spec/metanorma/cleanup_spec.rb +11 -11
  46. data/spec/metanorma/refs_spec.rb +333 -65
  47. data/spec/metanorma/section_spec.rb +15 -20
  48. data/spec/metanorma/validate_spec.rb +449 -14
  49. data/spec/spec_helper.rb +6 -4
  50. data/spec/vcr_cassettes/docrels.yml +211 -16
  51. data/spec/vcr_cassettes/withdrawn_iso.yml +301 -0
  52. metadata +6 -3
  53. data/spec/vcr_cassettes/sortrefs.yml +0 -599
@@ -137,7 +137,7 @@ RSpec.describe Metanorma::ISO do
137
137
  <terms id="_" obligation="normative">
138
138
  <title>Terms and definitions</title>
139
139
  #{TERM_BOILERPLATE}
140
- <term id="term-_-t90-">
140
+ <term id="term-t90">
141
141
  <preferred>
142
142
  <letter-symbol><name>
143
143
  <stem type="MathML">
@@ -1247,13 +1247,13 @@ RSpec.describe Metanorma::ISO do
1247
1247
  <li>
1248
1248
  <p id='_'>
1249
1249
  ISO Online browsing platform: available at
1250
- <link target='http://www.iso.org/obp'/>
1250
+ <link target='http://www.iso.org/obp'/>.
1251
1251
  </p>
1252
1252
  </li>
1253
1253
  <li>
1254
1254
  <p id='_'>
1255
1255
  IEC Electropedia: available at
1256
- <link target='http://www.electropedia.org'/>
1256
+ <link target='http://www.electropedia.org'/>.
1257
1257
  </p>
1258
1258
  </li>
1259
1259
  </ul>
@@ -1296,13 +1296,13 @@ RSpec.describe Metanorma::ISO do
1296
1296
  <li>
1297
1297
  <p id='_'>
1298
1298
  ISO Online browsing platform: available at
1299
- <link target='http://www.iso.org/obp'/>
1299
+ <link target='http://www.iso.org/obp'/>.
1300
1300
  </p>
1301
1301
  </li>
1302
1302
  <li>
1303
1303
  <p id='_'>
1304
1304
  IEC Electropedia: available at
1305
- <link target='http://www.electropedia.org'/>
1305
+ <link target='http://www.electropedia.org'/>.
1306
1306
  </p>
1307
1307
  </li>
1308
1308
  </ul>
@@ -1360,13 +1360,13 @@ RSpec.describe Metanorma::ISO do
1360
1360
  <li>
1361
1361
  <p id='_'>
1362
1362
  ISO Online browsing platform: available at
1363
- <link target='http://www.iso.org/obp'/>
1363
+ <link target='http://www.iso.org/obp'/>.
1364
1364
  </p>
1365
1365
  </li>
1366
1366
  <li>
1367
1367
  <p id='_'>
1368
1368
  IEC Electropedia: available at
1369
- <link target='http://www.electropedia.org'/>
1369
+ <link target='http://www.electropedia.org'/>.
1370
1370
  </p>
1371
1371
  </li>
1372
1372
  </ul>
@@ -1427,13 +1427,13 @@ RSpec.describe Metanorma::ISO do
1427
1427
  <li>
1428
1428
  <p id='_'>
1429
1429
  ISO Online browsing platform: available at
1430
- <link target='http://www.iso.org/obp'/>
1430
+ <link target='http://www.iso.org/obp'/>.
1431
1431
  </p>
1432
1432
  </li>
1433
1433
  <li>
1434
1434
  <p id='_'>
1435
1435
  IEC Electropedia: available at
1436
- <link target='http://www.electropedia.org'/>
1436
+ <link target='http://www.electropedia.org'/>.
1437
1437
  </p>
1438
1438
  </li>
1439
1439
  </ul>
@@ -1485,13 +1485,13 @@ RSpec.describe Metanorma::ISO do
1485
1485
  <li>
1486
1486
  <p id='_'>
1487
1487
  ISO Online browsing platform: available at
1488
- <link target='http://www.iso.org/obp'/>
1488
+ <link target='http://www.iso.org/obp'/>.
1489
1489
  </p>
1490
1490
  </li>
1491
1491
  <li>
1492
1492
  <p id='_'>
1493
1493
  IEC Electropedia: available at
1494
- <link target='http://www.electropedia.org'/>
1494
+ <link target='http://www.electropedia.org'/>.
1495
1495
  </p>
1496
1496
  </li>
1497
1497
  </ul>
@@ -138,9 +138,6 @@ RSpec.describe Metanorma::ISO do
138
138
  </organization>
139
139
  </contributor>
140
140
  <edition>1</edition>
141
- <note type="Unpublished-Status">
142
- <p id="_">Under preparation. (Stage at the time of publication ISO/FDIS 17664-1).</p>
143
- </note>
144
141
  <language>en</language>
145
142
  <language>fr</language>
146
143
  <script>Latn</script>
@@ -290,70 +287,344 @@ RSpec.describe Metanorma::ISO do
290
287
  end
291
288
 
292
289
  it "sort ISO references in Bibliography" do
293
- VCR.use_cassette "sortrefs" do
290
+ input = <<~INPUT
291
+ #{ASCIIDOC_BLANK_HDR}
292
+ [bibliography]
293
+ == Bibliography
294
+
295
+ * [[[iso1,ISO 8000-110]]]
296
+ * [[[iso2,ISO 8000-61]]]
297
+ * [[[iso3,ISO 8000-8]]]
298
+ * [[[iso4,ISO 9]]]
299
+ INPUT
300
+ output = <<~OUTPUT
301
+ #{BLANK_HDR}
302
+ <sections> </sections>
303
+ <bibliography>
304
+ <references id='_' normative='false' obligation='informative'>
305
+ <title>Bibliography</title>
306
+ <bibitem id='iso4' type='standard'>
307
+ <docidentifier>ISO 9</docidentifier>
308
+ <docnumber>9</docnumber>
309
+ <contributor>
310
+ <role type='publisher'/>
311
+ <organization>
312
+ <name>International Organization for Standardization</name>
313
+ <abbreviation>ISO</abbreviation>
314
+ </organization>
315
+ </contributor>
316
+ </bibitem>
317
+ <bibitem id='iso3' type='standard'>
318
+ <docidentifier>ISO 8000-8</docidentifier>
319
+ <docnumber>8000-8</docnumber>
320
+ <contributor>
321
+ <role type='publisher'/>
322
+ <organization>
323
+ <name>International Organization for Standardization</name>
324
+ <abbreviation>ISO</abbreviation>
325
+ </organization>
326
+ </contributor>
327
+ </bibitem>
328
+ <bibitem id='iso2' type='standard'>
329
+ <docidentifier>ISO 8000-61</docidentifier>
330
+ <docnumber>8000-61</docnumber>
331
+ <contributor>
332
+ <role type='publisher'/>
333
+ <organization>
334
+ <name>International Organization for Standardization</name>
335
+ <abbreviation>ISO</abbreviation>
336
+ </organization>
337
+ </contributor>
338
+ </bibitem>
339
+ <bibitem id='iso1' type='standard'>
340
+ <docidentifier>ISO 8000-110</docidentifier>
341
+ <docnumber>8000-110</docnumber>
342
+ <contributor>
343
+ <role type='publisher'/>
344
+ <organization>
345
+ <name>International Organization for Standardization</name>
346
+ <abbreviation>ISO</abbreviation>
347
+ </organization>
348
+ </contributor>
349
+ </bibitem>
350
+ </references>
351
+ </bibliography>
352
+ </iso-standard>
353
+ OUTPUT
354
+ expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
355
+ .to be_equivalent_to xmlpp(output)
356
+ end
357
+
358
+ it "renders withdrawn and cancelled ISO references" do
359
+ VCR.use_cassette "withdrawn_iso" do
294
360
  input = <<~INPUT
295
- #{ASCIIDOC_BLANK_HDR}
361
+ #{ISOBIB_BLANK_HDR}
362
+
363
+ <<iso1,clause=1>>
364
+ <<iso2,clause=1>>
365
+
296
366
  [bibliography]
297
367
  == Bibliography
298
368
 
299
- * [[[iso1,ISO 8000-110]]]
300
- * [[[iso2,ISO 8000-61]]]
301
- * [[[iso3,ISO 8000-8]]]
302
- * [[[iso4,ISO 9]]]
369
+ * [[[iso1,ISO 683-3:2019]]]
370
+ * [[[iso2,ISO/IEC 27005]]]
303
371
  INPUT
304
372
  output = <<~OUTPUT
305
- #{BLANK_HDR}
306
- <sections> </sections>
307
- <bibliography>
308
- <references id='_' normative='false' obligation='informative'>
309
- <title>Bibliography</title>
310
- <bibitem id='iso4' type='standard'>
311
- <docidentifier>ISO 9</docidentifier>
312
- <docnumber>9</docnumber>
313
- <contributor>
314
- <role type='publisher'/>
315
- <organization>
316
- <name>International Organization for Standardization</name>
317
- <abbreviation>ISO</abbreviation>
318
- </organization>
319
- </contributor>
320
- </bibitem>
321
- <bibitem id='iso3' type='standard'>
322
- <docidentifier>ISO 8000-8</docidentifier>
323
- <docnumber>8000-8</docnumber>
324
- <contributor>
325
- <role type='publisher'/>
326
- <organization>
327
- <name>International Organization for Standardization</name>
328
- <abbreviation>ISO</abbreviation>
329
- </organization>
330
- </contributor>
331
- </bibitem>
332
- <bibitem id='iso2' type='standard'>
333
- <docidentifier>ISO 8000-61</docidentifier>
334
- <docnumber>8000-61</docnumber>
335
- <contributor>
336
- <role type='publisher'/>
337
- <organization>
338
- <name>International Organization for Standardization</name>
339
- <abbreviation>ISO</abbreviation>
340
- </organization>
341
- </contributor>
342
- </bibitem>
343
- <bibitem id='iso1' type='standard'>
344
- <docidentifier>ISO 8000-110</docidentifier>
345
- <docnumber>8000-110</docnumber>
346
- <contributor>
347
- <role type='publisher'/>
348
- <organization>
349
- <name>International Organization for Standardization</name>
350
- <abbreviation>ISO</abbreviation>
351
- </organization>
352
- </contributor>
353
- </bibitem>
354
- </references>
355
- </bibliography>
356
- </iso-standard>
373
+ #{BLANK_HDR}
374
+ <preface>
375
+ <foreword id='_' obligation='informative'>
376
+ <title>Foreword</title>
377
+ <p id='_'>
378
+ <eref type='inline' bibitemid='iso1' citeas='ISO 683-3:2019'>
379
+ <localityStack>
380
+ <locality type='clause'>
381
+ <referenceFrom>1</referenceFrom>
382
+ </locality>
383
+ </localityStack>
384
+ </eref>
385
+ <fn reference='1'>
386
+ <p id='_'>Cancelled and replaced by ISO 683-3:2022.</p>
387
+ </fn>
388
+ <eref type='inline' bibitemid='iso2' citeas='ISO/IEC 27005'>
389
+ <localityStack>
390
+ <locality type='clause'>
391
+ <referenceFrom>1</referenceFrom>
392
+ </locality>
393
+ </localityStack>
394
+ </eref>
395
+ <fn reference='2'>
396
+ <p id='_'>Withdrawn.</p>
397
+ </fn>
398
+ </p>
399
+ </foreword>
400
+ </preface>
401
+ <sections> </sections>
402
+ <bibliography>
403
+ <references id='_' normative='false' obligation='informative'>
404
+ <title>Bibliography</title>
405
+ <bibitem id='iso1' type='standard'>
406
+ <fetched/>
407
+ <title type='title-main' format='text/plain' language='en' script='Latn'>Heat-treatable steels, alloy steels and free-cutting steels</title>
408
+ <title type='title-part' format='text/plain' language='en' script='Latn'>Part 3: Case-hardening steels</title>
409
+ <title type='main' format='text/plain' language='en' script='Latn'>
410
+ Heat-treatable steels, alloy steels and free-cutting steels — Part 3:
411
+ Case-hardening steels
412
+ </title>
413
+ <uri type='src'>https://www.iso.org/standard/76389.html</uri>
414
+ <uri type='rss'>https://www.iso.org/contents/data/standard/07/63/76389.detail.rss</uri>
415
+ <docidentifier type='ISO' primary='true'>ISO 683-3:2019</docidentifier>
416
+ <docidentifier type='URN'>urn:iso:std:iso:683:-3:stage-95.99:ed-3:en</docidentifier>
417
+ <docnumber>683</docnumber>
418
+ <date type='published'>
419
+ <on>2019-01</on>
420
+ </date>
421
+ <contributor>
422
+ <role type='publisher'/>
423
+ <organization>
424
+ <name>International Organization for Standardization</name>
425
+ <abbreviation>ISO</abbreviation>
426
+ <uri>www.iso.org</uri>
427
+ </organization>
428
+ </contributor>
429
+ <edition>3</edition>
430
+ <note type='Unpublished-Status'>
431
+ <p id='_'>Cancelled and replaced by ISO 683-3:2022.</p>
432
+ </note>
433
+ <language>en</language>
434
+ <script>Latn</script>
435
+ <abstract format='text/plain' language='en' script='Latn'>
436
+ This document specifies the technical delivery requirements for —
437
+ semi-finished products, hot formed, e.g. blooms, billets, slabs (see
438
+ NOTE 1), — bars (see NOTE 1), — wire rod, — finished flat products,
439
+ and — hammer or drop forgings (see NOTE 1) manufactured from the
440
+ case-hardening non-alloy or alloy steels listed in Table 3 and
441
+ supplied in one of the heat-treatment conditions given for the
442
+ different types of products in Table 1 and in one of the surface
443
+ conditions given in Table 2. The steels are, in general, intended for
444
+ the manufacture of case-hardened machine parts. NOTE 1 Hammer-forged
445
+ semi-finished products (blooms, billets, slabs, etc.), seamless rolled
446
+ rings and hammer-forged bars are covered under semi-finished products
447
+ or bars and not under the term “hammer and drop forgings”. NOTE 2 For
448
+ International Standards relating to steels complying with the
449
+ requirements for the chemical composition in Table 3, however,
450
+ supplied in other product forms or treatment conditions than given
451
+ above or intended for special applications, and for other related
452
+ International Standards, see the Bibliography. In special cases,
453
+ variations in these technical delivery requirements or additions to
454
+ them can form the subject of an agreement at the time of enquiry and
455
+ order (see 5.2 and Annex A). In addition to this document, the general
456
+ technical delivery requirements of ISO 404 are applicable.
457
+ </abstract>
458
+ <status>
459
+ <stage>95</stage>
460
+ <substage>99</substage>
461
+ </status>
462
+ <copyright>
463
+ <from>2019</from>
464
+ <owner>
465
+ <organization>
466
+ <name>ISO</name>
467
+ </organization>
468
+ </owner>
469
+ </copyright>
470
+ <relation type='obsoletes'>
471
+ <bibitem type='standard'>
472
+ <formattedref format='text/plain'>ISO 683-3:2016</formattedref>
473
+ </bibitem>
474
+ </relation>
475
+ <relation type='updates'>
476
+ <bibitem type='standard'>
477
+ <formattedref format='text/plain'>ISO 683-3:2022</formattedref>
478
+ <date type='circulated'>
479
+ <on>2022-01-21</on>
480
+ </date>
481
+ </bibitem>
482
+ </relation>
483
+ <place>Geneva</place>
484
+ </bibitem>
485
+ <bibitem id='iso2' type='standard'>
486
+ <fetched/>
487
+ <title type='title-intro' format='text/plain' language='en' script='Latn'>Information technology</title>
488
+ <title type='title-main' format='text/plain' language='en' script='Latn'>Security techniques</title>
489
+ <title type='title-part' format='text/plain' language='en' script='Latn'>Information security risk management</title>
490
+ <title type='main' format='text/plain' language='en' script='Latn'>
491
+ Information technology — Security techniques — Information security
492
+ risk management
493
+ </title>
494
+ <uri type='src'>https://www.iso.org/standard/75281.html</uri>
495
+ <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:75281:en</uri>
496
+ <uri type='rss'>https://www.iso.org/contents/data/standard/07/52/75281.detail.rss</uri>
497
+ <docidentifier type='ISO' primary='true'>ISO/IEC 27005</docidentifier>
498
+ <docidentifier type='URN'>urn:iso:std:iso-iec:27005:stage-90.92:ed-3:en</docidentifier>
499
+ <docnumber>27005</docnumber>
500
+ <contributor>
501
+ <role type='publisher'/>
502
+ <organization>
503
+ <name>International Organization for Standardization</name>
504
+ <abbreviation>ISO</abbreviation>
505
+ <uri>www.iso.org</uri>
506
+ </organization>
507
+ </contributor>
508
+ <contributor>
509
+ <role type='publisher'/>
510
+ <organization>
511
+ <name>International Electrotechnical Commission</name>
512
+ <abbreviation>IEC</abbreviation>
513
+ <uri>www.iec.ch</uri>
514
+ </organization>
515
+ </contributor>
516
+ <edition>3</edition>
517
+ <note type='Unpublished-Status'>
518
+ <p id='_'>Withdrawn.</p>
519
+ </note>
520
+ <language>en</language>
521
+ <script>Latn</script>
522
+ <status>
523
+ <stage>90</stage>
524
+ <substage>92</substage>
525
+ </status>
526
+ <copyright>
527
+ <from>2018</from>
528
+ <owner>
529
+ <organization>
530
+ <name>ISO/IEC</name>
531
+ </organization>
532
+ </owner>
533
+ </copyright>
534
+ <relation type='obsoletes'>
535
+ <bibitem type='standard'>
536
+ <formattedref format='text/plain'>ISO/IEC 27005:2011</formattedref>
537
+ </bibitem>
538
+ </relation>
539
+ <relation type='obsoletes'>
540
+ <bibitem type='standard'>
541
+ <formattedref format='text/plain'>ISO/IEC DIS 27005</formattedref>
542
+ </bibitem>
543
+ </relation>
544
+ <relation type='instance'>
545
+ <bibitem type='standard'>
546
+ <fetched/>
547
+ <title type='title-intro' format='text/plain' language='en' script='Latn'>Information technology</title>
548
+ <title type='title-main' format='text/plain' language='en' script='Latn'>Security techniques</title>
549
+ <title type='title-part' format='text/plain' language='en' script='Latn'>Information security risk management</title>
550
+ <title type='main' format='text/plain' language='en' script='Latn'>
551
+ Information technology — Security techniques — Information
552
+ security risk management
553
+ </title>
554
+ <uri type='src'>https://www.iso.org/standard/75281.html</uri>
555
+ <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:75281:en</uri>
556
+ <uri type='rss'>https://www.iso.org/contents/data/standard/07/52/75281.detail.rss</uri>
557
+ <docidentifier type='ISO' primary='true'>ISO/IEC 27005:2018</docidentifier>
558
+ <docidentifier type='URN'>urn:iso:std:iso-iec:27005:stage-90.92:ed-3:en</docidentifier>
559
+ <docnumber>27005</docnumber>
560
+ <date type='published'>
561
+ <on>2018-07</on>
562
+ </date>
563
+ <contributor>
564
+ <role type='publisher'/>
565
+ <organization>
566
+ <name>International Organization for Standardization</name>
567
+ <abbreviation>ISO</abbreviation>
568
+ <uri>www.iso.org</uri>
569
+ </organization>
570
+ </contributor>
571
+ <contributor>
572
+ <role type='publisher'/>
573
+ <organization>
574
+ <name>International Electrotechnical Commission</name>
575
+ <abbreviation>IEC</abbreviation>
576
+ <uri>www.iec.ch</uri>
577
+ </organization>
578
+ </contributor>
579
+ <edition>3</edition>
580
+ <note type='Unpublished-Status'>
581
+ <p id='_'>Withdrawn.</p>
582
+ </note>
583
+ <language>en</language>
584
+ <script>Latn</script>
585
+ <abstract format='text/plain' language='en' script='Latn'>
586
+ This document provides guidelines for information security risk
587
+ management. This document supports the general concepts specified
588
+ in ISO/IEC 27001 and is designed to assist the satisfactory
589
+ implementation of information security based on a risk management
590
+ approach. Knowledge of the concepts, models, processes and
591
+ terminologies described in ISO/IEC 27001 and ISO/IEC 27002 is
592
+ important for a complete understanding of this document. This
593
+ document is applicable to all types of organizations (e.g.
594
+ commercial enterprises, government agencies, non-profit
595
+ organizations) which intend to manage risks that can compromise
596
+ the organization’s information security.
597
+ </abstract>
598
+ <status>
599
+ <stage>90</stage>
600
+ <substage>92</substage>
601
+ </status>
602
+ <copyright>
603
+ <from>2018</from>
604
+ <owner>
605
+ <organization>
606
+ <name>ISO/IEC</name>
607
+ </organization>
608
+ </owner>
609
+ </copyright>
610
+ <relation type='obsoletes'>
611
+ <bibitem type='standard'>
612
+ <formattedref format='text/plain'>ISO/IEC 27005:2011</formattedref>
613
+ </bibitem>
614
+ </relation>
615
+ <relation type='obsoletes'>
616
+ <bibitem type='standard'>
617
+ <formattedref format='text/plain'>ISO/IEC DIS 27005</formattedref>
618
+ </bibitem>
619
+ </relation>
620
+ <place>Geneva</place>
621
+ </bibitem>
622
+ </relation>
623
+ <place>Geneva</place>
624
+ </bibitem>
625
+ </references>
626
+ </bibliography>
627
+ </iso-standard>
357
628
  OUTPUT
358
629
  expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
359
630
  .to be_equivalent_to xmlpp(output)
@@ -364,10 +635,7 @@ RSpec.describe Metanorma::ISO do
364
635
 
365
636
  def mock_fdis
366
637
  expect(RelatonIso::IsoBibliography).to receive(:get)
367
- .with("ISO/FDIS 17664-1", nil, code: "ISO/FDIS 17664-1",
368
- lang: "en", match: anything, ord: anything,
369
- process: 1, year: nil,
370
- title: "Title", usrlbl: nil) do
638
+ .with("ISO/FDIS 17664-1", nil, anything) do
371
639
  RelatonIsoBib::XMLParser.from_xml(<<~"OUTPUT")
372
640
  <bibitem id="x" type="standard">
373
641
  <fetched>#{Date.today}</fetched>
@@ -85,13 +85,11 @@ RSpec.describe Metanorma::ISO do
85
85
  <ul id="_">
86
86
  <li>
87
87
  <p id="_">ISO Online browsing platform: available at
88
-
89
- <link target="http://www.iso.org/obp"/></p>
88
+ <link target="http://www.iso.org/obp"/>.</p>
90
89
  </li>
91
90
  <li>
92
91
  <p id="_">IEC Electropedia: available at
93
-
94
- <link target="http://www.electropedia.org"/></p>
92
+ <link target="http://www.electropedia.org"/>.</p>
95
93
  </li>
96
94
  </ul>
97
95
  <term id="term-term1">
@@ -282,13 +280,11 @@ RSpec.describe Metanorma::ISO do
282
280
  <ul id="_">
283
281
  <li>
284
282
  <p id="_">ISO Online browsing platform: available at
285
-
286
- <link target="http://www.iso.org/obp"/></p>
283
+ <link target="http://www.iso.org/obp"/>.</p>
287
284
  </li>
288
285
  <li>
289
286
  <p id="_">IEC Electropedia: available at
290
-
291
- <link target="http://www.electropedia.org"/></p>
287
+ <link target="http://www.electropedia.org"/>.</p>
292
288
  </li>
293
289
  </ul>
294
290
  <term id="term-term1">
@@ -332,13 +328,13 @@ RSpec.describe Metanorma::ISO do
332
328
  <li>
333
329
  <p id='_'>
334
330
  ISO Online browsing platform: available at
335
- <link target='http://www.iso.org/obp'/>
331
+ <link target='http://www.iso.org/obp'/>.
336
332
  </p>
337
333
  </li>
338
334
  <li>
339
335
  <p id='_'>
340
336
  IEC Electropedia: available at
341
- <link target='http://www.electropedia.org'/>
337
+ <link target='http://www.electropedia.org'/>.
342
338
  </p>
343
339
  </li>
344
340
  </ul>
@@ -381,13 +377,11 @@ RSpec.describe Metanorma::ISO do
381
377
  <ul id="_">
382
378
  <li>
383
379
  <p id="_">ISO Online browsing platform: available at
384
-
385
- <link target="http://www.iso.org/obp"/></p>
380
+ <link target="http://www.iso.org/obp"/>.</p>
386
381
  </li>
387
382
  <li>
388
383
  <p id="_">IEC Electropedia: available at
389
-
390
- <link target="http://www.electropedia.org"/></p>
384
+ <link target="http://www.electropedia.org"/>.</p>
391
385
  </li>
392
386
  </ul>
393
387
  </terms>
@@ -424,13 +418,13 @@ RSpec.describe Metanorma::ISO do
424
418
  <li>
425
419
  <p id='_'>
426
420
  ISO Online browsing platform: available at
427
- <link target='http://www.iso.org/obp'/>
421
+ <link target='http://www.iso.org/obp'/>.
428
422
  </p>
429
423
  </li>
430
424
  <li>
431
425
  <p id='_'>
432
426
  IEC Electropedia: available at
433
- <link target='http://www.electropedia.org'/>
427
+ <link target='http://www.electropedia.org'/>.
434
428
  </p>
435
429
  </li>
436
430
  </ul>
@@ -461,10 +455,11 @@ RSpec.describe Metanorma::ISO do
461
455
 
462
456
  INPUT
463
457
  output = <<~OUTPUT
464
- #{BLANK_HDR.sub(%r{<doctype>article</doctype>}, "<doctype>article</doctype><subdoctype>vocabulary</subdoctype>")}
458
+ #{BLANK_HDR.sub(%r{<doctype>article</doctype>},
459
+ '<doctype>article</doctype><subdoctype>vocabulary</subdoctype>')}
465
460
  <sections>
466
461
  <terms id='_' obligation='normative'>
467
- <title>Terms and definitions</title>
462
+ <title>Terms and Definitions</title>
468
463
  <p id='_'>No terms and definitions are listed in this document.</p>
469
464
  <p id='_'>
470
465
  ISO and IEC maintain terminological databases for use in standardization
@@ -474,13 +469,13 @@ RSpec.describe Metanorma::ISO do
474
469
  <li>
475
470
  <p id='_'>
476
471
  ISO Online browsing platform: available at
477
- <link target='http://www.iso.org/obp'/>
472
+ <link target='http://www.iso.org/obp'/>.
478
473
  </p>
479
474
  </li>
480
475
  <li>
481
476
  <p id='_'>
482
477
  IEC Electropedia: available at
483
- <link target='http://www.electropedia.org'/>
478
+ <link target='http://www.electropedia.org'/>.
484
479
  </p>
485
480
  </li>
486
481
  </ul>