Class CurrentMergeGroup

    • Constructor Detail

      • CurrentMergeGroup

        public CurrentMergeGroup()
    • Method Detail

      • setControllingInstruction

        public void setControllingInstruction​(MergeInstr instruction,
                                              boolean isInLoop)
        Set the containing xsl:merge instruction, if there is one
        Parameters:
        instruction - the (innermost) containing xsl:merge instruction
        isInLoop - true if the current-merge-group() expression is evaluated more than once during evaluation of the body of the xsl:merge instruction
      • getControllingInstruction

        public MergeInstr getControllingInstruction()
        Get the innermost containing xsl:merge instruction, if there is one
        Returns:
        the innermost containing xsl:merge instruction
      • isInLoop

        public boolean isInLoop()
        Determine whether the current-group() function is executed repeatedly within a single iteration of the containing xsl:for-each-group
        Returns:
        true if it is evaluated repeatedly
      • makeFunctionCall

        public Expression makeFunctionCall​(Expression... arguments)
        Make an expression that either calls this function, or that is equivalent to a call on this function
        Overrides:
        makeFunctionCall in class SystemFunction
        Parameters:
        arguments - the supplied arguments to the function call
        Returns:
        either a function call on this function, or an expression that delivers the same result
      • call

        public Sequence call​(XPathContext context,
                             Sequence[] arguments)
                      throws XPathException
        Evaluate the expression
        Parameters:
        context - the dynamic evaluation context
        arguments - the values of the arguments, supplied as SequenceIterators
        Returns:
        the result of the evaluation, in the form of a SequenceIterator
        Throws:
        XPathException - if a dynamic error occurs during the evaluation of the expression
      • 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.