logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

XML::LibXML::RelaxNG - RelaxNG Schema Validation

Authors

       Matt Sergeant, Christian Glahn, Petr Pajas

Description

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

License

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

perl v5.40.1                                       2025-06-09                          XML::LibXML::RelaxNG(3pm)

Methods

       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 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.

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, 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 ); };

Version

       2.0207

See Also