Save This Page
Home » Open-JDK-6.b17-src » com.sun.org.apache.xpath » internal » [javadoc | source]
com.sun.org.apache.xpath.internal
public class: XPathAPI [javadoc | source]
java.lang.Object
   com.sun.org.apache.xpath.internal.XPathAPI
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 from com.sun.org.apache.xpath.internal.XPathAPI Summary:
eval,   eval,   eval,   selectNodeIterator,   selectNodeIterator,   selectNodeList,   selectNodeList,   selectSingleNode,   selectSingleNode
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from com.sun.org.apache.xpath.internal.XPathAPI Detail:
 public static XObject eval(Node contextNode,
    String str) throws TransformerException 
    Evaluate XPath string to an XObject. Using this method, XPath namespace prefixes will be resolved from the namespaceNode.
 public static XObject eval(Node contextNode,
    String str,
    Node namespaceNode) throws 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.
 public static XObject eval(Node contextNode,
    String str,
    PrefixResolver prefixResolver) throws 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.
 public static NodeIterator selectNodeIterator(Node contextNode,
    String str) throws TransformerException 
    Use an XPath string to select a nodelist. XPath namespace prefixes are resolved from the contextNode.
 public static NodeIterator selectNodeIterator(Node contextNode,
    String str,
    Node namespaceNode) throws TransformerException 
    Use an XPath string to select a nodelist. XPath namespace prefixes are resolved from the namespaceNode.
 public static NodeList selectNodeList(Node contextNode,
    String str) throws TransformerException 
    Use an XPath string to select a nodelist. XPath namespace prefixes are resolved from the contextNode.
 public static NodeList selectNodeList(Node contextNode,
    String str,
    Node namespaceNode) throws TransformerException 
    Use an XPath string to select a nodelist. XPath namespace prefixes are resolved from the namespaceNode.
 public static Node selectSingleNode(Node contextNode,
    String str) throws 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).
 public static Node selectSingleNode(Node contextNode,
    String str,
    Node namespaceNode) throws TransformerException 
    Use an XPath string to select a single node. XPath namespace prefixes are resolved from the namespaceNode.