net.sf.saxon.functions
Class ItemAt
java.lang.Object
net.sf.saxon.expr.Expression
net.sf.saxon.expr.FunctionCall
net.sf.saxon.functions.SystemFunction
net.sf.saxon.functions.ItemAt
- All Implemented Interfaces:
- Serializable, SourceLocator, EvaluableItem, SequenceIterable, InstructionInfoProvider
public class ItemAt
- extends SystemFunction
Implements the saxon:item-at() function. This is handled specially because it is generated
by the optimizer.
The function takes two arguments: the first is an arbitrary sequence, the second is optional numeric.
The function returns the same result as let $N := NUMBER return SEQUENCE[$N], including cases where the
numeric argument is not a whole number.
- See Also:
- Serialized Form
Methods inherited from class net.sf.saxon.expr.FunctionCall |
addExternalFunctionCallToPathMap, equals, explain, getArguments, getDisplayName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, preEvaluate, promote, replaceSubExpression, setArguments, setFunctionName, simplify, toString, typeCheck |
Methods inherited from class net.sf.saxon.expr.Expression |
addToPathMap, adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, display, doPromotion, effectiveBooleanValue, evaluateAsString, explain, findParentOf, getCardinality, getColumnNumber, getContainer, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, iterate, iterateEvents, markTailFunctionCalls, process, setContainer, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation |
ItemAt
public ItemAt()
optimize
public Expression optimize(ExpressionVisitor visitor,
ItemType contextItemType)
throws XPathException
- Perform optimisation of an expression and its subexpressions.
This method is called after all references to functions and variables have been resolved
to the declaration of the function or variable, and after all type checking has been done.
- Overrides:
optimize
in class SystemFunction
- 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 if appropriate to optimize execution
- Throws:
XPathException
- if an error is discovered during this phase
(typically a type error)
evaluateItem
public Item evaluateItem(XPathContext context)
throws XPathException
- Evaluate the function to return the selected item.
- Specified by:
evaluateItem
in interface EvaluableItem
- Overrides:
evaluateItem
in class Expression
- Parameters:
context
- 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
Copyright (C) Michael H. Kay. All rights reserved.