Class: CqmValidators::Schematron::Validator
- Inherits:
-
Object
- Object
- CqmValidators::Schematron::Validator
- Includes:
- BaseValidator, CProcessor, JavaProcessor
- Defined in:
- lib/schematron_validator.rb
Constant Summary
Constants included from JavaProcessor
JavaProcessor::ISO_SCHEMATRON2
Instance Method Summary collapse
-
#initialize(name, schematron_file) ⇒ Validator
constructor
A new instance of Validator.
- #validate(document, data = {}) ⇒ Object
Methods included from JavaProcessor
#build_transformer, #get_document_j, #get_errors, #processor, #schematron_file
Methods included from CProcessor
Methods included from BaseValidator
Constructor Details
#initialize(name, schematron_file) ⇒ Validator
Returns a new instance of Validator.
20 21 22 23 |
# File 'lib/schematron_validator.rb', line 20 def initialize(name, schematron_file) @name = name @schematron_file = schematron_file end |
Instance Method Details
#validate(document, data = {}) ⇒ Object
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/schematron_validator.rb', line 25 def validate(document, data = {}) file_errors = get_document(document).errors.select { |e| e.fatal? || e.error? } file_errors&.each do |error| build_error(error, '/', data[:file_name]) 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.}" } end |