Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
POE::Filter::XML::NodeUser Contributed Perl DocumentaPOE::Filter::XML::Node(3)

NAME
       POE::Filter::XML::Node -	A XML::LibXML::Element subclass	that adds
       streaming semantics

VERSION
       version 1.140700

SYNOPSIS
	   use POE::Filter::XML::Node;

	   my $node = POE::Filter::XML::Node->new('iq');

	   $node->setAttributes(
	       ['to', 'foo@other',
	       'from', 'bar@other',
	       'type', 'get']
	   );

	   my $query = $node->addNewChild('jabber:iq:foo', 'query');

	   $query->appendTextChild('foo_tag', 'bar');

	   say $node->toString();

	   --

	   (newlines and tabs for example only)

	   <iq to='foo@other' from='bar@other' type='get'>
	       <query xmlns='jabber:iq:foo'>
		   <foo_tag>bar</foo_tag>
	       </query>
	   </iq>

DESCRIPTION
       POE::Filter::XML::Node is a XML::LibXML::Element	subclass that aims to
       provide a few extra convenience methods and light integration into a
       streaming context.

       This module can be used to create arbitrarily complex XML data
       structures that know how	to stringify themselves.

PUBLIC_ATTRIBUTES
   stream_[start|end]
	   is: ro, isa:	Bool, default: false

       These two attributes define behaviors to	toString() for the node. In
       the case	of stream_start, this means dropping all children and merely
       leaving the tag unterminated (eg. <start>). For stream_end, it will
       drop any	children and treat the tag like	a terminator (eg. </end>).

       Each attribute has a private writer ('_set_stream_[start|end]') if it
       necessary to manipulate these attributes	post construction.

PUBLIC_METHODS
   override cloneNode
	   (Bool $deep)

       cloneNode is overriden to carry forward the stream_[end|start]
       attributes

   override toString
	   (Bool $formatted)

       toString	was overridden to provide special stringification semantics
       for when	stream_start or	stream_end are boolean true.

   setAttributes
	   (ArrayRef $array_of_tuples)

       setAttributes() accepts a single	arguement: an array reference.
       Basically you pair up all the attributes	you want to be into the	node
       (ie. [attrib, value]) and this method will process them using
       setAttribute(). This is just a convenience method.

       If one of the attributes	is 'xmlns', setNamespace() will	be called with
       the value used as the $nsURI argument, with no prefix, and not
       activated.

	eg.
	['xmlns', 'http://foo']
	       |
	       V
	setNamespace($value, '', 0)
	       |
	       V
	<node xmlns="http://foo"/>

   getAttributes
	   returns (HashRef)

       This method returns all of the attribute	nodes on the Element
       (filtering out namespace	declarations) as a HashRef.

   getFirstChildByTagName(Str $name)
	   returns (Maybe[POE::Filter::XML::Node])

       This is a convenience method that basically does:
	(getChildrenByTagName($name))[0]

   getChildrenHash
	   returns (HashRef)

       getChildrenHash() returns a hash	reference to all the children of that
       node.  Each key in the hash will	be node	name, and each value will be
       an array	reference with all of the children with	that name.

AUTHOR
       Nicholas	R. Perez <nperez@cpan.org>

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2014 by Nicholas R. Perez
       <nperez@cpan.org>.

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

perl v5.24.1			  2014-03-11	     POE::Filter::XML::Node(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | PUBLIC_ATTRIBUTES | PUBLIC_METHODS | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=POE::Filter::XML::Node&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help