summaryrefslogtreecommitdiff
path: root/lib/XML/LibXML/RelaxNG.pod
blob: dbeccd422aa0a65579c03b02fe9de805dfe547ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
=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.0209

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