Class TreatFn

All Implemented Interfaces:
Callable, Function, GroundedValue, Item, Sequence
Direct Known Subclasses:
TreatFn.ExactlyOne, TreatFn.OneOrMore, TreatFn.ZeroOrOne

public abstract class TreatFn extends SystemFunction implements Callable
This class supports the XPath 2.0 functions exactly-one(), one-or-more(), zero-or-one(). Because Saxon doesn't do strict static type checking, these are essentially identity functions; the run-time type checking is done as part of the function call mechanism
  • Constructor Details

    • TreatFn

      public TreatFn()
  • Method Details

    • getErrorCodeForTypeErrors

      public abstract String getErrorCodeForTypeErrors()
      Return the error code to be used for type errors
      Overrides:
      getErrorCodeForTypeErrors in class SystemFunction
      Returns:
      the error code to be used for type errors in the function call. Normally XPTY0004, but different codes are used for functions such as exactly-one()
    • getRequiredCardinality

      public abstract int getRequiredCardinality()
    • call

      public Sequence call(XPathContext context, Sequence[] arguments) throws XPathException
      Description copied from interface: Function
      Invoke the function
      Specified by:
      call in interface Callable
      Specified by:
      call in interface Function
      Parameters:
      context - the XPath dynamic evaluation context
      arguments - the actual arguments to be supplied
      Returns:
      the result of invoking the function
      Throws:
      XPathException - if a dynamic error occurs within the function
    • makeRoleDiagnostic

      public RoleDiagnostic makeRoleDiagnostic()
    • getStreamerName

      public String getStreamerName()
      Description copied from class: SystemFunction
      Get a name that identifies the class that can be used to evaluate this function in streaming mode, that is, supplying one item or event at a time as it is delivered by the parser. Special streaming support is generally available in Saxon-EE for all system functions that take a sequence as their argument.
      Overrides:
      getStreamerName in class SystemFunction
      Returns:
      a name that identifies a class that supports streamed evaluation of this system function, or null if no such class is available. The mapping of names to classes is defined in the Saxon-EE class StreamerMap. In non-streaming Saxon editions (HE and PE) the method always returns null.