module IsoDoc::MPFA::BaseConvert
Constants
- FRONT_CLAUSE
- SECTIONS_XPATH
- TERM_CLAUSE
Public Instance Methods
clause(isoxml, out)
click to toggle source
# File lib/isodoc/mpfa/base_convert.rb, line 61 def clause(isoxml, out) isoxml.xpath(ns(middle_clause(isoxml))).each do |c| out.div **attr_code(id: c["id"]) do |s| clause_name(nil, c&.at(ns("./title")), s, class: c["container"] ? "containerhdr" : nil ) c.elements.reject { |c1| c1.name == "title" }.each do |c1| parse(c1, s) end end end end
clause_parse_title(node, div, c1, out, header_class = {})
click to toggle source
Calls superclass method
# File lib/isodoc/mpfa/base_convert.rb, line 73 def clause_parse_title(node, div, c1, out, header_class = {}) attrs = {} attrs = { class: "containerhdr" } if node["container"] header_class = header_class.merge(attrs) super end
middle(isoxml, out)
click to toggle source
# File lib/isodoc/mpfa/base_convert.rb, line 47 def middle(isoxml, out) middle_title(isoxml, out) middle_admonitions(isoxml, out) clause isoxml, out annex isoxml, out bibliography isoxml, out end
middle_clause(_docxml)
click to toggle source
# File lib/isodoc/mpfa/base_convert.rb, line 43 def middle_clause(_docxml) "//clause[parent::sections][not(descendant::terms)]" end
ol_depth(node)
click to toggle source
# File lib/isodoc/mpfa/base_convert.rb, line 80 def ol_depth(node) ol_style(node["type"]) end
preface(isoxml, out)
click to toggle source
# File lib/isodoc/mpfa/base_convert.rb, line 28 def preface(isoxml, out) isoxml.xpath(ns(self.class::FRONT_CLAUSE)).each do |c| if c.name == "terms" || c.at(ns(".//terms")) then terms_defs isoxml, out, 0 elsif !is_clause?(c.name) then parse(c, out) else out.div **attr_code(id: c["id"]) do |s| clause_name(nil, c&.at(ns("./title")), s, nil) c.elements.reject { |c1| c1.name == "title" }.each do |c1| parse(c1, s) end end end end end
termdef_parse(node, out)
click to toggle source
# File lib/isodoc/mpfa/base_convert.rb, line 55 def termdef_parse(node, out) name = node&.at(ns("./name"))&.remove set_termdomain("") node.children.each { |n| parse(n, out) } end
terms_defs(isoxml, out, num)
click to toggle source
# File lib/isodoc/mpfa/base_convert.rb, line 15 def terms_defs(isoxml, out, num) f = isoxml.at(ns(self.class::TERM_CLAUSE)) or return num out.div **attr_code(id: f["id"]) do |div| clause_name(nil, f&.at(ns("./title")), div, nil) f.elements.each do |e| parse(e, div) unless %w{title source}.include? e.name end end num end