Class: HealthDataStandards::Validate::Schematron::Validator
- Inherits:
-
Object
- Object
- HealthDataStandards::Validate::Schematron::Validator
- Includes:
- BaseValidator, CProcessor, JavaProcessor
- Defined in:
- lib/health-data-standards/validate/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.
19 20 21 22 |
# File 'lib/health-data-standards/validate/schematron_validator.rb', line 19 def initialize(name,schematron_file) @name = name @schematron_file = schematron_file end |
Instance Method Details
#validate(document, data = {}) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/health-data-standards/validate/schematron_validator.rb', line 24 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.}"} end |