Class Id

  • All Implemented Interfaces:
    java.io.Serializable, javax.xml.transform.SourceLocator, LocationProvider, SaxonLocator, EvaluableItem, SequenceIterable, InstructionInfo, org.xml.sax.Locator

    public class Id
    extends SystemFunction
    The XPath 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.
    See Also:
    Serialized Form
    • Constructor Detail

      • Id

        public Id()
    • Method Detail

      • preEvaluate

        public Expression preEvaluate​(ExpressionVisitor visitor)
        preEvaluate: this method suppresses compile-time evaluation by doing nothing
        Overrides:
        preEvaluate in class FunctionCall
        Parameters:
        visitor - an expression visitor
        Returns:
        the result of the early evaluation, or the original expression, or potentially a simplified expression
      • computeSpecialProperties

        public int computeSpecialProperties()
        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:
        computeSpecialProperties in class SystemFunction
        Returns:
        the special properties, as a bit-significant integer
      • addToPathMap

        public PathMap.PathMapNodeSet addToPathMap​(PathMap pathMap,
                                                   PathMap.PathMapNodeSet pathMapNodeSet)
        Add a representation of a doc() call or similar function to a PathMap. This is a convenience method called by the addToPathMap() methods for doc(), document(), collection() and similar functions. These all create a new root expression in the path map.
        Overrides:
        addToPathMap in class Expression
        Parameters:
        pathMap - the PathMap to which the expression should be added
        pathMapNodeSet -
        Returns:
        the pathMapNode representing the focus established by this expression, in the case where this expression is the first operand of a path expression or filter expression
      • getIdSingle

        public static SequenceIterator getIdSingle​(DocumentInfo doc,
                                                   java.lang.String idrefs)
                                            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
        Returns:
        an iterator over the nodes whose ID is one of the specified values
        Throws:
        XPathException
      • getIdMultiple

        public static SequenceIterator getIdMultiple​(DocumentInfo doc,
                                                     SequenceIterator idrefs)
                                              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
        Returns:
        an iterator over the nodes whose ID is one of the specified values
        Throws:
        XPathException