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

NAME

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

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');

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://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/~checkout~/perl-xml/libxml-perl/doc/sax-2.0.html?rev=HEAD&content-type=text/html

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

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.

CAVEATS

  - this module supports the features http://xml.org/sax/features/external-general-entities
    and http://xml.org/sax/features/external-parameter-entities but turning one 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.

TODO

  - reuse Ken's tests and add more

AUTHOR

Robin Berjon, robin@knowscape.com; stolen from Ken Macleod, ken@bitsko.slc.ut.us, and with suggestions and feedback from perl-xml.

COPYRIGHT

Copyright (c) 2001, 2002 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.

SEE ALSO

XML::Parser::PerlSAX