lib/isodoc/presentation_function/terms.rb in isodoc-1.8.2.2 vs lib/isodoc/presentation_function/terms.rb in isodoc-1.8.3
- old
+ new
@@ -119,12 +119,12 @@
designation_annotate(desgn, name)
s and desgn.next = s
end
def designation_annotate(desgn, name)
- designation_field(desgn, name)
designation_boldface(desgn)
+ designation_field(desgn, name)
g = desgn.at(ns("./expression/grammar")) and
name << ", #{designation_grammar(g).join(', ')}"
designation_localization(desgn, name)
designation_pronunciation(desgn, name)
desgn.children = name.children
@@ -216,8 +216,29 @@
%w(verbal-definition non-verbal-representation).each do |e|
v = d&.at(ns("./#{e}"))
v&.replace(v.children)
end
end
+ end
+
+ def termsource(docxml)
+ docxml.xpath(ns("//termsource")).each do |f|
+ termsource1(f)
+ end
+ end
+
+ def termsource1(elem)
+ mod = elem.at(ns("./modification")) and
+ termsource_modification(mod)
+ elem.children = l10n("[#{@i18n.source}: #{elem.children.to_xml.strip}]")
+ elem&.next_element&.name == "termsource" and elem.next = "; "
+ end
+
+ def termsource_modification(mod)
+ mod.previous_element.next = ", #{@i18n.modified}"
+ mod.text.strip.empty? or mod.previous = " – "
+ mod.elements.size == 1 and
+ mod.elements[0].replace(mod.elements[0].children)
+ mod.replace(mod.children)
end
end
end