Sha256: 28bce8f7c4838c9d1028d90c504ac1cd2ea0e1d8c0ed684c83173a2f91a983f5

Contents?: true

Size: 736 Bytes

Versions: 1

Compression:

Stored size: 736 Bytes

Contents

#!/usr/bin/ruby

require 'optparse'
require 'libxml'
require 'schematron'

include LibXML

if __FILE__ == $0
  XML.default_line_numbers = true

  begin

    # get args
    schema_file = ARGV.shift or raise "schematron file required"
    instance_file = ARGV.shift or raise "instance doc file required"

    # parse the xml
    schema_doc = XML::Document.file schema_file
    instance_doc = XML::Document.file instance_file
    stron = Schematron::Schema.new schema_doc

    # validate
    stron.validate(instance_doc).each do |error|
      puts '%s "%s" on line %d: %s' % error.values_at(:type, :name, :line, :message)
    end

  rescue => e
    puts "Usage: stron [schematron] [instance doc]" 
    puts e.message
    exit 1
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
schematron-1.0.0 bin/stron