public static boolean xpathEqual(Processor proc, XdmItem a, XdmItem b) { try { XPathCompiler c = proc.newXPathCompiler(); c.declareVariable(vara); c.declareVariable(varb); XPathExecutable xexec = c.compile("$vara = $varb"); XPathSelector selector = xexec.load(); selector.setVariable(vara,a); selector.setVariable(varb,b); Iterator<XdmItem> values = selector.iterator(); XdmAtomicValue item = (XdmAtomicValue) values.next(); boolean same = item.getBooleanValue(); return same; } catch (SaxonApiException sae) { return false; } }
public static boolean xpathEqual(Processor proc, XdmItem a, XdmItem b) { try { XPathCompiler c = proc.newXPathCompiler(); c.declareVariable(vara); c.declareVariable(varb); XPathExecutable xexec = c.compile("$vara = $varb"); XPathSelector selector = xexec.load(); selector.setVariable(vara,a); selector.setVariable(varb,b); Iterator<XdmItem> values = selector.iterator(); XdmAtomicValue item = (XdmAtomicValue) values.next(); boolean same = item.getBooleanValue(); return same; } catch (SaxonApiException sae) { return false; } }
Processor proc = new Processor(true); proc.getUnderlyingConfiguration().registerExternalObjectModel(JDOM2ObjectModel.getInstance()); DocumentBuilder db = proc.newDocumentBuilder(); Document doc1 = new Document(new Element("root", "This is a test")); Document doc2 = doc1.clone(); XdmNode xdmDoc1 = db.wrap(doc1); XdmNode xdmDoc2 = db.wrap(doc2); XPathCompiler xpath = proc.newXPathCompiler(); xpath.declareVariable(new QName("doc2")); XPathExecutable xx = xpath.compile("deep-equal(., $doc2)"); XPathSelector sel = xx.load(); sel.setContextItem(xdmDoc1); sel.setVariable(new QName("doc2"), xdmDoc2); XdmItem result = sel.evaluateSingle(); System.out.println(result.toString());
xcomp.declareVariable(varname);
private String computedLabel(XdmNode node) throws SaxonApiException { XPathCompiler xcomp = runtime.getProcessor().newXPathCompiler(); xcomp.setBaseURI(step.getNode().getBaseURI()); // Make sure any namespace bindings in-scope for the label are available for the expression for (String prefix : label.getNamespaceBindings().keySet()) { xcomp.declareNamespace(prefix, label.getNamespaceBindings().get(prefix)); } xcomp.declareVariable(p_index); XPathExecutable xexec = xcomp.compile(label.getString()); XPathSelector selector = xexec.load(); selector.setVariable(p_index,new XdmAtomicValue(count++)); selector.setContextItem(node); Iterator<XdmItem> values = selector.iterator(); XdmItem item = values.next(); return item.getStringValue(); } }
xcomp.declareVariable(varname);
private String computedLabel(XdmNode node) throws SaxonApiException { XPathCompiler xcomp = runtime.getProcessor().newXPathCompiler(); xcomp.setBaseURI(step.getNode().getBaseURI()); // Make sure any namespace bindings in-scope for the label are available for the expression for (String prefix : label.getNamespaceBindings().keySet()) { xcomp.declareNamespace(prefix, label.getNamespaceBindings().get(prefix)); } xcomp.declareVariable(p_index); XPathExecutable xexec = xcomp.compile(label.getString()); XPathSelector selector = xexec.load(); selector.setVariable(p_index,new XdmAtomicValue(count++)); selector.setContextItem(node); Iterator<XdmItem> values = selector.iterator(); XdmItem item = values.next(); return item.getStringValue(); } }
xcomp.declareVariable(doca); xcomp.declareVariable(docb);
xcomp.declareVariable(doca); xcomp.declareVariable(docb);
xcomp.declareVariable(varname);
xcomp.declareVariable(varname);
xcomp.declareVariable(varname);
xcomp.declareVariable(doca); xcomp.declareVariable(docb);
xcomp.declareVariable(varname);
xcomp.declareVariable(varname);
xcomp.declareVariable(doca); xcomp.declareVariable(docb);
xcomp.declareVariable(varname);
xcomp.declareVariable(doca); xcomp.declareVariable(docb);
xcomp.declareVariable(doca); xcomp.declareVariable(docb);