Sha256: 20119d86b9ea26fd819114a1e09f771a3ec8039d642f735e58610ed3fa9c81e9

Contents?: true

Size: 1.14 KB

Versions: 13

Compression:

Stored size: 1.14 KB

Contents

module IsoDoc
  module XrefGen
    module Sections
      def clause_order(docxml)
        { preface: clause_order_preface(docxml),
          main: clause_order_main(docxml),
          annex: clause_order_annex(docxml),
          back: clause_order_back(docxml) }
      end

      def clause_order_preface(_docxml)
        [{ path: "//preface/*", multi: true }]
      end

      def clause_order_main(docxml)
        [
          { path: "//sections/clause[@type = 'scope']" },
          { path: @klass.norm_ref_xpath },
          { path: "//sections/terms | " \
            "//sections/clause[descendant::terms]" },
          { path: "//sections/definitions | " \
            "//sections/clause[descendant::definitions]" \
            "[not(descendant::terms)]" },
          { path: @klass.middle_clause(docxml), multi: true },
        ]
      end

      def clause_order_annex(_docxml)
        [{ path: "//annex", multi: true }]
      end

      def clause_order_back(_docxml)
        [
          { path: @klass.bibliography_xpath },
          { path: "//indexsect", multi: true },
          { path: "//colophon/*", multi: true },
        ]
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
isodoc-2.12.0 lib/isodoc/xref/clause_order.rb
isodoc-2.11.4 lib/isodoc/xref/clause_order.rb
isodoc-2.11.3 lib/isodoc/xref/clause_order.rb
isodoc-2.11.2 lib/isodoc/xref/clause_order.rb
isodoc-2.11.1 lib/isodoc/xref/clause_order.rb
isodoc-2.11.0 lib/isodoc/xref/clause_order.rb
isodoc-2.10.7 lib/isodoc/xref/clause_order.rb
isodoc-2.10.6 lib/isodoc/xref/clause_order.rb
isodoc-2.10.5 lib/isodoc/xref/clause_order.rb
isodoc-2.10.4 lib/isodoc/xref/clause_order.rb
isodoc-2.10.3 lib/isodoc/xref/clause_order.rb
isodoc-2.10.2 lib/isodoc/xref/clause_order.rb
isodoc-2.10.1 lib/isodoc/xref/clause_order.rb