isodoc 1.7.2 → 1.7.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,116 +1,119 @@
1
- module IsoDoc::Function
2
- module Table
3
- def table_title_parse(node, out)
4
- name = node.at(ns("./name")) or return
5
- out.p **{ class: "TableTitle", style: "text-align:center;" } do |p|
6
- name&.children&.each { |n| parse(n, p) }
1
+ module IsoDoc
2
+ module Function
3
+ module Table
4
+ def table_title_parse(node, out)
5
+ name = node.at(ns("./name")) or return
6
+ out.p **{ class: "TableTitle", style: "text-align:center;" } do |p|
7
+ name&.children&.each { |n| parse(n, p) }
8
+ end
7
9
  end
8
- end
9
10
 
10
- def thead_parse(node, table)
11
- thead = node.at(ns("./thead"))
12
- if thead
13
- table.thead do |h|
14
- thead.element_children.each_with_index do |n, i|
15
- tr_parse(n, h, i, thead.element_children.size, true)
11
+ def thead_parse(node, table)
12
+ thead = node.at(ns("./thead"))
13
+ if thead
14
+ table.thead do |h|
15
+ thead.element_children.each_with_index do |n, i|
16
+ tr_parse(n, h, i, thead.element_children.size, true)
17
+ end
16
18
  end
17
19
  end
18
20
  end
19
- end
20
21
 
21
- def tbody_parse(node, table)
22
- tbody = node.at(ns("./tbody")) || return
23
- table.tbody do |h|
24
- tbody.element_children.each_with_index do |n, i|
25
- tr_parse(n, h, i, tbody.element_children.size, false)
22
+ def tbody_parse(node, table)
23
+ tbody = node.at(ns("./tbody")) || return
24
+ table.tbody do |h|
25
+ tbody.element_children.each_with_index do |n, i|
26
+ tr_parse(n, h, i, tbody.element_children.size, false)
27
+ end
26
28
  end
27
29
  end
28
- end
29
30
 
30
- def tfoot_parse(node, table)
31
- tfoot = node.at(ns("./tfoot"))
32
- if tfoot
33
- table.tfoot do |h|
34
- tfoot.element_children.each_with_index do |n, i|
35
- tr_parse(n, h, i, tfoot.element_children.size, false)
31
+ def tfoot_parse(node, table)
32
+ tfoot = node.at(ns("./tfoot"))
33
+ if tfoot
34
+ table.tfoot do |h|
35
+ tfoot.element_children.each_with_index do |n, i|
36
+ tr_parse(n, h, i, tfoot.element_children.size, false)
37
+ end
36
38
  end
37
39
  end
38
40
  end
39
- end
40
41
 
41
- def table_attrs(node)
42
- width = node["width"] ? "width:#{node['width']};" : nil
43
- attr_code(
44
- id: node["id"],
45
- class: "MsoISOTable",
46
- style: "border-width:1px;border-spacing:0;#{width}#{keep_style(node)}",
47
- title: node["alt"],
48
- )
49
- end
42
+ def table_attrs(node)
43
+ width = node["width"] ? "width:#{node['width']};" : nil
44
+ attr_code(
45
+ id: node["id"],
46
+ class: "MsoISOTable",
47
+ style: "border-width:1px;border-spacing:0;"\
48
+ "#{width}#{keep_style(node)}",
49
+ title: node["alt"],
50
+ )
51
+ end
50
52
 
51
- def tcaption(node, table)
52
- return unless node["summary"]
53
+ def tcaption(node, table)
54
+ return unless node["summary"]
53
55
 
54
- table.caption do |c|
55
- c.span **{ style: "display:none" } do |s|
56
- s << node["summary"]
56
+ table.caption do |c|
57
+ c.span **{ style: "display:none" } do |s|
58
+ s << node["summary"]
59
+ end
57
60
  end
58
61
  end
59
- end
60
62
 
61
- def colgroup(node, table)
62
- colgroup = node.at(ns("./colgroup")) or return
63
- table.colgroup do |cg|
64
- colgroup.xpath(ns("./col")).each do |c|
65
- cg.col **{ style: "width: #{c['width']};" }
63
+ def colgroup(node, table)
64
+ colgroup = node.at(ns("./colgroup")) or return
65
+ table.colgroup do |cg|
66
+ colgroup.xpath(ns("./col")).each do |c|
67
+ cg.col **{ style: "width: #{c['width']};" }
68
+ end
66
69
  end
67
70
  end
68
- end
69
71
 
70
- def table_parse(node, out)
71
- @in_table = true
72
- table_title_parse(node, out)
73
- out.table **table_attrs(node) do |t|
74
- tcaption(node, t)
75
- colgroup(node, t)
76
- thead_parse(node, t)
77
- tbody_parse(node, t)
78
- tfoot_parse(node, t)
79
- (dl = node.at(ns("./dl"))) && parse(dl, out)
80
- node.xpath(ns("./note")).each { |n| parse(n, out) }
72
+ def table_parse(node, out)
73
+ @in_table = true
74
+ table_title_parse(node, out)
75
+ out.table **table_attrs(node) do |t|
76
+ tcaption(node, t)
77
+ colgroup(node, t)
78
+ thead_parse(node, t)
79
+ tbody_parse(node, t)
80
+ tfoot_parse(node, t)
81
+ (dl = node.at(ns("./dl"))) && parse(dl, out)
82
+ node.xpath(ns("./note")).each { |n| parse(n, out) }
83
+ end
84
+ @in_table = false
85
+ # out.p { |p| p << "&nbsp;" }
81
86
  end
82
- @in_table = false
83
- # out.p { |p| p << "&nbsp;" }
84
- end
85
87
 
86
- SW = "solid windowtext".freeze
88
+ SW = "solid windowtext".freeze
87
89
 
88
- # def make_tr_attr(td, row, totalrows, cols, totalcols, header)
89
- # border-left:#{col.zero? ? "#{SW} 1.5pt;" : "none;"}
90
- # border-right:#{SW} #{col == totalcols && !header ? "1.5" : "1.0"}pt;
90
+ # def make_tr_attr(td, row, totalrows, cols, totalcols, header)
91
+ # border-left:#{col.zero? ? "#{SW} 1.5pt;" : "none;"}
92
+ # border-right:#{SW} #{col == totalcols && !header ? "1.5" : "1.0"}pt;
91
93
 
92
- def make_tr_attr(cell, row, totalrows, header)
93
- style = cell.name == "th" ? "font-weight:bold;" : ""
94
- cell["align"] and style += "text-align:#{cell['align']};"
95
- cell["valign"] and style += "vertical-align:#{cell['valign']};"
96
- rowmax = cell["rowspan"] ? row + cell["rowspan"].to_i - 1 : row
97
- style += <<~STYLE
98
- border-top:#{row.zero? ? "#{SW} 1.5pt;" : 'none;'}
99
- border-bottom:#{SW} #{rowmax == totalrows ? '1.5' : '1.0'}pt;
100
- STYLE
101
- header and scope = (cell["colspan"] ? "colgroup" : "col")
102
- !header and cell.name == "th" and scope =
103
- (cell["rowspan"] ? "rowgroup" : "row")
104
- { rowspan: cell["rowspan"], colspan: cell["colspan"],
105
- style: style.gsub(/\n/, ""), scope: scope }
106
- end
94
+ def make_tr_attr(cell, row, totalrows, header)
95
+ style = cell.name == "th" ? "font-weight:bold;" : ""
96
+ cell["align"] and style += "text-align:#{cell['align']};"
97
+ cell["valign"] and style += "vertical-align:#{cell['valign']};"
98
+ rowmax = cell["rowspan"] ? row + cell["rowspan"].to_i - 1 : row
99
+ style += <<~STYLE
100
+ border-top:#{row.zero? ? "#{SW} 1.5pt;" : 'none;'}
101
+ border-bottom:#{SW} #{rowmax == totalrows ? '1.5' : '1.0'}pt;
102
+ STYLE
103
+ header and scope = (cell["colspan"] ? "colgroup" : "col")
104
+ !header && cell.name == "th" and
105
+ scope = (cell["rowspan"] ? "rowgroup" : "row")
106
+ { rowspan: cell["rowspan"], colspan: cell["colspan"],
107
+ style: style.gsub(/\n/, ""), scope: scope }
108
+ end
107
109
 
108
- def tr_parse(node, out, ord, totalrows, header)
109
- out.tr do |r|
110
- node.elements.each do |td|
111
- attrs = make_tr_attr(td, ord, totalrows - 1, header)
112
- r.send td.name, **attr_code(attrs) do |entry|
113
- td.children.each { |n| parse(n, entry) }
110
+ def tr_parse(node, out, ord, totalrows, header)
111
+ out.tr do |r|
112
+ node.elements.each do |td|
113
+ attrs = make_tr_attr(td, ord, totalrows - 1, header)
114
+ r.send td.name, **attr_code(attrs) do |entry|
115
+ td.children.each { |n| parse(n, entry) }
116
+ end
114
117
  end
115
118
  end
116
119
  end
@@ -1,77 +1,79 @@
1
- module IsoDoc::Function
2
- module Terms
3
- def definition_parse(node, out)
4
- node.children.each { |n| parse(n, out) }
5
- end
1
+ module IsoDoc
2
+ module Function
3
+ module Terms
4
+ def definition_parse(node, out)
5
+ node.children.each { |n| parse(n, out) }
6
+ end
6
7
 
7
- def modification_parse(node, out)
8
- out << "[MODIFICATION]"
9
- para = node.at(ns("./p"))
10
- para.children.each { |n| parse(n, out) }
11
- end
8
+ def modification_parse(node, out)
9
+ out << "[MODIFICATION]"
10
+ para = node.at(ns("./p"))
11
+ para.children.each { |n| parse(n, out) }
12
+ end
12
13
 
13
- def deprecated_term_parse(node, out)
14
- out.p **{ class: "DeprecatedTerms", style: "text-align:left;" } do |p|
15
- p << l10n("#{@i18n.deprecated}: ")
16
- node.children.each { |c| parse(c, p) }
14
+ def deprecated_term_parse(node, out)
15
+ out.p **{ class: "DeprecatedTerms", style: "text-align:left;" } do |p|
16
+ p << l10n("#{@i18n.deprecated}: ")
17
+ node.children.each { |c| parse(c, p) }
18
+ end
17
19
  end
18
- end
19
20
 
20
- def admitted_term_parse(node, out)
21
- out.p **{ class: "AltTerms", style: "text-align:left;" } do |p|
22
- node.children.each { |c| parse(c, p) }
21
+ def admitted_term_parse(node, out)
22
+ out.p **{ class: "AltTerms", style: "text-align:left;" } do |p|
23
+ node.children.each { |c| parse(c, p) }
24
+ end
23
25
  end
24
- end
25
26
 
26
- def term_parse(node, out)
27
- out.p **{ class: "Terms", style: "text-align:left;" } do |p|
28
- node.children.each { |c| parse(c, p) }
27
+ def term_parse(node, out)
28
+ out.p **{ class: "Terms", style: "text-align:left;" } do |p|
29
+ node.children.each { |c| parse(c, p) }
30
+ end
29
31
  end
30
- end
31
32
 
32
- def para_then_remainder(first, node, para, div)
33
- if first.name == "p"
34
- first.children.each { |n| parse(n, para) }
35
- node.elements.drop(1).each { |n| parse(n, div) }
36
- else
37
- node.elements.each { |n| parse(n, div) }
33
+ def para_then_remainder(first, node, para, div)
34
+ if first.name == "p"
35
+ first.children.each { |n| parse(n, para) }
36
+ node.elements.drop(1).each { |n| parse(n, div) }
37
+ else
38
+ node.elements.each { |n| parse(n, div) }
39
+ end
38
40
  end
39
- end
40
41
 
41
- def termnote_delim
42
- l10n(": ")
43
- end
42
+ def termnote_delim
43
+ l10n(": ")
44
+ end
44
45
 
45
- def termnote_parse(node, out)
46
- name = node&.at(ns("./name"))&.remove
47
- out.div **note_attrs(node) do |div|
48
- div.p do |p|
49
- if name
50
- name.children.each { |n| parse(n, p) }
51
- p << termnote_delim
46
+ def termnote_parse(node, out)
47
+ name = node&.at(ns("./name"))&.remove
48
+ out.div **note_attrs(node) do |div|
49
+ div.p do |p|
50
+ if name
51
+ name.children.each { |n| parse(n, p) }
52
+ p << termnote_delim
53
+ end
54
+ para_then_remainder(node.first_element_child, node, p, div)
52
55
  end
53
- para_then_remainder(node.first_element_child, node, p, div)
54
56
  end
55
57
  end
56
- end
57
58
 
58
- def termref_parse(node, out)
59
- out.p do |p|
60
- p << "[TERMREF]"
61
- node.children.each { |n| parse(n, p) }
62
- p << "[/TERMREF]"
59
+ def termref_parse(node, out)
60
+ out.p do |p|
61
+ p << "[TERMREF]"
62
+ node.children.each { |n| parse(n, p) }
63
+ p << "[/TERMREF]"
64
+ end
63
65
  end
64
- end
65
66
 
66
- def termdef_parse(node, out)
67
- name = node&.at(ns("./name"))&.remove
68
- out.p **{ class: "TermNum", id: node["id"] } do |p|
69
- name&.children&.each { |n| parse(n, p) }
67
+ def termdef_parse(node, out)
68
+ name = node&.at(ns("./name"))&.remove
69
+ out.p **{ class: "TermNum", id: node["id"] } do |p|
70
+ name&.children&.each { |n| parse(n, p) }
71
+ end
72
+ set_termdomain("")
73
+ node.children.each { |n| parse(n, out) }
70
74
  end
71
- set_termdomain("")
72
- node.children.each { |n| parse(n, out) }
73
- end
74
75
 
75
- def termdocsource_parse(_node, _out); end
76
+ def termdocsource_parse(_node, _out); end
77
+ end
76
78
  end
77
79
  end
@@ -212,6 +212,7 @@ module IsoDoc
212
212
  when "measurement-target" then requirement_component_parse(node, out)
213
213
  when "verification" then requirement_component_parse(node, out)
214
214
  when "import" then requirement_component_parse(node, out)
215
+ when "component" then requirement_component_parse(node, out)
215
216
  when "index" then index_parse(node, out)
216
217
  when "index-xref" then index_xref_parse(node, out)
217
218
  when "termref" then termrefelem_parse(node, out)
@@ -232,6 +233,7 @@ module IsoDoc
232
233
  when "option" then option_parse(node, out)
233
234
  when "textarea" then textarea_parse(node, out)
234
235
  when "toc" then toc_parse(node, out)
236
+ when "variant-title" then variant_title(node, out)
235
237
  else error_parse(node, out)
236
238
  end
237
239
  end
@@ -41,6 +41,7 @@ module IsoDoc
41
41
  def convert
42
42
  docxml.xpath("//m:math", MATHML).each do |elem|
43
43
  next if nothing_to_style(elem)
44
+
44
45
  mathml1(elem)
45
46
  end
46
47
  docxml
@@ -49,7 +50,8 @@ module IsoDoc
49
50
  private
50
51
 
51
52
  def nothing_to_style(elem)
52
- !elem.at("./*[@mathvariant][not(@mathvariant = 'normal')][not(@mathvariant = 'italic')]")
53
+ !elem.at("./*[@mathvariant][not(@mathvariant = 'normal')]"\
54
+ "[not(@mathvariant = 'italic')]")
53
55
  end
54
56
 
55
57
  def mathml1(base_elem)
@@ -58,7 +60,7 @@ module IsoDoc
58
60
  .merge(MATHVARIANT_TO_PLANE_MAPPINGS)
59
61
  .each_pair do |mathvariant_list, plain_font|
60
62
  base_elem.xpath(mathvariant_xpath(mathvariant_list)).each do |elem|
61
- toPlane(elem, plain_font)
63
+ to_plane(elem, plain_font)
62
64
  end
63
65
  end
64
66
  end
@@ -69,7 +71,7 @@ module IsoDoc
69
71
  .join
70
72
  end
71
73
 
72
- def toPlane(elem, font)
74
+ def to_plane(elem, font)
73
75
  elem.traverse do |n|
74
76
  next unless n.text?
75
77
 
@@ -2,10 +2,10 @@ require "base64"
2
2
 
3
3
  module IsoDoc
4
4
  class PresentationXMLConvert < ::IsoDoc::Convert
5
- def lower2cap(s)
6
- return s if /^[[:upper:]][[:upper:]]/.match?(s)
5
+ def lower2cap(text)
6
+ return text if /^[[:upper:]][[:upper:]]/.match?(text)
7
7
 
8
- s.capitalize
8
+ text.capitalize
9
9
  end
10
10
 
11
11
  def figure(docxml)
@@ -13,8 +13,7 @@ module IsoDoc
13
13
  docxml.xpath(ns("//figure")).each { |f| figure1(f) }
14
14
  docxml.xpath(ns("//svgmap")).each do |s|
15
15
  if f = s.at(ns("./figure")) then s.replace(f)
16
- else
17
- s.remove
16
+ else s.remove
18
17
  end
19
18
  end
20
19
  end
@@ -30,26 +29,28 @@ module IsoDoc
30
29
  elem.replace(x)
31
30
  end
32
31
 
33
- def figure1(f)
34
- return sourcecode1(f) if f["class"] == "pseudocode" || f["type"] == "pseudocode"
35
- return if labelled_ancestor(f) && f.ancestors("figure").empty?
36
- return if f.at(ns("./figure")) and !f.at(ns("./name"))
32
+ def figure1(elem)
33
+ return sourcecode1(elem) if elem["class"] == "pseudocode" ||
34
+ elem["type"] == "pseudocode"
35
+ return if labelled_ancestor(elem) && elem.ancestors("figure").empty? ||
36
+ elem.at(ns("./figure")) && !elem.at(ns("./name"))
37
37
 
38
- lbl = @xrefs.anchor(f['id'], :label, false) or return
39
- prefix_name(f, "&nbsp;&mdash; ",
38
+ lbl = @xrefs.anchor(elem["id"], :label, false) or return
39
+ prefix_name(elem, "&nbsp;&mdash; ",
40
40
  l10n("#{lower2cap @i18n.figure} #{lbl}"), "name")
41
41
  end
42
42
 
43
- def prefix_name(f, delim, number, elem)
43
+ def prefix_name(node, delim, number, elem)
44
44
  return if number.nil? || number.empty?
45
45
 
46
- unless name = f.at(ns("./#{elem}"))
47
- f.children.empty? and f.add_child("<#{elem}></#{elem}>") or
48
- f.children.first.previous = "<#{elem}></#{elem}>"
49
- name = f.children.first
46
+ unless name = node.at(ns("./#{elem}"))
47
+ node.children.empty? and node.add_child("<#{elem}></#{elem}>") or
48
+ node.children.first.previous = "<#{elem}></#{elem}>"
49
+ name = node.children.first
50
+ end
51
+ if name.children.empty? then name.add_child(number)
52
+ else (name.children.first.previous = "#{number}#{delim}")
50
53
  end
51
- name.children.empty? ? name.add_child(number) :
52
- ( name.children.first.previous = "#{number}#{delim}" )
53
54
  end
54
55
 
55
56
  def sourcecode(docxml)
@@ -58,12 +59,13 @@ module IsoDoc
58
59
  end
59
60
  end
60
61
 
61
- def sourcecode1(f)
62
- return if labelled_ancestor(f)
63
- return unless f.ancestors("example").empty?
62
+ def sourcecode1(elem)
63
+ return if labelled_ancestor(elem)
64
+ return unless elem.ancestors("example").empty?
64
65
 
65
- lbl = @xrefs.anchor(f['id'], :label, false) or return
66
- prefix_name(f, "&nbsp;&mdash; ", l10n("#{lower2cap @i18n.figure} #{lbl}"), "name")
66
+ lbl = @xrefs.anchor(elem["id"], :label, false) or return
67
+ prefix_name(elem, "&nbsp;&mdash; ",
68
+ l10n("#{lower2cap @i18n.figure} #{lbl}"), "name")
67
69
  end
68
70
 
69
71
  def formula(docxml)
@@ -73,9 +75,9 @@ module IsoDoc
73
75
  end
74
76
 
75
77
  # introduce name element
76
- def formula1(f)
77
- lbl = @xrefs.anchor(f['id'], :label, false)
78
- prefix_name(f, "", lbl, "name")
78
+ def formula1(elem)
79
+ lbl = @xrefs.anchor(elem["id"], :label, false)
80
+ prefix_name(elem, "", lbl, "name")
79
81
  end
80
82
 
81
83
  def example(docxml)
@@ -90,11 +92,14 @@ module IsoDoc
90
92
  end
91
93
  end
92
94
 
93
- def example1(f)
94
- n = @xrefs.get[f["id"]]
95
- lbl = (n.nil? || n[:label].nil? || n[:label].empty?) ? @i18n.example:
96
- l10n("#{@i18n.example} #{n[:label]}")
97
- prefix_name(f, "&nbsp;&mdash; ", lbl, "name")
95
+ def example1(elem)
96
+ n = @xrefs.get[elem["id"]]
97
+ lbl = if n.nil? || n[:label].nil? || n[:label].empty?
98
+ @i18n.example
99
+ else
100
+ l10n("#{@i18n.example} #{n[:label]}")
101
+ end
102
+ prefix_name(elem, "&nbsp;&mdash; ", lbl, "name")
98
103
  end
99
104
 
100
105
  def note(docxml)
@@ -104,13 +109,16 @@ module IsoDoc
104
109
  end
105
110
 
106
111
  # introduce name element
107
- def note1(f)
108
- return if f.parent.name == "bibitem"
112
+ def note1(elem)
113
+ return if elem.parent.name == "bibitem"
109
114
 
110
- n = @xrefs.get[f["id"]]
111
- lbl = (@i18n.note if n.nil? || n[:label].nil? || n[:label].empty?) ?
112
- @i18n.note: l10n("#{@i18n.note} #{n[:label]}")
113
- prefix_name(f, "", lbl, "name")
115
+ n = @xrefs.get[elem["id"]]
116
+ lbl = if n.nil? || n[:label].nil? || n[:label].empty?
117
+ @i18n.note
118
+ else
119
+ l10n("#{@i18n.note} #{n[:label]}")
120
+ end
121
+ prefix_name(elem, "", lbl, "name")
114
122
  end
115
123
 
116
124
  def termnote(docxml)
@@ -120,9 +128,27 @@ module IsoDoc
120
128
  end
121
129
 
122
130
  # introduce name element
123
- def termnote1(f)
124
- lbl = l10n(@xrefs.anchor(f["id"], :label) || "???")
125
- prefix_name(f, "", lower2cap(lbl), "name")
131
+ def termnote1(elem)
132
+ lbl = l10n(@xrefs.anchor(elem["id"], :label) || "???")
133
+ prefix_name(elem, "", lower2cap(lbl), "name")
134
+ end
135
+
136
+ def termdefinition(docxml)
137
+ docxml.xpath(ns("//term[definition]")).each do |f|
138
+ termdefinition1(f)
139
+ end
140
+ end
141
+
142
+ def termdefinition1(elem)
143
+ return unless elem.xpath(ns("./definition")).size > 1
144
+
145
+ d = elem.at(ns("./definition"))
146
+ d = d.replace("<ol><li>#{d.children.to_xml}</li></ol>").first
147
+ elem.xpath(ns("./definition")).each do |f|
148
+ f = f.replace("<li>#{f.children.to_xml}</li>").first
149
+ d << f
150
+ end
151
+ d.wrap("<definition></definition>")
126
152
  end
127
153
 
128
154
  def recommendation(docxml)
@@ -144,10 +170,10 @@ module IsoDoc
144
170
  end
145
171
 
146
172
  # introduce name element
147
- def recommendation1(f, type)
148
- n = @xrefs.anchor(f["id"], :label, false)
173
+ def recommendation1(elem, type)
174
+ n = @xrefs.anchor(elem["id"], :label, false)
149
175
  lbl = (n.nil? ? type : l10n("#{type} #{n}"))
150
- prefix_name(f, "", lbl, "name")
176
+ prefix_name(elem, "", lbl, "name")
151
177
  end
152
178
 
153
179
  def table(docxml)
@@ -156,12 +182,13 @@ module IsoDoc
156
182
  end
157
183
  end
158
184
 
159
- def table1(f)
160
- return if labelled_ancestor(f)
161
- return if f["unnumbered"] && !f.at(ns("./name"))
185
+ def table1(elem)
186
+ return if labelled_ancestor(elem)
187
+ return if elem["unnumbered"] && !elem.at(ns("./name"))
162
188
 
163
- n = @xrefs.anchor(f["id"], :label, false)
164
- prefix_name(f, "&nbsp;&mdash; ", l10n("#{lower2cap @i18n.table} #{n}"), "name")
189
+ n = @xrefs.anchor(elem["id"], :label, false)
190
+ prefix_name(elem, "&nbsp;&mdash; ", l10n("#{lower2cap @i18n.table} #{n}"),
191
+ "name")
165
192
  end
166
193
 
167
194
  # we use this to eliminate the semantic amend blocks from rendering
@@ -171,11 +198,11 @@ module IsoDoc
171
198
  end
172
199
  end
173
200
 
174
- def amend1(f)
175
- f.xpath(ns("./autonumber")).each(&:remove)
176
- f.xpath(ns("./newcontent")).each { |a| a.name = "quote" }
177
- f.xpath(ns("./description")).each { |a| a.replace(a.children) }
178
- f.replace(f.children)
201
+ def amend1(elem)
202
+ elem.xpath(ns("./autonumber")).each(&:remove)
203
+ elem.xpath(ns("./newcontent")).each { |a| a.name = "quote" }
204
+ elem.xpath(ns("./description")).each { |a| a.replace(a.children) }
205
+ elem.replace(elem.children)
179
206
  end
180
207
  end
181
208
  end