XML::Validate::MSXML3pm
Interface to msxml validator
Usage
my $validator = new XML::Validate::MSXML(%options);if ($doc = $validator->validate($xml)) {... Do stuff with $doc ...} else {print "Document is invalid\n";}
Overview
XML::Validate::MSXML is an interface to Microsoft's MSXML parser (often available in Windows environments) which can be used with the XML::Validate module.
Methods
- new(%options)
-
Returns a new XML::Validate::MSXML instance using the specified options. (See OPTIONS below.)
- validate($xml)
-
Returns true if
$xmlcould be successfully parsed, undef otherwise.
last_dom()-
Returns the MSXML 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:
create_doc_and_cache()-
Internal method for instantiation of MSXML DOMDocument and SchemaCache objects for use within the module.
dependencies_available()-
Internal method to determine that the necessary dependencies are available for instantiation of MSXML DOMDocument and SchemaCache objects.
- load_schemas($msxml, $msxmlcache)
-
Internal method to perform loading of XML schema(s) into SchemaCache object.
- •
-
message
- •
-
line
- •
-
column
Note that the error gets cleared at the beginning of each
"validate"call.
version()-
Returns the version of the MSXML component that is installed
Options
XML::Validate::MSXML 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.
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.
Package globals
$XML::Validate::MSXML::MSXML_VERSION contains the version number of MSXML.
Dependencies
Win32::OLE, MSXML 4.0 or 5.0
Version
$Revision: 1.18 $ on $Date: 2006/04/18 10:00:31 $ by $Author: mattheww $
Releases
6 releases since Debian 6.0 (Squeeze); the text changed 2 times.