Package org.htmlunit.html

# Class DomAttr

java.lang.Object
org.htmlunit.html.DomNode
org.htmlunit.html.DomNamespaceNode
org.htmlunit.html.DomAttr

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `Attr`, `Node`

public class DomAttr extends DomNamespaceNode implements Attr
An attribute of an element. Attributes are stored in `HtmlElement`, but the XPath engine expects attributes to be in a `DomNode`.

See Also:
  - Serialized Form

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class org.htmlunit.html.DomNode

  `DomNode.ChildIterator, DomNode.DescendantDomElementsIterator, DomNode.DescendantDomNodesIterator, DomNode.DescendantElementsIterator<T extends DomNode>, DomNode.DescendantHtmlElementsIterator`

- ## Field Summary

  ### Fields inherited from class org.htmlunit.html.DomNode

  `PROPERTY_ELEMENT, READY_STATE_COMPLETE, READY_STATE_INTERACTIVE, READY_STATE_LOADED, READY_STATE_LOADING, READY_STATE_UNINITIALIZED`

  ### Fields inherited from interface org.w3c.dom.Node

  `ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DomAttr(SgmlPage page, String namespaceURI, String qualifiedName, String value, boolean specified)`
  Instantiate a new attribute.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getCanonicalXPath()`
  Returns the canonical XPath expression which identifies this node, for instance `"/html/body/table[3]/tbody/tr[5]/td[2]/span/a[3]"`.
  `String`
  `getName()`
  `String`
  `getNodeName()`
  `short`
  `getNodeType()`
  `String`
  `getNodeValue()`
  `DomElement`
  `getOwnerElement()`
  `TypeInfo`
  `getSchemaTypeInfo()`
  Not yet implemented.
  `boolean`
  `getSpecified()`
  `String`
  `getTextContent()`
  `String`
  `getValue()`
  `boolean`
  `isId()`
  `void`
  `setNodeValue(String value)`
  `void`
  `setTextContent(String textContent)`
  `void`
  `setValue(String value)`
  `String`
  `toString()`

  ### Methods inherited from class org.htmlunit.html.DomNamespaceNode

  `getLocalName, getLowercaseName, getNamespaceURI, getPrefix, getQualifiedName, processImportNode, setPrefix`

  ### Methods inherited from class org.htmlunit.html.DomNode

  `addCharacterDataChangeListener, addDomChangeListener, appendChild, asNormalizedText, asXml, basicRemove, checkChildHierarchy, cloneNode, closest, compareDocumentPosition, detach, fireCharacterDataChanged, fireNodeAdded, fireNodeDeleted, getAncestors, getAttributes, getBaseURI, getByXPath, getByXPath, getChildNodes, getChildren, getDescendants, getDomElementDescendants, getEndColumnNumber, getEndLineNumber, getFeature, getFirstByXPath, getFirstByXPath, getFirstChild, getHtmlElementDescendants, getHtmlPageOrNull, getIndex, getLastChild, getNextElementSibling, getNextSibling, getOwnerDocument, getPage, getParentNode, getPreviousElementSibling, getPreviousSibling, getReadyState, getScriptableObject, getSelectorList, getStartColumnNumber, getStartLineNumber, getUserData, getVisibleText, handles, hasAttributes, hasChildNodes, hasFeature, insertBefore, insertBefore, isAncestorOf, isAncestorOfAny, isAttachedToPage, isDefaultNamespace, isDisplayed, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, mayBeDisplayed, normalize, notifyIncorrectness, onAddedToDocumentFragment, onAddedToPage, onAllChildrenAddedToPage, parseHtmlSnippet, printChildrenAsXml, printXml, querySelector, querySelectorAll, quietlyRemoveAndMoveChildrenTo, remove, removeAllChildren, removeCharacterDataChangeListener, removeChild, removeDomChangeListener, replace, replaceChild, setEndLocation, setParentNode, setReadyState, setScriptableObject, setStartLocation, setUserData`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface org.w3c.dom.Node

  `appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setPrefix, setUserData`

- ## Constructor Details

  - ### DomAttr

    public DomAttr(SgmlPage page, String namespaceURI, String qualifiedName, String value, boolean specified)
    Instantiate a new attribute.
    Parameters:
      `page` - the page that the attribute belongs to
      `namespaceURI` - the namespace that defines the attribute name (may be `null`)
      `qualifiedName` - the name of the attribute
      `value` - the value of the attribute
      `specified` - `true` if this attribute was explicitly given a value in the source document, or if the application changed the value of the attribute

- ## Method Details

  - ### getNodeType

    public short getNodeType()
    Specified by:
      `getNodeType` in interface `Node`

  - ### getNodeName

    public String getNodeName()
    Specified by:
      `getNodeName` in interface `Node`

  - ### getNodeValue

    public String getNodeValue()
    Specified by:
      `getNodeValue` in interface `Node`
    Overrides:
      `getNodeValue` in class `DomNode`

  - ### getName

    public String getName()
    Specified by:
      `getName` in interface `Attr`

  - ### getValue

    public String getValue()
    Specified by:
      `getValue` in interface `Attr`

  - ### setNodeValue

    public void setNodeValue(String value)
    Specified by:
      `setNodeValue` in interface `Node`

  - ### setValue

    public void setValue(String value)
    Specified by:
      `setValue` in interface `Attr`

  - ### getOwnerElement

    public DomElement getOwnerElement()
    Specified by:
      `getOwnerElement` in interface `Attr`

  - ### getSpecified

    public boolean getSpecified()
    Specified by:
      `getSpecified` in interface `Attr`

  - ### getSchemaTypeInfo

    public TypeInfo getSchemaTypeInfo()
    Not yet implemented.
    Specified by:
      `getSchemaTypeInfo` in interface `Attr`

  - ### isId

    public boolean isId()
    Specified by:
      `isId` in interface `Attr`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`

  - ### getCanonicalXPath

    public String getCanonicalXPath()

    Returns the canonical XPath expression which identifies this node, for instance `"/html/body/table[3]/tbody/tr[5]/td[2]/span/a[3]"`.

    WARNING: This sort of automated XPath expression is often quite bad at identifying a node, as it is highly sensitive to changes in the DOM tree.

    Overrides:
      `getCanonicalXPath` in class `DomNode`
    Returns:
      the canonical XPath expression which identifies this node
    See Also:
      - `DomNode.getByXPath(String)`

  - ### getTextContent

    public String getTextContent()
    Specified by:
      `getTextContent` in interface `Node`
    Overrides:
      `getTextContent` in class `DomNode`

  - ### setTextContent

    public void setTextContent(String textContent)
    Specified by:
      `setTextContent` in interface `Node`
    Overrides:
      `setTextContent` in class `DomNode`