public class GroupVariableReference extends LocalVariableReference
binding, constantValue, staticTypeEFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, EVENT_FEED_METHOD, INHERITED_CONTEXT, INSPECTION_CONTEXT, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, NAVIGATION_CONTEXT, NODE_VALUE_CONTEXT, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, W3C_CONSUMING, W3C_FREE_RANGING, W3C_GROUP_CONSUMING, W3C_MOTIONLESS, WATCH_METHOD| Constructor and Description |
|---|
GroupVariableReference() |
GroupVariableReference(Binding binding) |
| Modifier and Type | Method and Description |
|---|---|
int |
computeCardinality()
Get the static cardinality
|
int |
computeSpecialProperties()
Determine the special properties of this expression.
|
Expression |
copy()
Create a clone copy of this VariableReference
|
ForEachGroup |
getControllingExpression() |
int |
getStreamability(int syntacticContext,
boolean allowExtensions,
List<String> reasons)
Get the "sweep" of this expression as defined in the W3C streamability specifications.
|
GroupVariableReferenceAdjunct |
getStreamingAdjunct()
Get a class that supports streamed evaluation of this expression
|
Expression |
optimize(ExpressionVisitor visitor,
ExpressionVisitor.ContextItemType contextItemType)
Type-check the expression.
|
void |
setControllingExpression(ForEachGroup feg) |
Pattern |
toStreamingPattern(Configuration config,
List<String> reasonForFailure)
Convert this expression to a streaming pattern (a pattern used internally to match nodes during
push processing of an event stream)
|
evaluateVariable, getExpressionCompiler, getSlotNumber, setSlotNumberaddToPathMap, equals, evaluateItem, explain, fixup, getBinding, getDisplayName, getEQName, getImplementationMethod, getIntegerBounds, getIntrinsicDependencies, getItemType, hashCode, isFiltered, isFlattened, isInLoop, iterate, process, promote, refineVariableType, setFiltered, setFlattened, setStaticType, toString, typeCheckadoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getEvaluationMethod, getExecutable, getExpressionName, getHostLanguage, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterateEvents, iterateSubExpressionInfo, iterateSubExpressions, markTailFunctionCalls, replaceSubExpression, resetLocalStaticProperties, setContainer, setEvaluationMethod, setLocationId, simplify, staticTypeCheck, suppressValidation, toPattern, typeErrorpublic GroupVariableReference()
public GroupVariableReference(Binding binding)
public Expression optimize(ExpressionVisitor visitor, ExpressionVisitor.ContextItemType contextItemType) throws XPathException
VariableReferenceoptimize in class VariableReferencevisitor - 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_TYPEXPathException - if an error is discovered during this phase
(typically a type error)public Expression copy()
copy in class LocalVariableReferencepublic void setControllingExpression(ForEachGroup feg)
public ForEachGroup getControllingExpression()
public int computeSpecialProperties()
computeSpecialProperties in class VariableReferenceStaticProperty.NON_CREATIVE (unless the variable is assignable using saxon:assign)public int computeCardinality()
computeCardinality in class VariableReferenceStaticProperty.ALLOWS_ZERO_OR_ONE,
StaticProperty.EXACTLY_ONE, StaticProperty.ALLOWS_ONE_OR_MORE,
StaticProperty.ALLOWS_ZERO_OR_MOREpublic int getStreamability(int syntacticContext,
boolean allowExtensions,
List<String> reasons)
ExpressiongetStreamability in class VariableReferencesyntacticContext - one of the values Expression.NAVIGATION_CONTEXT,
Expression.NODE_VALUE_CONTEXT, Expression.INHERITED_CONTEXT, Expression.INSPECTION_CONTEXTallowExtensions - if false, the definition of "guaranteed streamability" in the
W3C specification is used. If true, Saxon extensions are permitted, which make somereasons - the caller may supply a list, in which case the implementation may add to this
list a message explaining why the construct is not streamable, suitable for inclusion in an
error message.Expression.W3C_MOTIONLESS, Expression.W3C_CONSUMING,
Expression.W3C_GROUP_CONSUMING, Expression.W3C_FREE_RANGINGpublic GroupVariableReferenceAdjunct getStreamingAdjunct()
getStreamingAdjunct in class Expressionpublic Pattern toStreamingPattern(Configuration config, List<String> reasonForFailure)
toStreamingPattern in class Expressionconfig - the Saxon configurationreasonForFailure - a list which will be populated with messages giving reasons why the
expression cannot be convertedCopyright (c) 2004-2013 Saxonica Limited. All rights reserved.