metanorma-iso 2.0.4 → 2.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -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)
@@ -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>