Sha256: 40b68a591e57bb85f4836866dc079eb5b45c59c45a3a2ace214f17df60524efc
Contents?: true
Size: 988 Bytes
Versions: 6
Compression:
Stored size: 988 Bytes
Contents
module Asciidoctor module Csa class Converter < Standoc::Converter def content_validate(doc) super bibdata_validate(doc.root) end def bibdata_validate(doc) stage_validate(doc) role_validate(doc) 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 def role_validate(doc) doc&.xpath("//bibdata/contributor/role[description]")&.each do |r| r["type"] == "author" or next role = r.at("./description").text %w{full-author contributor staff reviewer}.include?(role) or @log.add("Document Attributes", nil, "#{role} is not a recognised role") end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems