com.icl.saxon.expr

Class Function

Known Direct Subclasses:
BooleanFn, Ceiling, Concat, Contains, Count, Current, Document, ElementAvailable, Floor, FormatNumber, FunctionAvailable, FunctionProxy, GenerateId, Id, Key, Lang, Last, LocalName, NameFn, NamespaceURI, NormalizeSpace, Not, NumberFn, Position, Round, StartsWith, StringFn, StringLength, StyleSheetFunctionCall, Substring, SubstringAfter, SubstringBefore, Sum, SystemProperty, Translate, UnparsedEntityURI

public abstract class Function
extends Expression

Abstract superclass for system-defined and user-defined functions

Field Summary

protected Expression[]
argument

Fields inherited from class com.icl.saxon.expr.Expression

staticContext

Method Summary

void
addArgument(Expression expr)
Method to add an argument during function definition.
protected int
checkArgumentCount(int min, int max)
Check number of arguments.
void
display(int level)
Diagnostic print of expression structure
abstract String
getName()
Get the name of the function.
int
getNumberOfArguments()
Determine the number of actual arguments supplied in the function call

Methods inherited from class com.icl.saxon.expr.Expression

containsReferences, display, enumerate, evaluate, evaluateAsBoolean, evaluateAsNodeSet, evaluateAsNumber, evaluateAsString, getDataType, getDependencies, getStaticContext, indent, isContextDocumentNodeSet, make, outputStringValue, reduce, setStaticContext, simplify, usesCurrent

Field Details

argument

protected Expression[] argument

Method Details

addArgument

public void addArgument(Expression expr)
Method to add an argument during function definition.

checkArgumentCount

protected int checkArgumentCount(int min,
                                 int max)
            throws XPathException
Check number of arguments.
A convenience routine for use in subclasses.
Parameters:
min - the minimum number of arguments allowed
max - the maximum number of arguments allowed
Returns:
the actual number of arguments
Throws:
XPathException - if the number of arguments is out of range

display

public void display(int level)
Diagnostic print of expression structure
Overrides:
display in interface Expression

getName

public abstract String getName()
Get the name of the function. This method must be implemented in all subclasses.
Returns:
the name of the function, as used in XSL expressions, but excluding its namespace prefix

getNumberOfArguments

public int getNumberOfArguments()
Determine the number of actual arguments supplied in the function call