RelaxNG Validation¶
RelaxNG is a schema language for XML that is simpler and more expressive than XML Schema for many use cases.
Loading a Schema¶
# From a file
schema = XML::RelaxNG.new('/path/to/schema.rng')
# From a document
schema_doc = XML::Document.file('schema.rng')
schema = XML::RelaxNG.document(schema_doc)
Validating¶
doc = XML::Parser.file('data.xml').parse
begin
doc.validate_relaxng(schema)
rescue XML::Error => e
puts e.message
end
The validate_relaxng method returns true on success or raises XML::Error on failure.