Sha256: b8e0bd60a774d4cab8c1aa55b6b5c489fdcc7067e6b983787bc515cbfe1107a6

Contents?: true

Size: 934 Bytes

Versions: 8

Compression:

Stored size: 934 Bytes

Contents

module Asciidoctor
  module Mpfd
    class Converter < Standoc::Converter
      def content_validate(doc)
        super
        bibdata_validate(doc.root)
      end

      def bibdata_validate(doc)
        doctype_validate(doc)
        stage_validate(doc)
      end

      def doctype_validate(xmldoc)
        doctype = xmldoc&.at("//bibdata/ext/doctype")&.text
        %w(policy-and-procedures best-practices supporting-document
        report legal directives proposal standard).include? doctype or
        @log.add("Document Attributes", nil, "#{doctype} is not a recognised document type")
      end

      def stage_validate(xmldoc)
        stage = xmldoc&.at("//bibdata/status/stage")&.text
        %w(proposal working-draft committee-draft draft-standard final-draft
        published withdrawn).include? stage or
        @log.add("Document Attributes", nil, "#{stage} is not a recognised status")
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
metanorma-mpfd-0.3.22 lib/asciidoctor/mpfd/validate.rb
metanorma-mpfd-0.3.21 lib/asciidoctor/mpfd/validate.rb
metanorma-mpfd-0.3.20 lib/asciidoctor/mpfd/validate.rb
metanorma-mpfd-0.3.19 lib/asciidoctor/mpfd/validate.rb
metanorma-mpfd-0.3.18 lib/asciidoctor/mpfd/validate.rb
metanorma-mpfd-0.3.17 lib/asciidoctor/mpfd/validate.rb
metanorma-mpfd-0.3.16 lib/asciidoctor/mpfd/validate.rb
metanorma-mpfd-0.3.15 lib/asciidoctor/mpfd/validate.rb