Sha256: 5396fb370233098ae9ec40c8f7e5809855d2e2bf76f485cd6cb254d456e44679
Contents?: true
Size: 1.13 KB
Versions: 2
Compression:
Stored size: 1.13 KB
Contents
module CqmValidators module Schematron NAMESPACE = {"svrl" => "http://purl.oclc.org/dsdl/svrl"} DIR = File.expand_path("../../", __FILE__) ISO_SCHEMATRON = File.join(DIR, 'lib/schematron/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl') class Validator include BaseValidator if RUBY_PLATFORM != "java" require_relative "schematron/c_processor" include Schematron::CProcessor else require_relative 'schematron/java_processor' include Schematron::JavaProcessor end def initialize(name,schematron_file) @name = name @schematron_file = schematron_file end def validate(document,data = {}) file_errors = document.errors.select { |e| e.fatal? || e.error? } if file_errors file_errors.each do |error| build_error(error, '/', data[:file_name]) end end errors = get_errors(document).root.xpath("//svrl:failed-assert",NAMESPACE).map do |el| build_error(el.xpath('svrl:text',NAMESPACE).text, el['location'], data[:file_name]) end errors.uniq{|e| "#{e.location}#{e.message}"} end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cqm-validators-0.1.1 | lib/schematron_validator.rb |
cqm-validators-0.1.0 | lib/schematron_validator.rb |