org.apache.xerces.impl.xs.opti

## Class AttrImpl

- java.lang.Object
- - org.apache.xerces.impl.xs.opti.DefaultNode
  - - org.apache.xerces.impl.xs.opti.NodeImpl
    - - org.apache.xerces.impl.xs.opti.AttrImpl

All Implemented Interfaces:
  org.w3c.dom.Attr, org.w3c.dom.Node

    public class AttrImpl
    extends NodeImpl
    implements org.w3c.dom.Attr

This class represents a single attribute.

Version:
  $Id: AttrImpl.java 982713 2010-08-05 17:54:01Z mrglavas $
Author:
  Rahul Srivastava, Sun Microsystems Inc.

# INTERNAL:

  Usage of this class is not supported. It may be altered or removed at any time.

### Field Summary

### 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 and Description
`AttrImpl()` Default Constructor
`AttrImpl(org.w3c.dom.Element element, java.lang.String prefix, java.lang.String localpart, java.lang.String rawname, java.lang.String uri, java.lang.String value)` Constructs an attribute.

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.String` `getName()` Returns the name of this attribute.
`java.lang.String` `getNodeValue()` The value of this node, depending on its type; see the table above.
`org.w3c.dom.Document` `getOwnerDocument()` The `Document` object associated with this node.
`org.w3c.dom.Element` `getOwnerElement()` The `Element` node this attribute is attached to or `null` if this attribute is not in use.
`org.w3c.dom.TypeInfo` `getSchemaTypeInfo()` Method getSchemaTypeInfo.
`boolean` `getSpecified()` `True` if this attribute was explicitly given a value in the instance document, `false` otherwise.
`java.lang.String` `getValue()` On retrieval, the value of the attribute is returned as a string.
`boolean` `isId()` Returns whether this attribute is known to be of type ID (i.e.
`void` `setValue(java.lang.String value)` On retrieval, the value of the attribute is returned as a string.
`java.lang.String` `toString()` NON-DOM method for debugging convenience

### Methods inherited from class org.apache.xerces.impl.xs.opti.NodeImpl

`getLocalName, getNamespaceURI, getNodeName, getNodeType, getPrefix, getReadOnly, setReadOnly`

### Methods inherited from class org.apache.xerces.impl.xs.opti.DefaultNode

`appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getNextSibling, getParentNode, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, 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, getNodeName, getNodeType, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData`

### Constructor Detail

#### AttrImpl

    public AttrImpl()

Default Constructor

#### AttrImpl

    public AttrImpl(org.w3c.dom.Element element,
                    java.lang.String prefix,
                    java.lang.String localpart,
                    java.lang.String rawname,
                    java.lang.String uri,
                    java.lang.String value)

Constructs an attribute.

Parameters:
  `element` - Element which owns this attribute
  `prefix` - The QName prefix.
  `localpart` - The QName localpart.
  `rawname` - The QName rawname.
  `uri` - The uri binding for the associated prefix.
  `value` - The value of the attribute.

### Method Detail

#### getName

    public java.lang.String getName()

Description copied from interface: `org.w3c.dom.Attr`
Returns the name of this attribute. If `Node.localName` is different from `null`, this attribute is a qualified name.

Specified by:
  `getName` in interface `org.w3c.dom.Attr`

#### getSpecified

    public boolean getSpecified()

Description copied from interface: `org.w3c.dom.Attr`
`True` if this attribute was explicitly given a value in the instance document, `false` otherwise. If the application changed the value of this attribute node (even if it ends up having the same value as the default value) then it is set to `true`. The implementation may handle attributes with default values from other schemas similarly but applications should use `Document.normalizeDocument()` to guarantee this information is up-to-date.

Specified by:
  `getSpecified` in interface `org.w3c.dom.Attr`

#### getValue

    public java.lang.String getValue()

Description copied from interface: `org.w3c.dom.Attr`
On retrieval, the value of the attribute is returned as a string. Character and general entity references are replaced with their values. See also the method `getAttribute` on the `Element` interface.
On setting, this creates a `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 method `Element.setAttribute()`.
Some specialized implementations, such as some [SVG 1.1] implementations, may do normalization automatically, even after mutation; in such case, the value on retrieval may differ from the value on setting.

Specified by:
  `getValue` in interface `org.w3c.dom.Attr`

#### getNodeValue

    public java.lang.String getNodeValue()

Description copied from interface: `org.w3c.dom.Node`
The value of this node, depending on its type; see the table above. When it is defined to be `null`, setting it has no effect, including if the node is read-only.

Specified by:
  `getNodeValue` in interface `org.w3c.dom.Node`
Overrides:
  `getNodeValue` in class `DefaultNode`

#### getOwnerElement

    public org.w3c.dom.Element getOwnerElement()

Description copied from interface: `org.w3c.dom.Attr`
The `Element` node this attribute is attached to or `null` if this attribute is not in use.

Specified by:
  `getOwnerElement` in interface `org.w3c.dom.Attr`

#### getOwnerDocument

    public org.w3c.dom.Document getOwnerDocument()

Description copied from interface: `org.w3c.dom.Node`
The `Document` object associated with this node. This is also the `Document` object used to create new nodes. When this node is a `Document` or a `DocumentType` which is not used with any `Document` yet, this is `null`.

Specified by:
  `getOwnerDocument` in interface `org.w3c.dom.Node`
Overrides:
  `getOwnerDocument` in class `DefaultNode`

#### setValue

    public void setValue(java.lang.String value)
                  throws org.w3c.dom.DOMException

Description copied from interface: `org.w3c.dom.Attr`
On retrieval, the value of the attribute is returned as a string. Character and general entity references are replaced with their values. See also the method `getAttribute` on the `Element` interface.
On setting, this creates a `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 method `Element.setAttribute()`.
Some specialized implementations, such as some [SVG 1.1] implementations, may do normalization automatically, even after mutation; in such case, the value on retrieval may differ from the value on setting.

Specified by:
  `setValue` in interface `org.w3c.dom.Attr`
Throws:
  `org.w3c.dom.DOMException` - NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.

#### isId

    public boolean isId()

Description copied from interface: `org.w3c.dom.Attr`
Returns whether this attribute is known to be of type ID (i.e. to contain an identifier for its owner element) or not. When it is and its value is unique, the `ownerElement` of this attribute can be retrieved using the method `Document.getElementById` . The implementation could use several ways to determine if an attribute node is known to contain an identifier:

- If validation occurred using an XML Schema [XML Schema Part 1] while loading the document or while invoking `Document.normalizeDocument()`, the post-schema-validation infoset contributions (PSVI contributions) values are used to determine if this attribute is a schema-determined ID attribute using the schema-determined ID definition in [XPointer] .
- If validation occurred using a DTD while loading the document or while invoking `Document.normalizeDocument()`, the infoset [type definition] value is used to determine if this attribute is a DTD-determined ID attribute using the DTD-determined ID definition in [XPointer] .
- from the use of the methods `Element.setIdAttribute()`, `Element.setIdAttributeNS()`, or `Element.setIdAttributeNode()`, i.e. it is an user-determined ID attribute;

  Note: XPointer framework (see section 3.2 in [XPointer] ) consider the DOM user-determined ID attribute as being part of the XPointer externally-determined ID definition.

- using mechanisms that are outside the scope of this specification, it is then an externally-determined ID attribute. This includes using schema languages different from XML schema and DTD.

If validation occurred while invoking `Document.normalizeDocument()`, all user-determined ID attributes are reset and all attribute nodes ID information are then reevaluated in accordance to the schema used. As a consequence, if the `Attr.schemaTypeInfo` attribute contains an ID type, `isId` will always return true.

Specified by:
  `isId` in interface `org.w3c.dom.Attr`
Since:
  DOM Level 3

#### getSchemaTypeInfo

    public org.w3c.dom.TypeInfo getSchemaTypeInfo()

Method getSchemaTypeInfo.

Specified by:
  `getSchemaTypeInfo` in interface `org.w3c.dom.Attr`
Returns:
  TypeInfo

#### toString

    public java.lang.String toString()

NON-DOM method for debugging convenience

Overrides:
  `toString` in class `NodeImpl`