Class TreatFn

  • All Implemented Interfaces:
    java.io.Serializable, javax.xml.transform.SourceLocator, LocationProvider, SaxonLocator, EvaluableItem, SequenceIterable, InstructionInfo, org.xml.sax.Locator

    public class TreatFn
    extends SystemFunction
    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:
    Serialized Form
    • Constructor Detail

      • TreatFn

        public TreatFn()
    • Method Detail

      • getErrorCodeForTypeErrors

        public java.lang.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
        Specified by:
        evaluateItem in interface EvaluableItem
        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