logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

XML::SAX::Expat - SAX2 Driver for Expat (XML::Parser)

Author

       Robin Berjon; stolen from Ken Macleod, ken@bitsko.slc.ut.us, and with suggestions and feedback from perl-
       xml. Currently maintained by Bjoern Hoehrmann, <http://bjoern.hoehrmann.de/>.

Description

       This is an implementation of a SAX2 driver sitting on top of Expat (XML::Parser) which Ken MacLeod posted
       to perl-xml and which I have updated.

       It is still incomplete, though most of the basic SAX2 events should be available. The SAX2 spec is
       currently available from <http://perl-xml.sourceforge.net/perl-sax/>.

       A more friendly URL as well as a PODification of the spec are in the works.

Features And Caveats

       supported_features
         Returns:

           * http://xml.org/sax/features/external-general-entities
           * http://xml.org/sax/features/external-parameter-entities
           * [ Features supported by ancestors ]

         Turning  one  of  the first two on also turns the other on (this maps to the XML::Parser ParseParamEnts
         option). This may be fixed in the future, so don't rely on this behaviour.

Methods

       The methods defined in this class correspond to those listed in the PerlSAX2 specification, available
       above.

Missing Parts

       XML::Parser has no listed callbacks for the following events, which are therefore not presently generated
       (ways may be found in the future):

         * ignorable_whitespace
         * skipped_entity
         * start_entity / end_entity
         * resolve_entity

       Ways of signalling them are welcome. In addition to those, set_document_locator is not yet called.

Name

       XML::SAX::Expat - SAX2 Driver for Expat (XML::Parser)

See Also

       XML::Parser::PerlSAX

perl v5.36.0                                       2022-12-10                                         Expat(3pm)

Synopsis

         use XML::SAX::Expat;
         use XML::SAX::MyFooHandler;
         my $h = XML::SAX::MyFooHandler->new;
         my $p = XML::SAX::Expat->new(Handler => $h);
         $p->parse_file('/path/to/foo.xml');

Todo

         - reuse Ken's tests and add more

See Also