isodoc 0.8 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a95d693408f9924a873e894eddf95b98fa2f3c1b689f1f2d68e0dc6be5a3ad0f
4
- data.tar.gz: 1d5ecf55343cdc70c4e83238ee887446295b02d0c5dcf0d005e7e03f2260a80c
3
+ metadata.gz: d6d2dab4cea8fcb1ace19dc45b56bd22e2760d90e95ace97fa1baccfb9b202fa
4
+ data.tar.gz: be7c14b98bb593ebcf3e268f0f4b01e4537d3ffb1df91f079bca644ba9540653
5
5
  SHA512:
6
- metadata.gz: bd3033cb703cf7483e99760c5a9b9baf6b13eb98f92f7218aee037b4062ce0a76e1c7f5203c3a784a3c966d54f573268337d99999b358de32146925d9c225994
7
- data.tar.gz: 5b4031816ce73f837abf30b421792eb3501f24c8b09c3c59daa2884312b2402a82dffe5d445ebab00630fe75aab323e50043c32374ab9284defc4a5cc1a74e1b
6
+ metadata.gz: de177f5b8d07b4e34cb0c35059017bc14d15d6079893a811f6a2f6faa6fc3cb350fd3a9bdc1f93edba8466e0695081eb4da4a376c126bec52bad61934f285ed8
7
+ data.tar.gz: 66a28cfc65f4d953469a6676515dc532aec51c0a06d971281e9eecc1c1c7fa769b3f635e3ec657d7f07db620ba9bf32d53169b6e6de88a02c54bec629db28fd2
data/Gemfile.lock CHANGED
@@ -15,7 +15,7 @@ GIT
15
15
  PATH
16
16
  remote: .
17
17
  specs:
18
- isodoc (0.7.1)
18
+ isodoc (0.8)
19
19
  asciimath
20
20
  html2doc (>= 0.7.1)
21
21
  htmlentities (~> 4.3.4)
@@ -1,7 +1,5 @@
1
-
2
1
  module IsoDoc
3
2
  module ClassUtils
4
-
5
3
  def date_range(date)
6
4
  from = date.at(ns("./from"))
7
5
  to = date.at(ns("./to"))
@@ -19,6 +17,13 @@ module IsoDoc
19
17
  gsub(%r{\[([a-zA-z][a-z0-9A-Z@/]*\])}, "[xmlns:\\1")
20
18
  end
21
19
 
20
+ def liquid(doc)
21
+ # unescape HTML escapes in doc
22
+ doc = doc.split(%r<(\{%|\}%)>).each_slice(4).map do |a|
23
+ a[2].gsub!("&lt;", "<").gsub!("&gt;", ">") if a.size > 2
24
+ a.join("")
25
+ end.join("")
26
+ Liquid::Template.parse(doc)
27
+ end
22
28
  end
23
-
24
- end
29
+ end
@@ -11,7 +11,7 @@ module IsoDoc::Function
11
11
  isodate = b.at(ns("./date[@type = 'published']"))
12
12
  iso_allparts = b.at(ns("./allParts"))
13
13
  reference = docid_l10n(isocode)
14
- reference += ": #{date_range(isodate)}" if isodate
14
+ reference += ":#{date_range(isodate)}" if isodate
15
15
  reference += " (all parts)" if iso_allparts&.text == "true"
16
16
  reference
17
17
  end
@@ -169,7 +169,7 @@ module IsoDoc::Function
169
169
  return ref unless date
170
170
  on = date.at(ns("./on"))
171
171
  return ref if on&.text == "--"
172
- return ref + ": #{date_range(date)}"
172
+ return ref + ":#{date_range(date)}"
173
173
  end
174
174
  return "[#{ref}]" if /^\d+$/.match?(ref) && !/^\[.*\]$/.match?(ref)
175
175
  ref
@@ -125,7 +125,7 @@ module IsoDoc::Function
125
125
  end
126
126
 
127
127
  def terms_defs_title(f)
128
- symbols = f.at(".//symbols-abbrevs")
128
+ symbols = f.at(".//definitions")
129
129
  return @termsdefsymbols_lbl if symbols
130
130
  @termsdef_lbl
131
131
  end
@@ -153,7 +153,7 @@ module IsoDoc::Function
153
153
  end
154
154
 
155
155
  def symbols_abbrevs(isoxml, out, num)
156
- f = isoxml.at(ns("//sections/symbols-abbrevs")) or return num
156
+ f = isoxml.at(ns("//sections/definitions")) or return num
157
157
  out.div **attr_code(id: f["id"], class: "Symbols") do |div|
158
158
  num = num + 1
159
159
  clause_name("#{num}.", @symbols_lbl, div, nil)
@@ -64,5 +64,8 @@ module IsoDoc::Function
64
64
  set_termdomain("")
65
65
  node.children.each { |n| parse(n, out) }
66
66
  end
67
+
68
+ def termdocsource_parse(_node, _out)
69
+ end
67
70
  end
68
71
  end
@@ -171,8 +171,9 @@ module IsoDoc::Function
171
171
  when "termnote" then termnote_parse(node, out)
172
172
  when "termexample" then example_parse(node, out)
173
173
  when "terms" then terms_parse(node, out)
174
- when "symbols-abbrevs" then symbols_parse(node, out)
174
+ when "definitions" then symbols_parse(node, out)
175
175
  when "references" then bibliography_parse(node, out)
176
+ when "termdocsource" then termdocsource_parse(node, out)
176
177
  else
177
178
  error_parse(node, out)
178
179
  end
@@ -115,13 +115,26 @@ module IsoDoc::Function
115
115
  from_xhtml(h1)
116
116
  end
117
117
 
118
+ def liquid(doc)
119
+ self.class.liquid(doc)
120
+ end
121
+
122
+ def liquid(doc)
123
+ # unescape HTML escapes in doc
124
+ doc = doc.split(%r<(\{%|%\})>).each_slice(4).map do |a|
125
+ a[2] = a[2].gsub(/\&lt;/, "<").gsub(/\&gt;/, ">") if a.size > 2
126
+ a.join("")
127
+ end.join("")
128
+ Liquid::Template.parse(doc)
129
+ end
130
+
118
131
  def populate_template(docxml, _format)
119
132
  meta = @meta.get.merge(@labels)
120
133
  docxml = docxml.
121
134
  gsub(/\[TERMREF\]\s*/, l10n("[#{@source_lbl}: ")).
122
135
  gsub(/\s*\[\/TERMREF\]\s*/, l10n("]")).
123
136
  gsub(/\s*\[MODIFICATION\]/, l10n(", #{@modified_lbl} &mdash; "))
124
- template = Liquid::Template.parse(docxml)
137
+ template = liquid(docxml)
125
138
  template.render(meta.map { |k, v| [k.to_s, v] }.to_h)
126
139
  end
127
140
  end
@@ -18,7 +18,7 @@ module IsoDoc::Function
18
18
  "//references[title = 'Normative References' or title = 'Normative references']")), n, 1)
19
19
  n = section_names(d.at(ns("//sections/terms | "\
20
20
  "//sections/clause[descendant::terms]")), n, 1)
21
- n = section_names(d.at(ns("//sections/symbols-abbrevs")), n, 1)
21
+ n = section_names(d.at(ns("//sections/definitions")), n, 1)
22
22
  middle_section_asset_names(d)
23
23
  clause_names(d, n)
24
24
  termnote_anchor_names(d)
@@ -30,7 +30,7 @@ module IsoDoc::Function
30
30
  "//foreword | //introduction | "\
31
31
  "//references[title = 'Normative References' or title = 'Normative references'] | "\
32
32
  "//sections/terms | "\
33
- "//sections/symbols-abbrevs | //clause[parent::sections]"
33
+ "//sections/definitions | //clause[parent::sections]"
34
34
  sequential_asset_names(d.xpath(ns(middle_sections)))
35
35
  end
36
36
 
@@ -54,7 +54,7 @@ module IsoDoc::Function
54
54
  num = num + 1
55
55
  @anchors[clause["id"]] =
56
56
  { label: num.to_s, xref: l10n("#{@clause_lbl} #{num}"), level: lvl }
57
- clause.xpath(ns("./clause | ./term | ./terms | ./symbols-abbrevs")).
57
+ clause.xpath(ns("./clause | ./term | ./terms | ./definitions")).
58
58
  each_with_index do |c, i|
59
59
  section_names1(c, "#{num}.#{i + 1}", lvl + 1)
60
60
  end
@@ -65,7 +65,7 @@ module IsoDoc::Function
65
65
  @anchors[clause["id"]] =
66
66
  { label: num, level: level, xref: num }
67
67
  # subclauses are not prefixed with "Clause"
68
- clause.xpath(ns("./clause | ./terms | ./term | ./symbols-abbrevs")).
68
+ clause.xpath(ns("./clause | ./terms | ./term | ./definitions")).
69
69
  each_with_index do |c, i|
70
70
  section_names1(c, "#{num}.#{i + 1}", level + 1)
71
71
  end
@@ -66,7 +66,7 @@ normal'><span lang=EN-GB><span style='mso-special-character:footnote-continuatio
66
66
  <div style='mso-element:header' id=eha>
67
67
 
68
68
  <p class=MsoHeader align=left style='text-align:left;line-height:12.0pt;
69
- mso-line-height-rule:exactly'><span lang=EN-GB>{{ agency }}&nbsp;{{ docnumber }}:{{ docyear }}(E){{ draftinfo }}</span></p>
69
+ mso-line-height-rule:exactly'><span lang=EN-GB>{{ docnumber }}:{{ docyear }}(E){{ draftinfo }}</span></p>
70
70
 
71
71
  </div>
72
72
 
@@ -100,14 +100,14 @@ style='mso-tab-count:1'>                            
100
100
  <div style='mso-element:header' id=eh2>
101
101
 
102
102
  <p class=MsoHeader align=left style='text-align:left;line-height:12.0pt;
103
- mso-line-height-rule:exactly'><span lang=EN-GB>{{ agency }}&nbsp;{{ docnumber }}:{{ docyear }}(E){{ draftinfo }}</span></p>
103
+ mso-line-height-rule:exactly'><span lang=EN-GB>{{ docnumber }}:{{ docyear }}(E){{ draftinfo }}</span></p>
104
104
 
105
105
  </div>
106
106
 
107
107
  <div style='mso-element:header' id=h2>
108
108
 
109
109
  <p class=MsoHeader align=right style='text-align:right;line-height:12.0pt;
110
- mso-line-height-rule:exactly'><span lang=EN-GB>{{ agency }}&nbsp;{{ docnumber }}:{{ docyear }}(E){{ draftinfo }}</span></p>
110
+ mso-line-height-rule:exactly'><span lang=EN-GB>{{ docnumber }}:{{ docyear }}(E){{ draftinfo }}</span></p>
111
111
 
112
112
  </div>
113
113
 
@@ -179,6 +179,28 @@ lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><o:p></o:p></span>
179
179
 
180
180
  </div>
181
181
 
182
+ <div style='mso-element:footer' id=f4>
183
+
184
+ <p class=MsoFooter><b style='mso-bidi-font-weight:normal'><span>ICS {{ ics }}<o:p></o:p></span></b></p>
185
+
186
+ <p class=MsoFooter style='margin-top:0cm'><span lang=EN-AU style='font-size:
187
+ 10.0pt;mso-ansi-language:EN-AU'>Price based on </span><!--[if supportFields]><span
188
+ lang=EN-AU style='font-size:10.0pt;mso-ansi-language:EN-AU'><span
189
+ style='mso-element:field-begin'></span><span style='mso-spacerun:yes'> </span>NUMPAGES<span
190
+ style='mso-spacerun:yes'>  </span>\* MERGEFORMAT <span style='mso-element:field-separator'></span></span><![endif]--><span
191
+ lang=EN-AU style='font-size:10.0pt;mso-ansi-language:EN-AU'><span
192
+ style='mso-no-proof:yes'>26</span></span><!--[if supportFields]><span
193
+ lang=EN-AU style='font-size:10.0pt;mso-ansi-language:EN-AU'><span
194
+ style='mso-element:field-end'></span></span><![endif]--><span lang=EN-AU
195
+ style='font-size:10.0pt;mso-ansi-language:EN-AU'> pages<o:p></o:p></span></p>
196
+
197
+ <p class=MsoFooter><span lang=EN-AU style='font-size:10.0pt;'>©
198
+ {{ agency }}&nbsp;{{ docyear }}&nbsp;– All rights reserved<o:p></o:p></span></p>
199
+
200
+ </div>
201
+
202
+
203
+
182
204
  </body>
183
205
 
184
206
  </html>
@@ -12,6 +12,7 @@ name="CVP_Secretariat_Loca">Secretariat</a>: {{ secretariat }}</p>
12
12
 
13
13
  <div class="coverpage_docstage"><p>{{ stageabbr }} stage</p></div>
14
14
 
15
+ {% if stage and stage_int < 60 %}
15
16
  <div class="coverpage_warning">
16
17
 
17
18
  <p>Warning for WDs
@@ -26,6 +27,7 @@ an International Standard.</p>
26
27
  of this draft are invited to submit, with their comments, notification of any
27
28
  relevant patent rights of which they are aware and to provide supporting
28
29
  documentation.</p>
30
+ {% endif %}
29
31
 
30
32
  </div>
31
33
 
@@ -404,7 +404,7 @@ ul li {
404
404
  list-style: none;
405
405
  }
406
406
 
407
- li p:before {
407
+ ul li p:before {
408
408
  content: "—";
409
409
  display: inline-block;
410
410
  width: 1em;
@@ -243,11 +243,11 @@ h2 p {
243
243
  }
244
244
 
245
245
 
246
- li {
246
+ ul li {
247
247
  list-style: none;
248
248
  }
249
249
 
250
- li p:before {
250
+ ul li p:before {
251
251
  content: "—";
252
252
  display: inline-block;
253
253
  width: 1em;
@@ -28,6 +28,8 @@ lang="EN-GB" style='font-size:40.0pt'>{{ stageabbr }} stage<o:p></o:p></span></p
28
28
 
29
29
  <p class="MsoNormal" style='margin-bottom:6.0pt'><span lang="EN-GB"><o:p>&nbsp;</o:p></span></p>
30
30
 
31
+ {% if stage and stage_int < 60 %}
32
+
31
33
  <div style='mso-element:para-border-div;border:solid windowtext 1.0pt;
32
34
  mso-border-alt:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 4.0pt;
33
35
  margin-left:4.25pt;margin-right:4.25pt'>
@@ -53,6 +55,8 @@ relevant patent rights of which they are aware and to provide supporting
53
55
  documentation.</span><span lang="EN-GB" style='font-size:10.0pt;mso-bidi-font-size:
54
56
  11.0pt'><o:p></o:p></span></p>
55
57
 
58
+ {% endif %}
59
+
56
60
  </div>
57
61
 
58
62
 
@@ -820,6 +820,19 @@ div.WordSection2
820
820
  mso-paper-source:0;}
821
821
  div.WordSection3
822
822
  {page:WordSection3;}
823
+ @page WordSection4
824
+ {size:595.3pt 841.9pt;
825
+ margin:39.7pt 53.85pt 1.0cm 53.85pt;
826
+ mso-header-margin:35.45pt;
827
+ mso-footer-margin:14.2pt;
828
+ mso-page-numbers:1;
829
+ mso-even-header:url("file:///C:/Doc/FILENAME_files/header.html") eh2;
830
+ mso-header:url("file:///C:/Doc/FILENAME_files/header.html") h2;
831
+ mso-even-footer:url("file:///C:/Doc/FILENAME_files/header.html") f4;
832
+ mso-footer:url("file:///C:/Doc/FILENAME_files/header.html") f4;
833
+ mso-paper-source:0;}
834
+ div.colophon
835
+ {page:WordSection4;}
823
836
 
824
837
  /* List Definitions */
825
838
  @list l0
@@ -32,6 +32,22 @@ module IsoDoc
32
32
  isocode = b.at(ns("./docidentifier")).text
33
33
  isocode == "IEV"
34
34
  end
35
+
36
+ def make_body(xml, docxml)
37
+ body_attr = { lang: "EN-US", link: "blue", vlink: "#954F72" }
38
+ xml.body **body_attr do |body|
39
+ make_body1(body, docxml)
40
+ make_body2(body, docxml)
41
+ make_body3(body, docxml)
42
+ colophon(body, docxml)
43
+ end
44
+ end
45
+
46
+ def colophon(body, docxml)
47
+ body.br **{ clear: "all", style: "page-break-before:left;mso-break-type:section-break" }
48
+ body.div **{ class: "colophon" } do |div|
49
+ end
50
+ end
35
51
  end
36
52
  end
37
53
  end
@@ -87,6 +87,9 @@ module IsoDoc
87
87
  return unless b["type"]
88
88
  t = b["type"].split(/-/).map{ |w| w.capitalize }.join(" ")
89
89
  set(:doctype, t)
90
+ ics = []
91
+ isoxml.xpath(ns("//bibdata/ics/code")).each { |i| ics << i.text }
92
+ set(:ics, ics.empty? ? "XXX" : ics.join(", "))
90
93
  end
91
94
 
92
95
  def iso?(org)
@@ -141,6 +144,7 @@ module IsoDoc
141
144
  docstatus = isoxml.at(ns("//status/stage"))
142
145
  if docstatus
143
146
  set(:stage, docstatus.text)
147
+ set(:stage_int, docstatus.text.to_i)
144
148
  abbr = stage_abbrev(docstatus.text, isoxml.at(ns("//status/iteration")),
145
149
  isoxml.at(ns("//version/draft")))
146
150
  set(:stageabbr, abbr)
@@ -1,3 +1,3 @@
1
1
  module IsoDoc
2
- VERSION = "0.8".freeze
2
+ VERSION = "0.8.1".freeze
3
3
  end
@@ -55,7 +55,8 @@ module IsoDoc::WordFunction
55
55
 
56
56
  def generate_header(filename, _dir)
57
57
  return nil unless @header
58
- template = Liquid::Template.parse(File.read(@header, encoding: "UTF-8"))
58
+ #template = Liquid::Template.parse(File.read(@header, encoding: "UTF-8"))
59
+ template = IsoDoc::Common.liquid(File.read(@header, encoding: "UTF-8"))
59
60
  meta = @meta.get
60
61
  meta[:filename] = filename
61
62
  params = meta.map { |k, v| [k.to_s, v] }.to_h
@@ -30,19 +30,19 @@ RSpec.describe IsoDoc do
30
30
  <preferred>Term2</preferred>
31
31
  </term>
32
32
  </terms>
33
- <symbols-abbrevs id="K">
33
+ <definitions id="K">
34
34
  <dl>
35
35
  <dt>Symbol</dt>
36
36
  <dd>Definition</dd>
37
37
  </dl>
38
- </symbols-abbrevs>
38
+ </definitions>
39
39
  </clause>
40
- <symbols-abbrevs id="L">
40
+ <definitions id="L">
41
41
  <dl>
42
42
  <dt>Symbol</dt>
43
43
  <dd>Definition</dd>
44
44
  </dl>
45
- </symbols-abbrevs>
45
+ </definitions>
46
46
  <clause id="M" inline-header="false" obligation="normative"><title>Clause 4</title><clause id="N" inline-header="false" obligation="normative">
47
47
  <title>Introduction</title>
48
48
  </clause>
@@ -187,19 +187,19 @@ RSpec.describe IsoDoc do
187
187
  <preferred>Term2</preferred>
188
188
  </term>
189
189
  </terms>
190
- <symbols-abbrevs id="K">
190
+ <definitions id="K">
191
191
  <dl>
192
192
  <dt>Symbol</dt>
193
193
  <dd>Definition</dd>
194
194
  </dl>
195
- </symbols-abbrevs>
195
+ </definitions>
196
196
  </clause>
197
- <symbols-abbrevs id="L">
197
+ <definitions id="L">
198
198
  <dl>
199
199
  <dt>Symbol</dt>
200
200
  <dd>Definition</dd>
201
201
  </dl>
202
- </symbols-abbrevs>
202
+ </definitions>
203
203
  <clause id="M" inline-header="false" obligation="normative"><title>Clause 4</title><clause id="N" inline-header="false" obligation="normative">
204
204
  <title>Introduction</title>
205
205
  </clause>
@@ -344,19 +344,19 @@ RSpec.describe IsoDoc do
344
344
  <preferred>Term2</preferred>
345
345
  </term>
346
346
  </terms>
347
- <symbols-abbrevs id="K">
347
+ <definitions id="K">
348
348
  <dl>
349
349
  <dt>Symbol</dt>
350
350
  <dd>Definition</dd>
351
351
  </dl>
352
- </symbols-abbrevs>
352
+ </definitions>
353
353
  </clause>
354
- <symbols-abbrevs id="L">
354
+ <definitions id="L">
355
355
  <dl>
356
356
  <dt>Symbol</dt>
357
357
  <dd>Definition</dd>
358
358
  </dl>
359
- </symbols-abbrevs>
359
+ </definitions>
360
360
  <clause id="M" inline-header="false" obligation="normative"><title>Clause 4</title><clause id="N" inline-header="false" obligation="normative">
361
361
  <title>Introduction</title>
362
362
  </clause>
@@ -501,19 +501,19 @@ RSpec.describe IsoDoc do
501
501
  <preferred>Term2</preferred>
502
502
  </term>
503
503
  </terms>
504
- <symbols-abbrevs id="K">
504
+ <definitions id="K">
505
505
  <dl>
506
506
  <dt>Symbol</dt>
507
507
  <dd>Definition</dd>
508
508
  </dl>
509
- </symbols-abbrevs>
509
+ </definitions>
510
510
  </clause>
511
- <symbols-abbrevs id="L">
511
+ <definitions id="L">
512
512
  <dl>
513
513
  <dt>Symbol</dt>
514
514
  <dd>Definition</dd>
515
515
  </dl>
516
- </symbols-abbrevs>
516
+ </definitions>
517
517
  <clause id="M" inline-header="false" obligation="normative"><title>Clause 4</title><clause id="N" inline-header="false" obligation="normative">
518
518
  <title>Introduction</title>
519
519
  </clause>
@@ -148,15 +148,15 @@ RSpec.describe IsoDoc do
148
148
  <div>
149
149
  <h1 class="ForewordTitle">Foreword</h1>
150
150
  <p id="_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f">
151
- <a href="#IEV">IEV: 2018</a>
152
- <a href="#ISO20483">ISO 20483: 2013&#8211;2014</a>
151
+ <a href="#IEV">IEV:2018</a>
152
+ <a href="#ISO20483">ISO 20483:2013&#8211;2014</a>
153
153
  </p>
154
154
  </div>
155
155
  <p class="zzSTDTitle1"/>
156
156
  <div>
157
157
  <h1>1.&#160; Normative references</h1>
158
158
  <p>The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.</p>
159
- <p id="ISO20483" class="NormRef">ISO 20483: 2013&#8211;2014, <i> Cereals and pulses</i></p>
159
+ <p id="ISO20483" class="NormRef">ISO 20483:2013&#8211;2014, <i> Cereals and pulses</i></p>
160
160
  </div>
161
161
  </div>
162
162
  </body>
@@ -69,7 +69,7 @@ RSpec.describe IsoDoc do
69
69
  </version>
70
70
  </iso-standard>
71
71
  INPUT
72
- {:accesseddate=>"2012", :activateddate=>"2013", :agency=>"ISO", :confirmeddate=>"XXX", :createddate=>"2010&ndash;2011", :docnumber=>"PreCD3 17301-1", :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", :docsubtitleintro=>"C\u00E9r\u00E9ales et l\u00E9gumineuses", :docsubtitlemain=>"Sp\u00E9cification et m\u00E9thodes d'essai", :docsubtitlepart=>"Partie&nbsp;1: Riz", :doctitle=>"Cereals and pulses&nbsp;&mdash; Specifications and test methods&nbsp;&mdash; Part&nbsp;1: Rice", :doctitleintro=>"Cereals and pulses", :doctitlemain=>"Specifications and test methods", :doctitlepart=>"Part&nbsp;1: Rice", :doctype=>"International Standard", :docyear=>"2016", :draft=>"0.4", :draftinfo=>" (draft 0.4, 2016-05-01)", :editorialgroup=>["TC 34", "SC 4", "WG 3"], :implementeddate=>"XXX", :issueddate=>"XXX", :obsoleteddate=>"2014", :obsoletes=>nil, :obsoletes_part=>nil, :publisheddate=>"2011", :revdate=>"2016-05-01", :sc=>"SC 4", :secretariat=>"GB", :stage=>"30", :stageabbr=>"PreCD3", :tc=>"TC 34", :updateddate=>"XXX", :wg=>"WG 3"}
72
+ {:accesseddate=>"2012", :activateddate=>"2013", :agency=>"ISO", :confirmeddate=>"XXX", :createddate=>"2010&ndash;2011", :docnumber=>"PreCD3 17301-1", :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", :docsubtitleintro=>"C&#xe9;r&#xe9;ales et l&#xe9;gumineuses", :docsubtitlemain=>"Sp&#xe9;cification et m&#xe9;thodes d&#x27;essai", :docsubtitlepart=>"Partie&nbsp;1: Riz", :doctitle=>"Cereals and pulses&nbsp;&mdash; Specifications and test methods&nbsp;&mdash; Part&nbsp;1: Rice", :doctitleintro=>"Cereals and pulses", :doctitlemain=>"Specifications and test methods", :doctitlepart=>"Part&nbsp;1: Rice", :doctype=>"International Standard", :docyear=>"2016", :draft=>"0.4", :draftinfo=>" (draft 0.4, 2016-05-01)", :editorialgroup=>["TC 34", "SC 4", "WG 3"], :ics=>"XXX", :implementeddate=>"XXX", :issueddate=>"XXX", :obsoleteddate=>"2014", :obsoletes=>nil, :obsoletes_part=>nil, :publisheddate=>"2011", :revdate=>"2016-05-01", :sc=>"SC 4", :secretariat=>"GB", :stage=>"30", :stage_int=>30, :stageabbr=>"PreCD3", :tc=>"TC 34", :updateddate=>"XXX", :wg=>"WG 3"}
73
73
  OUTPUT
74
74
  end
75
75
 
@@ -136,6 +136,8 @@ OUTPUT
136
136
  <subcommittee number="4" type="DEF">Cereals and pulses</subcommittee>
137
137
  <workgroup number="3" type="GHI">Rice Group</workgroup>
138
138
  </editorialgroup>
139
+ <ics><code>1.2.3</code></ics>
140
+ <ics><code>1.2.3</code></ics>
139
141
  </bibdata><version>
140
142
  <edition>2</edition>
141
143
  <revision-date>2016-05-01</revision-date>
@@ -143,7 +145,7 @@ OUTPUT
143
145
  </version>
144
146
  </iso-standard>
145
147
  INPUT
146
- {:accesseddate=>"XXX", :agency=>"ISO/IEC", :confirmeddate=>"XXX", :createddate=>"XXX", :docnumber=>"CD 17301-1-3", :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", :docsubtitleintro=>"C\u00E9r\u00E9ales et l\u00E9gumineuses", :docsubtitlemain=>"Sp\u00E9cification et m\u00E9thodes d'essai", :docsubtitlepart=>"Partie&nbsp;1&ndash;3: Riz", :doctitle=>"Cereals and pulses&nbsp;&mdash; Specifications and test methods&nbsp;&mdash; Part&nbsp;1&ndash;3: Rice", :doctitleintro=>"Cereals and pulses", :doctitlemain=>"Specifications and test methods", :doctitlepart=>"Part&nbsp;1&ndash;3: Rice", :doctype=>"International Standard", :docyear=>"2016", :draft=>"12", :draftinfo=>" (draft 12, 2016-05-01)", :editorialgroup=>["ABC 34", "DEF 4", "GHI 3"], :implementeddate=>"XXX", :issueddate=>"XXX", :obsoleteddate=>"XXX", :obsoletes=>"IEC 8121", :obsoletes_part=>"3.1", :publisheddate=>"XXX", :revdate=>"2016-05-01", :sc=>"DEF 4", :secretariat=>"XXXX", :stage=>"30", :stageabbr=>"CD", :tc=>"ABC 34", :updateddate=>"XXX", :wg=>"GHI 3"}
148
+ {:accesseddate=>"XXX", :agency=>"ISO/IEC", :confirmeddate=>"XXX", :createddate=>"XXX", :docnumber=>"CD 17301-1-3", :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", :docsubtitleintro=>"C&#xe9;r&#xe9;ales et l&#xe9;gumineuses", :docsubtitlemain=>"Sp&#xe9;cification et m&#xe9;thodes d&#x27;essai", :docsubtitlepart=>"Partie&nbsp;1&ndash;3: Riz", :doctitle=>"Cereals and pulses&nbsp;&mdash; Specifications and test methods&nbsp;&mdash; Part&nbsp;1&ndash;3: Rice", :doctitleintro=>"Cereals and pulses", :doctitlemain=>"Specifications and test methods", :doctitlepart=>"Part&nbsp;1&ndash;3: Rice", :doctype=>"International Standard", :docyear=>"2016", :draft=>"12", :draftinfo=>" (draft 12, 2016-05-01)", :editorialgroup=>["ABC 34", "DEF 4", "GHI 3"], :ics=>"1.2.3, 1.2.3", :implementeddate=>"XXX", :issueddate=>"XXX", :obsoleteddate=>"XXX", :obsoletes=>"IEC 8121", :obsoletes_part=>"3.1", :publisheddate=>"XXX", :revdate=>"2016-05-01", :sc=>"DEF 4", :secretariat=>"XXXX", :stage=>"30", :stage_int=>30, :stageabbr=>"CD", :tc=>"ABC 34", :updateddate=>"XXX", :wg=>"GHI 3"}
147
149
  OUTPUT
148
150
  end
149
151
 
@@ -92,8 +92,8 @@ RSpec.describe IsoDoc do
92
92
  <h1>1.&#160; Normative references</h1>
93
93
  <p>The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.</p>
94
94
  <p id="ISO712" class="NormRef">ISO 712, <i> Cereals and cereal products</i></p>
95
- <p id="ISO16634" class="NormRef">ISO 16634: -- (all parts)<a rel="footnote" href="#fn:1" epub:type="footnote"><sup>1</sup></a>, <i> Cereals, pulses, milled cereal products, oilseeds and animal feeding stuffs</i></p>
96
- <p id="ISO20483" class="NormRef">ISO 20483: 2013&#8211;2014, <i> Cereals and pulses</i></p>
95
+ <p id="ISO16634" class="NormRef">ISO 16634:-- (all parts)<a rel="footnote" href="#fn:1" epub:type="footnote"><sup>1</sup></a>, <i> Cereals, pulses, milled cereal products, oilseeds and animal feeding stuffs</i></p>
96
+ <p id="ISO20483" class="NormRef">ISO 20483:2013&#8211;2014, <i> Cereals and pulses</i></p>
97
97
  <p id="ref1" class="Biblio">ICC 167, <span style="font-variant:small-caps;">Standard No I.C.C 167</span>. <i>Determination of the protein content in cereal and cereal products for food and animal feeding stuffs according to the Dumas combustion method</i> (see <a href="http://www.icc.or.at">http://www.icc.or.at</a>)</p>
98
98
  </div>
99
99
  <br/>
@@ -27,19 +27,19 @@ RSpec.describe IsoDoc do
27
27
  <preferred>Term2</preferred>
28
28
  </term>
29
29
  </terms>
30
- <symbols-abbrevs id="K">
30
+ <definitions id="K">
31
31
  <dl>
32
32
  <dt>Symbol</dt>
33
33
  <dd>Definition</dd>
34
34
  </dl>
35
- </symbols-abbrevs>
35
+ </definitions>
36
36
  </clause>
37
- <symbols-abbrevs id="L">
37
+ <definitions id="L">
38
38
  <dl>
39
39
  <dt>Symbol</dt>
40
40
  <dd>Definition</dd>
41
41
  </dl>
42
- </symbols-abbrevs>
42
+ </definitions>
43
43
  <clause id="M" inline-header="false" obligation="normative"><title>Clause 4</title><clause id="N" inline-header="false" obligation="normative">
44
44
  <title>Introduction</title>
45
45
  </clause>
@@ -182,19 +182,19 @@ OUTPUT
182
182
  <preferred>Term2</preferred>
183
183
  </term>
184
184
  </terms>
185
- <symbols-abbrevs id="K">
185
+ <definitions id="K">
186
186
  <dl>
187
187
  <dt>Symbol</dt>
188
188
  <dd>Definition</dd>
189
189
  </dl>
190
- </symbols-abbrevs>
190
+ </definitions>
191
191
  </clause>
192
- <symbols-abbrevs id="L">
192
+ <definitions id="L">
193
193
  <dl>
194
194
  <dt>Symbol</dt>
195
195
  <dd>Definition</dd>
196
196
  </dl>
197
- </symbols-abbrevs>
197
+ </definitions>
198
198
  <clause id="M" inline-header="false" obligation="normative"><title>Clause 4</title><clause id="N" inline-header="false" obligation="normative">
199
199
  <title>Introduction</title>
200
200
  </clause>
@@ -882,19 +882,19 @@ RSpec.describe IsoDoc do
882
882
  <preferred>Term2</preferred>
883
883
  </term>
884
884
  </terms>
885
- <symbols-abbrevs id="K">
885
+ <definitions id="K">
886
886
  <dl>
887
887
  <dt>Symbol</dt>
888
888
  <dd>Definition</dd>
889
889
  </dl>
890
- </symbols-abbrevs>
890
+ </definitions>
891
891
  </terms>
892
- <symbols-abbrevs id="L">
892
+ <definitions id="L">
893
893
  <dl>
894
894
  <dt>Symbol</dt>
895
895
  <dd>Definition</dd>
896
896
  </dl>
897
- </symbols-abbrevs>
897
+ </definitions>
898
898
  <clause id="M" inline-header="false" obligation="normative"><title>Clause 4</title><clause id="N" inline-header="false" obligation="normative">
899
899
  <title>Introduction</title>
900
900
  </clause>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isodoc
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.8'
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-20 00:00:00.000000000 Z
11
+ date: 2018-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciimath
@@ -436,7 +436,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
436
436
  version: '0'
437
437
  requirements: []
438
438
  rubyforge_project:
439
- rubygems_version: 2.7.7
439
+ rubygems_version: 2.7.6
440
440
  signing_key:
441
441
  specification_version: 4
442
442
  summary: Convert documents in IsoDoc into Word and HTML in AsciiDoc.