APIdia Launch Partner
Top Description Constructors Methods
com.sun.org.apache.xpath.internal

public Class XPathAPI

extends Object
Class Inheritance
Imports
javax.xml.transform.TransformerException, com.sun.org.apache.xml.internal.utils.PrefixResolver, .PrefixResolverDefault, com.sun.org.apache.xpath.internal.objects.XObject, jdk.xml.internal.JdkConstants, org.w3c.dom.Document, .Node, .NodeList, org.w3c.dom.traversal.NodeIterator

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.

See Also
XPath Specification

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public static XObject

Returns:

An XObject, which can be used to obtain a string, number, nodelist, etc, should never be null.
eval
(Node
The node to start searching from.
contextNode
,
String
A valid XPath string.
str
)

Evaluate XPath string to an XObject.

public static XObject

Returns:

An XObject, which can be used to obtain a string, number, nodelist, etc, should never be null.
eval
(Node
The node to start searching from.
contextNode
,
String
A valid XPath string.
str
,
Node
The node from which prefixes in the XPath will be resolved to namespaces.
namespaceNode
)

Evaluate XPath string to an XObject.

public static XObject

Returns:

An XObject, which can be used to obtain a string, number, nodelist, etc, should never be null.
eval
(Node
The node to start searching from.
contextNode
,
String
A valid XPath string.
str
,
PrefixResolver
Will be called if the parser encounters namespace prefixes, to resolve the prefixes to URLs.
prefixResolver
)

Evaluate XPath string to an XObject.

public static NodeIterator

Returns:

A NodeIterator, should never be null.
selectNodeIterator
(Node
The node to start searching from.
contextNode
,
String
A valid XPath string.
str
)

Use an XPath string to select a nodelist.

public static NodeIterator

Returns:

A NodeIterator, should never be null.
selectNodeIterator
(Node
The node to start searching from.
contextNode
,
String
A valid XPath string.
str
,
Node
The node from which prefixes in the XPath will be resolved to namespaces.
namespaceNode
)

Use an XPath string to select a nodelist.

public static NodeList

Returns:

A NodeIterator, should never be null.
selectNodeList
(Node
The node to start searching from.
contextNode
,
String
A valid XPath string.
str
)

Use an XPath string to select a nodelist.

public static NodeList

Returns:

A NodeIterator, should never be null.
selectNodeList
(Node
The node to start searching from.
contextNode
,
String
A valid XPath string.
str
,
Node
The node from which prefixes in the XPath will be resolved to namespaces.
namespaceNode
)

Use an XPath string to select a nodelist.

public static Node

Returns:

The first node found that matches the XPath, or null.
selectSingleNode
(Node
The node to start searching from.
contextNode
,
String
A valid XPath string.
str
)

Use an XPath string to select a single node.

public static Node

Returns:

The first node found that matches the XPath, or null.
selectSingleNode
(Node
The node to start searching from.
contextNode
,
String
A valid XPath string.
str
,
Node
The node from which prefixes in the XPath will be resolved to namespaces.
namespaceNode
)

Use an XPath string to select a single node.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

XPathAPIback to summary
public XPathAPI()

Method Detail

evalback to summary
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.

Parameters
contextNode:Node

The node to start searching from.

str:String

A valid XPath string.

Returns:XObject

An XObject, which can be used to obtain a string, number, nodelist, etc, should never be null.

See Also
com.sun.org.apache.xpath.internal.objects.XObject, com.sun.org.apache.xpath.internal.objects.XNull, com.sun.org.apache.xpath.internal.objects.XBoolean, com.sun.org.apache.xpath.internal.objects.XNumber, com.sun.org.apache.xpath.internal.objects.XString, com.sun.org.apache.xpath.internal.objects.XRTreeFrag
evalback to summary
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.

Parameters
contextNode:Node

The node to start searching from.

str:String

A valid XPath string.

namespaceNode:Node

The node from which prefixes in the XPath will be resolved to namespaces.

Returns:XObject

An XObject, which can be used to obtain a string, number, nodelist, etc, should never be null.

See Also
com.sun.org.apache.xpath.internal.objects.XObject, com.sun.org.apache.xpath.internal.objects.XNull, com.sun.org.apache.xpath.internal.objects.XBoolean, com.sun.org.apache.xpath.internal.objects.XNumber, com.sun.org.apache.xpath.internal.objects.XString, com.sun.org.apache.xpath.internal.objects.XRTreeFrag
evalback to summary
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.

Parameters
contextNode:Node

The node to start searching from.

str:String

A valid XPath string.

prefixResolver:PrefixResolver

Will be called if the parser encounters namespace prefixes, to resolve the prefixes to URLs.

Returns:XObject

An XObject, which can be used to obtain a string, number, nodelist, etc, should never be null.

See Also
com.sun.org.apache.xpath.internal.objects.XObject, com.sun.org.apache.xpath.internal.objects.XNull, com.sun.org.apache.xpath.internal.objects.XBoolean, com.sun.org.apache.xpath.internal.objects.XNumber, com.sun.org.apache.xpath.internal.objects.XString, com.sun.org.apache.xpath.internal.objects.XRTreeFrag
selectNodeIteratorback to summary
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.

Parameters
contextNode:Node

The node to start searching from.

str:String

A valid XPath string.

Returns:NodeIterator

A NodeIterator, should never be null.

selectNodeIteratorback to summary
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.

Parameters
contextNode:Node

The node to start searching from.

str:String

A valid XPath string.

namespaceNode:Node

The node from which prefixes in the XPath will be resolved to namespaces.

Returns:NodeIterator

A NodeIterator, should never be null.

selectNodeListback to summary
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.

Parameters
contextNode:Node

The node to start searching from.

str:String

A valid XPath string.

Returns:NodeList

A NodeIterator, should never be null.

selectNodeListback to summary
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.

Parameters
contextNode:Node

The node to start searching from.

str:String

A valid XPath string.

namespaceNode:Node

The node from which prefixes in the XPath will be resolved to namespaces.

Returns:NodeList

A NodeIterator, should never be null.

selectSingleNodeback to summary
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).

Parameters
contextNode:Node

The node to start searching from.

str:String

A valid XPath string.

Returns:Node

The first node found that matches the XPath, or null.

selectSingleNodeback to summary
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.

Parameters
contextNode:Node

The node to start searching from.

str:String

A valid XPath string.

namespaceNode:Node

The node from which prefixes in the XPath will be resolved to namespaces.

Returns:Node

The first node found that matches the XPath, or null.