Mark Overmeer > XML-Compile-1.21 > XML::Compile::Iterator

Download:
XML-Compile-1.21.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  3
View/Report Bugs
Module Version: 1.21   Source   Latest Release: XML-Compile-1.43

NAME ^

XML::Compile::Iterator - reduce view on a node tree

SYNOPSIS ^

DESCRIPTION ^

It would have been nice to be able to use XML::LibXML::Iterator, but on the moment of this writing, that module is not maintained. Besides, this implementation of the iterator is more specific for our purpose. The main user for this object currently is XML::Compile::Translate.

METHODS ^

Constructors

$obj->descend([NODE, [PATH, [FILTER]]])

The NODE is a child of the node handled by the iterator where this method is called upon. Without explicit NODE, the current node is used. Returned is a new XML::Compile::Iterator object. The new iterator will use the same FILTER as the parent iterator by default. The internal administered path with be extended with the PATH.

XML::Compile::Iterator->new(NODE, PATH, FILTER,)

The NODE is a XML::LibXML::Node object, of which the direct childs are inspected.

The FILTER a CODE reference which is called for each child node. The only paramter is the parent NODE, and then it must return either true or false. In case of true, the node is selected. The FILTERS is applied to all childs of the NODE once, when the first child is requested by the program.

Attributes

$obj->filter

Returns the CODE reference which is used to select the nodes.

$obj->node

Returns the XML::LibXML::Node node of which the childs are walked through.

$obj->path

The path represents the location where the node is, like a symbolic link, how you got there.

Scanning

$obj->childs

Returns the child nodes which fulfil the filter requirements. In LIST context as list, in SCALAR context as reference to an ARRAY.

$obj->currentChild

Returns the current child node.

$obj->firstChild

Returns the first child node. Does not change the current position.

$obj->lastChild

Returns the last child node which fulfills the requirements. Does not change the current position.

$obj->nextChild

Returns the next child when available, otherwise undef.

$obj->nrChildren

Returns the number of childnodes which fulfill the restriction.

$obj->previousChild

Returns the previous child when available, otherwise undef.

simplify XML node access

$obj->currentContent

Returns the textContent of the currentChild() node, or undef.

$obj->currentLocal

Returns the local name of the currentChild(), or the empty string.

$obj->currentType

Returns the type of the currentChild(), or the empty string.

$obj->nodeLocal

Returns the local name of the node(), or the empty string.

$obj->nodeType

Returns the type of the node(), or the empty string.

$obj->textContent

Returns the textContent of the node(), or undef.

SEE ALSO ^

This module is part of XML-Compile distribution version 1.21, built on December 24, 2010. Website: http://perl.overmeer.net/xml-compile/

Other distributions in this suite: XML::Compile, XML::Compile::SOAP, XML::Compile::SOAP12, XML::Compile::SOAP::Daemon, XML::Compile::SOAP::WSA, XML::Compile::Tester, XML::Compile::Cache, XML::Compile::Dumper, XML::Compile::RPC, XML::Rewrite, XML::eXistDB, and XML::LibXML::Simple.

Please post questions or ideas to the mailinglist at http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/xml-compile For live contact with other developers, visit the #xml-compile channel on irc.perl.org.

LICENSE ^

Copyrights 2006-2010 by Mark Overmeer. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html

syntax highlighting: