The evaluate() method of the XPathEvaluator interface executes an XPath expression on the given node or document and returns an XPathResult.
Syntax
XPathResult XPathEvaluator.evaluate(expression, contextNode, resolver, type, result);
Parameters
- expression
- A
DOMStringrepresenting the XPath expression to be parsed and evaluated. - contextNode
- A
Noderepresenting the context to use for evaluating the expression. - resolver Optional
- Permits translation of all prefixes, including the
xmlnamespace prefix, within the XPath expression into appropriate namespace URIs. - type Optional
- Specifies the type of result to be returned by evaluating the expression. This must be one of the
XPathResult.Constants. - result Optional
- Allows to specify a result object which may be reused and returned by this method. If this is specified as
nullor the implementation does not reuse the specified result, a new result object will be returned.
Return value
An XPathResult object representing the result of evaluating the XPath expression.
Exceptions
INVALID_EXPRESSION_ERR
If the expression is not legal according to the rules of the XPathEvaluator, an XPathException of type INVALID_EXPRESSION_ERR is raised.
TYPE_ERR
In case result cannot be converted to the specified type, an XPathException of type TYPE_ERR is raised.
NAMESPACE_ERR
If the expression contains namespace prefixes which cannot be resolved by the specified XPathNSResolver, a DOMException of type NAMESPACE_ERROR is raised.
WRONG_DOCUMENT_ERR
If the provided context node is from a document that is not supported by the XPathEvaluator, a DOMException of type WRONG_DOCUMENT_ERR is raised.
NOT_SUPPORTED_ERR
If the provided context node is not a type permitted as an XPath context node or the request type is not permitted by the XPathEvaluator, a DOMException of type NOT_SUPPORTED_ERR is raised.
Example
The following example shows the use of the evaluate() method.
HTML
<div>XPath example</div>
<div>Number of <div>s: <output></output></div>
JavaScript
var evaluator = new XPathEvaluator();
var result = evaluator.evaluate("//div", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE);
document.querySelector("output").textContent = result.snapshotLength;
Result
Specifications
| Specification | Status | Comment |
| Document Object Model (DOM) Level 3 XPath SpecificationThe definition of 'XPathEvaluator.evaluate()' in that specification. | Recommendation | Initial definition |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
No compatibility data found. Please contribute data for "api.XPathEvaluator.evaluate()" (depth: 1) to the MDN compatibility data repository.
XPathEvaluator.evaluate() by Mozilla Contributors is licensed under CC-BY-SA 2.5.