NAME
XML::Stream::Node - Functions to make building and parsing the tree easier to work with.
SYNOPSIS
Just a collection of functions that do not need to be in memory if youchoose one of the other methods of data storage.This creates a hierarchy of Perl objects and provides various methodsto manipulate the structure of the tree. It is much like the C librarylibxml.
FORMAT
The result of parsing:
<foo><head id="a">Hello <em>there</em></head><bar>Howdy<ref/></bar>do</foo>
would be:
[ tag: fooatt: {}children: [ tag: headatt: {id=>"a"}children: [ tag: "__xmlstream__:node:cdata"children: "Hello "][ tag: emchildren: [ tag: "__xmlstream__:node:cdata"children: "there"]]][ tag: barchildren: [ tag: "__xmlstream__:node:cdata"children: "Howdy "][ tag: ref]][ tag: "__xmlstream__:node:cdata"children: "do"]]
METHODS
new() - creates a new node. If you specify tag, then the rootnew(tag) tag is set. If you specify data, then cdata is addednew(tag,cdata) to the node as well. Returns the created node.get_tag() - returns the root tag of the node.set_tag(tag) - set the root tag of the node to tag.add_child(node) - adds the specified node as a child to the currentadd_child(tag) node, or creates a new node with the specified tagadd_child(tag,cdata) as the root node. Returns the node added.remove_child(node) - removes the child node from the current node.remove_cdata() - removes all of the cdata children from the current node.add_cdata(string) - adds the string as cdata onto the current nodeschild list.get_cdata() - returns all of the cdata children concatenated togetherinto one string.get_attrib(attrib) - returns the value of the attrib if it is valid,or returns undef is attrib is not a realattribute.put_attrib(hash) - for each key/value pair specified, create anattribute in the node.remove_attrib(attrib) - remove the specified attribute from the node.add_raw_xml(string,[string,...]) - directly add a string into the XMLpacket as the last child, with notranslation.get_raw_xml() - return all of the XML in a single string, undef if thereis no raw XML to include.remove_raw_xml() - remove all raw XML strings.children() - return all of the children of the node in a list.attrib() - returns a hash containing all of the attributes on thisnode.copy() - return a recursive copy of the node.XPath(path) - run XML::Stream::XPath on this node.XPathCheck(path) - run XML::Stream::XPath on this node and return 1 or 0to see if it matches or not.GetXML() - return the node in XML string form.
AUTHOR
By Ryan Eatmon in June 2002 for http://jabber.org/
Currently maintained by Darian Anthony Patrick.
COPYRIGHT
Copyright (C) 1998-2004 Jabber Software Foundation http://jabber.org/
This module licensed under the LGPL, version 2.1.