metanorma-ieee 0.1.1 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/isodoc/ieee/html/htmlstyle.css +6 -0
- data/lib/isodoc/ieee/html/wordstyle.css +17 -1
- data/lib/isodoc/ieee/html/wordstyle.scss +17 -1
- data/lib/isodoc/ieee/i18n-en.yaml +1 -1
- data/lib/isodoc/ieee/ieee.amendment.xsl +331 -71
- data/lib/isodoc/ieee/ieee.standard.xsl +331 -71
- data/lib/isodoc/ieee/init.rb +1 -1
- data/lib/isodoc/ieee/presentation_ref.rb +2 -0
- data/lib/isodoc/ieee/presentation_terms.rb +15 -17
- data/lib/isodoc/ieee/presentation_xml_convert.rb +1 -1
- data/lib/isodoc/ieee/word_cleanup.rb +8 -0
- data/lib/isodoc/ieee/xref.rb +9 -13
- data/lib/metanorma/ieee/biblio.rng +5 -0
- data/lib/metanorma/ieee/boilerplate.xml +39 -39
- data/lib/metanorma/ieee/cleanup.rb +9 -5
- data/lib/metanorma/ieee/converter.rb +2 -2
- data/lib/metanorma/ieee/ieee.rng +16 -0
- data/lib/metanorma/ieee/isodoc.rng +47 -13
- data/lib/metanorma/ieee/term_lookup_cleanup.rb +3 -2
- data/lib/metanorma/ieee/validate.rb +1 -1
- data/lib/metanorma/ieee/validate_style.rb +9 -11
- data/lib/metanorma/ieee/version.rb +1 -1
- data/lib/relaton/render/config.yml +1 -1
- data/metanorma-ieee.gemspec +3 -2
- metadata +4 -11
- data/.github/workflows/automerge.yml +0 -31
- data/.github/workflows/rake.yml +0 -15
- data/.github/workflows/release.yml +0 -24
- data/Rakefile +0 -8
- data/bin/console +0 -14
- data/bin/rspec +0 -17
- data/bin/setup +0 -8
data/lib/isodoc/ieee/init.rb
CHANGED
@@ -12,7 +12,7 @@ module IsoDoc
|
|
12
12
|
|
13
13
|
def xref_init(lang, script, _klass, i18n, options)
|
14
14
|
html = HtmlConvert.new(language: lang, script: script)
|
15
|
-
options = options.merge(
|
15
|
+
options = options.merge(hierarchicalassets: @hierarchical_assets)
|
16
16
|
@xrefs = Xref.new(lang, script, html, i18n, options)
|
17
17
|
end
|
18
18
|
|
@@ -1,5 +1,3 @@
|
|
1
|
-
require_relative "../../relaton/render/general"
|
2
|
-
|
3
1
|
module IsoDoc
|
4
2
|
module IEEE
|
5
3
|
class PresentationXMLConvert < IsoDoc::PresentationXMLConvert
|
@@ -28,9 +26,7 @@ module IsoDoc
|
|
28
26
|
if coll.all? do |c|
|
29
27
|
c.elements.size == 1 && c.elements.first.name == "p"
|
30
28
|
end
|
31
|
-
ret = coll.map
|
32
|
-
c.elements.first.children.to_xml
|
33
|
-
end
|
29
|
+
ret = coll.map { |c| c.elements.first.children.to_xml }
|
34
30
|
return "<p>#{ret.join}</p>"
|
35
31
|
end
|
36
32
|
coll.map { |c| c.children.to_xml }.join
|
@@ -42,7 +38,7 @@ module IsoDoc
|
|
42
38
|
|
43
39
|
p = v.xpath(ns("./p"))
|
44
40
|
v.children =
|
45
|
-
"<p>#{p.map(&:children).map(&:to_xml).join("\n")}</p>"\
|
41
|
+
"<p>#{p.map(&:children).map(&:to_xml).join("\n")}</p>" \
|
46
42
|
"#{v.xpath(ns('./termsource')).to_xml}"
|
47
43
|
end
|
48
44
|
super
|
@@ -61,9 +57,9 @@ module IsoDoc
|
|
61
57
|
prev = 0
|
62
58
|
coll[1..-1].each_with_index do |r, i|
|
63
59
|
if coll[prev]["type"] != r["type"]
|
64
|
-
prev = i
|
65
|
-
next
|
60
|
+
prev = i and next
|
66
61
|
end
|
62
|
+
|
67
63
|
coll[prev].at(ns("./preferred")) << "; #{r.at(ns('./preferred'))
|
68
64
|
.children.to_xml}"
|
69
65
|
r.remove
|
@@ -71,17 +67,20 @@ module IsoDoc
|
|
71
67
|
end
|
72
68
|
|
73
69
|
def sort_terms_key(term)
|
74
|
-
d = term.at(ns("./preferred/expression/name | "\
|
75
|
-
"./preferred/letter-symbol/name | "\
|
76
|
-
"./preferred/graphical-symbol/figure/name | "\
|
77
|
-
"./preferred/graphical-symbol/figure/@id | "\
|
70
|
+
d = term.at(ns("./preferred/expression/name | " \
|
71
|
+
"./preferred/letter-symbol/name | " \
|
72
|
+
"./preferred/graphical-symbol/figure/name | " \
|
73
|
+
"./preferred/graphical-symbol/figure/@id | " \
|
78
74
|
"./preferred"))
|
79
75
|
f = term.at(ns("./field-of-application")) || term.at(ns("./domain"))
|
80
76
|
HTMLEntities.new.decode("#{sort_terms_key1(d)} :: #{sort_terms_key1(f)}")
|
81
77
|
end
|
82
78
|
|
83
79
|
def sort_terms_key1(elem)
|
84
|
-
elem
|
80
|
+
elem.nil? and return "zzzz"
|
81
|
+
dup = elem.dup
|
82
|
+
dup.xpath(ns(".//asciimath | .//latexmath")).each(&:remove)
|
83
|
+
dup.text&.strip&.downcase || "zzzz"
|
85
84
|
end
|
86
85
|
|
87
86
|
def term_related_reorder(coll)
|
@@ -173,7 +172,7 @@ module IsoDoc
|
|
173
172
|
def collapse_term_related(rels)
|
174
173
|
ret = rels.map do |r|
|
175
174
|
p = r.at(ns("./preferred"))
|
176
|
-
"<em>#{@i18n.relatedterms[r['type']]}:</em> "\
|
175
|
+
"<em>#{@i18n.relatedterms[r['type']]}:</em> " \
|
177
176
|
"#{p&.children&.to_xml || '**RELATED TERM NOT FOUND**'}"
|
178
177
|
end.join(". ")
|
179
178
|
ret += "." unless ret.empty?
|
@@ -186,8 +185,7 @@ module IsoDoc
|
|
186
185
|
opt[:source] and src = "(#{opt[:source].remove.children.to_xml.strip})"
|
187
186
|
<<~TERM
|
188
187
|
<p>#{opt[:pref]&.children&.to_xml || '**TERM NOT FOUND**'}: #{defn}
|
189
|
-
#{collapse_term_related(opt[:rels])}
|
190
|
-
#{src}</p>
|
188
|
+
#{collapse_term_related(opt[:rels])} #{src}</p>
|
191
189
|
TERM
|
192
190
|
end
|
193
191
|
|
@@ -229,7 +227,7 @@ module IsoDoc
|
|
229
227
|
def merge_second_preferred(term)
|
230
228
|
pref =
|
231
229
|
term.at(ns("./preferred[not(abbreviation-type)]/expression/name"))
|
232
|
-
x = term.xpath(ns("./preferred[expression/name][abbreviation-type] | "\
|
230
|
+
x = term.xpath(ns("./preferred[expression/name][abbreviation-type] | " \
|
233
231
|
"./admitted[expression/name][abbreviation-type]"))
|
234
232
|
(pref && !x.empty?) or return
|
235
233
|
tail = x.map do |p|
|
@@ -107,6 +107,14 @@ module IsoDoc
|
|
107
107
|
FigureTitle: "IEEEStdsRegularFigureCaption",
|
108
108
|
}.freeze
|
109
109
|
|
110
|
+
def table_toc_class
|
111
|
+
%w(IEEEStdsRegularTableCaption TableTitle tabletitle)
|
112
|
+
end
|
113
|
+
|
114
|
+
def figure_toc_class
|
115
|
+
%w(IEEEStdsRegularFigureCaption FigureTitle figuretitle)
|
116
|
+
end
|
117
|
+
|
110
118
|
def style_cleanup(docxml)
|
111
119
|
note_style_cleanup(docxml)
|
112
120
|
docxml.xpath("//div[@class = 'formula']/p").each do |p|
|
data/lib/isodoc/ieee/xref.rb
CHANGED
@@ -8,7 +8,7 @@ module IsoDoc
|
|
8
8
|
class Xref < ::IsoDoc::Xref
|
9
9
|
def initialize(lang, script, klass, labels, options)
|
10
10
|
super
|
11
|
-
@hierarchical_assets = options[:
|
11
|
+
@hierarchical_assets = options[:hierarchicalassets]
|
12
12
|
end
|
13
13
|
|
14
14
|
def initial_anchor_names(doc)
|
@@ -29,7 +29,7 @@ module IsoDoc
|
|
29
29
|
n = Counter.new
|
30
30
|
n = section_names(doc.at(ns("//clause[@type = 'overview']")), n, 1)
|
31
31
|
n = section_names(doc.at(ns(@klass.norm_ref_xpath)), n, 1)
|
32
|
-
n = section_names(doc.at(ns("//sections/terms | "\
|
32
|
+
n = section_names(doc.at(ns("//sections/terms | " \
|
33
33
|
"//sections/clause[descendant::terms]")), n, 1)
|
34
34
|
n = section_names(doc.at(ns("//sections/definitions")), n, 1)
|
35
35
|
clause_names(doc, n)
|
@@ -37,14 +37,14 @@ module IsoDoc
|
|
37
37
|
end
|
38
38
|
|
39
39
|
def middle_sections
|
40
|
-
" #{@klass.norm_ref_xpath} | "\
|
41
|
-
"//sections/terms | //preface/clause | "\
|
40
|
+
" #{@klass.norm_ref_xpath} | " \
|
41
|
+
"//sections/terms | //preface/clause | " \
|
42
42
|
"//sections/definitions | //clause[parent::sections]"
|
43
43
|
end
|
44
44
|
|
45
45
|
def middle_section_asset_names(doc)
|
46
46
|
middle_sections =
|
47
|
-
"#{@klass.norm_ref_xpath} | //sections/terms | "\
|
47
|
+
"#{@klass.norm_ref_xpath} | //sections/terms | " \
|
48
48
|
"//sections/definitions | //clause[parent::sections]"
|
49
49
|
if @hierarchical_assets
|
50
50
|
doc.xpath(ns(middle_sections)).each do |c|
|
@@ -57,9 +57,7 @@ module IsoDoc
|
|
57
57
|
|
58
58
|
def sequential_formula_names(clause)
|
59
59
|
c = Counter.new
|
60
|
-
clause.xpath(ns(".//formula")).
|
61
|
-
blank?(n["id"])
|
62
|
-
end.each do |t|
|
60
|
+
clause.xpath(ns(".//formula")).noblank.each do |t|
|
63
61
|
@anchors[t["id"]] = anchor_struct(
|
64
62
|
c.increment(t).print, nil,
|
65
63
|
t["inequality"] ? @labels["inequality"] : @labels["formula"],
|
@@ -71,14 +69,12 @@ module IsoDoc
|
|
71
69
|
def termnote_anchor_names(docxml)
|
72
70
|
docxml.xpath(ns("//*[termnote]")).each do |t|
|
73
71
|
c = Counter.new
|
74
|
-
sequence = UUIDTools::UUID.random_create.to_s
|
75
72
|
notes = t.xpath(ns("./termnote"))
|
76
|
-
notes.
|
73
|
+
notes.noblank.each do |n|
|
77
74
|
@anchors[n["id"]] =
|
78
75
|
anchor_struct("#{@labels['termnote']} #{increment_label(notes, n, c)}",
|
79
|
-
n,
|
80
|
-
|
81
|
-
.merge(sequence: sequence)
|
76
|
+
n, @labels["note_xref"], "termnote", false)
|
77
|
+
.merge(sequence: UUIDTools::UUID.random_create.to_s)
|
82
78
|
end
|
83
79
|
end
|
84
80
|
end
|
@@ -188,6 +188,11 @@
|
|
188
188
|
<value>adapter</value>
|
189
189
|
<value>translator</value>
|
190
190
|
<value>distributor</value>
|
191
|
+
<value>realizer</value>
|
192
|
+
<value>owner</value>
|
193
|
+
<value>authorizer</value>
|
194
|
+
<value>enabler</value>
|
195
|
+
<value>subject</value>
|
191
196
|
</choice>
|
192
197
|
</attribute>
|
193
198
|
<zeroOrMore>
|
@@ -115,10 +115,10 @@
|
|
115
115
|
an IEEE standard is welcome to join the relevant IEEE working group. You can
|
116
116
|
indicate interest in a working group using the Interests tab in the Manage
|
117
117
|
Profile & Interests area of the <link target="https://development.standards.ieee.org/myproject-web/public/view.html#landing">IEEE
|
118
|
-
SA myProject system</link>.<fn><p>Available at: <link target="https://development.standards.ieee.org/myproject-web/public/view.html#landing"/>.</p></fn>
|
118
|
+
SA myProject system</link>.<fn reference="_boilerplate_1"><p>Available at: <link target="https://development.standards.ieee.org/myproject-web/public/view.html#landing"/>.</p></fn>
|
119
119
|
An IEEE Account is needed to access the application.</p>
|
120
120
|
|
121
|
-
<p>Comments on standards should be submitted using the <link target="https://standards.ieee.org/content/ieee-standards/en/about/contact/index.html">Contact Us</link> form.<fn><p>Available at: <link target="https://standards.ieee.org/content/ieee-standards/en/about/contact/index.html"/>.</p></fn></p>
|
121
|
+
<p>Comments on standards should be submitted using the <link target="https://standards.ieee.org/content/ieee-standards/en/about/contact/index.html">Contact Us</link> form.<fn reference="_boilerplate_2"><p>Available at: <link target="https://standards.ieee.org/content/ieee-standards/en/about/contact/index.html"/>.</p></fn></p>
|
122
122
|
</clause>
|
123
123
|
|
124
124
|
<clause><title>Laws and regulations</title>
|
@@ -187,7 +187,7 @@
|
|
187
187
|
order to determine whether a given document is the current edition and whether
|
188
188
|
it has been amended through the issuance of amendments, corrigenda, or errata,
|
189
189
|
visit <link target="https://ieeexplore.ieee.org/browse/standards/collection/ieee/">IEEE
|
190
|
-
Xplore</link> or <link target="https://standards.ieee.org/content/ieee-standards/en/about/contact/index.html">contact IEEE</link>.<fn><p>Available at <link target="https://ieeexplore.ieee.org/browse/standards/collection/ieee"/>.</p></fn>
|
190
|
+
Xplore</link> or <link target="https://standards.ieee.org/content/ieee-standards/en/about/contact/index.html">contact IEEE</link>.<fn reference="_boilerplate_3"><p>Available at <link target="https://ieeexplore.ieee.org/browse/standards/collection/ieee"/>.</p></fn>
|
191
191
|
For more information about the IEEE SA or IEEE’s standards development process,
|
192
192
|
visit the IEEE SA Website.</p>
|
193
193
|
</clause>
|
@@ -195,12 +195,12 @@
|
|
195
195
|
<clause>
|
196
196
|
<title>Errata</title>
|
197
197
|
|
198
|
-
<p>Errata, if any, for all IEEE standards can be accessed on the <link target="https://standards.ieee.org/standard/index.html">IEEE SA Website</link>.<fn><p>Available at: <link target="https://standards.ieee.org/standard/index.html"/>.</p></fn> Search for standard number and year of approval to access the web page of the published standard. Errata links are located under the Additional Resources Details section. Errata are also available in <link target="https://ieeexplore.ieee.org/browse/standards/collection/ieee/">IEEE Xplore</link>. Users are encouraged to periodically check for errata.</p>
|
198
|
+
<p>Errata, if any, for all IEEE standards can be accessed on the <link target="https://standards.ieee.org/standard/index.html">IEEE SA Website</link>.<fn reference="_boilerplate_4"><p>Available at: <link target="https://standards.ieee.org/standard/index.html"/>.</p></fn> Search for standard number and year of approval to access the web page of the published standard. Errata links are located under the Additional Resources Details section. Errata are also available in <link target="https://ieeexplore.ieee.org/browse/standards/collection/ieee/">IEEE Xplore</link>. Users are encouraged to periodically check for errata.</p>
|
199
199
|
</clause>
|
200
200
|
|
201
201
|
<clause><title>Patents</title>
|
202
202
|
|
203
|
-
<p>IEEE Standards are developed in compliance with the <link target="https://standards.ieee.org/about/sasb/patcom/materials.html">IEEE SA Patent Policy</link>.<fn><p>Available at: <link target="https://standards.ieee.org/about/sasb/patcom/materials.html"/>.</p></fn></p>
|
203
|
+
<p>IEEE Standards are developed in compliance with the <link target="https://standards.ieee.org/about/sasb/patcom/materials.html">IEEE SA Patent Policy</link>.<fn reference="_boilerplate_5"><p>Available at: <link target="https://standards.ieee.org/about/sasb/patcom/materials.html"/>.</p></fn></p>
|
204
204
|
<p>Attention is called to
|
205
205
|
the possibility that implementation of this standard may require use of subject
|
206
206
|
matter covered by patent rights. By publication of this standard, no position
|
@@ -247,17 +247,17 @@
|
|
247
247
|
<p>At the time this draft {{ doctype }} was completed, the {{ working_group }} Working Group had the following membership:</p>
|
248
248
|
<membership>
|
249
249
|
<ul>
|
250
|
-
<li><dl><dt>name</dt><dd><Chair Name></dd><dt>role</dt><dd>Chair</dd></dl></li>
|
251
|
-
<li><dl><dt>name</dt><dd><Vice-chair Name></dd><dt>role</dt><dd>Vice Chair</dd></dl></li>
|
252
|
-
<li><dl><dt>name</dt><dd>Participant1</dd><dt>role</dt><dd>Member</dd></dl></li>
|
253
|
-
<li><dl><dt>name</dt><dd>Participant2</dd><dt>role</dt><dd>Member</dd></dl></li>
|
254
|
-
<li><dl><dt>name</dt><dd>Participant3</dd><dt>role</dt><dd>Member</dd></dl></li>
|
255
|
-
<li><dl><dt>name</dt><dd>Participant4</dd><dt>role</dt><dd>Member</dd></dl></li>
|
256
|
-
<li><dl><dt>name</dt><dd>Participant5</dd><dt>role</dt><dd>Member</dd></dl></li>
|
257
|
-
<li><dl><dt>name</dt><dd>Participant6</dd><dt>role</dt><dd>Member</dd></dl></li>
|
258
|
-
<li><dl><dt>name</dt><dd>Participant7</dd><dt>role</dt><dd>Member</dd></dl></li>
|
259
|
-
<li><dl><dt>name</dt><dd>Participant8</dd><dt>role</dt><dd>Member</dd></dl></li>
|
260
|
-
<li><dl><dt>name</dt><dd>Participant9</dd><dt>role</dt><dd>Member</dd></dl></li>
|
250
|
+
<li><dl><dt>name</dt><dd><p><Chair Name></p></dd><dt>role</dt><dd><p>Chair</p></dd></dl></li>
|
251
|
+
<li><dl><dt>name</dt><dd><p><Vice-chair Name></p></dd><dt>role</dt><dd><p>Vice Chair</p></dd></dl></li>
|
252
|
+
<li><dl><dt>name</dt><dd><p>Participant1</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
253
|
+
<li><dl><dt>name</dt><dd><p>Participant2</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
254
|
+
<li><dl><dt>name</dt><dd><p>Participant3</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
255
|
+
<li><dl><dt>name</dt><dd><p>Participant4</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
256
|
+
<li><dl><dt>name</dt><dd><p>Participant5</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
257
|
+
<li><dl><dt>name</dt><dd><p>Participant6</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
258
|
+
<li><dl><dt>name</dt><dd><p>Participant7</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
259
|
+
<li><dl><dt>name</dt><dd><p>Participant8</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
260
|
+
<li><dl><dt>name</dt><dd><p>Participant9</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
261
261
|
</ul>
|
262
262
|
</membership>
|
263
263
|
</clause>
|
@@ -265,15 +265,15 @@
|
|
265
265
|
<p>The following members of the {{ balloting_group_type }} {{ balloting_group }} Standards Association balloting group voted on this {{ doctype }}. Balloters may have voted for approval, disapproval, or abstention.</p>
|
266
266
|
<membership>
|
267
267
|
<ul>
|
268
|
-
<li><dl><dt>name</dt><dd>Balloter1</dd><dt>role</dt><dd>Member</dd></dl></li>
|
269
|
-
<li><dl><dt>name</dt><dd>Balloter2</dd><dt>role</dt><dd>Member</dd></dl></li>
|
270
|
-
<li><dl><dt>name</dt><dd>Balloter3</dd><dt>role</dt><dd>Member</dd></dl></li>
|
271
|
-
<li><dl><dt>name</dt><dd>Balloter4</dd><dt>role</dt><dd>Member</dd></dl></li>
|
272
|
-
<li><dl><dt>name</dt><dd>Balloter5</dd><dt>role</dt><dd>Member</dd></dl></li>
|
273
|
-
<li><dl><dt>name</dt><dd>Balloter6</dd><dt>role</dt><dd>Member</dd></dl></li>
|
274
|
-
<li><dl><dt>name</dt><dd>Balloter7</dd><dt>role</dt><dd>Member</dd></dl></li>
|
275
|
-
<li><dl><dt>name</dt><dd>Balloter8</dd><dt>role</dt><dd>Member</dd></dl></li>
|
276
|
-
<li><dl><dt>name</dt><dd>Balloter9</dd><dt>role</dt><dd>Member</dd></dl></li>
|
268
|
+
<li><dl><dt>name</dt><dd><p>Balloter1</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
269
|
+
<li><dl><dt>name</dt><dd><p>Balloter2</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
270
|
+
<li><dl><dt>name</dt><dd><p>Balloter3</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
271
|
+
<li><dl><dt>name</dt><dd><p>Balloter4</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
272
|
+
<li><dl><dt>name</dt><dd><p>Balloter5</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
273
|
+
<li><dl><dt>name</dt><dd><p>Balloter6</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
274
|
+
<li><dl><dt>name</dt><dd><p>Balloter7</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
275
|
+
<li><dl><dt>name</dt><dd><p>Balloter8</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
276
|
+
<li><dl><dt>name</dt><dd><p>Balloter9</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
277
277
|
</ul>
|
278
278
|
</membership>
|
279
279
|
</clause>
|
@@ -281,19 +281,19 @@
|
|
281
281
|
<p>When the IEEE SA Standards Board approved this {{ doctype }} on {{ issueddate }}, it had the following membership:</p>
|
282
282
|
<membership>
|
283
283
|
<ul>
|
284
|
-
<li><dl><dt>name</dt><dd><Name></dd><dt>role</dt><dd>Chair</dd></dl></li>
|
285
|
-
<li><dl><dt>name</dt><dd><Name></dd><dt>role</dt><dd>Vice Chair</dd></dl></li>
|
286
|
-
<li><dl><dt>name</dt><dd><Name></dd><dt>role</dt><dd>Past Chair</dd></dl></li>
|
287
|
-
<li><dl><dt>name</dt><dd><Name></dd><dt>role</dt><dd>Secretary</dd></dl></li>
|
288
|
-
<li><dl><dt>name</dt><dd>SBMember1</dd><dt>role</dt><dd>Member</dd></dl></li>
|
289
|
-
<li><dl><dt>name</dt><dd>SBMember2</dd><dt>role</dt><dd>Member</dd></dl></li>
|
290
|
-
<li><dl><dt>name</dt><dd>SBMember3</dd><dt>role</dt><dd>Member</dd></dl></li>
|
291
|
-
<li><dl><dt>name</dt><dd>SBMember4</dd><dt>role</dt><dd>Member</dd></dl></li>
|
292
|
-
<li><dl><dt>name</dt><dd>SBMember5</dd><dt>role</dt><dd>Member</dd></dl></li>
|
293
|
-
<li><dl><dt>name</dt><dd>SBMember6</dd><dt>role</dt><dd>Member</dd></dl></li>
|
294
|
-
<li><dl><dt>name</dt><dd>SBMember7</dd><dt>role</dt><dd>Member</dd></dl></li>
|
295
|
-
<li><dl><dt>name</dt><dd>SBMember8</dd><dt>role</dt><dd>Member</dd></dl></li>
|
296
|
-
<li><dl><dt>name</dt><dd>SBMember9</dd><dt>role</dt><dd>Member</dd></dl></li>
|
284
|
+
<li><dl><dt>name</dt><dd><p><Name></p></dd><dt>role</dt><dd><p>Chair</p></dd></dl></li>
|
285
|
+
<li><dl><dt>name</dt><dd><p><Name></p></dd><dt>role</dt><dd><p>Vice Chair</p></dd></dl></li>
|
286
|
+
<li><dl><dt>name</dt><dd><p><Name></p></dd><dt>role</dt><dd><p>Past Chair</p></dd></dl></li>
|
287
|
+
<li><dl><dt>name</dt><dd><p><Name></p></dd><dt>role</dt><dd><p>Secretary</p></dd></dl></li>
|
288
|
+
<li><dl><dt>name</dt><dd><p>SBMember1</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
289
|
+
<li><dl><dt>name</dt><dd><p>SBMember2</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
290
|
+
<li><dl><dt>name</dt><dd><p>SBMember3</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
291
|
+
<li><dl><dt>name</dt><dd><p>SBMember4</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
292
|
+
<li><dl><dt>name</dt><dd><p>SBMember5</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
293
|
+
<li><dl><dt>name</dt><dd><p>SBMember6</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
294
|
+
<li><dl><dt>name</dt><dd><p>SBMember7</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
295
|
+
<li><dl><dt>name</dt><dd><p>SBMember8</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
296
|
+
<li><dl><dt>name</dt><dd><p>SBMember9</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
|
297
297
|
</ul>
|
298
298
|
</membership>
|
299
299
|
<p type="emeritus_sign">*Member Emeritus</p>
|
@@ -337,7 +337,7 @@
|
|
337
337
|
{% else %}
|
338
338
|
<clause id="boilerplate_word_usage">
|
339
339
|
<title>Word usage</title>
|
340
|
-
<p>The word <em>shall</em> indicates mandatory requirements strictly to be followed in order to conform to the standard and from which no deviation is permitted (<em>shall</em> equals <em>is required to</em>).<fn><p>The use of the word <em>must</em> is deprecated and cannot be used when stating mandatory requirements; <em>must</em> is used only to describe unavoidable situations.</p></fn><fn><p>The use of <em>will</em> is deprecated and cannot be used when stating mandatory requirements; <em>will</em> is only used in statements of fact.</p></fn></p>
|
340
|
+
<p>The word <em>shall</em> indicates mandatory requirements strictly to be followed in order to conform to the standard and from which no deviation is permitted (<em>shall</em> equals <em>is required to</em>).<fn reference="_boilerplate_6"><p>The use of the word <em>must</em> is deprecated and cannot be used when stating mandatory requirements; <em>must</em> is used only to describe unavoidable situations.</p></fn><fn reference="_boilerplate_7"><p>The use of <em>will</em> is deprecated and cannot be used when stating mandatory requirements; <em>will</em> is only used in statements of fact.</p></fn></p>
|
341
341
|
<p>The word <em>should</em> indicates that among several possibilities one is recommended as particularly suitable, without mentioning or excluding others; or that a certain course of action is preferred but not necessarily required (<em>should</em> equals <em>is recommended that</em>).</p>
|
342
342
|
<p>The word <em>may</em> is used to indicate a course of action permissible within the limits of the standard (<em>may</em> equals <em>is permitted to</em>).</p>
|
343
343
|
<p>The word <em>can</em> is used for statements of possibility and capability, whether material, physical, or causal (<em>can</em> equals <em>is able to</em>).</p>
|
@@ -89,7 +89,8 @@ module Metanorma
|
|
89
89
|
"//annex//note[not(@type = 'boilerplate')]") or
|
90
90
|
return
|
91
91
|
ins = n.at("./p[last()]")
|
92
|
-
ins << "<fn
|
92
|
+
ins << "<fn reference='_boilerplate_cleanup1'>" \
|
93
|
+
"<p>#{@i18n.note_inform_fn}</p></fn>"
|
93
94
|
end
|
94
95
|
|
95
96
|
def table_footnote_renumber1(fnote, idx, seen)
|
@@ -169,6 +170,7 @@ module Metanorma
|
|
169
170
|
ul.xpath("./li").each { |li| populate_participants2(li) }
|
170
171
|
ul.xpath(".//p[normalize-space() = '']").each(&:remove)
|
171
172
|
end
|
173
|
+
clause.at("./title")&.remove
|
172
174
|
clause.children.to_xml
|
173
175
|
end
|
174
176
|
|
@@ -183,14 +185,16 @@ module Metanorma
|
|
183
185
|
end
|
184
186
|
|
185
187
|
def populate_participants2(list)
|
186
|
-
|
188
|
+
curr = list
|
189
|
+
p = curr.at("./p") and curr = p
|
190
|
+
if dl = curr.at("./dl")
|
187
191
|
ret = extract_participants(dl)
|
188
192
|
dl.children = ret.keys.map do |k|
|
189
|
-
"<dt>#{k}</dt><dd>#{ret[k]}</dd>"
|
193
|
+
"<dt>#{k}</dt><dd><p>#{ret[k]}</p></dd>"
|
190
194
|
end.join
|
191
195
|
else
|
192
|
-
list.children = "<dl><dt>name</dt><dd>#{
|
193
|
-
"
|
196
|
+
list.children = "<dl><dt>name</dt><dd><p>#{curr.children.to_xml}" \
|
197
|
+
"</p></dd><dt>role</dt><dd><p>member</p></dd></dl>"
|
194
198
|
end
|
195
199
|
end
|
196
200
|
|
@@ -62,13 +62,13 @@ module Metanorma
|
|
62
62
|
end
|
63
63
|
|
64
64
|
def html_extract_attributes(node)
|
65
|
-
super.merge(
|
65
|
+
super.merge(hierarchicalassets:
|
66
66
|
node.attr("hierarchical-object-numbering"),
|
67
67
|
ieeedtd: node.attr("ieee-dtd"))
|
68
68
|
end
|
69
69
|
|
70
70
|
def doc_extract_attributes(node)
|
71
|
-
super.merge(
|
71
|
+
super.merge(hierarchicalassets:
|
72
72
|
node.attr("hierarchical-object-numbering"),
|
73
73
|
ulstyle: "l11", olstyle: "l16")
|
74
74
|
end
|
data/lib/metanorma/ieee/ieee.rng
CHANGED
@@ -10,6 +10,22 @@
|
|
10
10
|
<start>
|
11
11
|
<ref name="ieee-standard"/>
|
12
12
|
</start>
|
13
|
+
<define name="sections">
|
14
|
+
<element name="sections">
|
15
|
+
<optional>
|
16
|
+
<ref name="note"/>
|
17
|
+
</optional>
|
18
|
+
<oneOrMore>
|
19
|
+
<choice>
|
20
|
+
<ref name="clause"/>
|
21
|
+
<ref name="terms"/>
|
22
|
+
<ref name="term-clause"/>
|
23
|
+
<ref name="definitions"/>
|
24
|
+
<ref name="floating-title"/>
|
25
|
+
</choice>
|
26
|
+
</oneOrMore>
|
27
|
+
</element>
|
28
|
+
</define>
|
13
29
|
</include>
|
14
30
|
<define name="ieee-standard">
|
15
31
|
<element name="ieee-standard">
|
@@ -177,11 +177,7 @@
|
|
177
177
|
</optional>
|
178
178
|
<optional>
|
179
179
|
<attribute name="style">
|
180
|
-
<
|
181
|
-
<value>basic</value>
|
182
|
-
<value>full</value>
|
183
|
-
<value>short</value>
|
184
|
-
</choice>
|
180
|
+
<ref name="XrefStyleType"/>
|
185
181
|
</attribute>
|
186
182
|
</optional>
|
187
183
|
<ref name="XrefBody"/>
|
@@ -1031,6 +1027,7 @@
|
|
1031
1027
|
<ref name="stem"/>
|
1032
1028
|
<ref name="index"/>
|
1033
1029
|
<ref name="eref"/>
|
1030
|
+
<ref name="erefstack"/>
|
1034
1031
|
<ref name="xref"/>
|
1035
1032
|
<ref name="hyperlink"/>
|
1036
1033
|
</choice>
|
@@ -1045,6 +1042,7 @@
|
|
1045
1042
|
<ref name="stem"/>
|
1046
1043
|
<ref name="index"/>
|
1047
1044
|
<ref name="eref"/>
|
1045
|
+
<ref name="erefstack"/>
|
1048
1046
|
<ref name="xref"/>
|
1049
1047
|
<ref name="hyperlink"/>
|
1050
1048
|
</choice>
|
@@ -1058,6 +1056,7 @@
|
|
1058
1056
|
<ref name="PureTextElement"/>
|
1059
1057
|
<ref name="index"/>
|
1060
1058
|
<ref name="eref"/>
|
1059
|
+
<ref name="erefstack"/>
|
1061
1060
|
<ref name="xref"/>
|
1062
1061
|
<ref name="hyperlink"/>
|
1063
1062
|
</choice>
|
@@ -1153,7 +1152,7 @@
|
|
1153
1152
|
<data type="boolean"/>
|
1154
1153
|
</attribute>
|
1155
1154
|
</optional>
|
1156
|
-
<ref name="
|
1155
|
+
<ref name="ReducedBibliographicItem"/>
|
1157
1156
|
</element>
|
1158
1157
|
</define>
|
1159
1158
|
<define name="image" combine="choice">
|
@@ -1195,6 +1194,7 @@
|
|
1195
1194
|
<ref name="add"/>
|
1196
1195
|
<ref name="del"/>
|
1197
1196
|
<ref name="span"/>
|
1197
|
+
<ref name="erefstack"/>
|
1198
1198
|
</choice>
|
1199
1199
|
</define>
|
1200
1200
|
<define name="add">
|
@@ -1202,6 +1202,7 @@
|
|
1202
1202
|
<choice>
|
1203
1203
|
<ref name="PureTextElement"/>
|
1204
1204
|
<ref name="eref"/>
|
1205
|
+
<ref name="erefstack"/>
|
1205
1206
|
<ref name="stem"/>
|
1206
1207
|
<ref name="keyword"/>
|
1207
1208
|
<ref name="xref"/>
|
@@ -1214,6 +1215,7 @@
|
|
1214
1215
|
<choice>
|
1215
1216
|
<ref name="PureTextElement"/>
|
1216
1217
|
<ref name="eref"/>
|
1218
|
+
<ref name="erefstack"/>
|
1217
1219
|
<ref name="stem"/>
|
1218
1220
|
<ref name="keyword"/>
|
1219
1221
|
<ref name="xref"/>
|
@@ -1278,6 +1280,7 @@
|
|
1278
1280
|
</optional>
|
1279
1281
|
<choice>
|
1280
1282
|
<ref name="eref"/>
|
1283
|
+
<ref name="erefstack"/>
|
1281
1284
|
<ref name="xref"/>
|
1282
1285
|
<ref name="termref"/>
|
1283
1286
|
</choice>
|
@@ -1970,6 +1973,7 @@
|
|
1970
1973
|
</element>
|
1971
1974
|
<choice>
|
1972
1975
|
<ref name="eref"/>
|
1976
|
+
<ref name="erefstack"/>
|
1973
1977
|
<ref name="xref"/>
|
1974
1978
|
<ref name="termref"/>
|
1975
1979
|
</choice>
|
@@ -2525,6 +2529,7 @@
|
|
2525
2529
|
<ref name="xref"/>
|
2526
2530
|
<ref name="hyperlink"/>
|
2527
2531
|
<ref name="eref"/>
|
2532
|
+
<ref name="erefstack"/>
|
2528
2533
|
</choice>
|
2529
2534
|
<oneOrMore>
|
2530
2535
|
<element name="coords">
|
@@ -2572,6 +2577,7 @@
|
|
2572
2577
|
<ref name="xref"/>
|
2573
2578
|
<ref name="hyperlink"/>
|
2574
2579
|
<ref name="eref"/>
|
2580
|
+
<ref name="erefstack"/>
|
2575
2581
|
</choice>
|
2576
2582
|
</element>
|
2577
2583
|
</zeroOrMore>
|
@@ -2620,6 +2626,15 @@
|
|
2620
2626
|
<ref name="PureTextElement"/>
|
2621
2627
|
</oneOrMore>
|
2622
2628
|
</define>
|
2629
|
+
<define name="XrefConnectiveType">
|
2630
|
+
<choice>
|
2631
|
+
<value>and</value>
|
2632
|
+
<value>or</value>
|
2633
|
+
<value>from</value>
|
2634
|
+
<value>to</value>
|
2635
|
+
<value/>
|
2636
|
+
</choice>
|
2637
|
+
</define>
|
2623
2638
|
<define name="XrefTarget">
|
2624
2639
|
<element name="location">
|
2625
2640
|
<attribute name="target">
|
@@ -2628,16 +2643,35 @@
|
|
2628
2643
|
</data>
|
2629
2644
|
</attribute>
|
2630
2645
|
<attribute name="connective">
|
2631
|
-
<
|
2632
|
-
<value>and</value>
|
2633
|
-
<value>or</value>
|
2634
|
-
<value>from</value>
|
2635
|
-
<value>to</value>
|
2636
|
-
<value/>
|
2637
|
-
</choice>
|
2646
|
+
<ref name="XrefConnectiveType"/>
|
2638
2647
|
</attribute>
|
2639
2648
|
</element>
|
2640
2649
|
</define>
|
2650
|
+
<define name="XrefStyleType">
|
2651
|
+
<choice>
|
2652
|
+
<value>basic</value>
|
2653
|
+
<value>full</value>
|
2654
|
+
<value>short</value>
|
2655
|
+
<value>id</value>
|
2656
|
+
</choice>
|
2657
|
+
</define>
|
2658
|
+
<define name="erefTypeWithConnective">
|
2659
|
+
<optional>
|
2660
|
+
<attribute name="connective">
|
2661
|
+
<ref name="XrefConnectiveType"/>
|
2662
|
+
</attribute>
|
2663
|
+
</optional>
|
2664
|
+
<ref name="erefType"/>
|
2665
|
+
</define>
|
2666
|
+
<define name="erefstack">
|
2667
|
+
<element name="erefstack">
|
2668
|
+
<oneOrMore>
|
2669
|
+
<element name="eref">
|
2670
|
+
<ref name="erefTypeWithConnective"/>
|
2671
|
+
</element>
|
2672
|
+
</oneOrMore>
|
2673
|
+
</element>
|
2674
|
+
</define>
|
2641
2675
|
<start>
|
2642
2676
|
<ref name="standard-document"/>
|
2643
2677
|
</start>
|
@@ -3,8 +3,9 @@ module Metanorma
|
|
3
3
|
class TermLookupCleanup < Metanorma::Standoc::TermLookupCleanup
|
4
4
|
def remove_missing_ref_term(node, _target)
|
5
5
|
node.at("../xrefrender")&.remove
|
6
|
-
node.replace("<preferred><expression><name>#{node.children.to_xml}"\
|
7
|
-
|
6
|
+
#node.replace("<preferred><expression><name>#{node.children.to_xml}"\
|
7
|
+
# "</name></expression></preferred>")
|
8
|
+
node.replace("<refterm>#{node.children.to_xml}</refterm>")
|
8
9
|
end
|
9
10
|
end
|
10
11
|
end
|
@@ -131,7 +131,7 @@ module Metanorma
|
|
131
131
|
klass = IsoDoc::IEEE::HtmlConvert.new(language: @lang, script: @script)
|
132
132
|
xrefs = IsoDoc::IEEE::Xref
|
133
133
|
.new(@lang, @script, klass, IsoDoc::IEEE::I18n.new(@lang, @script),
|
134
|
-
{
|
134
|
+
{ hierarchicalassets: @hierarchical_assets })
|
135
135
|
xrefs.parse(Nokogiri::XML(xmldoc.to_xml))
|
136
136
|
xrefs
|
137
137
|
end
|