=head1 NAME XML::LibXML::RelaxNG - RelaxNG Schema Validation =head1 SYNOPSIS use XML::LibXML; $doc = XML::LibXML->new->parse_file($url); $rngschema = XML::LibXML::RelaxNG->new( location => $filename_or_url, no_network => 1 ); $rngschema = XML::LibXML::RelaxNG->new( string => $xmlschemastring, no_network => 1 ); $rngschema = XML::LibXML::RelaxNG->new( DOM => $doc, no_network => 1 ); eval { $rngschema->validate( $doc ); }; =head1 DESCRIPTION The XML::LibXML::RelaxNG class is a tiny frontend to libxml2's RelaxNG implementation. Currently it supports only schema parsing and document validation. =head1 METHODS =over 4 =item new $rngschema = XML::LibXML::RelaxNG->new( location => $filename_or_url, no_network => 1 ); $rngschema = XML::LibXML::RelaxNG->new( string => $xmlschemastring, no_network => 1 ); $rngschema = XML::LibXML::RelaxNG->new( DOM => $doc, no_network => 1 ); The constructor of XML::LibXML::RelaxNG needs to be called with list of parameters. At least location, string or DOM parameter is required to specify source of schema. Optional parameter no_network set to 1 cause that parser would not access network and optional parameter recover set 1 cause that parser would not call die() on errors. It is important, that each schema only have a single source. The location parameter allows one to parse a schema from the filesystem or a (non-HTTPS) URL. The string parameter will parse the schema from the given XML string. The DOM parameter allows one to parse the schema from a pre-parsed L<<<<<< XML::LibXML::Document >>>>>>. Note that the constructor will die() if the schema does not meed the constraints of the RelaxNG specification. =item validate eval { $rngschema->validate( $doc ); }; This function allows one to validate a (parsed) document against the given RelaxNG schema. The argument of this function should be an XML::LibXML::Document object. If this function succeeds, it will return 0, otherwise it will die() and report the errors found. Because of this validate() should be always evaluated. =back =head1 AUTHORS Matt Sergeant, Christian Glahn, Petr Pajas =head1 VERSION 2.0210 =head1 COPYRIGHT 2001-2007, AxKit.com Ltd. 2002-2006, Christian Glahn. 2006-2009, Petr Pajas. =cut =head1 LICENSE This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.