Class Count

All Implemented Interfaces:
Callable, ArityOneFunction, IFunctionWithRetainedParameterNames, FunctionItem, GroundedValue, Item, Sequence

public class Count extends SystemFunction implements ArityOneFunction
Implementation of the fn:count function
  • Constructor Details

    • Count

      public Count()
  • Method Details

    • count

      public static int count(SequenceIterator iter) throws XPathException
      Get the number of items in a sequence identified by a SequenceIterator
      Parameters:
      iter - The SequenceIterator. This method moves the current position of the supplied iterator; if this isn't safe, make a copy of the iterator first by calling getAnother(). The supplied iterator must be positioned before the first item (there must have been no call on next()).
      Returns:
      the number of items in the underlying sequence
      Throws:
      XPathException - if a failure occurs reading the input sequence
    • steppingCount

      public static int steppingCount(SequenceIterator iter)
      Get the number of items in a sequence identified by a SequenceIterator
      Parameters:
      iter - The SequenceIterator. The supplied iterator must be positioned before the first item (there must have been no call on next()). It will always be consumed
      Returns:
      the number of items in the underlying sequence
      Throws:
      UncheckedXPathException - if a failure occurs reading the input sequence
    • call

      public IntegerValue call(XPathContext context, Sequence[] arguments) throws XPathException
      Evaluate the expression
      Specified by:
      call in interface Callable
      Parameters:
      context - the dynamic evaluation context
      arguments - the values of the arguments, supplied as Sequences
      Returns:
      the result of the evaluation, in the form of a Sequence
      Throws:
      XPathException - if a dynamic error occurs during the evaluation of the expression
    • call1

      public IntegerValue call1(XPathContext context, Sequence arg0) throws XPathException
      Call a function with one argument
      Specified by:
      call1 in interface ArityOneFunction
      Parameters:
      context - the dynamic evaluation context
      arg0 - the first argument
      Returns:
      the result of the function call
      Throws:
      XPathException - if the call fails with a dynamic error
    • getStreamerName

      public 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.
    • getElaborator

      public Elaborator getElaborator()
      Make an elaborator for this expression
      Overrides:
      getElaborator in class SystemFunction
      Returns:
      a suitable elaborator