Package 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:
- $Id: XPathTool.java 463298 2006-10-12 16:10:32Z henning $
- Author:
- bob mcwhirter, Jon S. Stevens, Attila Szegedi
-
-
Constructor Summary
Constructors Constructor Description XPathTool()
Constructor does nothing, as this is mostly just objectified static methods
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description NodeList
applyTo(java.lang.String xpathSpec, java.util.List nodeSet)
Apply an XPath to a nodesetNodeList
applyTo(java.lang.String xpathSpec, org.jdom.Document doc)
Apply an XPath to a JDOM DocumentNodeList
applyTo(java.lang.String xpathSpec, org.jdom.Element elem)
Apply an XPath to a JDOM Element
-
-
-
Method Detail
-
applyTo
public NodeList applyTo(java.lang.String xpathSpec, org.jdom.Document doc)
Apply an XPath to a JDOM Document- Parameters:
xpathSpec
- The XPath to applydoc
- The Document context- Returns:
- A list of selected nodes
-
applyTo
public NodeList applyTo(java.lang.String xpathSpec, org.jdom.Element elem)
Apply an XPath to a JDOM Element- Parameters:
xpathSpec
- The XPath to applyelem
- The Element context- Returns:
- A list of selected nodes
-
applyTo
public NodeList applyTo(java.lang.String xpathSpec, java.util.List nodeSet)
Apply an XPath to a nodeset- Parameters:
xpathSpec
- The XPath to applynodeSet
- The nodeset context- Returns:
- A list of selected nodes
-
-