Class FunctionAvailable

All Implemented Interfaces:
Serializable, SourceLocator, LocationProvider, SaxonLocator, CallableExpression, InstructionInfo, Locator

public class FunctionAvailable extends Available implements CallableExpression
This class supports the XSLT element-available and function-available functions.
See Also:
  • Constructor Details

    • FunctionAvailable

      public FunctionAvailable()
  • Method Details

    • 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 class FunctionCall
      Parameters:
      visitor - the expression visitor
      Returns:
      the result of the early evaluation, or the original expression, or potentially a simplified expression
      Throws:
      XPathException - if evaluation fails
    • 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().
      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
    • call

      public SequenceIterator call(SequenceIterator[] arguments, XPathContext context) throws XPathException
      Evaluate the expression
      Specified by:
      call in interface CallableExpression
      Parameters:
      arguments - the values of the arguments, supplied as SequenceIterators
      context - the dynamic evaluation context
      Returns:
      the result of the evaluation, in the form of a SequenceIterator
      Throws:
      XPathException - if a dynamic error occurs during the evaluation of the expression