metanorma-iso 2.0.8.1 → 2.1.2
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.
- checksums.yaml +4 -4
- data/lib/html2doc/lists.rb +169 -0
- data/lib/isodoc/iso/base_convert.rb +11 -1
- data/lib/isodoc/iso/html/html_iso_titlepage.html +7 -0
- data/lib/isodoc/iso/html/isodoc-dis.css +407 -427
- data/lib/isodoc/iso/html/isodoc-dis.scss +482 -438
- data/lib/isodoc/iso/html/isodoc.css +38 -13
- data/lib/isodoc/iso/html/isodoc.scss +38 -12
- data/lib/isodoc/iso/html/style-human.css +14 -1
- data/lib/isodoc/iso/html/style-human.scss +10 -1
- data/lib/isodoc/iso/html/style-iso.css +35 -23
- data/lib/isodoc/iso/html/style-iso.scss +31 -23
- data/lib/isodoc/iso/html/word_iso_intro-dis.html +3 -1
- data/lib/isodoc/iso/html/word_iso_titlepage-dis.html +26 -13
- data/lib/isodoc/iso/html/word_iso_titlepage-prf.html +58 -0
- data/lib/isodoc/iso/html/word_iso_titlepage.html +16 -6
- data/lib/isodoc/iso/html/wordstyle-dis.css +168 -48
- data/lib/isodoc/iso/html/wordstyle-dis.scss +158 -43
- data/lib/isodoc/iso/html_convert.rb +7 -2
- data/lib/isodoc/iso/i18n-en.yaml +33 -4
- data/lib/isodoc/iso/i18n-fr.yaml +30 -3
- data/lib/isodoc/iso/i18n-ru.yaml +33 -4
- data/lib/isodoc/iso/i18n-zh-Hans.yaml +33 -3
- data/lib/isodoc/iso/i18n.rb +1 -1
- data/lib/isodoc/iso/init.rb +17 -1
- data/lib/isodoc/iso/iso.amendment.xsl +1711 -367
- data/lib/isodoc/iso/iso.international-standard.xsl +1711 -367
- data/lib/isodoc/iso/metadata.rb +72 -78
- data/lib/isodoc/iso/presentation_bibdata.rb +74 -0
- data/lib/isodoc/iso/presentation_xml_convert.rb +52 -100
- data/lib/isodoc/iso/presentation_xref.rb +132 -0
- data/lib/isodoc/iso/sections.rb +3 -3
- data/lib/isodoc/iso/word_cleanup.rb +17 -0
- data/lib/isodoc/iso/word_convert.rb +32 -12
- data/lib/isodoc/iso/word_dis_cleanup.rb +235 -0
- data/lib/isodoc/iso/word_dis_convert.rb +122 -0
- data/lib/isodoc/iso/xref.rb +78 -29
- data/lib/metanorma/iso/base.rb +20 -1
- data/lib/metanorma/iso/biblio.rng +69 -42
- data/lib/metanorma/iso/boilerplate-fr.xml +4 -1
- data/lib/metanorma/iso/boilerplate-ru.xml +4 -3
- data/lib/metanorma/iso/boilerplate.xml +4 -3
- data/lib/metanorma/iso/cleanup.rb +29 -1
- data/lib/metanorma/iso/front.rb +31 -6
- data/lib/metanorma/iso/front_id.rb +2 -0
- data/lib/metanorma/iso/isodoc.rng +65 -0
- data/lib/metanorma/iso/isostandard.rng +30 -12
- data/lib/metanorma/iso/macros.rb +29 -0
- data/lib/metanorma/iso/version.rb +1 -1
- data/lib/metanorma-iso.rb +1 -0
- data/lib/relaton/render/config.yml +4 -0
- data/lib/relaton/render/general.rb +13 -0
- data/metanorma-iso.gemspec +1 -1
- data/spec/isodoc/amd_spec.rb +35 -60
- data/spec/isodoc/blocks_spec.rb +783 -179
- data/spec/isodoc/i18n_spec.rb +331 -100
- data/spec/isodoc/inline_spec.rb +35 -42
- data/spec/isodoc/iso_spec.rb +51 -170
- data/spec/isodoc/metadata_spec.rb +240 -99
- data/spec/isodoc/postproc_spec.rb +68 -7
- data/spec/isodoc/ref_spec.rb +66 -69
- data/spec/isodoc/section_spec.rb +88 -80
- data/spec/isodoc/table_spec.rb +2 -2
- data/spec/isodoc/terms_spec.rb +2 -2
- data/spec/isodoc/word_dis_spec.rb +1886 -0
- data/spec/isodoc/xref_spec.rb +138 -64
- data/spec/metanorma/amd_spec.rb +53 -1
- data/spec/metanorma/base_spec.rb +195 -20
- data/spec/metanorma/blocks_spec.rb +54 -0
- data/spec/metanorma/lists_spec.rb +2 -2
- data/spec/metanorma/section_spec.rb +2 -2
- data/spec/spec_helper.rb +23 -4
- data/spec/vcr_cassettes/withdrawn_iso.yml +25 -25
- metadata +15 -10
- data/docs/asciiiso-syntax.adoc +0 -307
- data/docs/guidance.adoc +0 -487
- data/docs/navigation.adoc +0 -23
- data/docs/quickstart.adoc +0 -179
- data/spec/vcr_cassettes/docrels.yml +0 -385
@@ -82,6 +82,11 @@ RSpec.describe IsoDoc::Iso::Metadata do
|
|
82
82
|
<workgroup number="3">Rice Group</workgroup>
|
83
83
|
<secretariat>GB</secretariat>
|
84
84
|
</editorialgroup>
|
85
|
+
<approvalgroup>
|
86
|
+
<technical-committee number="34a">Food products A</technical-committee>
|
87
|
+
<subcommittee number="4a">Cereals and pulses A</subcommittee>
|
88
|
+
<workgroup number="3a">Rice Group A</workgroup>
|
89
|
+
</approvalgroup>
|
85
90
|
<structuredidentifier>
|
86
91
|
<project-number part="1">ISO/PreCD3 17301</project-number>
|
87
92
|
</structuredidentifier>
|
@@ -94,24 +99,22 @@ RSpec.describe IsoDoc::Iso::Metadata do
|
|
94
99
|
{:accesseddate=>"2012",
|
95
100
|
:activateddate=>"2013",
|
96
101
|
:agency=>"ISO",
|
97
|
-
:
|
98
|
-
:
|
99
|
-
:copieddate=>"XXX",
|
100
|
-
:createddate=>"2010–2011",
|
102
|
+
:approvalgroup=>["TC 34a", "SC 4a", "WG 3a"],
|
103
|
+
:createddate=>"2010–2011",
|
101
104
|
:docnumber=>"ISO/PreCD3 17301-1",
|
102
105
|
:docnumber_lang=>"ISO/PreCD3 17301-1 (E)",
|
103
106
|
:docnumber_reference=>"ISO/PreCD3 17301-1:2000 (E)",
|
104
107
|
:docnumeric=>"1730",
|
105
|
-
:docsubtitle=>"Céréales et légumineuses
|
108
|
+
:docsubtitle=>"Céréales et légumineuses — Spécification et méthodes d'essai — Partie 1: Riz",
|
106
109
|
:docsubtitleintro=>"Céréales et légumineuses",
|
107
110
|
:docsubtitlemain=>"Spécification et méthodes d'essai",
|
108
111
|
:docsubtitlepart=>"Riz",
|
109
|
-
:docsubtitlepartlabel=>"Partie
|
110
|
-
:doctitle=>"Cereals and pulses
|
112
|
+
:docsubtitlepartlabel=>"Partie 1",
|
113
|
+
:doctitle=>"Cereals and pulses — Specifications and test methods — Part 1: Rice",
|
111
114
|
:doctitleintro=>"Cereals and pulses",
|
112
115
|
:doctitlemain=>"Specifications and test methods",
|
113
116
|
:doctitlepart=>"Rice",
|
114
|
-
:doctitlepartlabel=>"Part
|
117
|
+
:doctitlepartlabel=>"Part 1",
|
115
118
|
:doctype=>"International Standard",
|
116
119
|
:doctype_display=>"International Standard",
|
117
120
|
:docyear=>"2016",
|
@@ -120,14 +123,11 @@ RSpec.describe IsoDoc::Iso::Metadata do
|
|
120
123
|
:edition=>"2",
|
121
124
|
:editorialgroup=>["TC 34", "SC 4", "WG 3"],
|
122
125
|
:horizontal=>"true",
|
123
|
-
:implementeddate=>"XXX",
|
124
|
-
:issueddate=>"XXX",
|
125
126
|
:keywords=>["kw2", "kw1"],
|
126
127
|
:lang=>"en",
|
127
128
|
:obsoleteddate=>"2014",
|
128
129
|
:publisheddate=>"2011",
|
129
130
|
:publisher=>"International Organization for Standardization",
|
130
|
-
:receiveddate=>"XXX",
|
131
131
|
:revdate=>"2016-05-01",
|
132
132
|
:revdate_monthyear=>"May 2016",
|
133
133
|
:sc=>"SC 4",
|
@@ -137,14 +137,10 @@ RSpec.describe IsoDoc::Iso::Metadata do
|
|
137
137
|
:stage_int=>30,
|
138
138
|
:stageabbr=>"CD",
|
139
139
|
:statusabbr=>"PreCD3",
|
140
|
+
:substage_int=>"92",
|
140
141
|
:tc=>"TC 34",
|
141
142
|
:tc_docnumber=>["17301", "17302"],
|
142
|
-
:transmitteddate=>"XXX",
|
143
|
-
:unchangeddate=>"XXX",
|
144
143
|
:unpublished=>true,
|
145
|
-
:updateddate=>"XXX",
|
146
|
-
:vote_endeddate=>"XXX",
|
147
|
-
:vote_starteddate=>"XXX",
|
148
144
|
:wg=>"WG 3"}
|
149
145
|
OUTPUT
|
150
146
|
expect(metadata(c.info(Nokogiri::XML(input),
|
@@ -159,16 +155,9 @@ RSpec.describe IsoDoc::Iso::Metadata do
|
|
159
155
|
input = <<~INPUT
|
160
156
|
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
161
157
|
<bibdata type="standard">
|
162
|
-
<title>
|
163
158
|
<title type="title-intro" language="en" format="text/plain">Cereals and pulses</title>
|
164
159
|
<title type="title-main" language="en" format="text/plain">Specifications and test methods</title>
|
165
160
|
<title type="title-part" language="en" format="text/plain">Rice</title>
|
166
|
-
</title>
|
167
|
-
<title>
|
168
|
-
<title type="title-intro" language="fr" format="text/plain">Céréales et légumineuses</title>
|
169
|
-
<title type="title-main" language="fr" format="text/plain">Spécification et méthodes d'essai</title>
|
170
|
-
<title type="title-part" language="fr" format="text/plain">Riz</title>
|
171
|
-
</title>
|
172
161
|
<docidentifier type="ISO">ISO/IEC/CD 17301-1-3</docidentifier>
|
173
162
|
<docidentifier type="iso-with-lang">ISO/IEC/CD 17301-1-3 (E)</docidentifier>
|
174
163
|
<docidentifier type="iso-reference">ISO/IEC/CD 17301-1-3 (E)</docidentifier>
|
@@ -218,6 +207,11 @@ RSpec.describe IsoDoc::Iso::Metadata do
|
|
218
207
|
<subcommittee number="4" type="DEF">Cereals and pulses</subcommittee>
|
219
208
|
<workgroup number="3" type="GHI">Rice Group</workgroup>
|
220
209
|
</editorialgroup>
|
210
|
+
<approvalgroup>
|
211
|
+
<technical-committee number="34" type="ABC">Food products</technical-committee>
|
212
|
+
<subcommittee number="4" type="DEF">Cereals and pulses</subcommittee>
|
213
|
+
<workgroup number="3" type="GHI">Rice Group</workgroup>
|
214
|
+
</approvalgroup>
|
221
215
|
<ics><code>1.2.3</code></ics>
|
222
216
|
<ics><code>1.2.3</code></ics>
|
223
217
|
<structuredidentifier>
|
@@ -229,53 +223,35 @@ RSpec.describe IsoDoc::Iso::Metadata do
|
|
229
223
|
</iso-standard>
|
230
224
|
INPUT
|
231
225
|
output = <<~OUTPUT
|
232
|
-
{:
|
233
|
-
:
|
234
|
-
:circulateddate=>"XXX",
|
235
|
-
:confirmeddate=>"XXX",
|
236
|
-
:copieddate=>"XXX",
|
237
|
-
:createddate=>"XXX",
|
226
|
+
{:agency=>"ISO/IEC",
|
227
|
+
:approvalgroup=>["ABC 34", "DEF 4", "GHI 3"],
|
238
228
|
:docnumber=>"ISO/IEC/CD 17301-1-3",
|
239
229
|
:docnumber_lang=>"ISO/IEC/CD 17301-1-3 (E)",
|
240
230
|
:docnumber_reference=>"ISO/IEC/CD 17301-1-3 (E)",
|
241
|
-
:
|
242
|
-
:
|
243
|
-
:docsubtitlemain=>"Spécification et méthodes d'essai",
|
244
|
-
:docsubtitlepart=>"Riz",
|
245
|
-
:docsubtitlepartlabel=>"Partie 1–3",
|
246
|
-
:doctitle=>"Cereals and pulses — Specifications and test methods — Part 1–3: Rice",
|
231
|
+
:docsubtitlepartlabel=>"Partie 1–3",
|
232
|
+
:doctitle=>"Cereals and pulses — Specifications and test methods — Part 1–3: Rice",
|
247
233
|
:doctitleintro=>"Cereals and pulses",
|
248
234
|
:doctitlemain=>"Specifications and test methods",
|
249
235
|
:doctitlepart=>"Rice",
|
250
|
-
:doctitlepartlabel=>"Part
|
236
|
+
:doctitlepartlabel=>"Part 1–3",
|
251
237
|
:doctype=>"International Standard",
|
252
238
|
:doctype_display=>"International Standard",
|
253
239
|
:docyear=>"2016",
|
254
240
|
:editorialgroup=>["ABC 34", "DEF 4", "GHI 3"],
|
255
241
|
:ics=>"1.2.3, 1.2.3",
|
256
|
-
:implementeddate=>"XXX",
|
257
|
-
:issueddate=>"XXX",
|
258
242
|
:lang=>"en",
|
259
|
-
:obsoleteddate=>"XXX",
|
260
243
|
:obsoletes=>"IEC 8121",
|
261
244
|
:obsoletes_part=>"3.1",
|
262
|
-
:publisheddate=>"XXX",
|
263
245
|
:publisher=>"International Organization for Standardization and International Electrotechnical Commission",
|
264
|
-
:receiveddate=>"XXX",
|
265
246
|
:sc=>"DEF 4",
|
266
247
|
:script=>"Latn",
|
267
|
-
:secretariat=>"XXX",
|
268
248
|
:stage=>"60",
|
269
249
|
:stage_int=>60,
|
270
250
|
:statusabbr=>"IS",
|
251
|
+
:substage_int=>"92",
|
271
252
|
:tc=>"ABC 34",
|
272
253
|
:tc_docnumber=>["17301"],
|
273
|
-
:transmitteddate=>"XXX",
|
274
|
-
:unchangeddate=>"XXX",
|
275
254
|
:unpublished=>false,
|
276
|
-
:updateddate=>"XXX",
|
277
|
-
:vote_endeddate=>"XXX",
|
278
|
-
:vote_starteddate=>"XXX",
|
279
255
|
:wg=>"GHI 3"}
|
280
256
|
OUTPUT
|
281
257
|
expect(metadata(c.info(Nokogiri::XML(input),
|
@@ -294,16 +270,12 @@ RSpec.describe IsoDoc::Iso::Metadata do
|
|
294
270
|
input = <<~INPUT
|
295
271
|
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
296
272
|
<bibdata type="standard">
|
297
|
-
<title>
|
298
273
|
<title type="title-intro" language="en" format="text/plain">Cereals and pulses</title>
|
299
274
|
<title type="title-main" language="en" format="text/plain">Specifications and test methods</title>
|
300
275
|
<title type="title-part" language="en" format="text/plain">Rice</title>
|
301
|
-
</title>
|
302
|
-
<title>
|
303
276
|
<title type="title-intro" language="fr" format="text/plain">Céréales et légumineuses</title>
|
304
277
|
<title type="title-main" language="fr" format="text/plain">Spécification et méthodes d'essai</title>
|
305
278
|
<title type="title-part" language="fr" format="text/plain">Riz</title>
|
306
|
-
</title>
|
307
279
|
<docidentifier type="ISO">ISO/IEC/CD 17301-1-3</docidentifier>
|
308
280
|
<docidentifier type="iso-with-lang">ISO/IEC/CD 17301-1-3 (E)</docidentifier>
|
309
281
|
<docidentifier type="iso-reference">ISO/IEC/CD 17301-1-3 (E)</docidentifier>
|
@@ -365,53 +337,38 @@ RSpec.describe IsoDoc::Iso::Metadata do
|
|
365
337
|
</iso-standard>
|
366
338
|
INPUT
|
367
339
|
output = <<~OUTPUT
|
368
|
-
{:
|
369
|
-
:agency=>"ISO/IEC",
|
370
|
-
:circulateddate=>"XXX",
|
371
|
-
:confirmeddate=>"XXX",
|
372
|
-
:copieddate=>"XXX",
|
373
|
-
:createddate=>"XXX",
|
340
|
+
{:agency=>"ISO/IEC",
|
374
341
|
:docnumber=>"ISO/IEC/CD 17301-1-3",
|
375
342
|
:docnumber_lang=>"ISO/IEC/CD 17301-1-3 (E)",
|
376
343
|
:docnumber_reference=>"ISO/IEC/CD 17301-1-3 (E)",
|
377
|
-
:docsubtitle=>"Cereals and pulses
|
344
|
+
:docsubtitle=>"Cereals and pulses — Specifications and test methods — Part 1–3: Rice",
|
378
345
|
:docsubtitleintro=>"Cereals and pulses",
|
379
346
|
:docsubtitlemain=>"Specifications and test methods",
|
380
347
|
:docsubtitlepart=>"Rice",
|
381
|
-
:docsubtitlepartlabel=>"Part
|
382
|
-
:doctitle=>"Céréales et légumineuses
|
348
|
+
:docsubtitlepartlabel=>"Part 1–3",
|
349
|
+
:doctitle=>"Céréales et légumineuses — Spécification et méthodes d'essai — Partie 1–3: Riz",
|
383
350
|
:doctitleintro=>"Céréales et légumineuses",
|
384
351
|
:doctitlemain=>"Spécification et méthodes d'essai",
|
385
352
|
:doctitlepart=>"Riz",
|
386
|
-
:doctitlepartlabel=>"Partie
|
353
|
+
:doctitlepartlabel=>"Partie 1–3",
|
387
354
|
:doctype=>"International Standard",
|
388
355
|
:doctype_display=>"Standard International",
|
389
356
|
:docyear=>"2016",
|
390
357
|
:editorialgroup=>["ABC 34", "DEF 4", "GHI 3"],
|
391
358
|
:ics=>"1.2.3, 1.2.3",
|
392
|
-
:implementeddate=>"XXX",
|
393
|
-
:issueddate=>"XXX",
|
394
359
|
:lang=>"fr",
|
395
|
-
:obsoleteddate=>"XXX",
|
396
360
|
:obsoletes=>"IEC 8121",
|
397
361
|
:obsoletes_part=>"3.1",
|
398
|
-
:publisheddate=>"XXX",
|
399
362
|
:publisher=>"International Organization for Standardization et International Electrotechnical Commission",
|
400
|
-
:receiveddate=>"XXX",
|
401
363
|
:sc=>"DEF 4",
|
402
364
|
:script=>"Latn",
|
403
|
-
:secretariat=>"XXX",
|
404
365
|
:stage=>"60",
|
405
366
|
:stage_int=>60,
|
406
367
|
:statusabbr=>"IS",
|
368
|
+
:substage_int=>"92",
|
407
369
|
:tc=>"ABC 34",
|
408
370
|
:tc_docnumber=>["17301"],
|
409
|
-
:transmitteddate=>"XXX",
|
410
|
-
:unchangeddate=>"XXX",
|
411
371
|
:unpublished=>false,
|
412
|
-
:updateddate=>"XXX",
|
413
|
-
:vote_endeddate=>"XXX",
|
414
|
-
:vote_starteddate=>"XXX",
|
415
372
|
:wg=>"GHI 3"}
|
416
373
|
OUTPUT
|
417
374
|
expect(metadata(c.info(Nokogiri::XML(input),
|
@@ -430,21 +387,15 @@ RSpec.describe IsoDoc::Iso::Metadata do
|
|
430
387
|
input = <<~INPUT
|
431
388
|
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
432
389
|
<bibdata type="standard">
|
433
|
-
<title>
|
434
390
|
<title type="title-intro" language="en" format="text/plain">Cereals and pulses</title>
|
435
391
|
<title type="title-main" language="en" format="text/plain">Specifications and test methods</title>
|
436
392
|
<title type="title-part" language="en" format="text/plain">Rice</title>
|
437
|
-
</title>
|
438
|
-
<title>
|
439
393
|
<title type="title-intro" language="fr" format="text/plain">Céréales et légumineuses</title>
|
440
394
|
<title type="title-main" language="fr" format="text/plain">Spécification et méthodes d'essai</title>
|
441
395
|
<title type="title-part" language="fr" format="text/plain">Riz</title>
|
442
|
-
</title>
|
443
|
-
<title>
|
444
396
|
<title type="title-intro" language="ru" format="text/plain">Зерновые и бобовые</title>
|
445
397
|
<title type="title-main" language="ru" format="text/plain">Технические характеристики и методы испытаний</title>
|
446
398
|
<title type="title-part" language="ru" format="text/plain">Рис</title>
|
447
|
-
</title>
|
448
399
|
<docidentifier type="ISO">ISO/IEC/CD 17301-1-3</docidentifier>
|
449
400
|
<docidentifier type="iso-with-lang">ISO/IEC/CD 17301-1-3 (E)</docidentifier>
|
450
401
|
<docidentifier type="iso-reference">ISO/IEC/CD 17301-1-3 (E)</docidentifier>
|
@@ -506,56 +457,246 @@ RSpec.describe IsoDoc::Iso::Metadata do
|
|
506
457
|
</iso-standard>
|
507
458
|
INPUT
|
508
459
|
output = <<~OUTPUT
|
509
|
-
{:
|
510
|
-
:agency=>"ISO/IEC",
|
511
|
-
:circulateddate=>"XXX",
|
512
|
-
:confirmeddate=>"XXX",
|
513
|
-
:copieddate=>"XXX",
|
514
|
-
:createddate=>"XXX",
|
460
|
+
{:agency=>"ISO/IEC",
|
515
461
|
:docnumber=>"ISO/IEC/CD 17301-1-3",
|
516
462
|
:docnumber_lang=>"ISO/IEC/CD 17301-1-3 (E)",
|
517
463
|
:docnumber_reference=>"ISO/IEC/CD 17301-1-3 (E)",
|
518
|
-
:docsubtitle=>"Cereals and pulses
|
464
|
+
:docsubtitle=>"Cereals and pulses — Specifications and test methods — Part 1–3: Rice",
|
519
465
|
:docsubtitleintro=>"Cereals and pulses",
|
520
466
|
:docsubtitlemain=>"Specifications and test methods",
|
521
467
|
:docsubtitlepart=>"Rice",
|
522
|
-
:docsubtitlepartlabel=>"Part
|
523
|
-
:doctitle=>"Зерновые и бобовые
|
468
|
+
:docsubtitlepartlabel=>"Part 1–3",
|
469
|
+
:doctitle=>"Зерновые и бобовые — Технические характеристики и методы испытаний — Часть 1–3: Рис",
|
524
470
|
:doctitleintro=>"Зерновые и бобовые",
|
525
471
|
:doctitlemain=>"Технические характеристики и методы испытаний",
|
526
472
|
:doctitlepart=>"Рис",
|
527
|
-
:doctitlepartlabel=>"
|
473
|
+
:doctitlepartlabel=>"Часть 1–3",
|
528
474
|
:doctype=>"International Standard",
|
529
475
|
:doctype_display=>"International Standard",
|
530
476
|
:docyear=>"2016",
|
531
477
|
:editorialgroup=>["ABC 34", "DEF 4", "GHI 3"],
|
532
478
|
:ics=>"1.2.3, 1.2.3",
|
533
|
-
:implementeddate=>"XXX",
|
534
|
-
:issueddate=>"XXX",
|
535
479
|
:lang=>"ru",
|
536
|
-
:obsoleteddate=>"XXX",
|
537
480
|
:obsoletes=>"IEC 8121",
|
538
481
|
:obsoletes_part=>"3.1",
|
539
|
-
:publisheddate=>"XXX",
|
540
482
|
:publisher=>"International Organization for Standardization и International Electrotechnical Commission",
|
541
|
-
:receiveddate=>"XXX",
|
542
483
|
:sc=>"DEF 4",
|
543
484
|
:script=>"Latn",
|
544
|
-
:secretariat=>"XXX",
|
545
485
|
:stage=>"60",
|
546
486
|
:stage_int=>60,
|
547
487
|
:statusabbr=>"IS",
|
488
|
+
:substage_int=>"92",
|
548
489
|
:tc=>"ABC 34",
|
549
490
|
:tc_docnumber=>["17301"],
|
550
|
-
:transmitteddate=>"XXX",
|
551
|
-
:unchangeddate=>"XXX",
|
552
491
|
:unpublished=>false,
|
553
|
-
:updateddate=>"XXX",
|
554
|
-
:vote_endeddate=>"XXX",
|
555
|
-
:vote_starteddate=>"XXX",
|
556
492
|
:wg=>"GHI 3"}
|
557
493
|
OUTPUT
|
558
494
|
expect(metadata(c.info(Nokogiri::XML(input),
|
559
495
|
nil))).to be_equivalent_to output
|
560
496
|
end
|
497
|
+
|
498
|
+
it "warns of missing Secretariat" do
|
499
|
+
input = <<~INPUT
|
500
|
+
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
501
|
+
<bibdata type="standard">
|
502
|
+
<title type="title-main" language="en" format="text/plain">Specifications and test methods</title>
|
503
|
+
<status><stage abbreviation="CD">30</stage></status>
|
504
|
+
<date type="published">2000</date>
|
505
|
+
<ext>
|
506
|
+
<editorialgroup>
|
507
|
+
</editorialgroup>
|
508
|
+
</ext>
|
509
|
+
</bibdata>
|
510
|
+
<sections>
|
511
|
+
<clause>
|
512
|
+
<title>Clause 1</title>
|
513
|
+
</clause>
|
514
|
+
</sections>
|
515
|
+
</iso-standard>
|
516
|
+
INPUT
|
517
|
+
output = <<~OUTPUT
|
518
|
+
<sections>
|
519
|
+
<clause displayorder="1">
|
520
|
+
<title depth="1">
|
521
|
+
<review date="#{Date.today}" reviewer="Metanorma" id="_">
|
522
|
+
<p>
|
523
|
+
<strong>
|
524
|
+
Metadata warnings:
|
525
|
+
<strong/>
|
526
|
+
<p>Secretariat is missing.</p>
|
527
|
+
</strong>
|
528
|
+
</p>
|
529
|
+
</review>
|
530
|
+
Clause 1
|
531
|
+
</title>
|
532
|
+
</clause>
|
533
|
+
</sections>
|
534
|
+
OUTPUT
|
535
|
+
expect(xmlpp(strip_guid(Nokogiri::XML(
|
536
|
+
IsoDoc::Iso::PresentationXMLConvert.new({})
|
537
|
+
.convert("test", input, true),
|
538
|
+
)
|
539
|
+
.at("//xmlns:sections").to_xml)))
|
540
|
+
.to be_equivalent_to xmlpp(output)
|
541
|
+
end
|
542
|
+
|
543
|
+
it "warns of missing publication date" do
|
544
|
+
input = <<~INPUT
|
545
|
+
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
546
|
+
<bibdata type="standard">
|
547
|
+
<title type="title-main" language="en" format="text/plain">Specifications and test methods</title>
|
548
|
+
<status><stage abbreviation="CD">30</stage></status>
|
549
|
+
<ext>
|
550
|
+
<editorialgroup>
|
551
|
+
</editorialgroup>
|
552
|
+
<secretariat>BSI</secretariat>
|
553
|
+
</ext>
|
554
|
+
</bibdata>
|
555
|
+
<sections>
|
556
|
+
<clause>
|
557
|
+
<title>Clause 1</title>
|
558
|
+
</clause>
|
559
|
+
</sections>
|
560
|
+
</iso-standard>
|
561
|
+
INPUT
|
562
|
+
output = <<~OUTPUT
|
563
|
+
<sections>
|
564
|
+
<clause displayorder="1">
|
565
|
+
<title depth="1">
|
566
|
+
<review date="#{Date.today}" reviewer="Metanorma" id="_">
|
567
|
+
<p>
|
568
|
+
<strong>
|
569
|
+
Metadata warnings:
|
570
|
+
<strong/>
|
571
|
+
<p>Document date is missing.</p>
|
572
|
+
</strong>
|
573
|
+
</p>
|
574
|
+
</review>
|
575
|
+
Clause 1
|
576
|
+
</title>
|
577
|
+
</clause>
|
578
|
+
</sections>
|
579
|
+
OUTPUT
|
580
|
+
expect(strip_guid(xmlpp(Nokogiri::XML(
|
581
|
+
IsoDoc::Iso::PresentationXMLConvert.new({})
|
582
|
+
.convert("test", input, true),
|
583
|
+
)
|
584
|
+
.at("//xmlns:sections")
|
585
|
+
.at("//xmlns:sections").to_xml)))
|
586
|
+
.to be_equivalent_to xmlpp(output)
|
587
|
+
end
|
588
|
+
|
589
|
+
it "warns of missing editorial groups" do
|
590
|
+
input = <<~INPUT
|
591
|
+
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
592
|
+
<bibdata type="standard">
|
593
|
+
<title type="title-main" language="en" format="text/plain">Specifications and test methods</title>
|
594
|
+
<status><stage abbreviation="CD">30</stage></status>
|
595
|
+
<date type="published">2000</date>
|
596
|
+
<ext>
|
597
|
+
<secretariat>BSI</secretariat>
|
598
|
+
</ext>
|
599
|
+
</bibdata>
|
600
|
+
<sections>
|
601
|
+
<clause>
|
602
|
+
<title>Clause 1</title>
|
603
|
+
</clause>
|
604
|
+
</sections>
|
605
|
+
</iso-standard>
|
606
|
+
INPUT
|
607
|
+
output = <<~OUTPUT
|
608
|
+
<sections>
|
609
|
+
<clause displayorder="1">
|
610
|
+
<title depth="1">
|
611
|
+
<review date="#{Date.today}" reviewer="Metanorma" id="_">
|
612
|
+
<p>
|
613
|
+
<strong>
|
614
|
+
Metadata warnings:
|
615
|
+
<strong/>
|
616
|
+
<p>Editorial groups are missing.</p>
|
617
|
+
</strong>
|
618
|
+
</p>
|
619
|
+
</review>
|
620
|
+
Clause 1
|
621
|
+
</title>
|
622
|
+
</clause>
|
623
|
+
</sections>
|
624
|
+
OUTPUT
|
625
|
+
expect(strip_guid(xmlpp(Nokogiri::XML(
|
626
|
+
IsoDoc::Iso::PresentationXMLConvert.new({})
|
627
|
+
.convert("test", input, true),
|
628
|
+
)
|
629
|
+
.at("//xmlns:sections")
|
630
|
+
.at("//xmlns:sections").to_xml)))
|
631
|
+
.to be_equivalent_to xmlpp(output)
|
632
|
+
end
|
633
|
+
|
634
|
+
it "does not warn of missing metadata in compliant document" do
|
635
|
+
input = <<~INPUT
|
636
|
+
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
637
|
+
<bibdata type="standard">
|
638
|
+
<title type="title-main" language="en" format="text/plain">Specifications and test methods</title>
|
639
|
+
<status><stage abbreviation="CD">30</stage></status>
|
640
|
+
<date type="published">2000</date>
|
641
|
+
<ext>
|
642
|
+
<editorialgroup>
|
643
|
+
</editorialgroup>
|
644
|
+
<secretariat>BSI</secretariat>
|
645
|
+
</ext>
|
646
|
+
</bibdata>
|
647
|
+
<sections>
|
648
|
+
<clause>
|
649
|
+
<title>Clause 1</title>
|
650
|
+
</clause>
|
651
|
+
</sections>
|
652
|
+
</iso-standard>
|
653
|
+
INPUT
|
654
|
+
output = <<~OUTPUT
|
655
|
+
<sections>
|
656
|
+
<clause displayorder='1'>
|
657
|
+
<title depth='1'>Clause 1</title>
|
658
|
+
</clause>
|
659
|
+
</sections>
|
660
|
+
OUTPUT
|
661
|
+
expect(strip_guid(xmlpp(Nokogiri::XML(
|
662
|
+
IsoDoc::Iso::PresentationXMLConvert.new({})
|
663
|
+
.convert("test", input, true),
|
664
|
+
)
|
665
|
+
.at("//xmlns:sections").to_xml)))
|
666
|
+
.to be_equivalent_to xmlpp(output)
|
667
|
+
end
|
668
|
+
|
669
|
+
it "does not warn of missing metadata in published document" do
|
670
|
+
input = <<~INPUT
|
671
|
+
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
672
|
+
<bibdata type="standard">
|
673
|
+
<title type="title-main" language="en" format="text/plain">Specifications and test methods</title>
|
674
|
+
<status><stage abbreviation="CD">90</stage></status>
|
675
|
+
<ext>
|
676
|
+
<editorialgroup>
|
677
|
+
</editorialgroup>
|
678
|
+
<secretariat>BSI</secretariat>
|
679
|
+
</ext>
|
680
|
+
</bibdata>
|
681
|
+
<sections>
|
682
|
+
<clause>
|
683
|
+
<title>Clause 1</title>
|
684
|
+
</clause>
|
685
|
+
</sections>
|
686
|
+
</iso-standard>
|
687
|
+
INPUT
|
688
|
+
output = <<~OUTPUT
|
689
|
+
<sections>
|
690
|
+
<clause displayorder='1'>
|
691
|
+
<title depth='1'>Clause 1</title>
|
692
|
+
</clause>
|
693
|
+
</sections>
|
694
|
+
OUTPUT
|
695
|
+
expect(strip_guid(xmlpp(Nokogiri::XML(
|
696
|
+
IsoDoc::Iso::PresentationXMLConvert.new({})
|
697
|
+
.convert("test", input, true),
|
698
|
+
)
|
699
|
+
.at("//xmlns:sections").to_xml)))
|
700
|
+
.to be_equivalent_to xmlpp(output)
|
701
|
+
end
|
561
702
|
end
|