Return the object at a path
use XML::Grove::Path; # Using at_path method on XML::Grove::Document or XML::Grove::Element: $xml_obj = $grove_object->at_path("/some/path"); # Using an XML::Grove::Path instance: $pather = XML::Grove::Path->new(); $xml_obj = $pather->at_path($grove_object);
\*(C`XML::Grove::Path\*(C' returns \s-1XML\s0 objects located at paths. Paths are strings of element names or \s-1XML\s0 object types separated by slash (\*(L"/\*(R") characters. Paths must always start at the grove object passed to `\*(C`at_path()\*(C''. \*(C`XML::Grove::Path\*(C' is not XPath, but it should become obsolete when an XPath implementation is available.
Paths are like URLs
/html/body/ul/li[4] /html/body/#pi[2]
The path segments can be element names or object types, the objects types are named using:
#element #pi #comment #text #cdata #any
The `\*(C`#any\*(C'' object type matches any type of object, it is essentially an index into the contents of the parent object.
The `\*(C`#text\*(C'' object type treats text objects as if they are not normalized. Two consecutive text objects are separate text objects.
Ken MacLeod, [email protected]
perl\|(1), XML::Grove\|(3)
Extensible Markup Language (\s-1XML\s0) <http://www.w3c.org/XML>