public class ForMemberClause extends ForClause
Clause.ClauseNameallowsEmpty, positionVariable, rangeVariable, sequenceOp| Constructor and Description |
|---|
ForMemberClause() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
addPredicate(FLWORExpression flwor,
ExpressionVisitor visitor,
ContextItemStaticInfo contextItemType,
Expression condition)
Convert where clause to a predicate.
|
void |
addToPathMap(PathMap pathMap,
PathMap.PathMapNodeSet pathMapNodeSet)
Collect information about the navigation paths followed by this clause, for document projection purposes
|
ForMemberClause |
copy(FLWORExpression flwor,
RebindingMap rebindings)
Create a copy of this clause
|
Clause.ClauseName |
getClauseKey()
Get a keyword identifying what kind of clause this is
|
TuplePull |
getPullStream(TuplePull base,
XPathContext context)
Get a tuple stream that implements the functionality of this clause, taking its
input from another tuple stream which this clause modifies
|
TuplePush |
getPushStream(TuplePush destination,
Outputter output,
XPathContext context)
Get a push-mode tuple stream that implements the functionality of this clause, supplying its
output to another tuple stream
|
void |
refineVariableType(ExpressionVisitor visitor,
java.util.List<VariableReference> references,
Expression returnExpr)
Supply improved type information to the expressions that contain references to the variables declared in this clause
|
void |
typeCheck(ExpressionVisitor visitor,
ContextItemStaticInfo contextInfo)
Type-check the expression
|
explain, gatherVariableReferences, getPositionVariable, getRangeVariable, getRangeVariables, getSequence, initSequence, isAllowingEmpty, processOperands, setAllowingEmpty, setPositionVariable, setRangeVariable, setSequence, toShortString, toStringcontainsNonInlineableVariableReference, getConfiguration, getLocation, getPackageData, getTraceInfo, isRepeated, optimize, setLocation, setPackageData, setRepeatedpublic Clause.ClauseName getClauseKey()
ClausegetClauseKey in class ForClausepublic ForMemberClause copy(FLWORExpression flwor, RebindingMap rebindings)
Clausepublic void typeCheck(ExpressionVisitor visitor, ContextItemStaticInfo contextInfo) throws XPathException
typeCheck in class ForClausevisitor - the ExpressionVisitor, providing access to static context informationcontextInfo - static information about the dynamic contextXPathException - if any error is detectedpublic TuplePull getPullStream(TuplePull base, XPathContext context)
getPullStream in class ForClausebase - the input tuple streamcontext - the XPath dynamic contextpublic TuplePush getPushStream(TuplePush destination, Outputter output, XPathContext context)
getPushStream in class ForClausedestination - the output tuple streamoutput - the destination for the resultcontext - the dynamic evaluation contextpublic boolean addPredicate(FLWORExpression flwor, ExpressionVisitor visitor, ContextItemStaticInfo contextItemType, Expression condition) throws XPathException
addPredicate in class ForClauseflwor - the FLWOR expression (sans the relevant part of the where clause)visitor - the expression visitorcontextItemType - the item type of the context itemcondition - the predicate to be added. This will always be a single term (never a composite condition
using "and"), as the where clause is split into separate terms before calling this methodXPathException - if an error is encounteredpublic void refineVariableType(ExpressionVisitor visitor, java.util.List<VariableReference> references, Expression returnExpr)
ClauserefineVariableType in class ForClausevisitor - the expression visitorreferences - the list of variable referencesreturnExpr - the expression in the return clausepublic void addToPathMap(PathMap pathMap, PathMap.PathMapNodeSet pathMapNodeSet)
ClauseaddToPathMap in class ForClausepathMap - the path map in which the data is to be collectedpathMapNodeSet - the path map node set representing the paths to the context itemCopyright (c) 2004-2022 Saxonica Limited. All rights reserved.