net.sf.saxon.functions

Class Available

Implemented Interfaces:
SequenceIterable, Serializable, EvaluableItem, InstructionInfoProvider, SourceLocator, XSLTFunction

public class Available
extends SystemFunction
implements XSLTFunction

This class supports the XSLT element-available and function-available functions.

Field Summary

static int
ELEMENT_AVAILABLE
static int
FUNCTION_AVAILABLE
static int
TYPE_AVAILABLE

Fields inherited from class net.sf.saxon.functions.SystemFunction

operation

Fields inherited from class net.sf.saxon.expr.FunctionCall

argument

Fields inherited from class net.sf.saxon.expr.Expression

EVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD, locationId, staticProperties

Method Summary

void
checkArguments(ExpressionVisitor visitor)
Method called during static type checking
Item
evaluateItem(XPathContext context)
Run-time evaluation.
Expression
preEvaluate(ExpressionVisitor visitor)
preEvaluate: this method uses the static context to do early evaluation of the function if the argument is known (which is the normal case)

Methods inherited from class net.sf.saxon.functions.SystemFunction

addContextDocumentArgument, addDocToPathMap, checkArguments, computeCardinality, computeSpecialProperties, copy, getDetails, getErrorCodeForTypeErrors, getItemType, getRequiredType, makeSystemFunction, optimize, setDetails, useContextItemAsDefault

Methods inherited from class net.sf.saxon.expr.FunctionCall

addExternalFunctionCallToPathMap, checkArgumentCount, checkArguments, equals, explain, getArguments, getDisplayName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, optimize, preEvaluate, promote, replaceSubExpression, setArguments, setFunctionName, simplify, simplifyArguments, toString, typeCheck

Methods inherited from class net.sf.saxon.expr.Expression

addToPathMap, adoptChildExpression, checkPermittedContents, computeCardinality, computeDependencies, computeSpecialProperties, computeStaticProperties, copy, display, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluateItem, explain, explain, findParentOf, getCardinality, getColumnNumber, getConstructType, getContainer, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getItemType, getLineNumber, getLocationId, getLocationProvider, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, iterate, iterateEvents, iterateSubExpressions, markTailFunctionCalls, optimize, process, promote, replaceSubExpression, resetLocalStaticProperties, setContainer, setFiltered, setFlattened, setLocationId, simplify, staticTypeCheck, suppressValidation, toString, typeCheck, typeError

Field Details

ELEMENT_AVAILABLE

public static final int ELEMENT_AVAILABLE
Field Value:
0

FUNCTION_AVAILABLE

public static final int FUNCTION_AVAILABLE
Field Value:
1

TYPE_AVAILABLE

public static final int TYPE_AVAILABLE
Field Value:
2

Method Details

checkArguments

public void checkArguments(ExpressionVisitor visitor)
            throws XPathException
Method called during static type checking
Overrides:
checkArguments in interface SystemFunction

evaluateItem

public Item evaluateItem(XPathContext context)
            throws XPathException
Run-time evaluation. This is the only thing in the spec that requires information about in-scope functions to be available at run-time. However, we keep it because it's handy for some other things such as saxon:evaluate().
Specified by:
evaluateItem in interface EvaluableItem
Overrides:
evaluateItem in interface Expression

preEvaluate

public Expression preEvaluate(ExpressionVisitor visitor)
            throws XPathException
preEvaluate: this method uses the static context to do early evaluation of the function if the argument is known (which is the normal case)
Overrides:
preEvaluate in interface FunctionCall
Parameters:
visitor - the expression visitor