java.lang.Object
org.apache.xpath.XPathAPI
- public class XPathAPI
- extends java.lang.Object
The methods in this class are convenience methods into the
low-level XPath API.
These functions tend to be a little slow, since a number of objects must be
created for each evaluation. A faster way is to precompile the
XPaths using the low-level API, and then just use the XPaths
over and over.
NOTE: In particular, each call to this method will create a new
XPathContext, a new DTMManager... and thus a new DTM. That's very
safe, since it guarantees that you're always processing against a
fully up-to-date view of your document. But it's also portentially
very expensive, since you're rebuilding the DTM every time. You should
consider using an instance of CachedXPathAPI rather than these static
methods.
|
Method Summary |
static org.apache.xpath.objects.XObject |
eval(org.w3c.dom.Node contextNode,
java.lang.String str)
Evaluate XPath string to an XObject. |
static org.apache.xpath.objects.XObject |
eval(org.w3c.dom.Node contextNode,
java.lang.String str,
org.w3c.dom.Node namespaceNode)
Evaluate XPath string to an XObject. |
static org.apache.xpath.objects.XObject |
eval(org.w3c.dom.Node contextNode,
java.lang.String str,
org.apache.xml.utils.PrefixResolver prefixResolver)
Evaluate XPath string to an XObject. |
static org.w3c.dom.traversal.NodeIterator |
selectNodeIterator(org.w3c.dom.Node contextNode,
java.lang.String str)
Use an XPath string to select a nodelist. |
static org.w3c.dom.traversal.NodeIterator |
selectNodeIterator(org.w3c.dom.Node contextNode,
java.lang.String str,
org.w3c.dom.Node namespaceNode)
Use an XPath string to select a nodelist. |
static org.w3c.dom.NodeList |
selectNodeList(org.w3c.dom.Node contextNode,
java.lang.String str)
Use an XPath string to select a nodelist. |
static org.w3c.dom.NodeList |
selectNodeList(org.w3c.dom.Node contextNode,
java.lang.String str,
org.w3c.dom.Node namespaceNode)
Use an XPath string to select a nodelist. |
static org.w3c.dom.Node |
selectSingleNode(org.w3c.dom.Node contextNode,
java.lang.String str)
Use an XPath string to select a single node. |
static org.w3c.dom.Node |
selectSingleNode(org.w3c.dom.Node contextNode,
java.lang.String str,
org.w3c.dom.Node namespaceNode)
Use an XPath string to select a single node. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
XPathAPI
public XPathAPI()
selectSingleNode
public static org.w3c.dom.Node selectSingleNode(org.w3c.dom.Node contextNode,
java.lang.String str)
throws javax.xml.transform.TransformerException
- Use an XPath string to select a single node. XPath namespace
prefixes are resolved from the context node, which may not
be what you want (see the next method).
selectSingleNode
public static org.w3c.dom.Node selectSingleNode(org.w3c.dom.Node contextNode,
java.lang.String str,
org.w3c.dom.Node namespaceNode)
throws javax.xml.transform.TransformerException
- Use an XPath string to select a single node.
XPath namespace prefixes are resolved from the namespaceNode.
selectNodeIterator
public static org.w3c.dom.traversal.NodeIterator selectNodeIterator(org.w3c.dom.Node contextNode,
java.lang.String str)
throws javax.xml.transform.TransformerException
- Use an XPath string to select a nodelist.
XPath namespace prefixes are resolved from the contextNode.
selectNodeIterator
public static org.w3c.dom.traversal.NodeIterator selectNodeIterator(org.w3c.dom.Node contextNode,
java.lang.String str,
org.w3c.dom.Node namespaceNode)
throws javax.xml.transform.TransformerException
- Use an XPath string to select a nodelist.
XPath namespace prefixes are resolved from the namespaceNode.
selectNodeList
public static org.w3c.dom.NodeList selectNodeList(org.w3c.dom.Node contextNode,
java.lang.String str)
throws javax.xml.transform.TransformerException
- Use an XPath string to select a nodelist.
XPath namespace prefixes are resolved from the contextNode.
selectNodeList
public static org.w3c.dom.NodeList selectNodeList(org.w3c.dom.Node contextNode,
java.lang.String str,
org.w3c.dom.Node namespaceNode)
throws javax.xml.transform.TransformerException
- Use an XPath string to select a nodelist.
XPath namespace prefixes are resolved from the namespaceNode.
eval
public static org.apache.xpath.objects.XObject eval(org.w3c.dom.Node contextNode,
java.lang.String str)
throws javax.xml.transform.TransformerException
- Evaluate XPath string to an XObject. Using this method,
XPath namespace prefixes will be resolved from the namespaceNode.
eval
public static org.apache.xpath.objects.XObject eval(org.w3c.dom.Node contextNode,
java.lang.String str,
org.w3c.dom.Node namespaceNode)
throws javax.xml.transform.TransformerException
- Evaluate XPath string to an XObject.
XPath namespace prefixes are resolved from the namespaceNode.
The implementation of this is a little slow, since it creates
a number of objects each time it is called. This could be optimized
to keep the same objects around, but then thread-safety issues would arise.
eval
public static org.apache.xpath.objects.XObject eval(org.w3c.dom.Node contextNode,
java.lang.String str,
org.apache.xml.utils.PrefixResolver prefixResolver)
throws javax.xml.transform.TransformerException
- Evaluate XPath string to an XObject.
XPath namespace prefixes are resolved from the namespaceNode.
The implementation of this is a little slow, since it creates
a number of objects each time it is called. This could be optimized
to keep the same objects around, but then thread-safety issues would arise.