javax.xml.xpath.XPath.setXPathVariableResolver()方法的使用及代码示例

x33g5p2x  于2022-02-02 转载在 其他  
字(10.0k)|赞(0)|评价(0)|浏览(151)

本文整理了Java中javax.xml.xpath.XPath.setXPathVariableResolver()方法的一些代码示例,展示了XPath.setXPathVariableResolver()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XPath.setXPathVariableResolver()方法的具体详情如下:
包路径:javax.xml.xpath.XPath
类名称:XPath
方法名:setXPathVariableResolver

XPath.setXPathVariableResolver介绍

[英]Establish a variable resolver.

A NullPointerException is thrown if resolver is null.
[中]建立一个变量解析器。
如果resolver是[$2$],则会抛出NullPointerException

代码示例

代码示例来源:origin: stackoverflow.com

MapVariableResolver vr = new MapVariableResolver() ;
vr.setVariable("myVar", "text");
...
XPath xpath = factory.newXPath();
xpath.setXPathVariableResolver(vr);

代码示例来源:origin: kiegroup/jbpm

xpathEvaluator.setXPathVariableResolver(new XPathVariableResolver() {

代码示例来源:origin: org.apache.ant/ant

/**
 * Initialize internal instance of XMLCatalog.
 * Initialize XPath for parameter evaluation.
 * @throws BuildException on error
 */
@Override
public void init() throws BuildException {
  super.init();
  xmlCatalog.setProject(getProject());
  xpathFactory = XPathFactory.newInstance();
  xpath = xpathFactory.newXPath();
  xpath.setXPathVariableResolver(
    variableName -> getProject().getProperty(variableName.toString()));
}

代码示例来源:origin: fr.inria.wimmics/sparql

public void set(VariableResolver res){
  resolver = res;
  xpath.setXPathVariableResolver(res);
}

代码示例来源:origin: Wimmics/corese

public void set(VariableResolver res){
  resolver = res;
  xpath.setXPathVariableResolver(res);
}

代码示例来源:origin: org.mule.modules/mule-module-xml

private  XPath newXPath()
{
  XPath xpath = xPathFactory.newXPath();
  xpath.setNamespaceContext(namespaceContext);
  xpath.setXPathVariableResolver(variableResolver);
  return xpath;
}

代码示例来源:origin: org.apache.ace/org.apache.ace.deployment.provider.repositorybased

private XPathContext() {
  m_xPath.setXPathVariableResolver(this);
  try {
    m_attributesExpression = m_xPath.compile("//deploymentversions/deploymentversion/attributes/child::gatewayID[text()=$id]/../child::version[text()=$version]/../../artifacts");
    m_versionsExpression = m_xPath.compile("//deploymentversions/deploymentversion/attributes/child::gatewayID[text()=$id]/parent::attributes/version/text()");
  }
  catch (XPathExpressionException e) {
    throw new RuntimeException(e);
  }
}

代码示例来源:origin: org.apache.servicemix/servicemix-core

public void setXPathVariableResolver(XPathVariableResolver resolver) {
  getXPath().setXPathVariableResolver(resolver);
}

代码示例来源:origin: stackoverflow.com

public static void main(String[] args) throws ParserConfigurationException,
    SAXException, IOException, XPathExpressionException {

  DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
  DocumentBuilder builder = domFactory.newDocumentBuilder();
  Document doc = builder.parse("workbook.xml");

  XPath xpath = XPathFactory.newInstance().newXPath();
  SimpleVariableResolver resolver = new SimpleVariableResolver();
  resolver.addVariable(new QName(null, "id"), 2);
  xpath.setXPathVariableResolver(resolver);
  XPathExpression expr = xpath.compile("/root/element[@id=$id]");
  Object result = expr.evaluate(doc, XPathConstants.NODESET);

  NodeList nodes = (NodeList) result;
  for (int i = 0; i < nodes.getLength(); i++) {
    System.out.println(nodes.item(i).getTextContent());
  }
}

代码示例来源:origin: org.glassfish.web/javax.servlet.jsp.jstl

/**
 * Evaluate an XPath expression to a String value. 
 */
public String valueOf(Node contextNode, String xpathString) 
  throws JspTagException {
  // p("******** valueOf(" + n + ", " + xpathString + ")");
  XPathVariableResolver jxvr = new JSTLXPathVariableResolver(pageContext);
  
  XPath xpath = XPATH_FACTORY.newXPath();
  xpath.setNamespaceContext(jstlXPathNamespaceContext);
  xpath.setXPathVariableResolver(jxvr);
  try {
    return xpath.evaluate(xpathString, contextNode);
  } catch (XPathExpressionException ex) {
    throw new JspTagException(ex.toString(), ex);
  }
}

代码示例来源:origin: org.glassfish.web/javax.servlet.jsp.jstl

/** 
 * Evaluate an XPath expression to a single node. 
 */
public Node selectSingleNode(Node contextNode, String xpathString)
throws JspTagException {
  //p("selectSingleNode of XPathUtil = passed node:" +
  //   "xpathString => " + n + " : " + xpathString );
  XPathVariableResolver jxvr = new JSTLXPathVariableResolver(pageContext);
  
  try {
    XPath xpath = XPATH_FACTORY.newXPath();
    xpath.setNamespaceContext(jstlXPathNamespaceContext);
    xpath.setXPathVariableResolver(jxvr);
    return (Node) xpath.evaluate(
      xpathString, contextNode, XPathConstants.NODE);
  } catch (XPathExpressionException ex) {
    throw new JspTagException(ex.toString(), ex);            
  }
}

代码示例来源:origin: org.glassfish.web/javax.servlet.jsp.jstl

/** 
 * Evaluate an XPath expression to a boolean value. 
 */
public boolean booleanValueOf(Node contextNode, String xpathString)
throws JspTagException {
  XPathVariableResolver jxvr = new JSTLXPathVariableResolver(pageContext);
  
  XPath xpath = XPATH_FACTORY.newXPath();
  xpath.setNamespaceContext(jstlXPathNamespaceContext);
  xpath.setXPathVariableResolver(jxvr);
  try {
    return ((Boolean) xpath.evaluate(
     xpathString, contextNode, XPathConstants.BOOLEAN)).booleanValue();
  } catch (XPathExpressionException ex) {
    throw new JspTagException(
      Resources.getMessage("XPATH_ERROR_XOBJECT", ex.toString()), ex);            
  }
}

代码示例来源:origin: net.bpelunit/framework

private boolean assumptionHolds(final String assumption) {
  if (assumption == null) {
    return true;
  }
  Context context;
  try {
    context = this.createVelocityContext();
    XPath xpath = XPathFactory.newInstance().newXPath();
    xpath.setNamespaceContext(fNamespaceContext);
    xpath.setXPathVariableResolver(new ContextXPathVariableResolver(
        context));
    return (Boolean) xpath.evaluate(assumption, createEmptyDocument(),
        XPathConstants.BOOLEAN);
  } catch (Exception e) {
    fStatus = ArtefactStatus.createErrorStatus(
        "Failed to evaluate the assumption " + fAssumption, e);
    return false;
  }
}

代码示例来源:origin: org.glassfish.web/javax.servlet.jsp.jstl

/** 
 * Evaluate an XPath expression to a List of nodes. 
 */
public List selectNodes(Node contextNode, String xpathString)  
  throws JspTagException {
  XPathVariableResolver jxvr = new JSTLXPathVariableResolver(pageContext);
  
  try {
    XPath xpath = XPATH_FACTORY.newXPath();
    xpath.setNamespaceContext(jstlXPathNamespaceContext);
    xpath.setXPathVariableResolver(jxvr);
    Object nl = xpath.evaluate(
      xpathString, contextNode, JSTLXPathConstants.OBJECT);
    return new JSTLNodeList( nl );
  } catch (XPathExpressionException ex ) {
    throw new JspTagException(ex.toString(), ex);
  }
}

代码示例来源:origin: net.bpelunit/framework

public double getDelay(ActivityContext activityContext) throws DataSourceException, XPathExpressionException {
  if (getDelayExpression() != null) {
    final Context vtlContext = activityContext.createVelocityContext();
    final ContextXPathVariableResolver xpathResolver = new ContextXPathVariableResolver(vtlContext);
    final XPath xpath = XPathFactory.newInstance().newXPath();
    xpath.setNamespaceContext(getNamespaceContext());
    xpath.setXPathVariableResolver(xpathResolver);
    // We should only evaluate these expressions once per row and round
    fDelay = (Double)xpath.evaluate(getDelayExpression(), fLiteralData, XPathConstants.NUMBER);
    setDelayExpression(null);
  }
  return fDelay;
}

代码示例来源:origin: org.glassfish.web/jstl-impl

/**
 * Evaluate an XPath expression to a String value. 
 */
public String valueOf(Node n, String xpathString) throws JspTagException {
  // p("******** valueOf(" + n + ", " + xpathString + ")");
  staticInit();
  XPathVariableResolver jxvr = new JSTLXPathVariableResolver(pageContext);
  Node contextNode = adaptParamsForXalan(n, xpathString.trim(), jxvr);
  XPath xpath = XPATH_FACTORY.newXPath();
  xpath.setNamespaceContext(jstlXPathNamespaceContext);
  xpath.setXPathVariableResolver(jxvr);
  try {
    return xpath.evaluate(xpathString, contextNode);
  } catch (XPathExpressionException ex) {
    throw new JspTagException(ex.toString(), ex);
  }
}

代码示例来源:origin: org.eclipse.jetty.orbit/org.apache.taglibs.standard.glassfish

/**
 * Evaluate an XPath expression to a String value. 
 */
public String valueOf(Node n, String xpathString) throws JspTagException {
  // p("******** valueOf(" + n + ", " + xpathString + ")");
  staticInit();
  XPathVariableResolver jxvr = new JSTLXPathVariableResolver(pageContext);
  Node contextNode = adaptParamsForXalan(n, xpathString.trim(), jxvr);
  XPath xpath = XPATH_FACTORY.newXPath();
  xpath.setNamespaceContext(jstlXPathNamespaceContext);
  xpath.setXPathVariableResolver(jxvr);
  try {
    return xpath.evaluate(xpathString, contextNode);
  } catch (XPathExpressionException ex) {
    throw new JspTagException(ex.toString(), ex);
  }
}

代码示例来源:origin: org.bluestemsoftware.open.maven.tparty/jsp-api-2.1

/**
 * Evaluate an XPath expression to a String value. 
 */
public String valueOf(Node n, String xpathString) throws JspTagException {
  // p("******** valueOf(" + n + ", " + xpathString + ")");
  staticInit();
  XPathVariableResolver jxvr = new JSTLXPathVariableResolver(pageContext);
  Node contextNode = adaptParamsForXalan(n, xpathString.trim(), jxvr);
  XPath xpath = XPATH_FACTORY.newXPath();
  xpath.setNamespaceContext(jstlXPathNamespaceContext);
  xpath.setXPathVariableResolver(jxvr);
  try {
    return xpath.evaluate(xpathString, contextNode);
  } catch (XPathExpressionException ex) {
    throw new JspTagException(ex.toString(), ex);
  }
}

代码示例来源:origin: javax.servlet/com.springsource.javax.servlet.jsp.jstl

/**
 * Evaluate an XPath expression to a String value. 
 */
public String valueOf(Node n, String xpathString) throws JspTagException {
  // p("******** valueOf(" + n + ", " + xpathString + ")");
  staticInit();
  XPathVariableResolver jxvr = new JSTLXPathVariableResolver(pageContext);
  Node contextNode = adaptParamsForXalan(n, xpathString.trim(), jxvr);
  XPath xpath = XPATH_FACTORY.newXPath();
  xpath.setNamespaceContext(jstlXPathNamespaceContext);
  xpath.setXPathVariableResolver(jxvr);
  try {
    return xpath.evaluate(xpathString, contextNode);
  } catch (XPathExpressionException ex) {
    throw new JspTagException(ex.toString(), ex);
  }
}

代码示例来源:origin: javax.servlet/com.springsource.javax.servlet.jsp.jstl

/** 
 * Evaluate an XPath expression to a boolean value. 
 */
public boolean booleanValueOf(Node n, String xpathString)
throws JspTagException {
  
  staticInit();
  XPathVariableResolver jxvr = new JSTLXPathVariableResolver(pageContext);
  Node contextNode = adaptParamsForXalan(n, xpathString.trim(), jxvr);
  xpathString = modifiedXPath;
  
  XPath xpath = XPATH_FACTORY.newXPath();
  xpath.setNamespaceContext(jstlXPathNamespaceContext);
  xpath.setXPathVariableResolver(jxvr);
  try {
    return ((Boolean) xpath.evaluate(
     xpathString, contextNode, XPathConstants.BOOLEAN)).booleanValue();
  } catch (XPathExpressionException ex) {
    throw new JspTagException(
      Resources.getMessage("XPATH_ERROR_XOBJECT", ex.toString()), ex);            
  }
}

相关文章