metanorma-iso 1.5.14 → 1.7.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.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +17 -0
  3. data/.rubocop.yml +0 -4
  4. data/lib/asciidoctor/iso/base.rb +13 -13
  5. data/lib/asciidoctor/iso/basicdoc.rng +20 -3
  6. data/lib/asciidoctor/iso/cleanup.rb +1 -1
  7. data/lib/asciidoctor/iso/front.rb +5 -5
  8. data/lib/asciidoctor/iso/isodoc.rng +118 -4
  9. data/lib/asciidoctor/iso/isostandard-amd.rng +11 -4
  10. data/lib/asciidoctor/iso/isostandard.rng +22 -10
  11. data/lib/asciidoctor/iso/validate.rb +78 -0
  12. data/lib/asciidoctor/iso/validate_section.rb +12 -9
  13. data/lib/isodoc/iso/html/header.html +12 -12
  14. data/lib/isodoc/iso/html/html_iso_intro.html +1 -1
  15. data/lib/isodoc/iso/html/html_iso_titlepage.html +1 -1
  16. data/lib/isodoc/iso/html/word_iso_intro.html +1 -1
  17. data/lib/isodoc/iso/html/word_iso_titlepage.html +1 -1
  18. data/lib/isodoc/iso/html_convert.rb +2 -2
  19. data/lib/isodoc/iso/i18n-en.yaml +2 -0
  20. data/lib/isodoc/iso/i18n-fr.yaml +1 -1
  21. data/lib/isodoc/iso/i18n-zh-Hans.yaml +1 -1
  22. data/lib/isodoc/iso/iso.amendment.xsl +451 -208
  23. data/lib/isodoc/iso/iso.international-standard.xsl +451 -208
  24. data/lib/isodoc/iso/sections.rb +1 -1
  25. data/lib/isodoc/iso/word_convert.rb +2 -2
  26. data/lib/isodoc/iso/xref.rb +28 -12
  27. data/lib/metanorma/iso/processor.rb +11 -0
  28. data/lib/metanorma/iso/version.rb +1 -1
  29. data/metanorma-iso.gemspec +2 -2
  30. data/spec/asciidoctor-iso/amd_spec.rb +575 -573
  31. data/spec/asciidoctor-iso/base_spec.rb +449 -458
  32. data/spec/asciidoctor-iso/blocks_spec.rb +333 -288
  33. data/spec/asciidoctor-iso/cleanup_spec.rb +814 -699
  34. data/spec/asciidoctor-iso/inline_spec.rb +116 -91
  35. data/spec/asciidoctor-iso/lists_spec.rb +128 -121
  36. data/spec/asciidoctor-iso/refs_spec.rb +308 -250
  37. data/spec/asciidoctor-iso/section_spec.rb +273 -242
  38. data/spec/asciidoctor-iso/table_spec.rb +258 -242
  39. data/spec/asciidoctor-iso/validate_spec.rb +1223 -919
  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 +340 -316
  45. data/spec/isodoc/metadata_spec.rb +392 -382
  46. data/spec/isodoc/postproc_spec.rb +834 -656
  47. data/spec/isodoc/ref_spec.rb +374 -331
  48. data/spec/isodoc/section_spec.rb +608 -525
  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 +184 -189
  54. metadata +7 -10
  55. data/.rubocop.ribose.yml +0 -66
  56. data/lib/metanorma/iso/fonts_manifest.yaml +0 -6
  57. data/spec/assets/xref_error.adoc +0 -7
@@ -4,398 +4,408 @@ require "nokogiri"
4
4
  RSpec.describe IsoDoc::Iso::Metadata do
5
5
  it "processes IsoXML metadata" do
6
6
  c = IsoDoc::Iso::HtmlConvert.new({})
7
- arr = c.convert_init(<<~"INPUT", "test", false)
8
- <iso-standard xmlns="http://riboseinc.com/isoxml">
7
+ _ = c.convert_init(<<~"INPUT", "test", false)
8
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
9
9
  INPUT
10
- expect(metadata(c.info(Nokogiri::XML(<<~"INPUT"), nil))).to be_equivalent_to <<~"OUTPUT"
11
- <iso-standard xmlns="http://riboseinc.com/isoxml">
12
- <bibdata type="standard">
13
- <title type="title-intro" language="en" format="text/plain">Cereals and pulses</title>
14
- <title type="title-main" language="en" format="text/plain">Specifications and test methods</title>
15
- <title type="title-part" language="en" format="text/plain">Rice</title>
16
- <title type="title-intro" language="fr" format="text/plain">Céréales et légumineuses</title>
17
- <title type="title-main" language="fr" format="text/plain">Spécification et méthodes d'essai</title>
18
- <title type="title-part" language="fr" format="text/plain">Riz</title>
19
- <docidentifier type="ISO">ISO/PreCD3 17301-1</docidentifier>
20
- <docidentifier type="iso-with-lang">ISO/PreCD3 17301-1 (E)</docidentifier>
21
- <docidentifier type="iso-reference">ISO/PreCD3 17301-1:2000 (E)</docidentifier>
22
- <docidentifier type="iso-tc">17301</docidentifier>
23
- <docidentifier type="iso-tc">17302</docidentifier>
24
- <docnumber>1730</docnumber>
25
- <date type="published"><on>2011</on></date>
26
- <date type="accessed"><on>2012</on></date>
27
- <date type="created"><from>2010</from><to>2011</to></date>
28
- <date type="activated"><on>2013</on></date>
29
- <date type="obsoleted"><on>2014</on></date>
30
- <edition>2</edition>
31
- <version>
32
- <revision-date>2016-05-01</revision-date>
33
- <draft>0.4</draft>
34
- </version>
35
- <contributor>
36
- <role type="author"/>
37
- <organization>
38
- <abbreviation>ISO</abbreviation>
39
- </organization>
40
- </contributor>
41
- <contributor>
42
- <role type="publisher"/>
43
- <organization>
44
- <name>International Organization for Standardization</name>
45
- <abbreviation>ISO</abbreviation>
46
- </organization>
47
- </contributor>
48
- <language>en</language>
49
- <script>Latn</script>
50
- <status>
51
- <stage abbreviation="CD">30</stage>
52
- <substage>92</substage>
53
- <iteration>3</iteration>
54
- </status>
55
- <copyright>
56
- <from>2016</from>
57
- <owner>
58
- <organization>
59
- <abbreviation>ISO</abbreviation>
60
- </organization>
61
- </owner>
62
- </copyright>
63
- <keyword>kw2</keyword>
64
- <keyword>kw1</keyword>
65
- <ext>
66
- <doctype>international-standard</doctype>
67
- <horizontal>true</horizontal>
68
- <editorialgroup>
69
- <technical-committee number="34">Food products</technical-committee>
70
- <subcommittee number="4">Cereals and pulses</subcommittee>
71
- <workgroup number="3">Rice Group</workgroup>
72
- <secretariat>GB</secretariat>
73
- </editorialgroup>
74
- <structuredidentifier>
75
- <project-number part="1">ISO/PreCD3 17301</project-number>
76
- </structuredidentifier>
77
- <stagename>Committee draft</stagename>
78
- </ext>
79
- </bibdata>
80
- </iso-standard>
81
- INPUT
82
- {:accesseddate=>"2012",
83
- :activateddate=>"2013",
84
- :agency=>"ISO",
85
- :circulateddate=>"XXX",
86
- :confirmeddate=>"XXX",
87
- :copieddate=>"XXX",
88
- :createddate=>"2010&ndash;2011",
89
- :docnumber=>"ISO/PreCD3 17301-1",
90
- :docnumber_lang=>"ISO/PreCD3 17301-1 (E)",
91
- :docnumber_reference=>"ISO/PreCD3 17301-1:2000 (E)",
92
- :docnumeric=>"1730",
93
- :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: Riz",
94
- :docsubtitleintro=>"C&#xe9;r&#xe9;ales et l&#xe9;gumineuses",
95
- :docsubtitlemain=>"Sp&#xe9;cification et m&#xe9;thodes d&#x27;essai",
96
- :docsubtitlepart=>"Riz",
97
- :docsubtitlepartlabel=>"Partie&nbsp;1",
98
- :doctitle=>"Cereals and pulses&nbsp;&mdash; Specifications and test methods&nbsp;&mdash; Part&nbsp;1: Rice",
99
- :doctitleintro=>"Cereals and pulses",
100
- :doctitlemain=>"Specifications and test methods",
101
- :doctitlepart=>"Rice",
102
- :doctitlepartlabel=>"Part&nbsp;1",
103
- :doctype=>"International Standard",
104
- :doctype_display=>"International Standard",
105
- :docyear=>"2016",
106
- :draft=>"0.4",
107
- :draftinfo=>" (draft 0.4, 2016-05-01)",
108
- :edition=>"2",
109
- :editorialgroup=>["TC 34", "SC 4", "WG 3"],
110
- :horizontal=>"true",
111
- :implementeddate=>"XXX",
112
- :issueddate=>"XXX",
113
- :keywords=>["kw2", "kw1"],
114
- :lang=>"en",
115
- :obsoleteddate=>"2014",
116
- :publisheddate=>"2011",
117
- :publisher=>"International Organization for Standardization",
118
- :receiveddate=>"XXX",
119
- :revdate=>"2016-05-01",
120
- :revdate_monthyear=>"May 2016",
121
- :sc=>"SC 4",
122
- :script=>"Latn",
123
- :secretariat=>"GB",
124
- :stage=>"30",
125
- :stage_int=>30,
126
- :stageabbr=>"CD",
127
- :statusabbr=>"PreCD3",
128
- :tc=>"TC 34",
129
- :tc_docnumber=>["17301", "17302"],
130
- :transmitteddate=>"XXX",
131
- :unchangeddate=>"XXX",
132
- :unpublished=>true,
133
- :updateddate=>"XXX",
134
- :vote_endeddate=>"XXX",
135
- :vote_starteddate=>"XXX",
136
- :wg=>"WG 3"}
137
- OUTPUT
10
+ expect(metadata(c.info(Nokogiri::XML(<<~"INPUT"), nil))).to be_equivalent_to <<~"OUTPUT"
11
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
12
+ <bibdata type="standard">
13
+ <title format="text/plain" language="en" type="title-intro">Cereals and pulses</title>
14
+ <title format="text/plain" language="en" type="title-main">Specifications and test methods</title>
15
+ <title format="text/plain" language="en" type="title-part">Rice</title>
16
+ <title format="text/plain" language="fr" type="title-intro">Céréales et légumineuses</title>
17
+ <title format="text/plain" language="fr" type="title-main">Spécification et méthodes d'essai</title>
18
+ <title format="text/plain" language="fr" type="title-part">Riz</title>
19
+ <docidentifier type="ISO">ISO/PreCD3 17301-1</docidentifier>
20
+ <docidentifier type="iso-with-lang">ISO/PreCD3 17301-1 (E)</docidentifier>
21
+ <docidentifier type="iso-reference">ISO/PreCD3 17301-1:2000 (E)</docidentifier>
22
+ <docidentifier type="iso-tc">17301</docidentifier>
23
+ <docidentifier type="iso-tc">17302</docidentifier>
24
+ <docnumber>1730</docnumber>
25
+ <date type="published">
26
+ <on>2011</on>
27
+ </date>
28
+ <date type="accessed">
29
+ <on>2012</on>
30
+ </date>
31
+ <date type="created">
32
+ <from>2010</from>
33
+ <to>2011</to>
34
+ </date>
35
+ <date type="activated">
36
+ <on>2013</on>
37
+ </date>
38
+ <date type="obsoleted">
39
+ <on>2014</on>
40
+ </date>
41
+ <edition>2</edition>
42
+ <version>
43
+ <revision-date>2016-05-01</revision-date>
44
+ <draft>0.4</draft>
45
+ </version>
46
+ <contributor>
47
+ <role type="author"/>
48
+ <organization>
49
+ <abbreviation>ISO</abbreviation>
50
+ </organization>
51
+ </contributor>
52
+ <contributor>
53
+ <role type="publisher"/>
54
+ <organization>
55
+ <name>International Organization for Standardization</name>
56
+ <abbreviation>ISO</abbreviation>
57
+ </organization>
58
+ </contributor>
59
+ <language>en</language>
60
+ <script>Latn</script>
61
+ <status>
62
+ <stage abbreviation="CD">30</stage>
63
+ <substage>92</substage>
64
+ <iteration>3</iteration>
65
+ </status>
66
+ <copyright>
67
+ <from>2016</from>
68
+ <owner>
69
+ <organization>
70
+ <abbreviation>ISO</abbreviation>
71
+ </organization>
72
+ </owner>
73
+ </copyright>
74
+ <keyword>kw2</keyword>
75
+ <keyword>kw1</keyword>
76
+ <ext>
77
+ <doctype>international-standard</doctype>
78
+ <horizontal>true</horizontal>
79
+ <editorialgroup>
80
+ <technical-committee number="34">Food products</technical-committee>
81
+ <subcommittee number="4">Cereals and pulses</subcommittee>
82
+ <workgroup number="3">Rice Group</workgroup>
83
+ <secretariat>GB</secretariat>
84
+ </editorialgroup>
85
+ <structuredidentifier>
86
+ <project-number part="1">ISO/PreCD3 17301</project-number>
87
+ </structuredidentifier>
88
+ <stagename>Committee draft</stagename>
89
+ </ext>
90
+ </bibdata>
91
+ </iso-standard>
92
+ INPUT
93
+ {:accesseddate=>"2012",
94
+ :activateddate=>"2013",
95
+ :agency=>"ISO",
96
+ :circulateddate=>"XXX",
97
+ :confirmeddate=>"XXX",
98
+ :copieddate=>"XXX",
99
+ :createddate=>"2010&ndash;2011",
100
+ :docnumber=>"ISO/PreCD3 17301-1",
101
+ :docnumber_lang=>"ISO/PreCD3 17301-1 (E)",
102
+ :docnumber_reference=>"ISO/PreCD3 17301-1:2000 (E)",
103
+ :docnumeric=>"1730",
104
+ :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: Riz",
105
+ :docsubtitleintro=>"C&#xe9;r&#xe9;ales et l&#xe9;gumineuses",
106
+ :docsubtitlemain=>"Sp&#xe9;cification et m&#xe9;thodes d&#x27;essai",
107
+ :docsubtitlepart=>"Riz",
108
+ :docsubtitlepartlabel=>"Partie&nbsp;1",
109
+ :doctitle=>"Cereals and pulses&nbsp;&mdash; Specifications and test methods&nbsp;&mdash; Part&nbsp;1: Rice",
110
+ :doctitleintro=>"Cereals and pulses",
111
+ :doctitlemain=>"Specifications and test methods",
112
+ :doctitlepart=>"Rice",
113
+ :doctitlepartlabel=>"Part&nbsp;1",
114
+ :doctype=>"International Standard",
115
+ :doctype_display=>"International Standard",
116
+ :docyear=>"2016",
117
+ :draft=>"0.4",
118
+ :draftinfo=>" (draft 0.4, 2016-05-01)",
119
+ :edition=>"2",
120
+ :editorialgroup=>["TC 34", "SC 4", "WG 3"],
121
+ :horizontal=>"true",
122
+ :implementeddate=>"XXX",
123
+ :issueddate=>"XXX",
124
+ :keywords=>["kw2", "kw1"],
125
+ :lang=>"en",
126
+ :obsoleteddate=>"2014",
127
+ :publisheddate=>"2011",
128
+ :publisher=>"International Organization for Standardization",
129
+ :receiveddate=>"XXX",
130
+ :revdate=>"2016-05-01",
131
+ :revdate_monthyear=>"May 2016",
132
+ :sc=>"SC 4",
133
+ :script=>"Latn",
134
+ :secretariat=>"GB",
135
+ :stage=>"30",
136
+ :stage_int=>30,
137
+ :stageabbr=>"CD",
138
+ :statusabbr=>"PreCD3",
139
+ :tc=>"TC 34",
140
+ :tc_docnumber=>["17301", "17302"],
141
+ :transmitteddate=>"XXX",
142
+ :unchangeddate=>"XXX",
143
+ :unpublished=>true,
144
+ :updateddate=>"XXX",
145
+ :vote_endeddate=>"XXX",
146
+ :vote_starteddate=>"XXX",
147
+ :wg=>"WG 3"}
148
+ OUTPUT
138
149
  end
139
150
 
140
151
  it "processes IsoXML metadata #2" do
141
152
  c = IsoDoc::Iso::HtmlConvert.new({})
142
- arr = c.convert_init(<<~"INPUT", "test", false)
143
- <iso-standard xmlns="http://riboseinc.com/isoxml">
153
+ _ = c.convert_init(<<~"INPUT", "test", false)
154
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
155
+ INPUT
156
+ expect(metadata(c.info(Nokogiri::XML(<<~"INPUT"), nil))).to be_equivalent_to <<~"OUTPUT"
157
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
158
+ <bibdata type="standard">
159
+ <title>
160
+ <title type="title-intro" language="en" format="text/plain">Cereals and pulses</title>
161
+ <title type="title-main" language="en" format="text/plain">Specifications and test methods</title>
162
+ <title type="title-part" language="en" format="text/plain">Rice</title>
163
+ </title>
164
+ <title>
165
+ <title type="title-intro" language="fr" format="text/plain">Céréales et légumineuses</title>
166
+ <title type="title-main" language="fr" format="text/plain">Spécification et méthodes d'essai</title>
167
+ <title type="title-part" language="fr" format="text/plain">Riz</title>
168
+ </title>
169
+ <docidentifier type="ISO">ISO/IEC/CD 17301-1-3</docidentifier>
170
+ <docidentifier type="iso-with-lang">ISO/IEC/CD 17301-1-3 (E)</docidentifier>
171
+ <docidentifier type="iso-reference">ISO/IEC/CD 17301-1-3 (E)</docidentifier>
172
+ <docidentifier type="iso-tc">17301</docidentifier>
173
+ <contributor>
174
+ <role type="author"/>
175
+ <organization>
176
+ <name>ISO</name>
177
+ </organization>
178
+ </contributor>
179
+ <contributor>
180
+ <role type="publisher"/>
181
+ <organization>
182
+ <name>International Organization for Standardization</name>
183
+ <abbreviation>ISO</abbreviation>
184
+ </organization>
185
+ </contributor>
186
+ <contributor>
187
+ <role type="publisher"/>
188
+ <organization>
189
+ <name>International Electrotechnical Commission</name>
190
+ <abbreviation>IEC</abbreviation>
191
+ </organization>
192
+ </contributor>
193
+ <language>en</language>
194
+ <script>Latn</script>
195
+ <status>
196
+ <stage abbreviation="IS">60</stage>
197
+ <substage>92</substage>
198
+ </status>
199
+ <copyright>
200
+ <from>2016</from>
201
+ <owner>
202
+ <organization>
203
+ <name>International Organization for Standardization</name>
204
+ </organization>
205
+ </owner>
206
+ </copyright>
207
+ <relation type="obsoletes">
208
+ <locality type="clause"><referenceFrom>3.1</referenceFrom></locality>
209
+ <docidentifier>IEC 8121</docidentifier>
210
+ </relation>
211
+ <ext>
212
+ <doctype>international-standard</doctype>
213
+ <editorialgroup>
214
+ <technical-committee number="34" type="ABC">Food products</technical-committee>
215
+ <subcommittee number="4" type="DEF">Cereals and pulses</subcommittee>
216
+ <workgroup number="3" type="GHI">Rice Group</workgroup>
217
+ </editorialgroup>
218
+ <ics><code>1.2.3</code></ics>
219
+ <ics><code>1.2.3</code></ics>
220
+ <structuredidentifier>
221
+ <project-number part="1" subpart="3">ISO/IEC/CD 17301</project-number>
222
+ </strucuredidentifier>
223
+ <stagename>International standard</stagename>
224
+ </ext>
225
+ </bibdata>
226
+ </iso-standard>
144
227
  INPUT
145
- expect(metadata(c.info(Nokogiri::XML(<<~"INPUT"), nil))).to be_equivalent_to <<~"OUTPUT"
146
- <iso-standard xmlns="http://riboseinc.com/isoxml">
147
- <bibdata type="standard">
148
- <title>
149
- <title type="title-intro" language="en" format="text/plain">Cereals and pulses</title>
150
- <title type="title-main" language="en" format="text/plain">Specifications and test methods</title>
151
- <title type="title-part" language="en" format="text/plain">Rice</title>
152
- </title>
153
- <title>
154
- <title type="title-intro" language="fr" format="text/plain">Céréales et légumineuses</title>
155
- <title type="title-main" language="fr" format="text/plain">Spécification et méthodes d'essai</title>
156
- <title type="title-part" language="fr" format="text/plain">Riz</title>
157
- </title>
158
- <docidentifier type="ISO">ISO/IEC/CD 17301-1-3</docidentifier>
159
- <docidentifier type="iso-with-lang">ISO/IEC/CD 17301-1-3 (E)</docidentifier>
160
- <docidentifier type="iso-reference">ISO/IEC/CD 17301-1-3 (E)</docidentifier>
161
- <docidentifier type="iso-tc">17301</docidentifier>
162
- <contributor>
163
- <role type="author"/>
164
- <organization>
165
- <name>ISO</name>
166
- </organization>
167
- </contributor>
168
- <contributor>
169
- <role type="publisher"/>
170
- <organization>
171
- <name>International Organization for Standardization</name>
172
- <abbreviation>ISO</abbreviation>
173
- </organization>
174
- </contributor>
175
- <contributor>
176
- <role type="publisher"/>
177
- <organization>
178
- <name>International Electrotechnical Commission</name>
179
- <abbreviation>IEC</abbreviation>
180
- </organization>
181
- </contributor>
182
- <language>en</language>
183
- <script>Latn</script>
184
- <status>
185
- <stage abbreviation="IS">60</stage>
186
- <substage>92</substage>
187
- </status>
188
- <copyright>
189
- <from>2016</from>
190
- <owner>
191
- <organization>
192
- <name>International Organization for Standardization</name>
193
- </organization>
194
- </owner>
195
- </copyright>
196
- <relation type="obsoletes">
197
- <locality type="clause"><referenceFrom>3.1</referenceFrom></locality>
198
- <docidentifier>IEC 8121</docidentifier>
199
- </relation>
200
- <ext>
201
- <doctype>international-standard</doctype>
202
- <editorialgroup>
203
- <technical-committee number="34" type="ABC">Food products</technical-committee>
204
- <subcommittee number="4" type="DEF">Cereals and pulses</subcommittee>
205
- <workgroup number="3" type="GHI">Rice Group</workgroup>
206
- </editorialgroup>
207
- <ics><code>1.2.3</code></ics>
208
- <ics><code>1.2.3</code></ics>
209
- <structuredidentifier>
210
- <project-number part="1" subpart="3">ISO/IEC/CD 17301</project-number>
211
- </strucuredidentifier>
212
- <stagename>International standard</stagename>
213
- </ext>
214
- </bibdata>
215
- </iso-standard>
216
- INPUT
217
- {:accesseddate=>"XXX",
218
- :agency=>"ISO/IEC",
219
- :circulateddate=>"XXX",
220
- :confirmeddate=>"XXX",
221
- :copieddate=>"XXX",
222
- :createddate=>"XXX",
223
- :docnumber=>"ISO/IEC/CD 17301-1-3",
224
- :docnumber_lang=>"ISO/IEC/CD 17301-1-3 (E)",
225
- :docnumber_reference=>"ISO/IEC/CD 17301-1-3 (E)",
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",
227
- :docsubtitleintro=>"C&#xe9;r&#xe9;ales et l&#xe9;gumineuses",
228
- :docsubtitlemain=>"Sp&#xe9;cification et m&#xe9;thodes d&#x27;essai",
229
- :docsubtitlepart=>"Riz",
230
- :docsubtitlepartlabel=>"Partie&nbsp;1&ndash;3",
231
- :doctitle=>"Cereals and pulses&nbsp;&mdash; Specifications and test methods&nbsp;&mdash; Part&nbsp;1&ndash;3: Rice",
232
- :doctitleintro=>"Cereals and pulses",
233
- :doctitlemain=>"Specifications and test methods",
234
- :doctitlepart=>"Rice",
235
- :doctitlepartlabel=>"Part&nbsp;1&ndash;3",
236
- :doctype=>"International Standard",
237
- :doctype_display=>"International Standard",
238
- :docyear=>"2016",
239
- :editorialgroup=>["ABC 34", "DEF 4", "GHI 3"],
240
- :ics=>"1.2.3, 1.2.3",
241
- :implementeddate=>"XXX",
242
- :issueddate=>"XXX",
243
- :lang=>"en",
244
- :obsoleteddate=>"XXX",
245
- :obsoletes=>"IEC 8121",
246
- :obsoletes_part=>"3.1",
247
- :publisheddate=>"XXX",
248
- :publisher=>"International Organization for Standardization and International Electrotechnical Commission",
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
228
+ {:accesseddate=>"XXX",
229
+ :agency=>"ISO/IEC",
230
+ :circulateddate=>"XXX",
231
+ :confirmeddate=>"XXX",
232
+ :copieddate=>"XXX",
233
+ :createddate=>"XXX",
234
+ :docnumber=>"ISO/IEC/CD 17301-1-3",
235
+ :docnumber_lang=>"ISO/IEC/CD 17301-1-3 (E)",
236
+ :docnumber_reference=>"ISO/IEC/CD 17301-1-3 (E)",
237
+ :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",
238
+ :docsubtitleintro=>"C&#xe9;r&#xe9;ales et l&#xe9;gumineuses",
239
+ :docsubtitlemain=>"Sp&#xe9;cification et m&#xe9;thodes d&#x27;essai",
240
+ :docsubtitlepart=>"Riz",
241
+ :docsubtitlepartlabel=>"Partie&nbsp;1&ndash;3",
242
+ :doctitle=>"Cereals and pulses&nbsp;&mdash; Specifications and test methods&nbsp;&mdash; Part&nbsp;1&ndash;3: Rice",
243
+ :doctitleintro=>"Cereals and pulses",
244
+ :doctitlemain=>"Specifications and test methods",
245
+ :doctitlepart=>"Rice",
246
+ :doctitlepartlabel=>"Part&nbsp;1&ndash;3",
247
+ :doctype=>"International Standard",
248
+ :doctype_display=>"International Standard",
249
+ :docyear=>"2016",
250
+ :editorialgroup=>["ABC 34", "DEF 4", "GHI 3"],
251
+ :ics=>"1.2.3, 1.2.3",
252
+ :implementeddate=>"XXX",
253
+ :issueddate=>"XXX",
254
+ :lang=>"en",
255
+ :obsoleteddate=>"XXX",
256
+ :obsoletes=>"IEC 8121",
257
+ :obsoletes_part=>"3.1",
258
+ :publisheddate=>"XXX",
259
+ :publisher=>"International Organization for Standardization and International Electrotechnical Commission",
260
+ :receiveddate=>"XXX",
261
+ :sc=>"DEF 4",
262
+ :script=>"Latn",
263
+ :secretariat=>"XXX",
264
+ :stage=>"60",
265
+ :stage_int=>60,
266
+ :statusabbr=>"IS",
267
+ :tc=>"ABC 34",
268
+ :tc_docnumber=>["17301"],
269
+ :transmitteddate=>"XXX",
270
+ :unchangeddate=>"XXX",
271
+ :unpublished=>false,
272
+ :updateddate=>"XXX",
273
+ :vote_endeddate=>"XXX",
274
+ :vote_starteddate=>"XXX",
275
+ :wg=>"GHI 3"}
276
+ OUTPUT
266
277
  end
267
278
 
268
279
  it "processes IsoXML metadata in French" do
269
280
  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>
281
+ _ = c.convert_init(<<~"INPUT", "test", false)
282
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
283
+ <bibdata>
284
+ <language>fr</language>
285
+ </bibdata>
286
+ </iso-standard>
276
287
  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",
383
- :sc=>"DEF 4",
384
- :script=>"Latn",
385
- :secretariat=>"XXX",
386
- :stage=>"60",
387
- :stage_int=>60,
388
- :statusabbr=>"IS",
389
- :tc=>"ABC 34",
390
- :tc_docnumber=>["17301"],
391
- :transmitteddate=>"XXX",
392
- :unchangeddate=>"XXX",
393
- :unpublished=>false,
394
- :updateddate=>"XXX",
395
- :vote_endeddate=>"XXX",
396
- :vote_starteddate=>"XXX",
397
- :wg=>"GHI 3"}
398
- OUTPUT
288
+ expect(metadata(c.info(Nokogiri::XML(<<~"INPUT"), nil))).to be_equivalent_to <<~"OUTPUT"
289
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
290
+ <bibdata type="standard">
291
+ <title>
292
+ <title type="title-intro" language="en" format="text/plain">Cereals and pulses</title>
293
+ <title type="title-main" language="en" format="text/plain">Specifications and test methods</title>
294
+ <title type="title-part" language="en" format="text/plain">Rice</title>
295
+ </title>
296
+ <title>
297
+ <title type="title-intro" language="fr" format="text/plain">Céréales et légumineuses</title>
298
+ <title type="title-main" language="fr" format="text/plain">Spécification et méthodes d'essai</title>
299
+ <title type="title-part" language="fr" format="text/plain">Riz</title>
300
+ </title>
301
+ <docidentifier type="ISO">ISO/IEC/CD 17301-1-3</docidentifier>
302
+ <docidentifier type="iso-with-lang">ISO/IEC/CD 17301-1-3 (E)</docidentifier>
303
+ <docidentifier type="iso-reference">ISO/IEC/CD 17301-1-3 (E)</docidentifier>
304
+ <docidentifier type="iso-tc">17301</docidentifier>
305
+ <contributor>
306
+ <role type="author"/>
307
+ <organization>
308
+ <name>ISO</name>
309
+ </organization>
310
+ </contributor>
311
+ <contributor>
312
+ <role type="publisher"/>
313
+ <organization>
314
+ <name>International Organization for Standardization</name>
315
+ <abbreviation>ISO</abbreviation>
316
+ </organization>
317
+ </contributor>
318
+ <contributor>
319
+ <role type="publisher"/>
320
+ <organization>
321
+ <name>International Electrotechnical Commission</name>
322
+ <abbreviation>IEC</abbreviation>
323
+ </organization>
324
+ </contributor>
325
+ <language>fr</language>
326
+ <script>Latn</script>
327
+ <status>
328
+ <stage abbreviation="IS">60</stage>
329
+ <substage>92</substage>
330
+ </status>
331
+ <copyright>
332
+ <from>2016</from>
333
+ <owner>
334
+ <organization>
335
+ <name>International Organization for Standardization</name>
336
+ </organization>
337
+ </owner>
338
+ </copyright>
339
+ <relation type="obsoletes">
340
+ <locality type="clause"><referenceFrom>3.1</referenceFrom></locality>
341
+ <docidentifier>IEC 8121</docidentifier>
342
+ </relation>
343
+ <ext>
344
+ <doctype language="">international-standard</doctype>
345
+ <doctype language="fr">Standard International</doctype>
346
+ <editorialgroup>
347
+ <technical-committee number="34" type="ABC">Food products</technical-committee>
348
+ <subcommittee number="4" type="DEF">Cereals and pulses</subcommittee>
349
+ <workgroup number="3" type="GHI">Rice Group</workgroup>
350
+ </editorialgroup>
351
+ <ics><code>1.2.3</code></ics>
352
+ <ics><code>1.2.3</code></ics>
353
+ <structuredidentifier>
354
+ <project-number part="1" subpart="3">ISO/IEC/CD 17301</project-number>
355
+ </strucuredidentifier>
356
+ <stagename>International standard</stagename>
357
+ </ext>
358
+ </bibdata>
359
+ </iso-standard>
360
+ INPUT
361
+ {:accesseddate=>"XXX",
362
+ :agency=>"ISO/IEC",
363
+ :circulateddate=>"XXX",
364
+ :confirmeddate=>"XXX",
365
+ :copieddate=>"XXX",
366
+ :createddate=>"XXX",
367
+ :docnumber=>"ISO/IEC/CD 17301-1-3",
368
+ :docnumber_lang=>"ISO/IEC/CD 17301-1-3 (E)",
369
+ :docnumber_reference=>"ISO/IEC/CD 17301-1-3 (E)",
370
+ :docsubtitle=>"Cereals and pulses&nbsp;&mdash; Specifications and test methods&nbsp;&mdash; Part&nbsp;1&ndash;3: Rice",
371
+ :docsubtitleintro=>"Cereals and pulses",
372
+ :docsubtitlemain=>"Specifications and test methods",
373
+ :docsubtitlepart=>"Rice",
374
+ :docsubtitlepartlabel=>"Part&nbsp;1&ndash;3",
375
+ :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",
376
+ :doctitleintro=>"C&#xe9;r&#xe9;ales et l&#xe9;gumineuses",
377
+ :doctitlemain=>"Sp&#xe9;cification et m&#xe9;thodes d&#x27;essai",
378
+ :doctitlepart=>"Riz",
379
+ :doctitlepartlabel=>"Partie&nbsp;1&ndash;3",
380
+ :doctype=>"International Standard",
381
+ :doctype_display=>"Standard International",
382
+ :docyear=>"2016",
383
+ :editorialgroup=>["ABC 34", "DEF 4", "GHI 3"],
384
+ :ics=>"1.2.3, 1.2.3",
385
+ :implementeddate=>"XXX",
386
+ :issueddate=>"XXX",
387
+ :lang=>"fr",
388
+ :obsoleteddate=>"XXX",
389
+ :obsoletes=>"IEC 8121",
390
+ :obsoletes_part=>"3.1",
391
+ :publisheddate=>"XXX",
392
+ :publisher=>"International Organization for Standardization et International Electrotechnical Commission",
393
+ :receiveddate=>"XXX",
394
+ :sc=>"DEF 4",
395
+ :script=>"Latn",
396
+ :secretariat=>"XXX",
397
+ :stage=>"60",
398
+ :stage_int=>60,
399
+ :statusabbr=>"IS",
400
+ :tc=>"ABC 34",
401
+ :tc_docnumber=>["17301"],
402
+ :transmitteddate=>"XXX",
403
+ :unchangeddate=>"XXX",
404
+ :unpublished=>false,
405
+ :updateddate=>"XXX",
406
+ :vote_endeddate=>"XXX",
407
+ :vote_starteddate=>"XXX",
408
+ :wg=>"GHI 3"}
409
+ OUTPUT
399
410
  end
400
-
401
411
  end