Package org.dom4j
Interface XPath
-
- All Superinterfaces:
NodeFilter
- All Known Implementing Classes:
DefaultXPath
public interface XPath extends NodeFilter
XPath
represents an XPath expression after it has been parsed from a String.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description boolean
booleanValueOf(java.lang.Object context)
Retrieve a boolean-value interpretation of this XPath expression when evaluated against a given context.java.lang.Object
evaluate(java.lang.Object context)
evaluate
evaluates an XPath expression and returns the result as anObject
.org.jaxen.FunctionContext
getFunctionContext()
DOCUMENT ME!org.jaxen.NamespaceContext
getNamespaceContext()
DOCUMENT ME!java.lang.String
getText()
getText
will return the textual version of the XPath expression.org.jaxen.VariableContext
getVariableContext()
DOCUMENT ME!boolean
matches(Node node)
matches
returns true if the given node matches the XPath expression.java.lang.Number
numberValueOf(java.lang.Object context)
numberValueOf
evaluates an XPath expression and returns the numeric value of the XPath expression if the XPath expression results is a number, or null if the result is not a number.java.util.List<Node>
selectNodes(java.lang.Object context)
java.util.List<Node>
selectNodes(java.lang.Object context, XPath sortXPath)
java.util.List<Node>
selectNodes(java.lang.Object context, XPath sortXPath, boolean distinct)
java.lang.Object
selectObject(java.lang.Object context)
Deprecated.please use evaluate(Object) instead.Node
selectSingleNode(java.lang.Object context)
void
setFunctionContext(org.jaxen.FunctionContext functionContext)
Sets the function context to be used when evaluating XPath expressionsvoid
setNamespaceContext(org.jaxen.NamespaceContext namespaceContext)
Sets the namespace context to be used when evaluating XPath expressionsvoid
setNamespaceURIs(java.util.Map<java.lang.String,java.lang.String> map)
Sets the current NamespaceContext from a Map where the keys are the String namespace prefixes and the values are the namespace URIs.void
setVariableContext(org.jaxen.VariableContext variableContext)
Sets the variable context to be used when evaluating XPath expressionsvoid
sort(java.util.List<Node> list)
sort
sorts the given List of Nodes using this XPath expression as aComparator
.void
sort(java.util.List<Node> list, boolean distinct)
sort
sorts the given List of Nodes using this XPath expression as aComparator
and optionally removing duplicates.java.lang.String
valueOf(java.lang.Object context)
valueOf
evaluates this XPath expression and returns the textual representation of the results using the XPath string() function.
-
-
-
Method Detail
-
getText
java.lang.String getText()
getText
will return the textual version of the XPath expression.- Returns:
- the textual format of the XPath expression.
-
matches
boolean matches(Node node)
matches
returns true if the given node matches the XPath expression. To be more precise when evaluating this XPath expression on the given node the result set must include the node.- Specified by:
matches
in interfaceNodeFilter
- Parameters:
node
- DOCUMENT ME!- Returns:
- true if the given node matches this XPath expression
-
evaluate
java.lang.Object evaluate(java.lang.Object context)
-
selectObject
java.lang.Object selectObject(java.lang.Object context)
Deprecated.please use evaluate(Object) instead. WILL BE REMOVED IN dom4j-1.6 !!
-
selectNodes
java.util.List<Node> selectNodes(java.lang.Object context)
selectNodes
performs this XPath expression on the givenNode
orList
ofNode
s instances appending all the results together into a single list.- Parameters:
context
- is either a node or a list of nodes on which to evalute the XPath- Returns:
- the results of all the XPath evaluations as a single list
-
selectNodes
java.util.List<Node> selectNodes(java.lang.Object context, XPath sortXPath)
selectNodes
evaluates the XPath expression on the givenNode
orList
ofNode
s and returns the result as aList
ofNode
s sorted by the sort XPath expression.- Parameters:
context
- is either a node or a list of nodes on which to evalute the XPathsortXPath
- is the XPath expression to sort by- Returns:
- a list of
Node
instances
-
selectNodes
java.util.List<Node> selectNodes(java.lang.Object context, XPath sortXPath, boolean distinct)
selectNodes
evaluates the XPath expression on the givenNode
orList
ofNode
s and returns the result as aList
ofNode
s sorted by the sort XPath expression.- Parameters:
context
- is either a node or a list of nodes on which to evalute the XPathsortXPath
- is the XPath expression to sort bydistinct
- specifies whether or not duplicate values of the sort expression are allowed. If this parameter is true then only distinct sort expressions values are included in the result- Returns:
- a list of
Node
instances
-
selectSingleNode
Node selectSingleNode(java.lang.Object context)
selectSingleNode
evaluates this XPath expression on the givenNode
orList
ofNode
s and returns the result as a singleNode
instance.- Parameters:
context
- is either a node or a list of nodes on which to evalute the XPath- Returns:
- a single matching
Node
instance
-
valueOf
java.lang.String valueOf(java.lang.Object context)
valueOf
evaluates this XPath expression and returns the textual representation of the results using the XPath string() function.- Parameters:
context
- is either a node or a list of nodes on which to evalute the XPath- Returns:
- the string representation of the results of the XPath expression
-
numberValueOf
java.lang.Number numberValueOf(java.lang.Object context)
numberValueOf
evaluates an XPath expression and returns the numeric value of the XPath expression if the XPath expression results is a number, or null if the result is not a number.- Parameters:
context
- is either a node or a list of nodes on which to evalute the XPath- Returns:
- the numeric result of the XPath expression or null if the result is not a number.
-
booleanValueOf
boolean booleanValueOf(java.lang.Object context)
Retrieve a boolean-value interpretation of this XPath expression when evaluated against a given context. The boolean-value of the expression is determined per theboolean(..)
core function as defined in the XPath specification. This means that an expression that selects zero nodes will returnfalse
, while an expression that selects one-or-more nodes will returntrue
.- Parameters:
context
- The node, nodeset or Context object for evaluation. This value can be null- Returns:
- The boolean-value interpretation of this expression.
- Since:
- 1.5
-
sort
void sort(java.util.List<Node> list)
sort
sorts the given List of Nodes using this XPath expression as aComparator
.- Parameters:
list
- is the list of Nodes to sort
-
sort
void sort(java.util.List<Node> list, boolean distinct)
sort
sorts the given List of Nodes using this XPath expression as aComparator
and optionally removing duplicates.- Parameters:
list
- is the list of Nodes to sortdistinct
- if true then duplicate values (using the sortXPath for comparisions) will be removed from the List
-
getFunctionContext
org.jaxen.FunctionContext getFunctionContext()
DOCUMENT ME!- Returns:
- the current function context
-
setFunctionContext
void setFunctionContext(org.jaxen.FunctionContext functionContext)
Sets the function context to be used when evaluating XPath expressions- Parameters:
functionContext
- DOCUMENT ME!
-
getNamespaceContext
org.jaxen.NamespaceContext getNamespaceContext()
DOCUMENT ME!- Returns:
- the current namespace context
-
setNamespaceContext
void setNamespaceContext(org.jaxen.NamespaceContext namespaceContext)
Sets the namespace context to be used when evaluating XPath expressions- Parameters:
namespaceContext
- DOCUMENT ME!
-
setNamespaceURIs
void setNamespaceURIs(java.util.Map<java.lang.String,java.lang.String> map)
Sets the current NamespaceContext from a Map where the keys are the String namespace prefixes and the values are the namespace URIs. For example:Map uris = new HashMap(); uris.put("SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/"); uris.put("m", "urn:xmethodsBabelFish"); XPath xpath = document .createXPath("SOAP-ENV:Envelope/SOAP-ENV:Body/m:BabelFish"); xpath.setNamespaceURIs(uris); Node babelfish = xpath.selectSingleNode(document);
- Parameters:
map
- the map containing the namespace mappings
-
getVariableContext
org.jaxen.VariableContext getVariableContext()
DOCUMENT ME!- Returns:
- the current variable context
-
setVariableContext
void setVariableContext(org.jaxen.VariableContext variableContext)
Sets the variable context to be used when evaluating XPath expressions- Parameters:
variableContext
- DOCUMENT ME!
-
-