XML::SAX::Expat(3pm)

XML::SAX::Expat3pm

Sax2 driver for expat (xml::parser)

Usage

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

Overview

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.

Methods

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

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.

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.

Todo

  - reuse Ken's tests and add more

Releases

13 releases since Debian 3.0 (Woody); the text changed 6 times.

  1. 3.0
  2. 3.1–4.0
  3. 5.0–6.0
  4. 7–9
  5. 10–11
  6. 12–13
  7. Arch

Author

Robin Berjon; stolen from Ken Macleod, [email protected], and with suggestions and feedback from perl-xml. Currently maintained by Bjoern Hoehrmann, <http://bjoern.hoehrmann.de/>.

From perl-xml-sax-expat 0.51-8 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.