isodoc 0.5.7 → 0.5.8
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.
- checksums.yaml +4 -4
- data/lib/isodoc/metadata.rb +2 -2
- data/lib/isodoc/references.rb +7 -2
- data/lib/isodoc/section.rb +11 -4
- data/lib/isodoc/terms.rb +8 -3
- data/lib/isodoc/version.rb +1 -1
- data/lib/isodoc/xref_gen.rb +2 -1
- data/lib/isodoc/xref_sect_gen.rb +2 -2
- data/spec/isodoc/i18n_spec.rb +16 -16
- data/spec/isodoc/section_spec.rb +12 -12
- data/spec/isodoc/xref_spec.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 57ca9a13e94e7c5861ee7694b1c543a304d35e2c
|
4
|
+
data.tar.gz: 4d1ca9fe799cc66bb3d6e1422585168e09da7c4a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a382164e2ff256407dc864caa9638235970b84bff249291d690588ac880cd832cefd089505336603f4e920dd89053096fc96c5b9d2233fb4f023ac6bf9465d63
|
7
|
+
data.tar.gz: 54d6a2064d4b1fe1a72a8997ca842b1f9a45094a7f3778a9858af9c560757f72d078d38045cee41782d79043a743ecd6be8dbc2d31b657ab07292d2ac6efa090
|
data/lib/isodoc/metadata.rb
CHANGED
@@ -184,8 +184,8 @@ module IsoDoc
|
|
184
184
|
std = isoxml.at(ns("//bibdata/relation[@type = 'obsoletes']")) || return
|
185
185
|
locality = std.at(ns(".//locality"))
|
186
186
|
id = std.at(ns(".//docidentifier"))
|
187
|
-
set_metadata(:obsoletes, id.text)
|
188
|
-
set_metadata(:obsoletes_part, locality.text)
|
187
|
+
set_metadata(:obsoletes, id.text) if id
|
188
|
+
set_metadata(:obsoletes_part, locality.text) if locality
|
189
189
|
end
|
190
190
|
end
|
191
191
|
end
|
data/lib/isodoc/references.rb
CHANGED
@@ -48,6 +48,11 @@ module IsoDoc
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
+
def reference_format(b, r)
|
52
|
+
title = b.at(ns("./formattedref")) || b.at(ns("./title"))
|
53
|
+
title&.children&.each { |n| parse(n, r) }
|
54
|
+
end
|
55
|
+
|
51
56
|
# TODO generate formatted ref if not present
|
52
57
|
def noniso_bibitem(list, b, ordinal, bibliography)
|
53
58
|
list.p **attr_code("id": b["id"], class: "Biblio") do |r|
|
@@ -57,7 +62,7 @@ module IsoDoc
|
|
57
62
|
else
|
58
63
|
r << "#{iso_bibitem_ref_code(b)}, "
|
59
64
|
end
|
60
|
-
b
|
65
|
+
reference_format(b, r)
|
61
66
|
end
|
62
67
|
end
|
63
68
|
|
@@ -112,7 +117,7 @@ module IsoDoc
|
|
112
117
|
end
|
113
118
|
|
114
119
|
def bibliography(isoxml, out)
|
115
|
-
q = "
|
120
|
+
q = "//clause[title = 'Bibliography'][descendant::references] | //references[title = 'Bibliography']"
|
116
121
|
f = isoxml.at(ns(q)) || return
|
117
122
|
page_break(out)
|
118
123
|
out.div do |div|
|
data/lib/isodoc/section.rb
CHANGED
@@ -43,9 +43,12 @@ module IsoDoc
|
|
43
43
|
div.parent.at(".//h1")
|
44
44
|
end
|
45
45
|
|
46
|
+
MIDDLE_CLAUSE =
|
47
|
+
"//clause[parent::sections][not(xmlns:title = 'Scope')]"\
|
48
|
+
"[not(descendant::terms)]".freeze
|
49
|
+
|
46
50
|
def clause(isoxml, out)
|
47
|
-
isoxml.xpath(ns(
|
48
|
-
next if c.at(ns("./title")).text == "Scope"
|
51
|
+
isoxml.xpath(ns(MIDDLE_CLAUSE)).each do |c|
|
49
52
|
out.div **attr_code(id: c["id"]) do |s|
|
50
53
|
c.elements.each do |c1|
|
51
54
|
if c1.name == "title"
|
@@ -124,11 +127,15 @@ module IsoDoc
|
|
124
127
|
@termsdef_lbl
|
125
128
|
end
|
126
129
|
|
130
|
+
TERM_CLAUSE = "//sections/terms | "\
|
131
|
+
"//sections/clause[descendant::terms]".freeze
|
132
|
+
|
127
133
|
def terms_defs(isoxml, out)
|
128
|
-
f = isoxml.at(ns(
|
134
|
+
f = isoxml.at(ns(TERM_CLAUSE)) || return
|
129
135
|
out.div **attr_code(id: f["id"]) do |div|
|
130
136
|
clause_name("3.", terms_defs_title(f), div, nil)
|
131
|
-
term_defs_boilerplate(div,
|
137
|
+
term_defs_boilerplate(div, isoxml.xpath(ns(".//termdocsource")),
|
138
|
+
f.at(ns(".//term")))
|
132
139
|
f.elements.each do |e|
|
133
140
|
parse(e, div) unless %w{title source}.include? e.name
|
134
141
|
end
|
data/lib/isodoc/terms.rb
CHANGED
@@ -12,16 +12,21 @@ module IsoDoc
|
|
12
12
|
|
13
13
|
def deprecated_term_parse(node, out)
|
14
14
|
out.p **{ class: "DeprecatedTerms" } do |p|
|
15
|
-
p << l10n("#{@deprecated_lbl}:
|
15
|
+
p << l10n("#{@deprecated_lbl}: ")
|
16
|
+
node.children.each { |c| parse(c, p) }
|
16
17
|
end
|
17
18
|
end
|
18
19
|
|
19
20
|
def admitted_term_parse(node, out)
|
20
|
-
out.p **{ class: "AltTerms" }
|
21
|
+
out.p **{ class: "AltTerms" } do |p|
|
22
|
+
node.children.each { |c| parse(c, p) }
|
23
|
+
end
|
21
24
|
end
|
22
25
|
|
23
26
|
def term_parse(node, out)
|
24
|
-
out.p **{ class: "Terms" }
|
27
|
+
out.p **{ class: "Terms" } do |p|
|
28
|
+
node.children.each { |c| parse(c, p) }
|
29
|
+
end
|
25
30
|
end
|
26
31
|
|
27
32
|
def para_then_remainder(first, node, p, div)
|
data/lib/isodoc/version.rb
CHANGED
data/lib/isodoc/xref_gen.rb
CHANGED
@@ -36,7 +36,8 @@ module IsoDoc
|
|
36
36
|
|
37
37
|
SECTIONS_XPATH =
|
38
38
|
"//foreword | //introduction | //sections/terms | //annex | "\
|
39
|
-
"//sections/clause | //references[not(ancestor::
|
39
|
+
"//sections/clause | //references[not(ancestor::clause)] | "\
|
40
|
+
"//clause[descendant::references][not(ancestor::clause)]".freeze
|
40
41
|
|
41
42
|
CHILD_NOTES_XPATH =
|
42
43
|
"./*[not(self::xmlns:subsection)]//xmlns:note | ./xmlns:note".freeze
|
data/lib/isodoc/xref_sect_gen.rb
CHANGED
@@ -14,7 +14,7 @@ module IsoDoc
|
|
14
14
|
section_names(d.at(ns("//clause[title = 'Scope']")), "1", 1)
|
15
15
|
section_names(d.at(ns(
|
16
16
|
"//references[title = 'Normative References']")), "2", 1)
|
17
|
-
section_names(d.at(ns("//sections/terms")), "3", 1)
|
17
|
+
section_names(d.at(ns("//sections/terms | //sections/clause[descendant::terms]")), "3", 1)
|
18
18
|
middle_section_asset_names(d)
|
19
19
|
end
|
20
20
|
|
@@ -27,7 +27,7 @@ module IsoDoc
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def clause_names(docxml, sect_num)
|
30
|
-
q = "//clause[parent::sections][not(xmlns:title = 'Scope')]"
|
30
|
+
q = "//clause[parent::sections][not(xmlns:title = 'Scope')][not(descendant::terms)]"
|
31
31
|
docxml.xpath(ns(q)).each_with_index do |c, i|
|
32
32
|
section_names(c, (i + sect_num).to_s, 1)
|
33
33
|
end
|
data/spec/isodoc/i18n_spec.rb
CHANGED
@@ -23,7 +23,7 @@ RSpec.describe IsoDoc do
|
|
23
23
|
<p id="E">Text</p>
|
24
24
|
</clause>
|
25
25
|
|
26
|
-
<
|
26
|
+
<clause id="H" obligation="normative"><title>Terms, Definitions, Symbols and Abbreviated Terms</title><terms id="I" obligation="normative">
|
27
27
|
<title>Normal Terms</title>
|
28
28
|
<term id="J">
|
29
29
|
<preferred>Term2</preferred>
|
@@ -35,7 +35,7 @@ RSpec.describe IsoDoc do
|
|
35
35
|
<dd>Definition</dd>
|
36
36
|
</dl>
|
37
37
|
</symbols-abbrevs>
|
38
|
-
</
|
38
|
+
</clause>
|
39
39
|
<symbols-abbrevs id="L">
|
40
40
|
<dl>
|
41
41
|
<dt>Symbol</dt>
|
@@ -59,12 +59,12 @@ RSpec.describe IsoDoc do
|
|
59
59
|
</subsection>
|
60
60
|
</annex><references id="R" obligation="informative">
|
61
61
|
<title>Normative References</title>
|
62
|
-
</references><
|
62
|
+
</references><clause id="S" obligation="informative">
|
63
63
|
<title>Bibliography</title>
|
64
64
|
<references id="T" obligation="informative">
|
65
65
|
<title>Bibliography Subsection</title>
|
66
66
|
</references>
|
67
|
-
</
|
67
|
+
</clause>
|
68
68
|
</iso-standard>
|
69
69
|
INPUT
|
70
70
|
<html xmlns:epub="http://www.idpf.org/2007/ops">
|
@@ -185,7 +185,7 @@ RSpec.describe IsoDoc do
|
|
185
185
|
<p id="E">Text</p>
|
186
186
|
</clause>
|
187
187
|
|
188
|
-
<
|
188
|
+
<clause id="H" obligation="normative"><title>Terms, Definitions, Symbols and Abbreviated Terms</title><terms id="I" obligation="normative">
|
189
189
|
<title>Normal Terms</title>
|
190
190
|
<term id="J">
|
191
191
|
<preferred>Term2</preferred>
|
@@ -197,7 +197,7 @@ RSpec.describe IsoDoc do
|
|
197
197
|
<dd>Definition</dd>
|
198
198
|
</dl>
|
199
199
|
</symbols-abbrevs>
|
200
|
-
</
|
200
|
+
</clause>
|
201
201
|
<symbols-abbrevs id="L">
|
202
202
|
<dl>
|
203
203
|
<dt>Symbol</dt>
|
@@ -221,12 +221,12 @@ RSpec.describe IsoDoc do
|
|
221
221
|
</subsection>
|
222
222
|
</annex><references id="R" obligation="informative">
|
223
223
|
<title>Normative References</title>
|
224
|
-
</references><
|
224
|
+
</references><clause id="S" obligation="informative">
|
225
225
|
<title>Bibliography</title>
|
226
226
|
<references id="T" obligation="informative">
|
227
227
|
<title>Bibliography Subsection</title>
|
228
228
|
</references>
|
229
|
-
</
|
229
|
+
</clause>
|
230
230
|
</iso-standard>
|
231
231
|
INPUT
|
232
232
|
<html xmlns:epub="http://www.idpf.org/2007/ops">
|
@@ -347,7 +347,7 @@ RSpec.describe IsoDoc do
|
|
347
347
|
<p id="E">Text</p>
|
348
348
|
</clause>
|
349
349
|
|
350
|
-
<
|
350
|
+
<clause id="H" obligation="normative"><title>Terms, Definitions, Symbols and Abbreviated Terms</title><terms id="I" obligation="normative">
|
351
351
|
<title>Normal Terms</title>
|
352
352
|
<term id="J">
|
353
353
|
<preferred>Term2</preferred>
|
@@ -359,7 +359,7 @@ RSpec.describe IsoDoc do
|
|
359
359
|
<dd>Definition</dd>
|
360
360
|
</dl>
|
361
361
|
</symbols-abbrevs>
|
362
|
-
</
|
362
|
+
</clause>
|
363
363
|
<symbols-abbrevs id="L">
|
364
364
|
<dl>
|
365
365
|
<dt>Symbol</dt>
|
@@ -383,12 +383,12 @@ RSpec.describe IsoDoc do
|
|
383
383
|
</subsection>
|
384
384
|
</annex><references id="R" obligation="informative">
|
385
385
|
<title>Normative References</title>
|
386
|
-
</references><
|
386
|
+
</references><clause id="S" obligation="informative">
|
387
387
|
<title>Bibliography</title>
|
388
388
|
<references id="T" obligation="informative">
|
389
389
|
<title>Bibliography Subsection</title>
|
390
390
|
</references>
|
391
|
-
</
|
391
|
+
</clause>
|
392
392
|
</iso-standard>
|
393
393
|
INPUT
|
394
394
|
<html xmlns:epub="http://www.idpf.org/2007/ops">
|
@@ -509,7 +509,7 @@ RSpec.describe IsoDoc do
|
|
509
509
|
<p id="E"><eref type="inline" bibitemid="ISO712"><locality type="table"><referenceFrom>1</referenceFrom><referenceTo>1</referenceTo></locality></eref></p>
|
510
510
|
</clause>
|
511
511
|
|
512
|
-
<
|
512
|
+
<clause id="H" obligation="normative"><title>Terms, Definitions, Symbols and Abbreviated Terms</title><terms id="I" obligation="normative">
|
513
513
|
<title>Normal Terms</title>
|
514
514
|
<term id="J">
|
515
515
|
<preferred>Term2</preferred>
|
@@ -521,7 +521,7 @@ RSpec.describe IsoDoc do
|
|
521
521
|
<dd>Definition</dd>
|
522
522
|
</dl>
|
523
523
|
</symbols-abbrevs>
|
524
|
-
</
|
524
|
+
</clause>
|
525
525
|
<symbols-abbrevs id="L">
|
526
526
|
<dl>
|
527
527
|
<dt>Symbol</dt>
|
@@ -555,12 +555,12 @@ RSpec.describe IsoDoc do
|
|
555
555
|
</organization>
|
556
556
|
</contributor>
|
557
557
|
</bibitem>
|
558
|
-
</references><
|
558
|
+
</references><clause id="S" obligation="informative">
|
559
559
|
<title>Bibliography</title>
|
560
560
|
<references id="T" obligation="informative">
|
561
561
|
<title>Bibliography Subsection</title>
|
562
562
|
</references>
|
563
|
-
</
|
563
|
+
</clause>
|
564
564
|
</iso-standard>
|
565
565
|
INPUT
|
566
566
|
<html xmlns:epub="http://www.idpf.org/2007/ops">
|
data/spec/isodoc/section_spec.rb
CHANGED
@@ -20,7 +20,7 @@ RSpec.describe IsoDoc do
|
|
20
20
|
<p id="E">Text</p>
|
21
21
|
</clause>
|
22
22
|
|
23
|
-
<
|
23
|
+
<clause id="H" obligation="normative"><title>Terms, Definitions, Symbols and Abbreviated Terms</title><terms id="I" obligation="normative">
|
24
24
|
<title>Normal Terms</title>
|
25
25
|
<term id="J">
|
26
26
|
<preferred>Term2</preferred>
|
@@ -32,7 +32,7 @@ RSpec.describe IsoDoc do
|
|
32
32
|
<dd>Definition</dd>
|
33
33
|
</dl>
|
34
34
|
</symbols-abbrevs>
|
35
|
-
</
|
35
|
+
</clause>
|
36
36
|
<symbols-abbrevs id="L">
|
37
37
|
<dl>
|
38
38
|
<dt>Symbol</dt>
|
@@ -56,12 +56,12 @@ RSpec.describe IsoDoc do
|
|
56
56
|
</subsection>
|
57
57
|
</annex><references id="R" obligation="informative">
|
58
58
|
<title>Normative References</title>
|
59
|
-
</references><
|
59
|
+
</references><clause id="S" obligation="informative">
|
60
60
|
<title>Bibliography</title>
|
61
61
|
<references id="T" obligation="informative">
|
62
62
|
<title>Bibliography Subsection</title>
|
63
63
|
</references>
|
64
|
-
</
|
64
|
+
</clause>
|
65
65
|
</iso-standard>
|
66
66
|
INPUT
|
67
67
|
<html xmlns:epub="http://www.idpf.org/2007/ops">
|
@@ -179,7 +179,7 @@ OUTPUT
|
|
179
179
|
<p id="E">Text</p>
|
180
180
|
</clause>
|
181
181
|
|
182
|
-
<
|
182
|
+
<clause id="H" obligation="normative"><title>Terms, Definitions, Symbols and Abbreviated Terms</title><terms id="I" obligation="normative">
|
183
183
|
<title>Normal Terms</title>
|
184
184
|
<term id="J">
|
185
185
|
<preferred>Term2</preferred>
|
@@ -191,7 +191,7 @@ OUTPUT
|
|
191
191
|
<dd>Definition</dd>
|
192
192
|
</dl>
|
193
193
|
</symbols-abbrevs>
|
194
|
-
</
|
194
|
+
</clause>
|
195
195
|
<symbols-abbrevs id="L">
|
196
196
|
<dl>
|
197
197
|
<dt>Symbol</dt>
|
@@ -215,12 +215,12 @@ OUTPUT
|
|
215
215
|
</subsection>
|
216
216
|
</annex><references id="R" obligation="informative">
|
217
217
|
<title>Normative References</title>
|
218
|
-
</references><
|
218
|
+
</references><clause id="S" obligation="informative">
|
219
219
|
<title>Bibliography</title>
|
220
220
|
<references id="T" obligation="informative">
|
221
221
|
<title>Bibliography Subsection</title>
|
222
222
|
</references>
|
223
|
-
</
|
223
|
+
</clause>
|
224
224
|
</iso-standard>
|
225
225
|
INPUT
|
226
226
|
<html xmlns:epub="http://www.idpf.org/2007/ops">
|
@@ -371,9 +371,9 @@ OUTPUT
|
|
371
371
|
it "processes terms & definitions with external source" do
|
372
372
|
expect(IsoDoc::Convert.new({}).convert_file(<<~"INPUT", "test", true)).to be_equivalent_to <<~"OUTPUT"
|
373
373
|
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
374
|
+
<termdocsource type="inline" bibitemid="ISO712" citeas="ISO 712"/>
|
374
375
|
<sections>
|
375
376
|
<terms id="H" obligation="normative"><title>Terms, Definitions, Symbols and Abbreviated Terms</title>
|
376
|
-
<source type="inline" bibitemid="ISO712" citeas="ISO 712"/>
|
377
377
|
<term id="J">
|
378
378
|
<preferred>Term2</preferred>
|
379
379
|
</term>
|
@@ -435,11 +435,11 @@ OUTPUT
|
|
435
435
|
it "processes empty terms & definitions with external source" do
|
436
436
|
expect(IsoDoc::Convert.new({}).convert_file(<<~"INPUT", "test", true)).to be_equivalent_to <<~"OUTPUT"
|
437
437
|
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
438
|
+
<termdocsource type="inline" bibitemid="ISO712" citeas="ISO 712"/>
|
439
|
+
<termdocsource type="inline" bibitemid="ISO712" citeas="ISO 712"/>
|
440
|
+
<termdocsource type="inline" bibitemid="ISO712" citeas="ISO 712"/>
|
438
441
|
<sections>
|
439
442
|
<terms id="H" obligation="normative"><title>Terms, Definitions, Symbols and Abbreviated Terms</title>
|
440
|
-
<source type="inline" bibitemid="ISO712" citeas="ISO 712"/>
|
441
|
-
<source type="inline" bibitemid="ISO712" citeas="ISO 712"/>
|
442
|
-
<source type="inline" bibitemid="ISO712" citeas="ISO 712"/>
|
443
443
|
</terms>
|
444
444
|
</sections>
|
445
445
|
<references id="_normative_references" obligation="informative"><title>Normative References</title>
|
data/spec/isodoc/xref_spec.rb
CHANGED
@@ -986,12 +986,12 @@ RSpec.describe IsoDoc do
|
|
986
986
|
</subsection>
|
987
987
|
</annex><references id="R" obligation="informative">
|
988
988
|
<title>Normative References</title>
|
989
|
-
</references><
|
989
|
+
</references><clause id="S" obligation="informative">
|
990
990
|
<title>Bibliography</title>
|
991
991
|
<references id="T" obligation="informative">
|
992
992
|
<title>Bibliography Subsection</title>
|
993
993
|
</references>
|
994
|
-
</
|
994
|
+
</clause>
|
995
995
|
</iso-standard>
|
996
996
|
INPUT
|
997
997
|
<html xmlns:epub="http://www.idpf.org/2007/ops">
|
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.5.
|
4
|
+
version: 0.5.8
|
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-03-
|
11
|
+
date: 2018-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: asciimath
|