net.sf.saxon.functions
Class Position
java.lang.Object
net.sf.saxon.expr.Expression
net.sf.saxon.expr.FunctionCall
net.sf.saxon.functions.SystemFunction
net.sf.saxon.functions.Position
- All Implemented Interfaces:
- Serializable, SourceLocator, LocationProvider, SaxonLocator, InstructionInfo, Locator
public class Position
- extends SystemFunction
- See Also:
- Serialized Form
Fields inherited from class net.sf.saxon.expr.Expression |
EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, WATCH_METHOD |
Methods inherited from class net.sf.saxon.functions.SystemFunction |
addContextDocumentArgument, addDocToPathMap, checkArguments, computeCardinality, computeSpecialProperties, copy, equals, getDetails, getErrorCodeForTypeErrors, getImplementationMethod, getItemType, getOperation, getRequiredType, makeSystemFunction, optimize, setDetails, useContextItemAsDefault |
Methods inherited from class net.sf.saxon.expr.FunctionCall |
addExternalFunctionCallToPathMap, checkArgumentCount, explain, getArguments, getDisplayName, getExpressionName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, preEvaluate, replaceSubExpression, setArguments, setFunctionName, simplify, simplifyArguments, toString |
Methods inherited from class net.sf.saxon.expr.Expression |
addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterate, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, typeError |
Position
public Position()
getIntegerBounds
public IntegerValue[] getIntegerBounds()
- For an expression that returns an integer or a sequence of integers, get
a lower and upper bound on the values of the integers that may be returned, from
static analysis. The default implementation returns null, meaning "unknown" or
"not applicable". Other implementations return an array of two IntegerValue objects,
representing the lower and upper bounds respectively. The values
UNBOUNDED_LOWER and UNBOUNDED_UPPER are used by convention to indicate that
the value may be arbitrarily large. The values MAX_STRING_LENGTH and MAX_SEQUENCE_LENGTH
are used to indicate values limited by the size of a string or the size of a sequence.
- Overrides:
getIntegerBounds
in class Expression
- Returns:
- the lower and upper bounds of integer values in the result, or null to indicate
unknown or not applicable.
typeCheck
public Expression typeCheck(ExpressionVisitor visitor,
ExpressionVisitor.ContextItemType contextItemType)
throws XPathException
- Description copied from class:
FunctionCall
- Type-check the expression. This also calls preEvaluate() to evaluate the function
if all the arguments are constant; functions that do not require this behavior
can override the preEvaluate method.
- Overrides:
typeCheck
in class FunctionCall
- Parameters:
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
- Returns:
- the original expression, rewritten to perform necessary run-time type checks,
and to perform other type-related optimizations
- Throws:
XPathException
- if an error is discovered during this phase
(typically a type error)
promote
public Expression promote(PromotionOffer offer,
Expression parent)
throws XPathException
- Promote this expression if possible
- Overrides:
promote
in class FunctionCall
- Parameters:
offer
- details of the offer, for example the offer to move
expressions that don't depend on the context to an outer level in
the containing expressionparent
- the containing expression in the expression tree
- Returns:
- if the offer is not accepted, return this expression unchanged.
Otherwise return the result of rewriting the expression to promote
this subexpression
- Throws:
XPathException
- if any error is detected
isContextPossiblyUndefined
public boolean isContextPossiblyUndefined()
- Ask whether the context item may possibly be undefined
- Returns:
- true if it might be undefined
evaluateItem
public Item evaluateItem(XPathContext c)
throws XPathException
- Evaluate in a general context
- Overrides:
evaluateItem
in class Expression
- Parameters:
c
- The context in which the expression is to be evaluated
- Returns:
- the node or atomic value that results from evaluating the
expression; or null to indicate that the result is an empty
sequence
- Throws:
XPathException
- if any dynamic error occurs evaluating the
expression
getIntrinsicDependencies
public int getIntrinsicDependencies()
- Determine the intrinsic dependencies
- Overrides:
getIntrinsicDependencies
in class Expression
- Returns:
- a set of bit-significant flags identifying the "intrinsic"
dependencies. The flags are documented in class net.sf.saxon.value.StaticProperty
Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.