public abstract class ComplexNodeEventFeed extends ItemFeed
The instruction-dependent code is contained in the processLeft() and processRight() methods
Constructor and Description |
---|
ComplexNodeEventFeed(Expression exp,
Feed parentExpressionFeed,
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.
|
SequenceReceiver |
getReceiver()
Get a receiver to which start and end events for documents and elements can be
written.
|
void |
open(Terminator terminator)
Start evaluating the expression.
|
void |
processItem(Item item)
Supply one item towards the streamed input of the expression
|
protected abstract void |
processLeft(XPathContext context)
In streaming mode, process the first half of the instruction (for example, to start a new document or element)
|
protected abstract void |
processRight(XPathContext context)
In streaming mode, process the right half of the instruction (for example, to end a new document or element)
|
protected void |
setReceiver(SequenceReceiver out) |
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.
|
dynamicError, getContext, getExpression, getPipelineConfiguration, getResult, getTerminator, hasFailed, processItems, setExpression, setHasFailed, setPipelineConfiguration, setTerminator
public ComplexNodeEventFeed(Expression exp, Feed parentExpressionFeed, XPathContext context)
public void open(Terminator terminator) throws XPathException
ItemFeed
open
in interface Feed
open
in class ItemFeed
terminator
- used to achieve early exitXPathException
- if a dynamic error occurspublic Receiver startSelectedParentNode(FleetingParentNode node, Location locationId) throws XPathException
ItemFeed
startSelectedParentNode
in interface Feed
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
- May be raised if a dynamic error occurspublic void processItem(Item item) throws XPathException
ItemFeed
processItem
in interface Feed
processItem
in class ItemFeed
item
- the item to be suppliedXPathException
- May be raised if a dynamic error occurspublic void endSelectedParentNode(Location locationId) throws XPathException
ItemFeed
endSelectedParentNode
in interface Feed
endSelectedParentNode
in class ItemFeed
locationId
- the location of the elementXPathException
- May be raised if a constraint implemented by this
Watch is violatedpublic void close() throws XPathException
ItemFeed
close
in interface Feed
close
in class ItemFeed
XPathException
- if a dynamic error occurspublic SequenceReceiver getReceiver()
ItemFeed
getReceiver
in interface Feed
getReceiver
in class ItemFeed
protected void setReceiver(SequenceReceiver out)
protected abstract void processLeft(XPathContext context) throws XPathException
context
- The dynamic contextXPathException
- if a dynamic error occursprotected abstract void processRight(XPathContext context) throws XPathException
context
- The dynamic contextXPathException
- if a dynamic error occursCopyright (c) 2004-2018 Saxonica Limited. All rights reserved.