Class SuperId

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

    public abstract class SuperId
    extends SystemFunction
    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.
    • Constructor Detail

      • SuperId

        public SuperId()
    • Method Detail

      • 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
        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