module IsoDoc::Iec::BaseConvert

Public Instance Methods

admitted_term_parse(node, out) click to toggle source
# File lib/isodoc/iec/base_convert.rb, line 116
def admitted_term_parse(node, out)
  out.p **{ class: "AltTerms", style: "text-align:left;" } do |p|
    node.children.each { |c| parse(c, p) }
    term_suffix(node, p)
  end
end
biblio_list(f, div, biblio) click to toggle source
Calls superclass method
# File lib/isodoc/iec/base_convert.rb, line 59
def biblio_list(f, div, biblio)
  return super unless @is_iev

  f.children.each do |b|
    parse(b, div) unless %w(title bibitem).include? b.name
  end
end
bibliography(isoxml, out) click to toggle source
Calls superclass method
# File lib/isodoc/iec/base_convert.rb, line 55
def bibliography(isoxml, out)
  return super unless @is_iev
end
boilerplate(node, out) click to toggle source
# File lib/isodoc/iec/base_convert.rb, line 7
def boilerplate(node, out)
  # processed in foreword instead
end
deprecated_term_parse(node, out) click to toggle source
# File lib/isodoc/iec/base_convert.rb, line 108
def deprecated_term_parse(node, out)
  out.p **{ class: "DeprecatedTerms", style: "text-align:left;" } do |p|
    p << l10n("#{@i18n.deprecated}: ")
    node.children.each { |c| parse(c, p) }
    term_suffix(node, p)
  end
end
foreword(isoxml, out) click to toggle source
# File lib/isodoc/iec/base_convert.rb, line 11
def foreword(isoxml, out)
  f = isoxml.at(ns("//foreword"))
  b = isoxml.at(ns("//boilerplate/legal-statement"))
  page_break(out)
  iec_orgname(out)
  middle_title(isoxml, out)
  out.div **attr_code(id: f ? f["id"] : "") do |s|
    s.h1(**{ class: "ForewordTitle" }) { |h1| h1 << @i18n.foreword }
    @meta.get[:doctype] == "Amendment" or
      s.div **attr_code(class: "boilerplate_legal") do |s1|
        b&.elements&.each { |e| parse(e, s1) }
      end
    f&.elements&.each { |e| parse(e, s) unless e.name == "title" }
  end
end
iec_orgname(out) click to toggle source
# File lib/isodoc/iec/base_convert.rb, line 27
def iec_orgname(out)
  out.p(**{ class: "zzSTDTitle1" }) { |p| p << @i18n.get["IEC"] }
  out.p(**{ class: "zzSTDTitle1" }) { |p| p << "____________" }
  out.p(**{ class: "zzSTDTitle1" }) { |p| p << "&nbsp;" }
end
middle_title(_isoxml, out) click to toggle source
# File lib/isodoc/iec/base_convert.rb, line 33
def middle_title(_isoxml, out)
  title1 = @meta.get[:doctitlemain]&.sub(/\s+$/, "")
  @meta.get[:doctitleintro] and
    title1 = "#{@meta.get[:doctitleintro]} &mdash; #{title1}"
  if @meta.get[:doctitlepart]
    title1 += " &mdash;"
    title2 = @meta.get[:doctitlepart]&.sub(/\s+$/, "")
    @meta.get[:doctitlepartlabel] and
      title2 = "#{@meta.get[:doctitlepartlabel]}: #{title2}"
  end
  out.p(**{ class: "zzSTDTitle1" }) do |p|
    p.b { |b| b << title1 }
  end
  if @meta.get[:doctitlepart]
    out.p(**{ class: "zzSTDTitle1" }) { |p| p << "&nbsp;" }
    out.p(**{ class: "zzSTDTitle2" }) do |p|
      p.b { |b| b << title2 }
    end
  end
  out.p(**{ class: "zzSTDTitle1" }) { |p| p << "&nbsp;" }
end
set_termdomain(termdomain) click to toggle source
Calls superclass method
# File lib/isodoc/iec/base_convert.rb, line 95
def set_termdomain(termdomain)
  return super unless @is_iev
end
term_parse(node, out) click to toggle source
Calls superclass method
# File lib/isodoc/iec/base_convert.rb, line 123
def term_parse(node, out)
  return super unless @is_iev

  out.p **{ class: "Terms", style: "text-align:left;" } do |p|
    node.children.each { |c| parse(c, p) }
    term_suffix(node, p)
  end
end
term_suffix(node, out) click to toggle source
# File lib/isodoc/iec/base_convert.rb, line 99
def term_suffix(node, out)
  return unless @is_iev

  domain = node&.at(ns("../domain"))&.text
  return unless domain

  out << ", &lt;#{domain}&gt;"
end
termref_cleanup(docxml) click to toggle source
Calls superclass method
# File lib/isodoc/iec/base_convert.rb, line 83
def termref_cleanup(docxml)
  return super unless @is_iev

  docxml
    .gsub(%r{\s*\[/TERMREF\]\s*</p>\s*<p>\s*\[TERMREF\]}, "; ")
    .gsub(/\[TERMREF\]\s*/, l10n("#{@i18n.source}: "))
    .gsub(/\s*\[MODIFICATION\]\s*\[\/TERMREF\]/,
          l10n(", #{@i18n.modified} [/TERMREF]"))
    .gsub(/\s*\[\/TERMREF\]\s*/, l10n(""))
    .gsub(/\s*\[MODIFICATION\]/, l10n(", #{@i18n.modified} &mdash; "))
end
terms_parse(node, out) click to toggle source
Calls superclass method
# File lib/isodoc/iec/base_convert.rb, line 67
def terms_parse(node, out)
  return super unless @is_iev

  page_break(out)
  out.div **attr_code(id: node["id"]) do |div|
    out.p(**{ class: "zzSTDTitle2" }) do |p|
      p.b do |b|
        node&.at(ns("./title"))&.children&.each { |c2| parse(c2, b) }
      end
    end
    node.children.reject { |c1| c1.name == "title" }.each do |c1|
      parse(c1, div)
    end
  end
end