public class ForEachAction extends ItemFeed
Modifier and Type | Field and Description |
---|---|
protected XPathContext |
bodyContext |
pipelineConfiguration, systemId
Constructor and Description |
---|
ForEachAction(WatchManager watchManager,
Expression expression,
ItemFeed result,
XPathContext context) |
Modifier and Type | Method and Description |
---|---|
void |
append(Item it)
Method called by the feed for a subexpression to supply a grounded item from the streamed input.
|
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.
|
protected Expression |
getAction() |
protected XPathContext |
getBodyContext() |
protected Inversion |
getInversion() |
protected WatchManager |
getWatchManager() |
protected boolean |
isActionConsuming() |
protected void |
makeBodyContext() |
void |
open(Terminator terminator)
Start evaluating the expression.
|
void |
setInversion(Inversion inversion)
Set the inversion of the for-each action (the body of the loop)
|
Receiver |
startSelectedParentNode(FleetingParentNode node,
Location locationId)
Signal that an element has been found that matches the selection that this
Watch is looking for.
|
append, dynamicError, getContext, getExpression, getResult, getTerminator, hasFailed, processItems, setExpression, setHasFailed, setTerminator
attribute, characters, comment, endDocument, endElement, getNextOutputter, namespace, open, processingInstruction, setUnparsedEntity, startContent, startDocument, startElement, startElement, usesTypeAnnotations
getConfiguration, getPipelineConfiguration, getStringReceiver, getSystemId, namespaces, setPipelineConfiguration, setSystemId
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
handlesAppend
protected XPathContext bodyContext
public ForEachAction(WatchManager watchManager, Expression expression, ItemFeed result, XPathContext context)
public void setInversion(Inversion inversion)
inversion
- the inverted code implementing the body of the for-eachprotected Inversion getInversion()
protected WatchManager getWatchManager()
protected Expression getAction()
protected boolean isActionConsuming()
protected XPathContext getBodyContext()
public void open(Terminator terminator) throws XPathException
ItemFeed
open
in class ItemFeed
terminator
- used to achieve early exitXPathException
- if a dynamic error occursprotected void makeBodyContext()
public Receiver startSelectedParentNode(FleetingParentNode node, Location locationId) throws XPathException
startSelectedParentNode
in class ItemFeed
node
- 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 append(Item it) throws XPathException
append
in interface Receiver
append
in class ItemFeed
it
- the grounded item.XPathException
- if the operation failspublic void endSelectedParentNode(Location locationId) throws XPathException
endSelectedParentNode
in class ItemFeed
locationId
- 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
ItemFeed
close
in interface Receiver
close
in class ItemFeed
XPathException
- if a dynamic error occursCopyright (c) 2004-2020 Saxonica Limited. All rights reserved.