public class OuterForExpression extends ForExpression
ForExpression.MappingAction
hasLoopingReference, isIndexedVariable, references, requiredType, slotNumber, variableName
EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, MAX_COST, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, UPDATE_METHOD, WATCH_METHOD
Constructor and Description |
---|
OuterForExpression() |
Modifier and Type | Method and Description |
---|---|
Expression |
copy(RebindingMap rebindings)
Copy an expression.
|
void |
evaluatePendingUpdates(XPathContext context,
PendingUpdateList pul)
Evaluate an updating expression, adding the results to a Pending Update List.
|
protected void |
explainSpecializedAttributes(ExpressionPresenter out) |
java.lang.String |
getExpressionName()
Get a name identifying the kind of expression, in terms meaningful to a user.
|
protected int |
getRangeVariableCardinality()
Get the cardinality of the range variable
|
SequenceIterator<?> |
iterate(XPathContext context)
Iterate over the result of the expression
|
Expression |
optimize(ExpressionVisitor visitor,
ContextItemStaticInfo contextItemType)
Optimize the expression
|
void |
process(XPathContext context)
Process this expression as an instruction, writing results to the current
outputter
|
checkPermittedContents, computeCardinality, export, getConstructType, getImplementationMethod, getIntegerBounds, getItemType, getStaticUType, getStreamerName, isVacuousExpression, markTailFunctionCalls, promoteWhereClause, toShortString, toString, typeCheck, unordered
addReference, addToPathMap, checkForUpdatingSubexpressions, computeDependencies, evaluateVariable, getAction, getActionOp, getCost, getIntegerBoundsForVariable, getLocalSlotNumber, getNominalReferenceCount, getObjectName, getRequiredSlots, getRequiredType, getSequence, getSequenceOp, getVariableEQName, getVariableName, getVariableQName, hasVariableBinding, isAssignable, isGlobal, isIndexedVariable, isUpdatingExpression, operands, rebuildReferenceList, refineTypeInformation, removeDeadReferences, replaceVariable, setAction, setIndexedVariable, setRequiredType, setSequence, setSlotNumber, setVariableQName, suppressValidation, verifyReferences
adoptChildExpression, allowExtractingCommonSubexpressions, checkedOperands, computeHashCode, computeSpecialProperties, computeStaticProperties, dynamicError, effectiveBooleanValue, equals, evaluateAsString, evaluateItem, explain, getCardinality, getConfiguration, getDependencies, getEvaluationMethod, getExtraProperty, getInterpretedExpression, getIntrinsicDependencies, getLocalRetainedStaticContext, getLocation, getNetCost, getPackageData, getParentExpression, getProperties, getProperty, getRetainedStaticContext, getScopingExpression, getSlotsUsed, getSpecialProperties, getStaticBaseURI, getStaticBaseURIString, getStaticType, hasCompatibleStaticContext, hashCode, hasSpecialProperty, identityHashCode, implementsStaticTypeCheck, isCallOn, isEqual, isIdentical, isInstruction, isLiftable, isMultiThreaded, isStaticPropertiesKnown, isSubtreeExpression, operandList, operandSparseList, optimizeChildren, prepareForStreaming, resetLocalStaticProperties, restoreParentPointers, setEvaluationMethod, setExtraProperty, setFiltered, setFlattened, setLocation, setParentExpression, setRetainedStaticContext, setRetainedStaticContextLocally, setRetainedStaticContextThoroughly, setStaticProperty, simplify, simplifyChildren, staticTypeCheck, toPattern, typeCheckChildren, typeError, verifyParentPointers
protected int getRangeVariableCardinality()
getRangeVariableCardinality
in class ForExpression
public Expression optimize(ExpressionVisitor visitor, ContextItemStaticInfo contextItemType) throws XPathException
optimize
in class ForExpression
visitor
- an expression visitorcontextItemType
- the static type of "." at the point where this expression is invoked.
The parameter is set to null if it is known statically that the context item will be undefined.
If the type of the context item is not known statically, the argument is set to
Type.ITEM_TYPE
XPathException
- if an error is discovered during this phase
(typically a type error)public Expression copy(RebindingMap rebindings)
copy
in class ForExpression
rebindings
- public SequenceIterator<?> iterate(XPathContext context) throws XPathException
iterate
in class ForExpression
context
- supplies the context for evaluationXPathException
- if any dynamic error occurs evaluating the
expressionpublic void process(XPathContext context) throws XPathException
process
in class ForExpression
context
- The dynamic context, giving access to the current node,
the current variables, etc.XPathException
- if a dynamic error occurspublic java.lang.String getExpressionName()
getExpressionName
in class ForExpression
public void evaluatePendingUpdates(XPathContext context, PendingUpdateList pul) throws XPathException
evaluatePendingUpdates
in class ForExpression
context
- the XPath dynamic evaluation contextpul
- the pending update list to which the results should be writtenXPathException
- if evaluation failsprotected void explainSpecializedAttributes(ExpressionPresenter out)
explainSpecializedAttributes
in class ForExpression
Copyright (c) 2004-2020 Saxonica Limited. All rights reserved.