Section: User Contributed Perl Documentation (3pm)
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');
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://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/~checkout~/perl-xml/libxml-perl/doc/sax-2.0.html?rev=HEAD&content-type=text/html
FEATURES AND CAVEATS
* 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.
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
- reuse Ken's tests and add more
COPYRIGHT AND LICENSE