SYNOPSIS

  use XML::Handler::Foo;
  use XML::SAX::PurePerl;
  my $handler = XML::Handler::Foo->new();
  my $parser = XML::SAX::PurePerl->new(Handler => $handler);
  $parser->parse_uri("myfile.xml");

DESCRIPTION

This module implements an \s-1XML\s0 parser in pure perl. It is written around the upcoming perl 5.8's unicode support and support for multiple document encodings (using the PerlIO layer), however it has been ported to work with \s-1ASCII/UTF8\s0 documents under lower perl versions.

The \s-1SAX2\s0 \s-1API\s0 is described in detail at http://sourceforge.net/projects/perl-xml/, in the \s-1CVS\s0 archive, under libxml-perl/docs. Hopefully those documents will be in a better location soon.

Please refer to the \s-1SAX2\s0 documentation for how to use this module - it is merely a front end to \s-1SAX2\s0, and implements nothing that is not in that spec (or at least tries not to - please email me if you find errors in this implementation).

BUGS

XML::SAX::PurePerl is slow. Very slow. I suggest you use something else in fact. However it is great as a fallback parser for \s-1XML::SAX\s0, where the user might not be able to install an \s-1XS\s0 based parser or C library.

Currently lots, probably. At the moment the weakest area is parsing \s-1DOCTYPE\s0 declarations, though the code is in place to start doing this. Also parsing parameter entity references is causing me much confusion, since it's not exactly what I would call trivial, or well documented in the \s-1XML\s0 grammar. \s-1XML\s0 documents with internal subsets are likely to fail.

I am however trying to work towards full conformance using the Oasis test suite.

AUTHOR

Matt Sergeant, [email protected]. Copyright 2001.

Please report all bugs to the Perl-XML mailing list at [email protected].

LICENSE

This is free software. You may use it or redistribute it under the same terms as Perl 5.7.2 itself.