metanorma-iso 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +11 -41
  3. data/.gitignore +2 -0
  4. data/.rubocop.yml +6 -2
  5. data/lib/asciidoctor/iso/base.rb +12 -12
  6. data/lib/asciidoctor/iso/biblio.rng +4 -6
  7. data/lib/asciidoctor/iso/cleanup.rb +1 -1
  8. data/lib/asciidoctor/iso/front.rb +1 -1
  9. data/lib/asciidoctor/iso/front_id.rb +30 -25
  10. data/lib/asciidoctor/iso/isodoc.rng +235 -3
  11. data/lib/asciidoctor/iso/isostandard-amd.rng +3 -0
  12. data/lib/asciidoctor/iso/isostandard.rng +17 -97
  13. data/lib/asciidoctor/iso/validate.rb +1 -0
  14. data/lib/asciidoctor/iso/validate_title.rb +21 -13
  15. data/lib/isodoc/iso/base_convert.rb +11 -0
  16. data/lib/isodoc/iso/html/style-human.css +7 -0
  17. data/lib/isodoc/iso/html/style-iso.css +7 -0
  18. data/lib/isodoc/iso/html_convert.rb +0 -1
  19. data/lib/isodoc/iso/i18n-en.yaml +4 -0
  20. data/lib/isodoc/iso/i18n-fr.yaml +4 -0
  21. data/lib/isodoc/iso/i18n-zh-Hans.yaml +4 -0
  22. data/lib/isodoc/iso/index.rb +140 -0
  23. data/lib/isodoc/iso/iso.amendment.xsl +1010 -324
  24. data/lib/isodoc/iso/iso.international-standard.xsl +1010 -324
  25. data/lib/isodoc/iso/presentation_xml_convert.rb +32 -25
  26. data/lib/isodoc/iso/word_convert.rb +0 -1
  27. data/lib/isodoc/iso/xref.rb +13 -5
  28. data/lib/metanorma/iso/version.rb +1 -1
  29. data/metanorma-iso.gemspec +8 -8
  30. data/spec/asciidoctor/amd_spec.rb +696 -0
  31. data/spec/asciidoctor/base_spec.rb +704 -0
  32. data/spec/asciidoctor/blocks_spec.rb +527 -0
  33. data/spec/asciidoctor/cleanup_spec.rb +1134 -0
  34. data/spec/asciidoctor/inline_spec.rb +195 -0
  35. data/spec/asciidoctor/lists_spec.rb +197 -0
  36. data/spec/asciidoctor/refs_spec.rb +375 -0
  37. data/spec/asciidoctor/section_spec.rb +393 -0
  38. data/spec/asciidoctor/table_spec.rb +329 -0
  39. data/spec/asciidoctor/validate_spec.rb +1572 -0
  40. data/spec/isodoc/amd_spec.rb +967 -946
  41. data/spec/isodoc/blocks_spec.rb +530 -507
  42. data/spec/isodoc/i18n_spec.rb +953 -911
  43. data/spec/isodoc/inline_spec.rb +355 -293
  44. data/spec/isodoc/iso_spec.rb +338 -314
  45. data/spec/isodoc/metadata_spec.rb +392 -382
  46. data/spec/isodoc/postproc_spec.rb +837 -657
  47. data/spec/isodoc/ref_spec.rb +374 -331
  48. data/spec/isodoc/section_spec.rb +821 -519
  49. data/spec/isodoc/table_spec.rb +472 -411
  50. data/spec/isodoc/terms_spec.rb +209 -185
  51. data/spec/isodoc/xref_spec.rb +1370 -1236
  52. data/spec/metanorma/processor_spec.rb +28 -26
  53. data/spec/spec_helper.rb +186 -189
  54. metadata +65 -67
  55. data/.rubocop.ribose.yml +0 -66
  56. data/lib/isodoc/iso/html/scripts.html +0 -178
  57. data/spec/asciidoctor-iso/amd_spec.rb +0 -694
  58. data/spec/asciidoctor-iso/base_spec.rb +0 -713
  59. data/spec/asciidoctor-iso/blocks_spec.rb +0 -482
  60. data/spec/asciidoctor-iso/cleanup_spec.rb +0 -1025
  61. data/spec/asciidoctor-iso/inline_spec.rb +0 -170
  62. data/spec/asciidoctor-iso/lists_spec.rb +0 -190
  63. data/spec/asciidoctor-iso/refs_spec.rb +0 -317
  64. data/spec/asciidoctor-iso/section_spec.rb +0 -362
  65. data/spec/asciidoctor-iso/table_spec.rb +0 -313
  66. data/spec/asciidoctor-iso/validate_spec.rb +0 -1619
  67. data/spec/assets/xref_error.adoc +0 -7
@@ -1,694 +0,0 @@
1
- require "spec_helper"
2
- require "fileutils"
3
-
4
- RSpec.describe Asciidoctor::ISO do
5
- it "processes amendment sections" do
6
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
7
- #{AMD_BLANK_HDR}
8
- == Foreword
9
-
10
- Text
11
-
12
- == Introduction
13
-
14
- === Introduction Subsection
15
-
16
- == Scope
17
-
18
- Text
19
-
20
- == Acknowledgements
21
-
22
- == Normative References
23
-
24
- == Terms and Definitions
25
-
26
- === Term1
27
-
28
- == Terms, Definitions, Symbols and Abbreviated Terms
29
-
30
- === Normal Terms
31
-
32
- ==== Term2
33
-
34
- === Symbols and Abbreviated Terms
35
-
36
- == Symbols and Abbreviated Terms
37
-
38
- == Clause 4
39
-
40
- === Introduction
41
-
42
- === Clause 4.2
43
-
44
- == Terms and Definitions
45
-
46
- [appendix]
47
- == Annex
48
-
49
- === Annex A.1
50
-
51
- [%appendix]
52
- === Appendix 1
53
-
54
- == Bibliography
55
-
56
- === Bibliography Subsection
57
- INPUT
58
- #{BLANK_HDR.sub(%r{<doctype>article</doctype>}, "<doctype>amendment</doctype>")}
59
- <sections>
60
- <clause id='_' obligation='normative'>
61
- <title>Foreword</title>
62
- <p id='_'>Text</p>
63
- </clause>
64
- <clause id='_' obligation='normative'>
65
- <title>Introduction</title>
66
- <clause id='_' obligation='normative'>
67
- <title>Introduction Subsection</title>
68
- </clause>
69
- </clause>
70
- <clause id='_' obligation='normative'>
71
- <title>Scope</title>
72
- <p id='_'>Text</p>
73
- </clause>
74
- <clause id='_' obligation='normative'>
75
- <title>Acknowledgements</title>
76
- </clause>
77
- <clause id='_' obligation='normative'>
78
- <title>Normative References</title>
79
- </clause>
80
- <clause id='_' obligation='normative'>
81
- <title>Terms and Definitions</title>
82
- <clause id='_' obligation='normative'>
83
- <title>Term1</title>
84
- </clause>
85
- </clause>
86
- <clause id='_' obligation='normative'>
87
- <title>Terms, Definitions, Symbols and Abbreviated Terms</title>
88
- <clause id='_' obligation='normative'>
89
- <title>Normal Terms</title>
90
- <clause id='_' obligation='normative'>
91
- <title>Term2</title>
92
- </clause>
93
- </clause>
94
- <clause id='_' obligation='normative'>
95
- <title>Symbols and Abbreviated Terms</title>
96
- </clause>
97
- </clause>
98
- <clause id='_' obligation='normative'>
99
- <title>Symbols and Abbreviated Terms</title>
100
- </clause>
101
- <clause id='_' obligation='normative'>
102
- <title>Clause 4</title>
103
- <clause id='_' obligation='normative'>
104
- <title>Introduction</title>
105
- </clause>
106
- <clause id='_' obligation='normative'>
107
- <title>Clause 4.2</title>
108
- </clause>
109
- </clause>
110
- <clause id='_' obligation='normative'>
111
- <title>Terms and Definitions</title>
112
- </clause>
113
- <clause id='_' obligation='normative'>
114
- <title>Bibliography</title>
115
- <clause id='_' obligation='normative'>
116
- <title>Bibliography Subsection</title>
117
- </clause>
118
- </clause>
119
- </sections>
120
- <annex id='_' obligation='normative'>
121
- <title>Annex</title>
122
- <clause id='_' obligation='normative'>
123
- <title>Annex A.1</title>
124
- </clause>
125
- <appendix id='_' obligation='normative'>
126
- <title>Appendix 1</title>
127
- </appendix>
128
- </annex>
129
- </iso-standard>
130
-
131
- OUTPUT
132
- end
133
-
134
- it "processes default metadata, amendment" do
135
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
136
- = Document title
137
- Author
138
- :docfile: test.adoc
139
- :nodoc:
140
- :novalid:
141
- :no-isobib:
142
- :docnumber: 17301
143
- :partnumber: 1
144
- :edition: 2
145
- :revdate: 2000-01-01
146
- :draft: 0.3.4
147
- :technical-committee: TC
148
- :technical-committee-number: 1
149
- :technical-committee-type: A
150
- :subcommittee: SC
151
- :subcommittee-number: 2
152
- :subcommittee-type: B
153
- :workgroup: WG
154
- :workgroup-number: 3
155
- :workgroup-type: C
156
- :technical-committee_2: TC1
157
- :technical-committee-number_2: 11
158
- :technical-committee-type_2: A1
159
- :subcommittee_2: SC1
160
- :subcommittee-number_2: 21
161
- :subcommittee-type_2: B1
162
- :workgroup_2: WG1
163
- :workgroup-number_2: 31
164
- :workgroup-type_2: C1
165
- :secretariat: SECRETARIAT
166
- :docstage: 10
167
- :docsubstage: 20
168
- :iteration: 3
169
- :language: en
170
- :title-intro-en: Introduction
171
- :title-main-en: Main Title -- Title
172
- :title-part-en: Title Part
173
- :title-intro-fr: Introduction Française
174
- :title-main-fr: Titre Principal
175
- :title-part-fr: Part du Titre
176
- :library-ics: 1,2,3
177
- :copyright-year: 2017
178
- :updates: ISO 17301-1:2016
179
- :created-date: 2016-05-01
180
- :amendment-number: 1
181
- :title-amendment-en: Mass fraction of extraneous matter, milled rice (nonglutinous), sample dividers and recommendations relating to storage and transport conditions
182
- :title-amendment-fr: Fraction massique de matière étrangère, riz usiné (non gluant), diviseurs d’échantillon et recommandations relatives aux conditions d’entreposage et de transport
183
- :doctype: amendment
184
- :updates-document-type: international-standard
185
- INPUT
186
- <iso-standard xmlns='https://www.metanorma.org/ns/iso' type="semantic" version="#{Metanorma::ISO::VERSION}">
187
- <bibdata type='standard'>
188
- <title language='en' format='text/plain' type='main'>Introduction — Main Title — Title — Title Part — Mass fraction of
189
- extraneous matter, milled rice (nonglutinous), sample dividers and
190
- recommendations relating to storage and transport conditions</title>
191
- <title language='en' format='text/plain' type='title-intro'>Introduction</title>
192
- <title language='en' format='text/plain' type='title-main'>Main Title — Title</title>
193
- <title language='en' format='text/plain' type='title-part'>Title Part</title>
194
- <title language='en' format='text/plain' type='title-amd'>
195
- Mass fraction of extraneous matter, milled rice (nonglutinous), sample
196
- dividers and recommendations relating to storage and transport conditions
197
- </title>
198
- <title language='fr' format='text/plain' type='main'>
199
- Introduction Française — Titre Principal — Part du Titre — Fraction
200
- massique de matière étrangère, riz usiné (non gluant), diviseurs
201
- d’échantillon et recommandations relatives aux conditions d’entreposage et
202
- de transport
203
- </title>
204
- <title language='fr' format='text/plain' type='title-intro'>Introduction Française</title>
205
- <title language='fr' format='text/plain' type='title-main'>Titre Principal</title>
206
- <title language='fr' format='text/plain' type='title-part'>Part du Titre</title>
207
- <title language='fr' format='text/plain' type='title-amd'>
208
- Fraction massique de matière étrangère, riz usiné (non gluant), diviseurs
209
- d’échantillon et recommandations relatives aux conditions d’entreposage et
210
- de transport
211
- </title>
212
- <docidentifier type='ISO'>ISO 17301-1:2016/PreNP Amd 1</docidentifier>
213
- <docidentifier type='iso-with-lang'>ISO 17301-1:2016/PreNP Amd 1(E)</docidentifier>
214
- <docidentifier type='iso-reference'>ISO 17301-1:2016/PreNP Amd 1:2017(E)</docidentifier>
215
- <docnumber>17301</docnumber>
216
- <date type='created'>
217
- <on>2016-05-01</on>
218
- </date>
219
- <contributor>
220
- <role type='author'/>
221
- <organization>
222
- <name>International Organization for Standardization</name>
223
- <abbreviation>ISO</abbreviation>
224
- </organization>
225
- </contributor>
226
- <contributor>
227
- <role type='publisher'/>
228
- <organization>
229
- <name>International Organization for Standardization</name>
230
- <abbreviation>ISO</abbreviation>
231
- </organization>
232
- </contributor>
233
- <edition>2</edition>
234
- <version>
235
- <revision-date>2000-01-01</revision-date>
236
- <draft>0.3.4</draft>
237
- </version>
238
- <language>en</language>
239
- <script>Latn</script>
240
- <status>
241
- <stage abbreviation='NP'>10</stage>
242
- <substage>20</substage>
243
- <iteration>3</iteration>
244
- </status>
245
- <copyright>
246
- <from>2017</from>
247
- <owner>
248
- <organization>
249
- <name>International Organization for Standardization</name>
250
- <abbreviation>ISO</abbreviation>
251
- </organization>
252
- </owner>
253
- </copyright>
254
- <ext>
255
- <doctype>amendment</doctype>
256
- <editorialgroup>
257
- <technical-committee number='1' type='A'>TC</technical-committee>
258
- <technical-committee number='11' type='A1'>TC1</technical-committee>
259
- <subcommittee number='2' type='B'>SC</subcommittee>
260
- <subcommittee number='21' type='B1'>SC1</subcommittee>
261
- <workgroup number='3' type='C'>WG</workgroup>
262
- <workgroup number='31' type='C1'>WG1</workgroup>
263
- <secretariat>SECRETARIAT</secretariat>
264
- </editorialgroup>
265
- <ics>
266
- <code>1</code>
267
- </ics>
268
- <ics>
269
- <code>2</code>
270
- </ics>
271
- <ics>
272
- <code>3</code>
273
- </ics>
274
- <structuredidentifier>
275
- <project-number part='1' amendment='1' origyr='2016-05-01'>17301</project-number>
276
- </structuredidentifier>
277
- <stagename>New work item proposal</stagename>
278
- <updates-document-type>international-standard</updates-document-type>
279
- </ext>
280
- </bibdata>
281
- <sections/>
282
- </iso-standard>
283
- OUTPUT
284
- end
285
-
286
- it "processes metadata, amendment" do
287
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
288
- = Document title
289
- Author
290
- :docfile: test.adoc
291
- :nodoc:
292
- :novalid:
293
- :no-isobib:
294
- :docnumber: 17301
295
- :partnumber: 1
296
- :doctype: amendment
297
- :docstage: 30
298
- :updates: ISO 17301-1:2030
299
- :amendment-number: 1
300
- INPUT
301
- <iso-standard xmlns='https://www.metanorma.org/ns/iso' type="semantic" version="#{Metanorma::ISO::VERSION}">
302
- <bibdata type='standard'>
303
- <docidentifier type='ISO'>ISO 17301-1:2030/CD Amd 1</docidentifier>
304
- <docidentifier type='iso-with-lang'>ISO 17301-1:2030/CD Amd 1(E)</docidentifier>
305
- <docidentifier type='iso-reference'>ISO 17301-1:2030/CD Amd 1(E)</docidentifier>
306
- <docnumber>17301</docnumber>
307
- <contributor>
308
- <role type='author'/>
309
- <organization>
310
- <name>International Organization for Standardization</name>
311
- <abbreviation>ISO</abbreviation>
312
- </organization>
313
- </contributor>
314
- <contributor>
315
- <role type='publisher'/>
316
- <organization>
317
- <name>International Organization for Standardization</name>
318
- <abbreviation>ISO</abbreviation>
319
- </organization>
320
- </contributor>
321
- <language>en</language>
322
- <script>Latn</script>
323
- <status>
324
- <stage abbreviation='CD'>30</stage>
325
- <substage>00</substage>
326
- </status>
327
- <copyright>
328
- <from>#{Time.now.year}</from>
329
- <owner>
330
- <organization>
331
- <name>International Organization for Standardization</name>
332
- <abbreviation>ISO</abbreviation>
333
- </organization>
334
- </owner>
335
- </copyright>
336
- <ext>
337
- <doctype>amendment</doctype>
338
- <editorialgroup>
339
- <technical-committee/>
340
- <subcommittee/>
341
- <workgroup/>
342
- </editorialgroup>
343
- <structuredidentifier>
344
- <project-number part='1' amendment='1'>17301</project-number>
345
- </structuredidentifier>
346
- <stagename>Committee draft</stagename>
347
- </ext>
348
- </bibdata>
349
- <sections/>
350
- </iso-standard>
351
- OUTPUT
352
- end
353
-
354
- it "processes metadata, amendment" do
355
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
356
- = Document title
357
- Author
358
- :docfile: test.adoc
359
- :nodoc:
360
- :novalid:
361
- :no-isobib:
362
- :docnumber: 17301
363
- :partnumber: 1
364
- :doctype: amendment
365
- :docstage: 40
366
- :updates: ISO 17301-1:2030
367
- :amendment-number: 1
368
- INPUT
369
- <iso-standard xmlns='https://www.metanorma.org/ns/iso' type="semantic" version="#{Metanorma::ISO::VERSION}">
370
- <bibdata type='standard'>
371
- <docidentifier type='ISO'>ISO 17301-1:2030/DAmd 1</docidentifier>
372
- <docidentifier type='iso-with-lang'>ISO 17301-1:2030/DAmd 1(E)</docidentifier>
373
- <docidentifier type='iso-reference'>ISO 17301-1:2030/DAmd 1(E)</docidentifier>
374
- <docnumber>17301</docnumber>
375
- <contributor>
376
- <role type='author'/>
377
- <organization>
378
- <name>International Organization for Standardization</name>
379
- <abbreviation>ISO</abbreviation>
380
- </organization>
381
- </contributor>
382
- <contributor>
383
- <role type='publisher'/>
384
- <organization>
385
- <name>International Organization for Standardization</name>
386
- <abbreviation>ISO</abbreviation>
387
- </organization>
388
- </contributor>
389
- <language>en</language>
390
- <script>Latn</script>
391
- <status>
392
- <stage abbreviation='D'>40</stage>
393
- <substage>00</substage>
394
- </status>
395
- <copyright>
396
- <from>#{Time.now.year}</from>
397
- <owner>
398
- <organization>
399
- <name>International Organization for Standardization</name>
400
- <abbreviation>ISO</abbreviation>
401
- </organization>
402
- </owner>
403
- </copyright>
404
- <ext>
405
- <doctype>amendment</doctype>
406
- <editorialgroup>
407
- <technical-committee/>
408
- <subcommittee/>
409
- <workgroup/>
410
- </editorialgroup>
411
- <structuredidentifier>
412
- <project-number part='1' amendment='1'>17301</project-number>
413
- </structuredidentifier>
414
- <stagename>Draft</stagename>
415
- </ext>
416
- </bibdata>
417
- <sections/>
418
- </iso-standard>
419
- OUTPUT
420
- end
421
-
422
- it "processes metadata, amendment" do
423
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
424
- = Document title
425
- Author
426
- :docfile: test.adoc
427
- :nodoc:
428
- :novalid:
429
- :no-isobib:
430
- :docnumber: 17301
431
- :partnumber: 1
432
- :doctype: amendment
433
- :updates: ISO 17301-1:2030
434
- :amendment-number: 1
435
- INPUT
436
- <iso-standard xmlns='https://www.metanorma.org/ns/iso' type="semantic" version="#{Metanorma::ISO::VERSION}">
437
- <bibdata type='standard'>
438
- <docidentifier type='ISO'>ISO 17301-1:2030/Amd 1</docidentifier>
439
- <docidentifier type='iso-with-lang'>ISO 17301-1:2030/Amd 1(E)</docidentifier>
440
- <docidentifier type='iso-reference'>ISO 17301-1:2030/Amd 1(E)</docidentifier>
441
- <docnumber>17301</docnumber>
442
- <contributor>
443
- <role type='author'/>
444
- <organization>
445
- <name>International Organization for Standardization</name>
446
- <abbreviation>ISO</abbreviation>
447
- </organization>
448
- </contributor>
449
- <contributor>
450
- <role type='publisher'/>
451
- <organization>
452
- <name>International Organization for Standardization</name>
453
- <abbreviation>ISO</abbreviation>
454
- </organization>
455
- </contributor>
456
- <language>en</language>
457
- <script>Latn</script>
458
- <status>
459
- <stage abbreviation='IS'>60</stage>
460
- <substage>60</substage>
461
- </status>
462
- <copyright>
463
- <from>#{Time.now.year}</from>
464
- <owner>
465
- <organization>
466
- <name>International Organization for Standardization</name>
467
- <abbreviation>ISO</abbreviation>
468
- </organization>
469
- </owner>
470
- </copyright>
471
- <ext>
472
- <doctype>amendment</doctype>
473
- <editorialgroup>
474
- <technical-committee/>
475
- <subcommittee/>
476
- <workgroup/>
477
- </editorialgroup>
478
- <structuredidentifier>
479
- <project-number part='1' amendment='1'>17301</project-number>
480
- </structuredidentifier>
481
- <stagename>International standard</stagename>
482
- </ext>
483
- </bibdata>
484
- <sections/>
485
- </iso-standard>
486
- OUTPUT
487
- end
488
-
489
- it "processes metadata, corrigendum" do
490
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
491
- = Document title
492
- Author
493
- :docfile: test.adoc
494
- :nodoc:
495
- :novalid:
496
- :no-isobib:
497
- :docnumber: 17301
498
- :partnumber: 1
499
- :doctype: technical-corrigendum
500
- :docstage: 30
501
- :updates: ISO 17301-1:2030
502
- :corrigendum-number: 3
503
- INPUT
504
- <iso-standard xmlns='https://www.metanorma.org/ns/iso' type="semantic" version="#{Metanorma::ISO::VERSION}">
505
- <bibdata type='standard'>
506
- <docidentifier type='ISO'>ISO 17301-1:2030/CD Cor.3</docidentifier>
507
- <docidentifier type='iso-with-lang'>ISO 17301-1:2030/CD Cor.3(E)</docidentifier>
508
- <docidentifier type='iso-reference'>ISO 17301-1:2030/CD Cor.3(E)</docidentifier>
509
- <docnumber>17301</docnumber>
510
- <contributor>
511
- <role type='author'/>
512
- <organization>
513
- <name>International Organization for Standardization</name>
514
- <abbreviation>ISO</abbreviation>
515
- </organization>
516
- </contributor>
517
- <contributor>
518
- <role type='publisher'/>
519
- <organization>
520
- <name>International Organization for Standardization</name>
521
- <abbreviation>ISO</abbreviation>
522
- </organization>
523
- </contributor>
524
- <language>en</language>
525
- <script>Latn</script>
526
- <status>
527
- <stage abbreviation='CD'>30</stage>
528
- <substage>00</substage>
529
- </status>
530
- <copyright>
531
- <from>#{Time.now.year}</from>
532
- <owner>
533
- <organization>
534
- <name>International Organization for Standardization</name>
535
- <abbreviation>ISO</abbreviation>
536
- </organization>
537
- </owner>
538
- </copyright>
539
- <ext>
540
- <doctype>technical-corrigendum</doctype>
541
- <editorialgroup>
542
- <technical-committee/>
543
- <subcommittee/>
544
- <workgroup/>
545
- </editorialgroup>
546
- <structuredidentifier>
547
- <project-number part='1' corrigendum='3'>17301</project-number>
548
- </structuredidentifier>
549
- <stagename>Committee draft</stagename>
550
- </ext>
551
- </bibdata>
552
- <sections/>
553
- </iso-standard>
554
- OUTPUT
555
- end
556
-
557
- it "processes metadata, corrigendum" do
558
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
559
- = Document title
560
- Author
561
- :docfile: test.adoc
562
- :nodoc:
563
- :novalid:
564
- :no-isobib:
565
- :docnumber: 17301
566
- :partnumber: 1
567
- :doctype: technical-corrigendum
568
- :docstage: 50
569
- :updates: ISO 17301-1:2030
570
- :corrigendum-number: 3
571
- INPUT
572
- <iso-standard xmlns='https://www.metanorma.org/ns/iso' type="semantic" version="#{Metanorma::ISO::VERSION}">
573
- <bibdata type='standard'>
574
- <docidentifier type='ISO'>ISO 17301-1:2030/FDCor.3</docidentifier>
575
- <docidentifier type='iso-with-lang'>ISO 17301-1:2030/FDCor.3(E)</docidentifier>
576
- <docidentifier type='iso-reference'>ISO 17301-1:2030/FDCor.3(E)</docidentifier>
577
- <docnumber>17301</docnumber>
578
- <contributor>
579
- <role type='author'/>
580
- <organization>
581
- <name>International Organization for Standardization</name>
582
- <abbreviation>ISO</abbreviation>
583
- </organization>
584
- </contributor>
585
- <contributor>
586
- <role type='publisher'/>
587
- <organization>
588
- <name>International Organization for Standardization</name>
589
- <abbreviation>ISO</abbreviation>
590
- </organization>
591
- </contributor>
592
- <language>en</language>
593
- <script>Latn</script>
594
- <status>
595
- <stage abbreviation='FD'>50</stage>
596
- <substage>00</substage>
597
- </status>
598
- <copyright>
599
- <from>#{Time.now.year}</from>
600
- <owner>
601
- <organization>
602
- <name>International Organization for Standardization</name>
603
- <abbreviation>ISO</abbreviation>
604
- </organization>
605
- </owner>
606
- </copyright>
607
- <ext>
608
- <doctype>technical-corrigendum</doctype>
609
- <editorialgroup>
610
- <technical-committee/>
611
- <subcommittee/>
612
- <workgroup/>
613
- </editorialgroup>
614
- <structuredidentifier>
615
- <project-number part='1' corrigendum='3'>17301</project-number>
616
- </structuredidentifier>
617
- <stagename>Final draft</stagename>
618
- </ext>
619
- </bibdata>
620
- <sections/>
621
- </iso-standard>
622
- OUTPUT
623
- end
624
-
625
- it "processes metadata, corrigendum" do
626
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
627
- = Document title
628
- Author
629
- :docfile: test.adoc
630
- :nodoc:
631
- :novalid:
632
- :no-isobib:
633
- :docnumber: 17301
634
- :partnumber: 1
635
- :doctype: technical-corrigendum
636
- :updates: ISO 17301-1:2030
637
- :corrigendum-number: 3
638
- INPUT
639
- <iso-standard xmlns='https://www.metanorma.org/ns/iso' type="semantic" version="#{Metanorma::ISO::VERSION}">
640
- <bibdata type='standard'>
641
- <docidentifier type='ISO'>ISO 17301-1:2030/Cor.3</docidentifier>
642
- <docidentifier type='iso-with-lang'>ISO 17301-1:2030/Cor.3(E)</docidentifier>
643
- <docidentifier type='iso-reference'>ISO 17301-1:2030/Cor.3(E)</docidentifier>
644
- <docnumber>17301</docnumber>
645
- <contributor>
646
- <role type='author'/>
647
- <organization>
648
- <name>International Organization for Standardization</name>
649
- <abbreviation>ISO</abbreviation>
650
- </organization>
651
- </contributor>
652
- <contributor>
653
- <role type='publisher'/>
654
- <organization>
655
- <name>International Organization for Standardization</name>
656
- <abbreviation>ISO</abbreviation>
657
- </organization>
658
- </contributor>
659
- <language>en</language>
660
- <script>Latn</script>
661
- <status>
662
- <stage abbreviation='IS'>60</stage>
663
- <substage>60</substage>
664
- </status>
665
- <copyright>
666
- <from>#{Time.now.year}</from>
667
- <owner>
668
- <organization>
669
- <name>International Organization for Standardization</name>
670
- <abbreviation>ISO</abbreviation>
671
- </organization>
672
- </owner>
673
- </copyright>
674
- <ext>
675
- <doctype>technical-corrigendum</doctype>
676
- <editorialgroup>
677
- <technical-committee/>
678
- <subcommittee/>
679
- <workgroup/>
680
- </editorialgroup>
681
- <structuredidentifier>
682
- <project-number part='1' corrigendum='3'>17301</project-number>
683
- </structuredidentifier>
684
- <stagename>International standard</stagename>
685
- </ext>
686
- </bibdata>
687
- <sections/>
688
- </iso-standard>
689
- OUTPUT
690
- end
691
-
692
-
693
-
694
- end