SYNOPSIS
my $validator = new XML::Validate::MSXML(%options);
if ($doc = $validator->validate($xml)) {
... Do stuff with $doc ...
} else {
print "Document is invalid\n";
}
DESCRIPTION
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 $xml could 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.0VERSION
$Revision: 1.18 $ on $Date: 2006/04/18 10:00:31 $ 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