TheAttr
interface represents an attribute in anElement
object. Typically the allowable values for the attribute are defined in a document type definition.
Attr
objects inherit theNode
interface, but since they are not actually child nodes of the element they describe, the DOM does not consider them part of the document tree. Thus, theNode
attributesparentNode
,previousSibling
, andnextSibling
have anull
value forAttr
objects. The DOM takes the view that attributes are properties of elements rather than having a separate identity from the elements they are associated with; this should make it more efficient to implement such features as default attributes associated with all elements of a given type. Furthermore,Attr
nodes may not be immediate children of aDocumentFragment
. However, they can be associated withElement
nodes contained within aDocumentFragment
. In short, users and implementors of the DOM need to be aware thatAttr
nodes have some things in common with other objects inheriting theNode
interface, but they also are quite distinct.
The attribute's effective value is determined as follows: if this attribute has been explicitly assigned any value, that value is the attribute's effective value; otherwise, if there is a declaration for this attribute, and that declaration includes a default value, then that default value is the attribute's effective value; otherwise, the attribute does not exist on this element in the structure model until it has been explicitly added. Note that thenodeValue
attribute on theAttr
instance can also be used to retrieve the string version of the attribute's value(s).
In XML, where the value of an attribute can contain entity references, the child nodes of theAttr
node may be eitherText
orEntityReference
nodes (when these are in use; see the description ofEntityReference
for discussion). Because the DOM Core is not aware of attribute types, it treats all attribute values as simple strings, even if the DTD or schema declares them as having tokenized types.
See also theDocument Object Model (DOM) Level 2 Core Specification.
Fields inherited from interface org.w3c.dom.Node |
ATTRIBUTE_NODE,CDATA_SECTION_NODE,COMMENT_NODE,DOCUMENT_FRAGMENT_NODE,DOCUMENT_NODE,DOCUMENT_TYPE_NODE,ELEMENT_NODE,ENTITY_NODE,ENTITY_REFERENCE_NODE,NOTATION_NODE,PROCESSING_INSTRUCTION_NODE,TEXT_NODE |
getName() Returns the name of this attribute. | |
getOwnerElement() The Element node this attribute is attached to ornull if this attribute is not in use. | |
getSpecified() If this attribute was explicitly given a value in the original document, this is true ; otherwise, it isfalse . | |
getValue() On retrieval, the value of the attribute is returned as a string. | |
setValue(java.lang.String value) On retrieval, the value of the attribute is returned as a string. |
public java.lang.StringgetName()
public booleangetSpecified()
true
; otherwise, it isfalse
. Note that the implementation is in charge of this attribute, not the user. If the user changes the value of the attribute (even if it ends up having the same value as the default value) then thespecified
flag is automatically flipped totrue
. To re-specify the attribute as the default value from the DTD, the user must delete the attribute. The implementation will then make a new attribute available withspecified
set tofalse
and the default value (if one exists).specified
istrue
, and the value is the assigned value.If the attribute has no assigned value in the document and has a default value in the DTD, thenspecified
isfalse
, and the value is the default value in the DTD.If the attribute has no assigned value in the document and has a value of #IMPLIED in the DTD, then the attribute does not appear in the structure model of the document.If theownerElement
attribute isnull
(i.e. because it was just created or was set tonull
by the various removal and cloning operations)specified
istrue
.public java.lang.StringgetValue()
getAttribute
on theElement
interface.Text
node with the unparsed contents of the string. I.e. any characters that an XML processor would recognize as markup are instead treated as literal text. See also the methodsetAttribute
on theElement
interface.DOMException
- NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.public voidsetValue(java.lang.String value) throwsDOMException
getAttribute
on theElement
interface.Text
node with the unparsed contents of the string. I.e. any characters that an XML processor would recognize as markup are instead treated as literal text. See also the methodsetAttribute
on theElement
interface.DOMException
- NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.publicElementgetOwnerElement()
Element
node this attribute is attached to ornull
if this attribute is not in use.