Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

XML::DOM::ValParser
an XML::DOM::Parser that validates at parse time

XML::DOM::ValParser - an XML::DOM::Parser that validates at parse time


NAME

XML::DOM::ValParser - an XML::DOM::Parser that validates at parse time


SYNOPSIS


 use XML::DOM::ValParser;

 my %expat_options = (KeepCDATA => 1, 

                      Handlers => [ Unparsed => \&my_Unparsed_handler ]);

 my $parser = new XML::DOM::ValParser (%expat_options);

 eval {

     local $XML::Checker::FAIL = \&my_fail;

     my $doc = $parser->parsefile ("fail.xml");

     ... XML::DOM::Document was created sucessfully ...

 };

 if ($@) {

     # Either XML::Parser (expat) threw an exception or my_fail() died.

     ... your error handling code here ...

     # Note that the XML::DOM::Document is automatically disposed off and

     # will be garbage collected

 }

 # Throws an exception (with die) when an error is encountered, this

 # will stop the parsing process.

 # Don't die if a warning or info message is encountered, just print a message.

 sub my_fail {

     my $code = shift;

     die XML::Checker::error_string ($code, @_) if $code < 200;

     XML::Checker::print_error ($code, @_);

 }


DESCRIPTION

Use XML::DOM::ValParser wherever you would use the XML::DOM::Parser manpage and your XML will be checked using the XML::Checker manpage at parse time.

See the XML::DOM manpage for details on XML::DOM::Parser options. See the XML::Checker manpage for details on setting the fail handler (my_fail.)

The following handlers are currently supported, just like XML::DOM::Parser: Init, Final, Char, Start, End, Default, Doctype, CdataStart, CdataEnd, XMLDecl, Entity, Notation, Proc, Default, Comment, Attlist, Element, Unparsed.


XML::DOM::ValParser

XML::DOM::ValParser extends from the XML::Checker::Parser manpage. It creates an the XML::Checker manpage object and routes all event handlers through the checker, before processing the events to create the XML::DOM::Document.

Just like the XML::Checker::Parser manpage, the checker object can be retrieved with the getChecker() method and can be reused later on (provided that the DOCTYPE section of the XML::DOM::Document did not change in the mean time.)

You can control which errors are fatal (and therefore should stop creation of the XML::DOM::Document) by filtering the appropriate error codes in the global $XML::Checker::FAIL handler (see ERROR_HANDLING in the XML::Checker manpage) and calling die or croak appropriately.

Just like XML::Checker::Parser, XML::DOM::ValParser supports the SkipExternalDTD and SkipInsignifWS options. See the XML::Checker::Parser manpage for details.


AUTHOR

Send bug reports, hints, tips, suggestions to Enno Derksen at <enno@att.com>.


SEE ALSO

the XML::DOM manpage, the XML::Checker manpage (SEE_ALSO in the XML::Checker manpage)

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy