metanorma-standoc 1.6.0 → 1.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/lib/asciidoctor/standoc/cleanup_footnotes.rb +11 -0
  3. data/lib/asciidoctor/standoc/cleanup_ref.rb +1 -1
  4. data/lib/asciidoctor/standoc/converter.rb +2 -2
  5. data/lib/asciidoctor/standoc/front.rb +3 -3
  6. data/lib/asciidoctor/standoc/front_contributor.rb +34 -10
  7. data/lib/asciidoctor/standoc/isodoc.rng +0 -1
  8. data/lib/asciidoctor/standoc/macros.rb +1 -2
  9. data/lib/asciidoctor/standoc/ref.rb +9 -15
  10. data/lib/asciidoctor/standoc/ref_sect.rb +12 -5
  11. data/lib/asciidoctor/standoc/section.rb +5 -9
  12. data/lib/liquid/custom_blocks/with_json_nested_context.rb +18 -0
  13. data/lib/liquid/custom_blocks/with_yaml_nested_context.rb +19 -0
  14. data/lib/metanorma/standoc/version.rb +1 -1
  15. data/metanorma-standoc.gemspec +2 -1
  16. data/spec/asciidoctor-standoc/base_spec.rb +123 -8
  17. data/spec/asciidoctor-standoc/cleanup_spec.rb +37 -0
  18. data/spec/asciidoctor-standoc/isobib_cache_spec.rb +6 -22
  19. data/spec/asciidoctor-standoc/macros_json2text_spec.rb +1 -1
  20. data/spec/asciidoctor-standoc/macros_yaml2text_spec.rb +1 -1
  21. data/spec/asciidoctor-standoc/refs_dl_spec.rb +2 -2
  22. data/spec/asciidoctor-standoc/refs_spec.rb +248 -46
  23. data/spec/support/shared_examples/structured_data_2_text_preprocessor.rb +156 -4
  24. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +155 -155
  25. data/spec/vcr_cassettes/isobib_get_123.yml +10 -56
  26. data/spec/vcr_cassettes/isobib_get_123_1.yml +92 -92
  27. data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +361 -0
  28. data/spec/vcr_cassettes/isobib_get_123_2001.yml +45 -45
  29. data/spec/vcr_cassettes/isobib_get_124.yml +45 -45
  30. data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +8 -8
  31. data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +36 -36
  32. metadata +21 -7
  33. data/lib/asciidoctor/standoc/base_structured_text_preprocessor.rb +0 -123
  34. data/lib/asciidoctor/standoc/json2_text_preprocessor.rb +0 -44
  35. data/lib/asciidoctor/standoc/yaml2_text_preprocessor.rb +0 -46
@@ -3214,6 +3214,43 @@ expect{Asciidoctor.convert(input, backend: :standoc, header_footer: true)}.to ou
3214
3214
  expect{Asciidoctor.convert(input, backend: :standoc, header_footer: true)}.to output(%r{normalised identifier in <xref target="_a#b_"/> from :a#b:}).to_stderr
3215
3215
  end
3216
3216
 
3217
+ it "moves title footnotes to bibdata" do
3218
+ input = <<~INPUT
3219
+ = Document title footnote:[ABC] footnote:[DEF]
3220
+ Author
3221
+ :docfile: test.adoc
3222
+ :nodoc:
3223
+ :novalid:
3224
+ :no-isobib:
3225
+
3226
+ INPUT
3227
+ expect(xmlpp(Asciidoctor.convert(input, backend: :standoc, header_footer: true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
3228
+ <standard-document xmlns='https://www.metanorma.org/ns/standoc' type="semantic" version="#{Metanorma::Standoc::VERSION}">
3229
+ <bibdata type='standard'>
3230
+ <title language='en' format='text/plain'>Document title</title>
3231
+ <note type='title-footnote'>
3232
+ <p>ABC</p>
3233
+ </note>
3234
+ <note type='title-footnote'>
3235
+ <p>DEF</p>
3236
+ </note>
3237
+ <language>en</language>
3238
+ <script>Latn</script>
3239
+ <status>
3240
+ <stage>published</stage>
3241
+ </status>
3242
+ <copyright>
3243
+ <from>2020</from>
3244
+ </copyright>
3245
+ <ext>
3246
+ <doctype>article</doctype>
3247
+ </ext>
3248
+ </bibdata>
3249
+ <sections> </sections>
3250
+ </standard-document>
3251
+ OUTPUT
3252
+
3253
+ end
3217
3254
 
3218
3255
  private
3219
3256
 
@@ -48,14 +48,11 @@ EOS
48
48
  <title type="title-intro" format="text/plain" language="en" script="Latn">Latex, rubber</title>
49
49
  <title type="title-main" format="text/plain" language="en" script="Latn">Determination of total solids content</title>
50
50
  <title type='main' format='text/plain' language='en' script='Latn'>Latex, rubber - Determination of total solids content</title>
51
- <title type="title-intro" format="text/plain" language="fr" script="Latn">Latex de caoutchouc</title>
52
- <title type="title-main" format="text/plain" language="fr" script="Latn">Détermination des matières solides totales</title>
53
- <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc - Détermination des matières solides totales</title>
54
51
  <uri type="src">https://www.iso.org/standard/61884.html</uri>
55
52
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
56
53
  <uri type="rss">https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
57
54
  <docidentifier type="ISO">ISO 124:2014</docidentifier>
58
- <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7:en,fr</docidentifier>
55
+ <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7:en</docidentifier>
59
56
  <docnumber>124</docnumber>
60
57
  <date type="published">
61
58
  <on>2014</on>
@@ -70,10 +67,8 @@ EOS
70
67
  </contributor>
71
68
  <edition>7</edition>
72
69
  <language>en</language>
73
- <language>fr</language>
74
70
  <script>Latn</script>
75
71
  <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>
76
- <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>
77
72
  <status>
78
73
  <stage>90</stage>
79
74
  <substage>93</substage>
@@ -114,9 +109,6 @@ EOS
114
109
  <title type="title-intro" format="text/plain" language="en" script="Latn">Rubber latex</title>
115
110
  <title type="title-main" format="text/plain" language="en" script="Latn">Sampling</title>
116
111
  <title type="main" format="text/plain" language="en" script="Latn">Rubber latex – Sampling</title>
117
- <title type="title-intro" format="text/plain" language="fr" script="Latn">Latex de caoutchouc</title>
118
- <title type="title-main" format="text/plain" language="fr" script="Latn">Échantillonnage</title>
119
- <title type="main" format="text/plain" language="fr" script="Latn">Latex de caoutchouc – Échantillonnage</title>
120
112
  <uri type="src">https://www.iso.org/standard/23281.html</uri>
121
113
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
122
114
  <uri type="rss">https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
@@ -132,7 +124,6 @@ EOS
132
124
  </contributor>
133
125
  <edition>3</edition>
134
126
  <language>en</language>
135
- <language>fr</language>
136
127
  <script>Latn</script>
137
128
  <status>
138
129
  <stage>90</stage>
@@ -156,8 +147,6 @@ EOS
156
147
  <fetched>#{Date.today}</fetched>
157
148
  <title type="title-main" format="text/plain" language="en" script="Latn">Rubber latex – Sampling</title>
158
149
  <title type="main" format="text/plain" language="en" script="Latn">Rubber latex – Sampling</title>
159
- <title type="title-main" format="text/plain" language="fr" script="Latn">Latex de caoutchouc – Échantillonnage</title>
160
- <title type="main" format="text/plain" language="fr" script="Latn">Latex de caoutchouc – Échantillonnage</title>
161
150
  <uri type="src">https://www.iso.org/standard/23281.html</uri>
162
151
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
163
152
  <uri type="rss">https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
@@ -176,7 +165,6 @@ EOS
176
165
  </contributor>
177
166
  <edition>3</edition>
178
167
  <language>en</language>
179
- <language>fr</language>
180
168
  <script>Latn</script>
181
169
  <status>
182
170
  <stage>90</stage>
@@ -219,14 +207,11 @@ EOS
219
207
  <title type="title-intro" format="text/plain" language="en" script="Latn">Rubber latex</title>
220
208
  <title type="title-main" format="text/plain" language="en" script="Latn">Sampling</title>
221
209
  <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex - Sampling</title>
222
- <title type="title-intro" format="text/plain" language="fr" script="Latn">Latex de caoutchouc</title>
223
- <title type="title-main" format="text/plain" language="fr" script="Latn">Échantillonnage</title>
224
- <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc - Échantillonnage</title>
225
210
  <uri type="src">https://www.iso.org/standard/23281.html</uri>
226
211
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
227
212
  <uri type="rss">https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
228
213
  <docidentifier type="ISO">ISO 123:2001</docidentifier>
229
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en,fr</docidentifier>
214
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en</docidentifier>
230
215
  <docnumber>123</docnumber>
231
216
  <date type="published">
232
217
  <on>2001</on>
@@ -241,7 +226,6 @@ EOS
241
226
  </contributor>
242
227
  <edition>3</edition>
243
228
  <language>en</language>
244
- <language>fr</language>
245
229
  <script>Latn</script>
246
230
  <status>
247
231
  <stage>90</stage>
@@ -689,19 +673,19 @@ EOS
689
673
  private
690
674
 
691
675
  def mock_isobib_get_123
692
- expect(RelatonIso::IsoBibliography).to receive(:get).with("ISO 123", "2001", {:title=>"<em>Standard</em>", :usrlbl=>nil}).and_return(RelatonIsoBib::XMLParser.from_xml(ISO_123_DATED))
676
+ expect(RelatonIso::IsoBibliography).to receive(:get).with("ISO 123", "2001", {:lang=>"en", :title=>"<em>Standard</em>", :usrlbl=>nil}).and_return(RelatonIsoBib::XMLParser.from_xml(ISO_123_DATED))
693
677
  end
694
678
 
695
679
  def mock_isobib_get_123_undated
696
- expect(RelatonIso::IsoBibliography).to receive(:get).with("ISO 123", nil, {:title=>"<em>Standard</em>", :usrlbl=>nil}).and_return(RelatonIsoBib::XMLParser.from_xml(ISO_123_UNDATED))
680
+ expect(RelatonIso::IsoBibliography).to receive(:get).with("ISO 123", nil, {:lang=>"en", :title=>"<em>Standard</em>", :usrlbl=>nil}).and_return(RelatonIsoBib::XMLParser.from_xml(ISO_123_UNDATED))
697
681
  end
698
682
 
699
683
  def mock_isobib_get_124
700
- expect(RelatonIso::IsoBibliography).to receive(:get).with("ISO 124", "2014", {:title=>"<em>Standard</em>", :usrlbl=>nil}).and_return(RelatonIsoBib::XMLParser.from_xml(ISO_124_DATED))
684
+ expect(RelatonIso::IsoBibliography).to receive(:get).with("ISO 124", "2014", {:lang=>"en", :title=>"<em>Standard</em>", :usrlbl=>nil}).and_return(RelatonIsoBib::XMLParser.from_xml(ISO_124_DATED))
701
685
  end
702
686
 
703
687
  def mock_ietfbib_get_123
704
- expect(RelatonIetf::IetfBibliography).to receive(:get).with("RFC 123", nil, {:title=>"<em>Standard</em>", :usrlbl=>nil}).and_return(RelatonIsoBib::XMLParser.from_xml(IETF_123_SHORT))
688
+ expect(RelatonIetf::IetfBibliography).to receive(:get).with("RFC 123", nil, {:lang=>"en", :title=>"<em>Standard</em>", :usrlbl=>nil}).and_return(RelatonIsoBib::XMLParser.from_xml(IETF_123_SHORT))
705
689
  end
706
690
 
707
691
  end
@@ -1,6 +1,6 @@
1
1
  require "spec_helper"
2
2
 
3
- RSpec.describe Asciidoctor::Standoc::Json2TextPreprocessor do
3
+ RSpec.describe 'Json2Text macros' do
4
4
  it_behaves_like "structured data 2 text preprocessor" do
5
5
  let(:extention) { "json" }
6
6
  def transform_to_type(data)
@@ -1,6 +1,6 @@
1
1
  require "spec_helper"
2
2
 
3
- RSpec.describe Asciidoctor::Standoc::Yaml2TextPreprocessor do
3
+ RSpec.describe 'Yaml2Text macros' do
4
4
  it_behaves_like "structured data 2 text preprocessor" do
5
5
  let(:extention) { "yaml" }
6
6
  def transform_to_type(data)
@@ -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>
@@ -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", :re_record_interval => 25200 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", :re_record_interval => 25200 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
475
+ références non datées, la dernière édition du document de
476
+ référence s’applique (y 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>
@@ -287,9 +521,6 @@ RSpec.describe Asciidoctor::Standoc do
287
521
  <relation type='instance'>
288
522
  <bibitem type='standard'>
289
523
  <fetched>#{Date.today}</fetched>
290
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
291
- <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
292
- <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex — Sampling</title>
293
524
  <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
294
525
  <title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
295
526
  <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc — Échantillonnage</title>
@@ -297,7 +528,7 @@ RSpec.describe Asciidoctor::Standoc do
297
528
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
298
529
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
299
530
  <docidentifier type='ISO'>ISO 123:2001</docidentifier>
300
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en,fr</docidentifier>
531
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:fr</docidentifier>
301
532
  <docnumber>123</docnumber>
302
533
  <date type='published'>
303
534
  <on>2001</on>
@@ -348,9 +579,6 @@ RSpec.describe Asciidoctor::Standoc do
348
579
  </bibitem>
349
580
  <bibitem id='iso124' type='standard'>
350
581
  <fetched>#{Date.today}</fetched>
351
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
352
- <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
353
- <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex – Sampling</title>
354
582
  <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
355
583
  <title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
356
584
  <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc – Échantillonnage</title>
@@ -396,9 +624,6 @@ RSpec.describe Asciidoctor::Standoc do
396
624
  <relation type='instance'>
397
625
  <bibitem type='standard'>
398
626
  <fetched>#{Date.today}</fetched>
399
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
400
- <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
401
- <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex — Sampling</title>
402
627
  <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
403
628
  <title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
404
629
  <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc — Échantillonnage</title>
@@ -406,7 +631,7 @@ RSpec.describe Asciidoctor::Standoc do
406
631
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
407
632
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
408
633
  <docidentifier type='ISO'>ISO 123:2001</docidentifier>
409
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en,fr</docidentifier>
634
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:fr</docidentifier>
410
635
  <docnumber>123</docnumber>
411
636
  <date type='published'>
412
637
  <on>2001</on>
@@ -529,13 +754,11 @@ RSpec.describe Asciidoctor::Standoc do
529
754
  <fetched>#{Date.today}</fetched>
530
755
  <title type="title-main" format="text/plain" language="en" script="Latn">Permuted index of the vocabulary of information technology</title>
531
756
  <title type="main" format="text/plain" language="en" script="Latn">Permuted index of the vocabulary of information technology</title>
532
- <title type="title-main" format="text/plain" language="fr" script="Latn">Index permuté du vocabulaire des technologies de l’information</title>
533
- <title type="main" format="text/plain" language="fr" script="Latn">Index permuté du vocabulaire des technologies de l’information</title>
534
757
  <uri type="src">https://www.iso.org/standard/21071.html</uri>
535
758
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:21071:en</uri>
536
759
  <uri type="rss">https://www.iso.org/contents/data/standard/02/10/21071.detail.rss</uri>
537
760
  <docidentifier type="ISO">ISO/IEC TR 12382:1992</docidentifier>
538
- <docidentifier type='URN'>urn:iso:std:iso-iec:tr:12382:stage-90.93:ed-2:en,fr</docidentifier>
761
+ <docidentifier type='URN'>urn:iso:std:iso-iec:tr:12382:stage-90.93:ed-2:en</docidentifier>
539
762
  <docnumber>12382</docnumber>
540
763
  <date type="published">
541
764
  <on>1992</on>
@@ -558,10 +781,8 @@ RSpec.describe Asciidoctor::Standoc do
558
781
  </contributor>
559
782
  <edition>2</edition>
560
783
  <language>en</language>
561
- <language>fr</language>
562
784
  <script>Latn</script>
563
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>
564
- <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>
565
786
  <status>
566
787
  <stage>90</stage>
567
788
  <substage>93</substage>
@@ -581,14 +802,11 @@ RSpec.describe Asciidoctor::Standoc do
581
802
  <title type="title-intro" format="text/plain" language="en" script="Latn">Latex, rubber</title>
582
803
  <title type="title-main" format="text/plain" language="en" script="Latn">Determination of total solids content</title>
583
804
  <title type='main' format='text/plain' language='en' script='Latn'>Latex, rubber — Determination of total solids content</title>
584
- <title type="title-intro" format="text/plain" language="fr" script="Latn">Latex de caoutchouc</title>
585
- <title type="title-main" format="text/plain" language="fr" script="Latn">Détermination des matières solides totales</title>
586
- <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc — Détermination des matières solides totales</title>
587
805
  <uri type="src">https://www.iso.org/standard/61884.html</uri>
588
806
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
589
807
  <uri type="rss">https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
590
808
  <docidentifier type="ISO">ISO 124:2014</docidentifier>
591
- <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7:en,fr</docidentifier>
809
+ <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7:en</docidentifier>
592
810
  <docnumber>124</docnumber>
593
811
  <date type="published">
594
812
  <on>2014</on>
@@ -603,10 +821,8 @@ RSpec.describe Asciidoctor::Standoc do
603
821
  </contributor>
604
822
  <edition>7</edition>
605
823
  <language>en</language>
606
- <language>fr</language>
607
824
  <script>Latn</script>
608
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>
609
- <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>
610
826
  <status>
611
827
  <stage>90</stage>
612
828
  <substage>93</substage>
@@ -630,14 +846,12 @@ RSpec.describe Asciidoctor::Standoc do
630
846
  <fetched>#{Date.today}</fetched>
631
847
  <title type="title-main" format="text/plain" language="en" script="Latn">Permuted index of the vocabulary of information technology</title>
632
848
  <title type='main' format='text/plain' language='en' script='Latn'>Permuted index of the vocabulary of information technology</title>
633
- <title type="title-main" format="text/plain" language="fr" script="Latn">Index permuté du vocabulaire des technologies de l’information</title>
634
- <title type='main' format='text/plain' language='fr' script='Latn'>Index permuté du vocabulaire des technologies de l’information</title>
635
849
  <uri type="src">https://www.iso.org/standard/21071.html</uri>
636
850
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:21071:en</uri>
637
851
  <uri type="rss">https://www.iso.org/contents/data/standard/02/10/21071.detail.rss</uri>
638
852
  <docidentifier type="ISO">ISO/IEC TR 12382:1992</docidentifier>
639
853
  <docidentifier type='metanorma'>[3]</docidentifier>
640
- <docidentifier type='URN'>urn:iso:std:iso-iec:tr:12382:stage-90.93:ed-2:en,fr</docidentifier>
854
+ <docidentifier type='URN'>urn:iso:std:iso-iec:tr:12382:stage-90.93:ed-2:en</docidentifier>
641
855
  <docnumber>12382</docnumber>
642
856
  <date type="published">
643
857
  <on>1992</on>
@@ -660,10 +874,8 @@ RSpec.describe Asciidoctor::Standoc do
660
874
  </contributor>
661
875
  <edition>2</edition>
662
876
  <language>en</language>
663
- <language>fr</language>
664
877
  <script>Latn</script>
665
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>
666
- <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>
667
879
  <status>
668
880
  <stage>90</stage>
669
881
  <substage>93</substage>
@@ -683,15 +895,12 @@ RSpec.describe Asciidoctor::Standoc do
683
895
  <title type="title-intro" format="text/plain" language="en" script="Latn">Latex, rubber</title>
684
896
  <title type="title-main" format="text/plain" language="en" script="Latn">Determination of total solids content</title>
685
897
  <title type='main' format='text/plain' language='en' script='Latn'>Latex, rubber — Determination of total solids content</title>
686
- <title type="title-intro" format="text/plain" language="fr" script="Latn">Latex de caoutchouc</title>
687
- <title type="title-main" format="text/plain" language="fr" script="Latn">Détermination des matières solides totales</title>
688
- <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc — Détermination des matières solides totales</title>
689
898
  <uri type="src">https://www.iso.org/standard/61884.html</uri>
690
899
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
691
900
  <uri type="rss">https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
692
901
  <docidentifier type="ISO">ISO 124:2014</docidentifier>
693
902
  <docidentifier type='metanorma'>[4]</docidentifier>
694
- <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7:en,fr</docidentifier>
903
+ <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7:en</docidentifier>
695
904
  <docnumber>124</docnumber>
696
905
  <date type="published">
697
906
  <on>2014</on>
@@ -706,10 +915,8 @@ RSpec.describe Asciidoctor::Standoc do
706
915
  </contributor>
707
916
  <edition>7</edition>
708
917
  <language>en</language>
709
- <language>fr</language>
710
918
  <script>Latn</script>
711
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>
712
- <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>
713
920
  <status>
714
921
  <stage>90</stage>
715
922
  <substage>93</substage>
@@ -764,14 +971,11 @@ RSpec.describe Asciidoctor::Standoc do
764
971
  <title type='title-intro' format='text/plain' language='en' script='Latn'>Latex, rubber</title>
765
972
  <title type='title-main' format='text/plain' language='en' script='Latn'>Determination of total solids content</title>
766
973
  <title type='main' format='text/plain' language='en' script='Latn'>Latex, rubber — Determination of total solids content</title>
767
- <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
768
- <title type='title-main' format='text/plain' language='fr' script='Latn'>Détermination des matières solides totales</title>
769
- <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc — Détermination des matières solides totales</title>
770
974
  <uri type='src'>https://www.iso.org/standard/61884.html</uri>
771
975
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
772
976
  <uri type='rss'>https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
773
977
  <docidentifier type='ISO'>ISO 124:2014</docidentifier>
774
- <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7:en,fr</docidentifier>
978
+ <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7:en</docidentifier>
775
979
  <docnumber>124</docnumber>
776
980
  <date type='published'>
777
981
  <on>2014</on>
@@ -786,10 +990,8 @@ RSpec.describe Asciidoctor::Standoc do
786
990
  </contributor>
787
991
  <edition>7</edition>
788
992
  <language>en</language>
789
- <language>fr</language>
790
993
  <script>Latn</script>
791
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>
792
- <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>
793
995
  <status>
794
996
  <stage>90</stage>
795
997
  <substage>93</substage>
@@ -1383,8 +1585,8 @@ OUTPUT
1383
1585
  <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
1384
1586
  <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex – Sampling</title>
1385
1587
  <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
1386
- <title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
1387
- <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>
1388
1590
  <uri type='src'>https://www.iso.org/standard/23281.html</uri>
1389
1591
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
1390
1592
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
@@ -1430,8 +1632,8 @@ OUTPUT
1430
1632
  <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
1431
1633
  <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex – Sampling</title>
1432
1634
  <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
1433
- <title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
1434
- <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>
1435
1637
  <uri type='src'>https://www.iso.org/standard/23281.html</uri>
1436
1638
  <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
1437
1639
  <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
@@ -1511,7 +1713,7 @@ OUTPUT
1511
1713
  end
1512
1714
 
1513
1715
  def mock_isobib_get_123_no_docid
1514
- 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
1515
1717
  RelatonBib::XMLParser.from_xml(<<~"OUTPUT")
1516
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>
1517
1719
  OUTPUT
@@ -1519,7 +1721,7 @@ OUTPUT
1519
1721
  end
1520
1722
 
1521
1723
  def mock_isobib_get_123_no_docid_lbl
1522
- 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
1523
1725
  RelatonBib::XMLParser.from_xml(<<~"OUTPUT")
1524
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>
1525
1727
  OUTPUT