Interface FunctionItemType

All Superinterfaces:
ItemType, 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 Details

    • 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
    • relationship

      int relationship(FunctionItemType other, TypeHierarchy th)
      Determine the relationship of one function item type to another
      Returns:
      for example TypeHierarchy.SUBSUMES, TypeHierarchy.SAME_TYPE
    • 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