xml::libxml::sax::parser(3)
NAME
XML::LibXML::SAX::Parser - LibXML DOM based SAX Parser
SYNOPSIS
my $handler = MySAXHandler->new();
my $parser = XML::LibXML::SAX::Parser->new(Handler =>
$handler);
$parser->parse_uri("foo.xml");
DESCRIPTION
This class allows you to generate SAX2 events using
LibXML. Note that this is not a stream based parser,
instead it parses documents into a DOM and traverses the
DOM tree. The reason being that libxml2's stream based
parsing is extremely primitive, and would require an
extreme amount of work to allow SAX2 parsing in a stream
manner.
WARNING
WARNING WARNING WARNING
This is NOT a streaming SAX parser. As I said above, this
parser reads the entire document into a DOM and serialises
it. Some people couldn't read that in the paragraph above
so I've added this warning.
There are many reasons, but if you want to write a proper
SAX parser using the libxml2 library, please feel free and
send it along to me.
API
The API is exactly the same as any other Perl SAX2 parser.
See XML::SAX::Intro for details.
- Aside from the regular parsing methods, you can access the
DOM tree traverser directly, using the generate() method: - my $parser = XML::LibXML::SAX::Parser->new(...);
$parser->generate($dom_tree); - This is useful for serializing DOM trees, for example that
you might have done prior processing on, or that you have
as a result of XSLT processing.