Class AttributeImpl

All Implemented Interfaces:
NodeInfo, DOMLocator, Source, SourceLocator, Attr, Node

final class AttributeImpl extends NodeImpl implements 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 Details

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

    • getNameCode

      public int getNameCode()
      Get the name code, which enables the name to be located in the name pool
      Specified by:
      getNameCode in interface NodeInfo
      Overrides:
      getNameCode in class NodeImpl
      See Also:
    • 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 Node
      Specified by:
      getNodeType in interface NodeInfo
      Returns:
      Node.ATTRIBUTE
    • getStringValue

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

      public Node getNextSibling()
      Get next sibling - not defined for attributes
      Specified by:
      getNextSibling in interface 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 Node getPreviousSibling()
      Get previous sibling - not defined for attributes
      Specified by:
      getPreviousSibling in interface 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 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 TransformerException
      Copy this node to a given outputter
      Specified by:
      copy in interface NodeInfo
      Throws:
      TransformerException