Interface FunctionItem<T extends FunctionItem>

  • All Superinterfaces:
    Item<T>, PullEvent, ValueRepresentation<T>

    public interface FunctionItem<T extends FunctionItem>
    extends Item<T>, ValueRepresentation<T>
    XDM 3.0 introduces a third kind of item, beyond nodes and atomic values: the function item. Function items implement this marker interface. The actual implementation class is in Saxon-PE and Saxon-EE only.
    • Method Detail

      • getFunctionItemType

        FunctionItemType getFunctionItemType​(TypeHierarchy th)
        Get the item type of the function item
        Parameters:
        th - the type hierarchy cache
        Returns:
        the function item's type
      • getFunctionName

        StructuredQName getFunctionName()
        Get the name of the function, or null if it is anonymous
        Returns:
        the function name, or null for an anonymous inline function
      • getArity

        int getArity()
        Get the arity of the function
        Returns:
        the number of arguments in the function signature
      • curry

        FunctionItem curry​(ValueRepresentation<? extends Item>[] values)
                    throws XPathException
        Curry a function by binding one or more (but not all) of its arguments
        Parameters:
        values - the values to which the arguments are to be bound, representing an unbound argument (a placeholder) by null
        Returns:
        a new function item in which the specified arguments of the original function are bound to a value
        Throws:
        XPathException - if any dynamic error occurs
      • deepEquals

        boolean deepEquals​(FunctionItem other,
                           XPathContext context,
                           GenericAtomicComparer comparer,
                           int flags)
                    throws XPathException
        Test whether this FunctionItem is deep-equal to another function item, under the rules of the deep-equal function
        Parameters:
        other - the other function item
        context - the dynamic evaluation context
        comparer - the object to perform the comparison
        flags - options for how the comparison is performed
        Returns:
        true if the two function items are deep-equal
        Throws:
        XPathException - if the comparison cannot be performed