MapVariableResolver vr = new MapVariableResolver() ; vr.setVariable("myVar", "text"); ... XPath xpath = factory.newXPath(); xpath.setXPathVariableResolver(vr);
xpathEvaluator.setXPathVariableResolver(new XPathVariableResolver() {
/** * 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())); }
public void set(VariableResolver res){ resolver = res; xpath.setXPathVariableResolver(res); }
public void set(VariableResolver res){ resolver = res; xpath.setXPathVariableResolver(res); }
private XPath newXPath() { XPath xpath = xPathFactory.newXPath(); xpath.setNamespaceContext(namespaceContext); xpath.setXPathVariableResolver(variableResolver); return xpath; }
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); } }
public void setXPathVariableResolver(XPathVariableResolver resolver) { getXPath().setXPathVariableResolver(resolver); }
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()); } }
/** * 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); } }
/** * 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); } }
/** * 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); } }
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; } }
/** * 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); } }
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; }
/** * 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); } }
/** * 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); } }
/** * 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); } }
/** * 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); } }
/** * 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); } }