/** * Protected constructor * * @param processor the Saxon processor * @param expression the XQuery expression */ protected XQueryEvaluator(Processor processor, XQueryExpression expression) { this.processor = processor; this.expression = expression; this.context = new DynamicQueryContext(expression.getConfiguration()); }
public XQProcessorClient() { super(); dqc = new DynamicQueryContext(config); dqc.setApplyFunctionConversionRulesToExternalVariables(false); }
/** * Protected constructor * * @param processor the Saxon processor * @param expression the XQuery expression */ protected XQueryEvaluator(Processor processor, XQueryExpression expression) { this.processor = processor; this.expression = expression; this.context = new DynamicQueryContext(expression.getConfiguration()); }
/** * Protected constructor * @param expression the XQuery expression */ protected XQueryEvaluator(Processor processor, XQueryExpression expression) { this.processor = processor; this.expression = expression; this.context = new DynamicQueryContext(expression.getExecutable().getConfiguration()); }
@Override public List<?> evaluate(XmlObject xmlObjectContextNode, String xqueryString) throws XQueryException { LOG.finest(String.format("Executing XQuery query '%s'.", xqueryString)); XQueryExpression exp; try { exp = staticQueryContext.compileQuery(xqueryString); DynamicQueryContext dynamicContext = new DynamicQueryContext(configuration); dynamicContext.setContextItem(new XmlObjectNodeInfo(xmlObjectContextNode, configuration)); List<?> result = exp.evaluate(dynamicContext); LOG.finest(String.format("Executed XQuery expression successfully.")); return result; } catch (XPathException xpe) { throw new XQueryException( String.format("Error while evaluating XQuery expression '%s'.", xqueryString), xpe); } }
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import javax.xml.transform.sax.SAXSource; import javax.xml.transform.stream.StreamResult; import net.sf.saxon.Configuration; import net.sf.saxon.om.DocumentInfo; import net.sf.saxon.query.DynamicQueryContext; import net.sf.saxon.query.StaticQueryContext; import net.sf.saxon.query.XQueryExpression; import org.xml.sax.InputSource; // inside a method Configuration config = new Configuration(); StaticQueryContext sqc = config.newStaticQueryContext(); DynamicQueryContext dqc = new DynamicQueryContext(config); String xq = "XQUERY_EXPRESSION"; try (InputStream xmlFileInput = new FileInputStream("data.xml"); OutputStream xmlFileOutput = new FileOutputStream("data-filtered.xml")) { XQueryExpression expression = sqc.compileQuery(xq); SAXSource source = new SAXSource(new InputSource(xmlFileInput)); DocumentInfo di = config.buildDocument(source); dqc.setContextItem(di); expression.run(dqc, new StreamResult(xmlFileOutput), null); } catch (Exception e) { System.err.println(e.getMessage()); }
@Override protected DynamicQueryContext initialValue() { DynamicQueryContext dqc = new DynamicQueryContext(config); dqc.setApplyFunctionConversionRulesToExternalVariables(false); SourceResolverImpl sResolver = (SourceResolverImpl) config.getSourceResolver(); dqc.setUnparsedTextURIResolver(sResolver); return dqc; } };
try { exp = staticQueryContext.compileQuery(xqueryString); DynamicQueryContext dynamicContext = new DynamicQueryContext(configuration); dynamicContext.setContextItem(new XmlObjectNodeInfo(xmlObjectContextNode, configuration)); List<?> result = exp.evaluate(dynamicContext);
/** * Run a previously-compiled query * * @param context The dynamic context * @param query The compiled query * @param source The initial context item for the query (may be null) * @return the sequence representing the result of the query */ public static SequenceIterator query(XPathContext context, XQueryExpression query, Item source) throws XPathException { if (query == null) { return null; } DynamicQueryContext dqc = new DynamicQueryContext(context.getConfiguration()); if (source != null) { dqc.setContextItem(source); } return query.iterator(dqc); }
try { exp = staticQueryContext.compileQuery(xqueryString); DynamicQueryContext dynamicContext = new DynamicQueryContext(configuration); dynamicContext.setContextItem(new XmlObjectNodeInfo(xmlObjectContextNode, configuration)); Object result = exp.evaluateSingle(dynamicContext);
/** * Run a previously-compiled query * * @param context The dynamic context * @param query The compiled query * @param source The initial context item for the query (may be null) * @return the sequence representing the result of the query */ public static SequenceIterator query(XPathContext context, XQueryExpression query, Item source) throws XPathException { if (query == null) { return null; } DynamicQueryContext dqc = new DynamicQueryContext(context.getConfiguration()); if (source != null) { dqc.setContextItem(source); } return query.iterator(dqc); }
/** * Run a previously-compiled query * * @param context The dynamic context * @param query The compiled query * @param source The initial context item for the query (may be null) * @return the sequence representing the result of the query */ public static SequenceIterator query(XPathContext context, XQueryExpression query, Item source) throws XPathException { if (query == null) { return null; } DynamicQueryContext dqc = new DynamicQueryContext(context.getConfiguration()); if (source != null) { dqc.setContextItem(source); } return query.iterator(dqc); }
config.buildDocument(new DOMSource(contextNode)); DynamicQueryContext dc = new DynamicQueryContext(config); dc.setContextItem(contextItem); dc.setParameter(contextVar, contextItem);
DynamicQueryContext context = new DynamicQueryContext(config); try { props.setProperty(OutputKeys.METHOD, "text"); DynamicQueryContext dynamicContext = new DynamicQueryContext(config); dynamicContext.setContextNode(docInfo); SequenceIterator iter = exp.iterator(dynamicContext);
protected void queryContent(XQueryExpression expression, MessageExchange exchange, NormalizedMessage in, NormalizedMessage out) throws Exception { Configuration config = getConfiguration(); DynamicQueryContext dynamicEnv = new DynamicQueryContext(config); DocumentInfo doc = staticEnv.buildDocument(in.getContent()); dynamicEnv.setContextItem(doc); configureQuery(dynamicEnv, exchange, in); Properties props = outputProperties != null ? outputProperties : EMPTY_PROPS; if (RESULT_BYTES.equalsIgnoreCase(getResult())) { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); Result result = new StreamResult(buffer); expression.pull(dynamicEnv, result, props); out.setContent(new BytesSource(buffer.toByteArray())); } else if (RESULT_STRING.equalsIgnoreCase(getResult())) { StringWriter buffer = new StringWriter(); Result result = new StreamResult(buffer); expression.pull(dynamicEnv, result, props); out.setContent(new StringSource(buffer.toString())); } else { DOMResult result = new DOMResult(); expression.pull(dynamicEnv, result, props); out.setContent(new DOMSource(result.getNode())); } }
/** * Run a previously-compiled query. The initial context item for the query is taken from the context * in which the query is called (if there is one); no parameters are supplied * * @param context The dynamic context * @param query The compiled query * @return the sequence representing the result of the query */ public static SequenceIterator query(XPathContext context, XQueryExpression query) throws XPathException { if (query == null) { return null; } DynamicQueryContext dqc = new DynamicQueryContext(context.getConfiguration()); Item c = context.getContextItem(); if (c != null) { dqc.setContextItem(c); } return query.iterator(dqc); }
/** * Run a previously-compiled query. The initial context item for the query is taken from the context * in which the query is called (if there is one); no parameters are supplied * * @param context The dynamic context * @param query The compiled query * @return the sequence representing the result of the query */ public static SequenceIterator query(XPathContext context, XQueryExpression query) throws XPathException { if (query == null) { return null; } DynamicQueryContext dqc = new DynamicQueryContext(context.getConfiguration()); Item c = context.getContextItem(); if (c != null) { dqc.setContextItem(c); } return query.iterator(dqc); }
/** * Run a previously-compiled query. The initial context item for the query is taken from the context * in which the query is called (if there is one); no parameters are supplied * * @param context The dynamic context * @param query The compiled query * @return the sequence representing the result of the query */ public static SequenceIterator query(XPathContext context, XQueryExpression query) throws XPathException { if (query == null) { return null; } DynamicQueryContext dqc = new DynamicQueryContext(context.getConfiguration()); Item c = context.getContextItem(); if (c != null) { dqc.setContextItem(c); } return query.iterator(dqc); }
return null; DynamicQueryContext dqc = new DynamicQueryContext(context.getConfiguration()); if (source != null) { dqc.setContextItem(source);
return null; DynamicQueryContext dqc = new DynamicQueryContext(context.getConfiguration()); if (source != null) { dqc.setContextItem(source);