module CqmValidators::Schematron::CProcessor

Public Instance Methods

get_errors(document) click to toggle source
# File lib/schematron/c_processor.rb, line 6
def get_errors(document)
  document = get_document(document)
  processor.transform(document)
end
processor() click to toggle source
# File lib/schematron/c_processor.rb, line 11
def processor
  return @processor if @processor

  doc = Nokogiri::XML(File.open(@schematron_file))
  doc.root['defaultPhase'] = 'errors'

  xslt = Nokogiri::XSLT(File.open(ISO_SCHEMATRON))

  result = xslt.transform(doc)
  # this needs to be done to associate the xslt file with a dirctory
  result = Nokogiri::XML(result.to_s, @schematron_file)
  @processor = Nokogiri::XSLT::Stylesheet.parse_stylesheet_doc(result)
end