Interface FunctionItemType

  • All Superinterfaces:
    ItemType, java.io.Serializable
    All Known Implementing Classes:
    AnyFunctionType

    public interface FunctionItemType
    extends ItemType
    Higher-order functions in XPath 3.0 introduce a third kind of Item, namely a Function Item. This type is represented here by a placeholder interfaces. The implementation of this type is found only in Saxon-EE
    • Method Detail

      • getArgumentTypes

        SequenceType[] getArgumentTypes()
        Get the argument types of the function
        Returns:
        the argument types, as an array of SequenceTypes; or null if this is the generic function type function(*)
      • getResultType

        SequenceType getResultType()
        Get the result type of the function
        Returns:
        the result type, as a SequenceType
      • makeFunctionSequenceCoercer

        Expression makeFunctionSequenceCoercer​(Expression exp,
                                               RoleLocator role,
                                               TypeCheckerEnvironment visitor)
                                        throws XPathException
        Create an expression whose effect is to apply function coercion to coerce a function to this function type
        Parameters:
        exp - the expression that delivers the supplied sequence of function items (the ones in need of coercion)
        role - information for use in diagnostics
        visitor - the expression visitor, supplies context information
        Returns:
        the coerced function, a function that calls the original function after checking the parameters
        Throws:
        XPathException
      • isMapType

        boolean isMapType()
        Ask whether this function item type is a map type. In this case function coercion (to the map type) will never succeed.
        Returns:
        true if this FunctionItemType is a map type