/usr/lib/ruby/vendor_ruby/nokogiri/xml/schema.rb is in ruby-nokogiri 1.6.8.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | module Nokogiri
module XML
class << self
###
# Create a new Nokogiri::XML::Schema object using a +string_or_io+
# object.
def Schema string_or_io
Schema.new(string_or_io)
end
end
###
# Nokogiri::XML::Schema is used for validating XML against a schema
# (usually from an xsd file).
#
# == Synopsis
#
# Validate an XML document against a Schema. Loop over the errors that
# are returned and print them out:
#
# xsd = Nokogiri::XML::Schema(File.read(PO_SCHEMA_FILE))
# doc = Nokogiri::XML(File.read(PO_XML_FILE))
#
# xsd.validate(doc).each do |error|
# puts error.message
# end
#
# The list of errors are Nokogiri::XML::SyntaxError objects.
class Schema
# Errors while parsing the schema file
attr_accessor :errors
###
# Create a new Nokogiri::XML::Schema object using a +string_or_io+
# object.
def self.new string_or_io
from_document Nokogiri::XML(string_or_io)
end
###
# Validate +thing+ against this schema. +thing+ can be a
# Nokogiri::XML::Document object, or a filename. An Array of
# Nokogiri::XML::SyntaxError objects found while validating the
# +thing+ is returned.
def validate thing
if thing.is_a?(Nokogiri::XML::Document)
validate_document(thing)
elsif File.file?(thing)
validate_file(thing)
else
raise ArgumentError, "Must provide Nokogiri::Xml::Document or the name of an existing file"
end
end
###
# Returns true if +thing+ is a valid Nokogiri::XML::Document or
# file.
def valid? thing
validate(thing).length == 0
end
end
end
end
|