If the attribute has not been explicitly assigned a value, but has been declared in the DTD, it will exist and have that default. Only if neither the document nor the DTD specifies a value will the Attribute really be considered absent and have no value; in that case, querying the attribute will return null.
Attributes may have multiple children that contain their data. (XML allows attributes to contain entity references, and tokenized attribute types such as NMTOKENS may have a child for each token.) For convenience, the Attribute object's getValue() method returns the string version of the attribute's value.
Attributes are not children of the Elements they belong to, in the usual sense, and have no valid Parent reference. However, the spec says they _do_ belong to a specific Element, and an INUSE exception is to be thrown if the user attempts to explicitly share them between elements.
Note that Elements do not permit attributes to appear to be shared (see the INUSE exception), so this object's mutability is officially not an issue.
DeferredAttrImpl inherits from AttrImpl which does not support Namespaces. DeferredAttrNSImpl, which inherits from AttrNSImpl, does. @see DeferredAttrNSImpl @xerces.internal @author Andy Clark, IBM @author Arnaud Le Hors, IBM @version $Id: DeferredAttrImpl.java,v 1.2.6.1 2005/08/31 10:17:27 sunithareddy Exp $ @since PR-DOM-Level-1-19980818.
|
|