metanorma-standoc 1.10.3 → 1.10.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/lib/asciidoctor/standoc/base.rb +15 -5
  3. data/lib/asciidoctor/standoc/blocks.rb +37 -31
  4. data/lib/asciidoctor/standoc/cleanup.rb +12 -69
  5. data/lib/asciidoctor/standoc/cleanup_block.rb +6 -3
  6. data/lib/asciidoctor/standoc/cleanup_maths.rb +113 -21
  7. data/lib/asciidoctor/standoc/cleanup_reqt.rb +60 -14
  8. data/lib/asciidoctor/standoc/cleanup_section.rb +1 -0
  9. data/lib/asciidoctor/standoc/cleanup_section_names.rb +31 -14
  10. data/lib/asciidoctor/standoc/cleanup_text.rb +70 -0
  11. data/lib/asciidoctor/standoc/converter.rb +2 -0
  12. data/lib/asciidoctor/standoc/isodoc.rng +29 -9
  13. data/lib/asciidoctor/standoc/lists.rb +9 -6
  14. data/lib/asciidoctor/standoc/reqt.rb +39 -27
  15. data/lib/asciidoctor/standoc/reqt.rng +15 -4
  16. data/lib/asciidoctor/standoc/table.rb +22 -20
  17. data/lib/asciidoctor/standoc/validate_section.rb +2 -1
  18. data/lib/isodoc/base.standard.xsl +6003 -0
  19. data/lib/isodoc/pdf_convert.rb +20 -0
  20. data/lib/metanorma/standoc/processor.rb +5 -1
  21. data/lib/metanorma/standoc/version.rb +1 -1
  22. data/lib/metanorma-standoc.rb +1 -0
  23. data/metanorma-standoc.gemspec +1 -1
  24. data/spec/asciidoctor/base_spec.rb +6 -0
  25. data/spec/asciidoctor/blocks_spec.rb +43 -23
  26. data/spec/asciidoctor/cleanup_sections_spec.rb +67 -1
  27. data/spec/asciidoctor/cleanup_spec.rb +148 -21
  28. data/spec/asciidoctor/isobib_cache_spec.rb +8 -8
  29. data/spec/asciidoctor/macros_spec.rb +114 -1
  30. data/spec/asciidoctor/refs_dl_spec.rb +1 -1
  31. data/spec/asciidoctor/refs_spec.rb +218 -442
  32. data/spec/asciidoctor/section_spec.rb +1 -1
  33. data/spec/asciidoctor/validate_spec.rb +4 -0
  34. data/spec/examples/datamodel/address_class_profile.adoc +1 -0
  35. data/spec/examples/datamodel/address_component_profile.adoc +1 -0
  36. data/spec/examples/datamodel/blank_definition_profile.adoc +1 -0
  37. data/spec/examples/datamodel/common_models_diagram.adoc +2 -1
  38. data/spec/examples/datamodel/top_down_diagram.adoc +2 -1
  39. data/spec/fixtures/datamodel_description_sections_tree.xml +326 -0
  40. data/spec/fixtures/test.xmi +9250 -0
  41. data/spec/metanorma/processor_spec.rb +50 -50
  42. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +231 -143
  43. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec1.yml +152 -0
  44. data/spec/vcr_cassettes/isobib_get_123.yml +51 -35
  45. data/spec/vcr_cassettes/isobib_get_123_1.yml +103 -71
  46. data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +112 -80
  47. data/spec/vcr_cassettes/isobib_get_123_2001.yml +51 -35
  48. data/spec/vcr_cassettes/isobib_get_124.yml +51 -35
  49. data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +14 -14
  50. data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +49 -47
  51. metadata +10 -4
@@ -88,14 +88,14 @@ ISO_124_DATED = <<~XML.freeze
88
88
  <ext>
89
89
  <doctype>international-standard</doctype>
90
90
  <editorialgroup>
91
- <technical-committee number="45" type="TC">ISO/TC 45/SC 3Raw materials (including latex) for use in the rubber industry</technical-committee>
91
+ <technical-committee number='45' type='TC' identifier='ISO/TC 45/SC 3'>Raw materials (including latex) for use in the rubber industry</technical-committee>
92
92
  </editorialgroup>
93
93
  <ics>
94
94
  <code>83.040.10</code>
95
95
  <text>Latex and raw rubber</text>
96
96
  </ics>
97
97
  <structuredidentifier type="ISO">
98
- <project-number>ISO 124</project-number>
98
+ <project-number part="">ISO 124</project-number>
99
99
  </structuredidentifier>
100
100
  </ext>
101
101
  </bibdata>
@@ -186,14 +186,14 @@ ISO_123_UNDATED = <<~XML.freeze
186
186
  <ext>
187
187
  <doctype>international-standard</doctype>
188
188
  <editorialgroup>
189
- <technical-committee number="45" type="TC">ISO/TC 45/SC 3Raw materials (including latex) for use in the rubber industry</technical-committee>
189
+ <technical-committee number='45' type='TC' identifier='ISO/TC 45/SC 3'>Raw materials (including latex) for use in the rubber industry</technical-committee>
190
190
  </editorialgroup>
191
191
  <ics>
192
192
  <code>83.040.10</code>
193
193
  <text>Latex and raw rubber</text>
194
194
  </ics>
195
195
  <structuredidentifier type="ISO">
196
- <project-number>ISO 123</project-number>
196
+ <project-number part="">ISO 123</project-number>
197
197
  </structuredidentifier>
198
198
  </ext>
199
199
  </bibdata>
@@ -227,9 +227,9 @@ ISO_123_DATED = <<~XML.freeze
227
227
  <script>Latn</script>
228
228
  <abstract format='text/plain' language='en' script='Latn'>
229
229
  This International Standard specifies procedures for sampling natural rubber
230
- latex concentrate and for sampling syntheticrubber latices and artificial
230
+ latex concentrate and for sampling synthetic rubber latices and artificial
231
231
  latices. It is also suitable for sampling rubber latex contained in drums,
232
- tank cars ortanks. The procedures may also be used for sampling plastics
232
+ tank cars or tanks. The procedures may also be used for sampling plastics
233
233
  dispersions.
234
234
  </abstract>
235
235
  <status>
@@ -253,14 +253,14 @@ ISO_123_DATED = <<~XML.freeze
253
253
  <ext>
254
254
  <doctype>international-standard</doctype>
255
255
  <editorialgroup>
256
- <technical-committee number="45" type="TC">ISO/TC 45/SC 3Raw materials (including latex) for use in the rubber industry</technical-committee>
256
+ <technical-committee number='45' type='TC' identifier='ISO/TC 45/SC 3'>Raw materials (including latex) for use in the rubber industry</technical-committee>
257
257
  </editorialgroup>
258
258
  <ics>
259
259
  <code>83.040.10</code>
260
260
  <text>Latex and raw rubber</text>
261
261
  </ics>
262
262
  <structuredidentifier type="ISO">
263
- <project-number>ISO 123</project-number>
263
+ <project-number part="">ISO 123</project-number>
264
264
  </structuredidentifier>
265
265
  </ext>
266
266
  </bibdata>
@@ -1147,6 +1147,9 @@ RSpec.describe Asciidoctor::Standoc do
1147
1147
  [[clause1Ab]]
1148
1148
  ==== Clause 1Ab
1149
1149
 
1150
+ [.variant-title,type=toc]
1151
+ 1Ab Clause
1152
+
1150
1153
  [[clause1B]]
1151
1154
  === Clause 1B
1152
1155
 
@@ -1173,6 +1176,7 @@ RSpec.describe Asciidoctor::Standoc do
1173
1176
  </clause>
1174
1177
  <clause id='clause1Ab' inline-header='false' obligation='normative'>
1175
1178
  <title>Clause 1Ab</title>
1179
+ <variant-title variant_title='true' type='toc'>1Ab Clause</variant-title>
1176
1180
  </clause>
1177
1181
  </clause>
1178
1182
  <clause id='clause1B' inline-header='false' obligation='normative'>
@@ -1196,7 +1200,7 @@ RSpec.describe Asciidoctor::Standoc do
1196
1200
  <xref target='clause1Aa'>Clause 1Aa</xref>
1197
1201
  </li>
1198
1202
  <li>
1199
- <xref target='clause1Ab'>Clause 1Ab</xref>
1203
+ <xref target='clause1Ab'>1Ab Clause</xref>
1200
1204
  </li>
1201
1205
  </ul>
1202
1206
  </li>
@@ -1541,4 +1545,113 @@ RSpec.describe Asciidoctor::Standoc do
1541
1545
  end
1542
1546
  end
1543
1547
  end
1548
+
1549
+ describe "lutaml_figure macro" do
1550
+ let(:example_file) { fixtures_path("test.xmi") }
1551
+ let(:input) do
1552
+ <<~TEXT
1553
+ = Document title
1554
+ Author
1555
+ :docfile: test.adoc
1556
+ :nodoc:
1557
+ :novalid:
1558
+ :no-isobib:
1559
+ :imagesdir: spec/assets
1560
+
1561
+ [lutaml_uml_datamodel_description,#{example_file}]
1562
+ --
1563
+ --
1564
+
1565
+ This is lutaml_figure::[package="Wrapper root package", name="Fig B1 Full model"] figure
1566
+ TEXT
1567
+ end
1568
+ let(:output) do
1569
+ '<xref target="figure-EAID_0E029ABF_C35A_49e3_9EEA_FFD4F32780A8">'
1570
+ end
1571
+
1572
+ it "correctly renders input" do
1573
+ expect(strip_src(xml_string_conent(metanorma_process(input))))
1574
+ .to(include(output))
1575
+ end
1576
+ end
1577
+
1578
+ describe "lutaml_uml_datamodel_description macro" do
1579
+ subject(:convert) do
1580
+ xmlpp(
1581
+ strip_guid(
1582
+ Asciidoctor.convert(
1583
+ input, *OPTIONS
1584
+ ),
1585
+ ),
1586
+ )
1587
+ end
1588
+
1589
+ let(:example_file) { fixtures_path("test.xmi") }
1590
+ let(:input) do
1591
+ <<~TEXT
1592
+ = Document title
1593
+ Author
1594
+ :docfile: test.adoc
1595
+ :nodoc:
1596
+ :novalid:
1597
+ :no-isobib:
1598
+ :imagesdir: spec/assets
1599
+
1600
+ [lutaml_uml_datamodel_description,#{example_file}]
1601
+ --
1602
+ [.diagram_include_block, base_path="requirements/"]
1603
+ ...
1604
+ Diagram text
1605
+ ...
1606
+
1607
+ [.include_block, package="Another", base_path="spec/fixtures/"]
1608
+ ...
1609
+ my text
1610
+ ...
1611
+
1612
+ [.include_block, base_path="spec/fixtures/"]
1613
+ ...
1614
+ my text
1615
+ ...
1616
+
1617
+ [.before]
1618
+ ...
1619
+ mine text
1620
+ ...
1621
+
1622
+ [.before, package="Another"]
1623
+ ...
1624
+ text before Another package
1625
+ ...
1626
+
1627
+ [.after, package="Another"]
1628
+ ...
1629
+ text after Another package
1630
+ ...
1631
+
1632
+ [.after, package="CityGML"]
1633
+ ...
1634
+ text after CityGML package
1635
+ ...
1636
+
1637
+ [.after]
1638
+ ...
1639
+ footer text
1640
+ ...
1641
+ --
1642
+ TEXT
1643
+ end
1644
+ let(:output) do
1645
+ <<~TEXT
1646
+ #{BLANK_HDR}
1647
+ #{File.read(fixtures_path('datamodel_description_sections_tree.xml'))}
1648
+ </standard-document>
1649
+ TEXT
1650
+ end
1651
+
1652
+ it "correctly renders input" do
1653
+ expect(convert)
1654
+ .to(be_equivalent_to(xmlpp(output)))
1655
+ end
1656
+ end
1544
1657
  end
@@ -821,7 +821,7 @@ OUTPUT
821
821
  <title>Subsection</title>
822
822
  </clause>
823
823
  <references id='_' obligation='informative' normative="true">
824
- <title>Normative references</title>
824
+ <title>Normative References</title>
825
825
  <bibitem id='A'>
826
826
  <formattedref format='application/x-isodoc+xml'>Title</formattedref>
827
827
  <docidentifier>B</docidentifier>
@@ -239,222 +239,110 @@ RSpec.describe Asciidoctor::Standoc do
239
239
  #{NORM_REF_BOILERPLATE}
240
240
  <bibitem id='iso123' type='standard'>
241
241
  <fetched>#{Date.today}</fetched>
242
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
243
- <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
244
- <title type='main' format='text/plain' language='en' script='Latn'>Rubber latexSampling</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-05</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-05</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
- <abstract format='text/plain' language='en' script='Latn'>
309
- This International Standard specifies procedures for sampling
310
- natural rubber latex concentrate and for sampling syntheticrubber
311
- latices and artificial latices. It is also suitable for sampling
312
- rubber latex contained in drums, tank cars ortanks. The procedures
313
- may also be used for sampling plastics dispersions.
314
- </abstract>
315
- <status>
316
- <stage>90</stage>
317
- <substage>93</substage>
318
- </status>
319
- <copyright>
320
- <from>2001</from>
321
- <owner>
322
- <organization>
323
- <name>ISO</name>
324
- </organization>
325
- </owner>
326
- </copyright>
327
- <relation type='obsoletes'>
328
- <bibitem type='standard'>
329
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
330
- </bibitem>
331
- </relation>
332
- <place>Geneva</place>
333
- </bibitem>
334
- </relation>
335
- <relation type='instance'>
336
- <bibitem type='standard'>
337
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
338
- </bibitem>
339
- </relation>
340
- <relation type='instance'>
341
- <bibitem type='standard'>
342
- <formattedref format='text/plain'>ISO 123:1974</formattedref>
343
- </bibitem>
344
- </relation>
345
- <place>Geneva</place>
346
- </bibitem>
347
- <bibitem id='iso124' type='standard'>
348
- <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
- <uri type='src'>https://www.iso.org/standard/23281.html</uri>
353
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
354
- <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
355
- <docidentifier type='ISO'>ISO 123 (all parts)</docidentifier>
356
- <docidentifier type='metanorma'>[1]</docidentifier>
357
- <docidentifier type='URN'>urn:iso:std:iso:123</docidentifier>
358
- <docnumber>123</docnumber>
359
- <date type='published'>
360
- <on>2001-05</on>
361
- </date>
362
- <contributor>
363
- <role type='publisher'/>
364
- <organization>
365
- <name>International Organization for Standardization</name>
366
- <abbreviation>ISO</abbreviation>
367
- <uri>www.iso.org</uri>
368
- </organization>
369
- </contributor>
370
- <edition>3</edition>
371
- <language>en</language>
372
- <script>Latn</script>
373
- <status>
374
- <stage>90</stage>
375
- <substage>93</substage>
376
- </status>
377
- <copyright>
378
- <from>2001</from>
379
- <owner>
380
- <organization>
381
- <name>ISO</name>
382
- </organization>
383
- </owner>
384
- </copyright>
385
- <relation type='obsoletes'>
386
- <bibitem type='standard'>
387
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
388
- </bibitem>
389
- </relation>
390
- <relation type='instance'>
391
- <bibitem type='standard'>
392
- <fetched>#{Date.today}</fetched>
393
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
394
- <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
395
- <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex — Sampling</title>
396
- <uri type='src'>https://www.iso.org/standard/23281.html</uri>
397
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
398
- <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
399
- <docidentifier type='ISO'>ISO 123:2001</docidentifier>
400
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en</docidentifier>
401
- <docnumber>123</docnumber>
402
- <date type='published'>
403
- <on>2001-05</on>
404
- </date>
405
- <contributor>
406
- <role type='publisher'/>
407
- <organization>
408
- <name>International Organization for Standardization</name>
409
- <abbreviation>ISO</abbreviation>
410
- <uri>www.iso.org</uri>
411
- </organization>
412
- </contributor>
413
- <edition>3</edition>
414
- <language>en</language>
415
- <script>Latn</script>
416
- <abstract format='text/plain' language='en' script='Latn'>
417
- This International Standard specifies procedures for sampling
418
- natural rubber latex concentrate and for sampling syntheticrubber
419
- latices and artificial latices. It is also suitable for sampling
420
- rubber latex contained in drums, tank cars ortanks. The procedures
421
- may also be used for sampling plastics dispersions.
422
- </abstract>
423
- <status>
424
- <stage>90</stage>
425
- <substage>93</substage>
426
- </status>
427
- <copyright>
428
- <from>2001</from>
429
- <owner>
430
- <organization>
431
- <name>ISO</name>
432
- </organization>
433
- </owner>
434
- </copyright>
435
- <relation type='obsoletes'>
436
- <bibitem type='standard'>
437
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
438
- </bibitem>
439
- </relation>
440
- <place>Geneva</place>
441
- </bibitem>
442
- </relation>
443
- <relation type='instance'>
444
- <bibitem type='standard'>
445
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
446
- </bibitem>
447
- </relation>
448
- <relation type='instance'>
449
- <bibitem type='standard'>
450
- <formattedref format='text/plain'>ISO 123:1974</formattedref>
451
- </bibitem>
452
- </relation>
453
- <place>Geneva</place>
454
- </bibitem>
455
- </references>
456
- </bibliography>
457
- </standard-document>
242
+ <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
243
+ <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
244
+ <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex&#8201;&#8212;&#8201;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:2001</docidentifier>
249
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en</docidentifier>
250
+ <docnumber>123</docnumber>
251
+ <date type='published'>
252
+ <on>2001-05</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
+ <abstract format='text/plain' language='en' script='Latn'>
266
+ This International Standard specifies procedures for sampling natural
267
+ rubber latex concentrate and for sampling synthetic rubber latices and
268
+ artificial latices. It is also suitable for sampling rubber latex
269
+ contained in drums, tank cars or tanks. The procedures may also be
270
+ used for sampling plastics dispersions.
271
+ </abstract>
272
+ <status>
273
+ <stage>90</stage>
274
+ <substage>93</substage>
275
+ </status>
276
+ <copyright>
277
+ <from>2001</from>
278
+ <owner>
279
+ <organization>
280
+ <name>ISO</name>
281
+ </organization>
282
+ </owner>
283
+ </copyright>
284
+ <relation type='obsoletes'>
285
+ <bibitem type='standard'>
286
+ <formattedref format='text/plain'>ISO 123:1985</formattedref>
287
+ </bibitem>
288
+ </relation>
289
+ <place>Geneva</place>
290
+ </bibitem>
291
+ <bibitem id='iso124' type='standard'>
292
+ <fetched>#{Date.today}</fetched>
293
+ <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
294
+ <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
295
+ <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex&#8201;&#8212;&#8201;Sampling</title>
296
+ <uri type='src'>https://www.iso.org/standard/23281.html</uri>
297
+ <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
298
+ <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
299
+ <docidentifier type='ISO'>ISO 123:2001</docidentifier>
300
+ <docidentifier type='metanorma'>[1]</docidentifier>
301
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en</docidentifier>
302
+ <docnumber>123</docnumber>
303
+ <date type='published'>
304
+ <on>2001-05</on>
305
+ </date>
306
+ <contributor>
307
+ <role type='publisher'/>
308
+ <organization>
309
+ <name>International Organization for Standardization</name>
310
+ <abbreviation>ISO</abbreviation>
311
+ <uri>www.iso.org</uri>
312
+ </organization>
313
+ </contributor>
314
+ <edition>3</edition>
315
+ <language>en</language>
316
+ <script>Latn</script>
317
+ <abstract format='text/plain' language='en' script='Latn'>
318
+ This International Standard specifies procedures for sampling natural
319
+ rubber latex concentrate and for sampling synthetic rubber latices and
320
+ artificial latices. It is also suitable for sampling rubber latex
321
+ contained in drums, tank cars or tanks. The procedures may also be
322
+ used for sampling plastics dispersions.
323
+ </abstract>
324
+ <status>
325
+ <stage>90</stage>
326
+ <substage>93</substage>
327
+ </status>
328
+ <copyright>
329
+ <from>2001</from>
330
+ <owner>
331
+ <organization>
332
+ <name>ISO</name>
333
+ </organization>
334
+ </owner>
335
+ </copyright>
336
+ <relation type='obsoletes'>
337
+ <bibitem type='standard'>
338
+ <formattedref format='text/plain'>ISO 123:1985</formattedref>
339
+ </bibitem>
340
+ </relation>
341
+ <place>Geneva</place>
342
+ </bibitem>
343
+ </references>
344
+ </bibliography>
345
+ </standard-document>
458
346
  OUTPUT
459
347
  end
460
348
  end
@@ -489,231 +377,119 @@ RSpec.describe Asciidoctor::Standoc do
489
377
  compris les éventuels amendements).
490
378
  </p>
491
379
  <bibitem id='iso123' type='standard'>
492
- <fetched>#{Date.today}</fetched>
493
- <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
494
- <title type='title-main' format='text/plain' language='fr' script='Latn'chantillonnage</title>
495
- <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc – Échantillonnage</title>
496
- <uri type='src'>https://www.iso.org/standard/23281.html</uri>
497
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
498
- <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
499
- <docidentifier type='ISO'>ISO 123 (all parts)</docidentifier>
500
- <docidentifier type='URN'>urn:iso:std:iso:123</docidentifier>
501
- <docnumber>123</docnumber>
502
- <date type='published'>
503
- <on>2001-05</on>
504
- </date>
505
- <contributor>
506
- <role type='publisher'/>
507
- <organization>
508
- <name>International Organization for Standardization</name>
509
- <abbreviation>ISO</abbreviation>
510
- <uri>www.iso.org</uri>
511
- </organization>
512
- </contributor>
513
- <edition>3</edition>
514
- <language>en</language>
515
- <language>fr</language>
516
- <script>Latn</script>
517
- <status>
518
- <stage>90</stage>
519
- <substage>93</substage>
520
- </status>
521
- <copyright>
522
- <from>2001</from>
523
- <owner>
524
- <organization>
525
- <name>ISO</name>
526
- </organization>
527
- </owner>
528
- </copyright>
529
- <relation type='obsoletes'>
530
- <bibitem type='standard'>
531
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
532
- </bibitem>
533
- </relation>
534
- <relation type='instance'>
535
- <bibitem type='standard'>
536
- <fetched>#{Date.today}</fetched>
537
- <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
538
- <title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
539
- <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc — Échantillonnage</title>
540
- <uri type='src'>https://www.iso.org/standard/23281.html</uri>
541
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
542
- <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
543
- <docidentifier type='ISO'>ISO 123:2001</docidentifier>
544
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:fr</docidentifier>
545
- <docnumber>123</docnumber>
546
- <date type='published'>
547
- <on>2001-05</on>
548
- </date>
549
- <contributor>
550
- <role type='publisher'/>
551
- <organization>
552
- <name>International Organization for Standardization</name>
553
- <abbreviation>ISO</abbreviation>
554
- <uri>www.iso.org</uri>
555
- </organization>
556
- </contributor>
557
- <edition>3</edition>
558
- <language>en</language>
559
- <language>fr</language>
560
- <script>Latn</script>
561
- <abstract format='text/plain' language='fr' script='Latn'>
562
- La présente Norme internationale spécifie des méthodes
563
- d’échantillonnage pour des concentrés de latex de
564
- caoutchoucnaturel et pour échantillonner des latex de caoutchouc
565
- synthétique et des latex artificiels. Elle s’applique égalementà
566
- l’échantillonnage de latex de caoutchouc contenus dans des fûts,
567
- citernes routières ou de stockage. Lemode opératoire peut aussi
568
- être utilisé pour l’échantillonnage de dispersions de plastiques.
569
- </abstract>
570
- <status>
571
- <stage>90</stage>
572
- <substage>93</substage>
573
- </status>
574
- <copyright>
575
- <from>2001</from>
576
- <owner>
577
- <organization>
578
- <name>ISO</name>
579
- </organization>
580
- </owner>
581
- </copyright>
582
- <relation type='obsoletes'>
583
- <bibitem type='standard'>
584
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
585
- </bibitem>
586
- </relation>
587
- <place>Geneva</place>
588
- </bibitem>
589
- </relation>
590
- <relation type='instance'>
591
- <bibitem type='standard'>
592
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
593
- </bibitem>
594
- </relation>
595
- <relation type='instance'>
596
- <bibitem type='standard'>
597
- <formattedref format='text/plain'>ISO 123:1974</formattedref>
598
- </bibitem>
599
- </relation>
600
- <place>Geneva</place>
601
- </bibitem>
602
- <bibitem id='iso124' type='standard'>
603
- <fetched>#{Date.today}</fetched>
604
- <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
605
- <title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
606
- <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc – Échantillonnage</title>
607
- <uri type='src'>https://www.iso.org/standard/23281.html</uri>
608
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
609
- <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
610
- <docidentifier type='ISO'>ISO 123 (all parts)</docidentifier>
611
- <docidentifier type='metanorma'>[1]</docidentifier>
612
- <docidentifier type='URN'>urn:iso:std:iso:123</docidentifier>
613
- <docnumber>123</docnumber>
614
- <date type='published'>
615
- <on>2001-05</on>
616
- </date>
617
- <contributor>
618
- <role type='publisher'/>
619
- <organization>
620
- <name>International Organization for Standardization</name>
621
- <abbreviation>ISO</abbreviation>
622
- <uri>www.iso.org</uri>
623
- </organization>
624
- </contributor>
625
- <edition>3</edition>
626
- <language>en</language>
627
- <language>fr</language>
628
- <script>Latn</script>
629
- <status>
630
- <stage>90</stage>
631
- <substage>93</substage>
632
- </status>
633
- <copyright>
634
- <from>2001</from>
635
- <owner>
636
- <organization>
637
- <name>ISO</name>
638
- </organization>
639
- </owner>
640
- </copyright>
641
- <relation type='obsoletes'>
642
- <bibitem type='standard'>
643
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
644
- </bibitem>
645
- </relation>
646
- <relation type='instance'>
647
- <bibitem type='standard'>
648
- <fetched>#{Date.today}</fetched>
649
- <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
650
- <title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
651
- <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc — Échantillonnage</title>
652
- <uri type='src'>https://www.iso.org/standard/23281.html</uri>
653
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
654
- <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
655
- <docidentifier type='ISO'>ISO 123:2001</docidentifier>
656
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:fr</docidentifier>
657
- <docnumber>123</docnumber>
658
- <date type='published'>
659
- <on>2001-05</on>
660
- </date>
661
- <contributor>
662
- <role type='publisher'/>
663
- <organization>
664
- <name>International Organization for Standardization</name>
665
- <abbreviation>ISO</abbreviation>
666
- <uri>www.iso.org</uri>
667
- </organization>
668
- </contributor>
669
- <edition>3</edition>
670
- <language>en</language>
671
- <language>fr</language>
672
- <script>Latn</script>
673
- <abstract format='text/plain' language='fr' script='Latn'>
674
- La présente Norme internationale spécifie des méthodes
675
- d’échantillonnage pour des concentrés de latex de
676
- caoutchoucnaturel et pour échantillonner des latex de caoutchouc
677
- synthétique et des latex artificiels. Elle s’applique égalementà
678
- l’échantillonnage de latex de caoutchouc contenus dans des fûts,
679
- citernes routières ou de stockage. Lemode opératoire peut aussi
680
- être utilisé pour l’échantillonnage de dispersions de plastiques.
681
- </abstract>
682
- <status>
683
- <stage>90</stage>
684
- <substage>93</substage>
685
- </status>
686
- <copyright>
687
- <from>2001</from>
688
- <owner>
689
- <organization>
690
- <name>ISO</name>
691
- </organization>
692
- </owner>
693
- </copyright>
694
- <relation type='obsoletes'>
695
- <bibitem type='standard'>
696
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
697
- </bibitem>
698
- </relation>
699
- <place>Geneva</place>
700
- </bibitem>
701
- </relation>
702
- <relation type='instance'>
703
- <bibitem type='standard'>
704
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
705
- </bibitem>
706
- </relation>
707
- <relation type='instance'>
708
- <bibitem type='standard'>
709
- <formattedref format='text/plain'>ISO 123:1974</formattedref>
710
- </bibitem>
711
- </relation>
712
- <place>Geneva</place>
713
- </bibitem>
714
- </references>
715
- </bibliography>
716
- </standard-document>
380
+ <fetched>#{Date.today}</fetched>
381
+ <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
382
+ <title type='title-main' format='text/plain' language='fr' script='Latn'>&#201;chantillonnage</title>
383
+ <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc&#8201;&#8212;&#8201;&#201;chantillonnage</title>
384
+ <uri type='src'>https://www.iso.org/standard/23281.html</uri>
385
+ <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
386
+ <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
387
+ <docidentifier type='ISO'>ISO 123:2001</docidentifier>
388
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:fr</docidentifier>
389
+ <docnumber>123</docnumber>
390
+ <date type='published'>
391
+ <on>2001-05</on>
392
+ </date>
393
+ <contributor>
394
+ <role type='publisher'/>
395
+ <organization>
396
+ <name>International Organization for Standardization</name>
397
+ <abbreviation>ISO</abbreviation>
398
+ <uri>www.iso.org</uri>
399
+ </organization>
400
+ </contributor>
401
+ <edition>3</edition>
402
+ <language>en</language>
403
+ <language>fr</language>
404
+ <script>Latn</script>
405
+ <abstract format='text/plain' language='fr' script='Latn'>
406
+ La pr&#233;sente Norme internationale sp&#233;cifie des m&#233;thodes
407
+ d&#8217;&#233;chantillonnage pour des concentr&#233;s de latex de
408
+ caoutchouc naturel et pour &#233;chantillonner des latex de caoutchouc
409
+ synth&#233;tique et des latex artificiels. Elle s&#8217;applique
410
+ &#233;galement &#224; l&#8217;&#233;chantillonnage de latex de
411
+ caoutchouc contenus dans des f&#251;ts, citernes routi&#232;res ou de
412
+ stockage. Le mode op&#233;ratoire peut aussi &#234;tre utilis&#233;
413
+ pour l&#8217;&#233;chantillonnage de dispersions de plastiques.
414
+ </abstract>
415
+ <status>
416
+ <stage>90</stage>
417
+ <substage>93</substage>
418
+ </status>
419
+ <copyright>
420
+ <from>2001</from>
421
+ <owner>
422
+ <organization>
423
+ <name>ISO</name>
424
+ </organization>
425
+ </owner>
426
+ </copyright>
427
+ <relation type='obsoletes'>
428
+ <bibitem type='standard'>
429
+ <formattedref format='text/plain'>ISO 123:1985</formattedref>
430
+ </bibitem>
431
+ </relation>
432
+ <place>Geneva</place>
433
+ </bibitem>
434
+ <bibitem id='iso124' type='standard'>
435
+ <fetched>#{Date.today}</fetched>
436
+ <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
437
+ <title type='title-main' format='text/plain' language='fr' script='Latn'>&#201;chantillonnage</title>
438
+ <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc&#8201;&#8212;&#8201;&#201;chantillonnage</title>
439
+ <uri type='src'>https://www.iso.org/standard/23281.html</uri>
440
+ <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
441
+ <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
442
+ <docidentifier type='ISO'>ISO 123:2001</docidentifier>
443
+ <docidentifier type='metanorma'>[1]</docidentifier>
444
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:fr</docidentifier>
445
+ <docnumber>123</docnumber>
446
+ <date type='published'>
447
+ <on>2001-05</on>
448
+ </date>
449
+ <contributor>
450
+ <role type='publisher'/>
451
+ <organization>
452
+ <name>International Organization for Standardization</name>
453
+ <abbreviation>ISO</abbreviation>
454
+ <uri>www.iso.org</uri>
455
+ </organization>
456
+ </contributor>
457
+ <edition>3</edition>
458
+ <language>en</language>
459
+ <language>fr</language>
460
+ <script>Latn</script>
461
+ <abstract format='text/plain' language='fr' script='Latn'>
462
+ La pr&#233;sente Norme internationale sp&#233;cifie des m&#233;thodes
463
+ d&#8217;&#233;chantillonnage pour des concentr&#233;s de latex de
464
+ caoutchouc naturel et pour &#233;chantillonner des latex de caoutchouc
465
+ synth&#233;tique et des latex artificiels. Elle s&#8217;applique
466
+ &#233;galement &#224; l&#8217;&#233;chantillonnage de latex de
467
+ caoutchouc contenus dans des f&#251;ts, citernes routi&#232;res ou de
468
+ stockage. Le mode op&#233;ratoire peut aussi &#234;tre utilis&#233;
469
+ pour l&#8217;&#233;chantillonnage de dispersions de plastiques.
470
+ </abstract>
471
+ <status>
472
+ <stage>90</stage>
473
+ <substage>93</substage>
474
+ </status>
475
+ <copyright>
476
+ <from>2001</from>
477
+ <owner>
478
+ <organization>
479
+ <name>ISO</name>
480
+ </organization>
481
+ </owner>
482
+ </copyright>
483
+ <relation type='obsoletes'>
484
+ <bibitem type='standard'>
485
+ <formattedref format='text/plain'>ISO 123:1985</formattedref>
486
+ </bibitem>
487
+ </relation>
488
+ <place>Geneva</place>
489
+ </bibitem>
490
+ </references>
491
+ </bibliography>
492
+ </standard-document>
717
493
  OUTPUT
718
494
  end
719
495
  end
@@ -975,7 +751,7 @@ RSpec.describe Asciidoctor::Standoc do
975
751
  end
976
752
 
977
753
  it "declines to fetch individual references" do
978
- VCR.use_cassette "dated_iso_ref_joint_iso_iec" do
754
+ VCR.use_cassette "dated_iso_ref_joint_iso_iec1" do
979
755
  expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", *OPTIONS)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
980
756
  #{ISOBIB_BLANK_HDR}
981
757
  [bibliography]