metanorma-iso 1.9.4 → 1.10.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ubuntu.yml +41 -0
  3. data/Gemfile +3 -4
  4. data/Makefile +44 -0
  5. data/Rakefile +1 -1
  6. data/bin/rspec +1 -2
  7. data/lib/asciidoctor/iso/basicdoc.rng +32 -5
  8. data/lib/asciidoctor/iso/biblio.rng +2 -0
  9. data/lib/asciidoctor/iso/cleanup.rb +7 -6
  10. data/lib/asciidoctor/iso/front.rb +9 -1
  11. data/lib/asciidoctor/iso/isodoc.rng +430 -76
  12. data/lib/asciidoctor/iso/isostandard-amd.rng +1 -1
  13. data/lib/asciidoctor/iso/isostandard.rng +9 -23
  14. data/lib/asciidoctor/iso/reqt.rng +24 -3
  15. data/lib/asciidoctor/iso/validate.rb +7 -7
  16. data/lib/asciidoctor/iso/validate_section.rb +1 -1
  17. data/lib/isodoc/iso/html/isodoc.css +1 -2
  18. data/lib/isodoc/iso/html/isodoc.scss +1 -1
  19. data/lib/isodoc/iso/html/wordstyle.css +16 -4
  20. data/lib/isodoc/iso/html/wordstyle.scss +16 -4
  21. data/lib/isodoc/iso/i18n.rb +10 -9
  22. data/lib/isodoc/iso/iso.amendment.xsl +200 -20
  23. data/lib/isodoc/iso/iso.international-standard.xsl +200 -20
  24. data/lib/isodoc/iso/presentation_xml_convert.rb +9 -10
  25. data/lib/isodoc/iso/sections.rb +2 -0
  26. data/lib/isodoc/iso/word_cleanup.rb +94 -0
  27. data/lib/isodoc/iso/word_convert.rb +12 -89
  28. data/lib/metanorma/iso/version.rb +1 -1
  29. data/metanorma-iso.gemspec +4 -3
  30. data/spec/asciidoctor/base_spec.rb +685 -178
  31. data/spec/asciidoctor/blank_spec.rb +38 -0
  32. data/spec/asciidoctor/blocks_spec.rb +22 -47
  33. data/spec/asciidoctor/cleanup_spec.rb +34 -20
  34. data/spec/asciidoctor/inline_spec.rb +10 -2
  35. data/spec/asciidoctor/refs_spec.rb +87 -4
  36. data/spec/asciidoctor/section_spec.rb +3 -3
  37. data/spec/isodoc/i18n_spec.rb +29 -15
  38. data/spec/isodoc/inline_spec.rb +56 -26
  39. data/spec/isodoc/section_spec.rb +1 -1
  40. data/spec/isodoc/table_spec.rb +6 -8
  41. data/spec/isodoc/terms_spec.rb +11 -11
  42. data/spec/isodoc/xref_spec.rb +1397 -1376
  43. data/spec/metanorma/processor_spec.rb +4 -1
  44. data/spec/spec_helper.rb +14 -1
  45. data/spec/vcr_cassettes/docrels.yml +783 -0
  46. data/spec/vcr_cassettes/sortrefs.yml +599 -0
  47. metadata +38 -19
@@ -5,60 +5,6 @@ RSpec.describe Asciidoctor::ISO do
5
5
  expect(Metanorma::ISO::VERSION).not_to be nil
6
6
  end
7
7
 
8
- it "processes a blank document" do
9
- input = <<~INPUT
10
- #{ASCIIDOC_BLANK_HDR}
11
- INPUT
12
- output = <<~OUTPUT
13
- #{BLANK_HDR}
14
- <sections/>
15
- </iso-standard>
16
- OUTPUT
17
- expect(xmlpp(Asciidoctor.convert(input, *OPTIONS)))
18
- .to be_equivalent_to xmlpp(output)
19
- end
20
-
21
- it "converts a blank document" do
22
- input = <<~INPUT
23
- = Document title
24
- Author
25
- :docfile: test.adoc
26
- :novalid:
27
- :no-isobib:
28
- INPUT
29
- output = <<~OUTPUT
30
- #{BLANK_HDR}
31
- <sections/>
32
- </iso-standard>
33
- OUTPUT
34
- expect(xmlpp(Asciidoctor.convert(input, *OPTIONS)))
35
- .to be_equivalent_to xmlpp(output)
36
- expect(File.exist?("test_alt.html")).to be true
37
- expect(File.exist?("test.html")).to be true
38
- expect(File.exist?("test.doc")).to be true
39
- expect(File.exist?("test.pdf")).to be true
40
- expect(File.exist?("htmlstyle.css")).to be false
41
- end
42
-
43
- it "converts a blank document in French" do
44
- input = <<~INPUT
45
- = Document title
46
- Author
47
- :docfile: test.adoc
48
- :novalid:
49
- :no-isobib:
50
- :no-pdf:
51
- :language: fr
52
- INPUT
53
- output = <<~OUTPUT
54
- #{BLANK_HDR_FR}
55
- <sections/>
56
- </iso-standard>
57
- OUTPUT
58
- expect(xmlpp(Asciidoctor.convert(input, *OPTIONS)))
59
- .to be_equivalent_to xmlpp(output)
60
- end
61
-
62
8
  it "processes default metadata" do
63
9
  output = Asciidoctor.convert(<<~"INPUT", *OPTIONS)
64
10
  = Document title
@@ -212,133 +158,133 @@ RSpec.describe Asciidoctor::ISO do
212
158
  :pub-fax: 4444444
213
159
  :pub-email: x@example.com
214
160
  :pub-uri: http://www.example.com
215
- :docstage:
216
- :docsubstage:
161
+ :docstage:
162
+ :docsubstage:
217
163
  INPUT
218
164
  expect(xmlpp(output.sub(%r{<boilerplate>.*</boilerplate>}m, "")))
219
165
  .to be_equivalent_to xmlpp(<<~"OUTPUT")
220
- <?xml version="1.0" encoding="UTF-8"?>
221
- <iso-standard type="semantic" version="#{Metanorma::ISO::VERSION}" xmlns="https://www.metanorma.org/ns/iso">
222
- <bibdata type="standard">
223
- <docidentifier type="ISO">ISO/IEC/IETF/TR 1000-1-1:2001</docidentifier>
224
- <docidentifier type="iso-with-lang">ISO/IEC/IETF/TR 1000-1-1:2001(X)</docidentifier>
225
- <docidentifier type="iso-reference">ISO/IEC/IETF/TR 1000-1-1:2001(X)</docidentifier>
226
- <docidentifier type="iso-tc">2000</docidentifier>
227
- <docidentifier type="iso-tc">2003</docidentifier>
228
- <docnumber>1000</docnumber>
229
- <contributor>
230
- <role type="author"/>
231
- <organization>
232
- <name>International Electrotechnical Commission</name>
233
- <abbreviation>IEC</abbreviation>
234
- </organization>
235
- </contributor>
236
- <contributor>
237
- <role type="author"/>
238
- <organization>
239
- <name>IETF</name>
240
- </organization>
241
- </contributor>
242
- <contributor>
243
- <role type="author"/>
244
- <organization>
245
- <name>International Organization for Standardization</name>
246
- <abbreviation>ISO</abbreviation>
247
- </organization>
248
- </contributor>
249
- <contributor>
250
- <role type="publisher"/>
251
- <organization>
252
- <name>International Electrotechnical Commission</name>
253
- <abbreviation>IEC</abbreviation>
254
- <address>
255
- <formattedAddress>1 Infinity Loop + California</formattedAddress>
256
- </address>
257
- <phone>3333333</phone>
258
- <phone type='fax'>4444444</phone>
259
- <email>x@example.com</email>
260
- <uri>http://www.example.com</uri>
261
- </organization>
262
- </contributor>
263
- <contributor>
264
- <role type="publisher"/>
265
- <organization>
266
- <name>IETF</name>
267
- <address>
268
- <formattedAddress>1 Infinity Loop + California</formattedAddress>
269
- </address>
270
- <phone>3333333</phone>
271
- <phone type='fax'>4444444</phone>
272
- <email>x@example.com</email>
273
- <uri>http://www.example.com</uri>
274
- </organization>
275
- </contributor>
276
- <contributor>
277
- <role type="publisher"/>
278
- <organization>
279
- <name>International Organization for Standardization</name>
280
- <abbreviation>ISO</abbreviation>
281
- <address>
282
- <formattedAddress>1 Infinity Loop + California</formattedAddress>
283
- </address>
284
- <phone>3333333</phone>
285
- <phone type='fax'>4444444</phone>
286
- <email>x@example.com</email>
287
- <uri>http://www.example.com</uri>
288
- </organization>
289
- </contributor>
290
- <language>el</language>
291
- <script>Grek</script>
292
- <status>
293
- <stage abbreviation="IS">60</stage>
294
- <substage>60</substage>
295
- </status>
296
- <copyright>
297
- <from>2001</from>
298
- <owner>
299
- <organization>
300
- <name>International Organization for Standardization</name>
301
- <abbreviation>ISO</abbreviation>
302
- <address>
303
- <formattedAddress>1 Infinity Loop + California</formattedAddress>
304
- </address>
305
- <phone>3333333</phone>
306
- <phone type='fax'>4444444</phone>
307
- <email>x@example.com</email>
308
- <uri>http://www.example.com</uri>
309
- </organization>
310
- </owner>
311
- </copyright>
312
- <copyright>
313
- <from>2001</from>
314
- <owner>
315
- <organization>
316
- <name>IETF</name>
317
- <address>
318
- <formattedAddress>1 Infinity Loop + California</formattedAddress>
319
- </address>
320
- <phone>3333333</phone>
321
- <phone type='fax'>4444444</phone>
322
- <email>x@example.com</email>
323
- <uri>http://www.example.com</uri>
324
- </organization>
325
- </owner>
326
- </copyright>
327
- <ext>
328
- <doctype>technical-report</doctype>
329
- <editorialgroup>
330
- <technical-committee/>
331
- <subcommittee/>
332
- <workgroup/>
333
- </editorialgroup>
334
- <structuredidentifier>
335
- <project-number part="1" subpart="1">ISO/IEC/IETF 1000</project-number>
336
- </structuredidentifier>
337
- <stagename>International standard</stagename>
338
- </ext>
339
- </bibdata>
340
- <sections/>
341
- </iso-standard>
166
+ <?xml version="1.0" encoding="UTF-8"?>
167
+ <iso-standard type="semantic" version="#{Metanorma::ISO::VERSION}" xmlns="https://www.metanorma.org/ns/iso">
168
+ <bibdata type="standard">
169
+ <docidentifier type="ISO">ISO/IEC/IETF/TR 1000-1-1:2001</docidentifier>
170
+ <docidentifier type="iso-with-lang">ISO/IEC/IETF/TR 1000-1-1:2001(X)</docidentifier>
171
+ <docidentifier type="iso-reference">ISO/IEC/IETF/TR 1000-1-1:2001(X)</docidentifier>
172
+ <docidentifier type="iso-tc">2000</docidentifier>
173
+ <docidentifier type="iso-tc">2003</docidentifier>
174
+ <docnumber>1000</docnumber>
175
+ <contributor>
176
+ <role type="author"/>
177
+ <organization>
178
+ <name>International Electrotechnical Commission</name>
179
+ <abbreviation>IEC</abbreviation>
180
+ </organization>
181
+ </contributor>
182
+ <contributor>
183
+ <role type="author"/>
184
+ <organization>
185
+ <name>IETF</name>
186
+ </organization>
187
+ </contributor>
188
+ <contributor>
189
+ <role type="author"/>
190
+ <organization>
191
+ <name>International Organization for Standardization</name>
192
+ <abbreviation>ISO</abbreviation>
193
+ </organization>
194
+ </contributor>
195
+ <contributor>
196
+ <role type="publisher"/>
197
+ <organization>
198
+ <name>International Electrotechnical Commission</name>
199
+ <abbreviation>IEC</abbreviation>
200
+ <address>
201
+ <formattedAddress>1 Infinity Loop + California</formattedAddress>
202
+ </address>
203
+ <phone>3333333</phone>
204
+ <phone type='fax'>4444444</phone>
205
+ <email>x@example.com</email>
206
+ <uri>http://www.example.com</uri>
207
+ </organization>
208
+ </contributor>
209
+ <contributor>
210
+ <role type="publisher"/>
211
+ <organization>
212
+ <name>IETF</name>
213
+ <address>
214
+ <formattedAddress>1 Infinity Loop + California</formattedAddress>
215
+ </address>
216
+ <phone>3333333</phone>
217
+ <phone type='fax'>4444444</phone>
218
+ <email>x@example.com</email>
219
+ <uri>http://www.example.com</uri>
220
+ </organization>
221
+ </contributor>
222
+ <contributor>
223
+ <role type="publisher"/>
224
+ <organization>
225
+ <name>International Organization for Standardization</name>
226
+ <abbreviation>ISO</abbreviation>
227
+ <address>
228
+ <formattedAddress>1 Infinity Loop + California</formattedAddress>
229
+ </address>
230
+ <phone>3333333</phone>
231
+ <phone type='fax'>4444444</phone>
232
+ <email>x@example.com</email>
233
+ <uri>http://www.example.com</uri>
234
+ </organization>
235
+ </contributor>
236
+ <language>el</language>
237
+ <script>Grek</script>
238
+ <status>
239
+ <stage abbreviation="IS">60</stage>
240
+ <substage>60</substage>
241
+ </status>
242
+ <copyright>
243
+ <from>2001</from>
244
+ <owner>
245
+ <organization>
246
+ <name>International Organization for Standardization</name>
247
+ <abbreviation>ISO</abbreviation>
248
+ <address>
249
+ <formattedAddress>1 Infinity Loop + California</formattedAddress>
250
+ </address>
251
+ <phone>3333333</phone>
252
+ <phone type='fax'>4444444</phone>
253
+ <email>x@example.com</email>
254
+ <uri>http://www.example.com</uri>
255
+ </organization>
256
+ </owner>
257
+ </copyright>
258
+ <copyright>
259
+ <from>2001</from>
260
+ <owner>
261
+ <organization>
262
+ <name>IETF</name>
263
+ <address>
264
+ <formattedAddress>1 Infinity Loop + California</formattedAddress>
265
+ </address>
266
+ <phone>3333333</phone>
267
+ <phone type='fax'>4444444</phone>
268
+ <email>x@example.com</email>
269
+ <uri>http://www.example.com</uri>
270
+ </organization>
271
+ </owner>
272
+ </copyright>
273
+ <ext>
274
+ <doctype>technical-report</doctype>
275
+ <editorialgroup>
276
+ <technical-committee/>
277
+ <subcommittee/>
278
+ <workgroup/>
279
+ </editorialgroup>
280
+ <structuredidentifier>
281
+ <project-number part="1" subpart="1">ISO/IEC/IETF 1000</project-number>
282
+ </structuredidentifier>
283
+ <stagename>International standard</stagename>
284
+ </ext>
285
+ </bibdata>
286
+ <sections/>
287
+ </iso-standard>
342
288
  OUTPUT
343
289
  end
344
290
 
@@ -721,6 +667,567 @@ RSpec.describe Asciidoctor::ISO do
721
667
  OUTPUT
722
668
  end
723
669
 
670
+ it "processes document relations" do
671
+ VCR.use_cassette "docrels" do
672
+ output = Asciidoctor.convert(<<~"INPUT", *OPTIONS)
673
+ = Document title
674
+ Author
675
+ :docfile: test.adoc
676
+ :nodoc:
677
+ :novalid:
678
+ :amends: ISO 123;ISO 124
679
+ :obsoletes: ISO 125;ISO 126
680
+ INPUT
681
+ expect(xmlpp(output.sub(%r{<boilerplate>.*</boilerplate>}m, "")))
682
+ .to be_equivalent_to xmlpp(<<~"OUTPUT")
683
+ <iso-standard xmlns="https://www.metanorma.org/ns/iso" type="semantic" version="#{Metanorma::ISO::VERSION}">
684
+ <bibdata type='standard'>
685
+ <contributor>
686
+ <role type='author'/>
687
+ <organization>
688
+ <name>International Organization for Standardization</name>
689
+ <abbreviation>ISO</abbreviation>
690
+ </organization>
691
+ </contributor>
692
+ <contributor>
693
+ <role type='publisher'/>
694
+ <organization>
695
+ <name>International Organization for Standardization</name>
696
+ <abbreviation>ISO</abbreviation>
697
+ </organization>
698
+ </contributor>
699
+ <language>en</language>
700
+ <script>Latn</script>
701
+ <status>
702
+ <stage abbreviation='IS'>60</stage>
703
+ <substage>60</substage>
704
+ </status>
705
+ <copyright>
706
+ <from>2021</from>
707
+ <owner>
708
+ <organization>
709
+ <name>International Organization for Standardization</name>
710
+ <abbreviation>ISO</abbreviation>
711
+ </organization>
712
+ </owner>
713
+ </copyright>
714
+ <relation type='obsoletes'>
715
+ <bibitem type='standard'>
716
+ <fetched/>
717
+ <title type='title-intro' format='text/plain' language='en' script='Latn'>Natural rubber latex concentrate</title>
718
+ <title type='title-main' format='text/plain' language='en' script='Latn'>Determination of alkalinity</title>
719
+ <title type='main' format='text/plain' language='en' script='Latn'>
720
+ Natural rubber latex concentrate&#8201;&#8212;&#8201;Determination of
721
+ alkalinity
722
+ </title>
723
+ <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex concentr&#233; de caoutchouc naturel</title>
724
+ <title type='title-main' format='text/plain' language='fr' script='Latn'>D&#233;termination de l&#8217;alcalinit&#233;</title>
725
+ <title type='main' format='text/plain' language='fr' script='Latn'>
726
+ Latex concentr&#233; de caoutchouc
727
+ naturel&#8201;&#8212;&#8201;D&#233;termination de
728
+ l&#8217;alcalinit&#233;
729
+ </title>
730
+ <uri type='src'>https://www.iso.org/standard/72849.html</uri>
731
+ <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:72849:en</uri>
732
+ <uri type='rss'>https://www.iso.org/contents/data/standard/07/28/72849.detail.rss</uri>
733
+ <docidentifier type='ISO'>ISO 125</docidentifier>
734
+ <docidentifier type='URN'>urn:iso:std:iso:125:stage-60.60:ed-7:en,fr</docidentifier>
735
+ <docnumber>125</docnumber>
736
+ <contributor>
737
+ <role type='publisher'/>
738
+ <organization>
739
+ <name>International Organization for Standardization</name>
740
+ <abbreviation>ISO</abbreviation>
741
+ <uri>www.iso.org</uri>
742
+ </organization>
743
+ </contributor>
744
+ <edition>7</edition>
745
+ <language>en</language>
746
+ <language>fr</language>
747
+ <script>Latn</script>
748
+ <status>
749
+ <stage>60</stage>
750
+ <substage>60</substage>
751
+ </status>
752
+ <copyright>
753
+ <from>2020</from>
754
+ <owner>
755
+ <organization>
756
+ <name>ISO</name>
757
+ </organization>
758
+ </owner>
759
+ </copyright>
760
+ <relation type='obsoletes'>
761
+ <bibitem type='standard'>
762
+ <formattedref format='text/plain'>ISO 125:2011</formattedref>
763
+ </bibitem>
764
+ </relation>
765
+ <relation type='instance'>
766
+ <bibitem type='standard'>
767
+ <fetched/>
768
+ <title type='title-intro' format='text/plain' language='en' script='Latn'>Natural rubber latex concentrate</title>
769
+ <title type='title-main' format='text/plain' language='en' script='Latn'>Determination of alkalinity</title>
770
+ <title type='main' format='text/plain' language='en' script='Latn'>
771
+ Natural rubber latex concentrate&#8201;&#8212;&#8201;Determination
772
+ of alkalinity
773
+ </title>
774
+ <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex concentr&#233; de caoutchouc naturel</title>
775
+ <title type='title-main' format='text/plain' language='fr' script='Latn'>D&#233;termination de l&#8217;alcalinit&#233;</title>
776
+ <title type='main' format='text/plain' language='fr' script='Latn'>
777
+ Latex concentr&#233; de caoutchouc
778
+ naturel&#8201;&#8212;&#8201;D&#233;termination de
779
+ l&#8217;alcalinit&#233;
780
+ </title>
781
+ <uri type='src'>https://www.iso.org/standard/72849.html</uri>
782
+ <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:72849:en</uri>
783
+ <uri type='rss'>https://www.iso.org/contents/data/standard/07/28/72849.detail.rss</uri>
784
+ <docidentifier type='ISO'>ISO 125:2020</docidentifier>
785
+ <docidentifier type='URN'>urn:iso:std:iso:125:stage-60.60:ed-7:en,fr</docidentifier>
786
+ <docnumber>125</docnumber>
787
+ <date type='published'>
788
+ <on>2020-02</on>
789
+ </date>
790
+ <contributor>
791
+ <role type='publisher'/>
792
+ <organization>
793
+ <name>International Organization for Standardization</name>
794
+ <abbreviation>ISO</abbreviation>
795
+ <uri>www.iso.org</uri>
796
+ </organization>
797
+ </contributor>
798
+ <edition>7</edition>
799
+ <language>en</language>
800
+ <language>fr</language>
801
+ <script>Latn</script>
802
+ <abstract format='text/plain' language='en' script='Latn'>
803
+ This document specifies a method for the determination of the
804
+ alkalinity of natural rubber latex concentrate. The method is not
805
+ necessarily suitable for latices from natural sources other than
806
+ Hevea brasiliensis or for synthetic rubber latices, compounded
807
+ latex, vulcanized latex or artificial dispersions of rubber. NOTE
808
+ A method for the determination of the alkalinity of
809
+ polychloroprene latex is specified in ISO 13773.
810
+ </abstract>
811
+ <abstract format='text/plain' language='fr' script='Latn'>
812
+ Le pr&#233;sent document sp&#233;cifie une m&#233;thode de
813
+ d&#233;termination de l&#8217;alcalinit&#233; du latex
814
+ concentr&#233; de caoutchouc naturel. La m&#233;thode ne convient
815
+ pas n&#233;cessairement aux latex d&#8217;origine naturelle autres
816
+ que l&#8217;Hevea brasiliensis ou aux latex de caoutchouc de
817
+ synth&#232;se, aux latex formul&#233;s, aux latex vulcanis&#233;s
818
+ ou aux dispersions artificielles de caoutchouc. NOTE Une
819
+ m&#233;thode de d&#233;termination de l&#8217;alcalinit&#233; du
820
+ latex de polychloropr&#232;ne est sp&#233;cifi&#233;e dans
821
+ l&#8217;ISO 13773.
822
+ </abstract>
823
+ <status>
824
+ <stage>60</stage>
825
+ <substage>60</substage>
826
+ </status>
827
+ <copyright>
828
+ <from>2020</from>
829
+ <owner>
830
+ <organization>
831
+ <name>ISO</name>
832
+ </organization>
833
+ </owner>
834
+ </copyright>
835
+ <relation type='obsoletes'>
836
+ <bibitem type='standard'>
837
+ <formattedref format='text/plain'>ISO 125:2011</formattedref>
838
+ </bibitem>
839
+ </relation>
840
+ <place>Geneva</place>
841
+ </bibitem>
842
+ </relation>
843
+ <place>Geneva</place>
844
+ </bibitem>
845
+ </relation>
846
+ <relation type='obsoletes'>
847
+ <bibitem type='standard'>
848
+ <fetched/>
849
+ <title type='title-intro' format='text/plain' language='en' script='Latn'>Natural rubber latex concentrate</title>
850
+ <title type='title-main' format='text/plain' language='en' script='Latn'>Determination of dry rubber content</title>
851
+ <title type='main' format='text/plain' language='en' script='Latn'>
852
+ Natural rubber latex concentrate&#8201;&#8212;&#8201;Determination of
853
+ dry rubber content
854
+ </title>
855
+ <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc naturel concentr&#233;</title>
856
+ <title type='title-main' format='text/plain' language='fr' script='Latn'>D&#233;termination de la teneur en caoutchouc sec</title>
857
+ <title type='main' format='text/plain' language='fr' script='Latn'>
858
+ Latex de caoutchouc naturel
859
+ concentr&#233;&#8201;&#8212;&#8201;D&#233;termination de la teneur en
860
+ caoutchouc sec
861
+ </title>
862
+ <uri type='src'>https://www.iso.org/standard/35176.html</uri>
863
+ <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:35176:en</uri>
864
+ <uri type='rss'>https://www.iso.org/contents/data/standard/03/51/35176.detail.rss</uri>
865
+ <docidentifier type='ISO'>ISO 126</docidentifier>
866
+ <docidentifier type='URN'>urn:iso:std:iso:126:stage-90.93:ed-5:en,fr</docidentifier>
867
+ <docnumber>126</docnumber>
868
+ <contributor>
869
+ <role type='publisher'/>
870
+ <organization>
871
+ <name>International Organization for Standardization</name>
872
+ <abbreviation>ISO</abbreviation>
873
+ <uri>www.iso.org</uri>
874
+ </organization>
875
+ </contributor>
876
+ <edition>5</edition>
877
+ <language>en</language>
878
+ <language>fr</language>
879
+ <script>Latn</script>
880
+ <status>
881
+ <stage>90</stage>
882
+ <substage>93</substage>
883
+ </status>
884
+ <copyright>
885
+ <from>2005</from>
886
+ <owner>
887
+ <organization>
888
+ <name>ISO</name>
889
+ </organization>
890
+ </owner>
891
+ </copyright>
892
+ <relation type='obsoletes'>
893
+ <bibitem type='standard'>
894
+ <formattedref format='text/plain'>ISO 126:1995</formattedref>
895
+ </bibitem>
896
+ </relation>
897
+ <relation type='instance'>
898
+ <bibitem type='standard'>
899
+ <fetched/>
900
+ <title type='title-intro' format='text/plain' language='en' script='Latn'>Natural rubber latex concentrate</title>
901
+ <title type='title-main' format='text/plain' language='en' script='Latn'>Determination of dry rubber content</title>
902
+ <title type='main' format='text/plain' language='en' script='Latn'>
903
+ Natural rubber latex concentrate&#8201;&#8212;&#8201;Determination
904
+ of dry rubber content
905
+ </title>
906
+ <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc naturel concentr&#233;</title>
907
+ <title type='title-main' format='text/plain' language='fr' script='Latn'>D&#233;termination de la teneur en caoutchouc sec</title>
908
+ <title type='main' format='text/plain' language='fr' script='Latn'>
909
+ Latex de caoutchouc naturel
910
+ concentr&#233;&#8201;&#8212;&#8201;D&#233;termination de la teneur
911
+ en caoutchouc sec
912
+ </title>
913
+ <uri type='src'>https://www.iso.org/standard/35176.html</uri>
914
+ <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:35176:en</uri>
915
+ <uri type='rss'>https://www.iso.org/contents/data/standard/03/51/35176.detail.rss</uri>
916
+ <docidentifier type='ISO'>ISO 126:2005</docidentifier>
917
+ <docidentifier type='URN'>urn:iso:std:iso:126:stage-90.93:ed-5:en,fr</docidentifier>
918
+ <docnumber>126</docnumber>
919
+ <date type='published'>
920
+ <on>2005-04</on>
921
+ </date>
922
+ <contributor>
923
+ <role type='publisher'/>
924
+ <organization>
925
+ <name>International Organization for Standardization</name>
926
+ <abbreviation>ISO</abbreviation>
927
+ <uri>www.iso.org</uri>
928
+ </organization>
929
+ </contributor>
930
+ <edition>5</edition>
931
+ <language>en</language>
932
+ <language>fr</language>
933
+ <script>Latn</script>
934
+ <abstract format='text/plain' language='en' script='Latn'>
935
+ ISO 126:2005 specifies a method for the determination of the dry
936
+ rubber content of natural rubber latex concentrate. The method is
937
+ not necessarily suitable for latices preserved with potassium
938
+ hydroxide, latices from natural sources other than Hevea
939
+ brasiliensis, or for compounded latex, vulcanized latex or
940
+ artificial dispersions of rubber and it is not applicable to
941
+ synthetic rubber latices.
942
+ </abstract>
943
+ <abstract format='text/plain' language='fr' script='Latn'>
944
+ L&#8217;ISO 126:2005 sp&#233;cifie une m&#233;thode de
945
+ d&#233;termination de la teneur en caoutchouc sec du latex de
946
+ caoutchouc naturel concentr&#233;. La m&#233;thode ne convient pas
947
+ n&#233;cessairement pour les latex conserv&#233;s dans de
948
+ l&#8217;hydroxyde de potassium, pour les latex d&#8217;origine
949
+ naturelle autres que celui de l&#8217;Hevea brasiliensis ou pour
950
+ des m&#233;langes de latex, pour les latex vulcanis&#233;s ou les
951
+ dispersions artificielles de caoutchouc, et elle n&#8217;est pas
952
+ applicable aux latex d&#8217;&#233;lastom&#232;res.
953
+ </abstract>
954
+ <status>
955
+ <stage>90</stage>
956
+ <substage>93</substage>
957
+ </status>
958
+ <copyright>
959
+ <from>2005</from>
960
+ <owner>
961
+ <organization>
962
+ <name>ISO</name>
963
+ </organization>
964
+ </owner>
965
+ </copyright>
966
+ <relation type='obsoletes'>
967
+ <bibitem type='standard'>
968
+ <formattedref format='text/plain'>ISO 126:1995</formattedref>
969
+ </bibitem>
970
+ </relation>
971
+ <place>Geneva</place>
972
+ </bibitem>
973
+ </relation>
974
+ <place>Geneva</place>
975
+ </bibitem>
976
+ </relation>
977
+ <relation type='updates'>
978
+ <description>amends</description>
979
+ <bibitem type='standard'>
980
+ <fetched/>
981
+ <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
982
+ <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
983
+ <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex&#8201;&#8212;&#8201;Sampling</title>
984
+ <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
985
+ <title type='title-main' format='text/plain' language='fr' script='Latn'>&#201;chantillonnage</title>
986
+ <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc&#8201;&#8212;&#8201;&#201;chantillonnage</title>
987
+ <uri type='src'>https://www.iso.org/standard/23281.html</uri>
988
+ <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
989
+ <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
990
+ <docidentifier type='ISO'>ISO 123</docidentifier>
991
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en,fr</docidentifier>
992
+ <docnumber>123</docnumber>
993
+ <contributor>
994
+ <role type='publisher'/>
995
+ <organization>
996
+ <name>International Organization for Standardization</name>
997
+ <abbreviation>ISO</abbreviation>
998
+ <uri>www.iso.org</uri>
999
+ </organization>
1000
+ </contributor>
1001
+ <edition>3</edition>
1002
+ <language>en</language>
1003
+ <language>fr</language>
1004
+ <script>Latn</script>
1005
+ <status>
1006
+ <stage>90</stage>
1007
+ <substage>93</substage>
1008
+ </status>
1009
+ <copyright>
1010
+ <from>2001</from>
1011
+ <owner>
1012
+ <organization>
1013
+ <name>ISO</name>
1014
+ </organization>
1015
+ </owner>
1016
+ </copyright>
1017
+ <relation type='obsoletes'>
1018
+ <bibitem type='standard'>
1019
+ <formattedref format='text/plain'>ISO 123:1985</formattedref>
1020
+ </bibitem>
1021
+ </relation>
1022
+ <relation type='instance'>
1023
+ <bibitem type='standard'>
1024
+ <fetched/>
1025
+ <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
1026
+ <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
1027
+ <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex&#8201;&#8212;&#8201;Sampling</title>
1028
+ <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
1029
+ <title type='title-main' format='text/plain' language='fr' script='Latn'>&#201;chantillonnage</title>
1030
+ <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc&#8201;&#8212;&#8201;&#201;chantillonnage</title>
1031
+ <uri type='src'>https://www.iso.org/standard/23281.html</uri>
1032
+ <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
1033
+ <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
1034
+ <docidentifier type='ISO'>ISO 123:2001</docidentifier>
1035
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en,fr</docidentifier>
1036
+ <docnumber>123</docnumber>
1037
+ <date type='published'>
1038
+ <on>2001-05</on>
1039
+ </date>
1040
+ <contributor>
1041
+ <role type='publisher'/>
1042
+ <organization>
1043
+ <name>International Organization for Standardization</name>
1044
+ <abbreviation>ISO</abbreviation>
1045
+ <uri>www.iso.org</uri>
1046
+ </organization>
1047
+ </contributor>
1048
+ <edition>3</edition>
1049
+ <language>en</language>
1050
+ <language>fr</language>
1051
+ <script>Latn</script>
1052
+ <abstract format='text/plain' language='en' script='Latn'>
1053
+ This International Standard specifies procedures for sampling
1054
+ natural rubber latex concentrate and for sampling synthetic rubber
1055
+ latices and artificial latices. It is also suitable for sampling
1056
+ rubber latex contained in drums, tank cars or tanks. The
1057
+ procedures may also be used for sampling plastics dispersions.
1058
+ </abstract>
1059
+ <abstract format='text/plain' language='fr' script='Latn'>
1060
+ La pr&#233;sente Norme internationale sp&#233;cifie des
1061
+ m&#233;thodes d&#8217;&#233;chantillonnage pour des
1062
+ concentr&#233;s de latex de caoutchouc naturel et pour
1063
+ &#233;chantillonner des latex de caoutchouc synth&#233;tique et
1064
+ des latex artificiels. Elle s&#8217;applique &#233;galement &#224;
1065
+ l&#8217;&#233;chantillonnage de latex de caoutchouc contenus dans
1066
+ des f&#251;ts, citernes routi&#232;res ou de stockage. Le mode
1067
+ op&#233;ratoire peut aussi &#234;tre utilis&#233; pour
1068
+ l&#8217;&#233;chantillonnage de dispersions de plastiques.
1069
+ </abstract>
1070
+ <status>
1071
+ <stage>90</stage>
1072
+ <substage>93</substage>
1073
+ </status>
1074
+ <copyright>
1075
+ <from>2001</from>
1076
+ <owner>
1077
+ <organization>
1078
+ <name>ISO</name>
1079
+ </organization>
1080
+ </owner>
1081
+ </copyright>
1082
+ <relation type='obsoletes'>
1083
+ <bibitem type='standard'>
1084
+ <formattedref format='text/plain'>ISO 123:1985</formattedref>
1085
+ </bibitem>
1086
+ </relation>
1087
+ <place>Geneva</place>
1088
+ </bibitem>
1089
+ </relation>
1090
+ <place>Geneva</place>
1091
+ </bibitem>
1092
+ </relation>
1093
+ <relation type='updates'>
1094
+ <description>amends</description>
1095
+ <bibitem type='standard'>
1096
+ <fetched/>
1097
+ <title type='title-intro' format='text/plain' language='en' script='Latn'>Latex, rubber</title>
1098
+ <title type='title-main' format='text/plain' language='en' script='Latn'>Determination of total solids content</title>
1099
+ <title type='main' format='text/plain' language='en' script='Latn'>Latex, rubber&#8201;&#8212;&#8201;Determination of total solids content</title>
1100
+ <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
1101
+ <title type='title-main' format='text/plain' language='fr' script='Latn'>D&#233;termination des mati&#232;res solides totales</title>
1102
+ <title type='main' format='text/plain' language='fr' script='Latn'>
1103
+ Latex de caoutchouc&#8201;&#8212;&#8201;D&#233;termination des
1104
+ mati&#232;res solides totales
1105
+ </title>
1106
+ <uri type='src'>https://www.iso.org/standard/61884.html</uri>
1107
+ <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
1108
+ <uri type='rss'>https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
1109
+ <docidentifier type='ISO'>ISO 124</docidentifier>
1110
+ <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7:en,fr</docidentifier>
1111
+ <docnumber>124</docnumber>
1112
+ <contributor>
1113
+ <role type='publisher'/>
1114
+ <organization>
1115
+ <name>International Organization for Standardization</name>
1116
+ <abbreviation>ISO</abbreviation>
1117
+ <uri>www.iso.org</uri>
1118
+ </organization>
1119
+ </contributor>
1120
+ <edition>7</edition>
1121
+ <language>en</language>
1122
+ <language>fr</language>
1123
+ <script>Latn</script>
1124
+ <status>
1125
+ <stage>90</stage>
1126
+ <substage>93</substage>
1127
+ </status>
1128
+ <copyright>
1129
+ <from>2014</from>
1130
+ <owner>
1131
+ <organization>
1132
+ <name>ISO</name>
1133
+ </organization>
1134
+ </owner>
1135
+ </copyright>
1136
+ <relation type='obsoletes'>
1137
+ <bibitem type='standard'>
1138
+ <formattedref format='text/plain'>ISO 124:2011</formattedref>
1139
+ </bibitem>
1140
+ </relation>
1141
+ <relation type='instance'>
1142
+ <bibitem type='standard'>
1143
+ <fetched/>
1144
+ <title type='title-intro' format='text/plain' language='en' script='Latn'>Latex, rubber</title>
1145
+ <title type='title-main' format='text/plain' language='en' script='Latn'>Determination of total solids content</title>
1146
+ <title type='main' format='text/plain' language='en' script='Latn'>Latex, rubber&#8201;&#8212;&#8201;Determination of total solids content</title>
1147
+ <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
1148
+ <title type='title-main' format='text/plain' language='fr' script='Latn'>D&#233;termination des mati&#232;res solides totales</title>
1149
+ <title type='main' format='text/plain' language='fr' script='Latn'>
1150
+ Latex de caoutchouc&#8201;&#8212;&#8201;D&#233;termination des
1151
+ mati&#232;res solides totales
1152
+ </title>
1153
+ <uri type='src'>https://www.iso.org/standard/61884.html</uri>
1154
+ <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
1155
+ <uri type='rss'>https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
1156
+ <docidentifier type='ISO'>ISO 124:2014</docidentifier>
1157
+ <docidentifier type='URN'>urn:iso:std:iso:124:stage-90.93:ed-7:en,fr</docidentifier>
1158
+ <docnumber>124</docnumber>
1159
+ <date type='published'>
1160
+ <on>2014-03</on>
1161
+ </date>
1162
+ <contributor>
1163
+ <role type='publisher'/>
1164
+ <organization>
1165
+ <name>International Organization for Standardization</name>
1166
+ <abbreviation>ISO</abbreviation>
1167
+ <uri>www.iso.org</uri>
1168
+ </organization>
1169
+ </contributor>
1170
+ <edition>7</edition>
1171
+ <language>en</language>
1172
+ <language>fr</language>
1173
+ <script>Latn</script>
1174
+ <abstract format='text/plain' language='en' script='Latn'>
1175
+ ISO 124:2014 specifies methods for the determination of the total
1176
+ solids content of natural rubber field and concentrated latices
1177
+ and synthetic rubber latex. These methods are not necessarily
1178
+ suitable for latex from natural sources other than the Hevea
1179
+ brasiliensis, for vulcanized latex, for compounded latex, or for
1180
+ artificial dispersions of rubber.
1181
+ </abstract>
1182
+ <abstract format='text/plain' language='fr' script='Latn'>
1183
+ L&#8217;ISO 124:2014 sp&#233;cifie des m&#233;thodes pour la
1184
+ d&#233;termination des mati&#232;res solides totales dans le latex
1185
+ de plantation, le latex de concentr&#233; de caoutchouc naturel et
1186
+ le latex de caoutchouc synth&#233;tique. Ces m&#233;thodes ne
1187
+ conviennent pas n&#233;cessairement au latex d&#8217;origine
1188
+ naturelle autre que celui de l&#8217;Hevea brasiliensis, au latex
1189
+ vulcanis&#233;, aux m&#233;langes de latex, ou aux dispersions
1190
+ artificielles de caoutchouc.
1191
+ </abstract>
1192
+ <status>
1193
+ <stage>90</stage>
1194
+ <substage>93</substage>
1195
+ </status>
1196
+ <copyright>
1197
+ <from>2014</from>
1198
+ <owner>
1199
+ <organization>
1200
+ <name>ISO</name>
1201
+ </organization>
1202
+ </owner>
1203
+ </copyright>
1204
+ <relation type='obsoletes'>
1205
+ <bibitem type='standard'>
1206
+ <formattedref format='text/plain'>ISO 124:2011</formattedref>
1207
+ </bibitem>
1208
+ </relation>
1209
+ <place>Geneva</place>
1210
+ </bibitem>
1211
+ </relation>
1212
+ <place>Geneva</place>
1213
+ </bibitem>
1214
+ </relation>
1215
+ <ext>
1216
+ <doctype>article</doctype>
1217
+ <editorialgroup>
1218
+ <technical-committee/>
1219
+ <subcommittee/>
1220
+ <workgroup/>
1221
+ </editorialgroup>
1222
+ <stagename>International standard</stagename>
1223
+ </ext>
1224
+ </bibdata>
1225
+ <sections> </sections>
1226
+ </iso-standard>
1227
+ OUTPUT
1228
+ end
1229
+ end
1230
+
724
1231
  it "reads scripts into blank HTML document" do
725
1232
  Asciidoctor.convert(<<~"INPUT", *OPTIONS)
726
1233
  = Document title