perl-XML-Filter-DOMFilter-LibXML - XML-Filter-DOMFilter-LibXML - SAX Filter allowing DOM processing of selected subtrees

Property Value
Distribution RPM Universal
Repository Olea all
Package filename perl-XML-Filter-DOMFilter-LibXML-0.02-1.noarch.rpm
Package name perl-XML-Filter-DOMFilter-LibXML
Package version 0.02
Package release 1
Package architecture noarch
Package type rpm
Homepage -
License -
Maintainer -
Download size 13.87 KB
Installed size 13.36 KB
This module provides a compromise between SAX and DOM processing by
allowing to use DOM API to process only reasonably small parts of an
XML document. It works as a SAX filter temporarily building small DOM
trees around parts selected by given XPath expressions (with some
limitations, see "LIMITATIONS").
The filter has two states which will be refered to as A and B
here. The initial state of the filter is A.
In the state A, only a limited vertical portion of the DOM tree is
built. All SAX events other than start_element are immediatelly passed
to Handler.  On start_element event, a new element node is created in
the DOM tree. All possible existing siblings of the newly created node
are removed. Thus, while in state A, there is exactly one node on
every level of the tree. Now all the XPath expressions are checked in
the context of the newly created node. If none of the expressions
matches, the parser remains in state A and passes the start_element
event to Handler. Otherwise, the callback associated with the first
expression that matched is remembered and the parser changes its state
to B.
In state B the filter builds a complete DOM subtree of the new element
according to the incomming events.  No events are passed to Handler at
this stage. When the subtree is complete (i.e. the corresponding
end-tag is encountered), the callback associated with the XPath
expression that matched is executed.  The root element of the subtree
is passed to the callback subroutine as the only argument.
The callback is allowed to do any DOM operations on the DOM subtree,
even to replace it with one or more new subtrees. The callack must,
however, preserve the element's parent node as well as all its
ancestor nodes intact. Failing to do so can result in an error or
unpredictable results.
When the callback returns, all subtrees that now appear in the
DOM tree under the original element parent are serialized to SAX events
and passed to Handler. After that, they are deleted from the DOM tree
and the filter returns to state A.


Package Version Architecture Repository
perl-XML-Filter-DOMFilter-LibXML - - -


Name Value
perl >= 5.006
perl(XML::LibXML::SAX::Builder) -
perl(XML::LibXML::SAX::Parser) -
perl(base) -
perl(strict) -


Name Value
perl(XML::Filter::DOMFilter::LibXML) = 0.02
perl-XML-Filter-DOMFilter-LibXML = 0.02-1


Type URL
Binary Package perl-XML-Filter-DOMFilter-LibXML-0.02-1.noarch.rpm
Source Package perl-XML-Filter-DOMFilter-LibXML-0.02-1.src.rpm

Install Howto

  1. Download latest olea-repo-release rpm from
  2. Install olea-repo-release rpm:
    # rpm -Uvh olea-repo-release*rpm
  3. Install perl-XML-Filter-DOMFilter-LibXML rpm package:
    # yum install perl-XML-Filter-DOMFilter-LibXML




2007-01-02 - olea@lisergia
- Initial build.

See Also

Package Description
perl-XML-Filter-Hekeln-0.06-1.noarch.rpm XML-Filter-Hekeln - a SAX stream editor
perl-XML-Handler-YAWriter-0.23-1.noarch.rpm XML-Handler-YAWriter - Yet another Perl SAX XML Writer
perl-XML-LibXML-1.62001-8.i386.rpm XML-LibXML Perl module
perl-XML-LibXML-Common-0.13-1.i686.rpm XML-LibXML-Common - Routines and Constants common for XML::LibXML and XML::GDOME
perl-XML-LibXML-Iterator-1.00-1.noarch.rpm XML-LibXML-Iterator - XML::LibXML's Tree Iteration Class
perl-XML-LibXML-XPathContext-0.07-1.i686.rpm XML-LibXML-XPathContext - Perl interface to libxml2's xmlXPathContext
perl-XML-NamespaceSupport-1.09-1.noarch.rpm XML-NamespaceSupport - a simple generic namespace support class
perl-XML-NodeFilter-0.01-1.noarch.rpm XML-NodeFilter - Generic XML::NodeFilter Class
perl-XML-RSS-1.02-1.i386.rpm Autogenerated package for XML-RSS
perl-XML-SAX-0.14-1.noarch.rpm XML-SAX - Simple API for XML
perl-XML-SAX-Writer-0.44-8.noarch.rpm XML-SAX-Writer Perl module
perl-XML-XUpdate-LibXML-0.6.0-1.noarch.rpm XML-XUpdate-LibXML - update XML documents according to XUpdate file
perl-makerpm-0.409-1.noarch.rpm makerpm - Build binary distributions of Perl packages
perl-namespace-autoclean-0.08-1.noarch.rpm namespace-autoclean - Keep\ imports\ out\ of\ your\ namespace
perl-namespace-clean-0.11-1.noarch.rpm namespace-clean - Keep imports and functions out of your namespace