public class ForEachGroupPartitionAction extends ItemFeed
The feed 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.
Modifier and Type | Field and Description |
---|---|
protected XPathContext |
bodyContext |
boolean |
feedAppliesToWholeGroup |
pipelineConfiguration, systemId
Constructor and Description |
---|
ForEachGroupPartitionAction(WatchManager watchManager,
ForEachGroup expression,
ItemFeed result,
XPathContext context) |
Modifier and Type | Method and Description |
---|---|
void |
append(Item node)
Signal that an item (other than an element) that matches the selection
has been found.
|
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 Inversion |
getInversion() |
protected void |
makeBodyContext() |
void |
open(Terminator terminator)
Start evaluating the expression.
|
void |
setInversion(Inversion inversion) |
Receiver |
startSelectedParentNode(FleetingParentNode node,
Location locationId)
Signal that an element (or document node) has been found that matches the selection that this
Watch is looking for.
|
append, dynamicError, getContext, getExpression, getResultFeed, 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 boolean feedAppliesToWholeGroup
public ForEachGroupPartitionAction(WatchManager watchManager, ForEachGroup expression, ItemFeed result, XPathContext context)
public void setInversion(Inversion inversion)
protected Inversion getInversion()
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)XPathException
- if a dynamic error occurs while processing the start-element eventpublic void append(Item node) throws XPathException
append
in interface Receiver
append
in class ItemFeed
node
- the item that was matched.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-2022 Saxonica Limited. All rights reserved.