ABCDEFGHIJKLMNOPQRSTUVWXYZ

XML::DOM::ValParser

XML::DOM::ValParser(3)User Contributed Perl DocumentatioXML::DOM::ValParser(3)



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 XML::DOM::Parser and
       your XML will be checked using XML::Checker at parse time.

       See XML::DOM for details on XML::DOM::Parser options.  See XML::Checker
       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, Com-
       ment, Attlist, Element, Unparsed.

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

       Just like XML::Checker::Parser, 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 cre-
       ation of the XML::DOM::Document) by filtering the appropriate error
       codes in the global $XML::Checker::FAIL handler (see "ERROR_HANDLING"
       in XML::Checker) and calling die or croak appropriately.

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

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

SEE ALSO
       XML::DOM, XML::Checker ("SEE_ALSO" in XML::Checker)



perl v5.8.0                       2000-01-31            XML::DOM::ValParser(3)