Class TreatFn

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

public class TreatFn extends SystemFunction implements CallableExpression
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
See Also:
  • Constructor Details

    • TreatFn

      public TreatFn()
  • Method Details

    • getErrorCodeForTypeErrors

      public 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()
    • evaluateItem

      public Item evaluateItem(XPathContext context) throws XPathException
      Evaluate the function
      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
    • iterate

      public SequenceIterator iterate(XPathContext context) throws XPathException
      Iterate over the results of the function
      Overrides:
      iterate in class Expression
      Parameters:
      context - supplies the context for evaluation
      Returns:
      a SequenceIterator that can be used to iterate over the result of the expression
      Throws:
      XPathException - if any dynamic error occurs evaluating the expression
    • call

      public SequenceIterator call(SequenceIterator[] arguments, XPathContext context) throws XPathException
      Description copied from interface: CallableExpression
      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