NAME

XML::Validate::MSXML - 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