# Print output for @column tags ?>
Developers

- Design
- Develop
- Distribute

Developer Console

## Most visited

## Recently visited

## Results for

# XPath

`public interface XPath`
``

javax.xml.xpath.XPath

`XPath` provides access to the XPath evaluation environment and expressions.

Evaluation of XPath Expressions.
context | If a request is made to evaluate the expression in the absence of a context item, an empty document node will be used for the context. For the purposes of evaluating XPath expressions, a DocumentFragment is treated like a Document node.
variables | If the expression contains a variable reference, its value will be found through the `XPathVariableResolver` set with `setXPathVariableResolver(javax.xml.xpath.XPathVariableResolver)`. An `XPathExpressionException` is raised if the variable resolver is undefined or the resolver returns `null` for the variable. The value of a variable must be immutable through the course of any single evaluation.
functions | If the expression contains a function reference, the function will be found through the `XPathFunctionResolver` set with `setXPathFunctionResolver(javax.xml.xpath.XPathFunctionResolver)`. An `XPathExpressionException` is raised if the function resolver is undefined or the function resolver returns `null` for the function.
QNames | QNames in the expression are resolved against the XPath namespace context set with `setNamespaceContext(javax.xml.namespace.NamespaceContext)`.
result | This result of evaluating an expression is converted to an instance of the desired return type. Valid return types are defined in `XPathConstants`. Conversion to the return type follows XPath conversion rules.

See also:

- XML Path Language (XPath) Version 1.0

## Summary

### Public methods
`abstract XPathExpression` | `compile(String expression)` Compile an XPath expression for later evaluation.
`abstract Object` | `evaluate(String expression, Object item, QName returnType)` Evaluate an `XPath` expression in the specified context and return the result as the specified type.
`abstract String` | `evaluate(String expression, Object item)` Evaluate an XPath expression in the specified context and return the result as a `String`.
`abstract Object` | `evaluate(String expression, InputSource source, QName returnType)` Evaluate an XPath expression in the context of the specified `InputSource` and return the result as the specified type.
`abstract String` | `evaluate(String expression, InputSource source)` Evaluate an XPath expression in the context of the specified `InputSource` and return the result as a `String`.
`abstract NamespaceContext` | `getNamespaceContext()` Return the current namespace context.
`abstract XPathFunctionResolver` | `getXPathFunctionResolver()` Return the current function resolver.
`abstract XPathVariableResolver` | `getXPathVariableResolver()` Return the current variable resolver.
`abstract void` | `reset()` Reset this `XPath` to its original configuration.
`abstract void` | `setNamespaceContext(NamespaceContext nsContext)` Establish a namespace context.
`abstract void` | `setXPathFunctionResolver(XPathFunctionResolver resolver)` Establish a function resolver.
`abstract void` | `setXPathVariableResolver(XPathVariableResolver resolver)` Establish a variable resolver.

## Public methods

### compile

    public abstract XPathExpression compile (String expression)

Compile an XPath expression for later evaluation.

If `expression` contains any `XPathFunction`s, they must be available via the `XPathFunctionResolver`. An `XPathExpressionException` will be thrown if the `XPathFunction` cannot be resolved with the `XPathFunctionResolver`.

If `expression` is `null`, a `NullPointerException` is thrown.

Parameters
`expression` | `String`: The XPath expression.

Returns
`XPathExpression` | Compiled XPath expression.

Throws
`XPathExpressionException` | If `expression` cannot be compiled.
`NullPointerException` | If `expression` is `null`.

### evaluate

    public abstract Object evaluate (String expression,
                    Object item,
                    QName returnType)

Evaluate an `XPath` expression in the specified context and return the result as the specified type.

See Evaluation of XPath Expressions for context item evaluation, variable, function and `QName` resolution and return type conversion.

If `returnType` is not one of the types defined in `XPathConstants` ( `XPathConstants#NUMBER`, `XPathConstants#STRING`, `XPathConstants#BOOLEAN`, `XPathConstants#NODE` or `XPathConstants#NODESET`) then an `IllegalArgumentException` is thrown.

If a `null` value is provided for `item`, an empty document will be used for the context. If `expression` or `returnType` is `null`, then a `NullPointerException` is thrown.

Parameters
`expression` | `String`: The XPath expression.
`item` | `Object`: The starting context (node or node list, for example).
`returnType` | `QName`: The desired return type.

Returns
`Object` | Result of evaluating an XPath expression as an `Object` of `returnType`.

Throws
`XPathExpressionException` | If `expression` cannot be evaluated.
`IllegalArgumentException` | If `returnType` is not one of the types defined in `XPathConstants`.
`NullPointerException` | If `expression` or `returnType` is `null`.

### evaluate

    public abstract String evaluate (String expression,
                    Object item)

Evaluate an XPath expression in the specified context and return the result as a `String`.

This method calls `evaluate(java.lang.String, java.lang.Object, javax.xml.namespace.QName)` with a `returnType` of `XPathConstants#STRING`.

See Evaluation of XPath Expressions for context item evaluation, variable, function and QName resolution and return type conversion.

If a `null` value is provided for `item`, an empty document will be used for the context. If `expression` is `null`, then a `NullPointerException` is thrown.

Parameters
`expression` | `String`: The XPath expression.
`item` | `Object`: The starting context (node or node list, for example).

Returns
`String` | The `String` that is the result of evaluating the expression and converting the result to a `String`.

Throws
`XPathExpressionException` | If `expression` cannot be evaluated.
`NullPointerException` | If `expression` is `null`.

### evaluate

    public abstract Object evaluate (String expression,
                    InputSource source,
                    QName returnType)

Evaluate an XPath expression in the context of the specified `InputSource` and return the result as the specified type.

This method builds a data model for the `InputSource` and calls `evaluate(java.lang.String, java.lang.Object, javax.xml.namespace.QName)` on the resulting document object.

See Evaluation of XPath Expressions for context item evaluation, variable, function and QName resolution and return type conversion.

If `returnType` is not one of the types defined in `XPathConstants`, then an `IllegalArgumentException` is thrown.

If `expression`, `source` or `returnType` is `null`, then a `NullPointerException` is thrown.

Parameters
`expression` | `String`: The XPath expression.
`source` | `InputSource`: The input source of the document to evaluate over.
`returnType` | `QName`: The desired return type.

Returns
`Object` | The `Object` that encapsulates the result of evaluating the expression.

Throws
`XPathExpressionException` | If expression cannot be evaluated.
`IllegalArgumentException` | If `returnType` is not one of the types defined in `XPathConstants`.
`NullPointerException` | If `expression`, `source` or `returnType` is `null`.

### evaluate

    public abstract String evaluate (String expression,
                    InputSource source)

Evaluate an XPath expression in the context of the specified `InputSource` and return the result as a `String`.

This method calls `evaluate(java.lang.String, org.xml.sax.InputSource, javax.xml.namespace.QName)` with a `returnType` of `XPathConstants#STRING`.

See Evaluation of XPath Expressions for context item evaluation, variable, function and QName resolution and return type conversion.

If `expression` or `source` is `null`, then a `NullPointerException` is thrown.

Parameters
`expression` | `String`: The XPath expression.
`source` | `InputSource`: The `InputSource` of the document to evaluate over.

Returns
`String` | The `String` that is the result of evaluating the expression and converting the result to a `String`.

Throws
`XPathExpressionException` | If expression cannot be evaluated.
`NullPointerException` | If `expression` or `source` is `null`.

### getNamespaceContext

    public abstract NamespaceContext getNamespaceContext ()

Return the current namespace context.

`null` is returned in no namespace context is in effect.

Returns
`NamespaceContext` | Current Namespace context.

### getXPathFunctionResolver

    public abstract XPathFunctionResolver getXPathFunctionResolver ()

Return the current function resolver.

`null` is returned in no function resolver is in effect.

Returns
`XPathFunctionResolver` | Current function resolver.

### getXPathVariableResolver

    public abstract XPathVariableResolver getXPathVariableResolver ()

Return the current variable resolver.

`null` is returned in no variable resolver is in effect.

Returns
`XPathVariableResolver` | Current variable resolver.

### reset

    public abstract void reset ()

Reset this `XPath` to its original configuration.

`XPath` is reset to the same state as when it was created with `XPathFactory#newXPath()`. `reset()` is designed to allow the reuse of existing `XPath`s thus saving resources associated with the creation of new `XPath`s.

The reset `XPath` is not guaranteed to have the same `XPathFunctionResolver`, `XPathVariableResolver` or `NamespaceContext` `Object`s, e.g. `Object#equals(Object obj)`. It is guaranteed to have a functionally equal `XPathFunctionResolver`, `XPathVariableResolver` and `NamespaceContext`.

### setNamespaceContext

    public abstract void setNamespaceContext (NamespaceContext nsContext)

Establish a namespace context.

A `NullPointerException` is thrown if `nsContext` is `null`.

Parameters
`nsContext` | `NamespaceContext`: Namespace context to use.

Throws
`NullPointerException` | If `nsContext` is `null`.

### setXPathFunctionResolver

    public abstract void setXPathFunctionResolver (XPathFunctionResolver resolver)

Establish a function resolver.

A `NullPointerException` is thrown if `resolver` is `null`.

Parameters
`resolver` | `XPathFunctionResolver`: XPath function resolver.

Throws
`NullPointerException` | If `resolver` is `null`.

### setXPathVariableResolver

    public abstract void setXPathVariableResolver (XPathVariableResolver resolver)

Establish a variable resolver.

A `NullPointerException` is thrown if `resolver` is `null`.

Parameters
`resolver` | `XPathVariableResolver`: Variable resolver.

Throws
`NullPointerException` | If `resolver` is `null`.

Full name *
Email address *
Company / developer name
One of your Play Store app URLs *
Which best describes your business:*
Apps
Games
Apps & Games
*
*