XML::Validate::MSXML(3) Interface to MSXML validator

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

VERSION

$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