# Entity

public interface **Entity** implements [Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html) This interface represents a known entity, either parsed or unparsed, in an
XML document. Note that this models the entity itself *not* the entity declaration.

The `nodeName` attribute that is inherited from
`Node` contains the name of the entity.

An XML processor may choose to completely expand entities before the
structure model is passed to the DOM; in this case there will be no
`EntityReference` nodes in the document tree.

XML does not mandate that a non-validating XML processor read and
process entity declarations made in the external subset or declared in
parameter entities. This means that parsed entities declared in the
external subset need not be expanded by some classes of applications, and
that the replacement text of the entity may not be available. When the [replacement text](http://www.w3.org/TR/2004/REC-xml-20040204#intern-replacement) is available, the corresponding `Entity` node's child list
represents the structure of that replacement value. Otherwise, the child
list is empty.

DOM Level 3 does not support editing `Entity` nodes; if a
user wants to make changes to the contents of an `Entity`,
every related `EntityReference` node has to be replaced in the
structure model by a clone of the `Entity`'s contents, and
then the desired changes must be made to each of those clones instead.
`Entity` nodes and all their descendants are readonly.

An `Entity` node does not have any parent.

**Note:** If the entity contains an unbound namespace prefix, the
`namespaceURI` of the corresponding node in the
`Entity` node subtree is `null`. The same is true
for `EntityReference` nodes that refer to this entity, when
they are created using the `createEntityReference` method of
the `Document` interface.

See also the [Document Object Model (DOM) Level 3 Core Specification](http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407).

### Inherited Constant Summary

From interface [org.w3c.dom.Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html)

|---|---|---|
| short | [ATTRIBUTE_NODE](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#ATTRIBUTE_NODE) | The node is an `Attr`. |
| short | [CDATA_SECTION_NODE](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#CDATA_SECTION_NODE) | The node is a `CDATASection`. |
| short | [COMMENT_NODE](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#COMMENT_NODE) | The node is a `Comment`. |
| short | [DOCUMENT_FRAGMENT_NODE](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#DOCUMENT_FRAGMENT_NODE) | The node is a `DocumentFragment`. |
| short | [DOCUMENT_NODE](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#DOCUMENT_NODE) | The node is a `Document`. |
| short | [DOCUMENT_POSITION_CONTAINED_BY](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#DOCUMENT_POSITION_CONTAINED_BY) | The node is contained by the reference node. |
| short | [DOCUMENT_POSITION_CONTAINS](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#DOCUMENT_POSITION_CONTAINS) | The node contains the reference node. |
| short | [DOCUMENT_POSITION_DISCONNECTED](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#DOCUMENT_POSITION_DISCONNECTED) | The two nodes are disconnected. |
| short | [DOCUMENT_POSITION_FOLLOWING](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#DOCUMENT_POSITION_FOLLOWING) | The node follows the reference node. |
| short | [DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC) | The determination of preceding versus following is implementation-specific. |
| short | [DOCUMENT_POSITION_PRECEDING](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#DOCUMENT_POSITION_PRECEDING) | The second node precedes the reference node. |
| short | [DOCUMENT_TYPE_NODE](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#DOCUMENT_TYPE_NODE) | The node is a `DocumentType`. |
| short | [ELEMENT_NODE](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#ELEMENT_NODE) | The node is an `Element`. |
| short | [ENTITY_NODE](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#ENTITY_NODE) | The node is an `Entity`. |
| short | [ENTITY_REFERENCE_NODE](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#ENTITY_REFERENCE_NODE) | The node is an `EntityReference`. |
| short | [NOTATION_NODE](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#NOTATION_NODE) | The node is a `Notation`. |
| short | [PROCESSING_INSTRUCTION_NODE](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#PROCESSING_INSTRUCTION_NODE) | The node is a `ProcessingInstruction`. |
| short | [TEXT_NODE](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#TEXT_NODE) | The node is a `Text` node. |

### Public Method Summary

|---|---|
| abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [getInputEncoding](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Entity.html#getInputEncoding())() An attribute specifying the encoding used for this entity at the time of parsing, when it is an external parsed entity. |
| abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [getNotationName](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Entity.html#getNotationName())() For unparsed entities, the name of the notation for the entity. |
| abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [getPublicId](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Entity.html#getPublicId())() The public identifier associated with the entity if specified, and `null` otherwise. |
| abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [getSystemId](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Entity.html#getSystemId())() The system identifier associated with the entity if specified, and `null` otherwise. |
| abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [getXmlEncoding](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Entity.html#getXmlEncoding())() An attribute specifying, as part of the text declaration, the encoding of this entity, when it is an external parsed entity. |
| abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [getXmlVersion](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Entity.html#getXmlVersion())() An attribute specifying, as part of the text declaration, the version number of this entity, when it is an external parsed entity. |

### Inherited Method Summary

From interface [org.w3c.dom.Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html)

|---|---|
| abstract [Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html) | [appendChild](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#appendChild(org.w3c.dom.Node))([Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html) newChild) Adds the node `newChild` to the end of the list of children of this node. |
| abstract [Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html) | [cloneNode](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#cloneNode(boolean))(boolean deep) Returns a duplicate of this node, i.e., serves as a generic copy constructor for nodes. |
| abstract short | [compareDocumentPosition](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#compareDocumentPosition(org.w3c.dom.Node))([Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html) other) Compares the reference node, i.e. |
| abstract [NamedNodeMap](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/NamedNodeMap.html) | [getAttributes](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#getAttributes())() A `NamedNodeMap` containing the attributes of this node (if it is an `Element`) or `null` otherwise. |
| abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [getBaseURI](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#getBaseURI())() The absolute base URI of this node or `null` if the implementation wasn't able to obtain an absolute URI. |
| abstract [NodeList](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/NodeList.html) | [getChildNodes](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#getChildNodes())() A `NodeList` that contains all children of this node. |
| abstract [Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) | [getFeature](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#getFeature(java.lang.String,%20java.lang.String))([String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) feature, [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) version) This method returns a specialized object which implements the specialized APIs of the specified feature and version, as specified in . |
| abstract [Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html) | [getFirstChild](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#getFirstChild())() The first child of this node. |
| abstract [Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html) | [getLastChild](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#getLastChild())() The last child of this node. |
| abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [getLocalName](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#getLocalName())() Returns the local part of the qualified name of this node. |
| abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [getNamespaceURI](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#getNamespaceURI())() The namespace URI of this node, or `null` if it is unspecified (see ). |
| abstract [Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html) | [getNextSibling](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#getNextSibling())() The node immediately following this node. |
| abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [getNodeName](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#getNodeName())() The name of this node, depending on its type; see the table above. |
| abstract short | [getNodeType](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#getNodeType())() A code representing the type of the underlying object, as defined above. |
| abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [getNodeValue](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#getNodeValue())() The value of this node, depending on its type; see the table above. |
| abstract [Document](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Document.html) | [getOwnerDocument](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#getOwnerDocument())() The `Document` object associated with this node. |
| abstract [Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html) | [getParentNode](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#getParentNode())() The parent of this node. |
| abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [getPrefix](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#getPrefix())() The namespace prefix of this node, or `null` if it is unspecified. |
| abstract [Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html) | [getPreviousSibling](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#getPreviousSibling())() The node immediately preceding this node. |
| abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [getTextContent](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#getTextContent())() This attribute returns the text content of this node and its descendants. |
| abstract [Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) | [getUserData](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#getUserData(java.lang.String))([String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) key) Retrieves the object associated to a key on a this node. |
| abstract boolean | [hasAttributes](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#hasAttributes())() Returns whether this node (if it is an element) has any attributes. |
| abstract boolean | [hasChildNodes](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#hasChildNodes())() Returns whether this node has any children. |
| abstract [Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html) | [insertBefore](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#insertBefore(org.w3c.dom.Node,%20org.w3c.dom.Node))([Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html) newChild, [Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html) refChild) Inserts the node `newChild` before the existing child node `refChild`. |
| abstract boolean | [isDefaultNamespace](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#isDefaultNamespace(java.lang.String))([String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) namespaceURI) This method checks if the specified `namespaceURI` is the default namespace or not. |
| abstract boolean | [isEqualNode](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#isEqualNode(org.w3c.dom.Node))([Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html) arg) Tests whether two nodes are equal. |
| abstract boolean | [isSameNode](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#isSameNode(org.w3c.dom.Node))([Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html) other) Returns whether this node is the same node as the given one. |
| abstract boolean | [isSupported](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#isSupported(java.lang.String,%20java.lang.String))([String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) feature, [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) version) Tests whether the DOM implementation implements a specific feature and that feature is supported by this node, as specified in . |
| abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [lookupNamespaceURI](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#lookupNamespaceURI(java.lang.String))([String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) prefix) Look up the namespace URI associated to the given prefix, starting from this node. |
| abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [lookupPrefix](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#lookupPrefix(java.lang.String))([String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) namespaceURI) Look up the prefix associated to the given namespace URI, starting from this node. |
| abstract void | [normalize](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#normalize())() Puts all `Text` nodes in the full depth of the sub-tree underneath this `Node`, including attribute nodes, into a "normal" form where only structure (e.g., elements, comments, processing instructions, CDATA sections, and entity references) separates `Text` nodes, i.e., there are neither adjacent `Text` nodes nor empty `Text` nodes. |
| abstract [Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html) | [removeChild](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#removeChild(org.w3c.dom.Node))([Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html) oldChild) Removes the child node indicated by `oldChild` from the list of children, and returns it. |
| abstract [Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html) | [replaceChild](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#replaceChild(org.w3c.dom.Node,%20org.w3c.dom.Node))([Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html) newChild, [Node](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html) oldChild) Replaces the child node `oldChild` with `newChild` in the list of children, and returns the `oldChild` node. |
| abstract void | [setNodeValue](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#setNodeValue(java.lang.String))([String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) nodeValue) The value of this node, depending on its type; see the table above. |
| abstract void | [setPrefix](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#setPrefix(java.lang.String))([String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) prefix) The namespace prefix of this node, or `null` if it is unspecified. |
| abstract void | [setTextContent](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#setTextContent(java.lang.String))([String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) textContent) This attribute returns the text content of this node and its descendants. |
| abstract [Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) | [setUserData](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/Node.html#setUserData(java.lang.String,%20java.lang.Object,%20org.w3c.dom.UserDataHandler))([String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) key, [Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) data, [UserDataHandler](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/UserDataHandler.html) handler) Associate an object to a key on this node. |

## Public Methods

#### public abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html)
**getInputEncoding**
()

An attribute specifying the encoding used for this entity at the time
of parsing, when it is an external parsed entity. This is
`null` if it an entity from the internal subset or if it
is not known.

#### public abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html)
**getNotationName**
()

For unparsed entities, the name of the notation for the entity. For
parsed entities, this is `null`.

#### public abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html)
**getPublicId**
()

The public identifier associated with the entity if specified, and
`null` otherwise.

#### public abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html)
**getSystemId**
()

The system identifier associated with the entity if specified, and
`null` otherwise. This may be an absolute URI or not.

#### public abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html)
**getXmlEncoding**
()

An attribute specifying, as part of the text declaration, the encoding
of this entity, when it is an external parsed entity. This is
`null` otherwise.

#### public abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html)
**getXmlVersion**
()

An attribute specifying, as part of the text declaration, the version
number of this entity, when it is an external parsed entity. This is
`null` otherwise.