Class XNodeSet

    • Constructor Detail

      • XNodeSet

        public XNodeSet​(DTMIterator val)
        Construct a XNodeSet object.
        Parameters:
        val - Value of the XNodeSet object
      • XNodeSet

        public XNodeSet​(XNodeSet val)
        Construct a XNodeSet object.
        Parameters:
        val - Value of the XNodeSet object
      • XNodeSet

        public XNodeSet​(DTMManager dtmMgr)
        Construct an empty XNodeSet object. This is used to create a mutable nodeset to which random nodes may be added.
      • XNodeSet

        public XNodeSet​(int n,
                        DTMManager dtmMgr)
        Construct a XNodeSet object for one node.
        Parameters:
        n - Node to add to the new XNodeSet object
    • Method Detail

      • getType

        public int getType()
        Tell that this is a CLASS_NODESET.
        Overrides:
        getType in class XObject
        Returns:
        type CLASS_NODESET
      • getTypeString

        public java.lang.String getTypeString()
        Given a request type, return the equivalent string. For diagnostic purposes.
        Overrides:
        getTypeString in class XObject
        Returns:
        type string "#NODESET"
      • getNumberFromNode

        public double getNumberFromNode​(int n)
        Get numeric value of the string conversion from a single node.
        Parameters:
        n - Node to convert
        Returns:
        numeric value of the string conversion from a single node.
      • num

        public double num()
        Cast result object to a number.
        Overrides:
        num in class XObject
        Returns:
        numeric value of the string conversion from the next node in the NodeSetDTM, or NAN if no node was found
      • numWithSideEffects

        public double numWithSideEffects()
        Cast result object to a number, but allow side effects, such as the incrementing of an iterator.
        Overrides:
        numWithSideEffects in class XObject
        Returns:
        numeric value of the string conversion from the next node in the NodeSetDTM, or NAN if no node was found
      • bool

        public boolean bool()
        Cast result object to a boolean.
        Overrides:
        bool in class XObject
        Returns:
        True if there is a next node in the nodeset
      • boolWithSideEffects

        public boolean boolWithSideEffects()
        Cast result object to a boolean, but allow side effects, such as the incrementing of an iterator.
        Overrides:
        boolWithSideEffects in class XObject
        Returns:
        True if there is a next node in the nodeset
      • getStringFromNode

        public XMLString getStringFromNode​(int n)
        Get the string conversion from a single node.
        Parameters:
        n - Node to convert
        Returns:
        the string conversion from a single node.
      • dispatchCharactersEvents

        public void dispatchCharactersEvents​(org.xml.sax.ContentHandler ch)
                                      throws org.xml.sax.SAXException
        Directly call the characters method on the passed ContentHandler for the string-value. Multiple calls to the ContentHandler's characters methods may well occur for a single call to this method.
        Overrides:
        dispatchCharactersEvents in class XObject
        Parameters:
        ch - A non-null reference to a ContentHandler.
        Throws:
        org.xml.sax.SAXException
      • xstr

        public XMLString xstr()
        Cast result object to an XMLString.
        Overrides:
        xstr in class XObject
        Returns:
        The document fragment node data or the empty string.
      • str

        public java.lang.String str()
        Cast result object to a string.
        Overrides:
        str in class XObject
        Returns:
        the string conversion from the next node in the nodeset or "" if there is no next node
      • object

        public java.lang.Object object()
        Return a java object that's closest to the representation that should be handed to an extension.
        Overrides:
        object in class XObject
        Returns:
        The object that this class wraps
      • nodeset

        public org.w3c.dom.traversal.NodeIterator nodeset()
                                                   throws javax.xml.transform.TransformerException
        Cast result object to a nodelist.
        Overrides:
        nodeset in class XObject
        Returns:
        a NodeIterator.
        Throws:
        javax.xml.transform.TransformerException
      • nodelist

        public org.w3c.dom.NodeList nodelist()
                                      throws javax.xml.transform.TransformerException
        Cast result object to a nodelist.
        Overrides:
        nodelist in class XObject
        Returns:
        a NodeList.
        Throws:
        javax.xml.transform.TransformerException
      • iterRaw

        public DTMIterator iterRaw()
        Return the iterator without cloning, etc.
      • iter

        public DTMIterator iter()
        Cast result object to a nodelist.
        Overrides:
        iter in class XObject
        Returns:
        The nodeset as a nodelist
      • getFresh

        public XObject getFresh()
        Get a fresh copy of the object. For use with variables.
        Overrides:
        getFresh in class XObject
        Returns:
        A fresh nodelist.
      • mutableNodeset

        public NodeSetDTM mutableNodeset()
        Cast result object to a mutableNodeset.
        Overrides:
        mutableNodeset in class XObject
        Returns:
        The nodeset as a mutableNodeset
      • compare

        public boolean compare​(XObject obj2,
                               org.apache.xpath.objects.Comparator comparator)
                        throws javax.xml.transform.TransformerException
        Tell if one object is less than the other.
        Parameters:
        obj2 - Object to compare this nodeset to
        comparator - Comparator to use
        Returns:
        See the comments below for each object type comparison
        Throws:
        javax.xml.transform.TransformerException
      • lessThan

        public boolean lessThan​(XObject obj2)
                         throws javax.xml.transform.TransformerException
        Tell if one object is less than the other.
        Overrides:
        lessThan in class XObject
        Parameters:
        obj2 - object to compare this nodeset to
        Returns:
        see this.compare(...)
        Throws:
        javax.xml.transform.TransformerException
      • lessThanOrEqual

        public boolean lessThanOrEqual​(XObject obj2)
                                throws javax.xml.transform.TransformerException
        Tell if one object is less than or equal to the other.
        Overrides:
        lessThanOrEqual in class XObject
        Parameters:
        obj2 - object to compare this nodeset to
        Returns:
        see this.compare(...)
        Throws:
        javax.xml.transform.TransformerException
      • greaterThan

        public boolean greaterThan​(XObject obj2)
                            throws javax.xml.transform.TransformerException
        Tell if one object is less than the other.
        Overrides:
        greaterThan in class XObject
        Parameters:
        obj2 - object to compare this nodeset to
        Returns:
        see this.compare(...)
        Throws:
        javax.xml.transform.TransformerException
      • greaterThanOrEqual

        public boolean greaterThanOrEqual​(XObject obj2)
                                   throws javax.xml.transform.TransformerException
        Tell if one object is less than the other.
        Overrides:
        greaterThanOrEqual in class XObject
        Parameters:
        obj2 - object to compare this nodeset to
        Returns:
        see this.compare(...)
        Throws:
        javax.xml.transform.TransformerException
      • equals

        public boolean equals​(XObject obj2)
        Tell if two objects are functionally equal.
        Overrides:
        equals in class XObject
        Parameters:
        obj2 - object to compare this nodeset to
        Returns:
        see this.compare(...)
        Throws:
        javax.xml.transform.TransformerException
      • notEquals

        public boolean notEquals​(XObject obj2)
                          throws javax.xml.transform.TransformerException
        Tell if two objects are functionally not equal.
        Overrides:
        notEquals in class XObject
        Parameters:
        obj2 - object to compare this nodeset to
        Returns:
        see this.compare(...)
        Throws:
        javax.xml.transform.TransformerException