class IsoDoc::Ribose::Xref

Public Instance Methods

annex_name_lbl(clause, num) click to toggle source
# File lib/isodoc/ribose/xref.rb, line 9
def annex_name_lbl(clause, num)
  obl = l10n("(#{@labels['inform_annex']})")
  clause["obligation"] == "normative" and
    obl = l10n("(#{@labels['norm_annex']})")
  l10n("#{@labels['annex']} #{num}<br/>#{obl}")
end
initial_anchor_names(doc) click to toggle source
Calls superclass method
# File lib/isodoc/ribose/xref.rb, line 16
def initial_anchor_names(doc)
  preface_names(doc.at(ns("//executivesummary")))
  super
  introduction_names(doc.at(ns("//introduction")))
  sequential_asset_names(
    doc.xpath(
      ns("//preface/abstract | //foreword | //introduction | "\
         "//preface/clause | //acknowledgements | //executivesummary"),
    ),
  )
end
introduction_names(clause) click to toggle source

we can reference 0-number clauses in introduction

# File lib/isodoc/ribose/xref.rb, line 41
def introduction_names(clause)
  return if clause.nil?

  clause.at(ns("./clause")) and
    @anchors[clause["id"]] = { label: "0", level: 1, type: "clause",
                               xref: clause.at(ns("./title"))&.text }
  i = Counter.new
  clause.xpath(ns("./clause")).each do |c|
    i.increment(c)
    section_names1(c, "0.#{i.print}", 2)
  end
end
section_names1(clause, num, level) click to toggle source
# File lib/isodoc/ribose/xref.rb, line 28
def section_names1(clause, num, level)
  @anchors[clause["id"]] =
    { label: num, level: level, xref: num }
  # subclauses are not prefixed with "Clause"
  i = Counter.new
  clause.xpath(ns("./clause | ./terms | ./term | ./definitions | "\
                  "./references")).each do |c|
    i.increment(c)
    section_names1(c, "#{num}.#{i.print}", level + 1)
  end
end