XML::SAX::Expat - SAX2 Driver for Expat (XML::Parser)
Contents
Copyright And License
Copyright (c) 2001-2008 Robin Berjon. All rights reserved. This program is free software; you can
redistribute it and/or modify it under the same terms as Perl itself.
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
