com.saxonica.functions.extfn

## Class HighestOrLowest

- java.lang.Object
- - net.sf.saxon.lib.ExtensionFunctionCall
  - - com.saxonica.functions.extfn.GeneralFilterFunction.GeneralFilterFunctionCall
    - - com.saxonica.functions.extfn.HighestOrLowest

- All Implemented Interfaces:
    Serializable, Callable

      public class HighestOrLowest
      extends GeneralFilterFunction.GeneralFilterFunctionCall

  This class implements the saxon:highest() and saxon:lowest() extension functions.

  The first argument is a sequence S, the second a function F (defaulting to fn:data). The function returns the item or items I in the input sequence S for which F(I) has its highest/lowest value. It is not possible to specify a collation; the default collation is used when comparing strings.

  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class com.saxonica.functions.extfn.GeneralFilterFunction.GeneralFilterFunctionCall

      `atomizer, defaultCollation`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `HighestOrLowest()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Sequence` | `call(XPathContext context, Sequence[] arguments)` Evaluate this function call at run-time

    - ### Methods inherited from class com.saxonica.functions.extfn.GeneralFilterFunction.GeneralFilterFunctionCall

      `copyLocalData, supplyStaticContext`

    - ### Methods inherited from class net.sf.saxon.lib.ExtensionFunctionCall

      `effectiveBooleanValue, getContainer, getDefinition, getExecutable, rewrite, setDefinition`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### HighestOrLowest

          public HighestOrLowest()

  - ### Method Detail

    - #### call

          public Sequence call(XPathContext context,
                      Sequence[] arguments)
                        throws XPathException

      Evaluate this function call at run-time
      Specified by:
        `call` in interface `Callable`
      Specified by:
        `call` in class `ExtensionFunctionCall`
      Parameters:
        `context` - The XPath dynamic evaluation context
        `arguments` - The values of the arguments to the function call. Each argument value (which is in general a sequence) is supplied in the form of an iterator over the items in the sequence. If required, the supplied sequence can be materialized by calling, for example, `new SequenceExtent(arguments[i])`. If the argument is always a singleton, then the single item may be obtained by calling `arguments[i].next()`. The implementation is not obliged to read all the items in each `SequenceIterator` if they are not required to compute the result; but if any SequenceIterator is not read to completion, it is good practice to call its close() method.
      Returns:
        an iterator over the results of the function. If the result is a single item, it can be returned in the form of a `SingletonIterator`. If the result is an empty sequence, the method should return `EmptyIterator.getInstance()`
      Throws:
        `XPathException` - if a dynamic error occurs during evaluation of the function. The Saxon run-time code will add information about the error location.

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.