Class SnapshotFn

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

public class SnapshotFn extends SystemFunction
XSLT 3.0 function snapshot(). This is like a deep-copy except that it also includes a shallow copy of all ancestors.
  • Constructor Details

    • SnapshotFn

      public SnapshotFn()
  • Method Details

    • getCardinality

      public int getCardinality(Expression[] arguments)
      Description copied from class: SystemFunction
      Get the cardinality, given knowledge of the actual arguments
      Overrides:
      getCardinality in class SystemFunction
      Parameters:
      arguments - the actual arguments supplied
      Returns:
      the most precise available cardinality that the function will return
    • 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 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
    • snapshotSequence

      public static SequenceIterator snapshotSequence(SequenceIterator nodes)
    • snapshotSingle

      public static Item snapshotSingle(Item origin)
      Take a snapshot of a single item
      Parameters:
      origin - the item in question
      Returns:
      the snapshot
    • makeAncestorList

      public static List<NodeInfo> makeAncestorList(NodeInfo origin)
    • openAncestors

      public static BuilderMonitor openAncestors(NodeInfo origin, List<NodeInfo> ancestors, XPathContext context) throws XPathException
      Throws:
      XPathException
    • closeAncestors

      public static void closeAncestors(List<NodeInfo> ancestors, Receiver bm) throws XPathException
      Throws:
      XPathException
    • 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.