Package net.sf.saxon.expr.flwor
Class ForClausePull
java.lang.Object
net.sf.saxon.expr.flwor.TuplePull
net.sf.saxon.expr.flwor.ForClausePull
- Direct Known Subclasses:
ForClauseOuterPull
,ForMemberClausePull
This class implements the changes to the tuple stream effected by a "for" clause in a FLWOR expression
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Close the tuple stream, indicating that although not all tuples have been read, no further tuples are required and resources can be releasedprotected SequenceIterator
getIterator
(XPathContext context) Get an iterator over the items or members in the target collection.boolean
nextTuple
(XPathContext context) Move on to the next tuple.protected GroundedValue
variableValue
(Item item) Get the value to be bound to the iteration variable
-
Field Details
-
base
-
forClause
-
currentIteration
-
-
Constructor Details
-
ForClausePull
-
-
Method Details
-
nextTuple
Move on to the next tuple. Before returning, this method must set all the variables corresponding to the "returned" tuple in the local stack frame associated with the context object- Specified by:
nextTuple
in classTuplePull
- Parameters:
context
- the dynamic evaluation context- Returns:
- true if another tuple has been generated; false if the tuple stream is exhausted. If the method returns false, the values of the local variables corresponding to this tuple stream are undefined.
- Throws:
XPathException
- if any error occurs
-
getIterator
Get an iterator over the items or members in the target collection.- Parameters:
context
- dynamic evaluation context- Returns:
- for a simple "for $x" clause, the sequence of items to which $x will be bound. For a "for member ¢x" clause, the sequence of array members, each wrapped as an object value
- Throws:
XPathException
- if evaluation fails
-
variableValue
Get the value to be bound to the iteration variable- Parameters:
item
- the value returned by the sequence iterator- Returns:
- the value to be assigned to the iteration variable
-
close
public void close()Close the tuple stream, indicating that although not all tuples have been read, no further tuples are required and resources can be released
-