metanorma-standoc 2.2.6 → 2.2.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (146) hide show
  1. checksums.yaml +4 -4
  2. data/lib/metanorma/standoc/base.rb +3 -5
  3. data/lib/metanorma/standoc/biblio.rng +5 -0
  4. data/lib/metanorma/standoc/cleanup.rb +17 -17
  5. data/lib/metanorma/standoc/cleanup_amend.rb +2 -2
  6. data/lib/metanorma/standoc/cleanup_biblio.rb +2 -1
  7. data/lib/metanorma/standoc/cleanup_maths.rb +12 -4
  8. data/lib/metanorma/standoc/cleanup_section.rb +19 -9
  9. data/lib/metanorma/standoc/cleanup_symbols.rb +14 -7
  10. data/lib/metanorma/standoc/cleanup_text.rb +10 -4
  11. data/lib/metanorma/standoc/cleanup_toc.rb +1 -2
  12. data/lib/metanorma/standoc/cleanup_xref.rb +55 -14
  13. data/lib/metanorma/standoc/inline.rb +27 -12
  14. data/lib/metanorma/standoc/isodoc.rng +46 -12
  15. data/lib/metanorma/standoc/ref_utility.rb +1 -0
  16. data/lib/metanorma/standoc/render.rb +10 -1
  17. data/lib/metanorma/standoc/section.rb +10 -3
  18. data/lib/metanorma/standoc/utils.rb +6 -1
  19. data/lib/metanorma/standoc/validate.rb +1 -1
  20. data/lib/metanorma/standoc/version.rb +1 -1
  21. data/metanorma-standoc.gemspec +5 -2
  22. metadata +4 -128
  23. data/.github/workflows/automerge.yml +0 -31
  24. data/.github/workflows/rake.yml +0 -15
  25. data/.github/workflows/release.yml +0 -24
  26. data/Rakefile +0 -8
  27. data/bin/rspec +0 -18
  28. data/spec/assets/a1.adoc +0 -8
  29. data/spec/assets/a2.adoc +0 -10
  30. data/spec/assets/a3.adoc +0 -9
  31. data/spec/assets/a3a.adoc +0 -7
  32. data/spec/assets/a4.adoc +0 -4
  33. data/spec/assets/boilerplate.xml +0 -4
  34. data/spec/assets/codes.yml +0 -695
  35. data/spec/assets/correct.png +0 -0
  36. data/spec/assets/corrupt.png +0 -0
  37. data/spec/assets/header.html +0 -7
  38. data/spec/assets/html-override.css +0 -1
  39. data/spec/assets/html.scss +0 -13
  40. data/spec/assets/htmlcover.html +0 -4
  41. data/spec/assets/htmlintro.html +0 -5
  42. data/spec/assets/i18n.yaml +0 -17
  43. data/spec/assets/iso.adoc +0 -10
  44. data/spec/assets/iso.headless.html +0 -33
  45. data/spec/assets/iso.xml +0 -8
  46. data/spec/assets/iso123.rxl +0 -107
  47. data/spec/assets/rice_image1.png +0 -0
  48. data/spec/assets/scripts.html +0 -3
  49. data/spec/assets/std.css +0 -2
  50. data/spec/assets/word-override.css +0 -1
  51. data/spec/assets/word.scss +0 -13
  52. data/spec/assets/wordcover.html +0 -3
  53. data/spec/assets/wordintro.html +0 -4
  54. data/spec/assets/xref_error.adoc +0 -8
  55. data/spec/examples/103_01_02.html +0 -247
  56. data/spec/examples/codes_table.html +0 -3174
  57. data/spec/examples/datamodel/address_class_profile.adoc +0 -5
  58. data/spec/examples/datamodel/address_class_profile.presentation.xml +0 -14
  59. data/spec/examples/datamodel/address_component_profile.adoc +0 -5
  60. data/spec/examples/datamodel/blank_definition_profile.adoc +0 -5
  61. data/spec/examples/datamodel/common_models_diagram.adoc +0 -5
  62. data/spec/examples/datamodel/models/models/AddressClassProfile.yml +0 -90
  63. data/spec/examples/datamodel/models/models/AddressComponentProfile.yml +0 -63
  64. data/spec/examples/datamodel/models/models/AddressComponentSpecification.yml +0 -15
  65. data/spec/examples/datamodel/models/models/AddressProfile.yml +0 -36
  66. data/spec/examples/datamodel/models/models/AttributeProfile.yml +0 -32
  67. data/spec/examples/datamodel/models/models/InterchangeAddressClassProfile.yml +0 -79
  68. data/spec/examples/datamodel/models/models/Localization copy.yml +0 -23
  69. data/spec/examples/datamodel/models/models/Localization.yml +0 -23
  70. data/spec/examples/datamodel/models/models/ProfileCompliantAddress.yml +0 -36
  71. data/spec/examples/datamodel/models/models/ProfileCompliantAddressComponent.yml +0 -15
  72. data/spec/examples/datamodel/models/models/Signature.yml +0 -20
  73. data/spec/examples/datamodel/models/models/SignatureBlankDefinition.yml +0 -20
  74. data/spec/examples/datamodel/models/models/TextDirectionCode copy.yml +0 -16
  75. data/spec/examples/datamodel/models/models/TextDirectionCode.yml +0 -16
  76. data/spec/examples/datamodel/models/models/Validity.yml +0 -14
  77. data/spec/examples/datamodel/models/models/iso19160-1/Address.yml +0 -22
  78. data/spec/examples/datamodel/models/models/iso19160-1/AddressComponent.yml +0 -2
  79. data/spec/examples/datamodel/models/style.uml.inc +0 -37
  80. data/spec/examples/datamodel/models/views/CommonModels.yml +0 -9
  81. data/spec/examples/datamodel/models/views/TopDown.yml +0 -62
  82. data/spec/examples/datamodel/top_down_diagram.adoc +0 -5
  83. data/spec/examples/english.yaml +0 -69
  84. data/spec/examples/iso_123_.xml +0 -46
  85. data/spec/examples/iso_123_all_parts.xml +0 -46
  86. data/spec/examples/iso_123_no_year_note.xml +0 -47
  87. data/spec/examples/iso_124_.xml +0 -42
  88. data/spec/examples/iso_216_.xml +0 -48
  89. data/spec/examples/iso_iec_12382_.xml +0 -49
  90. data/spec/examples/rice.adoc +0 -715
  91. data/spec/examples/rice.preview.html +0 -1877
  92. data/spec/examples/rice.sh +0 -4
  93. data/spec/examples/rice_images/rice_image1.png +0 -0
  94. data/spec/examples/rice_images/rice_image2.png +0 -0
  95. data/spec/examples/rice_images/rice_image3_1.png +0 -0
  96. data/spec/examples/rice_images/rice_image3_2.png +0 -0
  97. data/spec/examples/rice_images/rice_image3_3.png +0 -0
  98. data/spec/fixtures/action_schemaexpg1.svg +0 -122
  99. data/spec/fixtures/datamodel_description_sections_tree.xml +0 -327
  100. data/spec/fixtures/diagram_definitions.lutaml +0 -22
  101. data/spec/fixtures/macros_datamodel/address_class_profile.xml +0 -149
  102. data/spec/fixtures/macros_datamodel/address_component_profile.xml +0 -71
  103. data/spec/fixtures/macros_datamodel/blank_definition_profile.xml +0 -51
  104. data/spec/fixtures/macros_datamodel/common_models_diagram.xml +0 -7
  105. data/spec/fixtures/macros_datamodel/top_down_diagram.xml +0 -7
  106. data/spec/fixtures/test.exp +0 -121
  107. data/spec/fixtures/test.xmi +0 -9250
  108. data/spec/metanorma/base_spec.rb +0 -1125
  109. data/spec/metanorma/biblio_spec.rb +0 -1012
  110. data/spec/metanorma/blank_spec.rb +0 -37
  111. data/spec/metanorma/blocks_spec.rb +0 -1784
  112. data/spec/metanorma/cleanup_blocks_spec.rb +0 -1099
  113. data/spec/metanorma/cleanup_sections_spec.rb +0 -1849
  114. data/spec/metanorma/cleanup_spec.rb +0 -1931
  115. data/spec/metanorma/cleanup_terms_spec.rb +0 -1543
  116. data/spec/metanorma/datamodel/attributes_table_preprocessor_spec.rb +0 -111
  117. data/spec/metanorma/datamodel/diagram_preprocessor_spec.rb +0 -72
  118. data/spec/metanorma/inline_spec.rb +0 -785
  119. data/spec/metanorma/isobib_cache_spec.rb +0 -742
  120. data/spec/metanorma/lists_spec.rb +0 -232
  121. data/spec/metanorma/macros_concept_spec.rb +0 -1052
  122. data/spec/metanorma/macros_json2text_spec.rb +0 -10
  123. data/spec/metanorma/macros_plantuml_spec.rb +0 -402
  124. data/spec/metanorma/macros_spec.rb +0 -1183
  125. data/spec/metanorma/macros_yaml2text_spec.rb +0 -10
  126. data/spec/metanorma/processor_spec.rb +0 -96
  127. data/spec/metanorma/refs_spec.rb +0 -2807
  128. data/spec/metanorma/reqt_spec.rb +0 -130
  129. data/spec/metanorma/section_spec.rb +0 -1325
  130. data/spec/metanorma/table_spec.rb +0 -474
  131. data/spec/metanorma/validate_spec.rb +0 -886
  132. data/spec/spec_helper.rb +0 -290
  133. data/spec/support/shared_examples/structured_data_2_text_preprocessor.rb +0 -781
  134. data/spec/vcr_cassettes/bsi16341.yml +0 -486
  135. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +0 -611
  136. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec1.yml +0 -149
  137. data/spec/vcr_cassettes/hide_refs.yml +0 -587
  138. data/spec/vcr_cassettes/isobib_get_123.yml +0 -149
  139. data/spec/vcr_cassettes/isobib_get_123_1.yml +0 -295
  140. data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +0 -385
  141. data/spec/vcr_cassettes/isobib_get_123_2.yml +0 -295
  142. data/spec/vcr_cassettes/isobib_get_123_2001.yml +0 -149
  143. data/spec/vcr_cassettes/isobib_get_124.yml +0 -149
  144. data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +0 -367
  145. data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +0 -560
  146. data/spec/vcr_cassettes/std-link.yml +0 -149
@@ -1,2807 +0,0 @@
1
- require "spec_helper"
2
- require "relaton_iso"
3
- require "relaton_ietf"
4
-
5
- RSpec.describe Metanorma::Standoc do
6
- it "processes simple ISO reference" do
7
- input = <<~INPUT
8
- #{ASCIIDOC_BLANK_HDR}
9
- [bibliography]
10
- == Normative References
11
-
12
- * [[[iso123,ISO 123]]] _Standard_
13
- * [[[iso124,(1)ISO 123]]] _Standard_
14
- INPUT
15
- output = <<~OUTPUT
16
- #{BLANK_HDR}
17
- <sections>
18
- </sections><bibliography><references id="_" obligation="informative" normative="true">
19
- <title>Normative references</title>
20
- #{NORM_REF_BOILERPLATE}
21
- <bibitem id="iso123" type="standard">
22
- <title format="text/plain">Standard</title>
23
- <docidentifier>ISO 123</docidentifier>
24
- <docnumber>123</docnumber>
25
- <contributor>
26
- <role type="publisher"/>
27
- <organization>
28
- <name>ISO</name>
29
- </organization>
30
- </contributor>
31
- </bibitem>
32
- <bibitem id='iso124' type='standard'>
33
- <title format='text/plain'>Standard</title>
34
- <docidentifier type='metanorma'>[1]</docidentifier>
35
- <docidentifier>ISO 123</docidentifier>
36
- <docnumber>123</docnumber>
37
- <contributor>
38
- <role type='publisher'/>
39
- <organization>
40
- <name>ISO</name>
41
- </organization>
42
- </contributor>
43
- </bibitem>
44
- </references>
45
- </bibliography>
46
- </standard-document>
47
- OUTPUT
48
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
49
- .to be_equivalent_to xmlpp(output)
50
- end
51
-
52
- it "processes simple ISO reference with date range" do
53
- input = <<~INPUT
54
- #{ASCIIDOC_BLANK_HDR}
55
- [bibliography]
56
- == Normative References
57
-
58
- * [[[iso123,ISO 123:1066-1067]]] _Standard_
59
- * [[[iso124,(1)ISO 123:1066-1067]]] _Standard_
60
- INPUT
61
- output = <<~OUTPUT
62
- #{BLANK_HDR}
63
- <sections>
64
- </sections><bibliography><references id="_" obligation="informative" normative="true">
65
- <title>Normative references</title>
66
- #{NORM_REF_BOILERPLATE}
67
- <bibitem id="iso123" type="standard">
68
- <title format="text/plain">Standard</title>
69
- <docidentifier>ISO 123:1066-1067</docidentifier>
70
- <docnumber>123</docnumber>
71
- <date type="published">
72
- <from>1066</from>
73
- <to>1067</to>
74
- </date>
75
- <contributor>
76
- <role type="publisher"/>
77
- <organization>
78
- <name>ISO</name>
79
- </organization>
80
- </contributor>
81
- </bibitem>
82
- <bibitem id="iso124" type="standard">
83
- <title format="text/plain">Standard</title>
84
- <docidentifier type='metanorma'>[1]</docidentifier>
85
- <docidentifier>ISO 123:1066-1067</docidentifier>
86
- <docnumber>123</docnumber>
87
- <date type="published">
88
- <from>1066</from>
89
- <to>1067</to>
90
- </date>
91
- <contributor>
92
- <role type="publisher"/>
93
- <organization>
94
- <name>ISO</name>
95
- </organization>
96
- </contributor>
97
- </bibitem>
98
- </references>
99
- </bibliography>
100
- </standard-document>
101
- OUTPUT
102
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
103
- .to be_equivalent_to xmlpp(output)
104
- end
105
-
106
- it "repairs simple fetched ISO reference" do
107
- mock_isobib_get_123_no_docid(2)
108
- mock_isobib_get_123_no_docid_lbl(2)
109
- input = <<~"INPUT"
110
- #{ISOBIB_BLANK_HDR}
111
-
112
- <<iso123>>
113
- <<iso124>>
114
-
115
- [bibliography]
116
- == Normative References
117
-
118
- * [[[iso123,ISO 123]]] _Standard_
119
- * [[[iso124,(1)ISO 123]]] _Standard_
120
- INPUT
121
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
122
- .to be_equivalent_to xmlpp(<<~"OUTPUT")
123
- #{BLANK_HDR}
124
- <preface>
125
- <foreword id='_' obligation='informative'>
126
- <title>Foreword</title>
127
- <p id='_'>
128
- <eref type='inline' bibitemid='iso123' citeas='ISO 123'/>
129
- <eref type='inline' bibitemid='iso124' citeas='[1]'/>
130
- </p>
131
- </foreword>
132
- </preface>
133
- <sections>
134
- </sections><bibliography><references id="_" obligation="informative" normative="true"><title>Normative references</title>
135
- #{NORM_REF_BOILERPLATE}
136
- <bibitem type="standard" id="iso123">
137
- <uri type="src">https://www.iso.org/standard/23281.html</uri>
138
- <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
139
- <uri type="rss">https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
140
- <date type="published">
141
- <on>2001</on>
142
- </date>
143
- <contributor>
144
- <role type="publisher"/>
145
- <organization>
146
- <name>International Organization for Standardization</name>
147
- <abbreviation>ISO</abbreviation>
148
- <uri>www.iso.org</uri>
149
- </organization>
150
- </contributor>
151
- <edition>3</edition>
152
- <language>en</language>
153
- <language>fr</language>
154
- <script>Latn</script>
155
- <status>
156
- <stage>Published</stage>
157
- </status>
158
- <copyright>
159
- <from>2001</from>
160
- <owner>
161
- <organization>
162
- <name>ISO</name>
163
- <abbreviation/>
164
- </organization>
165
- </owner>
166
- </copyright>
167
- <relation type="obsoletes">
168
- <bibitem type="standard">
169
- <formattedref format="text/plain">ISO 123:1985</formattedref>
170
- </bibitem>
171
- </relation>
172
- <relation type="updates">
173
- <bibitem type="standard">
174
- <formattedref format="text/plain">ISO 123:2001</formattedref>
175
- </bibitem>
176
- </relation>
177
- <docidentifier>ISO 123</docidentifier>
178
- <title><em>Standard</em></title>
179
- </bibitem>
180
- <bibitem type="standard" id="iso124">
181
- <uri type="src">https://www.iso.org/standard/23281.html</uri>
182
- <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
183
- <uri type="rss">https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
184
- <date type="published">
185
- <on>2001</on>
186
- </date>
187
- <contributor>
188
- <role type="publisher"/>
189
- <organization>
190
- <name>International Organization for Standardization</name>
191
- <abbreviation>ISO</abbreviation>
192
- <uri>www.iso.org</uri>
193
- </organization>
194
- </contributor>
195
- <edition>3</edition>
196
- <language>en</language>
197
- <language>fr</language>
198
- <script>Latn</script>
199
- <status>
200
- <stage>Published</stage>
201
- </status>
202
- <copyright>
203
- <from>2001</from>
204
- <owner>
205
- <organization>
206
- <name>ISO</name>
207
- <abbreviation/>
208
- </organization>
209
- </owner>
210
- </copyright>
211
- <relation type="obsoletes">
212
- <bibitem type="standard">
213
- <formattedref format="text/plain">ISO 123:1985</formattedref>
214
- </bibitem>
215
- </relation>
216
- <relation type="updates">
217
- <bibitem type="standard">
218
- <formattedref format="text/plain">ISO 123:2001</formattedref>
219
- </bibitem>
220
- </relation>
221
- <docidentifier>ISO 123</docidentifier>
222
- <docidentifier type='metanorma'>[1]</docidentifier>
223
- <title><em>Standard</em></title>
224
- </bibitem>
225
- </references></bibliography>
226
- </standard-document>
227
- OUTPUT
228
- expect do
229
- Asciidoctor.convert(input, *OPTIONS)
230
- end.to output(/ERROR: No document identifier retrieved for ISO 123/)
231
- .to_stderr
232
- end
233
-
234
- it "customises docidentifier by language" do
235
- mock_rfcbib_get_rfc8342(3)
236
- mock_rfcbib_get_rfc8343(3)
237
- input = <<~"INPUT"
238
- #{ISOBIB_BLANK_HDR}
239
-
240
- <<iso123>>
241
- <<iso124>>
242
-
243
- [bibliography]
244
- == Normative References
245
-
246
- * [[[iso123,ISO 8342]]] _Standard_
247
- * [[[iso124,ISO 8343]]] _Standard_
248
- INPUT
249
- doc = Asciidoctor.convert(input
250
- .sub(/:novalid:/, ":language: de\n:novalid:"), *OPTIONS)
251
- expect(doc).to include '<eref type="inline" bibitemid="iso123" citeas="ISO 8342-DE"/>'
252
- expect(doc).to include '<eref type="inline" bibitemid="iso124" citeas="ISO 8343-DE"/>'
253
- doc = Asciidoctor.convert(input
254
- .sub(/:novalid:/, ":language: fr\n:novalid:"), *OPTIONS)
255
- expect(doc).to include '<eref type="inline" bibitemid="iso123" citeas="ISO 8342-EN"/>'
256
- expect(doc).to include '<eref type="inline" bibitemid="iso124" citeas="ISO 8343-FR"/>'
257
- doc = Asciidoctor.convert(input
258
- .sub(/:novalid:/, ":language: en\n:novalid:"), *OPTIONS)
259
- expect(doc).to include '<eref type="inline" bibitemid="iso123" citeas="ISO 8342-EN"/>'
260
- expect(doc).to include '<eref type="inline" bibitemid="iso124" citeas="ISO 8341"/>'
261
- end
262
-
263
- it "fetches simple ISO reference" do
264
- VCR.use_cassette "isobib_get_123_1" do
265
- input = <<~INPUT
266
- #{ISOBIB_BLANK_HDR}
267
- [bibliography]
268
- == Normative References
269
-
270
- * [[[iso123,ISO 123]]] _Standard_
271
- * [[[iso124,(1)ISO 123]]] _Standard_
272
- INPUT
273
- output = <<~OUTPUT
274
- #{BLANK_HDR}
275
- <sections>
276
-
277
- </sections><bibliography><references id="_" obligation="informative" normative="true"><title>Normative references</title>
278
- #{NORM_REF_BOILERPLATE}
279
- <bibitem id='iso123' type='standard'>
280
- <fetched/>
281
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
282
- <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
283
- <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex&#8201;&#8212;&#8201;Sampling</title>
284
- <uri type='src'>https://www.iso.org/standard/23281.html</uri>
285
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
286
- <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
287
- <docidentifier type='ISO' primary="true">ISO 123</docidentifier>
288
- <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
289
- <docnumber>123</docnumber>
290
- <contributor>
291
- <role type='publisher'/>
292
- <organization>
293
- <name>International Organization for Standardization</name>
294
- <abbreviation>ISO</abbreviation>
295
- <uri>www.iso.org</uri>
296
- </organization>
297
- </contributor>
298
- <edition>3</edition>
299
- <language>en</language>
300
- <script>Latn</script>
301
- <status>
302
- <stage>90</stage>
303
- <substage>93</substage>
304
- </status>
305
- <copyright>
306
- <from>2001</from>
307
- <owner>
308
- <organization>
309
- <name>ISO</name>
310
- </organization>
311
- </owner>
312
- </copyright>
313
- <relation type='obsoletes'>
314
- <bibitem type='standard'>
315
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
316
- <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
317
- </bibitem>
318
- </relation>
319
- <relation type='instance'>
320
- <bibitem type='standard'>
321
- <fetched/>
322
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
323
- <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
324
- <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex&#8201;&#8212;&#8201;Sampling</title>
325
- <uri type='src'>https://www.iso.org/standard/23281.html</uri>
326
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
327
- <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
328
- <docidentifier type='ISO' primary="true">ISO 123:2001</docidentifier>
329
- <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
330
- <docnumber>123</docnumber>
331
- <date type='published'>
332
- <on>2001-05</on>
333
- </date>
334
- <contributor>
335
- <role type='publisher'/>
336
- <organization>
337
- <name>International Organization for Standardization</name>
338
- <abbreviation>ISO</abbreviation>
339
- <uri>www.iso.org</uri>
340
- </organization>
341
- </contributor>
342
- <edition>3</edition>
343
- <language>en</language>
344
- <script>Latn</script>
345
- <abstract format='text/plain' language='en' script='Latn'>
346
- This International Standard specifies procedures for sampling
347
- natural rubber latex concentrate and for sampling synthetic rubber
348
- latices and artificial latices. It is also suitable for sampling
349
- rubber latex contained in drums, tank cars or tanks. The
350
- procedures may also be used for sampling plastics dispersions.
351
- </abstract>
352
- <status>
353
- <stage>90</stage>
354
- <substage>93</substage>
355
- </status>
356
- <copyright>
357
- <from>2001</from>
358
- <owner>
359
- <organization>
360
- <name>ISO</name>
361
- </organization>
362
- </owner>
363
- </copyright>
364
- <relation type='obsoletes'>
365
- <bibitem type='standard'>
366
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
367
- <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
368
- </bibitem>
369
- </relation>
370
- <place>Geneva</place>
371
- </bibitem>
372
- </relation>
373
- <place>Geneva</place>
374
- </bibitem>
375
- <bibitem id='iso124' type='standard'>
376
- <fetched/>
377
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
378
- <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
379
- <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex&#8201;&#8212;&#8201;Sampling</title>
380
- <uri type='src'>https://www.iso.org/standard/23281.html</uri>
381
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
382
- <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
383
- <docidentifier type='ISO' primary="true">ISO 123</docidentifier>
384
- <docidentifier type='metanorma'>[1]</docidentifier>
385
- <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
386
- <docnumber>123</docnumber>
387
- <contributor>
388
- <role type='publisher'/>
389
- <organization>
390
- <name>International Organization for Standardization</name>
391
- <abbreviation>ISO</abbreviation>
392
- <uri>www.iso.org</uri>
393
- </organization>
394
- </contributor>
395
- <edition>3</edition>
396
- <language>en</language>
397
- <script>Latn</script>
398
- <status>
399
- <stage>90</stage>
400
- <substage>93</substage>
401
- </status>
402
- <copyright>
403
- <from>2001</from>
404
- <owner>
405
- <organization>
406
- <name>ISO</name>
407
- </organization>
408
- </owner>
409
- </copyright>
410
- <relation type='obsoletes'>
411
- <bibitem type='standard'>
412
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
413
- <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
414
- </bibitem>
415
- </relation>
416
- <relation type='instance'>
417
- <bibitem type='standard'>
418
- <fetched/>
419
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
420
- <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
421
- <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex&#8201;&#8212;&#8201;Sampling</title>
422
- <uri type='src'>https://www.iso.org/standard/23281.html</uri>
423
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
424
- <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
425
- <docidentifier type='ISO' primary="true">ISO 123:2001</docidentifier>
426
- <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
427
- <docnumber>123</docnumber>
428
- <date type='published'>
429
- <on>2001-05</on>
430
- </date>
431
- <contributor>
432
- <role type='publisher'/>
433
- <organization>
434
- <name>International Organization for Standardization</name>
435
- <abbreviation>ISO</abbreviation>
436
- <uri>www.iso.org</uri>
437
- </organization>
438
- </contributor>
439
- <edition>3</edition>
440
- <language>en</language>
441
- <script>Latn</script>
442
- <abstract format='text/plain' language='en' script='Latn'>
443
- This International Standard specifies procedures for sampling
444
- natural rubber latex concentrate and for sampling synthetic rubber
445
- latices and artificial latices. It is also suitable for sampling
446
- rubber latex contained in drums, tank cars or tanks. The
447
- procedures may also be used for sampling plastics dispersions.
448
- </abstract>
449
- <status>
450
- <stage>90</stage>
451
- <substage>93</substage>
452
- </status>
453
- <copyright>
454
- <from>2001</from>
455
- <owner>
456
- <organization>
457
- <name>ISO</name>
458
- </organization>
459
- </owner>
460
- </copyright>
461
- <relation type='obsoletes'>
462
- <bibitem type='standard'>
463
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
464
- <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
465
- </bibitem>
466
- </relation>
467
- <place>Geneva</place>
468
- </bibitem>
469
- </relation>
470
- <place>Geneva</place>
471
- </bibitem>
472
- </references>
473
- </bibliography>
474
- </standard-document>
475
- OUTPUT
476
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
477
- .to be_equivalent_to xmlpp(output)
478
- end
479
- end
480
-
481
- it "fetches simple ISO reference in French" do
482
- VCR.use_cassette "isobib_get_123_1_fr" do
483
- input = <<~INPUT
484
- = Document title
485
- Author
486
- :docfile: test.adoc
487
- :nodoc:
488
- :novalid:
489
- :no-isobib-cache:
490
- :language: fr
491
-
492
- [bibliography]
493
- == Normative References
494
-
495
- * [[[iso123,ISO 123]]] _Standard_
496
- * [[[iso124,(1)ISO 123]]] _Standard_
497
- INPUT
498
- output = <<~OUTPUT
499
- #{BLANK_HDR.sub(%r{<language>en</language>}, '<language>fr</language>')}
500
- <sections> </sections>
501
- <bibliography>
502
- <references id='_' normative='true' obligation='informative'>
503
- <title>R&#233;f&#233;rences normatives</title>
504
- <p id='_'>
505
- Les documents suivants cit&#233;s dans le texte constituent, pour tout
506
- ou partie de leur contenu, des exigences du pr&#233;sent document. Pour
507
- les r&#233;f&#233;rences dat&#233;es, seule l&#8217;&#233;dition
508
- cit&#233;e s&#8217;applique. Pour les r&#233;f&#233;rences non
509
- dat&#233;es, la derni&#232;re &#233;dition du document de
510
- r&#233;f&#233;rence s&#8217;applique (y compris les &#233;ventuels
511
- amendements).
512
- </p>
513
- <bibitem id='iso123' type='standard'>
514
- <fetched/>
515
- <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
516
- <title type='title-main' format='text/plain' language='fr' script='Latn'>&#201;chantillonnage</title>
517
- <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc&#8201;&#8212;&#8201;&#201;chantillonnage</title>
518
- <uri type='src'>https://www.iso.org/standard/23281.html</uri>
519
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
520
- <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
521
- <docidentifier type='ISO' primary="true">ISO 123</docidentifier>
522
- <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
523
- <docnumber>123</docnumber>
524
- <contributor>
525
- <role type='publisher'/>
526
- <organization>
527
- <name>International Organization for Standardization</name>
528
- <abbreviation>ISO</abbreviation>
529
- <uri>www.iso.org</uri>
530
- </organization>
531
- </contributor>
532
- <edition>3</edition>
533
- <language>en</language>
534
- <language>fr</language>
535
- <script>Latn</script>
536
- <status>
537
- <stage>90</stage>
538
- <substage>93</substage>
539
- </status>
540
- <copyright>
541
- <from>2001</from>
542
- <owner>
543
- <organization>
544
- <name>ISO</name>
545
- </organization>
546
- </owner>
547
- </copyright>
548
- <relation type='obsoletes'>
549
- <bibitem type='standard'>
550
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
551
- <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
552
- </bibitem>
553
- </relation>
554
- <relation type='instance'>
555
- <bibitem type='standard'>
556
- <fetched/>
557
- <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
558
- <title type='title-main' format='text/plain' language='fr' script='Latn'>&#201;chantillonnage</title>
559
- <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc&#8201;&#8212;&#8201;&#201;chantillonnage</title>
560
- <uri type='src'>https://www.iso.org/standard/23281.html</uri>
561
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
562
- <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
563
- <docidentifier type='ISO' primary="true">ISO 123:2001</docidentifier>
564
- <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
565
- <docnumber>123</docnumber>
566
- <date type='published'>
567
- <on>2001-05</on>
568
- </date>
569
- <contributor>
570
- <role type='publisher'/>
571
- <organization>
572
- <name>International Organization for Standardization</name>
573
- <abbreviation>ISO</abbreviation>
574
- <uri>www.iso.org</uri>
575
- </organization>
576
- </contributor>
577
- <edition>3</edition>
578
- <language>en</language>
579
- <language>fr</language>
580
- <script>Latn</script>
581
- <abstract format='text/plain' language='fr' script='Latn'>
582
- La pr&#233;sente Norme internationale sp&#233;cifie des
583
- m&#233;thodes d&#8217;&#233;chantillonnage pour des
584
- concentr&#233;s de latex de caoutchouc naturel et pour
585
- &#233;chantillonner des latex de caoutchouc synth&#233;tique et
586
- des latex artificiels. Elle s&#8217;applique &#233;galement &#224;
587
- l&#8217;&#233;chantillonnage de latex de caoutchouc contenus dans
588
- des f&#251;ts, citernes routi&#232;res ou de stockage. Le mode
589
- op&#233;ratoire peut aussi &#234;tre utilis&#233; pour
590
- l&#8217;&#233;chantillonnage de dispersions de plastiques.
591
- </abstract>
592
- <status>
593
- <stage>90</stage>
594
- <substage>93</substage>
595
- </status>
596
- <copyright>
597
- <from>2001</from>
598
- <owner>
599
- <organization>
600
- <name>ISO</name>
601
- </organization>
602
- </owner>
603
- </copyright>
604
- <relation type='obsoletes'>
605
- <bibitem type='standard'>
606
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
607
- <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
608
- </bibitem>
609
- </relation>
610
- <place>Geneva</place>
611
- </bibitem>
612
- </relation>
613
- <place>Geneva</place>
614
- </bibitem>
615
- <bibitem id='iso124' type='standard'>
616
- <fetched/>
617
- <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
618
- <title type='title-main' format='text/plain' language='fr' script='Latn'>&#201;chantillonnage</title>
619
- <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc&#8201;&#8212;&#8201;&#201;chantillonnage</title>
620
- <uri type='src'>https://www.iso.org/standard/23281.html</uri>
621
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
622
- <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
623
- <docidentifier type='ISO' primary="true">ISO 123</docidentifier>
624
- <docidentifier type='metanorma'>[1]</docidentifier>
625
- <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
626
- <docnumber>123</docnumber>
627
- <contributor>
628
- <role type='publisher'/>
629
- <organization>
630
- <name>International Organization for Standardization</name>
631
- <abbreviation>ISO</abbreviation>
632
- <uri>www.iso.org</uri>
633
- </organization>
634
- </contributor>
635
- <edition>3</edition>
636
- <language>en</language>
637
- <language>fr</language>
638
- <script>Latn</script>
639
- <status>
640
- <stage>90</stage>
641
- <substage>93</substage>
642
- </status>
643
- <copyright>
644
- <from>2001</from>
645
- <owner>
646
- <organization>
647
- <name>ISO</name>
648
- </organization>
649
- </owner>
650
- </copyright>
651
- <relation type='obsoletes'>
652
- <bibitem type='standard'>
653
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
654
- <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
655
- </bibitem>
656
- </relation>
657
- <relation type='instance'>
658
- <bibitem type='standard'>
659
- <fetched/>
660
- <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
661
- <title type='title-main' format='text/plain' language='fr' script='Latn'>&#201;chantillonnage</title>
662
- <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc&#8201;&#8212;&#8201;&#201;chantillonnage</title>
663
- <uri type='src'>https://www.iso.org/standard/23281.html</uri>
664
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
665
- <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
666
- <docidentifier type='ISO' primary="true">ISO 123:2001</docidentifier>
667
- <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
668
- <docnumber>123</docnumber>
669
- <date type='published'>
670
- <on>2001-05</on>
671
- </date>
672
- <contributor>
673
- <role type='publisher'/>
674
- <organization>
675
- <name>International Organization for Standardization</name>
676
- <abbreviation>ISO</abbreviation>
677
- <uri>www.iso.org</uri>
678
- </organization>
679
- </contributor>
680
- <edition>3</edition>
681
- <language>en</language>
682
- <language>fr</language>
683
- <script>Latn</script>
684
- <abstract format='text/plain' language='fr' script='Latn'>
685
- La pr&#233;sente Norme internationale sp&#233;cifie des
686
- m&#233;thodes d&#8217;&#233;chantillonnage pour des
687
- concentr&#233;s de latex de caoutchouc naturel et pour
688
- &#233;chantillonner des latex de caoutchouc synth&#233;tique et
689
- des latex artificiels. Elle s&#8217;applique &#233;galement &#224;
690
- l&#8217;&#233;chantillonnage de latex de caoutchouc contenus dans
691
- des f&#251;ts, citernes routi&#232;res ou de stockage. Le mode
692
- op&#233;ratoire peut aussi &#234;tre utilis&#233; pour
693
- l&#8217;&#233;chantillonnage de dispersions de plastiques.
694
- </abstract>
695
- <status>
696
- <stage>90</stage>
697
- <substage>93</substage>
698
- </status>
699
- <copyright>
700
- <from>2001</from>
701
- <owner>
702
- <organization>
703
- <name>ISO</name>
704
- </organization>
705
- </owner>
706
- </copyright>
707
- <relation type='obsoletes'>
708
- <bibitem type='standard'>
709
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
710
- <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
711
- </bibitem>
712
- </relation>
713
- <place>Geneva</place>
714
- </bibitem>
715
- </relation>
716
- <place>Geneva</place>
717
- </bibitem>
718
- </references>
719
- </bibliography>
720
- </standard-document>
721
- OUTPUT
722
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
723
- .to be_equivalent_to xmlpp(output)
724
- end
725
- end
726
-
727
- it "processes simple IEC reference" do
728
- input = <<~INPUT
729
- #{ASCIIDOC_BLANK_HDR}
730
- [bibliography]
731
- == Normative References
732
-
733
- * [[[iso123,IEC 123]]] _Standard_
734
- * [[[iso124,(1)IEC 123]]] _Standard_
735
- INPUT
736
- output = <<~OUTPUT
737
- #{BLANK_HDR}
738
- <sections>
739
- </sections><bibliography><references id="_" obligation="informative" normative="true">
740
- <title>Normative references</title>
741
- #{NORM_REF_BOILERPLATE}
742
- <bibitem id="iso123" type="standard">
743
- <title format="text/plain">Standard</title>
744
- <docidentifier>IEC 123</docidentifier>
745
- <docnumber>123</docnumber>
746
- <contributor>
747
- <role type="publisher"/>
748
- <organization>
749
- <name>IEC</name>
750
- </organization>
751
- </contributor>
752
- </bibitem>
753
- <bibitem id='iso124' type='standard'>
754
- <title format='text/plain'>Standard</title>
755
- <docidentifier type='metanorma'>[1]</docidentifier>
756
- <docidentifier>IEC 123</docidentifier>
757
- <docnumber>123</docnumber>
758
- <contributor>
759
- <role type='publisher'/>
760
- <organization>
761
- <name>IEC</name>
762
- </organization>
763
- </contributor>
764
- </bibitem>
765
- </references>
766
- </bibliography>
767
- </standard-document>
768
- OUTPUT
769
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
770
- .to be_equivalent_to xmlpp(output)
771
- end
772
-
773
- it "processes dated ISO reference and joint ISO/IEC references" do
774
- VCR.use_cassette("dated_iso_ref_joint_iso_iec",
775
- match_requests_on: %i[method uri body]) do
776
- input = <<~INPUT
777
- #{ISOBIB_BLANK_HDR}
778
- [bibliography]
779
- == Normative References
780
-
781
- * [[[iso123,ISO/IEC TR 12382:1992]]] _Standard_
782
- * [[[iso124,ISO 124:2014]]] _Standard_
783
- * [[[iso125,(1)ISO/IEC TR 12382:1992]]] _Standard_
784
- * [[[iso126,(1)ISO 124:2014]]] _Standard_
785
- INPUT
786
- output = <<~OUTPUT
787
- #{BLANK_HDR}
788
- <sections>
789
-
790
- </sections><bibliography><references id="_" obligation="informative" normative="true">
791
- <title>Normative references</title>
792
- #{NORM_REF_BOILERPLATE}
793
- <bibitem type="standard" id="iso123">
794
- <fetched/>
795
- <title type="title-main" format="text/plain" language="en" script="Latn">Permuted index of the vocabulary of information technology</title>
796
- <title type="main" format="text/plain" language="en" script="Latn">Permuted index of the vocabulary of information technology</title>
797
- <uri type="src">https://www.iso.org/standard/21071.html</uri>
798
- <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:21071:en</uri>
799
- <uri type="rss">https://www.iso.org/contents/data/standard/02/10/21071.detail.rss</uri>
800
- <docidentifier type="ISO" primary="true">ISO/IEC TR 12382:1992</docidentifier>
801
- <docidentifier type='URN'>urn:iso:std:iso-iec:tr:12382:ed-2</docidentifier>
802
- <docnumber>12382</docnumber>
803
- <date type="published">
804
- <on>1992-12</on>
805
- </date>
806
- <contributor>
807
- <role type="publisher"/>
808
- <organization>
809
- <name>International Organization for Standardization</name>
810
- <abbreviation>ISO</abbreviation>
811
- <uri>www.iso.org</uri>
812
- </organization>
813
- </contributor>
814
- <contributor>
815
- <role type="publisher"/>
816
- <organization>
817
- <name>International Electrotechnical Commission</name>
818
- <abbreviation>IEC</abbreviation>
819
- <uri>www.iec.ch</uri>
820
- </organization>
821
- </contributor>
822
- <edition>2</edition>
823
- <language>en</language>
824
- <script>Latn</script>
825
- <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>
826
- <status>
827
- <stage>90</stage>
828
- <substage>93</substage>
829
- </status>
830
- <copyright>
831
- <from>1992</from>
832
- <owner>
833
- <organization>
834
- <name>ISO/IEC</name>
835
- </organization>
836
- </owner>
837
- </copyright>
838
- <place>Geneva</place>
839
- </bibitem>
840
- <bibitem id="iso124" type="standard">
841
- <fetched/>
842
- <title type="title-intro" format="text/plain" language="en" script="Latn">Latex, rubber</title>
843
- <title type="title-main" format="text/plain" language="en" script="Latn">Determination of total solids content</title>
844
- <title type='main' format='text/plain' language='en' script='Latn'>Latex, rubber — Determination of total solids content</title>
845
- <uri type="src">https://www.iso.org/standard/61884.html</uri>
846
- <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
847
- <uri type="rss">https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
848
- <docidentifier type="ISO" primary="true">ISO 124:2014</docidentifier>
849
- <docidentifier type='URN'>urn:iso:std:iso:124:ed-7</docidentifier>
850
- <docnumber>124</docnumber>
851
- <date type="published">
852
- <on>2014-03</on>
853
- </date>
854
- <contributor>
855
- <role type="publisher"/>
856
- <organization>
857
- <name>International Organization for Standardization</name>
858
- <abbreviation>ISO</abbreviation>
859
- <uri>www.iso.org</uri>
860
- </organization>
861
- </contributor>
862
- <edition>7</edition>
863
- <language>en</language>
864
- <script>Latn</script>
865
- <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>
866
- <status>
867
- <stage>90</stage>
868
- <substage>93</substage>
869
- </status>
870
- <copyright>
871
- <from>2014</from>
872
- <owner>
873
- <organization>
874
- <name>ISO</name>
875
- </organization>
876
- </owner>
877
- </copyright>
878
- <relation type="obsoletes">
879
- <bibitem type="standard">
880
- <formattedref format="text/plain">ISO 124:2011</formattedref>
881
- <docidentifier type='ISO' primary='true'>ISO 124:2011</docidentifier>
882
- </bibitem>
883
- </relation>
884
- <place>Geneva</place>
885
- </bibitem>
886
- <bibitem id="iso125" type="standard">
887
- <fetched/>
888
- <title type="title-main" format="text/plain" language="en" script="Latn">Permuted index of the vocabulary of information technology</title>
889
- <title type='main' format='text/plain' language='en' script='Latn'>Permuted index of the vocabulary of information technology</title>
890
- <uri type="src">https://www.iso.org/standard/21071.html</uri>
891
- <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:21071:en</uri>
892
- <uri type="rss">https://www.iso.org/contents/data/standard/02/10/21071.detail.rss</uri>
893
- <docidentifier type="ISO" primary="true">ISO/IEC TR 12382:1992</docidentifier>
894
- <docidentifier type='metanorma'>[1]</docidentifier>
895
- <docidentifier type='URN'>urn:iso:std:iso-iec:tr:12382:ed-2</docidentifier>
896
- <docnumber>12382</docnumber>
897
- <date type="published">
898
- <on>1992-12</on>
899
- </date>
900
- <contributor>
901
- <role type="publisher"/>
902
- <organization>
903
- <name>International Organization for Standardization</name>
904
- <abbreviation>ISO</abbreviation>
905
- <uri>www.iso.org</uri>
906
- </organization>
907
- </contributor>
908
- <contributor>
909
- <role type="publisher"/>
910
- <organization>
911
- <name>International Electrotechnical Commission</name>
912
- <abbreviation>IEC</abbreviation>
913
- <uri>www.iec.ch</uri>
914
- </organization>
915
- </contributor>
916
- <edition>2</edition>
917
- <language>en</language>
918
- <script>Latn</script>
919
- <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>
920
- <status>
921
- <stage>90</stage>
922
- <substage>93</substage>
923
- </status>
924
- <copyright>
925
- <from>1992</from>
926
- <owner>
927
- <organization>
928
- <name>ISO/IEC</name>
929
- </organization>
930
- </owner>
931
- </copyright>
932
- <place>Geneva</place>
933
- </bibitem>
934
- <bibitem id="iso126" type="standard">
935
- <fetched/>
936
- <title type="title-intro" format="text/plain" language="en" script="Latn">Latex, rubber</title>
937
- <title type="title-main" format="text/plain" language="en" script="Latn">Determination of total solids content</title>
938
- <title type='main' format='text/plain' language='en' script='Latn'>Latex, rubber — Determination of total solids content</title>
939
- <uri type="src">https://www.iso.org/standard/61884.html</uri>
940
- <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
941
- <uri type="rss">https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
942
- <docidentifier type="ISO" primary="true">ISO 124:2014</docidentifier>
943
- <docidentifier type='metanorma'>[1]</docidentifier>
944
- <docidentifier type='URN'>urn:iso:std:iso:124:ed-7</docidentifier>
945
- <docnumber>124</docnumber>
946
- <date type="published">
947
- <on>2014-03</on>
948
- </date>
949
- <contributor>
950
- <role type="publisher"/>
951
- <organization>
952
- <name>International Organization for Standardization</name>
953
- <abbreviation>ISO</abbreviation>
954
- <uri>www.iso.org</uri>
955
- </organization>
956
- </contributor>
957
- <edition>7</edition>
958
- <language>en</language>
959
- <script>Latn</script>
960
- <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>
961
- <status>
962
- <stage>90</stage>
963
- <substage>93</substage>
964
- </status>
965
- <copyright>
966
- <from>2014</from>
967
- <owner>
968
- <organization>
969
- <name>ISO</name>
970
- </organization>
971
- </owner>
972
- </copyright>
973
- <relation type="obsoletes">
974
- <bibitem type="standard">
975
- <formattedref format="text/plain">ISO 124:2011</formattedref>
976
- <docidentifier type='ISO' primary='true'>ISO 124:2011</docidentifier>
977
- </bibitem>
978
- </relation>
979
- <place>Geneva</place>
980
- </bibitem>
981
- </references></bibliography>
982
- </standard-document>
983
-
984
- OUTPUT
985
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
986
- .to be_equivalent_to xmlpp(output)
987
- end
988
- end
989
-
990
- it "declines to fetch individual references" do
991
- VCR.use_cassette "dated_iso_ref_joint_iso_iec1" do
992
- input = <<~INPUT
993
- #{ISOBIB_BLANK_HDR}
994
- [bibliography]
995
- == Normative References
996
-
997
- * [[[iso123,nofetch(ISO/IEC TR 12382:1992)]]] _Standard_
998
- * [[[iso124,ISO 124:2014]]] _Standard_
999
- INPUT
1000
- output = <<~OUTPUT
1001
- #{BLANK_HDR}
1002
- <sections>
1003
-
1004
- </sections><bibliography><references id="_" normative="true" obligation="informative" >
1005
- <title>Normative references</title>
1006
- #{NORM_REF_BOILERPLATE}
1007
- <bibitem id='iso123'>
1008
- <formattedref format='application/x-isodoc+xml'>
1009
- <em>Standard</em>
1010
- </formattedref>
1011
- <docidentifier type='ISO'>ISO/IEC TR 12382:1992</docidentifier>
1012
- <docnumber>12382</docnumber>
1013
- <date type='published'><on>1992</on></date>
1014
- </bibitem>
1015
- <bibitem id='iso124' type='standard'>
1016
- <fetched/>
1017
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Latex, rubber</title>
1018
- <title type='title-main' format='text/plain' language='en' script='Latn'>Determination of total solids content</title>
1019
- <title type='main' format='text/plain' language='en' script='Latn'>Latex, rubber — Determination of total solids content</title>
1020
- <uri type='src'>https://www.iso.org/standard/61884.html</uri>
1021
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
1022
- <uri type='rss'>https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
1023
- <docidentifier type='ISO' primary="true">ISO 124:2014</docidentifier>
1024
- <docidentifier type='URN'>urn:iso:std:iso:124:ed-7</docidentifier>
1025
- <docnumber>124</docnumber>
1026
- <date type='published'>
1027
- <on>2014-03</on>
1028
- </date>
1029
- <contributor>
1030
- <role type='publisher'/>
1031
- <organization>
1032
- <name>International Organization for Standardization</name>
1033
- <abbreviation>ISO</abbreviation>
1034
- <uri>www.iso.org</uri>
1035
- </organization>
1036
- </contributor>
1037
- <edition>7</edition>
1038
- <language>en</language>
1039
- <script>Latn</script>
1040
- <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>
1041
- <status>
1042
- <stage>90</stage>
1043
- <substage>93</substage>
1044
- </status>
1045
- <copyright>
1046
- <from>2014</from>
1047
- <owner>
1048
- <organization>
1049
- <name>ISO</name>
1050
- </organization>
1051
- </owner>
1052
- </copyright>
1053
- <relation type='obsoletes'>
1054
- <bibitem type='standard'>
1055
- <formattedref format='text/plain'>ISO 124:2011</formattedref>
1056
- <docidentifier type='ISO' primary='true'>ISO 124:2011</docidentifier>
1057
- </bibitem>
1058
- </relation>
1059
- <place>Geneva</place>
1060
- </bibitem>
1061
- </references></bibliography></standard-document>
1062
- OUTPUT
1063
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
1064
- .to be_equivalent_to xmlpp(output)
1065
- end
1066
- end
1067
-
1068
- it "suppress identifier on bibitem" do
1069
- VCR.use_cassette "dated_iso_ref_joint_iso_iec1" do
1070
- input = <<~INPUT
1071
- #{ISOBIB_BLANK_HDR}
1072
- [bibliography]
1073
- == Normative References
1074
-
1075
- * [[[iso123,dropid(ABC)]]] _Standard_
1076
- * [[[iso124,dropid(ISO 124:2014)]]] _Standard_
1077
- INPUT
1078
- doc = Nokogiri::XML(Asciidoctor.convert(input, *OPTIONS))
1079
- expect(doc.at("//xmlns:bibitem[@id = 'iso123']/@suppress_identifier")&.text)
1080
- .to eq("true")
1081
- expect(doc.at("//xmlns:bibitem[@id = 'iso124']/@suppress_identifier")&.text)
1082
- .to eq("true")
1083
- end
1084
- end
1085
-
1086
- it "hides individual references" do
1087
- VCR.use_cassette "hide_refs",
1088
- match_requests_on: %i[method uri body] do
1089
- input = <<~INPUT
1090
- #{ISOBIB_BLANK_HDR}
1091
- [bibliography]
1092
- == Normative References
1093
-
1094
- * [[[iso123,hidden(ISO 124)]]] _Standard_
1095
- * [[[iso124,ISO 125]]] _Standard_
1096
-
1097
- [bibliography]
1098
- == Bibliography
1099
-
1100
- * [[[iso125,hidden(ISO 125)]]] _Standard_
1101
- * [[[iso126,hidden(XYZ)]]] _Standard_
1102
- * [[[iso127,ISO 124]]] _Standard_
1103
- * [[[iso128,ABC]]] _Standard_
1104
- INPUT
1105
- output = <<~OUTPUT
1106
- #{BLANK_HDR}
1107
- <sections>
1108
-
1109
- </sections><bibliography><references id="_" normative="true" obligation="informative" >
1110
- <title>Normative references</title>
1111
- #{NORM_REF_BOILERPLATE}
1112
- <bibitem id='iso123' type='standard' hidden='true'>
1113
- <fetched/>
1114
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Latex, rubber</title>
1115
- <title type='title-main' format='text/plain' language='en' script='Latn'>Determination of total solids content</title>
1116
- <title type='main' format='text/plain' language='en' script='Latn'>Latex, rubber&#8201;&#8212;&#8201;Determination of total solids content</title>
1117
- <uri type='src'>https://www.iso.org/standard/61884.html</uri>
1118
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
1119
- <uri type='rss'>https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
1120
- <docidentifier type='ISO' primary="true">ISO 124</docidentifier>
1121
- <docidentifier type='URN'>urn:iso:std:iso:124:ed-7</docidentifier>
1122
- <docnumber>124</docnumber>
1123
- <contributor>
1124
- <role type='publisher'/>
1125
- <organization>
1126
- <name>International Organization for Standardization</name>
1127
- <abbreviation>ISO</abbreviation>
1128
- <uri>www.iso.org</uri>
1129
- </organization>
1130
- </contributor>
1131
- <edition>7</edition>
1132
- <language>en</language>
1133
- <script>Latn</script>
1134
- <status>
1135
- <stage>90</stage>
1136
- <substage>93</substage>
1137
- </status>
1138
- <copyright>
1139
- <from>2014</from>
1140
- <owner>
1141
- <organization>
1142
- <name>ISO</name>
1143
- </organization>
1144
- </owner>
1145
- </copyright>
1146
- <relation type='obsoletes'>
1147
- <bibitem type='standard'>
1148
- <formattedref format='text/plain'>ISO 124:2011</formattedref>
1149
- <docidentifier type='ISO' primary='true'>ISO 124:2011</docidentifier>
1150
- </bibitem>
1151
- </relation>
1152
- <relation type='instance'>
1153
- <bibitem type='standard'>
1154
- <fetched/>
1155
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Latex, rubber</title>
1156
- <title type='title-main' format='text/plain' language='en' script='Latn'>Determination of total solids content</title>
1157
- <title type='main' format='text/plain' language='en' script='Latn'>Latex, rubber&#8201;&#8212;&#8201;Determination of total solids content</title>
1158
- <uri type='src'>https://www.iso.org/standard/61884.html</uri>
1159
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
1160
- <uri type='rss'>https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
1161
- <docidentifier type='ISO' primary="true">ISO 124:2014</docidentifier>
1162
- <docidentifier type='URN'>urn:iso:std:iso:124:ed-7</docidentifier>
1163
- <docnumber>124</docnumber>
1164
- <date type='published'>
1165
- <on>2014-03</on>
1166
- </date>
1167
- <contributor>
1168
- <role type='publisher'/>
1169
- <organization>
1170
- <name>International Organization for Standardization</name>
1171
- <abbreviation>ISO</abbreviation>
1172
- <uri>www.iso.org</uri>
1173
- </organization>
1174
- </contributor>
1175
- <edition>7</edition>
1176
- <language>en</language>
1177
- <script>Latn</script>
1178
- <abstract format='text/plain' language='en' script='Latn'>
1179
- ISO 124:2014 specifies methods for the determination of the total
1180
- solids content of natural rubber field and concentrated latices
1181
- and synthetic rubber latex. These methods are not necessarily
1182
- suitable for latex from natural sources other than the Hevea
1183
- brasiliensis, for vulcanized latex, for compounded latex, or for
1184
- artificial dispersions of rubber.
1185
- </abstract>
1186
- <status>
1187
- <stage>90</stage>
1188
- <substage>93</substage>
1189
- </status>
1190
- <copyright>
1191
- <from>2014</from>
1192
- <owner>
1193
- <organization>
1194
- <name>ISO</name>
1195
- </organization>
1196
- </owner>
1197
- </copyright>
1198
- <relation type='obsoletes'>
1199
- <bibitem type='standard'>
1200
- <formattedref format='text/plain'>ISO 124:2011</formattedref>
1201
- <docidentifier type='ISO' primary='true'>ISO 124:2011</docidentifier>
1202
- </bibitem>
1203
- </relation>
1204
- <place>Geneva</place>
1205
- </bibitem>
1206
- </relation>
1207
- <place>Geneva</place>
1208
- </bibitem>
1209
- <bibitem id='iso124' type='standard'>
1210
- <fetched/>
1211
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Natural rubber latex concentrate</title>
1212
- <title type='title-main' format='text/plain' language='en' script='Latn'>Determination of alkalinity</title>
1213
- <title type='main' format='text/plain' language='en' script='Latn'>
1214
- Natural rubber latex concentrate&#8201;&#8212;&#8201;Determination of
1215
- alkalinity
1216
- </title>
1217
- <uri type='src'>https://www.iso.org/standard/72849.html</uri>
1218
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:72849:en</uri>
1219
- <uri type='rss'>https://www.iso.org/contents/data/standard/07/28/72849.detail.rss</uri>
1220
- <docidentifier type='ISO' primary="true">ISO 125</docidentifier>
1221
- <docidentifier type='URN'>urn:iso:std:iso:125:ed-7</docidentifier>
1222
- <docnumber>125</docnumber>
1223
- <contributor>
1224
- <role type='publisher'/>
1225
- <organization>
1226
- <name>International Organization for Standardization</name>
1227
- <abbreviation>ISO</abbreviation>
1228
- <uri>www.iso.org</uri>
1229
- </organization>
1230
- </contributor>
1231
- <edition>7</edition>
1232
- <language>en</language>
1233
- <script>Latn</script>
1234
- <status>
1235
- <stage>60</stage>
1236
- <substage>60</substage>
1237
- </status>
1238
- <copyright>
1239
- <from>2020</from>
1240
- <owner>
1241
- <organization>
1242
- <name>ISO</name>
1243
- </organization>
1244
- </owner>
1245
- </copyright>
1246
- <relation type='obsoletes'>
1247
- <bibitem type='standard'>
1248
- <formattedref format='text/plain'>ISO 125:2011</formattedref>
1249
- <docidentifier type='ISO' primary='true'>ISO 125:2011</docidentifier>
1250
- </bibitem>
1251
- </relation>
1252
- <relation type='instance'>
1253
- <bibitem type='standard'>
1254
- <fetched/>
1255
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Natural rubber latex concentrate</title>
1256
- <title type='title-main' format='text/plain' language='en' script='Latn'>Determination of alkalinity</title>
1257
- <title type='main' format='text/plain' language='en' script='Latn'>
1258
- Natural rubber latex concentrate&#8201;&#8212;&#8201;Determination
1259
- of alkalinity
1260
- </title>
1261
- <uri type='src'>https://www.iso.org/standard/72849.html</uri>
1262
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:72849:en</uri>
1263
- <uri type='rss'>https://www.iso.org/contents/data/standard/07/28/72849.detail.rss</uri>
1264
- <docidentifier type='ISO' primary="true">ISO 125:2020</docidentifier>
1265
- <docidentifier type='URN'>urn:iso:std:iso:125:ed-7</docidentifier>
1266
- <docnumber>125</docnumber>
1267
- <date type='published'>
1268
- <on>2020-02</on>
1269
- </date>
1270
- <contributor>
1271
- <role type='publisher'/>
1272
- <organization>
1273
- <name>International Organization for Standardization</name>
1274
- <abbreviation>ISO</abbreviation>
1275
- <uri>www.iso.org</uri>
1276
- </organization>
1277
- </contributor>
1278
- <edition>7</edition>
1279
- <language>en</language>
1280
- <script>Latn</script>
1281
- <abstract format='text/plain' language='en' script='Latn'>
1282
- This document specifies a method for the determination of the
1283
- alkalinity of natural rubber latex concentrate. The method is not
1284
- necessarily suitable for latices from natural sources other than
1285
- Hevea brasiliensis or for synthetic rubber latices, compounded
1286
- latex, vulcanized latex or artificial dispersions of rubber. NOTE
1287
- A method for the determination of the alkalinity of
1288
- polychloroprene latex is specified in ISO 13773.
1289
- </abstract>
1290
- <status>
1291
- <stage>60</stage>
1292
- <substage>60</substage>
1293
- </status>
1294
- <copyright>
1295
- <from>2020</from>
1296
- <owner>
1297
- <organization>
1298
- <name>ISO</name>
1299
- </organization>
1300
- </owner>
1301
- </copyright>
1302
- <relation type='obsoletes'>
1303
- <bibitem type='standard'>
1304
- <formattedref format='text/plain'>ISO 125:2011</formattedref>
1305
- <docidentifier type='ISO' primary='true'>ISO 125:2011</docidentifier>
1306
- </bibitem>
1307
- </relation>
1308
- <place>Geneva</place>
1309
- </bibitem>
1310
- </relation>
1311
- <place>Geneva</place>
1312
- </bibitem>
1313
- </references>
1314
- <references id='_' normative='false' obligation='informative'>
1315
- <title>Bibliography</title>
1316
- <bibitem id='iso125' type='standard' hidden='true'>
1317
- <fetched/>
1318
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Natural rubber latex concentrate</title>
1319
- <title type='title-main' format='text/plain' language='en' script='Latn'>Determination of alkalinity</title>
1320
- <title type='main' format='text/plain' language='en' script='Latn'>
1321
- Natural rubber latex concentrate&#8201;&#8212;&#8201;Determination of
1322
- alkalinity
1323
- </title>
1324
- <uri type='src'>https://www.iso.org/standard/72849.html</uri>
1325
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:72849:en</uri>
1326
- <uri type='rss'>https://www.iso.org/contents/data/standard/07/28/72849.detail.rss</uri>
1327
- <docidentifier type='ISO' primary="true">ISO 125</docidentifier>
1328
- <docidentifier type='URN'>urn:iso:std:iso:125:ed-7</docidentifier>
1329
- <docnumber>125</docnumber>
1330
- <contributor>
1331
- <role type='publisher'/>
1332
- <organization>
1333
- <name>International Organization for Standardization</name>
1334
- <abbreviation>ISO</abbreviation>
1335
- <uri>www.iso.org</uri>
1336
- </organization>
1337
- </contributor>
1338
- <edition>7</edition>
1339
- <language>en</language>
1340
- <script>Latn</script>
1341
- <status>
1342
- <stage>60</stage>
1343
- <substage>60</substage>
1344
- </status>
1345
- <copyright>
1346
- <from>2020</from>
1347
- <owner>
1348
- <organization>
1349
- <name>ISO</name>
1350
- </organization>
1351
- </owner>
1352
- </copyright>
1353
- <relation type='obsoletes'>
1354
- <bibitem type='standard'>
1355
- <formattedref format='text/plain'>ISO 125:2011</formattedref>
1356
- <docidentifier type='ISO' primary='true'>ISO 125:2011</docidentifier>
1357
- </bibitem>
1358
- </relation>
1359
- <relation type='instance'>
1360
- <bibitem type='standard'>
1361
- <fetched/>
1362
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Natural rubber latex concentrate</title>
1363
- <title type='title-main' format='text/plain' language='en' script='Latn'>Determination of alkalinity</title>
1364
- <title type='main' format='text/plain' language='en' script='Latn'>
1365
- Natural rubber latex concentrate&#8201;&#8212;&#8201;Determination
1366
- of alkalinity
1367
- </title>
1368
- <uri type='src'>https://www.iso.org/standard/72849.html</uri>
1369
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:72849:en</uri>
1370
- <uri type='rss'>https://www.iso.org/contents/data/standard/07/28/72849.detail.rss</uri>
1371
- <docidentifier type='ISO' primary="true">ISO 125:2020</docidentifier>
1372
- <docidentifier type='URN'>urn:iso:std:iso:125:ed-7</docidentifier>
1373
- <docnumber>125</docnumber>
1374
- <date type='published'>
1375
- <on>2020-02</on>
1376
- </date>
1377
- <contributor>
1378
- <role type='publisher'/>
1379
- <organization>
1380
- <name>International Organization for Standardization</name>
1381
- <abbreviation>ISO</abbreviation>
1382
- <uri>www.iso.org</uri>
1383
- </organization>
1384
- </contributor>
1385
- <edition>7</edition>
1386
- <language>en</language>
1387
- <script>Latn</script>
1388
- <abstract format='text/plain' language='en' script='Latn'>
1389
- This document specifies a method for the determination of the
1390
- alkalinity of natural rubber latex concentrate. The method is not
1391
- necessarily suitable for latices from natural sources other than
1392
- Hevea brasiliensis or for synthetic rubber latices, compounded
1393
- latex, vulcanized latex or artificial dispersions of rubber. NOTE
1394
- A method for the determination of the alkalinity of
1395
- polychloroprene latex is specified in ISO 13773.
1396
- </abstract>
1397
- <status>
1398
- <stage>60</stage>
1399
- <substage>60</substage>
1400
- </status>
1401
- <copyright>
1402
- <from>2020</from>
1403
- <owner>
1404
- <organization>
1405
- <name>ISO</name>
1406
- </organization>
1407
- </owner>
1408
- </copyright>
1409
- <relation type='obsoletes'>
1410
- <bibitem type='standard'>
1411
- <formattedref format='text/plain'>ISO 125:2011</formattedref>
1412
- <docidentifier type='ISO' primary='true'>ISO 125:2011</docidentifier>
1413
- </bibitem>
1414
- </relation>
1415
- <place>Geneva</place>
1416
- </bibitem>
1417
- </relation>
1418
- <place>Geneva</place>
1419
- </bibitem>
1420
- <bibitem id='iso126' hidden='true'>
1421
- <formattedref format='application/x-isodoc+xml'>
1422
- <em>Standard</em>
1423
- </formattedref>
1424
- <docidentifier>XYZ</docidentifier>
1425
- </bibitem>
1426
- <bibitem id='iso127' type='standard'>
1427
- <fetched/>
1428
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Latex, rubber</title>
1429
- <title type='title-main' format='text/plain' language='en' script='Latn'>Determination of total solids content</title>
1430
- <title type='main' format='text/plain' language='en' script='Latn'>Latex, rubber&#8201;&#8212;&#8201;Determination of total solids content</title>
1431
- <uri type='src'>https://www.iso.org/standard/61884.html</uri>
1432
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
1433
- <uri type='rss'>https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
1434
- <docidentifier type='ISO' primary="true">ISO 124</docidentifier>
1435
- <docidentifier type='URN'>urn:iso:std:iso:124:ed-7</docidentifier>
1436
- <docnumber>124</docnumber>
1437
- <contributor>
1438
- <role type='publisher'/>
1439
- <organization>
1440
- <name>International Organization for Standardization</name>
1441
- <abbreviation>ISO</abbreviation>
1442
- <uri>www.iso.org</uri>
1443
- </organization>
1444
- </contributor>
1445
- <edition>7</edition>
1446
- <language>en</language>
1447
- <script>Latn</script>
1448
- <status>
1449
- <stage>90</stage>
1450
- <substage>93</substage>
1451
- </status>
1452
- <copyright>
1453
- <from>2014</from>
1454
- <owner>
1455
- <organization>
1456
- <name>ISO</name>
1457
- </organization>
1458
- </owner>
1459
- </copyright>
1460
- <relation type='obsoletes'>
1461
- <bibitem type='standard'>
1462
- <formattedref format='text/plain'>ISO 124:2011</formattedref>
1463
- <docidentifier type='ISO' primary='true'>ISO 124:2011</docidentifier>
1464
- </bibitem>
1465
- </relation>
1466
- <relation type='instance'>
1467
- <bibitem type='standard'>
1468
- <fetched/>
1469
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Latex, rubber</title>
1470
- <title type='title-main' format='text/plain' language='en' script='Latn'>Determination of total solids content</title>
1471
- <title type='main' format='text/plain' language='en' script='Latn'>Latex, rubber&#8201;&#8212;&#8201;Determination of total solids content</title>
1472
- <uri type='src'>https://www.iso.org/standard/61884.html</uri>
1473
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
1474
- <uri type='rss'>https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
1475
- <docidentifier type='ISO' primary="true">ISO 124:2014</docidentifier>
1476
- <docidentifier type='URN'>urn:iso:std:iso:124:ed-7</docidentifier>
1477
- <docnumber>124</docnumber>
1478
- <date type='published'>
1479
- <on>2014-03</on>
1480
- </date>
1481
- <contributor>
1482
- <role type='publisher'/>
1483
- <organization>
1484
- <name>International Organization for Standardization</name>
1485
- <abbreviation>ISO</abbreviation>
1486
- <uri>www.iso.org</uri>
1487
- </organization>
1488
- </contributor>
1489
- <edition>7</edition>
1490
- <language>en</language>
1491
- <script>Latn</script>
1492
- <abstract format='text/plain' language='en' script='Latn'>
1493
- ISO 124:2014 specifies methods for the determination of the total
1494
- solids content of natural rubber field and concentrated latices
1495
- and synthetic rubber latex. These methods are not necessarily
1496
- suitable for latex from natural sources other than the Hevea
1497
- brasiliensis, for vulcanized latex, for compounded latex, or for
1498
- artificial dispersions of rubber.
1499
- </abstract>
1500
- <status>
1501
- <stage>90</stage>
1502
- <substage>93</substage>
1503
- </status>
1504
- <copyright>
1505
- <from>2014</from>
1506
- <owner>
1507
- <organization>
1508
- <name>ISO</name>
1509
- </organization>
1510
- </owner>
1511
- </copyright>
1512
- <relation type='obsoletes'>
1513
- <bibitem type='standard'>
1514
- <formattedref format='text/plain'>ISO 124:2011</formattedref>
1515
- <docidentifier type='ISO' primary='true'>ISO 124:2011</docidentifier>
1516
- </bibitem>
1517
- </relation>
1518
- <place>Geneva</place>
1519
- </bibitem>
1520
- </relation>
1521
- <place>Geneva</place>
1522
- </bibitem>
1523
- <bibitem id='iso128'>
1524
- <formattedref format='application/x-isodoc+xml'>
1525
- <em>Standard</em>
1526
- </formattedref>
1527
- <docidentifier>ABC</docidentifier>
1528
- </bibitem>
1529
- </references>
1530
- </bibliography>
1531
- </standard-document>
1532
- OUTPUT
1533
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
1534
- .to be_equivalent_to xmlpp(output)
1535
- end
1536
- end
1537
-
1538
- it "processes draft ISO reference" do
1539
- # stub_fetch_ref no_year: true, note: "The standard is in press"
1540
-
1541
- input = <<~INPUT
1542
- #{ASCIIDOC_BLANK_HDR}
1543
- [bibliography]
1544
- == Normative References
1545
-
1546
- * [[[iso123,ISO 123:--]]] _Standard_
1547
- * [[[iso124,ISO 124:—]]]{blank}footnote:[The standard is in press] _Standard_
1548
- * [[[iso125,ISO 125:&ndash;]]], footnote:[The standard is in press] _Standard_
1549
- * [[[iso126,(1)ISO 123:--]]] _Standard_
1550
- INPUT
1551
- output = <<~OUTPUT
1552
- #{BLANK_HDR}
1553
- <sections>
1554
- </sections><bibliography><references id="_" obligation="informative" normative="true">
1555
- <title>Normative references</title>
1556
- #{NORM_REF_BOILERPLATE}
1557
- <bibitem id="iso123" type="standard">
1558
- <title format="text/plain">Standard</title>
1559
- <docidentifier>ISO 123:—</docidentifier>
1560
- <docnumber>123</docnumber>
1561
- <date type="published">
1562
- <on>–</on>
1563
- </date>
1564
- <contributor>
1565
- <role type="publisher"/>
1566
- <organization>
1567
- <name>ISO</name>
1568
- </organization>
1569
- </contributor>
1570
- </bibitem>
1571
- <bibitem id="iso124" type="standard">
1572
- <title format="text/plain">Standard</title>
1573
- <docidentifier>ISO 124:—</docidentifier>
1574
- <docnumber>124</docnumber>
1575
- <date type="published">
1576
- <on>–</on>
1577
- </date>
1578
- <contributor>
1579
- <role type="publisher"/>
1580
- <organization>
1581
- <name>ISO</name>
1582
- </organization>
1583
- </contributor>
1584
- <note format="text/plain" type="Unpublished-Status">The standard is in press</note>
1585
- </bibitem>
1586
- <bibitem id="iso125" type="standard">
1587
- <title format="text/plain">Standard</title>
1588
- <docidentifier>ISO 125:—</docidentifier>
1589
- <docnumber>125</docnumber>
1590
- <date type="published">
1591
- <on>–</on>
1592
- </date>
1593
- <contributor>
1594
- <role type="publisher"/>
1595
- <organization>
1596
- <name>ISO</name>
1597
- </organization>
1598
- </contributor>
1599
- <note format="text/plain" type="Unpublished-Status">The standard is in press</note>
1600
- </bibitem>
1601
- <bibitem id='iso126' type='standard'>
1602
- <title format='text/plain'>Standard</title>
1603
- <docidentifier type='metanorma'>[1]</docidentifier>
1604
- <docidentifier>ISO 123:—</docidentifier>
1605
- <docnumber>123</docnumber>
1606
- <date type='published'>
1607
- <on>–</on>
1608
- </date>
1609
- <contributor>
1610
- <role type='publisher'/>
1611
- <organization>
1612
- <name>ISO</name>
1613
- </organization>
1614
- </contributor>
1615
- </bibitem>
1616
- </references>
1617
- </bibliography>
1618
- </standard-document>
1619
- OUTPUT
1620
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
1621
- .to be_equivalent_to xmlpp(output)
1622
- end
1623
-
1624
- it "processes all-parts ISO reference" do
1625
- input = <<~INPUT
1626
- #{ASCIIDOC_BLANK_HDR}
1627
- [bibliography]
1628
- == Normative References
1629
-
1630
- * [[[iso123,ISO 123:1066 (all parts)]]] _Standard_
1631
- * [[[iso124,(1)ISO 123:1066 (all parts)]]] _Standard_
1632
- INPUT
1633
- output = <<~OUTPUT
1634
- #{BLANK_HDR}
1635
- <sections>
1636
- </sections><bibliography><references id="_" obligation="informative" normative="true">
1637
- <title>Normative references</title>
1638
- #{NORM_REF_BOILERPLATE}
1639
- <bibitem id="iso123" type="standard">
1640
- <title format="text/plain">Standard</title>
1641
- <docidentifier>ISO 123:1066 (all parts)</docidentifier>
1642
- <docnumber>123</docnumber>
1643
- <date type="published">
1644
- <on>1066</on>
1645
- </date>
1646
- <contributor>
1647
- <role type="publisher"/>
1648
- <organization>
1649
- <name>ISO</name>
1650
- </organization>
1651
- </contributor>
1652
- <extent type="part">
1653
- <referenceFrom>all</referenceFrom>
1654
- </extent>
1655
- </bibitem>
1656
- <bibitem id='iso124' type='standard'>
1657
- <title format='text/plain'>Standard</title>
1658
- <docidentifier type='metanorma'>[1]</docidentifier>
1659
- <docidentifier>ISO 123:1066 (all parts)</docidentifier>
1660
- <docnumber>123</docnumber>
1661
- <date type='published'>
1662
- <on>1066</on>
1663
- </date>
1664
- <contributor>
1665
- <role type='publisher'/>
1666
- <organization>
1667
- <name>ISO</name>
1668
- </organization>
1669
- </contributor>
1670
- <extent type='part'>
1671
- <referenceFrom>all</referenceFrom>
1672
- </extent>
1673
- </bibitem>
1674
- </references>
1675
- </bibliography>
1676
- </standard-document>
1677
- OUTPUT
1678
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
1679
- .to be_equivalent_to xmlpp(output)
1680
- end
1681
-
1682
- it "processes BSI reference with year" do
1683
- VCR.use_cassette("bsi16341",
1684
- match_requests_on: %i[method uri body]) do
1685
- input = <<~INPUT
1686
- #{ISOBIB_BLANK_HDR}
1687
- [bibliography]
1688
- == Normative References
1689
-
1690
- * [[[iso124,BSI BS EN ISO 19011:2018]]] _Standard_
1691
- * [[[iso123,BSI BS EN 16341]]] _Standard_
1692
- * [[[ref_2,BSI BS EN ISO 14044:2006+A2:2020]]], _Environmental management – Life cycle assessment – Requirements and guidelines_
1693
- INPUT
1694
- output = Nokogiri::XML(Asciidoctor.convert(input, *OPTIONS))
1695
- .xpath("//xmlns:docidentifier[@type = 'BSI']").map(&:text)
1696
- expect(output).to include("BS EN ISO 14044:2006+A2:2020")
1697
- expect(output).to include("BS EN 16341:2012")
1698
- expect(output).to include("BS EN 16341")
1699
- expect(output).not_to include("BS EN ISO 19011")
1700
- expect(output).to include("BS EN ISO 19011:2018")
1701
- end
1702
- end
1703
-
1704
- it "processes RFC reference in Normative References" do
1705
- VCR.use_cassette "rfcbib_get_rfc8341" do
1706
- input = <<~INPUT
1707
- #{ISOBIB_BLANK_HDR}
1708
- [bibliography]
1709
- == Normative References
1710
-
1711
- * [[[iso123,IETF(RFC 8341)]]], _Standard_
1712
- * [[[iso124,(1)IETF(RFC 8341)]]], _Standard_
1713
-
1714
- == Clause 4
1715
-
1716
- <<iso123>>
1717
- INPUT
1718
- output = <<~OUTPUT
1719
- #{BLANK_HDR}
1720
- <sections>
1721
- <clause id="_" inline-header="false" obligation="normative">
1722
- <title>Clause 4</title>
1723
- <p id="_">
1724
- <eref type="inline" bibitemid="iso123" citeas="IETF RFC 8341"/>
1725
- </p>
1726
- </clause>
1727
- </sections><bibliography><references id="_" obligation="informative" normative="true">
1728
- <title>Normative references</title>
1729
- #{NORM_REF_BOILERPLATE}
1730
- <bibitem id='iso123' type='standard'>
1731
- <fetched/>
1732
- <title type='main' format='text/plain'>Network Configuration Access Control Model</title>
1733
- <uri type='src'>https://www.rfc-editor.org/info/rfc8341</uri>
1734
- <docidentifier type='IETF' primary='true'>RFC 8341</docidentifier>
1735
- <docidentifier type='DOI'>10.17487/RFC8341</docidentifier>
1736
- <docnumber>RFC8341</docnumber>
1737
- <date type='published'>
1738
- <on>2018-03</on>
1739
- </date>
1740
- <contributor>
1741
- <role type='author'/>
1742
- <person>
1743
- <name>
1744
- <completename language='en' script='Latn'>A. Bierman</completename>
1745
- </name>
1746
- </person>
1747
- </contributor>
1748
- <contributor>
1749
- <role type='author'/>
1750
- <person>
1751
- <name>
1752
- <completename language='en' script='Latn'>M. Bjorklund</completename>
1753
- </name>
1754
- </person>
1755
- </contributor>
1756
- <language>en</language>
1757
- <script>Latn</script>
1758
- <abstract format='text/html' language='en' script='Latn'>
1759
- <p id='_'>
1760
- The standardization of network configuration interfaces for use with
1761
- the Network Configuration Protocol (NETCONF) or the RESTCONF
1762
- protocol requires a structured and secure operating environment that
1763
- promotes human usability and multi-vendor interoperability. There is
1764
- a need for standard mechanisms to restrict NETCONF or RESTCONF
1765
- protocol access for particular users to a preconfigured subset of
1766
- all available NETCONF or RESTCONF protocol operations and content.
1767
- This document defines such an access control model.
1768
- </p>
1769
- <p id='_'>This document obsoletes RFC 6536.</p>
1770
- </abstract>
1771
- <series>
1772
- <title format='text/plain'>STD</title>
1773
- <number>91</number>
1774
- </series>
1775
- <series>
1776
- <title format='text/plain'>RFC</title>
1777
- <number>8341</number>
1778
- </series>
1779
- <keyword>NETCONF RESTCONF</keyword>
1780
- <keyword>YANG</keyword>
1781
- <keyword>XML</keyword>
1782
- </bibitem>
1783
- <bibitem id='iso124' type='standard'>
1784
- <fetched/>
1785
- <title type='main' format='text/plain'>Network Configuration Access Control Model</title>
1786
- <uri type='src'>https://www.rfc-editor.org/info/rfc8341</uri>
1787
- <docidentifier type='IETF' primary='true'>RFC 8341</docidentifier>
1788
- <docidentifier type='metanorma'>[1]</docidentifier>
1789
- <docidentifier type='DOI'>10.17487/RFC8341</docidentifier>
1790
- <docnumber>RFC8341</docnumber>
1791
- <date type='published'>
1792
- <on>2018-03</on>
1793
- </date>
1794
- <contributor>
1795
- <role type='author'/>
1796
- <person>
1797
- <name>
1798
- <completename language='en' script='Latn'>A. Bierman</completename>
1799
- </name>
1800
- </person>
1801
- </contributor>
1802
- <contributor>
1803
- <role type='author'/>
1804
- <person>
1805
- <name>
1806
- <completename language='en' script='Latn'>M. Bjorklund</completename>
1807
- </name>
1808
- </person>
1809
- </contributor>
1810
- <language>en</language>
1811
- <script>Latn</script>
1812
- <abstract format='text/html' language='en' script='Latn'>
1813
- <p id='_'>
1814
- The standardization of network configuration interfaces for use with
1815
- the Network Configuration Protocol (NETCONF) or the RESTCONF
1816
- protocol requires a structured and secure operating environment that
1817
- promotes human usability and multi-vendor interoperability. There is
1818
- a need for standard mechanisms to restrict NETCONF or RESTCONF
1819
- protocol access for particular users to a preconfigured subset of
1820
- all available NETCONF or RESTCONF protocol operations and content.
1821
- This document defines such an access control model.
1822
- </p>
1823
- <p id='_'>This document obsoletes RFC 6536.</p>
1824
- </abstract>
1825
- <series>
1826
- <title format='text/plain'>STD</title>
1827
- <number>91</number>
1828
- </series>
1829
- <series>
1830
- <title format='text/plain'>RFC</title>
1831
- <number>8341</number>
1832
- </series>
1833
- <keyword>NETCONF RESTCONF</keyword>
1834
- <keyword>YANG</keyword>
1835
- <keyword>XML</keyword>
1836
- </bibitem>
1837
- </references>
1838
- </bibliography>
1839
- </standard-document>
1840
- OUTPUT
1841
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
1842
- .to be_equivalent_to xmlpp(output)
1843
- end
1844
- end
1845
-
1846
- it "processes non-ISO reference in Normative References" do
1847
- input = <<~INPUT
1848
- #{ASCIIDOC_BLANK_HDR}
1849
- [bibliography]
1850
- == Normative References
1851
-
1852
- * [[[iso123,XYZ 123:1966 (all parts)]]] _Standard_
1853
- * [[[iso124,(1)XYZ 123:1966]]] _Standard_
1854
- INPUT
1855
- output = <<~OUTPUT
1856
- #{BLANK_HDR}
1857
- <sections>
1858
- </sections><bibliography><references id="_" obligation="informative" normative="true">
1859
- <title>Normative references</title>
1860
- #{NORM_REF_BOILERPLATE}
1861
- <bibitem id="iso123">
1862
- <formattedref format="application/x-isodoc+xml">
1863
- <em>Standard</em>
1864
- </formattedref>
1865
- <docidentifier>XYZ 123:1966 (all parts)</docidentifier>
1866
- <docnumber>123:1966 (all parts)</docnumber>
1867
- <date type='published'><on>1966</on></date>
1868
- </bibitem>
1869
- <bibitem id='iso124'>
1870
- <formattedref format='application/x-isodoc+xml'>
1871
- <em>Standard</em>
1872
- </formattedref>
1873
- <docidentifier type='metanorma'>[1]</docidentifier>
1874
- <docidentifier>XYZ 123:1966</docidentifier>
1875
- <docnumber>123</docnumber>
1876
- <date type='published'>
1877
- <on>1966</on>
1878
- </date>
1879
- </bibitem>
1880
- </references>
1881
- </bibliography>
1882
- </standard-document>
1883
- OUTPUT
1884
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
1885
- .to be_equivalent_to xmlpp(output)
1886
- end
1887
-
1888
- it "processes non-ISO reference in Bibliography" do
1889
- input = <<~INPUT
1890
- #{ASCIIDOC_BLANK_HDR}
1891
- [bibliography]
1892
- == Bibliography
1893
-
1894
- * [[[iso123,2]]] _Standard_
1895
- * [[[iso124,(B)]]] _Standard_
1896
- * [[[iso125,1]]] _Standard_
1897
- * [[[iso126,(A1)]]] _Standard_
1898
- * [[[iso127,(4)XYZ 123:1066 (all parts)]]] _Standard_
1899
- INPUT
1900
- output = <<~OUTPUT
1901
- #{BLANK_HDR}
1902
- <sections>
1903
- </sections>
1904
- <bibliography><references id="_" obligation="informative" normative="false">
1905
- <title>Bibliography</title><bibitem id="iso123">
1906
- <formattedref format="application/x-isodoc+xml">
1907
- <em>Standard</em>
1908
- </formattedref>
1909
- <docidentifier type="metanorma">[1]</docidentifier>
1910
- </bibitem><bibitem id="iso124">
1911
- <formattedref format="application/x-isodoc+xml">
1912
- <em>Standard</em>
1913
- </formattedref>
1914
- <docidentifier type="metanorma">[B]</docidentifier>
1915
- </bibitem><bibitem id="iso125">
1916
- <formattedref format="application/x-isodoc+xml">
1917
- <em>Standard</em>
1918
- </formattedref>
1919
- <docidentifier type="metanorma">[3]</docidentifier>
1920
- </bibitem><bibitem id="iso126">
1921
- <formattedref format="application/x-isodoc+xml">
1922
- <em>Standard</em>
1923
- </formattedref>
1924
- <docidentifier type="metanorma">[A1]</docidentifier>
1925
- </bibitem>
1926
- <bibitem id='iso127'>
1927
- <formattedref format='application/x-isodoc+xml'>
1928
- <em>Standard</em>
1929
- </formattedref>
1930
- <docidentifier type='metanorma'>[5]</docidentifier>
1931
- <docidentifier>XYZ 123:1066 (all parts)</docidentifier>
1932
- <docnumber>123:1066 (all parts)</docnumber>
1933
- </bibitem>
1934
- </references>
1935
- </bibliography>
1936
- </standard-document>
1937
- OUTPUT
1938
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
1939
- .to be_equivalent_to xmlpp(output)
1940
- end
1941
-
1942
- it "process ISO reference without an Internet connection" do
1943
- expect(RelatonIso::IsoBibliography).to receive(:search).with("ISO 123") do
1944
- raise RelatonBib::RequestError.new "getaddrinfo"
1945
- end.at_least :once
1946
- input = <<~INPUT
1947
- #{ISOBIB_BLANK_HDR}
1948
- [bibliography]
1949
- == Normative References
1950
-
1951
- * [[[iso123,ISO 123]]] _Standard_
1952
- * [[[iso124,(1)ISO 123]]] _Standard_
1953
- INPUT
1954
- output = <<~OUTPUT
1955
- <?xml version="1.0" encoding="UTF-8"?>
1956
- <standard-document xmlns="https://www.metanorma.org/ns/standoc" type="semantic" version="#{Metanorma::Standoc::VERSION}">
1957
- <bibdata type="standard">
1958
- <title language="en" format="text/plain">Document title</title>
1959
- <language>en</language>
1960
- <script>Latn</script>
1961
- <status><stage>published</stage></status>
1962
- <copyright>
1963
- <from>#{Date.today.year}</from>
1964
- </copyright>
1965
- <ext>
1966
- <doctype>standard</doctype>
1967
- </ext>
1968
- </bibdata>
1969
- <sections>
1970
- </sections><bibliography><references id="_" obligation="informative" normative="true">
1971
- <title>Normative references</title>
1972
- #{NORM_REF_BOILERPLATE}
1973
- <bibitem id="iso123" type="standard">
1974
- <title format="text/plain">Standard</title>
1975
- <docidentifier type="ISO">ISO 123</docidentifier>
1976
- <docnumber>123</docnumber>
1977
- <contributor>
1978
- <role type="publisher"/>
1979
- <organization>
1980
- <name>ISO</name>
1981
- </organization>
1982
- </contributor>
1983
- </bibitem>
1984
- <bibitem id='iso124' type='standard'>
1985
- <title format='text/plain'>Standard</title>
1986
- <docidentifier type='metanorma'>[1]</docidentifier>
1987
- <docidentifier type='ISO'>ISO 123</docidentifier>
1988
- <docnumber>123</docnumber>
1989
- <contributor>
1990
- <role type='publisher'/>
1991
- <organization>
1992
- <name>ISO</name>
1993
- </organization>
1994
- </contributor>
1995
- </bibitem>
1996
- </references></bibliography>
1997
- </standard-document>
1998
- OUTPUT
1999
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
2000
- .to be_equivalent_to xmlpp(output)
2001
- end
2002
-
2003
- it "processes repository reference" do
2004
- input = <<~INPUT
2005
- #{ISOBIB_BLANK_HDR}
2006
- == Scope
2007
-
2008
- <<iso123>>
2009
- <<iso123,clause=1>>
2010
- <<iso124>>
2011
- <<iso124,clause=1>>
2012
-
2013
- [bibliography]
2014
- == Normative References
2015
-
2016
- * [[[iso123,repo:(ab/ISO 123)]]] _Standard_
2017
- * [[[iso124,repo:(ab/ISO 124,id)]]] _Standard_
2018
- * [[[iso125,dropid(repo:(ab/ISO 124,id))]]] _Standard_
2019
- INPUT
2020
- output = <<~OUTPUT
2021
- #{BLANK_HDR}
2022
- <sections>
2023
- <clause id='_' type='scope' inline-header='false' obligation='normative'>
2024
- <title>Scope</title>
2025
- <p id='_'>
2026
- <eref type='inline' bibitemid='iso123' citeas='ISO 123'/>
2027
- <eref type='inline' bibitemid='iso123' citeas='ISO 123'>
2028
- <localityStack>
2029
- <locality type='clause'>
2030
- <referenceFrom>1</referenceFrom>
2031
- </locality>
2032
- </localityStack>
2033
- </eref>
2034
- <eref type='inline' bibitemid='iso124' citeas='id'/>
2035
- <eref type='inline' bibitemid='iso124' citeas='id'>
2036
- <localityStack>
2037
- <locality type='clause'>
2038
- <referenceFrom>1</referenceFrom>
2039
- </locality>
2040
- </localityStack>
2041
- </eref>
2042
- </p>
2043
- </clause>
2044
- </sections>
2045
- <bibliography>
2046
- <references id='_' normative='true' obligation='informative'>
2047
- <title>Normative references</title>
2048
- <p id='_'>
2049
- The following documents are referred to in the text in such a way that
2050
- some or all of their content constitutes requirements of this document.
2051
- For dated references, only the edition cited applies. For undated
2052
- references, the latest edition of the referenced document (including any
2053
- amendments) applies.
2054
- </p>
2055
- <bibitem id='iso123'>
2056
- <formattedref format='application/x-isodoc+xml'>
2057
- <em>Standard</em>
2058
- </formattedref>
2059
- <docidentifier type='ISO'>ISO 123</docidentifier>
2060
- <docidentifier type='repository'>ab/ISO 123</docidentifier>
2061
- <docnumber>123</docnumber>
2062
- </bibitem>
2063
- <bibitem id='iso124'>
2064
- <formattedref format='application/x-isodoc+xml'>
2065
- <em>Standard</em>
2066
- </formattedref>
2067
- <docidentifier>id</docidentifier>
2068
- <docidentifier type='repository'>ab/ISO 124</docidentifier>
2069
- </bibitem>
2070
- <bibitem id='iso125' suppress_identifier='true'>
2071
- <formattedref format='application/x-isodoc+xml'>
2072
- <em>Standard</em>
2073
- </formattedref>
2074
- <docidentifier>id</docidentifier>
2075
- <docidentifier type='repository'>ab/ISO 124</docidentifier>
2076
- </bibitem>
2077
- </references>
2078
- </bibliography>
2079
- </standard-document>
2080
- OUTPUT
2081
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
2082
- .to be_equivalent_to xmlpp(output)
2083
- end
2084
-
2085
- it "processes hyperlink reference, ingest RXL or XML if available" do
2086
- input = <<~INPUT
2087
- #{ISOBIB_BLANK_HDR}
2088
- == Scope
2089
-
2090
- <<iso123>>
2091
-
2092
- <<iso124,clause=1>>
2093
-
2094
- <<iso123,anchor=xyz>>
2095
-
2096
- <<iso124,clause=1,anchor=xyz>>
2097
-
2098
- [bibliography]
2099
- == Normative References
2100
-
2101
- * [[[iso123,path:(spec/assets/iso123,ISO 123)]]] _Standard_
2102
- * [[[iso124,path:(a/b.adoc,ISO 124)]]] _Standard_
2103
- INPUT
2104
- output = <<~OUTPUT
2105
- #{BLANK_HDR}
2106
- <sections>
2107
- <clause id='_' type="scope" inline-header='false' obligation='normative'>
2108
- <title>Scope</title>
2109
- <p id='_'>
2110
- <eref type='inline' bibitemid='iso123' citeas='ISO 123 (all parts)'/>
2111
- </p>
2112
- <p id='_'>
2113
- <eref type='inline' bibitemid='iso124' citeas='ISO 124'>
2114
- <localityStack>
2115
- <locality type='clause'>
2116
- <referenceFrom>1</referenceFrom>
2117
- </locality>
2118
- </localityStack>
2119
- </eref>
2120
- </p>
2121
- <p id='_'>
2122
- <eref type='inline' bibitemid='iso123' citeas='ISO 123 (all parts)'>
2123
- <localityStack>
2124
- <locality type='anchor'>
2125
- <referenceFrom>xyz</referenceFrom>
2126
- </locality>
2127
- </localityStack>
2128
- </eref>
2129
- </p>
2130
- <p id='_'>
2131
- <eref type='inline' bibitemid='iso124' citeas='ISO 124'>
2132
- <localityStack>
2133
- <locality type='clause'>
2134
- <referenceFrom>1</referenceFrom>
2135
- </locality>
2136
- <locality type='anchor'>
2137
- <referenceFrom>xyz</referenceFrom>
2138
- </locality>
2139
- </localityStack>
2140
- </eref>
2141
- </p>
2142
- </clause>
2143
- </sections>
2144
- <bibliography>
2145
- <references id='_' normative='true' obligation='informative'>
2146
- <title>Normative references</title>
2147
- <p id='_'>
2148
- The following documents are referred to in the text in such a way that
2149
- some or all of their content constitutes requirements of this document.
2150
- For dated references, only the edition cited applies. For undated
2151
- references, the latest edition of the referenced document (including any
2152
- amendments) applies.
2153
- </p>
2154
- <bibitem id='iso123' type='standard'>
2155
- <fetched/>
2156
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
2157
- <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
2158
- <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex – Sampling</title>
2159
- <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
2160
- <title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
2161
- <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc – Échantillonnage</title>
2162
- <uri type='src'>https://www.iso.org/standard/23281.html</uri>
2163
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
2164
- <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
2165
- <uri type='citation'>spec/assets/iso123</uri>
2166
- <docidentifier type='ISO'>ISO 123 (all parts)</docidentifier>
2167
- <docnumber>123</docnumber>
2168
- <date type='published'>
2169
- <on>2001</on>
2170
- </date>
2171
- <contributor>
2172
- <role type='publisher'/>
2173
- <organization>
2174
- <name>International Organization for Standardization</name>
2175
- <abbreviation>ISO</abbreviation>
2176
- <uri>www.iso.org</uri>
2177
- </organization>
2178
- </contributor>
2179
- <edition>3</edition>
2180
- <language>en</language>
2181
- <language>fr</language>
2182
- <script>Latn</script>
2183
- <status>
2184
- <stage>90</stage>
2185
- <substage>93</substage>
2186
- </status>
2187
- <copyright>
2188
- <from>2001</from>
2189
- <owner>
2190
- <organization>
2191
- <name>ISO</name>
2192
- </organization>
2193
- </owner>
2194
- </copyright>
2195
- <relation type='obsoletes'>
2196
- <bibitem type='standard'>
2197
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
2198
- </bibitem>
2199
- </relation>
2200
- <relation type='instance'>
2201
- <bibitem type='standard'>
2202
- <fetched/>
2203
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
2204
- <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
2205
- <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex – Sampling</title>
2206
- <title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
2207
- <title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
2208
- <title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc – Échantillonnage</title>
2209
- <uri type='src'>https://www.iso.org/standard/23281.html</uri>
2210
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
2211
- <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
2212
- <docidentifier type='ISO'>ISO 123:2001</docidentifier>
2213
- <docnumber>123</docnumber>
2214
- <date type='published'>
2215
- <on>2001</on>
2216
- </date>
2217
- <contributor>
2218
- <role type='publisher'/>
2219
- <organization>
2220
- <name>International Organization for Standardization</name>
2221
- <abbreviation>ISO</abbreviation>
2222
- <uri>www.iso.org</uri>
2223
- </organization>
2224
- </contributor>
2225
- <edition>3</edition>
2226
- <language>en</language>
2227
- <language>fr</language>
2228
- <script>Latn</script>
2229
- <status>
2230
- <stage>90</stage>
2231
- <substage>93</substage>
2232
- </status>
2233
- <copyright>
2234
- <from>2001</from>
2235
- <owner>
2236
- <organization>
2237
- <name>ISO</name>
2238
- </organization>
2239
- </owner>
2240
- </copyright>
2241
- <relation type='obsoletes'>
2242
- <bibitem type='standard'>
2243
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
2244
- </bibitem>
2245
- </relation>
2246
- <place>Geneva</place>
2247
- </bibitem>
2248
- </relation>
2249
- <relation type='instance'>
2250
- <bibitem type='standard'>
2251
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
2252
- </bibitem>
2253
- </relation>
2254
- <relation type='instance'>
2255
- <bibitem type='standard'>
2256
- <formattedref format='text/plain'>ISO 123:1974</formattedref>
2257
- </bibitem>
2258
- </relation>
2259
- <place>Geneva</place>
2260
- </bibitem>
2261
- <bibitem id='iso124'>
2262
- <formattedref format='application/x-isodoc+xml'>
2263
- <em>Standard</em>
2264
- </formattedref>
2265
- <uri type='URI'>a/b</uri>
2266
- <uri type='citation'>a/b</uri>
2267
- <docidentifier type="ISO">ISO 124</docidentifier>
2268
- <docnumber>124</docnumber>
2269
- </bibitem>
2270
- </references>
2271
- </bibliography>
2272
- </standard-document>
2273
- OUTPUT
2274
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
2275
- .to be_equivalent_to xmlpp(output)
2276
- end
2277
-
2278
- it "overrides normative status of bibliographies" do
2279
- #mock_isobib_get_123_no_docid(1)
2280
- #mock_isobib_get_123_no_docid_lbl(1)
2281
- VCR.use_cassette "isobib_get_123_2" do
2282
- input = <<~INPUT
2283
- #{ISOBIB_BLANK_HDR}
2284
-
2285
- [bibliography,normative=false]
2286
- == Normative References
2287
-
2288
- * [[[iso123,ISO 123]]] _Standard_
2289
-
2290
- [bibliography,normative=true]
2291
- == Bibliography
2292
-
2293
- * [[[iso124,(1)ISO 123]]] _Standard_
2294
- INPUT
2295
- output = <<~OUTPUT
2296
- #{BLANK_HDR}
2297
- <sections> </sections>
2298
- <bibliography>
2299
- <references id='_' normative='false' obligation='informative'>
2300
- <title>Bibliography</title>
2301
- <bibitem id='iso123' type='standard'>
2302
- <fetched/>
2303
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
2304
- <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
2305
- <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex&#8201;&#8212;&#8201;Sampling</title>
2306
- <uri type='src'>https://www.iso.org/standard/23281.html</uri>
2307
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
2308
- <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
2309
- <docidentifier type='ISO' primary="true">ISO 123</docidentifier>
2310
- <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
2311
- <docnumber>123</docnumber>
2312
- <contributor>
2313
- <role type='publisher'/>
2314
- <organization>
2315
- <name>International Organization for Standardization</name>
2316
- <abbreviation>ISO</abbreviation>
2317
- <uri>www.iso.org</uri>
2318
- </organization>
2319
- </contributor>
2320
- <edition>3</edition>
2321
- <language>en</language>
2322
- <script>Latn</script>
2323
- <status>
2324
- <stage>90</stage>
2325
- <substage>93</substage>
2326
- </status>
2327
- <copyright>
2328
- <from>2001</from>
2329
- <owner>
2330
- <organization>
2331
- <name>ISO</name>
2332
- </organization>
2333
- </owner>
2334
- </copyright>
2335
- <relation type='obsoletes'>
2336
- <bibitem type='standard'>
2337
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
2338
- <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
2339
- </bibitem>
2340
- </relation>
2341
- <relation type='instance'>
2342
- <bibitem type='standard'>
2343
- <fetched/>
2344
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
2345
- <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
2346
- <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex&#8201;&#8212;&#8201;Sampling</title>
2347
- <uri type='src'>https://www.iso.org/standard/23281.html</uri>
2348
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
2349
- <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
2350
- <docidentifier type='ISO' primary="true">ISO 123:2001</docidentifier>
2351
- <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
2352
- <docnumber>123</docnumber>
2353
- <date type='published'>
2354
- <on>2001-05</on>
2355
- </date>
2356
- <contributor>
2357
- <role type='publisher'/>
2358
- <organization>
2359
- <name>International Organization for Standardization</name>
2360
- <abbreviation>ISO</abbreviation>
2361
- <uri>www.iso.org</uri>
2362
- </organization>
2363
- </contributor>
2364
- <edition>3</edition>
2365
- <language>en</language>
2366
- <script>Latn</script>
2367
- <abstract format='text/plain' language='en' script='Latn'>
2368
- This International Standard specifies procedures for sampling
2369
- natural rubber latex concentrate and for sampling synthetic rubber
2370
- latices and artificial latices. It is also suitable for sampling
2371
- rubber latex contained in drums, tank cars or tanks. The
2372
- procedures may also be used for sampling plastics dispersions.
2373
- </abstract>
2374
- <status>
2375
- <stage>90</stage>
2376
- <substage>93</substage>
2377
- </status>
2378
- <copyright>
2379
- <from>2001</from>
2380
- <owner>
2381
- <organization>
2382
- <name>ISO</name>
2383
- </organization>
2384
- </owner>
2385
- </copyright>
2386
- <relation type='obsoletes'>
2387
- <bibitem type='standard'>
2388
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
2389
- <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
2390
- </bibitem>
2391
- </relation>
2392
- <place>Geneva</place>
2393
- </bibitem>
2394
- </relation>
2395
- <place>Geneva</place>
2396
- </bibitem>
2397
- </references>
2398
- <references id='_' normative='true' obligation='informative'>
2399
- <title>Normative references</title>
2400
- <p id='_'>
2401
- The following documents are referred to in the text in such a way that
2402
- some or all of their content constitutes requirements of this document.
2403
- For dated references, only the edition cited applies. For undated
2404
- references, the latest edition of the referenced document (including any
2405
- amendments) applies.
2406
- </p>
2407
- <bibitem id='iso124' type='standard'>
2408
- <fetched/>
2409
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
2410
- <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
2411
- <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex&#8201;&#8212;&#8201;Sampling</title>
2412
- <uri type='src'>https://www.iso.org/standard/23281.html</uri>
2413
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
2414
- <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
2415
- <docidentifier type='ISO' primary="true">ISO 123</docidentifier>
2416
- <docidentifier type='metanorma'>[1]</docidentifier>
2417
- <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
2418
- <docnumber>123</docnumber>
2419
- <contributor>
2420
- <role type='publisher'/>
2421
- <organization>
2422
- <name>International Organization for Standardization</name>
2423
- <abbreviation>ISO</abbreviation>
2424
- <uri>www.iso.org</uri>
2425
- </organization>
2426
- </contributor>
2427
- <edition>3</edition>
2428
- <language>en</language>
2429
- <script>Latn</script>
2430
- <status>
2431
- <stage>90</stage>
2432
- <substage>93</substage>
2433
- </status>
2434
- <copyright>
2435
- <from>2001</from>
2436
- <owner>
2437
- <organization>
2438
- <name>ISO</name>
2439
- </organization>
2440
- </owner>
2441
- </copyright>
2442
- <relation type='obsoletes'>
2443
- <bibitem type='standard'>
2444
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
2445
- <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
2446
- </bibitem>
2447
- </relation>
2448
- <relation type='instance'>
2449
- <bibitem type='standard'>
2450
- <fetched/>
2451
- <title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
2452
- <title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
2453
- <title type='main' format='text/plain' language='en' script='Latn'>Rubber latex&#8201;&#8212;&#8201;Sampling</title>
2454
- <uri type='src'>https://www.iso.org/standard/23281.html</uri>
2455
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
2456
- <uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
2457
- <docidentifier type='ISO' primary="true">ISO 123:2001</docidentifier>
2458
- <docidentifier type='URN'>urn:iso:std:iso:123:ed-3</docidentifier>
2459
- <docnumber>123</docnumber>
2460
- <date type='published'>
2461
- <on>2001-05</on>
2462
- </date>
2463
- <contributor>
2464
- <role type='publisher'/>
2465
- <organization>
2466
- <name>International Organization for Standardization</name>
2467
- <abbreviation>ISO</abbreviation>
2468
- <uri>www.iso.org</uri>
2469
- </organization>
2470
- </contributor>
2471
- <edition>3</edition>
2472
- <language>en</language>
2473
- <script>Latn</script>
2474
- <abstract format='text/plain' language='en' script='Latn'>
2475
- This International Standard specifies procedures for sampling
2476
- natural rubber latex concentrate and for sampling synthetic rubber
2477
- latices and artificial latices. It is also suitable for sampling
2478
- rubber latex contained in drums, tank cars or tanks. The
2479
- procedures may also be used for sampling plastics dispersions.
2480
- </abstract>
2481
- <status>
2482
- <stage>90</stage>
2483
- <substage>93</substage>
2484
- </status>
2485
- <copyright>
2486
- <from>2001</from>
2487
- <owner>
2488
- <organization>
2489
- <name>ISO</name>
2490
- </organization>
2491
- </owner>
2492
- </copyright>
2493
- <relation type='obsoletes'>
2494
- <bibitem type='standard'>
2495
- <formattedref format='text/plain'>ISO 123:1985</formattedref>
2496
- <docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
2497
- </bibitem>
2498
- </relation>
2499
- <place>Geneva</place>
2500
- </bibitem>
2501
- </relation>
2502
- <place>Geneva</place>
2503
- </bibitem>
2504
- </references>
2505
- </bibliography>
2506
- </standard-document>
2507
- OUTPUT
2508
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
2509
- .to be_equivalent_to xmlpp(output)
2510
- end
2511
- end
2512
-
2513
- it "processes formatting within bibliographic references" do
2514
- VCR.use_cassette "isobib_get_123_1" do
2515
- input = <<~INPUT
2516
- #{ISOBIB_BLANK_HDR}
2517
- [bibliography]
2518
- == Normative References
2519
-
2520
- * [[[reference,ISO 123]]] _Standard_
2521
-
2522
- == Section
2523
-
2524
- <<reference,_reference_>>
2525
- <<reference,_**reference**_>>
2526
- <<reference,_A_ stem:[x^2]>>
2527
- <<reference,_A_ footnote:[_B_]>>
2528
- <<reference,clause=3.4.2, ISO 9000:2005 footnote:[Superseded by ISO 9000:2015.]>>
2529
-
2530
- INPUT
2531
- output = <<~OUTPUT
2532
- #{BLANK_HDR}
2533
- <sections>
2534
- <clause id="_" inline-header="false" obligation="normative">
2535
- <title>Section</title>
2536
- <p id="_"><eref type="inline" bibitemid="reference" citeas="ISO 123"><em>reference</em></eref>
2537
- <eref type="inline" bibitemid="reference" citeas="ISO 123"><em><strong>reference</strong></em></eref>
2538
- <eref type="inline" bibitemid="reference" citeas="ISO 123"><em>A</em> <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mrow><mi>x</mi></mrow><mrow><mn>2</mn></mrow></msup></math></stem></eref>
2539
- <eref type="inline" bibitemid="reference" citeas="ISO 123"><em>A</em><fn reference="1"><p id="_"><em>B</em></p></fn></eref>
2540
- <eref type="inline" bibitemid="reference" citeas="ISO 123"><localityStack><locality type="clause"><referenceFrom>3.4.2</referenceFrom></locality></localityStack>ISO 9000:2005<fn reference="2"><p id="_">Superseded by ISO 9000:2015.</p></fn></eref></p>
2541
- </clause></sections>
2542
- </standard-document>
2543
- OUTPUT
2544
- a = Nokogiri::XML(Asciidoctor.convert(input, *OPTIONS))
2545
- a.at("//xmlns:bibliography").remove
2546
- expect((strip_guid(a.to_xml))).to be_equivalent_to(output)
2547
- end
2548
- end
2549
-
2550
- it "have formatted reference tag" do
2551
- input = <<~INPUT
2552
- #{ASCIIDOC_BLANK_HDR}
2553
-
2554
- <<iso124>>
2555
-
2556
- [bibliography]
2557
- == Bibliography
2558
-
2559
- * [[[iso124,(*A*.footnote:[hello])XYZ]]] _Standard_
2560
- INPUT
2561
- output = <<~OUTPUT
2562
- #{BLANK_HDR}
2563
- <preface>
2564
- <foreword id='_' obligation='informative'>
2565
- <title>Foreword</title>
2566
- <p id='_'>
2567
- <eref type='inline' bibitemid='iso124' citeas='[&lt;strong&gt;A&lt;/strong&gt;.&lt;fn reference=&quot;1&quot;&gt;&lt;p&gt;hello&lt;/p&gt;&#10;&lt;/fn&gt;]'/>
2568
- </p>
2569
- </foreword>
2570
- </preface>
2571
- <sections> </sections>
2572
- <bibliography>
2573
- <references id='_' normative='false' obligation='informative'>
2574
- <title>Bibliography</title>
2575
- <bibitem id='iso124'>
2576
- <formattedref format='application/x-isodoc+xml'>
2577
- <em>Standard</em>
2578
- </formattedref>
2579
- <docidentifier type='metanorma'>
2580
- [
2581
- <strong>A</strong>
2582
- .
2583
- <fn reference='1'>
2584
- <p id='_'>hello</p>
2585
- </fn>
2586
- ]
2587
- </docidentifier>
2588
- <docidentifier>XYZ</docidentifier>
2589
- </bibitem>
2590
- </references>
2591
- </bibliography>
2592
- </standard-document>
2593
- OUTPUT
2594
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
2595
- .to be_equivalent_to xmlpp(output)
2596
- end
2597
-
2598
- it "processes combinations of crossreferences" do
2599
- input = <<~INPUT
2600
- #{ASCIIDOC_BLANK_HDR}
2601
- == Section
2602
-
2603
- <<ref1,clause=3-5>>
2604
- <<ref1,clause=3;to!clause=5>>
2605
- <<ref1,from!clause=3;to!clause=5,text>>
2606
- <<ref1,clause=3;clause=5>>
2607
- <<ref1,clause=3;and!clause=5>>
2608
- <<ref1,clause=3;or!clause=5,text>>
2609
- <<ref1,from!clause=3;to!clause=5;and!clause=8;to!clause=10>>
2610
-
2611
- [bibliography]
2612
- == Bibliography
2613
-
2614
- * [[[ref1,XYZ]]] _Standard_
2615
- INPUT
2616
- output = <<~OUTPUT
2617
- #{BLANK_HDR}
2618
- <sections>
2619
- <clause id='_' inline-header='false' obligation='normative'>
2620
- <title>Section</title>
2621
- <p id='_'>
2622
- <eref type='inline' bibitemid='ref1' citeas='XYZ'>
2623
- <localityStack>
2624
- <locality type='clause'>
2625
- <referenceFrom>3</referenceFrom>
2626
- <referenceTo>5</referenceTo>
2627
- </locality>
2628
- </localityStack>
2629
- </eref>
2630
- <eref type='inline' bibitemid='ref1' citeas='XYZ'>
2631
- <localityStack connective='from'>
2632
- <locality type='clause'>
2633
- <referenceFrom>3</referenceFrom>
2634
- </locality>
2635
- </localityStack>
2636
- <localityStack connective='to'>
2637
- <locality type='clause'>
2638
- <referenceFrom>5</referenceFrom>
2639
- </locality>
2640
- </localityStack>
2641
- </eref>
2642
- <eref type='inline' bibitemid='ref1' citeas='XYZ'>
2643
- <localityStack connective='from'>
2644
- <locality type='clause'>
2645
- <referenceFrom>3</referenceFrom>
2646
- </locality>
2647
- </localityStack>
2648
- <localityStack connective='to'>
2649
- <locality type='clause'>
2650
- <referenceFrom>5</referenceFrom>
2651
- </locality>
2652
- </localityStack>
2653
- text
2654
- </eref>
2655
- <eref type='inline' bibitemid='ref1' citeas='XYZ'>
2656
- <localityStack connective='and'>
2657
- <locality type='clause'>
2658
- <referenceFrom>3</referenceFrom>
2659
- </locality>
2660
- </localityStack>
2661
- <localityStack connective='and'>
2662
- <locality type='clause'>
2663
- <referenceFrom>5</referenceFrom>
2664
- </locality>
2665
- </localityStack>
2666
- </eref>
2667
- <eref type='inline' bibitemid='ref1' citeas='XYZ'>
2668
- <localityStack connective='and'>
2669
- <locality type='clause'>
2670
- <referenceFrom>3</referenceFrom>
2671
- </locality>
2672
- </localityStack>
2673
- <localityStack connective='and'>
2674
- <locality type='clause'>
2675
- <referenceFrom>5</referenceFrom>
2676
- </locality>
2677
- </localityStack>
2678
- </eref>
2679
- <eref type='inline' bibitemid='ref1' citeas='XYZ'>
2680
- <localityStack connective='and'>
2681
- <locality type='clause'>
2682
- <referenceFrom>3</referenceFrom>
2683
- </locality>
2684
- </localityStack>
2685
- <localityStack connective='or'>
2686
- <locality type='clause'>
2687
- <referenceFrom>5</referenceFrom>
2688
- </locality>
2689
- </localityStack>
2690
- text
2691
- </eref>
2692
- <eref type='inline' bibitemid='ref1' citeas='XYZ'>
2693
- <localityStack connective='from'>
2694
- <locality type='clause'>
2695
- <referenceFrom>3</referenceFrom>
2696
- </locality>
2697
- </localityStack>
2698
- <localityStack connective='to'>
2699
- <locality type='clause'>
2700
- <referenceFrom>5</referenceFrom>
2701
- </locality>
2702
- </localityStack>
2703
- <localityStack connective='and'>
2704
- <locality type='clause'>
2705
- <referenceFrom>8</referenceFrom>
2706
- </locality>
2707
- </localityStack>
2708
- <localityStack connective='to'>
2709
- <locality type='clause'>
2710
- <referenceFrom>10</referenceFrom>
2711
- </locality>
2712
- </localityStack>
2713
- </eref>
2714
- </p>
2715
- </clause>
2716
- </sections>
2717
- <bibliography>
2718
- <references id='_' normative='false' obligation='informative'>
2719
- <title>Bibliography</title>
2720
- <bibitem id='ref1'>
2721
- <formattedref format='application/x-isodoc+xml'>
2722
- <em>Standard</em>
2723
- </formattedref>
2724
- <docidentifier>XYZ</docidentifier>
2725
- </bibitem>
2726
- </references>
2727
- </bibliography>
2728
- </standard-document>
2729
- OUTPUT
2730
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
2731
- .to be_equivalent_to xmlpp(output)
2732
- end
2733
-
2734
- private
2735
-
2736
- def mock_isobib_get_123_no_docid(times)
2737
- expect(RelatonIso::IsoBibliography).to receive(:get)
2738
- .with("ISO 123", nil, { code: "ISO 123",
2739
- lang: "en",
2740
- match: anything,
2741
- process: 1,
2742
- ord: anything,
2743
- title: "<em>Standard</em>",
2744
- usrlbl: nil,
2745
- year: nil }) do
2746
- RelatonBib::XMLParser.from_xml(<<~"OUTPUT")
2747
- <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<ext></fred></ext></bibitem>
2748
- OUTPUT
2749
- end.exactly(times).times
2750
- end
2751
-
2752
- def mock_isobib_get_123_no_docid_lbl(times)
2753
- expect(RelatonIso::IsoBibliography).to receive(:get)
2754
- .with("ISO 123", nil, { code: "ISO 123",
2755
- lang: "en",
2756
- match: anything,
2757
- process: 1,
2758
- ord: anything,
2759
- title: "<em>Standard</em>",
2760
- usrlbl: "(1)",
2761
- year: nil }) do
2762
- RelatonBib::XMLParser.from_xml(<<~"OUTPUT")
2763
- <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<ext></fred></ext></bibitem>
2764
- OUTPUT
2765
- end.exactly(times).times
2766
- end
2767
-
2768
- def mock_rfcbib_get_rfc8342(times)
2769
- expect(RelatonIso::IsoBibliography).to receive(:get).with("ISO 8342", nil,
2770
- anything) do
2771
- RelatonBib::XMLParser.from_xml(<<~"OUTPUT")
2772
- <bibitem id="RFC8342">
2773
- <title format="text/plain" language="en" script="Latn">Network Configuration Access Control Model</title>
2774
- <docidentifier type="DOI">10.17487/RFC8341</docidentifier>
2775
- <docidentifier type="ISO">ISO 8341</docidentifier>
2776
- <docidentifier type="ISO" primary="true">ISO 8342-EN</docidentifier>
2777
- <docidentifier type="ISO" language="fr">ISO 8342-FR</docidentifier>
2778
- <docidentifier type="ISO" primary="true" language="de">ISO 8342-DE</docidentifier>
2779
- <date type="published">
2780
- <on>2018</on>
2781
- </date>
2782
- <status>published</status>
2783
- </bibitem>
2784
- OUTPUT
2785
- end.exactly(times).times
2786
- end
2787
-
2788
- def mock_rfcbib_get_rfc8343(times)
2789
- expect(RelatonIso::IsoBibliography).to receive(:get).with("ISO 8343", nil,
2790
- anything) do
2791
- RelatonBib::XMLParser.from_xml(<<~"OUTPUT")
2792
- <bibitem id="RFC8343">
2793
- <title format="text/plain" language="en" script="Latn">Network Configuration Access Control Model</title>
2794
- <docidentifier type="DOI">10.17487/RFC8341</docidentifier>
2795
- <docidentifier type="ISO">ISO 8341</docidentifier>
2796
- <docidentifier type="ISO">ISO 8343-EN</docidentifier>
2797
- <docidentifier type="ISO" language="fr">ISO 8343-FR</docidentifier>
2798
- <docidentifier type="ISO" language="de">ISO 8343-DE</docidentifier>
2799
- <date type="published">
2800
- <on>2018</on>
2801
- </date>
2802
- <status>published</status>
2803
- </bibitem>
2804
- OUTPUT
2805
- end.exactly(times).times
2806
- end
2807
- end