| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.anakia.XPathTool
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
 
 
| Constructor Summary | |
| XPathTool()Constructor does nothing, as this is mostly just objectified static methods | |
| Method Summary | |
|  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 | 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Constructor Detail | 
public XPathTool()
| Method Detail | 
public NodeList applyTo(String xpathSpec,
                        Document doc)
xpathSpec - The XPath to applydoc - The Document context
public NodeList applyTo(String xpathSpec,
                        Element elem)
xpathSpec - The XPath to applyelem - The Element context
public NodeList applyTo(String xpathSpec,
                        List nodeSet)
xpathSpec - The XPath to applynodeSet - The nodeset context
| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||