metanorma-iso 1.5.8 → 1.5.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +66 -0
  3. data/README.adoc +5 -6
  4. data/lib/asciidoctor/iso/base.rb +5 -0
  5. data/lib/asciidoctor/iso/basicdoc.rng +4 -11
  6. data/lib/asciidoctor/iso/boilerplate-fr.xml +40 -0
  7. data/lib/asciidoctor/iso/boilerplate.xml +1 -0
  8. data/lib/asciidoctor/iso/cleanup.rb +38 -0
  9. data/lib/asciidoctor/iso/front.rb +14 -15
  10. data/lib/asciidoctor/iso/isodoc.rng +27 -50
  11. data/lib/asciidoctor/iso/isostandard.rng +16 -1
  12. data/lib/asciidoctor/iso/validate.rb +1 -1
  13. data/lib/asciidoctor/iso/validate_section.rb +9 -0
  14. data/lib/isodoc/iso/base_convert.rb +2 -1
  15. data/lib/isodoc/iso/html/header.html +12 -24
  16. data/lib/isodoc/iso/html/htmlstyle.css +1 -1
  17. data/lib/isodoc/iso/html/htmlstyle.scss +1 -1
  18. data/lib/isodoc/iso/html/isodoc.css +42 -42
  19. data/lib/isodoc/iso/html/isodoc.scss +42 -42
  20. data/lib/isodoc/iso/html/style-human.css +14 -10
  21. data/lib/isodoc/iso/html/style-human.scss +7 -7
  22. data/lib/isodoc/iso/html/style-iso.css +12 -8
  23. data/lib/isodoc/iso/html/style-iso.scss +5 -5
  24. data/lib/isodoc/iso/html/wordstyle.css +67 -67
  25. data/lib/isodoc/iso/html/wordstyle.scss +67 -67
  26. data/lib/isodoc/iso/html_convert.rb +4 -0
  27. data/lib/isodoc/iso/i18n-en.yaml +4 -0
  28. data/lib/isodoc/iso/i18n-fr.yaml +5 -0
  29. data/lib/isodoc/iso/i18n-zh-Hans.yaml +5 -0
  30. data/lib/isodoc/iso/i18n.rb +10 -11
  31. data/lib/isodoc/iso/iso.amendment.xsl +739 -141
  32. data/lib/isodoc/iso/iso.international-standard.xsl +739 -141
  33. data/lib/isodoc/iso/metadata.rb +20 -19
  34. data/lib/isodoc/iso/word_convert.rb +4 -0
  35. data/lib/isodoc/iso/xref.rb +10 -0
  36. data/lib/metanorma/iso/fonts_manifest.yaml +6 -0
  37. data/lib/metanorma/iso/processor.rb +0 -9
  38. data/lib/metanorma/iso/version.rb +1 -1
  39. data/metanorma-iso.gemspec +2 -2
  40. data/spec/asciidoctor-iso/amd_spec.rb +7 -7
  41. data/spec/asciidoctor-iso/base_spec.rb +146 -18
  42. data/spec/asciidoctor-iso/blocks_spec.rb +1 -1
  43. data/spec/asciidoctor-iso/cleanup_spec.rb +4 -4
  44. data/spec/asciidoctor-iso/lists_spec.rb +6 -6
  45. data/spec/asciidoctor-iso/refs_spec.rb +174 -143
  46. data/spec/asciidoctor-iso/section_spec.rb +5 -0
  47. data/spec/asciidoctor-iso/validate_spec.rb +52 -15
  48. data/spec/assets/xref_error.adoc +7 -0
  49. data/spec/isodoc/amd_spec.rb +191 -17
  50. data/spec/isodoc/blocks_spec.rb +2 -1
  51. data/spec/isodoc/i18n_spec.rb +13 -13
  52. data/spec/isodoc/inline_spec.rb +2 -2
  53. data/spec/isodoc/iso_spec.rb +2 -2
  54. data/spec/isodoc/metadata_spec.rb +172 -19
  55. data/spec/isodoc/postproc_spec.rb +3 -3
  56. data/spec/isodoc/ref_spec.rb +5 -5
  57. data/spec/isodoc/section_spec.rb +22 -2
  58. data/spec/isodoc/table_spec.rb +1 -1
  59. data/spec/isodoc/terms_spec.rb +1 -1
  60. data/spec/isodoc/xref_spec.rb +23 -11
  61. data/spec/metanorma/processor_spec.rb +1 -1
  62. data/spec/spec_helper.rb +22 -2
  63. metadata +10 -9
  64. data/.github/workflows/macos.yml +0 -41
  65. data/.github/workflows/ubuntu.yml +0 -45
  66. data/.github/workflows/windows.yml +0 -43
@@ -272,7 +272,7 @@ RSpec.describe IsoDoc do
272
272
  </iso-standard>
273
273
  INPUT
274
274
  <?xml version='1.0'?>
275
- <iso-standard xmlns='http://riboseinc.com/isoxml'>
275
+ <iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
276
276
  <preface>
277
277
  <foreword>
278
278
  <formula id='_be9158af-7e93-4ee2-90c5-26d31c181934' unnumbered='true'>
@@ -436,6 +436,7 @@ OUTPUT
436
436
  <div id='_be9158af-7e93-4ee2-90c5-26d31c181934'><div class='formula'>
437
437
  <p>
438
438
  <span class='stem'>(#(r = 1 %)#)</span>
439
+ <span style='mso-tab-count:1'>&#160; </span>
439
440
  </p>
440
441
  </div>
441
442
  <p>where</p>
@@ -72,9 +72,9 @@ RSpec.describe IsoDoc do
72
72
  INPUT
73
73
 
74
74
  presxml = <<~OUTPUT
75
- <iso-standard xmlns='http://riboseinc.com/isoxml'>
75
+ <iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
76
76
  <bibdata>
77
- <language>en</language>
77
+ <language current="true">en</language>
78
78
  </bibdata>
79
79
  <preface>
80
80
  <foreword obligation='informative'>
@@ -238,12 +238,12 @@ RSpec.describe IsoDoc do
238
238
  </body>
239
239
  </html>
240
240
  OUTPUT
241
- expect(xmlpp(IsoDoc::Iso::PresentationXMLConvert.new({}).convert("test", input, true))).to be_equivalent_to xmlpp(presxml)
241
+ expect(xmlpp(IsoDoc::Iso::PresentationXMLConvert.new({}).convert("test", input, true)).sub(%r{<localized-strings>.*</localized-strings>}m, "")).to be_equivalent_to xmlpp(presxml)
242
242
  expect(xmlpp(IsoDoc::Iso::HtmlConvert.new({}).convert("test", presxml, true))).to be_equivalent_to xmlpp(html)
243
243
  end
244
244
 
245
245
  it "defaults to English" do
246
- expect(xmlpp(IsoDoc::Iso::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
246
+ expect(xmlpp(IsoDoc::Iso::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true)).sub(%r{<localized-strings>.*</localized-strings>}m, "")).to be_equivalent_to xmlpp(<<~"OUTPUT")
247
247
  <iso-standard xmlns="http://riboseinc.com/isoxml">
248
248
  <bibdata>
249
249
  <language>tlh</language>
@@ -311,9 +311,9 @@ RSpec.describe IsoDoc do
311
311
  </bibliography>
312
312
  </iso-standard>
313
313
  INPUT
314
- <iso-standard xmlns='http://riboseinc.com/isoxml'>
314
+ <iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
315
315
  <bibdata>
316
- <language>tlh</language>
316
+ <language current="true">tlh</language>
317
317
  </bibdata>
318
318
  <preface>
319
319
  <foreword obligation='informative'>
@@ -520,9 +520,9 @@ RSpec.describe IsoDoc do
520
520
  INPUT
521
521
 
522
522
  presxml = <<~OUTPUT
523
- <iso-standard xmlns='http://riboseinc.com/isoxml'>
523
+ <iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
524
524
  <bibdata>
525
- <language>fr</language>
525
+ <language current="true">fr</language>
526
526
  </bibdata>
527
527
  <preface>
528
528
  <foreword obligation='informative'>
@@ -685,7 +685,7 @@ OUTPUT
685
685
  </body>
686
686
  </html>
687
687
  OUTPUT
688
- expect(xmlpp(IsoDoc::Iso::PresentationXMLConvert.new({}).convert("test", input, true))).to be_equivalent_to xmlpp(presxml)
688
+ expect(xmlpp(IsoDoc::Iso::PresentationXMLConvert.new({}).convert("test", input, true)).sub(%r{<localized-strings>.*</localized-strings>}m, "")).to be_equivalent_to xmlpp(presxml)
689
689
  expect(xmlpp(IsoDoc::Iso::HtmlConvert.new({}).convert("test", presxml, true))).to be_equivalent_to xmlpp(html)
690
690
  end
691
691
 
@@ -770,10 +770,10 @@ OUTPUT
770
770
  </iso-standard>
771
771
  INPUT
772
772
  presxml = <<~OUTPUT
773
- <iso-standard xmlns='http://riboseinc.com/isoxml'>
773
+ <iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
774
774
  <bibdata>
775
- <language>zh</language>
776
- <script>Hans</script>
775
+ <language current="true">zh</language>
776
+ <script current="true">Hans</script>
777
777
  </bibdata>
778
778
  <preface>
779
779
  <foreword obligation='informative'>
@@ -947,7 +947,7 @@ OUTPUT
947
947
  </body>
948
948
  </html>
949
949
  OUTPUT
950
- expect(xmlpp(IsoDoc::Iso::PresentationXMLConvert.new({}).convert("test", input, true))).to be_equivalent_to xmlpp(presxml)
950
+ expect(xmlpp(IsoDoc::Iso::PresentationXMLConvert.new({}).convert("test", input, true)).sub(%r{<localized-strings>.*</localized-strings>}m, "")).to be_equivalent_to xmlpp(presxml)
951
951
  expect(xmlpp(IsoDoc::Iso::HtmlConvert.new({}).convert("test", presxml, true))).to be_equivalent_to xmlpp(html)
952
952
  end
953
953
 
@@ -194,7 +194,7 @@ RSpec.describe IsoDoc do
194
194
  end
195
195
 
196
196
  it "processes eref content" do
197
- expect(xmlpp(IsoDoc::Iso::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
197
+ expect(xmlpp(IsoDoc::Iso::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true)).sub(%r{<i18nyaml>.*</i18nyaml>}m, "")).to be_equivalent_to xmlpp(<<~"OUTPUT")
198
198
  <iso-standard xmlns="http://riboseinc.com/isoxml">
199
199
  <preface><foreword>
200
200
  <p>
@@ -229,7 +229,7 @@ RSpec.describe IsoDoc do
229
229
  </iso-standard>
230
230
  INPUT
231
231
  <?xml version='1.0'?>
232
- <iso-standard xmlns='http://riboseinc.com/isoxml'>
232
+ <iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
233
233
  <preface>
234
234
  <foreword>
235
235
  <p>
@@ -175,7 +175,7 @@ end
175
175
  </iso-standard>
176
176
  INPUT
177
177
  <?xml version='1.0'?>
178
- <iso-standard xmlns='http://riboseinc.com/isoxml'>
178
+ <iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
179
179
  <preface>
180
180
  <foreword>
181
181
  <example id='samplecode'>
@@ -231,7 +231,7 @@ OUTPUT
231
231
  </iso-standard>
232
232
  INPUT
233
233
  <?xml version='1.0'?>
234
- <iso-standard xmlns='http://riboseinc.com/isoxml'>
234
+ <iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
235
235
  <preface>
236
236
  <foreword>
237
237
  <example id='samplecode'>
@@ -7,7 +7,7 @@ RSpec.describe IsoDoc::Iso::Metadata do
7
7
  arr = c.convert_init(<<~"INPUT", "test", false)
8
8
  <iso-standard xmlns="http://riboseinc.com/isoxml">
9
9
  INPUT
10
- expect(Hash[c.info(Nokogiri::XML(<<~"INPUT"), nil).sort]).to be_equivalent_to <<~"OUTPUT"
10
+ expect(metadata(c.info(Nokogiri::XML(<<~"INPUT"), nil))).to be_equivalent_to <<~"OUTPUT"
11
11
  <iso-standard xmlns="http://riboseinc.com/isoxml">
12
12
  <bibdata type="standard">
13
13
  <title type="title-intro" language="en" format="text/plain">Cereals and pulses</title>
@@ -64,6 +64,7 @@ RSpec.describe IsoDoc::Iso::Metadata do
64
64
  <keyword>kw1</keyword>
65
65
  <ext>
66
66
  <doctype>international-standard</doctype>
67
+ <horizontal>true</horizontal>
67
68
  <editorialgroup>
68
69
  <technical-committee number="34">Food products</technical-committee>
69
70
  <subcommittee number="4">Cereals and pulses</subcommittee>
@@ -81,8 +82,9 @@ INPUT
81
82
  {:accesseddate=>"2012",
82
83
  :activateddate=>"2013",
83
84
  :agency=>"ISO",
84
- :authors=>[],
85
- :authors_affiliations=>{},
85
+ :circulateddate=>"XXX",
86
+ :confirmeddate=>"XXX",
87
+ :copieddate=>"XXX",
86
88
  :createddate=>"2010&ndash;2011",
87
89
  :docnumber=>"ISO/PreCD3 17301-1",
88
90
  :docnumber_lang=>"ISO/PreCD3 17301-1 (E)",
@@ -99,21 +101,25 @@ INPUT
99
101
  :doctitlepart=>"Rice",
100
102
  :doctitlepartlabel=>"Part&nbsp;1",
101
103
  :doctype=>"International Standard",
104
+ :doctype_display=>"International Standard",
102
105
  :docyear=>"2016",
103
106
  :draft=>"0.4",
104
107
  :draftinfo=>" (draft 0.4, 2016-05-01)",
105
108
  :edition=>"2",
106
109
  :editorialgroup=>["TC 34", "SC 4", "WG 3"],
107
- :ics=>nil,
110
+ :horizontal=>"true",
111
+ :implementeddate=>"XXX",
112
+ :issueddate=>"XXX",
108
113
  :keywords=>["kw2", "kw1"],
114
+ :lang=>"en",
109
115
  :obsoleteddate=>"2014",
110
- :obsoletes=>nil,
111
- :obsoletes_part=>nil,
112
116
  :publisheddate=>"2011",
113
117
  :publisher=>"International Organization for Standardization",
118
+ :receiveddate=>"XXX",
114
119
  :revdate=>"2016-05-01",
115
120
  :revdate_monthyear=>"May 2016",
116
121
  :sc=>"SC 4",
122
+ :script=>"Latn",
117
123
  :secretariat=>"GB",
118
124
  :stage=>"30",
119
125
  :stage_int=>30,
@@ -121,17 +127,22 @@ INPUT
121
127
  :statusabbr=>"PreCD3",
122
128
  :tc=>"TC 34",
123
129
  :tc_docnumber=>["17301", "17302"],
130
+ :transmitteddate=>"XXX",
131
+ :unchangeddate=>"XXX",
124
132
  :unpublished=>true,
133
+ :updateddate=>"XXX",
134
+ :vote_endeddate=>"XXX",
135
+ :vote_starteddate=>"XXX",
125
136
  :wg=>"WG 3"}
126
137
  OUTPUT
127
138
  end
128
139
 
129
- it "processes IsoXML metadata" do
140
+ it "processes IsoXML metadata #2" do
130
141
  c = IsoDoc::Iso::HtmlConvert.new({})
131
142
  arr = c.convert_init(<<~"INPUT", "test", false)
132
143
  <iso-standard xmlns="http://riboseinc.com/isoxml">
133
144
  INPUT
134
- expect(Hash[c.info(Nokogiri::XML(<<~"INPUT"), nil).sort]).to be_equivalent_to <<~"OUTPUT"
145
+ expect(metadata(c.info(Nokogiri::XML(<<~"INPUT"), nil))).to be_equivalent_to <<~"OUTPUT"
135
146
  <iso-standard xmlns="http://riboseinc.com/isoxml">
136
147
  <bibdata type="standard">
137
148
  <title>
@@ -203,13 +214,15 @@ OUTPUT
203
214
  </bibdata>
204
215
  </iso-standard>
205
216
  INPUT
206
- {:agency=>"ISO/IEC",
207
- :authors=>[],
208
- :authors_affiliations=>{},
217
+ {:accesseddate=>"XXX",
218
+ :agency=>"ISO/IEC",
219
+ :circulateddate=>"XXX",
220
+ :confirmeddate=>"XXX",
221
+ :copieddate=>"XXX",
222
+ :createddate=>"XXX",
209
223
  :docnumber=>"ISO/IEC/CD 17301-1-3",
210
224
  :docnumber_lang=>"ISO/IEC/CD 17301-1-3 (E)",
211
225
  :docnumber_reference=>"ISO/IEC/CD 17301-1-3 (E)",
212
- :docnumeric=>nil,
213
226
  :docsubtitle=>"C&#xe9;r&#xe9;ales et l&#xe9;gumineuses&nbsp;&mdash; Sp&#xe9;cification et m&#xe9;thodes d&#x27;essai&nbsp;&mdash; Partie&nbsp;1&ndash;3: Riz",
214
227
  :docsubtitleintro=>"C&#xe9;r&#xe9;ales et l&#xe9;gumineuses",
215
228
  :docsubtitlemain=>"Sp&#xe9;cification et m&#xe9;thodes d&#x27;essai",
@@ -221,26 +234,166 @@ INPUT
221
234
  :doctitlepart=>"Rice",
222
235
  :doctitlepartlabel=>"Part&nbsp;1&ndash;3",
223
236
  :doctype=>"International Standard",
237
+ :doctype_display=>"International Standard",
224
238
  :docyear=>"2016",
225
- :draft=>nil,
226
- :draftinfo=>"",
227
- :edition=>nil,
228
239
  :editorialgroup=>["ABC 34", "DEF 4", "GHI 3"],
229
240
  :ics=>"1.2.3, 1.2.3",
230
- :keywords=>[],
241
+ :implementeddate=>"XXX",
242
+ :issueddate=>"XXX",
243
+ :lang=>"en",
244
+ :obsoleteddate=>"XXX",
231
245
  :obsoletes=>"IEC 8121",
232
246
  :obsoletes_part=>"3.1",
247
+ :publisheddate=>"XXX",
233
248
  :publisher=>"International Organization for Standardization and International Electrotechnical Commission",
234
- :revdate=>nil,
235
- :revdate_monthyear=>nil,
249
+ :receiveddate=>"XXX",
250
+ :sc=>"DEF 4",
251
+ :script=>"Latn",
252
+ :secretariat=>"XXX",
253
+ :stage=>"60",
254
+ :stage_int=>60,
255
+ :statusabbr=>"IS",
256
+ :tc=>"ABC 34",
257
+ :tc_docnumber=>["17301"],
258
+ :transmitteddate=>"XXX",
259
+ :unchangeddate=>"XXX",
260
+ :unpublished=>false,
261
+ :updateddate=>"XXX",
262
+ :vote_endeddate=>"XXX",
263
+ :vote_starteddate=>"XXX",
264
+ :wg=>"GHI 3"}
265
+ OUTPUT
266
+ end
267
+
268
+ it "processes IsoXML metadata in French" do
269
+ c = IsoDoc::Iso::HtmlConvert.new({})
270
+ arr = c.convert_init(<<~"INPUT", "test", false)
271
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
272
+ <bibdata>
273
+ <language>fr</language>
274
+ </bibdata>
275
+ </iso-standard>
276
+ INPUT
277
+ expect(metadata(c.info(Nokogiri::XML(<<~"INPUT"), nil))).to be_equivalent_to <<~"OUTPUT"
278
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
279
+ <bibdata type="standard">
280
+ <title>
281
+ <title type="title-intro" language="en" format="text/plain">Cereals and pulses</title>
282
+ <title type="title-main" language="en" format="text/plain">Specifications and test methods</title>
283
+ <title type="title-part" language="en" format="text/plain">Rice</title>
284
+ </title>
285
+ <title>
286
+ <title type="title-intro" language="fr" format="text/plain">Céréales et légumineuses</title>
287
+ <title type="title-main" language="fr" format="text/plain">Spécification et méthodes d'essai</title>
288
+ <title type="title-part" language="fr" format="text/plain">Riz</title>
289
+ </title>
290
+ <docidentifier type="ISO">ISO/IEC/CD 17301-1-3</docidentifier>
291
+ <docidentifier type="iso-with-lang">ISO/IEC/CD 17301-1-3 (E)</docidentifier>
292
+ <docidentifier type="iso-reference">ISO/IEC/CD 17301-1-3 (E)</docidentifier>
293
+ <docidentifier type="iso-tc">17301</docidentifier>
294
+ <contributor>
295
+ <role type="author"/>
296
+ <organization>
297
+ <name>ISO</name>
298
+ </organization>
299
+ </contributor>
300
+ <contributor>
301
+ <role type="publisher"/>
302
+ <organization>
303
+ <name>International Organization for Standardization</name>
304
+ <abbreviation>ISO</abbreviation>
305
+ </organization>
306
+ </contributor>
307
+ <contributor>
308
+ <role type="publisher"/>
309
+ <organization>
310
+ <name>International Electrotechnical Commission</name>
311
+ <abbreviation>IEC</abbreviation>
312
+ </organization>
313
+ </contributor>
314
+ <language>fr</language>
315
+ <script>Latn</script>
316
+ <status>
317
+ <stage abbreviation="IS">60</stage>
318
+ <substage>92</substage>
319
+ </status>
320
+ <copyright>
321
+ <from>2016</from>
322
+ <owner>
323
+ <organization>
324
+ <name>International Organization for Standardization</name>
325
+ </organization>
326
+ </owner>
327
+ </copyright>
328
+ <relation type="obsoletes">
329
+ <locality type="clause"><referenceFrom>3.1</referenceFrom></locality>
330
+ <docidentifier>IEC 8121</docidentifier>
331
+ </relation>
332
+ <ext>
333
+ <doctype language="">international-standard</doctype>
334
+ <doctype language="fr">Standard International</doctype>
335
+ <editorialgroup>
336
+ <technical-committee number="34" type="ABC">Food products</technical-committee>
337
+ <subcommittee number="4" type="DEF">Cereals and pulses</subcommittee>
338
+ <workgroup number="3" type="GHI">Rice Group</workgroup>
339
+ </editorialgroup>
340
+ <ics><code>1.2.3</code></ics>
341
+ <ics><code>1.2.3</code></ics>
342
+ <structuredidentifier>
343
+ <project-number part="1" subpart="3">ISO/IEC/CD 17301</project-number>
344
+ </strucuredidentifier>
345
+ <stagename>International standard</stagename>
346
+ </ext>
347
+ </bibdata>
348
+ </iso-standard>
349
+ INPUT
350
+ {:accesseddate=>"XXX",
351
+ :agency=>"ISO/IEC",
352
+ :circulateddate=>"XXX",
353
+ :confirmeddate=>"XXX",
354
+ :copieddate=>"XXX",
355
+ :createddate=>"XXX",
356
+ :docnumber=>"ISO/IEC/CD 17301-1-3",
357
+ :docnumber_lang=>"ISO/IEC/CD 17301-1-3 (E)",
358
+ :docnumber_reference=>"ISO/IEC/CD 17301-1-3 (E)",
359
+ :docsubtitle=>"Cereals and pulses&nbsp;&mdash; Specifications and test methods&nbsp;&mdash; Part&nbsp;1&ndash;3: Rice",
360
+ :docsubtitleintro=>"Cereals and pulses",
361
+ :docsubtitlemain=>"Specifications and test methods",
362
+ :docsubtitlepart=>"Rice",
363
+ :docsubtitlepartlabel=>"Part&nbsp;1&ndash;3",
364
+ :doctitle=>"C&#xe9;r&#xe9;ales et l&#xe9;gumineuses&nbsp;&mdash; Sp&#xe9;cification et m&#xe9;thodes d&#x27;essai&nbsp;&mdash; Partie&nbsp;1&ndash;3: Riz",
365
+ :doctitleintro=>"C&#xe9;r&#xe9;ales et l&#xe9;gumineuses",
366
+ :doctitlemain=>"Sp&#xe9;cification et m&#xe9;thodes d&#x27;essai",
367
+ :doctitlepart=>"Riz",
368
+ :doctitlepartlabel=>"Partie&nbsp;1&ndash;3",
369
+ :doctype=>"International Standard",
370
+ :doctype_display=>"Standard International",
371
+ :docyear=>"2016",
372
+ :editorialgroup=>["ABC 34", "DEF 4", "GHI 3"],
373
+ :ics=>"1.2.3, 1.2.3",
374
+ :implementeddate=>"XXX",
375
+ :issueddate=>"XXX",
376
+ :lang=>"fr",
377
+ :obsoleteddate=>"XXX",
378
+ :obsoletes=>"IEC 8121",
379
+ :obsoletes_part=>"3.1",
380
+ :publisheddate=>"XXX",
381
+ :publisher=>"International Organization for Standardization et International Electrotechnical Commission",
382
+ :receiveddate=>"XXX",
236
383
  :sc=>"DEF 4",
237
- :secretariat=>"XXXX",
384
+ :script=>"Latn",
385
+ :secretariat=>"XXX",
238
386
  :stage=>"60",
239
387
  :stage_int=>60,
240
388
  :statusabbr=>"IS",
241
389
  :tc=>"ABC 34",
242
390
  :tc_docnumber=>["17301"],
391
+ :transmitteddate=>"XXX",
392
+ :unchangeddate=>"XXX",
243
393
  :unpublished=>false,
394
+ :updateddate=>"XXX",
395
+ :vote_endeddate=>"XXX",
396
+ :vote_starteddate=>"XXX",
244
397
  :wg=>"GHI 3"}
245
398
  OUTPUT
246
399
  end
@@ -611,9 +611,9 @@ documentation.</p>
611
611
  INPUT
612
612
 
613
613
  presxml = <<~OUTPUT
614
- <iso-standard xmlns="http://riboseinc.com/isoxml">
614
+ <iso-standard xmlns="http://riboseinc.com/isoxml" type="presentation">
615
615
  <bibdata type="standard">
616
- <status><stage>30</stage></status>
616
+ <status><stage language="">30</stage></status>
617
617
  </bibdata>
618
618
  <boilerplate>
619
619
  <copyright-statement>
@@ -661,7 +661,7 @@ documentation.</p>
661
661
 
662
662
  FileUtils.rm_f "test.doc"
663
663
  FileUtils.rm_f "test.html"
664
- expect((IsoDoc::Iso::PresentationXMLConvert.new({wordstylesheet: "spec/assets/word.css", htmlstylesheet: "spec/assets/html.css"}).convert("test", input, true))).to be_equivalent_to xmlpp(presxml)
664
+ expect(xmlpp(IsoDoc::Iso::PresentationXMLConvert.new({wordstylesheet: "spec/assets/word.css", htmlstylesheet: "spec/assets/html.css"}).convert("test", input, true)).sub(%r{<localized-strings>.*</localized-strings>}m, "")).to be_equivalent_to xmlpp(presxml)
665
665
  IsoDoc::Iso::HtmlConvert.new({wordstylesheet: "spec/assets/word.css", htmlstylesheet: "spec/assets/html.css"}).convert("test", presxml, false)
666
666
  word = File.read("test.html", encoding: "UTF-8")
667
667
  expect((word)).to include '<h1 class="IntroTitle">Warning for Stuff</h1>'
@@ -42,7 +42,7 @@ RSpec.describe IsoDoc do
42
42
  <abbreviation>ISO</abbreviation>
43
43
  </organization>
44
44
  </contributor>
45
- <note format="text/plain" reference="1" type="ISO DATE">Under preparation. (Stage at the time of publication ISO/DIS 16634)</note>
45
+ <note format="text/plain" reference="1" type="Unpublished-Status">Under preparation. (Stage at the time of publication ISO/DIS 16634)</note>
46
46
  <extent type="part">
47
47
  <referenceFrom>all</referenceFrom>
48
48
  </extent>
@@ -121,9 +121,9 @@ RSpec.describe IsoDoc do
121
121
  </iso-standard>
122
122
  INPUT
123
123
  presxml = <<~OUTPUT
124
- <iso-standard xmlns='http://riboseinc.com/isoxml'>
124
+ <iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
125
125
  <bibdata>
126
- <language>en</language>
126
+ <language current="true">en</language>
127
127
  </bibdata>
128
128
  <preface>
129
129
  <foreword>
@@ -175,7 +175,7 @@ RSpec.describe IsoDoc do
175
175
  <abbreviation>ISO</abbreviation>
176
176
  </organization>
177
177
  </contributor>
178
- <note format='text/plain' reference='1' type='ISO DATE'>Under preparation. (Stage at the time of publication ISO/DIS 16634)</note>
178
+ <note format='text/plain' reference='1' type='Unpublished-Status'>Under preparation. (Stage at the time of publication ISO/DIS 16634)</note>
179
179
  <extent type='part'>
180
180
  <referenceFrom>all</referenceFrom>
181
181
  </extent>
@@ -339,7 +339,7 @@ html = <<~OUTPUT
339
339
  </body>
340
340
  </html>
341
341
  OUTPUT
342
- expect(xmlpp(IsoDoc::Iso::PresentationXMLConvert.new({}).convert("test", input, true))).to be_equivalent_to xmlpp(presxml)
342
+ expect(xmlpp(IsoDoc::Iso::PresentationXMLConvert.new({}).convert("test", input, true)).sub(%r{<localized-strings>.*</localized-strings>}m, "")).to be_equivalent_to xmlpp(presxml)
343
343
  expect(xmlpp(IsoDoc::Iso::HtmlConvert.new({}).convert("test", presxml, true))).to be_equivalent_to xmlpp(html)
344
344
  end
345
345