Java XML Namespace compile(String expression, NamespaceContext namespaceContext)

Here you can find the source of compile(String expression, NamespaceContext namespaceContext)

Description

Compiles an XPath expression for later evaluation.

License

Open Source License

Parameter

Parameter Description
expression the expression to compile as a String
namespaceContext the namespace context to use

Exception

Parameter Description
XPathExpressionException if the expression does not compile

Return

the compiled XPathExpression object

Declaration

public static XPathExpression compile(String expression, NamespaceContext namespaceContext)
        throws XPathExpressionException 

Method Source Code

//package com.java2s;
/*/*from   ww w  .ja v a  2s  . c o  m*/
 * MIT License
 * Copyright (c) 2016 Estonian Information System Authority (RIA)
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

import javax.xml.namespace.NamespaceContext;
import javax.xml.xpath.*;

public class Main {
    /**
     * Compiles an XPath expression for later evaluation.
     *
     * @param expression       the expression to compile as a String
     * @param namespaceContext the namespace context to use
     * @return the compiled XPathExpression object
     * @throws XPathExpressionException if the expression does not compile
     */
    public static XPathExpression compile(String expression, NamespaceContext namespaceContext)
            throws XPathExpressionException {
        return createXPath(namespaceContext, null).compile(expression);
    }

    /**
     * Compiles an XPath expression for later evaluation.
     *
     * @param expression       the expression to compile as a String
     * @param namespaceContext the namespace context to use
     * @param functionResolver the function resolver to use
     * @return the compiled XPathExpression object
     * @throws XPathExpressionException if the expression does not compile
     */
    public static XPathExpression compile(String expression, NamespaceContext namespaceContext,
            XPathFunctionResolver functionResolver) throws XPathExpressionException {
        return createXPath(namespaceContext, functionResolver).compile(expression);
    }

    private static XPath createXPath(NamespaceContext namespaceContext, XPathFunctionResolver functionResolver) {
        XPath xPath = XPathFactory.newInstance().newXPath();
        if (namespaceContext != null) {
            xPath.setNamespaceContext(namespaceContext);
        }
        if (functionResolver != null) {
            xPath.setXPathFunctionResolver(functionResolver);
        }
        return xPath;
    }
}

Related

  1. createNamespaceContext(final String nsPrefix, final String nsUri)
  2. createXMLReader(boolean validating, boolean namespaceAware)
  3. createXMLReader(boolean validating, boolean withNamespace)
  4. getBaseNamespace(InputStream owlStream)