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;