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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/isodoc/class_utils.rb +9 -4
- data/lib/isodoc/function/references.rb +2 -2
- data/lib/isodoc/function/section.rb +2 -2
- data/lib/isodoc/function/terms.rb +3 -0
- data/lib/isodoc/function/to_word_html.rb +2 -1
- data/lib/isodoc/function/utils.rb +14 -1
- data/lib/isodoc/function/xref_sect_gen.rb +4 -4
- data/lib/isodoc/iso/html/header.html +25 -3
- data/lib/isodoc/iso/html/html_iso_titlepage.html +2 -0
- data/lib/isodoc/iso/html/style-human.scss +1 -1
- data/lib/isodoc/iso/html/style-iso.scss +2 -2
- data/lib/isodoc/iso/html/word_iso_titlepage.html +4 -0
- data/lib/isodoc/iso/html/wordstyle.scss +13 -0
- data/lib/isodoc/iso/word_convert.rb +16 -0
- data/lib/isodoc/metadata.rb +4 -0
- data/lib/isodoc/version.rb +1 -1
- data/lib/isodoc/word_function/postprocess.rb +2 -1
- data/spec/isodoc/i18n_spec.rb +16 -16
- data/spec/isodoc/iso_spec.rb +3 -3
- data/spec/isodoc/metadata_spec.rb +4 -2
- data/spec/isodoc/ref_spec.rb +2 -2
- data/spec/isodoc/section_spec.rb +8 -8
- data/spec/isodoc/xref_spec.rb +4 -4
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d6d2dab4cea8fcb1ace19dc45b56bd22e2760d90e95ace97fa1baccfb9b202fa
|
4
|
+
data.tar.gz: be7c14b98bb593ebcf3e268f0f4b01e4537d3ffb1df91f079bca644ba9540653
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de177f5b8d07b4e34cb0c35059017bc14d15d6079893a811f6a2f6faa6fc3cb350fd3a9bdc1f93edba8466e0695081eb4da4a376c126bec52bad61934f285ed8
|
7
|
+
data.tar.gz: 66a28cfc65f4d953469a6676515dc532aec51c0a06d971281e9eecc1c1c7fa769b3f635e3ec657d7f07db620ba9bf32d53169b6e6de88a02c54bec629db28fd2
|
data/Gemfile.lock
CHANGED
data/lib/isodoc/class_utils.rb
CHANGED
@@ -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!("<", "<").gsub!(">", ">") 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 += "
|
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 + "
|
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(".//
|
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/
|
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)
|
@@ -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 "
|
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(/\</, "<").gsub(/\>/, ">") 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} — "))
|
124
|
-
template =
|
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/
|
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/
|
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 | ./
|
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 | ./
|
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>{{
|
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>{{
|
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>{{
|
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 }} {{ docyear }} – 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
|
|
@@ -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> </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
|
data/lib/isodoc/metadata.rb
CHANGED
@@ -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)
|
data/lib/isodoc/version.rb
CHANGED
@@ -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
|
data/spec/isodoc/i18n_spec.rb
CHANGED
@@ -30,19 +30,19 @@ RSpec.describe IsoDoc do
|
|
30
30
|
<preferred>Term2</preferred>
|
31
31
|
</term>
|
32
32
|
</terms>
|
33
|
-
<
|
33
|
+
<definitions id="K">
|
34
34
|
<dl>
|
35
35
|
<dt>Symbol</dt>
|
36
36
|
<dd>Definition</dd>
|
37
37
|
</dl>
|
38
|
-
</
|
38
|
+
</definitions>
|
39
39
|
</clause>
|
40
|
-
<
|
40
|
+
<definitions id="L">
|
41
41
|
<dl>
|
42
42
|
<dt>Symbol</dt>
|
43
43
|
<dd>Definition</dd>
|
44
44
|
</dl>
|
45
|
-
</
|
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
|
-
<
|
190
|
+
<definitions id="K">
|
191
191
|
<dl>
|
192
192
|
<dt>Symbol</dt>
|
193
193
|
<dd>Definition</dd>
|
194
194
|
</dl>
|
195
|
-
</
|
195
|
+
</definitions>
|
196
196
|
</clause>
|
197
|
-
<
|
197
|
+
<definitions id="L">
|
198
198
|
<dl>
|
199
199
|
<dt>Symbol</dt>
|
200
200
|
<dd>Definition</dd>
|
201
201
|
</dl>
|
202
|
-
</
|
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
|
-
<
|
347
|
+
<definitions id="K">
|
348
348
|
<dl>
|
349
349
|
<dt>Symbol</dt>
|
350
350
|
<dd>Definition</dd>
|
351
351
|
</dl>
|
352
|
-
</
|
352
|
+
</definitions>
|
353
353
|
</clause>
|
354
|
-
<
|
354
|
+
<definitions id="L">
|
355
355
|
<dl>
|
356
356
|
<dt>Symbol</dt>
|
357
357
|
<dd>Definition</dd>
|
358
358
|
</dl>
|
359
|
-
</
|
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
|
-
<
|
504
|
+
<definitions id="K">
|
505
505
|
<dl>
|
506
506
|
<dt>Symbol</dt>
|
507
507
|
<dd>Definition</dd>
|
508
508
|
</dl>
|
509
|
-
</
|
509
|
+
</definitions>
|
510
510
|
</clause>
|
511
|
-
<
|
511
|
+
<definitions id="L">
|
512
512
|
<dl>
|
513
513
|
<dt>Symbol</dt>
|
514
514
|
<dd>Definition</dd>
|
515
515
|
</dl>
|
516
|
-
</
|
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>
|
data/spec/isodoc/iso_spec.rb
CHANGED
@@ -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:
|
152
|
-
<a href="#ISO20483">ISO 20483:
|
151
|
+
<a href="#IEV">IEV:2018</a>
|
152
|
+
<a href="#ISO20483">ISO 20483:2013–2014</a>
|
153
153
|
</p>
|
154
154
|
</div>
|
155
155
|
<p class="zzSTDTitle1"/>
|
156
156
|
<div>
|
157
157
|
<h1>1.  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:
|
159
|
+
<p id="ISO20483" class="NormRef">ISO 20483:2013–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–2011", :docnumber=>"PreCD3 17301-1", :docsubtitle=>"Céréales et légumineuses — Spécification et méthodes d'essai — Partie 1: Riz", :docsubtitleintro=>"C
|
72
|
+
{:accesseddate=>"2012", :activateddate=>"2013", :agency=>"ISO", :confirmeddate=>"XXX", :createddate=>"2010–2011", :docnumber=>"PreCD3 17301-1", :docsubtitle=>"Céréales et légumineuses — Spécification et méthodes d'essai — Partie 1: Riz", :docsubtitleintro=>"Céréales et légumineuses", :docsubtitlemain=>"Spécification et méthodes d'essai", :docsubtitlepart=>"Partie 1: Riz", :doctitle=>"Cereals and pulses — Specifications and test methods — Part 1: Rice", :doctitleintro=>"Cereals and pulses", :doctitlemain=>"Specifications and test methods", :doctitlepart=>"Part 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
|
-
|
148
|
+
{:accesseddate=>"XXX", :agency=>"ISO/IEC", :confirmeddate=>"XXX", :createddate=>"XXX", :docnumber=>"CD 17301-1-3", :docsubtitle=>"Céréales et légumineuses — Spécification et méthodes d'essai — Partie 1–3: Riz", :docsubtitleintro=>"Céréales et légumineuses", :docsubtitlemain=>"Spécification et méthodes d'essai", :docsubtitlepart=>"Partie 1–3: Riz", :doctitle=>"Cereals and pulses — Specifications and test methods — Part 1–3: Rice", :doctitleintro=>"Cereals and pulses", :doctitlemain=>"Specifications and test methods", :doctitlepart=>"Part 1–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
|
|
data/spec/isodoc/ref_spec.rb
CHANGED
@@ -92,8 +92,8 @@ RSpec.describe IsoDoc do
|
|
92
92
|
<h1>1.  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
|
96
|
-
<p id="ISO20483" class="NormRef">ISO 20483:
|
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–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/>
|
data/spec/isodoc/section_spec.rb
CHANGED
@@ -27,19 +27,19 @@ RSpec.describe IsoDoc do
|
|
27
27
|
<preferred>Term2</preferred>
|
28
28
|
</term>
|
29
29
|
</terms>
|
30
|
-
<
|
30
|
+
<definitions id="K">
|
31
31
|
<dl>
|
32
32
|
<dt>Symbol</dt>
|
33
33
|
<dd>Definition</dd>
|
34
34
|
</dl>
|
35
|
-
</
|
35
|
+
</definitions>
|
36
36
|
</clause>
|
37
|
-
<
|
37
|
+
<definitions id="L">
|
38
38
|
<dl>
|
39
39
|
<dt>Symbol</dt>
|
40
40
|
<dd>Definition</dd>
|
41
41
|
</dl>
|
42
|
-
</
|
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
|
-
<
|
185
|
+
<definitions id="K">
|
186
186
|
<dl>
|
187
187
|
<dt>Symbol</dt>
|
188
188
|
<dd>Definition</dd>
|
189
189
|
</dl>
|
190
|
-
</
|
190
|
+
</definitions>
|
191
191
|
</clause>
|
192
|
-
<
|
192
|
+
<definitions id="L">
|
193
193
|
<dl>
|
194
194
|
<dt>Symbol</dt>
|
195
195
|
<dd>Definition</dd>
|
196
196
|
</dl>
|
197
|
-
</
|
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>
|
data/spec/isodoc/xref_spec.rb
CHANGED
@@ -882,19 +882,19 @@ RSpec.describe IsoDoc do
|
|
882
882
|
<preferred>Term2</preferred>
|
883
883
|
</term>
|
884
884
|
</terms>
|
885
|
-
<
|
885
|
+
<definitions id="K">
|
886
886
|
<dl>
|
887
887
|
<dt>Symbol</dt>
|
888
888
|
<dd>Definition</dd>
|
889
889
|
</dl>
|
890
|
-
</
|
890
|
+
</definitions>
|
891
891
|
</terms>
|
892
|
-
<
|
892
|
+
<definitions id="L">
|
893
893
|
<dl>
|
894
894
|
<dt>Symbol</dt>
|
895
895
|
<dd>Definition</dd>
|
896
896
|
</dl>
|
897
|
-
</
|
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:
|
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-
|
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.
|
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.
|