metanorma-iso 1.6.0 → 1.7.3

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 (68) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +16 -29
  3. data/.rubocop.yml +0 -4
  4. data/lib/asciidoctor/iso/base.rb +13 -13
  5. data/lib/asciidoctor/iso/basicdoc.rng +5 -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 +134 -5
  9. data/lib/asciidoctor/iso/isostandard-amd.rng +11 -4
  10. data/lib/asciidoctor/iso/isostandard.rng +33 -107
  11. data/lib/asciidoctor/iso/validate.rb +79 -0
  12. data/lib/asciidoctor/iso/validate_section.rb +12 -9
  13. data/lib/isodoc/iso/base_convert.rb +11 -0
  14. data/lib/isodoc/iso/html/header.html +12 -12
  15. data/lib/isodoc/iso/html/html_iso_intro.html +1 -1
  16. data/lib/isodoc/iso/html/html_iso_titlepage.html +1 -1
  17. data/lib/isodoc/iso/html/word_iso_intro.html +1 -1
  18. data/lib/isodoc/iso/html/word_iso_titlepage.html +1 -1
  19. data/lib/isodoc/iso/html_convert.rb +2 -2
  20. data/lib/isodoc/iso/i18n-en.yaml +6 -0
  21. data/lib/isodoc/iso/i18n-fr.yaml +4 -0
  22. data/lib/isodoc/iso/i18n-zh-Hans.yaml +4 -0
  23. data/lib/isodoc/iso/index.rb +139 -0
  24. data/lib/isodoc/iso/iso.amendment.xsl +1006 -317
  25. data/lib/isodoc/iso/iso.international-standard.xsl +1006 -317
  26. data/lib/isodoc/iso/presentation_xml_convert.rb +1 -4
  27. data/lib/isodoc/iso/sections.rb +1 -1
  28. data/lib/isodoc/iso/word_convert.rb +2 -2
  29. data/lib/isodoc/iso/xref.rb +33 -12
  30. data/lib/metanorma/iso/version.rb +1 -1
  31. data/metanorma-iso.gemspec +3 -3
  32. data/spec/asciidoctor/amd_spec.rb +696 -0
  33. data/spec/asciidoctor/base_spec.rb +704 -0
  34. data/spec/asciidoctor/blocks_spec.rb +527 -0
  35. data/spec/asciidoctor/cleanup_spec.rb +1134 -0
  36. data/spec/asciidoctor/inline_spec.rb +195 -0
  37. data/spec/asciidoctor/lists_spec.rb +197 -0
  38. data/spec/asciidoctor/refs_spec.rb +375 -0
  39. data/spec/asciidoctor/section_spec.rb +393 -0
  40. data/spec/asciidoctor/table_spec.rb +329 -0
  41. data/spec/asciidoctor/validate_spec.rb +1555 -0
  42. data/spec/isodoc/amd_spec.rb +967 -946
  43. data/spec/isodoc/blocks_spec.rb +530 -507
  44. data/spec/isodoc/i18n_spec.rb +953 -911
  45. data/spec/isodoc/inline_spec.rb +355 -293
  46. data/spec/isodoc/iso_spec.rb +340 -316
  47. data/spec/isodoc/metadata_spec.rb +392 -382
  48. data/spec/isodoc/postproc_spec.rb +834 -656
  49. data/spec/isodoc/ref_spec.rb +374 -331
  50. data/spec/isodoc/section_spec.rb +821 -519
  51. data/spec/isodoc/table_spec.rb +472 -411
  52. data/spec/isodoc/terms_spec.rb +209 -185
  53. data/spec/isodoc/xref_spec.rb +1370 -1236
  54. data/spec/metanorma/processor_spec.rb +28 -26
  55. data/spec/spec_helper.rb +184 -189
  56. metadata +22 -23
  57. data/.rubocop.ribose.yml +0 -66
  58. data/spec/asciidoctor-iso/amd_spec.rb +0 -694
  59. data/spec/asciidoctor-iso/base_spec.rb +0 -713
  60. data/spec/asciidoctor-iso/blocks_spec.rb +0 -482
  61. data/spec/asciidoctor-iso/cleanup_spec.rb +0 -1025
  62. data/spec/asciidoctor-iso/inline_spec.rb +0 -170
  63. data/spec/asciidoctor-iso/lists_spec.rb +0 -190
  64. data/spec/asciidoctor-iso/refs_spec.rb +0 -317
  65. data/spec/asciidoctor-iso/section_spec.rb +0 -362
  66. data/spec/asciidoctor-iso/table_spec.rb +0 -313
  67. data/spec/asciidoctor-iso/validate_spec.rb +0 -1251
  68. 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