Class: IsoDoc::Ribose::Xref
- Inherits:
-
Generic::Xref
- Object
- Generic::Xref
- IsoDoc::Ribose::Xref
- Defined in:
- lib/isodoc/ribose/xref.rb
Instance Method Summary collapse
- #initial_anchor_names(doc) ⇒ Object
-
#introduction_names(clause) ⇒ Object
we can reference 0-number clauses in introduction.
-
#section_name_anchors(clause, num, level) ⇒ Object
subclauses are not prefixed with “Clause” retaining subtype for the semantics.
Instance Method Details
#initial_anchor_names(doc) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/isodoc/ribose/xref.rb', line 9 def initial_anchor_names(doc) super if blank?(@parse_settings) || @parse_settings[:clauses] introduction_names(doc.at(ns("//introduction"))) end if blank?(@parse_settings) sequential_asset_names( doc.xpath( ns("//preface/abstract | //foreword | //introduction | " \ "//preface/clause | //acknowledgements | //executivesummary"), ), ) end end |
#introduction_names(clause) ⇒ Object
we can reference 0-number clauses in introduction
41 42 43 44 45 46 47 48 49 50 |
# File 'lib/isodoc/ribose/xref.rb', line 41 def introduction_names(clause) clause.nil? and return clause.at(ns("./clause")) and @anchors[clause["id"]] = { label: nil, level: 1, type: "clause", xref: clause.at(ns("./title"))&.text } i = Counter.new(0) clause.xpath(ns("./clause")).each do |c| section_names1(c, semx(clause, "0"), i.increment(c).print, 2) end end |
#section_name_anchors(clause, num, level) ⇒ Object
subclauses are not prefixed with “Clause” retaining subtype for the semantics
26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/isodoc/ribose/xref.rb', line 26 def section_name_anchors(clause, num, level) if clause["type"] == "section" xref = labelled_autonum(@labels["section"], num) label = labelled_autonum(@labels["section"], num) @anchors[clause["id"]] = { label:, xref:, elem: @labels["section"], title: clause_title(clause), level: level, type: "clause" } elsif level > 1 #num = semx(clause, num) @anchors[clause["id"]] = { label: num, level: level, xref: num, subtype: "clause" } else super end end |