/** * Notify the availability of the next tuple. Before calling this method, * the supplier of the tuples must set all the variables corresponding * to the supplied tuple in the local stack frame associated with the context object * * @param context the dynamic evaluation context */ @Override public void processTuple(XPathContext context) throws XPathException { returnExpr.process(context); }
/** * Process the instruction, without returning any tail calls * * @param context The dynamic context, giving access to the current node, * the current variables, etc. */ public void process(XPathContext context) throws XPathException { operand.process(context); }
/** * Process the instruction, without returning any tail calls * * @param context The dynamic context, giving access to the current node, * the current variables, etc. */ public void process(XPathContext context) throws XPathException { operand.process(context); }
/** * Notify the availability of the next tuple. Before calling this method, * the supplier of the tuples must set all the variables corresponding * to the supplied tuple in the local stack frame associated with the context object * * @param context the dynamic evaluation context */ @Override public void processTuple(XPathContext context) throws XPathException { returnExpr.process(context); }
/** * Process the instruction, without returning any tail calls * * @param context The dynamic context, giving access to the current node, * the current variables, etc. * @throws net.sf.saxon.trans.XPathException if a dynamic error occurs */ @Override public void process(XPathContext context) throws XPathException { getBaseExpression().process(context); }
/** * Process the instruction, without returning any tail calls * * @param context The dynamic context, giving access to the current node, * the current variables, etc. * @throws XPathException if a dynamic error occurs */ @Override public void process(XPathContext context) throws XPathException { getBaseExpression().process(context); }
/** * Process the instruction, without returning any tail calls * * @param context The dynamic context, giving access to the current node, * the current variables, etc. * @throws net.sf.saxon.trans.XPathException if a dynamic error occurs */ @Override public void process(XPathContext context) throws XPathException { getBaseExpression().process(context); }
public TailCall processLeavingTail(XPathContext context) throws XPathException { while (test.effectiveBooleanValue(context)) { action.process(context); } return null; }
/** * Process the instruction, without returning any tail calls * * @param context The dynamic context, giving access to the current node, * the current variables, etc. * @throws XPathException if a dynamic error occurs */ @Override public void process(XPathContext context) throws XPathException { getBaseExpression().process(context); }
/** * Process the instruction, without returning any tail calls * * @param context The dynamic context, giving access to the current node, * the current variables, etc. * @throws net.sf.saxon.trans.XPathException if a dynamic error occurs */ @Override public void process(XPathContext context) throws XPathException { getBaseExpression().process(context); }
public TailCall processLeavingTail(XPathContext context) throws XPathException { while (test.effectiveBooleanValue(context)) { action.process(context); } return null; }
/** * Process the instruction, without returning any tail calls * * @param context The dynamic context, giving access to the current node, * the current variables, etc. * @throws net.sf.saxon.trans.XPathException if a dynamic error occurs */ @Override public void process(XPathContext context) throws XPathException { getBaseExpression().process(context); }
/** * Expand the template. Called when the template is invoked using xsl:call-template. * Invoking a template by this method does not change the current template. * @param context the XPath dynamic context * @return null if the template exited normally; but if it was a tail call, details of the call * that hasn't been made yet and needs to be made by the caller */ public TailCall expand(XPathContext context) throws XPathException { if (bodyIsTailCallReturner) { return ((TailCallReturner)body).processLeavingTail(context); } else if (body != null) { body.process(context); } return null; }
/** * Expand the template. Called when the template is invoked using xsl:call-template. * Invoking a template by this method does not change the current template. * @param context the XPath dynamic context * @return null if the template exited normally; but if it was a tail call, details of the call * that hasn't been made yet and needs to be made by the caller */ public TailCall expand(XPathContext context) throws XPathException { if (bodyIsTailCallReturner) { return ((TailCallReturner)body).processLeavingTail(context); } else if (body != null) { body.process(context); } return null; }
/** * Process the instruction, without returning any tail calls. This is the * non-streamed mode of operation, which processes the child expressions * in turn exactly like a sequence constructor. * * @param context The dynamic context, giving access to the current node, * the current variables, etc. */ @Override public TailCall processLeavingTail(XPathContext context) throws XPathException { for (Operand o : operands()) { o.getChildExpression().process(context); } return null; }
/** * Process the instruction, without returning any tail calls. This is the * non-streamed mode of operation, which processes the child expressions * in turn exactly like a sequence constructor. * * @param context The dynamic context, giving access to the current node, * the current variables, etc. */ @Override public TailCall processLeavingTail(XPathContext context) throws XPathException { for (Operand o : operands()) { o.getChildExpression().process(context); } return null; }
/** * Process this expression as an instruction, writing results to the current * outputter */ public void process(XPathContext context) throws XPathException { int slot = getLocalSlotNumber(); getSequence().iterate(context).forEachOrFail(item -> { context.setLocalVariable(slot, item); getAction().process(context); }); }
/** * Process this expression as an instruction, writing results to the current * outputter */ public void process(XPathContext context) throws XPathException { int slot = getLocalSlotNumber(); getSequence().iterate(context).forEachOrFail(item -> { context.setLocalVariable(slot, item); getAction().process(context); }); }
@Override public Sequence<?> evaluate(Expression expr, XPathContext context) throws XPathException { Controller controller = context.getController(); Receiver saved = context.getReceiver(); SequenceOutputter seq = controller.allocateSequenceOutputter(20); seq.getPipelineConfiguration().setHostLanguage(expr.getPackageData().getHostLanguage()); context.setReceiver(seq); seq.open(); expr.process(context); seq.close(); context.setReceiver(saved); Sequence<?> val = seq.getSequence(); seq.reset(); return val; }
@Override public Sequence<?> evaluate(Expression expr, XPathContext context) throws XPathException { Controller controller = context.getController(); Receiver saved = context.getReceiver(); SequenceOutputter seq = controller.allocateSequenceOutputter(20); seq.getPipelineConfiguration().setHostLanguage(expr.getPackageData().getHostLanguage()); context.setReceiver(seq); seq.open(); expr.process(context); seq.close(); context.setReceiver(saved); Sequence<?> val = seq.getSequence(); seq.reset(); return val; }