Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

xml::validate::xerces(3pm) [debian man page]

XML::Validate::Xerces(3pm)				User Contributed Perl Documentation				XML::Validate::Xerces(3pm)

NAME
XML::Validate::Xerces - Interface to Xerces validator SYNOPSIS
my $validator = new XML::Validate::Xerces(%options); if ($doc = $validator->validate($xml)) { ... Do stuff with $doc ... } else { print "Document is invalid "; } DESCRIPTION
XML::Validate::Xerces is an interface to the Xerces parser which can be used with the XML::Validate module. METHODS
new(%options) Returns a new XML::Validate::Xerces instance using the specified options. (See OPTIONS below.) validate($xml) Returns a true value if $xml could be successfully parsed, undef otherwise. last_dom() Returns the Xerces DOM object of the document last validated. last_error() Returns the error from the last validate call. This is a hash ref with the following fields: o message o line o column Note that the error gets cleared at the beginning of each "validate" call. version() Returns the version of the XML::Xerces module that is installed OPTIONS
XML::Validate::Xerces takes the following options: strict_validation If this boolean value is true, the document will be validated during parsing. Otherwise it will only be checked for well-formedness. Defaults to true. base_uri Since the XML document is supplied as a string, the validator doesn't know the document's URI. If the document contains any components referenced using relative URI's, you'll need to set this option to the document's URI so that the validator can retrieve them correctly. ERROR REPORTING
When a call to validate fails to parse the document, the error may be retrieved using last_error. On errors not related to the XML parsing, these methods will throw exceptions. Wrap calls with eval to catch them. DEPENDENCIES
XML::Xerces BUGS
XML::Xerces contains an INIT block that doesn't get run because we load the module in an eval. This causes a warning message to be printed. We then run the code in XML::Xerces ourselves, but this is fragile because XML::Xerces might change. We need to keep an eye on this. XML::Xerces reacts badly to code which does "use UNIVERSAL" (see <http://issues.apache.org/bugzilla/show_bug.cgi?id=25788>). XML::Validate::Xerces inherits this bug. Modules that are known to cause problems include Time::Piece and versions of XML::Twig prior to April 2005). VERSION
$Revision: 1.21 $ on $Date: 2005/09/06 11:05:09 $ by $Author: johna $ AUTHOR
Nathan Carr, Colin Robertson <cpan _at_ bbc _dot_ co _dot_ uk> COPYRIGHT
(c) BBC 2005. This program is free software; you can redistribute it and/or modify it under the GNU GPL. See the file COPYING in this distribution, or http://www.gnu.org/licenses/gpl.txt perl v5.10.1 2006-04-19 XML::Validate::Xerces(3pm)

Check Out this Related Man Page

XML::Validate(3pm)					User Contributed Perl Documentation					XML::Validate(3pm)

NAME
XML::Validate - an XML validator factory SYNOPSIS
my $validator = new XML::Validate(Type => 'LibXML'); if ($validator->validate($xml)) { print "Document is valid "; } else { print "Document is invalid "; my $message = $validator->last_error()->{message}; my $line = $validator->last_error()->{line}; my $column = $validator->last_error()->{column}; print "Error: $message at line $line, column $column "; } DESCRIPTION
XML::Validate is a generic interface to different XML validation backends. For a list of backend included with this distribution see the README. If you want to write your own backends, the easiest way is probably to subclass XML::Validate::Base. Look at the existing backends for examples. METHODS
new(Type => $type, Options => \%options) Returns a new XML::Validate parser object of type $type. For available types see README or use 'BestAvailable' (see "BEST AVAILABLE"). The optional argument Options can be used to supply a set of key-value pairs to the backend parser. See the documentation for individual backends for details of these options. validate($xml_string) Attempts a validating parse of the XML document $xml_string and returns a true value on success, or undef otherwise. If the parse fails, the error can be inspected using "last_error". Note that documents which don't specify a DTD or schema will be treated as valid. For DOM-based parsers, the DOM may be accessed by instantiating the backend module directly and calling the "last_dom" method - consult the documentation of the specific backend modules. Note that this isn't formally part of the XML::Validate interface as non-DOM-based validators may added at some point. last_error() Returns the error from the last validate call. This is a hash ref with the following fields: o message o line o column Note that the error gets cleared at the beginning of each "validate" call. type() Returns the type of backend being used. version() Returns the version of the backend ERROR REPORTING
When a call to validate fails to parse the document, the error may be retrieved using last_error. On errors not related to the XML parsing methods will throw exceptions. Wrap calls with eval to catch them. BEST AVAILABLE
The BestAvailable backend type will check which backends are available and give you the "best" of those. For the default order of preference see the README with this distribution, but this can be changed with the option PrioritisedList. If Xerces and LibXML are available the following code will give you a LibXML backend: my $validator = new XML::Validate( Type => 'BestAvailable', Options => { PrioritisedList => [ qw( MSXML LibXML Xerces ) ] }, ); KNOWN ISSUES
There is a bug in versions 1.57 and 1.58 of XML::LibXML that causes an issue related to DTD loading. When a base parameter is used in conjunction with the load_ext_dtd method the base parameter is ignored and the current directory is used as the base parameter. In other words, when validating XML with LibXML any base parameter option will be ignored, which may result in unexpected DTD loading errors. This was reported as bug on November 30th 2005 and the bug report can be viewed here http://rt.cpan.org/Public/Bug/Display.html?id=16213 VERSION
$Revision: 1.25 $ on $Date: 2006/04/19 10:16:19 $ by $Author: mattheww $ AUTHOR
Nathan Carr, Colin Robertson <cpan _at_ bbc _dot_ co _dot_ uk> COPYRIGHT
(c) BBC 2005. This program is free software; you can redistribute it and/or modify it under the GNU GPL. See the file COPYING in this distribution, or http://www.gnu.org/licenses/gpl.txt perl v5.10.1 2006-04-19 XML::Validate(3pm)
Man Page