public class IterateAction extends ForEachAction
The watch is capable of handling a select expression that selects non-peer nodes (that is, one selected node that is a descendant of another). A top-level selected node is processed directly to the output receiver; a nested node is processed to create a temporary result tree, which is then appended to the output sequence when the processing of the outer selected node is complete.
ForEachAction.ActivationbodyContext| Constructor and Description |
|---|
IterateAction(WatchManager watchManager,
Expression expression,
Feed result,
XPathContext context) |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Finish evaluating the expression.
|
void |
endSelectedParentNode(Location locationId)
Signal that the endElement event has occurred for the element whose startElement
event caused the Watch to be activated.
|
void |
open(Terminator terminator)
Start evaluating the expression.
|
void |
processItem(Item<?> it)
Signal that a node (other than an element) that matches the selection
has been found.
|
Receiver |
startSelectedParentNode(FleetingParentNode node,
Location locationId)
Signal that an element has been found that matches the selection that this
Watch is looking for.
|
getAction, getActivationStack, getBodyContext, getInversion, getReceiver, getValuesAwaitingOutput, getWatchManager, isActionConsuming, makeBodyContext, setInversiondynamicError, getContext, getExpression, getPipelineConfiguration, getResult, getTerminator, hasFailed, processItems, setExpression, setHasFailed, setPipelineConfiguration, setTerminatorpublic IterateAction(WatchManager watchManager, Expression expression, Feed result, XPathContext context)
public void open(Terminator terminator) throws XPathException
ItemFeedopen in interface Feedopen in class ForEachActionterminator - used to achieve early exitXPathException - if a dynamic error occurspublic Receiver startSelectedParentNode(FleetingParentNode node, Location locationId) throws XPathException
startSelectedParentNode in interface FeedstartSelectedParentNode in class ForEachActionnode - the element or document node whose start event has been matchedlocationId - the location associated with the element or document node (may be
the location of the instruction that created it)ValidationException - May be raised if the constraint implemented by this
Watch is violated @param locationId the location of the node in the source, or of the instruction that created itXPathException - May be raised if a dynamic error occurspublic void processItem(Item<?> it) throws XPathException
processItem in interface FeedprocessItem in class ForEachActionit - the node that was matched.XPathException - May be raised if a dynamic error occurspublic void endSelectedParentNode(Location locationId) throws XPathException
endSelectedParentNode in interface FeedendSelectedParentNode in class ForEachActionlocationId - the location of the node in the source, or of the instruction that created itValidationException - May be raised if the constraint implemented by this
Watch is violated @param locationId the location of the node in the source, or of the instruction that created itXPathException - May be raised if a constraint implemented by this
Watch is violatedpublic void close()
throws XPathException
ItemFeedclose in interface Feedclose in class ForEachActionXPathException - if a dynamic error occursCopyright (c) 2004-2020 Saxonica Limited. All rights reserved.