Class RebasedNode

    • Constructor Detail

      • RebasedNode

        protected RebasedNode()
      • RebasedNode

        protected RebasedNode​(NodeInfo node,
                              RebasedNode parent)
        This constructor is protected: nodes should be created using the makeWrapper factory method
        Parameters:
        node - The node to be wrapped
        parent - The RebasedNode that wraps the parent of this node
    • Method Detail

      • makeWrapper

        public static RebasedNode makeWrapper​(NodeInfo node,
                                              RebasedDocument docWrapper,
                                              RebasedNode parent)
        Factory method to wrap a node with a wrapper that implements the Saxon NodeInfo interface.
        Parameters:
        node - The underlying node
        docWrapper - The wrapper for the document node (must be supplied)
        parent - The wrapper for the parent of the node (null if unknown)
        Returns:
        The new wrapper for the supplied node
      • makeWrapper

        public RebasedNode makeWrapper​(NodeInfo node,
                                       VirtualNode parent)
        Factory method to wrap a node with a VirtualNode
        Specified by:
        makeWrapper in interface WrappingFunction
        Parameters:
        node - The underlying node
        parent - The wrapper for the parent of the node (null if unknown)
        Returns:
        The new wrapper for the supplied node
      • getBaseURI

        public java.lang.String getBaseURI()
        Get the Base URI for the node, that is, the URI used for resolving a relative URI contained in the node.
        Specified by:
        getBaseURI in interface NodeInfo
        Overrides:
        getBaseURI in class AbstractVirtualNode
        Returns:
        the base URI of the node. This may be null if the base URI is unknown, including the case where the node has no parent.
      • getSystemId

        public java.lang.String getSystemId()
        Get the System ID for the node.
        Specified by:
        getSystemId in interface Location
        Specified by:
        getSystemId in interface org.xml.sax.Locator
        Specified by:
        getSystemId in interface NodeInfo
        Specified by:
        getSystemId in interface javax.xml.transform.Source
        Specified by:
        getSystemId in interface javax.xml.transform.SourceLocator
        Overrides:
        getSystemId in class AbstractVirtualNode
        Returns:
        the System Identifier of the entity in the source document containing the node, or null if not known. Note this is not the same as the base URI: the base URI can be modified by xml:base, but the system ID cannot.
      • equals

        public boolean equals​(java.lang.Object other)
        Determine whether this is the same node as another node.

        Note: a.isSameNode(b) if and only if generateId(a)==generateId(b)

        Specified by:
        equals in interface NodeInfo
        Overrides:
        equals in class AbstractVirtualNode
        Parameters:
        other - the node to be compared with this node
        Returns:
        true if this Node object and the supplied Node object represent the same node in the tree.
      • hashCode

        public int hashCode()
        The hashCode() method obeys the contract for hashCode(): that is, if two objects are equal (represent the same node) then they must have the same hashCode()
        Specified by:
        hashCode in interface NodeInfo
        Overrides:
        hashCode in class AbstractVirtualNode
      • compareOrder

        public int compareOrder​(NodeInfo other)
        Determine the relative position of this node and another node, in document order. The other node will always be in the same document.
        Specified by:
        compareOrder in interface NodeInfo
        Overrides:
        compareOrder in class AbstractVirtualNode
        Parameters:
        other - The other node, whose position is to be compared with this node
        Returns:
        -1 if this node precedes the other node, +1 if it follows the other node, or 0 if they are the same node. (In this case, isSameNode() will always return true, and the two nodes will produce the same result for generateId())
      • getParent

        public NodeInfo getParent()
        Get the NodeInfo object representing the parent of this node
        Specified by:
        getParent in interface NodeInfo
        Returns:
        the parent of this node; null if this node has no parent
      • iterateAxis

        public AxisIterator iterateAxis​(int axisNumber)
        Return an iteration over the nodes reached by the given axis from this node
        Specified by:
        iterateAxis in interface NodeInfo
        Parameters:
        axisNumber - the axis to be used
        Returns:
        a SequenceIterator that scans the nodes reached by the axis in turn.
        See Also:
        AxisInfo