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

FreeBSD Manual Pages


home | help
AnyEvent::XMPP::Node(3User Contributed Perl DocumentatiAnyEvent::XMPP::Node(3)

       AnyEvent::XMPP::Node - XML node tree helper for the parser.

	  use AnyEvent::XMPP::Node;

       This class represens a XML node.	AnyEvent::XMPP should usually not
       require messing with the	parse tree, but	sometimes it is	neccessary.

       If you experience any need for messing with these and feel
       AnyEvent::XMPP should rather take care of it drop me a mail, feature
       request or most preferably a patch!

       Every AnyEvent::XMPP::Node has a	namespace, attributes, text and	child

       You can access these with the following methods:

       new ($ns, $el, $attrs, $parser)
	   Creates a new AnyEvent::XMPP::Node object with the node tag name
	   $el in the namespace	URI $ns	and the	attributes $attrs. The $parser
	   must	be the instance	of "AnyEvent::XMPP::Parser" which generated
	   this	node.

	   The tag name	of this	node.

	   Returns the namespace URI of	this node.

       eq ($namespace_or_alias,	$name) or eq ($node)
	   Returns true	whether	the current element matches the	tag name $name
	   in the namespaces pointed at	by $namespace_or_alias.

	   You can either pass an alias	that was defined in
	   AnyEvent::XMPP::Namespaces or pass an namespace URI in
	   $namespace_or_alias.	If no alias with the name $namespace_or_alias
	   was found in	AnyEvent::XMPP::Namespaces it will be interpreted as
	   namespace URI.

	   The first argument to eq can	also be	another	AnyEvent::XMPP::Node

       eq_ns ($namespace_or_alias) or eq_ns ($node)
	   This	method return true if the namespace of this instance of
	   AnyEvent::XMPP::Node	matches	the namespace described	by
	   $namespace_or_alias or the namespace	of the $node which has to be
	   another AnyEvent::XMPP::Node	instance.

	   See "eq" for	the meaning of $namespace_or_alias.

       attr ($name)
	   Returns the contents	of the $name attribute.

       add_node	($node)
	   Adds	a sub-node to the current node.

	   Returns a list of sub nodes.

       add_text	($string)
	   Adds	character data to the current node.

	   Returns the text for	this node.

       find_all	(@path)
	   This	method does a recursive	descent	through	the sub-nodes and
	   fetches all nodes that match	the last element of @path.

	   The elements	of @path consist of a array reference to an array with
	   two elements: the namespace key known by the	$parser	and the
	   tagname we search for.

       write_on	($writer)
	   This	writes the current node	out to the AnyEvent::XMPP::Writer
	   object in $writer.

       as_string ()
	   This	method returns the original character representation of	this
	   XML element (and it's children nodes). Please note that the string
	   is a	unicode	string,	meaning: to get	octets use:

	      my $octets = encode ('UTF-8', $node->as_string);

	   Now you can roll stunts like	this:

	      my $libxml = XML::LibXML->new;
	      my $doc	 = $libxml->parse_string (encode ('UTF-8', $node->as_string ()));

	   (You	can use	your favorite XML parser :)

       append_raw ($string)
	   This	method is called by the	parser to store	original strings of
	   this	element.

       to_sax_events ($handler)
	   This	method takes anything that can receive SAX events.  See	also
	   XML::GDOME::SAX::Builder or XML::Handler::BuildDOM or

	   With	this you can convert this node to any DOM level	2 structure
	   you want:

	      my $builder = XML::LibXML::SAX::Builder->new;
	      $node->to_sax_events ($builder);
	      my $dom =	$builder->result;
	      print "Canonized:	" . $dom->toStringC14N . "\n";

       Robin Redeker, "<elmex at>", JID: "<elmex at>"

       Copyright 2007, 2008 Robin Redeker, all rights reserved.

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

perl v5.32.1			  2012-12-25	       AnyEvent::XMPP::Node(3)


Want to link to this manual page? Use this URL:

home | help