XML::Stream::Node − Functions to make building and parsing the tree easier to work with.
Just a
collection of functions that do not need to be in memory if
you
choose one of the other methods of data storage.
This creates a hierarchy of Perl objects and provides
various methods
to manipulate the structure of the tree. It is much like the
C library
libxml.
The result of parsing:
<foo><head id="a">Hello <em>there</em></head><bar>Howdy<ref/></bar>do</foo>
would be:
[ tag: foo
att: {}
children: [ tag: head
att: {id=>"a"}
children: [ tag: "__xmlstream__:node:cdata"
children: "Hello "
]
[ tag: em
children: [ tag: "__xmlstream__:node:cdata"
children: "there"
]
]
]
[ tag: bar
children: [ tag: "__xmlstream__:node:cdata"
children: "Howdy "
]
[ tag: ref
]
]
[ tag: "__xmlstream__:node:cdata"
children: "do"
]
]
new() −
creates a new node. If you specify tag, then the root
new(tag) tag is set. If you specify data, then cdata is
added
new(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 current
add_child(tag) node, or creates a new node with the
specified tag
add_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 nodes
child list.
get_cdata() − returns all of the cdata children
concatenated together
into one string.
get_attrib(attrib) − returns the value of the attrib
if it is valid,
or returns undef is attrib is not a real
attribute.
put_attrib(hash) − for each key/value pair specified,
create an
attribute in the node.
remove_attrib(attrib) − remove the specified attribute
from the node.
add_raw_xml(string,[string,...]) − directly add a
string into the XML
packet as the last child, with no
translation.
get_raw_xml() − return all of the XML in a single
string, undef if there
is 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 this
node.
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 0
to see if it matches or not.
GetXML() − return the node in XML string form.
By Ryan Eatmon in June 2002 for http://jabber.org/
Currently maintained by Darian Anthony Patrick.
Copyright (C) 1998−2004 Jabber Software Foundation http://jabber.org/
This module licensed under the LGPL, version 2.1.