GNU.WIKI: The GNU/Linux Knowledge Base

  [HOME] [PHP Manual] [HowTo] [ABS] [MAN1] [MAN2] [MAN3] [MAN4] [MAN5] [MAN6] [MAN7] [MAN8] [MAN9]

  [0-9] [Aa] [Bb] [Cc] [Dd] [Ee] [Ff] [Gg] [Hh] [Ii] [Jj] [Kk] [Ll] [Mm] [Nn] [Oo] [Pp] [Qq] [Rr] [Ss] [Tt] [Uu] [Vv] [Ww] [Xx] [Yy] [Zz]


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
           children are inspected.

           The $filter a CODE reference which is called for each child node.
           The only parameter 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 children 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 children 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->nodeNil()
           Returns true if the current node has "xsi:type="true"".

       $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.44, built on
       May 28, 2014. Website: http://perl.overmeer.net/xml-compile/

       Other distributions in this suite: XML::Compile, XML::Compile::SOAP,
       XML::Compile::WSDL11, XML::Compile::SOAP12, XML::Compile::SOAP::Daemon,
       XML::Compile::SOAP::WSA, XML::Compile::C14N, XML::Compile::WSS,
       XML::Compile::WSS::Signature, XML::Compile::Tester,
       XML::Compile::Cache, XML::Compile::Dumper, XML::Compile::RPC,
       XML::Rewrite 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-2014 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.php



  All copyrights belong to their respective owners. Other content (c) 2014-2018, GNU.WIKI. Please report site errors to webmaster@gnu.wiki.
Page load time: 0.110 seconds. Last modified: November 04 2018 12:49:43.