NAME

XML::Validate::Base - Abstract base class to be used by XML::Validate modules

SYNOPSIS

use XML::Validate::Base;

sub new {
  ... override new ...
}

sub validate {
  ... override validate ...
}

DESCRIPTION

XML::Validate::Base provides a base class with helpful subs for real XML::Validate modules.

METHODS

new(%options)

Constructs a new validator. This method must be overridden.

validate($xml)

Parses and validates $xml. Returns a true value on success, undef on failure. This method must be overridden.

options

An accessor for the options hashref.

set_options($supplied_options,$valid_options)

Sets the options for the validator. $supplied_options and $valid_options are hash refs containing respectively the options supplied to the constructor and the valid options for validator along with their default values.

If the supplied options hash ref contains an option not listed in valid options, this sub throws an exception.

last_error

Returns the error from the last validate call. This is a hash ref with the following fields:

  • message

  • line

  • column

Note that the error gets cleared at the beginning of each validate call.

add_error($error)

Stores $error for retrieval by last_error. $error should be a hash ref.

clear_errors

Clears any errors held by the validator.

VERSION

$Revision: 1.9 $ on $Date: 2005/09/06 11:05:08 $ by $Author: johna $

AUTHOR

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