Java Code Examples for org.w3c.dom.xpath.XPathExpression#evaluate()

The following examples show how to use org.w3c.dom.xpath.XPathExpression#evaluate() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: XPathEvaluatorImpl.java    From jdk1.8-source-analysis with Apache License 2.0 3 votes vote down vote up
/**
* Evaluates an XPath expression string and returns a result of the
* specified type if possible.
*
* @param expression The XPath expression string to be parsed and
*   evaluated.
* @param contextNode The <code>context</code> is context node for the
*   evaluation of this XPath expression. If the XPathEvaluator was
*   obtained by casting the <code>Document</code> then this must be
*   owned by the same document and must be a <code>Document</code>,
*   <code>Element</code>, <code>Attribute</code>, <code>Text</code>,
*   <code>CDATASection</code>, <code>Comment</code>,
*   <code>ProcessingInstruction</code>, or <code>XPathNamespace</code>
*   node. If the context node is a <code>Text</code> or a
*   <code>CDATASection</code>, then the context is interpreted as the
*   whole logical text node as seen by XPath, unless the node is empty
*   in which case it may not serve as the XPath context.
* @param resolver The <code>resolver</code> permits translation of
*   prefixes within the XPath expression into appropriate namespace URIs
*   . If this is specified as <code>null</code>, any namespace prefix
*   within the expression will result in <code>DOMException</code>
*   being thrown with the code <code>NAMESPACE_ERR</code>.
* @param type If a specific <code>type</code> is specified, then the
*   result will be coerced to return the specified type relying on
*   XPath type conversions and fail if the desired coercion is not
*   possible. This must be one of the type codes of
*   <code>XPathResult</code>.
* @param result The <code>result</code> specifies a specific result
*   object which may be reused and returned by this method. If this is
*   specified as <code>null</code>or the implementation does not reuse
*   the specified result, a new result object will be constructed and
*   returned.For XPath 1.0 results, this object will be of type
*   <code>XPathResult</code>.
* @return The result of the evaluation of the XPath expression.For XPath
*   1.0 results, this object will be of type <code>XPathResult</code>.
* @exception XPathException
*   INVALID_EXPRESSION_ERR: Raised if the expression is not legal
*   according to the rules of the <code>XPathEvaluator</code>i
*   <br>TYPE_ERR: Raised if the result cannot be converted to return the
*   specified type.
* @exception DOMException
*   NAMESPACE_ERR: Raised if the expression contains namespace prefixes
*   which cannot be resolved by the specified
*   <code>XPathNSResolver</code>.
*   <br>WRONG_DOCUMENT_ERR: The Node is from a document that is not
*   supported by this XPathEvaluator.
*   <br>NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath
*   context node.
    *
    * @see org.w3c.dom.xpath.XPathEvaluator#evaluate(String, Node, XPathNSResolver, short, XPathResult)
    */
   public Object evaluate(
           String expression,
           Node contextNode,
           XPathNSResolver resolver,
           short type,
           Object result)
           throws XPathException, DOMException {

           XPathExpression xpathExpression = createExpression(expression, resolver);

           return  xpathExpression.evaluate(contextNode, type, result);
   }
 
Example 2
Source File: XPathEvaluatorImpl.java    From TencentKona-8 with GNU General Public License v2.0 3 votes vote down vote up
/**
* Evaluates an XPath expression string and returns a result of the
* specified type if possible.
*
* @param expression The XPath expression string to be parsed and
*   evaluated.
* @param contextNode The <code>context</code> is context node for the
*   evaluation of this XPath expression. If the XPathEvaluator was
*   obtained by casting the <code>Document</code> then this must be
*   owned by the same document and must be a <code>Document</code>,
*   <code>Element</code>, <code>Attribute</code>, <code>Text</code>,
*   <code>CDATASection</code>, <code>Comment</code>,
*   <code>ProcessingInstruction</code>, or <code>XPathNamespace</code>
*   node. If the context node is a <code>Text</code> or a
*   <code>CDATASection</code>, then the context is interpreted as the
*   whole logical text node as seen by XPath, unless the node is empty
*   in which case it may not serve as the XPath context.
* @param resolver The <code>resolver</code> permits translation of
*   prefixes within the XPath expression into appropriate namespace URIs
*   . If this is specified as <code>null</code>, any namespace prefix
*   within the expression will result in <code>DOMException</code>
*   being thrown with the code <code>NAMESPACE_ERR</code>.
* @param type If a specific <code>type</code> is specified, then the
*   result will be coerced to return the specified type relying on
*   XPath type conversions and fail if the desired coercion is not
*   possible. This must be one of the type codes of
*   <code>XPathResult</code>.
* @param result The <code>result</code> specifies a specific result
*   object which may be reused and returned by this method. If this is
*   specified as <code>null</code>or the implementation does not reuse
*   the specified result, a new result object will be constructed and
*   returned.For XPath 1.0 results, this object will be of type
*   <code>XPathResult</code>.
* @return The result of the evaluation of the XPath expression.For XPath
*   1.0 results, this object will be of type <code>XPathResult</code>.
* @exception XPathException
*   INVALID_EXPRESSION_ERR: Raised if the expression is not legal
*   according to the rules of the <code>XPathEvaluator</code>i
*   <br>TYPE_ERR: Raised if the result cannot be converted to return the
*   specified type.
* @exception DOMException
*   NAMESPACE_ERR: Raised if the expression contains namespace prefixes
*   which cannot be resolved by the specified
*   <code>XPathNSResolver</code>.
*   <br>WRONG_DOCUMENT_ERR: The Node is from a document that is not
*   supported by this XPathEvaluator.
*   <br>NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath
*   context node.
    *
    * @see org.w3c.dom.xpath.XPathEvaluator#evaluate(String, Node, XPathNSResolver, short, XPathResult)
    */
   public Object evaluate(
           String expression,
           Node contextNode,
           XPathNSResolver resolver,
           short type,
           Object result)
           throws XPathException, DOMException {

           XPathExpression xpathExpression = createExpression(expression, resolver);

           return  xpathExpression.evaluate(contextNode, type, result);
   }
 
Example 3
Source File: XPathEvaluatorImpl.java    From jdk8u60 with GNU General Public License v2.0 3 votes vote down vote up
/**
* Evaluates an XPath expression string and returns a result of the
* specified type if possible.
*
* @param expression The XPath expression string to be parsed and
*   evaluated.
* @param contextNode The <code>context</code> is context node for the
*   evaluation of this XPath expression. If the XPathEvaluator was
*   obtained by casting the <code>Document</code> then this must be
*   owned by the same document and must be a <code>Document</code>,
*   <code>Element</code>, <code>Attribute</code>, <code>Text</code>,
*   <code>CDATASection</code>, <code>Comment</code>,
*   <code>ProcessingInstruction</code>, or <code>XPathNamespace</code>
*   node. If the context node is a <code>Text</code> or a
*   <code>CDATASection</code>, then the context is interpreted as the
*   whole logical text node as seen by XPath, unless the node is empty
*   in which case it may not serve as the XPath context.
* @param resolver The <code>resolver</code> permits translation of
*   prefixes within the XPath expression into appropriate namespace URIs
*   . If this is specified as <code>null</code>, any namespace prefix
*   within the expression will result in <code>DOMException</code>
*   being thrown with the code <code>NAMESPACE_ERR</code>.
* @param type If a specific <code>type</code> is specified, then the
*   result will be coerced to return the specified type relying on
*   XPath type conversions and fail if the desired coercion is not
*   possible. This must be one of the type codes of
*   <code>XPathResult</code>.
* @param result The <code>result</code> specifies a specific result
*   object which may be reused and returned by this method. If this is
*   specified as <code>null</code>or the implementation does not reuse
*   the specified result, a new result object will be constructed and
*   returned.For XPath 1.0 results, this object will be of type
*   <code>XPathResult</code>.
* @return The result of the evaluation of the XPath expression.For XPath
*   1.0 results, this object will be of type <code>XPathResult</code>.
* @exception XPathException
*   INVALID_EXPRESSION_ERR: Raised if the expression is not legal
*   according to the rules of the <code>XPathEvaluator</code>i
*   <br>TYPE_ERR: Raised if the result cannot be converted to return the
*   specified type.
* @exception DOMException
*   NAMESPACE_ERR: Raised if the expression contains namespace prefixes
*   which cannot be resolved by the specified
*   <code>XPathNSResolver</code>.
*   <br>WRONG_DOCUMENT_ERR: The Node is from a document that is not
*   supported by this XPathEvaluator.
*   <br>NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath
*   context node.
    *
    * @see org.w3c.dom.xpath.XPathEvaluator#evaluate(String, Node, XPathNSResolver, short, XPathResult)
    */
   public Object evaluate(
           String expression,
           Node contextNode,
           XPathNSResolver resolver,
           short type,
           Object result)
           throws XPathException, DOMException {

           XPathExpression xpathExpression = createExpression(expression, resolver);

           return  xpathExpression.evaluate(contextNode, type, result);
   }
 
Example 4
Source File: XPathEvaluatorImpl.java    From JDKSourceCode1.8 with MIT License 3 votes vote down vote up
/**
* Evaluates an XPath expression string and returns a result of the
* specified type if possible.
*
* @param expression The XPath expression string to be parsed and
*   evaluated.
* @param contextNode The <code>context</code> is context node for the
*   evaluation of this XPath expression. If the XPathEvaluator was
*   obtained by casting the <code>Document</code> then this must be
*   owned by the same document and must be a <code>Document</code>,
*   <code>Element</code>, <code>Attribute</code>, <code>Text</code>,
*   <code>CDATASection</code>, <code>Comment</code>,
*   <code>ProcessingInstruction</code>, or <code>XPathNamespace</code>
*   node. If the context node is a <code>Text</code> or a
*   <code>CDATASection</code>, then the context is interpreted as the
*   whole logical text node as seen by XPath, unless the node is empty
*   in which case it may not serve as the XPath context.
* @param resolver The <code>resolver</code> permits translation of
*   prefixes within the XPath expression into appropriate namespace URIs
*   . If this is specified as <code>null</code>, any namespace prefix
*   within the expression will result in <code>DOMException</code>
*   being thrown with the code <code>NAMESPACE_ERR</code>.
* @param type If a specific <code>type</code> is specified, then the
*   result will be coerced to return the specified type relying on
*   XPath type conversions and fail if the desired coercion is not
*   possible. This must be one of the type codes of
*   <code>XPathResult</code>.
* @param result The <code>result</code> specifies a specific result
*   object which may be reused and returned by this method. If this is
*   specified as <code>null</code>or the implementation does not reuse
*   the specified result, a new result object will be constructed and
*   returned.For XPath 1.0 results, this object will be of type
*   <code>XPathResult</code>.
* @return The result of the evaluation of the XPath expression.For XPath
*   1.0 results, this object will be of type <code>XPathResult</code>.
* @exception XPathException
*   INVALID_EXPRESSION_ERR: Raised if the expression is not legal
*   according to the rules of the <code>XPathEvaluator</code>i
*   <br>TYPE_ERR: Raised if the result cannot be converted to return the
*   specified type.
* @exception DOMException
*   NAMESPACE_ERR: Raised if the expression contains namespace prefixes
*   which cannot be resolved by the specified
*   <code>XPathNSResolver</code>.
*   <br>WRONG_DOCUMENT_ERR: The Node is from a document that is not
*   supported by this XPathEvaluator.
*   <br>NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath
*   context node.
    *
    * @see org.w3c.dom.xpath.XPathEvaluator#evaluate(String, Node, XPathNSResolver, short, XPathResult)
    */
   public Object evaluate(
           String expression,
           Node contextNode,
           XPathNSResolver resolver,
           short type,
           Object result)
           throws XPathException, DOMException {

           XPathExpression xpathExpression = createExpression(expression, resolver);

           return  xpathExpression.evaluate(contextNode, type, result);
   }
 
Example 5
Source File: XPathEvaluatorImpl.java    From openjdk-jdk8u with GNU General Public License v2.0 3 votes vote down vote up
/**
* Evaluates an XPath expression string and returns a result of the
* specified type if possible.
*
* @param expression The XPath expression string to be parsed and
*   evaluated.
* @param contextNode The <code>context</code> is context node for the
*   evaluation of this XPath expression. If the XPathEvaluator was
*   obtained by casting the <code>Document</code> then this must be
*   owned by the same document and must be a <code>Document</code>,
*   <code>Element</code>, <code>Attribute</code>, <code>Text</code>,
*   <code>CDATASection</code>, <code>Comment</code>,
*   <code>ProcessingInstruction</code>, or <code>XPathNamespace</code>
*   node. If the context node is a <code>Text</code> or a
*   <code>CDATASection</code>, then the context is interpreted as the
*   whole logical text node as seen by XPath, unless the node is empty
*   in which case it may not serve as the XPath context.
* @param resolver The <code>resolver</code> permits translation of
*   prefixes within the XPath expression into appropriate namespace URIs
*   . If this is specified as <code>null</code>, any namespace prefix
*   within the expression will result in <code>DOMException</code>
*   being thrown with the code <code>NAMESPACE_ERR</code>.
* @param type If a specific <code>type</code> is specified, then the
*   result will be coerced to return the specified type relying on
*   XPath type conversions and fail if the desired coercion is not
*   possible. This must be one of the type codes of
*   <code>XPathResult</code>.
* @param result The <code>result</code> specifies a specific result
*   object which may be reused and returned by this method. If this is
*   specified as <code>null</code>or the implementation does not reuse
*   the specified result, a new result object will be constructed and
*   returned.For XPath 1.0 results, this object will be of type
*   <code>XPathResult</code>.
* @return The result of the evaluation of the XPath expression.For XPath
*   1.0 results, this object will be of type <code>XPathResult</code>.
* @exception XPathException
*   INVALID_EXPRESSION_ERR: Raised if the expression is not legal
*   according to the rules of the <code>XPathEvaluator</code>i
*   <br>TYPE_ERR: Raised if the result cannot be converted to return the
*   specified type.
* @exception DOMException
*   NAMESPACE_ERR: Raised if the expression contains namespace prefixes
*   which cannot be resolved by the specified
*   <code>XPathNSResolver</code>.
*   <br>WRONG_DOCUMENT_ERR: The Node is from a document that is not
*   supported by this XPathEvaluator.
*   <br>NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath
*   context node.
    *
    * @see org.w3c.dom.xpath.XPathEvaluator#evaluate(String, Node, XPathNSResolver, short, XPathResult)
    */
   public Object evaluate(
           String expression,
           Node contextNode,
           XPathNSResolver resolver,
           short type,
           Object result)
           throws XPathException, DOMException {

           XPathExpression xpathExpression = createExpression(expression, resolver);

           return  xpathExpression.evaluate(contextNode, type, result);
   }
 
Example 6
Source File: XPathEvaluatorImpl.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 3 votes vote down vote up
/**
* Evaluates an XPath expression string and returns a result of the
* specified type if possible.
*
* @param expression The XPath expression string to be parsed and
*   evaluated.
* @param contextNode The <code>context</code> is context node for the
*   evaluation of this XPath expression. If the XPathEvaluator was
*   obtained by casting the <code>Document</code> then this must be
*   owned by the same document and must be a <code>Document</code>,
*   <code>Element</code>, <code>Attribute</code>, <code>Text</code>,
*   <code>CDATASection</code>, <code>Comment</code>,
*   <code>ProcessingInstruction</code>, or <code>XPathNamespace</code>
*   node. If the context node is a <code>Text</code> or a
*   <code>CDATASection</code>, then the context is interpreted as the
*   whole logical text node as seen by XPath, unless the node is empty
*   in which case it may not serve as the XPath context.
* @param resolver The <code>resolver</code> permits translation of
*   prefixes within the XPath expression into appropriate namespace URIs
*   . If this is specified as <code>null</code>, any namespace prefix
*   within the expression will result in <code>DOMException</code>
*   being thrown with the code <code>NAMESPACE_ERR</code>.
* @param type If a specific <code>type</code> is specified, then the
*   result will be coerced to return the specified type relying on
*   XPath type conversions and fail if the desired coercion is not
*   possible. This must be one of the type codes of
*   <code>XPathResult</code>.
* @param result The <code>result</code> specifies a specific result
*   object which may be reused and returned by this method. If this is
*   specified as <code>null</code>or the implementation does not reuse
*   the specified result, a new result object will be constructed and
*   returned.For XPath 1.0 results, this object will be of type
*   <code>XPathResult</code>.
* @return The result of the evaluation of the XPath expression.For XPath
*   1.0 results, this object will be of type <code>XPathResult</code>.
* @exception XPathException
*   INVALID_EXPRESSION_ERR: Raised if the expression is not legal
*   according to the rules of the <code>XPathEvaluator</code>i
*   <br>TYPE_ERR: Raised if the result cannot be converted to return the
*   specified type.
* @exception DOMException
*   NAMESPACE_ERR: Raised if the expression contains namespace prefixes
*   which cannot be resolved by the specified
*   <code>XPathNSResolver</code>.
*   <br>WRONG_DOCUMENT_ERR: The Node is from a document that is not
*   supported by this XPathEvaluator.
*   <br>NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath
*   context node.
    *
    * @see org.w3c.dom.xpath.XPathEvaluator#evaluate(String, Node, XPathNSResolver, short, XPathResult)
    */
   public Object evaluate(
           String expression,
           Node contextNode,
           XPathNSResolver resolver,
           short type,
           Object result)
           throws XPathException, DOMException {

           XPathExpression xpathExpression = createExpression(expression, resolver);

           return  xpathExpression.evaluate(contextNode, type, result);
   }
 
Example 7
Source File: XPathEvaluatorImpl.java    From hottub with GNU General Public License v2.0 3 votes vote down vote up
/**
* Evaluates an XPath expression string and returns a result of the
* specified type if possible.
*
* @param expression The XPath expression string to be parsed and
*   evaluated.
* @param contextNode The <code>context</code> is context node for the
*   evaluation of this XPath expression. If the XPathEvaluator was
*   obtained by casting the <code>Document</code> then this must be
*   owned by the same document and must be a <code>Document</code>,
*   <code>Element</code>, <code>Attribute</code>, <code>Text</code>,
*   <code>CDATASection</code>, <code>Comment</code>,
*   <code>ProcessingInstruction</code>, or <code>XPathNamespace</code>
*   node. If the context node is a <code>Text</code> or a
*   <code>CDATASection</code>, then the context is interpreted as the
*   whole logical text node as seen by XPath, unless the node is empty
*   in which case it may not serve as the XPath context.
* @param resolver The <code>resolver</code> permits translation of
*   prefixes within the XPath expression into appropriate namespace URIs
*   . If this is specified as <code>null</code>, any namespace prefix
*   within the expression will result in <code>DOMException</code>
*   being thrown with the code <code>NAMESPACE_ERR</code>.
* @param type If a specific <code>type</code> is specified, then the
*   result will be coerced to return the specified type relying on
*   XPath type conversions and fail if the desired coercion is not
*   possible. This must be one of the type codes of
*   <code>XPathResult</code>.
* @param result The <code>result</code> specifies a specific result
*   object which may be reused and returned by this method. If this is
*   specified as <code>null</code>or the implementation does not reuse
*   the specified result, a new result object will be constructed and
*   returned.For XPath 1.0 results, this object will be of type
*   <code>XPathResult</code>.
* @return The result of the evaluation of the XPath expression.For XPath
*   1.0 results, this object will be of type <code>XPathResult</code>.
* @exception XPathException
*   INVALID_EXPRESSION_ERR: Raised if the expression is not legal
*   according to the rules of the <code>XPathEvaluator</code>i
*   <br>TYPE_ERR: Raised if the result cannot be converted to return the
*   specified type.
* @exception DOMException
*   NAMESPACE_ERR: Raised if the expression contains namespace prefixes
*   which cannot be resolved by the specified
*   <code>XPathNSResolver</code>.
*   <br>WRONG_DOCUMENT_ERR: The Node is from a document that is not
*   supported by this XPathEvaluator.
*   <br>NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath
*   context node.
    *
    * @see org.w3c.dom.xpath.XPathEvaluator#evaluate(String, Node, XPathNSResolver, short, XPathResult)
    */
   public Object evaluate(
           String expression,
           Node contextNode,
           XPathNSResolver resolver,
           short type,
           Object result)
           throws XPathException, DOMException {

           XPathExpression xpathExpression = createExpression(expression, resolver);

           return  xpathExpression.evaluate(contextNode, type, result);
   }
 
Example 8
Source File: XPathEvaluatorImpl.java    From openjdk-8-source with GNU General Public License v2.0 3 votes vote down vote up
/**
* Evaluates an XPath expression string and returns a result of the
* specified type if possible.
*
* @param expression The XPath expression string to be parsed and
*   evaluated.
* @param contextNode The <code>context</code> is context node for the
*   evaluation of this XPath expression. If the XPathEvaluator was
*   obtained by casting the <code>Document</code> then this must be
*   owned by the same document and must be a <code>Document</code>,
*   <code>Element</code>, <code>Attribute</code>, <code>Text</code>,
*   <code>CDATASection</code>, <code>Comment</code>,
*   <code>ProcessingInstruction</code>, or <code>XPathNamespace</code>
*   node. If the context node is a <code>Text</code> or a
*   <code>CDATASection</code>, then the context is interpreted as the
*   whole logical text node as seen by XPath, unless the node is empty
*   in which case it may not serve as the XPath context.
* @param resolver The <code>resolver</code> permits translation of
*   prefixes within the XPath expression into appropriate namespace URIs
*   . If this is specified as <code>null</code>, any namespace prefix
*   within the expression will result in <code>DOMException</code>
*   being thrown with the code <code>NAMESPACE_ERR</code>.
* @param type If a specific <code>type</code> is specified, then the
*   result will be coerced to return the specified type relying on
*   XPath type conversions and fail if the desired coercion is not
*   possible. This must be one of the type codes of
*   <code>XPathResult</code>.
* @param result The <code>result</code> specifies a specific result
*   object which may be reused and returned by this method. If this is
*   specified as <code>null</code>or the implementation does not reuse
*   the specified result, a new result object will be constructed and
*   returned.For XPath 1.0 results, this object will be of type
*   <code>XPathResult</code>.
* @return The result of the evaluation of the XPath expression.For XPath
*   1.0 results, this object will be of type <code>XPathResult</code>.
* @exception XPathException
*   INVALID_EXPRESSION_ERR: Raised if the expression is not legal
*   according to the rules of the <code>XPathEvaluator</code>i
*   <br>TYPE_ERR: Raised if the result cannot be converted to return the
*   specified type.
* @exception DOMException
*   NAMESPACE_ERR: Raised if the expression contains namespace prefixes
*   which cannot be resolved by the specified
*   <code>XPathNSResolver</code>.
*   <br>WRONG_DOCUMENT_ERR: The Node is from a document that is not
*   supported by this XPathEvaluator.
*   <br>NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath
*   context node.
    *
    * @see org.w3c.dom.xpath.XPathEvaluator#evaluate(String, Node, XPathNSResolver, short, XPathResult)
    */
   public Object evaluate(
           String expression,
           Node contextNode,
           XPathNSResolver resolver,
           short type,
           Object result)
           throws XPathException, DOMException {

           XPathExpression xpathExpression = createExpression(expression, resolver);

           return  xpathExpression.evaluate(contextNode, type, result);
   }
 
Example 9
Source File: XPathEvaluatorImpl.java    From openjdk-8 with GNU General Public License v2.0 3 votes vote down vote up
/**
* Evaluates an XPath expression string and returns a result of the
* specified type if possible.
*
* @param expression The XPath expression string to be parsed and
*   evaluated.
* @param contextNode The <code>context</code> is context node for the
*   evaluation of this XPath expression. If the XPathEvaluator was
*   obtained by casting the <code>Document</code> then this must be
*   owned by the same document and must be a <code>Document</code>,
*   <code>Element</code>, <code>Attribute</code>, <code>Text</code>,
*   <code>CDATASection</code>, <code>Comment</code>,
*   <code>ProcessingInstruction</code>, or <code>XPathNamespace</code>
*   node. If the context node is a <code>Text</code> or a
*   <code>CDATASection</code>, then the context is interpreted as the
*   whole logical text node as seen by XPath, unless the node is empty
*   in which case it may not serve as the XPath context.
* @param resolver The <code>resolver</code> permits translation of
*   prefixes within the XPath expression into appropriate namespace URIs
*   . If this is specified as <code>null</code>, any namespace prefix
*   within the expression will result in <code>DOMException</code>
*   being thrown with the code <code>NAMESPACE_ERR</code>.
* @param type If a specific <code>type</code> is specified, then the
*   result will be coerced to return the specified type relying on
*   XPath type conversions and fail if the desired coercion is not
*   possible. This must be one of the type codes of
*   <code>XPathResult</code>.
* @param result The <code>result</code> specifies a specific result
*   object which may be reused and returned by this method. If this is
*   specified as <code>null</code>or the implementation does not reuse
*   the specified result, a new result object will be constructed and
*   returned.For XPath 1.0 results, this object will be of type
*   <code>XPathResult</code>.
* @return The result of the evaluation of the XPath expression.For XPath
*   1.0 results, this object will be of type <code>XPathResult</code>.
* @exception XPathException
*   INVALID_EXPRESSION_ERR: Raised if the expression is not legal
*   according to the rules of the <code>XPathEvaluator</code>i
*   <br>TYPE_ERR: Raised if the result cannot be converted to return the
*   specified type.
* @exception DOMException
*   NAMESPACE_ERR: Raised if the expression contains namespace prefixes
*   which cannot be resolved by the specified
*   <code>XPathNSResolver</code>.
*   <br>WRONG_DOCUMENT_ERR: The Node is from a document that is not
*   supported by this XPathEvaluator.
*   <br>NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath
*   context node.
    *
    * @see org.w3c.dom.xpath.XPathEvaluator#evaluate(String, Node, XPathNSResolver, short, XPathResult)
    */
   public Object evaluate(
           String expression,
           Node contextNode,
           XPathNSResolver resolver,
           short type,
           Object result)
           throws XPathException, DOMException {

           XPathExpression xpathExpression = createExpression(expression, resolver);

           return  xpathExpression.evaluate(contextNode, type, result);
   }