|
BEA Systems, Inc. | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--weblogic.apache.xpath.CachedXPathAPI
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. This is an alternative for the old XPathAPI class, which provided static methods for the purpose but had the drawback of instantiating a new XPathContext (and thus building a new DTMManager, and new DTMs) each time it was called. XPathAPIObject instead retains its context as long as the object persists, reusing the DTMs. This does have a downside: if you've changed your source document, you should obtain a new XPathAPIObject to continue searching it, since trying to use the old DTMs will probably yield bad results or malfunction outright... and the cached DTMs may consume memory until this object and its context are returned to the heap. Essentially, it's the caller's responsibility to decide when to discard the cache.
This class is based on an implementation from the Apache XML Project. In future releases the XML parser, XSLT processor, and associated classes will likely be updated to be based on a later version of the Apache implementations. Since Apache does not guarantee backwards compatibility between versions of their software, we cannot guarantee backwards compatibility of any of the classes contained in the weblogic.apache package or sub-packages.
Field Summary | |
protected XPathContext |
xpathSupport
XPathContext, and thus the document model system (DTMs), persists through multiple calls to this object. |
Constructor Summary | |
CachedXPathAPI()
Default constructor. |
|
CachedXPathAPI(CachedXPathAPI priorXPathAPI)
This constructor shares its XPathContext with a pre-existing CachedXPathAPI. |
Method Summary | |
XObject |
eval(org.w3c.dom.Node contextNode,
java.lang.String str)
Evaluate XPath string to an XObject. |
XObject |
eval(org.w3c.dom.Node contextNode,
java.lang.String str,
org.w3c.dom.Node namespaceNode)
Evaluate XPath string to an XObject. |
XObject |
eval(org.w3c.dom.Node contextNode,
java.lang.String str,
PrefixResolver prefixResolver)
Evaluate XPath string to an XObject. |
XPathContext |
getXPathContext()
Returns the XPathSupport object used in this CachedXPathAPI %REVIEW% I'm somewhat concerned about the loss of encapsulation this causes, but the xml-security folks say they need it. |
org.w3c.dom.traversal.NodeIterator |
selectNodeIterator(org.w3c.dom.Node contextNode,
java.lang.String str)
Use an XPath string to select a nodelist. |
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. |
org.w3c.dom.NodeList |
selectNodeList(org.w3c.dom.Node contextNode,
java.lang.String str)
Use an XPath string to select a nodelist. |
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. |
org.w3c.dom.Node |
selectSingleNode(org.w3c.dom.Node contextNode,
java.lang.String str)
Use an XPath string to select a single node. |
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 |
Field Detail |
protected XPathContext xpathSupport
Constructor Detail |
public CachedXPathAPI()
public CachedXPathAPI(CachedXPathAPI priorXPathAPI)
Method Detail |
public XPathContext getXPathContext()
public org.w3c.dom.Node selectSingleNode(org.w3c.dom.Node contextNode, java.lang.String str) throws javax.xml.transform.TransformerException
contextNode
- The node to start searching from.str
- A valid XPath string.public org.w3c.dom.Node selectSingleNode(org.w3c.dom.Node contextNode, java.lang.String str, org.w3c.dom.Node namespaceNode) throws javax.xml.transform.TransformerException
contextNode
- The node to start searching from.str
- A valid XPath string.namespaceNode
- The node from which prefixes in the XPath will be resolved to namespaces.public org.w3c.dom.traversal.NodeIterator selectNodeIterator(org.w3c.dom.Node contextNode, java.lang.String str) throws javax.xml.transform.TransformerException
contextNode
- The node to start searching from.str
- A valid XPath string.public 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
contextNode
- The node to start searching from.str
- A valid XPath string.namespaceNode
- The node from which prefixes in the XPath will be resolved to namespaces.public org.w3c.dom.NodeList selectNodeList(org.w3c.dom.Node contextNode, java.lang.String str) throws javax.xml.transform.TransformerException
contextNode
- The node to start searching from.str
- A valid XPath string.public org.w3c.dom.NodeList selectNodeList(org.w3c.dom.Node contextNode, java.lang.String str, org.w3c.dom.Node namespaceNode) throws javax.xml.transform.TransformerException
contextNode
- The node to start searching from.str
- A valid XPath string.namespaceNode
- The node from which prefixes in the XPath will be resolved to namespaces.public XObject eval(org.w3c.dom.Node contextNode, java.lang.String str) throws javax.xml.transform.TransformerException
contextNode
- The node to start searching from.str
- A valid XPath string.namespaceNode
- The node from which prefixes in the XPath will be resolved to namespaces.XObject
,
XNull
,
XBoolean
,
XNumber
,
XString
,
XRTreeFrag
public XObject eval(org.w3c.dom.Node contextNode, java.lang.String str, org.w3c.dom.Node namespaceNode) throws javax.xml.transform.TransformerException
contextNode
- The node to start searching from.str
- A valid XPath string.namespaceNode
- The node from which prefixes in the XPath will be resolved to namespaces.XObject
,
XNull
,
XBoolean
,
XNumber
,
XString
,
XRTreeFrag
public XObject eval(org.w3c.dom.Node contextNode, java.lang.String str, PrefixResolver prefixResolver) throws javax.xml.transform.TransformerException
contextNode
- The node to start searching from.str
- A valid XPath string.namespaceNode
- The node from which prefixes in the XPath will be resolved to namespaces.prefixResolver
- Will be called if the parser encounters namespace
prefixes, to resolve the prefixes to URLs.XObject
,
XNull
,
XBoolean
,
XNumber
,
XString
,
XRTreeFrag
|
Documentation is available at http://download.oracle.com/docs/cd/E13222_01/wls/docs70 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |