Class SuperId

All Implemented Interfaces:
Callable, IContextAccessorFunction, IFunctionWithRetainedParameterNames, FunctionItem, GroundedValue, Item, Sequence
Direct Known Subclasses:
SuperId.ElementWithId, SuperId.Id

public abstract class SuperId extends SystemFunction implements IContextAccessorFunction
The XPath id() or element-with-id() function XPath 2.0 version: accepts any sequence as the first parameter; each item in the sequence is taken as an IDREFS value, that is, a space-separated list of ID values. Also accepts an optional second argument to identify the target document, this defaults to the context node.
  • Field Details

  • Constructor Details

    • SuperId

      public SuperId()
  • Method Details

    • dependsOnContext

      public boolean dependsOnContext()
      Description copied from interface: IContextAccessorFunction
      Ask whether this function is actually dependent on the dynamic context
      Specified by:
      dependsOnContext in interface IContextAccessorFunction
      Returns:
      true if the function cannot be used unless the dynamic context is first bound
    • getOp

      public abstract int getOp()
    • getSpecialProperties

      public int getSpecialProperties(Expression[] arguments)
      Get the static properties of this expression (other than its type). The result is bit-signficant. These properties are used for optimizations. In general, if property bit is set, it is true, but if it is unset, the value is unknown.
      Overrides:
      getSpecialProperties in class SystemFunction
      Parameters:
      arguments - the actual arguments to the call
      Returns:
      the properties
    • getIdSingle

      public static SequenceIterator getIdSingle(TreeInfo doc, UnicodeString idrefs, int operation) throws XPathException
      Get an iterator over the nodes that have an id equal to one of the values is a whitespace separated string
      Parameters:
      doc - The document to be searched
      idrefs - a string containing zero or more whitespace-separated ID values to be found in the document
      operation - either ID or ELEMENT_WITH_ID
      Returns:
      an iterator over the nodes whose ID is one of the specified values
      Throws:
      XPathException - if an error occurs
    • getIdMultiple

      public static SequenceIterator getIdMultiple(TreeInfo doc, SequenceIterator idrefs, int operation) throws XPathException
      Get an iterator over the nodes that have an id equal to one of the values is a set of whitespace separated strings
      Parameters:
      doc - The document to be searched
      idrefs - an iterator over a set of strings each of which is a string containing zero or more whitespace-separated ID values to be found in the document
      operation - distinguishes id() and element-with-id()
      Returns:
      an iterator over the nodes whose ID is one of the specified values
      Throws:
      XPathException - if an error occurs
    • call

      public Sequence 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 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
    • bindContext

      public FunctionItem bindContext(XPathContext context) throws XPathException
      Bind context information to appear as part of the function's closure. If this method has been called, the supplied context will be used in preference to the context at the point where the function is actually called.
      Specified by:
      bindContext in interface IContextAccessorFunction
      Parameters:
      context - the context to which the function applies. Must not be null.
      Throws:
      XPathException