The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


XML::LibXML::SAX - XML::LibXML direct SAX parser


XML::LibXML provides an interface to libxml2 direct SAX interface. Through this interface it is possible to generate SAX events directly while parsing a document. While using the SAX parser XML::LibXML will not create a DOM Document tree.

Such an interface is useful if very large XML documents have to be processed and no DOM functions are required. By using this interface it is possible to read data stored within an XML document directly into the application data structures without loading the document into memory.

The SAX interface of XML::LibXML is based on the famous XML::SAX interface. It uses the generic interface as provided by XML::SAX::Base.

Additionally to the generic functions, which are only able to process entire documents, XML::LibXML::SAX provides parse_chunk(). This method generates SAX events from well balanced data such as is often provided by databases.


NOTE: This feature is experimental.

You can enable character data joining which may yield a significant speed boost in your XML processing in lower markup ratio situations by enabling the feature of this parser. This is done via the set_feature method like this:

  $p->set_feature('', 1);

You can also specify a 0 to disable. The default is to have this feature disabled.


Matt Sergeant, Christian Glahn, Petr Pajas




2001-2007, Ltd.

2002-2006, Christian Glahn.

2006-2009, Petr Pajas.


This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.