org.w3c.dom.xpath.XPathExpression Java Examples

The following examples show how to use org.w3c.dom.xpath.XPathExpression. 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 TencentKona-8 with GNU General Public License v2.0 6 votes vote down vote up
/**
* Creates a parsed XPath expression with resolved namespaces. This is
* useful when an expression will be reused in an application since it
* makes it possible to compile the expression string into a more
* efficient internal form and preresolve all namespace prefixes which
* occur within the expression.
*
* @param expression The XPath expression string to be parsed.
* @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>.
* @return The compiled form of the XPath expression.
* @exception XPathException
*   INVALID_EXPRESSION_ERR: Raised if the expression is not legal
*   according to the rules of the <code>XPathEvaluator</code>i
* @exception DOMException
*   NAMESPACE_ERR: Raised if the expression contains namespace prefixes
*   which cannot be resolved by the specified
*   <code>XPathNSResolver</code>.
*
    * @see org.w3c.dom.xpath.XPathEvaluator#createExpression(String, XPathNSResolver)
    */
   public XPathExpression createExpression(
           String expression,
           XPathNSResolver resolver)
           throws XPathException, DOMException {

           try {

                   // If the resolver is null, create a dummy prefix resolver
                   XPath xpath =  new XPath(expression,null,
                        ((null == resolver) ? new DummyPrefixResolver() : ((PrefixResolver)resolver)),
                         XPath.SELECT);

       return new XPathExpressionImpl(xpath, m_doc);

           } catch (TransformerException e) {
                   // Need to pass back exception code DOMException.NAMESPACE_ERR also.
                   // Error found in DOM Level 3 XPath Test Suite.
                   if(e instanceof XPathStylesheetDOM3Exception)
                           throw new DOMException(DOMException.NAMESPACE_ERR,e.getMessageAndLocation());
                   else
                           throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,e.getMessageAndLocation());

           }
   }
 
Example #2
Source File: XPathEvaluatorImpl.java    From jdk8u60 with GNU General Public License v2.0 6 votes vote down vote up
/**
* Creates a parsed XPath expression with resolved namespaces. This is
* useful when an expression will be reused in an application since it
* makes it possible to compile the expression string into a more
* efficient internal form and preresolve all namespace prefixes which
* occur within the expression.
*
* @param expression The XPath expression string to be parsed.
* @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>.
* @return The compiled form of the XPath expression.
* @exception XPathException
*   INVALID_EXPRESSION_ERR: Raised if the expression is not legal
*   according to the rules of the <code>XPathEvaluator</code>i
* @exception DOMException
*   NAMESPACE_ERR: Raised if the expression contains namespace prefixes
*   which cannot be resolved by the specified
*   <code>XPathNSResolver</code>.
*
    * @see org.w3c.dom.xpath.XPathEvaluator#createExpression(String, XPathNSResolver)
    */
   public XPathExpression createExpression(
           String expression,
           XPathNSResolver resolver)
           throws XPathException, DOMException {

           try {

                   // If the resolver is null, create a dummy prefix resolver
                   XPath xpath =  new XPath(expression,null,
                        ((null == resolver) ? new DummyPrefixResolver() : ((PrefixResolver)resolver)),
                         XPath.SELECT);

       return new XPathExpressionImpl(xpath, m_doc);

           } catch (TransformerException e) {
                   // Need to pass back exception code DOMException.NAMESPACE_ERR also.
                   // Error found in DOM Level 3 XPath Test Suite.
                   if(e instanceof XPathStylesheetDOM3Exception)
                           throw new DOMException(DOMException.NAMESPACE_ERR,e.getMessageAndLocation());
                   else
                           throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,e.getMessageAndLocation());

           }
   }
 
Example #3
Source File: XPathEvaluatorImpl.java    From openjdk-8 with GNU General Public License v2.0 6 votes vote down vote up
/**
* Creates a parsed XPath expression with resolved namespaces. This is
* useful when an expression will be reused in an application since it
* makes it possible to compile the expression string into a more
* efficient internal form and preresolve all namespace prefixes which
* occur within the expression.
*
* @param expression The XPath expression string to be parsed.
* @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>.
* @return The compiled form of the XPath expression.
* @exception XPathException
*   INVALID_EXPRESSION_ERR: Raised if the expression is not legal
*   according to the rules of the <code>XPathEvaluator</code>i
* @exception DOMException
*   NAMESPACE_ERR: Raised if the expression contains namespace prefixes
*   which cannot be resolved by the specified
*   <code>XPathNSResolver</code>.
*
    * @see org.w3c.dom.xpath.XPathEvaluator#createExpression(String, XPathNSResolver)
    */
   public XPathExpression createExpression(
           String expression,
           XPathNSResolver resolver)
           throws XPathException, DOMException {

           try {

                   // If the resolver is null, create a dummy prefix resolver
                   XPath xpath =  new XPath(expression,null,
                        ((null == resolver) ? new DummyPrefixResolver() : ((PrefixResolver)resolver)),
                         XPath.SELECT);

       return new XPathExpressionImpl(xpath, m_doc);

           } catch (TransformerException e) {
                   // Need to pass back exception code DOMException.NAMESPACE_ERR also.
                   // Error found in DOM Level 3 XPath Test Suite.
                   if(e instanceof XPathStylesheetDOM3Exception)
                           throw new DOMException(DOMException.NAMESPACE_ERR,e.getMessageAndLocation());
                   else
                           throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,e.getMessageAndLocation());

           }
   }
 
Example #4
Source File: XPathEvaluatorImpl.java    From JDKSourceCode1.8 with MIT License 6 votes vote down vote up
/**
* Creates a parsed XPath expression with resolved namespaces. This is
* useful when an expression will be reused in an application since it
* makes it possible to compile the expression string into a more
* efficient internal form and preresolve all namespace prefixes which
* occur within the expression.
*
* @param expression The XPath expression string to be parsed.
* @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>.
* @return The compiled form of the XPath expression.
* @exception XPathException
*   INVALID_EXPRESSION_ERR: Raised if the expression is not legal
*   according to the rules of the <code>XPathEvaluator</code>i
* @exception DOMException
*   NAMESPACE_ERR: Raised if the expression contains namespace prefixes
*   which cannot be resolved by the specified
*   <code>XPathNSResolver</code>.
*
    * @see org.w3c.dom.xpath.XPathEvaluator#createExpression(String, XPathNSResolver)
    */
   public XPathExpression createExpression(
           String expression,
           XPathNSResolver resolver)
           throws XPathException, DOMException {

           try {

                   // If the resolver is null, create a dummy prefix resolver
                   XPath xpath =  new XPath(expression,null,
                        ((null == resolver) ? new DummyPrefixResolver() : ((PrefixResolver)resolver)),
                         XPath.SELECT);

       return new XPathExpressionImpl(xpath, m_doc);

           } catch (TransformerException e) {
                   // Need to pass back exception code DOMException.NAMESPACE_ERR also.
                   // Error found in DOM Level 3 XPath Test Suite.
                   if(e instanceof XPathStylesheetDOM3Exception)
                           throw new DOMException(DOMException.NAMESPACE_ERR,e.getMessageAndLocation());
                   else
                           throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,e.getMessageAndLocation());

           }
   }
 
Example #5
Source File: XPathEvaluatorImpl.java    From openjdk-jdk8u with GNU General Public License v2.0 6 votes vote down vote up
/**
* Creates a parsed XPath expression with resolved namespaces. This is
* useful when an expression will be reused in an application since it
* makes it possible to compile the expression string into a more
* efficient internal form and preresolve all namespace prefixes which
* occur within the expression.
*
* @param expression The XPath expression string to be parsed.
* @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>.
* @return The compiled form of the XPath expression.
* @exception XPathException
*   INVALID_EXPRESSION_ERR: Raised if the expression is not legal
*   according to the rules of the <code>XPathEvaluator</code>i
* @exception DOMException
*   NAMESPACE_ERR: Raised if the expression contains namespace prefixes
*   which cannot be resolved by the specified
*   <code>XPathNSResolver</code>.
*
    * @see org.w3c.dom.xpath.XPathEvaluator#createExpression(String, XPathNSResolver)
    */
   public XPathExpression createExpression(
           String expression,
           XPathNSResolver resolver)
           throws XPathException, DOMException {

           try {

                   // If the resolver is null, create a dummy prefix resolver
                   XPath xpath =  new XPath(expression,null,
                        ((null == resolver) ? new DummyPrefixResolver() : ((PrefixResolver)resolver)),
                         XPath.SELECT);

       return new XPathExpressionImpl(xpath, m_doc);

           } catch (TransformerException e) {
                   // Need to pass back exception code DOMException.NAMESPACE_ERR also.
                   // Error found in DOM Level 3 XPath Test Suite.
                   if(e instanceof XPathStylesheetDOM3Exception)
                           throw new DOMException(DOMException.NAMESPACE_ERR,e.getMessageAndLocation());
                   else
                           throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,e.getMessageAndLocation());

           }
   }
 
Example #6
Source File: XPathEvaluatorImpl.java    From jdk1.8-source-analysis with Apache License 2.0 6 votes vote down vote up
/**
* Creates a parsed XPath expression with resolved namespaces. This is
* useful when an expression will be reused in an application since it
* makes it possible to compile the expression string into a more
* efficient internal form and preresolve all namespace prefixes which
* occur within the expression.
*
* @param expression The XPath expression string to be parsed.
* @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>.
* @return The compiled form of the XPath expression.
* @exception XPathException
*   INVALID_EXPRESSION_ERR: Raised if the expression is not legal
*   according to the rules of the <code>XPathEvaluator</code>i
* @exception DOMException
*   NAMESPACE_ERR: Raised if the expression contains namespace prefixes
*   which cannot be resolved by the specified
*   <code>XPathNSResolver</code>.
*
    * @see org.w3c.dom.xpath.XPathEvaluator#createExpression(String, XPathNSResolver)
    */
   public XPathExpression createExpression(
           String expression,
           XPathNSResolver resolver)
           throws XPathException, DOMException {

           try {

                   // If the resolver is null, create a dummy prefix resolver
                   XPath xpath =  new XPath(expression,null,
                        ((null == resolver) ? new DummyPrefixResolver() : ((PrefixResolver)resolver)),
                         XPath.SELECT);

       return new XPathExpressionImpl(xpath, m_doc);

           } catch (TransformerException e) {
                   // Need to pass back exception code DOMException.NAMESPACE_ERR also.
                   // Error found in DOM Level 3 XPath Test Suite.
                   if(e instanceof XPathStylesheetDOM3Exception)
                           throw new DOMException(DOMException.NAMESPACE_ERR,e.getMessageAndLocation());
                   else
                           throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,e.getMessageAndLocation());

           }
   }
 
Example #7
Source File: XPathEvaluatorImpl.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 6 votes vote down vote up
/**
* Creates a parsed XPath expression with resolved namespaces. This is
* useful when an expression will be reused in an application since it
* makes it possible to compile the expression string into a more
* efficient internal form and preresolve all namespace prefixes which
* occur within the expression.
*
* @param expression The XPath expression string to be parsed.
* @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>.
* @return The compiled form of the XPath expression.
* @exception XPathException
*   INVALID_EXPRESSION_ERR: Raised if the expression is not legal
*   according to the rules of the <code>XPathEvaluator</code>i
* @exception DOMException
*   NAMESPACE_ERR: Raised if the expression contains namespace prefixes
*   which cannot be resolved by the specified
*   <code>XPathNSResolver</code>.
*
    * @see org.w3c.dom.xpath.XPathEvaluator#createExpression(String, XPathNSResolver)
    */
   public XPathExpression createExpression(
           String expression,
           XPathNSResolver resolver)
           throws XPathException, DOMException {

           try {

                   // If the resolver is null, create a dummy prefix resolver
                   XPath xpath =  new XPath(expression,null,
                        ((null == resolver) ? new DummyPrefixResolver() : ((PrefixResolver)resolver)),
                         XPath.SELECT);

       return new XPathExpressionImpl(xpath, m_doc);

           } catch (TransformerException e) {
                   // Need to pass back exception code DOMException.NAMESPACE_ERR also.
                   // Error found in DOM Level 3 XPath Test Suite.
                   if(e instanceof XPathStylesheetDOM3Exception)
                           throw new DOMException(DOMException.NAMESPACE_ERR,e.getMessageAndLocation());
                   else
                           throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,e.getMessageAndLocation());

           }
   }
 
Example #8
Source File: XPathEvaluatorImpl.java    From openjdk-8-source with GNU General Public License v2.0 6 votes vote down vote up
/**
* Creates a parsed XPath expression with resolved namespaces. This is
* useful when an expression will be reused in an application since it
* makes it possible to compile the expression string into a more
* efficient internal form and preresolve all namespace prefixes which
* occur within the expression.
*
* @param expression The XPath expression string to be parsed.
* @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>.
* @return The compiled form of the XPath expression.
* @exception XPathException
*   INVALID_EXPRESSION_ERR: Raised if the expression is not legal
*   according to the rules of the <code>XPathEvaluator</code>i
* @exception DOMException
*   NAMESPACE_ERR: Raised if the expression contains namespace prefixes
*   which cannot be resolved by the specified
*   <code>XPathNSResolver</code>.
*
    * @see org.w3c.dom.xpath.XPathEvaluator#createExpression(String, XPathNSResolver)
    */
   public XPathExpression createExpression(
           String expression,
           XPathNSResolver resolver)
           throws XPathException, DOMException {

           try {

                   // If the resolver is null, create a dummy prefix resolver
                   XPath xpath =  new XPath(expression,null,
                        ((null == resolver) ? new DummyPrefixResolver() : ((PrefixResolver)resolver)),
                         XPath.SELECT);

       return new XPathExpressionImpl(xpath, m_doc);

           } catch (TransformerException e) {
                   // Need to pass back exception code DOMException.NAMESPACE_ERR also.
                   // Error found in DOM Level 3 XPath Test Suite.
                   if(e instanceof XPathStylesheetDOM3Exception)
                           throw new DOMException(DOMException.NAMESPACE_ERR,e.getMessageAndLocation());
                   else
                           throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,e.getMessageAndLocation());

           }
   }
 
Example #9
Source File: XPathEvaluatorImpl.java    From hottub with GNU General Public License v2.0 6 votes vote down vote up
/**
* Creates a parsed XPath expression with resolved namespaces. This is
* useful when an expression will be reused in an application since it
* makes it possible to compile the expression string into a more
* efficient internal form and preresolve all namespace prefixes which
* occur within the expression.
*
* @param expression The XPath expression string to be parsed.
* @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>.
* @return The compiled form of the XPath expression.
* @exception XPathException
*   INVALID_EXPRESSION_ERR: Raised if the expression is not legal
*   according to the rules of the <code>XPathEvaluator</code>i
* @exception DOMException
*   NAMESPACE_ERR: Raised if the expression contains namespace prefixes
*   which cannot be resolved by the specified
*   <code>XPathNSResolver</code>.
*
    * @see org.w3c.dom.xpath.XPathEvaluator#createExpression(String, XPathNSResolver)
    */
   public XPathExpression createExpression(
           String expression,
           XPathNSResolver resolver)
           throws XPathException, DOMException {

           try {

                   // If the resolver is null, create a dummy prefix resolver
                   XPath xpath =  new XPath(expression,null,
                        ((null == resolver) ? new DummyPrefixResolver() : ((PrefixResolver)resolver)),
                         XPath.SELECT);

       return new XPathExpressionImpl(xpath, m_doc);

           } catch (TransformerException e) {
                   // Need to pass back exception code DOMException.NAMESPACE_ERR also.
                   // Error found in DOM Level 3 XPath Test Suite.
                   if(e instanceof XPathStylesheetDOM3Exception)
                           throw new DOMException(DOMException.NAMESPACE_ERR,e.getMessageAndLocation());
                   else
                           throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,e.getMessageAndLocation());

           }
   }
 
Example #10
Source File: RequestParser.java    From XACML with MIT License 4 votes vote down vote up
protected static AttributeValue<?> extractValue(String datatype, Object object) throws DataTypeException {
	//
	// Is there a data type?
	//
	Identifier datatypeId;
	if (datatype == null) {
		//
		// The data type is not specified, we will decipher it based
		// on its Java class.
		//
		if (object instanceof String) {
			datatypeId = XACML3.ID_DATATYPE_STRING;
		} else if (object instanceof Integer || object instanceof Long) {
			datatypeId = XACML3.ID_DATATYPE_INTEGER;
		} else if (object instanceof Boolean) {
			datatypeId = XACML3.ID_DATATYPE_BOOLEAN;
		} else if (object instanceof Double || object instanceof Float) {
			datatypeId = XACML3.ID_DATATYPE_DOUBLE;
		} else if (object instanceof Date || 
				object instanceof Calendar || 
				object instanceof ISO8601DateTime) {
			datatypeId = XACML3.ID_DATATYPE_DATETIME;
		} else if (object instanceof URI) {
			datatypeId = XACML3.ID_DATATYPE_ANYURI;
		} else if (object instanceof ISO8601Date) {
			datatypeId = XACML3.ID_DATATYPE_DATE;
		} else if (object instanceof ISO8601Time) {
			datatypeId = XACML3.ID_DATATYPE_TIME;
		} else if (object instanceof RFC2396DomainName) {
			datatypeId = XACML3.ID_DATATYPE_DNSNAME;
		} else if (object instanceof byte[] ||
				object instanceof HexBinary) {
			datatypeId = XACML3.ID_DATATYPE_HEXBINARY;
		} else if (object instanceof Base64Binary) {
			datatypeId = XACML3.ID_DATATYPE_BASE64BINARY;
		} else if (object instanceof XPathDayTimeDuration) {
			datatypeId = XACML3.ID_DATATYPE_DAYTIMEDURATION;
		} else if (object instanceof IPAddress) {
			datatypeId = XACML3.ID_DATATYPE_IPADDRESS;
		} else if (object instanceof RFC822Name) {
			datatypeId = XACML3.ID_DATATYPE_RFC822NAME;
		} else if (object instanceof X500Principal) {
			datatypeId = XACML3.ID_DATATYPE_X500NAME;
		} else if (object instanceof XPathExpression ||
				object instanceof Node) {
			datatypeId = XACML3.ID_DATATYPE_XPATHEXPRESSION;
		} else if (object instanceof XPathYearMonthDuration) {
			datatypeId = XACML3.ID_DATATYPE_YEARMONTHDURATION;
		} else {
			logger.warn("Cannot decipher java object, defaulting to String datatype. If this is not correct, you must specify the datatype in the annotation.");
			//
			// Default to a string
			//
			datatypeId = XACML3.ID_DATATYPE_STRING;
		}
	} else {
		datatypeId = new IdentifierImpl(datatype);
	}
	DataType<?> dataTypeExtended	= getDataTypeFactory().getDataType(datatypeId);
	if (dataTypeExtended == null) {
		logger.error("DataType factory does not know datatype: {}", datatype);
		return null;
	}
	return dataTypeExtended.createAttributeValue(object);
}
 
Example #11
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 #12
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);
   }
 
Example #13
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 #14
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 #15
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 #16
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 #17
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 #18
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 #19
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);
   }