94 lines
2.3 KiB
Plaintext
94 lines
2.3 KiB
Plaintext
=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.0207
|
|
|
|
=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.
|
|
|