Class MapFunctionSet.MapMerge

  • All Implemented Interfaces:
    Callable, Function, GroundedValue, Item, Sequence
    Enclosing class:
    MapFunctionSet

    public static class MapFunctionSet.MapMerge
    extends SystemFunction
    Implementation of the extension function map:merge() => Map From 9.8, map:merge is also used to implement map constructors in XPath and the xsl:map instruction in XSLT. For this purpose it accepts an additional option to define the error code to be used to signal duplicates.
    • Constructor Detail

      • MapMerge

        public MapMerge()
    • Method Detail

      • makeOptimizedFunctionCall

        public Expression makeOptimizedFunctionCall​(ExpressionVisitor visitor,
                                                    ContextItemStaticInfo contextInfo,
                                                    Expression... arguments)
                                             throws XPathException
        Allow the function to create an optimized call based on the values of the actual arguments
        Overrides:
        makeOptimizedFunctionCall in class SystemFunction
        Parameters:
        visitor - the expression visitor
        contextInfo - information about the context item
        arguments - the supplied arguments to the function call. Note: modifying the contents of this array should not be attempted, it is likely to have no effect.
        Returns:
        either a function call on this function, or an expression that delivers the same result, or null indicating that no optimization has taken place
        Throws:
        XPathException - if an error is detected
      • getResultItemType

        public ItemType getResultItemType​(Expression[] args)
        Get the return type, given knowledge of the actual arguments
        Overrides:
        getResultItemType in class SystemFunction
        Parameters:
        args - the actual arguments supplied
        Returns:
        the best available item type that the function will return
      • call

        public MapItem call​(XPathContext context,
                            Sequence[] arguments)
                     throws XPathException
        Description copied from interface: Function
        Invoke the function
        Parameters:
        context - the XPath dynamic evaluation context
        arguments - the actual arguments to be supplied
        Returns:
        the result of invoking the function
        Throws:
        XPathException - if a dynamic error occurs within the function
      • getStreamerName

        public java.lang.String getStreamerName()
        Description copied from class: SystemFunction
        Get a name that identifies the class that can be used to evaluate this function in streaming mode, that is, supplying one item or event at a time as it is delivered by the parser. Special streaming support is generally available in Saxon-EE for all system functions that take a sequence as their argument.
        Overrides:
        getStreamerName in class SystemFunction
        Returns:
        a name that identifies a class that supports streamed evaluation of this system function, or null if no such class is available. The mapping of names to classes is defined in the Saxon-EE class StreamerMap. In non-streaming Saxon editions (HE and PE) the method always returns null.