Man page of XML::LibXML::RelaxNG

XML::LibXML::RelaxNG

Section: User Contributed Perl Documentation (3pm)

Updated: 2014-04-12

Index?action=index Return to Main Contents


NAME

XML::LibXML::RelaxNG - RelaxNG Schema Validation

SYNOPSIS

  use XML::LibXML;
  $doc = XML::LibXML->new->parse_file($url);

  $rngschema = XML::LibXML::RelaxNG->new( location => $filename_or_url );
  $rngschema = XML::LibXML::RelaxNG->new( string => $xmlschemastring );
  $rngschema = XML::LibXML::RelaxNG->new( DOM => $doc );
  eval { $rngschema->validate( $doc ); };

DESCRIPTION

The XML::LibXML::RelaxNG class is a tiny frontend to libxml2's RelaxNG implementation. Currently it supports only schema parsing and document validation.

METHODS

new
  $rngschema = XML::LibXML::RelaxNG->new( location => $filename_or_url );
  $rngschema = XML::LibXML::RelaxNG->new( string => $xmlschemastring );
  $rngschema = XML::LibXML::RelaxNG->new( DOM => $doc );

The constructor of XML::LibXML::RelaxNG may get called with either one of three parameters. The parameter tells the class from which source it should generate a validation schema. 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 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 XML::LibXML::Document.

Note that the constructor will die() if the schema does not meed the constraints of the RelaxNG specification.

:

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.

:

AUTHORS

Matt Sergeant, Christian Glahn, Petr Pajas

VERSION

2.0116

COPYRIGHT

2001-2007, AxKit.com Ltd.

2002-2006, Christian Glahn.

2006-2009, Petr Pajas.

LICENSE

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


Index

NAME

SYNOPSIS

DESCRIPTION

METHODS

AUTHORS

VERSION

COPYRIGHT

LICENSE