com.icl.saxon.expr
Class StyleSheetFunctionCall

java.lang.Object
  |
  +--com.icl.saxon.expr.Expression
        |
        +--com.icl.saxon.expr.Function
              |
              +--com.icl.saxon.expr.StyleSheetFunctionCall

public class StyleSheetFunctionCall
extends Function

This class represents a call to a function defined in the stylesheet


Fields inherited from class com.icl.saxon.expr.Function
arguments
 
Fields inherited from class com.icl.saxon.expr.Expression
emptyVector, staticContext
 
Constructor Summary
StyleSheetFunctionCall()
           
 
Method Summary
 Value eval(java.util.Vector arguments, Context context)
          Evaluate the function, having evaluated its arguments.
 int getIntrinsicDependencies()
          Determine which aspects of the context the expression depends on.
 java.lang.String getName()
          Get the name of the function.
 Function newInstance()
          Make a new instance of this function
protected  Expression reduceIntrinsic(int dependencies, Context context)
          Remove intrinsic dependencies.
 void setFunction(SAXONFunction f)
          Create the reference to the saxon:function element
 
Methods inherited from class com.icl.saxon.expr.Function
addArgument, checkArgumentCount, evaluate, getDependencies, reduce, simplify, simplifyPureFunction, toString
 
Methods inherited from class com.icl.saxon.expr.Expression
containsReferences, enumerate, evaluateAsBoolean, evaluateAsNodeSet, evaluateAsNumber, evaluateAsString, getDataType, getStaticContext, isNumeric, isRelative, make, make, setStaticContext, usesCurrent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StyleSheetFunctionCall

public StyleSheetFunctionCall()
Method Detail

setFunction

public void setFunction(SAXONFunction f)
Create the reference to the saxon:function element

newInstance

public Function newInstance()
Description copied from class: Function
Make a new instance of this function
Overrides:
newInstance in class Function

getName

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

getIntrinsicDependencies

public int getIntrinsicDependencies()
Determine which aspects of the context the expression depends on. The result is a bitwise-or'ed value composed from constants such as Context.VARIABLES and Context.CURRENT_NODE
Overrides:
getIntrinsicDependencies in class Function

reduceIntrinsic

protected Expression reduceIntrinsic(int dependencies,
                                     Context context)
                              throws org.xml.sax.SAXException
Remove intrinsic dependencies. An "intrinsic" dependency is one in the function itself, as distinct from a dependency in its arguments.
Overrides:
reduceIntrinsic in class Function

eval

public Value eval(java.util.Vector arguments,
                  Context context)
           throws org.xml.sax.SAXException
Evaluate the function, having evaluated its arguments.
This method must be implemented in all subclasses.
Overrides:
eval in class Function
Parameters:
arguments - A Vector, each of whose elements is a Value containing the value of a supplied argument to the function.
context - The context in which the function is to be evaluated
Returns:
a Value representing the result of the function. This must be of the data type corresponding to the result of getType().
Throws:
org.xml.sax.SAXException - if the function cannot be evaluated.