NAME
Tree::XPathEngine::NodeSet - a list of XML document nodes
DESCRIPTION
An Tree::XPathEngine::NodeSet object contains an ordered list of nodes. The nodes each take the same format as described in Tree::XPathEngine::XMLParser.
SYNOPSIS
my $results = $xp->find('//someelement');
if (!$results->isa('Tree::XPathEngine::NodeSet')) {
print "Found $results\n";
exit;
}
foreach my $context ($results->get_nodelist) {
my $newresults = $xp->find('./other/element', $context);
...
}
API
new()
You will almost never have to create a new NodeSet object, as it is all done for you by XPath.
get_nodelist()
Returns a list of nodes. See Tree::XPathEngine::XMLParser for the format of the nodes.
xpath_string_value()
Returns the string-value of the first node in the list. See the XPath specification for what "string-value" means.
xpath_to_literal()
Returns the concatenation of all the string-values of all the nodes in the list.
get_node($pos)
Returns the node at $pos. The node position in XPath is based at 1, not 0.
size()
Returns the number of nodes in the NodeSet.
pop()
Equivalent to perl's pop function.
push(@nodes)
Equivalent to perl's push function.
append($nodeset)
Given a nodeset, appends the list of nodes in $nodeset to the end of the current list.
shift()
Equivalent to perl's shift function.
unshift(@nodes)
Equivalent to perl's unshift function.
prepend($nodeset)
Given a nodeset, prepends the list of nodes in $nodeset to the front of the current list.
xpath_get_root_node
Returns the root node of the first node in the set
sort
Returns a sorted nodeset using the cmp
method on nodes
remove_duplicates
Returns a sorted nodeset of unique nodes. The input nodeset MUST be sorted
xpath_to_boolean
Returns true if the nodeset is not empty
xpath_to_number
Returns the concatenation of all the string-values of all the nodes in the list as a Tree::XPathEngine::Number object;