Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
XML::Validate(3)      User Contributed Perl Documentation     XML::Validate(3)

NAME
       XML::Validate - an XML validator	factory

SYNOPSIS
	 my $validator = new XML::Validate(Type	=> 'LibXML');

	 if ($validator->validate($xml)) {
	   print "Document is valid\n";
	 } else	{
	   print "Document is invalid\n";
	   my $message = $validator->last_error()->{message};
	   my $line = $validator->last_error()->{line};
	   my $column =	$validator->last_error()->{column};
	   print "Error: $message at line $line, column	$column\n";
	 }

DESCRIPTION
       XML::Validate is	a generic interface to different XML validation
       backends.  For a	list of	backend	included with this distribution	see
       the README.

       If you want to write your own backends, the easiest way is probably to
       subclass	XML::Validate::Base. Look at the existing backends for
       examples.

METHODS
       new(Type	=> $type, Options => \%options)
	   Returns a new XML::Validate parser object of	type $type. For
	   available types see README or use 'BestAvailable' (see "BEST
	   AVAILABLE").

	   The optional	argument Options can be	used to	supply a set of	key-
	   value pairs to the backend parser. See the documentation for
	   individual backends for details of these options.

       validate($xml_string)
	   Attempts a validating parse of the XML document $xml_string and
	   returns a true value	on success, or undef otherwise.	If the parse
	   fails, the error can	be inspected using "last_error".

	   Note	that documents which don't specify a DTD or schema will	be
	   treated as valid.

	   For DOM-based parsers, the DOM may be accessed by instantiating the
	   backend module directly and calling the "last_dom" method - consult
	   the documentation of	the specific backend modules.  Note that this
	   isn't formally part of the XML::Validate interface as non-DOM-based
	   validators may added	at some	point.

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

	   o   message

	   o   line

	   o   column

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

       type()
	   Returns the type of backend being used.

       version()
	   Returns the version of the backend

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	methods	will throw exceptions.
       Wrap calls with eval to catch them.

BEST AVAILABLE
       The BestAvailable backend type will check which backends	are available
       and give	you the	"best" of those. For the default order of preference
       see the README with this	distribution, but this can be changed with the
       option PrioritisedList.

       If Xerces and LibXML are	available the following	code will give you a
       LibXML backend:

	 my $validator = new XML::Validate(
	     Type => 'BestAvailable',
	     Options =>	{ PrioritisedList => [ qw( MSXML LibXML	Xerces ) ] },
	 );

KNOWN ISSUES
       There is	a bug in versions 1.57 and 1.58	of XML::LibXML that causes an
       issue related to	DTD loading. When a base parameter is used in
       conjunction with	the load_ext_dtd method	the base parameter is ignored
       and the current directory is used as the	base parameter.	In other
       words, when validating XML with LibXML any base parameter option	will
       be ignored, which may result in unexpected DTD loading errors. This was
       reported	as bug on November 30th	2005 and the bug report	can be viewed
       here http://rt.cpan.org/Public/Bug/Display.html?id=16213

VERSION
       $Revision: 1.25 $ on $Date: 2006/04/19 10:16:19 $ 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

perl v5.24.1			  2006-04-19		      XML::Validate(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | ERROR REPORTING | BEST AVAILABLE | KNOWN ISSUES | VERSION | AUTHOR | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=XML::Validate&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help