class Nokogiri::XML::RelaxNG
Nokogiri::XML::RelaxNG is used for validating XML against a RELAX NG schema definition.
🛡 Do not use this class for untrusted schema documents. RELAX NG input is always treated as trusted, meaning that the underlying parsing libraries will access network resources. This is counter to Nokogiri’s “untrusted by default” security policy, but is an unfortunate limitation of the underlying libraries.
Example: Determine whether an XML document is valid.
schema = Nokogiri::XML::RelaxNG.new(File.read(RELAX_NG_FILE)) doc = Nokogiri::XML::Document.parse(File.read(XML_FILE)) schema.valid?(doc) # Boolean
Example: Validate an XML document against a RelaxNG schema, and capture any errors that are found.
schema = Nokogiri::XML::RelaxNG.new(File.open(RELAX_NG_FILE)) doc = Nokogiri::XML::Document.parse(File.open(XML_FILE)) errors = schema.validate(doc) # Array<SyntaxError>
Example: Validate an XML document using a Document containing a RELAX NG schema definition.
schema_doc = Nokogiri::XML::Document.parse(File.read(RELAX_NG_FILE)) schema = Nokogiri::XML::RelaxNG.from_document(schema_doc) doc = Nokogiri::XML::Document.parse(File.open(XML_FILE)) schema.valid?(doc) # Boolean
Public Class Methods
Source
# File lib/nokogiri/xml/relax_ng.rb, line 60 def self.new(input, parse_options_ = ParseOptions::DEFAULT_SCHEMA, options: parse_options_) from_document(Nokogiri::XML::Document.parse(input), options) end
Parse a RELAX NG schema definition from a String or IO to create a new Nokogiri::XML::RelaxNG.
- Parameters
-
input(String | IO) RELAX NG schema definition -
options:(Nokogiri::XML::ParseOptions) Defaults to Nokogiri::XML::ParseOptions::DEFAULT_SCHEMA âš Unused
- Returns
âš parse_options is currently unused by this method and is present only as a placeholder for future functionality.
Also see convenience method Nokogiri::XML::RelaxNG()
Source
# File lib/nokogiri/xml/relax_ng.rb, line 69 def self.read_memory(...) # TODO deprecate this method new(...) end
Convenience method for Nokogiri::XML::RelaxNG.new.