Class ScalarSystemFunction

All Implemented Interfaces:
Callable, FunctionItem, GroundedValue, Item, Sequence
Direct Known Subclasses:
Abs, AccessorFn, Ceiling, DocumentUri_1, EncodeForUri, EscapeHtmlUri, Floor, GenerateId_1, IriToUri, LocalName_1, LowerCase, Name_1, NamespaceUriFn_1, NodeName_1, NormalizeSpace_1, Number_1, Path_1, String_1, StringLength_1, UpperCase

public abstract class ScalarSystemFunction extends SystemFunction
A Scalar system function is a pure function that accepts a single item as its operand, returns a single atomic value as its result, typically returns an empty sequence if the argument is an empty sequence, and has no context dependencies.
  • Constructor Details Link icon

    • ScalarSystemFunction Link icon

      public ScalarSystemFunction()
  • Method Details Link icon

    • evaluate Link icon

      public abstract AtomicValue evaluate(Item arg, XPathContext context) throws XPathException
      Abstract method that must be supplied in subclasses to perform the evaluation
      Parameters:
      arg - the supplied argument
      context - the dynamic context
      Returns:
      the result of the evaluation
      Throws:
      XPathException - if a dynamic error occurs
    • resultWhenEmpty Link icon

      public Sequence resultWhenEmpty()
      Method that may be supplied in subclasses, to indicate the result that is returned when an empty sequence is supplied as the argument value. The default is to return the empty sequence
      Returns:
      the result of evaluation when the supplied argument is an empty sequence
    • call Link icon

      public final Sequence call(XPathContext context, Sequence[] arguments) throws XPathException
      Evaluate the expression
      Parameters:
      context - the dynamic evaluation context
      arguments - the values of the arguments, supplied as Sequences
      Returns:
      the result of the evaluation, in the form of a Sequence
      Throws:
      XPathException - if a dynamic error occurs during the evaluation of the expression
    • makeFunctionCall Link icon

      public Expression makeFunctionCall(Expression[] arguments)
      Description copied from class: SystemFunction
      Make an expression that either calls this function, or that is equivalent to a call on this function
      Overrides:
      makeFunctionCall in class SystemFunction
      Parameters:
      arguments - the supplied arguments to the function call
      Returns:
      either a function call on this function, or an expression that delivers the same result