Sha256: 3d83d53c1b55b31b9402f6183f03161233c51688dd0ce08506c1e7b53cb99aba
Contents?: true
Size: 1.9 KB
Versions: 3
Compression:
Stored size: 1.9 KB
Contents
module IsoDoc module NIST module BaseConvert def abstract(isoxml, out) f = isoxml.at(ns("//preface/abstract")) || return out.div **attr_code(id: f["id"]) do |s| clause_name(nil, f.at(ns("./title")) || @i18n.abstract, s, class: "AbstractTitle") f.elements.each { |e| parse(e, s) unless e.name == "title" } end end FRONT_CLAUSE = "//*[parent::preface][not(local-name() = 'abstract' or "\ "local-name() = 'foreword') or @type = 'keyword']".freeze # All "[preface]" sections should have class "IntroTitle" to prevent # page breaks, but for the Exec Summary def preface(isoxml, out) isoxml.xpath(ns(FRONT_CLAUSE)).each do |c| next if skip_render(c, isoxml) title = c&.at(ns("./title")) patent = ["Call for Patent Claims", "Patent Disclosure Notice"].include? title&.text preface1(c, title, patent, out) end end def preface1(c, title, patent, out) out.div **attr_code(id: c["id"]) do |s| page_break(s) if patent clause_name(nil, title, s, class: (c.name == "executivesummary") ? "NormalTitle" : "IntroTitle") c.elements.reject { |c1| c1.name == "title" }.each do |c1| parse(c1, s) end end end def middle(isoxml, out) clause isoxml, out bibliography isoxml, out annex isoxml, out end def foreword(isoxml, out) f = isoxml.at(ns("//foreword")) || return out.div **attr_code(id: f["id"]) do |s| title = f.at(ns("./title")) s.h1(**{ class: "ForewordTitle" }) do |h1| title and title.children.each { |e| parse(e, h1) } end f.elements.each { |e| parse(e, s) unless e.name == "title" } end end end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
metanorma-nist-1.2.1 | lib/isodoc/nist/section.rb |
metanorma-cli-1.3.4 | gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/section.rb |
metanorma-nist-1.2.0 | lib/isodoc/nist/section.rb |