org.apache.velocity.anakia
Class XPathTool
java.lang.Object
org.apache.velocity.anakia.XPathTool
public class XPathTool
extends java.lang.Object
This class adds an entrypoint into XPath functionality,
for Anakia.
All methods take a string XPath specification, along with
a context, and produces a resulting java.util.List.
The W3C XPath Specification (http://www.w3.org/TR/xpath) refers
to NodeSets repeatedly, but this implementation simply uses
java.util.List to hold all Nodes. A 'Node' is any object in
a JDOM object tree, such as an org.jdom.Element, org.jdom.Document,
or org.jdom.Attribute.
To use it in Velocity, do this:
#set $authors = $xpath.applyTo("document/author", $root)
#foreach ($author in $authors)
$author.getValue()
#end
#set $chapterTitles = $xpath.applyTo("document/chapter/@title", $root)
#foreach ($title in $chapterTitles)
$title.getValue()
#end
In newer Anakia builds, this class is obsoleted in favor of calling
selectNodes()
on the element directly:
#set $authors = $root.selectNodes("document/author")
#foreach ($author in $authors)
$author.getValue()
#end
#set $chapterTitles = $root.selectNodes("document/chapter/@title")
#foreach ($title in $chapterTitles)
$title.getValue()
#end
Version:
- bob mcwhirter
- Jon S. Stevens
- Attila Szegedi
XPathTool() - Constructor does nothing, as this is mostly
just objectified static methods
|
NodeList | applyTo(String xpathSpec, Document doc) - Apply an XPath to a JDOM Document
|
NodeList | applyTo(String xpathSpec, Element elem) - Apply an XPath to a JDOM Element
|
NodeList | applyTo(String xpathSpec, List nodeSet) - Apply an XPath to a nodeset
|
XPathTool
public XPathTool()
Constructor does nothing, as this is mostly
just objectified static methods
applyTo
public NodeList applyTo(String xpathSpec,
Document doc)
Apply an XPath to a JDOM Document
xpathSpec
- The XPath to applydoc
- The Document context
- A list of selected nodes
applyTo
public NodeList applyTo(String xpathSpec,
Element elem)
Apply an XPath to a JDOM Element
xpathSpec
- The XPath to apply
- A list of selected nodes
applyTo
public NodeList applyTo(String xpathSpec,
List nodeSet)
Apply an XPath to a nodeset
xpathSpec
- The XPath to apply
- A list of selected nodes
Copyright B) 2002 Apache Software Foundation. All Rights Reserved.