|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.saxon.xpath.XPathEvaluator
XPathEvaluator provides a simple API for standalone XPath processing (that is, executing XPath expressions in the absence of an XSLT stylesheet). It is an implementation of the JAXP 1.3 XPath interface, with additional methods provided (a) for backwards compatibility (b) to give extra control over the XPath evaluation, and (c) to support XPath 2.0.
Constructor Summary | |
XPathEvaluator()
Default constructor. |
|
XPathEvaluator(Configuration config)
Construct an XPathEvaluator with a specified configuration. |
|
XPathEvaluator(javax.xml.transform.Source source)
Construct an XPathEvaluator to process a particular source document. |
Method Summary | |
javax.xml.xpath.XPathExpression |
compile(java.lang.String expr)
Compile an XPath 2.0 expression |
XPathExpressionImpl |
createExpression(java.lang.String expression)
Prepare an XPath expression for subsequent evaluation. |
java.util.List |
evaluate(java.lang.String expression)
Prepare and execute an XPath expression, supplied as a string, and returning the results as a List. |
java.lang.String |
evaluate(java.lang.String expr,
org.xml.sax.InputSource inputSource)
Single-shot method to parse and build a source document, and compile an execute an XPath 2.0 expression, against that document, returning the result as a string |
java.lang.Object |
evaluate(java.lang.String expr,
org.xml.sax.InputSource inputSource,
javax.xml.namespace.QName qName)
Single-shot method to parse and build a source document, and compile an execute an XPath 2.0 expression, against that document |
java.lang.String |
evaluate(java.lang.String expr,
java.lang.Object node)
Single-shot method to compile an execute an XPath 2.0 expression, returning the result as a string. |
java.lang.Object |
evaluate(java.lang.String expr,
java.lang.Object node,
javax.xml.namespace.QName qName)
Single-shot method to compile and execute an XPath 2.0 expression. |
java.lang.Object |
evaluateSingle(java.lang.String expression)
Prepare and execute an XPath expression, supplied as a string, and returning the first item in the result. |
javax.xml.namespace.NamespaceContext |
getNamespaceContext()
Get the namespace context, if one has been set using setNamespaceContext(javax.xml.namespace.NamespaceContext) |
StandaloneContext |
getStaticContext()
Get the current static context |
javax.xml.xpath.XPathFunctionResolver |
getXPathFunctionResolver()
Get the resolver for XPath functions |
javax.xml.xpath.XPathVariableResolver |
getXPathVariableResolver()
Get the resolver for XPath variables |
void |
importSchema(javax.xml.transform.Source source)
Import a schema. |
boolean |
isBackwardsCompatible()
Get the value of XPath 1.0 compatibility mode |
static void |
main(java.lang.String[] args)
A simple command-line interface for the XPathEvaluator (not documented). |
void |
reset()
|
void |
setBackwardsCompatible(boolean compatible)
Set XPath 1.0 compatibility mode on or off (by default, it is false) |
void |
setContextNode(NodeInfo node)
Set the context node. |
void |
setNamespaceContext(javax.xml.namespace.NamespaceContext namespaceContext)
Set the namespace context to be used. |
NodeInfo |
setSource(javax.xml.transform.Source source)
Supply the document against which XPath expressions are to be executed. |
void |
setStaticContext(StandaloneContext context)
Set the static context for compiling XPath expressions. |
void |
setStripSpace(boolean strip)
Indicate whether all whitespace text nodes in the source document are to be removed. |
void |
setXPathFunctionResolver(javax.xml.xpath.XPathFunctionResolver xPathFunctionResolver)
Set the resolver for XPath functions |
void |
setXPathVariableResolver(javax.xml.xpath.XPathVariableResolver xPathVariableResolver)
Set the resolver for XPath variables |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public XPathEvaluator()
public XPathEvaluator(Configuration config)
config
- the configuration to be used. If schema-aware XPath expressions are to be used,
this must be a SchemaAwareConfiguration.public XPathEvaluator(javax.xml.transform.Source source) throws XPathException
source
- The source document (or a specific node within it).Method Detail |
public void setStripSpace(boolean strip)
strip
- True if all whitespace text nodes are to be stripped from the source document,
false otherwise. The default if the method is not called is false.public NodeInfo setSource(javax.xml.transform.Source source) throws XPathException
source
- Any javax.xml.transform.Source object representing the document against
which XPath expressions will be executed. Note that a Saxon DocumentInfo
(indeed any NodeInfo
)
can be used as a Source. To use a third-party DOM Document as a source, create an instance of
DOMSource
to wrap it.
The Source object supplied also determines the initial setting of the context item. In most cases the context node will be the root of the supplied document; however, if a NodeInfo or DOMSource is supplied it can be any node in the document.
XPathException
public void setStaticContext(StandaloneContext context)
public StandaloneContext getStaticContext()
public XPathExpressionImpl createExpression(java.lang.String expression) throws XPathException
expression
- The XPath expression to be evaluated, supplied as a string.
XPathException
- if the syntax of the expression is wrong, or if it references namespaces,
variables, or functions that have not been declared.public void setContextNode(NodeInfo node)
node
- The node to be used as the context node. This must
be a node within the context document (the document supplied using the setSource() method).
java.lang.NullPointerException
- if the argument is null
java.lang.IllegalArgumentException
- if the supplied node is not a node in the context documentpublic java.util.List evaluate(java.lang.String expression) throws XPathException
expression
- The XPath expression to be evaluated, supplied as a string.
XPathException
public void reset()
reset
in interface javax.xml.xpath.XPath
public void setBackwardsCompatible(boolean compatible)
compatible
- true if XPath 1.0 compatibility mode is to be set to true, false
if it is to be set to false.public boolean isBackwardsCompatible()
public void setXPathVariableResolver(javax.xml.xpath.XPathVariableResolver xPathVariableResolver)
setXPathVariableResolver
in interface javax.xml.xpath.XPath
xPathVariableResolver
- public javax.xml.xpath.XPathVariableResolver getXPathVariableResolver()
getXPathVariableResolver
in interface javax.xml.xpath.XPath
public void setXPathFunctionResolver(javax.xml.xpath.XPathFunctionResolver xPathFunctionResolver)
setXPathFunctionResolver
in interface javax.xml.xpath.XPath
xPathFunctionResolver
- public javax.xml.xpath.XPathFunctionResolver getXPathFunctionResolver()
getXPathFunctionResolver
in interface javax.xml.xpath.XPath
public void setNamespaceContext(javax.xml.namespace.NamespaceContext namespaceContext)
setNamespaceContext
in interface javax.xml.xpath.XPath
namespaceContext
- The namespace contextpublic javax.xml.namespace.NamespaceContext getNamespaceContext()
setNamespaceContext(javax.xml.namespace.NamespaceContext)
getNamespaceContext
in interface javax.xml.xpath.XPath
public void importSchema(javax.xml.transform.Source source) throws SchemaException
source
- A Source object identifying the schema document to be loaded
SchemaException
- if the schema contained in this document is invalid
java.lang.UnsupportedOperationException
- if the configuration is not schema-awarepublic javax.xml.xpath.XPathExpression compile(java.lang.String expr) throws javax.xml.xpath.XPathExpressionException
compile
in interface javax.xml.xpath.XPath
expr
- the XPath 2.0 expression to be compiled, as a string
javax.xml.xpath.XPathExpressionException
- if there are any static errors in the expression.
Note that references to undeclared variables are not treated as static errors, because
variables are not pre-declared using this API.public java.lang.Object evaluate(java.lang.String expr, java.lang.Object node, javax.xml.namespace.QName qName) throws javax.xml.xpath.XPathExpressionException
evaluate
in interface javax.xml.xpath.XPath
expr
- The XPath 2.0 expression to be compiled and executednode
- The context node for evaluation of the expressionqName
- The type of result required. For details, see
XPathExpressionImpl.evaluate(Object, javax.xml.namespace.QName)
XPathExpressionImpl.evaluate(Object, javax.xml.namespace.QName)
javax.xml.xpath.XPathExpressionException
- if any static or dynamic error occurs
in evaluating the expression.public java.lang.String evaluate(java.lang.String expr, java.lang.Object node) throws javax.xml.xpath.XPathExpressionException
evaluate
in interface javax.xml.xpath.XPath
expr
- The XPath 2.0 expression to be compiled and executednode
- The context node for evaluation of the expression
javax.xml.xpath.XPathExpressionException
- if any static or dynamic error occurs
in evaluating the expression.public java.lang.Object evaluate(java.lang.String expr, org.xml.sax.InputSource inputSource, javax.xml.namespace.QName qName) throws javax.xml.xpath.XPathExpressionException
evaluate
in interface javax.xml.xpath.XPath
expr
- The XPath 2.0 expression to be compiled and executedinputSource
- The source document: this will be parsed and built into a tree,
and the XPath expression will be executed with the root node of the tree as the
context nodeqName
- The type of result required. For details, see
XPathExpressionImpl.evaluate(Object, javax.xml.namespace.QName)
XPathExpressionImpl.evaluate(Object, javax.xml.namespace.QName)
javax.xml.xpath.XPathExpressionException
- if any static or dynamic error occurs
in evaluating the expression.public java.lang.String evaluate(java.lang.String expr, org.xml.sax.InputSource inputSource) throws javax.xml.xpath.XPathExpressionException
evaluate
in interface javax.xml.xpath.XPath
expr
- The XPath 2.0 expression to be compiled and executedinputSource
- The source document: this will be parsed and built into a tree,
and the XPath expression will be executed with the root node of the tree as the
context node
javax.xml.xpath.XPathExpressionException
- if any static or dynamic error occurs
in evaluating the expression.public java.lang.Object evaluateSingle(java.lang.String expression) throws XPathException
expression
- The XPath expression to be evaluated, supplied as a string.
XPathException
public static void main(java.lang.String[] args) throws java.lang.Exception
java.lang.Exception
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |