class Secretariat::Validator

Constants

SCHEMA
SCHEMATRON
SCHEMA_DIR

Attributes

doc[RW]
version[RW]

Public Class Methods

new(io_or_str, version: 1) click to toggle source
# File lib/secretariat/validator.rb, line 38
def initialize(io_or_str, version: 1)
  @doc = Nokogiri.XML(io_or_str)
  @version = version
end

Public Instance Methods

schema() click to toggle source
# File lib/secretariat/validator.rb, line 43
def schema
  Nokogiri::XML.Schema open(File.join(__dir__, SCHEMA[version - 1]))
end
schematron() click to toggle source
# File lib/secretariat/validator.rb, line 47
def schematron
  SchematronNokogiri::Schema.new(
    Nokogiri::XML(open(File.join(__dir__, SCHEMATRON[version - 1])))
  )
end
validate_against_schema() click to toggle source
# File lib/secretariat/validator.rb, line 53
def validate_against_schema
  schema.validate(doc)
end
validate_against_schematron() click to toggle source
# File lib/secretariat/validator.rb, line 57
def validate_against_schematron
  result = []
  Dir.chdir File.join(__dir__, SCHEMA_DIR[version - 1]) do
    result = schematron.validate(doc)
  end
  result
end