Class AttributeImpl

  • All Implemented Interfaces:
    NodeInfo, javax.xml.transform.dom.DOMLocator, javax.xml.transform.Source, javax.xml.transform.SourceLocator, org.w3c.dom.Attr, org.w3c.dom.Node

    final class AttributeImpl
    extends NodeImpl
    implements org.w3c.dom.Attr
    A node in the XML parse tree representing an attribute. Note that this is generated only "on demand", when the attribute is selected by a select pattern.

    Author:
    Michael H. Kay
    • Constructor Detail

      • AttributeImpl

        public AttributeImpl​(ElementImpl element,
                             int index)
        Construct an Attribute node for the n'th attribute of a given element
        Parameters:
        element - The element containing the relevant attribute
        index - The index position of the attribute starting at zero
    • Method Detail

      • isSameNodeInfo

        public boolean isSameNodeInfo​(NodeInfo other)
        Determine whether this is the same node as another node
        Specified by:
        isSameNodeInfo in interface NodeInfo
        Overrides:
        isSameNodeInfo in class NodeImpl
        Returns:
        true if this Node object and the supplied Node object represent the same node in the tree.
      • getSequenceNumber

        protected long getSequenceNumber()
        Get the node sequence number (in document order). Sequence numbers are monotonic but not consecutive. In the current implementation, parent nodes (elements and roots) have a zero least-significant word, while namespaces, attributes, text nodes, comments, and PIs have the top word the same as their owner and the bottom half reflecting their relative position.
        Overrides:
        getSequenceNumber in class NodeImpl
      • getNodeType

        public final short getNodeType()
        Return the type of node.
        Specified by:
        getNodeType in interface org.w3c.dom.Node
        Specified by:
        getNodeType in interface NodeInfo
        Returns:
        Node.ATTRIBUTE
      • getStringValue

        public java.lang.String getStringValue()
        Return the character value of the node.
        Specified by:
        getStringValue in interface NodeInfo
        Returns:
        the attribute value
      • getNextSibling

        public org.w3c.dom.Node getNextSibling()
        Get next sibling - not defined for attributes
        Specified by:
        getNextSibling in interface org.w3c.dom.Node
        Overrides:
        getNextSibling in class NodeImpl
        Returns:
        The next sibling node of the required type. Returns null if the current node is the last child of its parent.
      • getPreviousSibling

        public org.w3c.dom.Node getPreviousSibling()
        Get previous sibling - not defined for attributes
        Specified by:
        getPreviousSibling in interface org.w3c.dom.Node
        Overrides:
        getPreviousSibling in class NodeImpl
        Returns:
        The previous sibling node. Returns null if the current node is the first child of its parent.
      • getPreviousInDocument

        public NodeImpl getPreviousInDocument()
        Get the previous node in document order (skipping attributes)
        Overrides:
        getPreviousInDocument in class NodeImpl
        Returns:
        the previous node in the document, or null if there is no such node
      • getNextInDocument

        public NodeImpl getNextInDocument​(NodeImpl anchor)
        Get the next node in document order (skipping attributes)
        Overrides:
        getNextInDocument in class NodeImpl
        Parameters:
        anchor - : the scan stops when it reaches a node that is not a descendant of the specified anchor node
        Returns:
        the next node in the document, or null if there is no such node
      • generateId

        public java.lang.String generateId()
        Get sequential key. Returns key of owning element with the attribute name as a suffix
        Specified by:
        generateId in interface NodeInfo
        Overrides:
        generateId in class NodeImpl
        Returns:
        a string.
      • copy

        public void copy​(Outputter out)
                  throws javax.xml.transform.TransformerException
        Copy this node to a given outputter
        Specified by:
        copy in interface NodeInfo
        Throws:
        javax.xml.transform.TransformerException