public abstract class GroupBoundaryTester
extends java.lang.Object
The items received by this Feed will generally be supplied by a CopyOfWatch. There is scope for future optimization to prevent the selected nodes being unnecessarily composed in memory.
There are thus two destinations into which this class feeds. The first, identified by the usual result variable, receives every item in the group, and is notified of the start and end of a group by calling its open() and close() methods. This destination processes the instructions within the for-each-group instruction before and after the reference to the grouping variable. The second destination, identified by the variable outerFeed, has its open() method called at the beginning of processing the population, and its close() method called at the end of processing the population; its append() method is called with the items that result from evaluation of the for-each-group body.
Constructor and Description |
---|
GroupBoundaryTester(ForEachGroup expression,
XPathContext context) |
Modifier and Type | Method and Description |
---|---|
ForEachGroup |
getControllingExpression() |
protected XPathContext |
getLocalContext() |
abstract boolean |
notifyItem()
Signal that a new item that matches the selection
has been found.
|
void |
setControllingExpression(ForEachGroup controllingExpression) |
public GroupBoundaryTester(ForEachGroup expression, XPathContext context)
protected XPathContext getLocalContext()
public void setControllingExpression(ForEachGroup controllingExpression)
public ForEachGroup getControllingExpression()
public abstract boolean notifyItem() throws XPathException
XPathException
- May be raised if a dynamic error occursCopyright (c) 2004-2020 Saxonica Limited. All rights reserved.