public class

DocumentTypeImpl

extends ParentNode
implements DocumentType
java.lang.Object
   ↳ org.apache.xerces.dom.NodeImpl
     ↳ org.apache.xerces.dom.ChildNode
       ↳ org.apache.xerces.dom.ParentNode
         ↳ org.apache.xerces.dom.DocumentTypeImpl
Known Direct Subclasses

Class Overview

This class represents a Document Type declaraction in the document itself, not a Document Type Definition (DTD). An XML document may (or may not) have such a reference.

DocumentType is an Extended DOM feature, used in XML documents but not in HTML.

Note that Entities and Notations are no longer children of the DocumentType, but are parentless nodes hung only in their appropriate NamedNodeMaps.

This area is UNDERSPECIFIED IN REC-DOM-Level-1-19981001 Most notably, absolutely no provision was made for storing and using Element and Attribute information. Nor was the linkage between Entities and Entity References nailed down solidly.@xerces.internal

Summary

[Expand]
Inherited Constants
From class org.apache.xerces.dom.NodeImpl
From interface org.w3c.dom.Node
Fields
protected NamedNodeMapImpl elements Elements.
protected NamedNodeMapImpl entities Entities.
protected String internalSubset
protected String name Document type name.
protected NamedNodeMapImpl notations Notations.
protected String publicID
protected String systemID
[Expand]
Inherited Fields
From class org.apache.xerces.dom.ParentNode
From class org.apache.xerces.dom.ChildNode
From class org.apache.xerces.dom.NodeImpl
Public Constructors
DocumentTypeImpl(CoreDocumentImpl ownerDocument, String name)
Factory method for creating a document type node.
DocumentTypeImpl(CoreDocumentImpl ownerDocument, String qualifiedName, String publicID, String systemID)
Factory method for creating a document type node.
Public Methods
Node cloneNode(boolean deep)
Clones the node.
NamedNodeMap getElements()
NON-DOM: Access the collection of ElementDefinitions.
NamedNodeMap getEntities()
Access the collection of general Entities, both external and internal, defined in the DTD.
String getInternalSubset()
Introduced in DOM Level 2.
String getName()
Name of this document type.
String getNodeName()
Returns the document type name
short getNodeType()
A short integer indicating what type of node this is.
NamedNodeMap getNotations()
Access the collection of Notations defined in the DTD.
String getPublicId()
Introduced in DOM Level 2.
String getSystemId()
Introduced in DOM Level 2.
String getTextContent()
This attribute returns the text content of this node and its descendants.
Object getUserData(String key)
Retrieves the object associated to a key on a this node.
boolean isEqualNode(Node arg)
DOM Level 3 WD- Experimental.
void setInternalSubset(String internalSubset)
NON-DOM.
void setReadOnly(boolean readOnly, boolean deep)
NON-DOM: Subclassed to flip the entities' and notations' readonly switch as well.
void setTextContent(String textContent)
This attribute returns the text content of this node and its descendants.
Object setUserData(String key, Object data, UserDataHandler handler)
Associate an object to a key on this node.
Protected Methods
int getNodeNumber()
NON-DOM Get the number associated with this doctype.
Hashtable getUserDataRecord()
void setOwnerDocument(CoreDocumentImpl doc)
NON-DOM set the ownerDocument of this node and its children
[Expand]
Inherited Methods
From class org.apache.xerces.dom.ParentNode
From class org.apache.xerces.dom.ChildNode
From class org.apache.xerces.dom.NodeImpl
From class java.lang.Object
From interface org.w3c.dom.DocumentType
From interface org.w3c.dom.Node
From interface org.w3c.dom.NodeList
From interface org.w3c.dom.events.EventTarget

Fields

protected NamedNodeMapImpl elements

Elements.

protected NamedNodeMapImpl entities

Entities.

protected String internalSubset

protected String name

Document type name.

protected NamedNodeMapImpl notations

Notations.

protected String publicID

protected String systemID

Public Constructors

public DocumentTypeImpl (CoreDocumentImpl ownerDocument, String name)

Factory method for creating a document type node.

public DocumentTypeImpl (CoreDocumentImpl ownerDocument, String qualifiedName, String publicID, String systemID)

Factory method for creating a document type node.

Public Methods

public Node cloneNode (boolean deep)

Clones the node.

public NamedNodeMap getElements ()

NON-DOM: Access the collection of ElementDefinitions.

public NamedNodeMap getEntities ()

Access the collection of general Entities, both external and internal, defined in the DTD. For example, in:

   <!doctype example SYSTEM "ex.dtd" [
     <!ENTITY foo "foo">
     <!ENTITY bar "bar">
     <!ENTITY % baz "baz">
     ]>
 

The Entities map includes foo and bar, but not baz. It is promised that only Nodes which are Entities will exist in this NamedNodeMap.

For HTML, this will always be null.

Note that "built in" entities such as & and < should be converted to their actual characters before being placed in the DOM's contained text, and should be converted back when the DOM is rendered as XML or HTML, and hence DO NOT appear here.

public String getInternalSubset ()

Introduced in DOM Level 2.

Return the internalSubset given as a string.

public String getName ()

Name of this document type. If we loaded from a DTD, this should be the name immediately following the DOCTYPE keyword.

public String getNodeName ()

Returns the document type name

public short getNodeType ()

A short integer indicating what type of node this is. The named constants for this value are defined in the org.w3c.dom.Node interface.

public NamedNodeMap getNotations ()

Access the collection of Notations defined in the DTD. A notation declares, by name, the format of an XML unparsed entity or is used to formally declare a Processing Instruction target.

public String getPublicId ()

Introduced in DOM Level 2.

Return the public identifier of this Document type.

public String getSystemId ()

Introduced in DOM Level 2.

Return the system identifier of this Document type.

public String getTextContent ()

This attribute returns the text content of this node and its descendants. When it is defined to be null, setting it has no effect. When set, any possible children this node may have are removed and replaced by a single Text node containing the string this attribute is set to. On getting, no serialization is performed, the returned string does not contain any markup. No whitespace normalization is performed, the returned string does not contain the element content whitespaces . Similarly, on setting, no parsing is performed either, the input string is taken as pure textual content.
The string returned is made of the text content of this node depending on its type, as defined below:

/** This attribute returns the text content of this node and its descendants. When it is defined to be null, setting it has no effect. When set, any possible children this node may have are removed and replaced by a single Text node containing the string this attribute is set to. On getting, no serialization is performed, the returned string does not contain any markup. No whitespace normalization is performed, the returned string does not contain the element content whitespaces . Similarly, on setting, no parsing is performed either, the input string is taken as pure textual content.
The string returned is made of the text content of this node depending on its type, as defined below:
Node type Content
Node type Content
ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, DOCUMENT_FRAGMENT_NODE concatenation of the textContent attribute value of every child node, excluding COMMENT_NODE and PROCESSING_INSTRUCTION_NODE nodes
ATTRIBUTE_NODE, TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE, PROCESSING_INSTRUCTION_NODE nodeValue
DOCUMENT_NODE, DOCUMENT_TYPE_NODE, NOTATION_NODE null

Throws
DOMException

public Object getUserData (String key)

Retrieves the object associated to a key on a this node. The object must first have been set to this node by calling setUserData with the same key.

Parameters
key The key the object is associated to.
Returns
  • Returns the DOMObject associated to the given key on this node, or null if there was none.

public boolean isEqualNode (Node arg)

DOM Level 3 WD- Experimental. Override inherited behavior from ParentNodeImpl to support deep equal.

Parameters
arg The node to compare equality with.
Returns
  • If the nodes, and possibly subtrees are equal, true otherwise false.

public void setInternalSubset (String internalSubset)

NON-DOM.

Set the internalSubset given as a string.

public void setReadOnly (boolean readOnly, boolean deep)

NON-DOM: Subclassed to flip the entities' and notations' readonly switch as well.

Parameters
readOnly True or false as desired.
deep If true, children are also toggled. Note that this will not change the state of an EntityReference or its children, which are always read-only.

public void setTextContent (String textContent)

This attribute returns the text content of this node and its descendants. When it is defined to be null, setting it has no effect. When set, any possible children this node may have are removed and replaced by a single Text node containing the string this attribute is set to. On getting, no serialization is performed, the returned string does not contain any markup. No whitespace normalization is performed, the returned string does not contain the element content whitespaces . Similarly, on setting, no parsing is performed either, the input string is taken as pure textual content.
The string returned is made of the text content of this node depending on its type, as defined below:

Node type Content
ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, DOCUMENT_FRAGMENT_NODE concatenation of the textContent attribute value of every child node, excluding COMMENT_NODE and PROCESSING_INSTRUCTION_NODE nodes
ATTRIBUTE_NODE, TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE, PROCESSING_INSTRUCTION_NODE nodeValue
DOCUMENT_NODE, DOCUMENT_TYPE_NODE, NOTATION_NODE null

Throws
DOMException

public Object setUserData (String key, Object data, UserDataHandler handler)

Associate an object to a key on this node. The object can later be retrieved from this node by calling getUserData with the same key.

Parameters
key The key to associate the object to.
data The object to associate to the given key, or null to remove any existing association to that key.
handler The handler to associate to that key, or null.
Returns
  • Returns the DOMObject previously associated to the given key on this node, or null if there was none.

Protected Methods

protected int getNodeNumber ()

NON-DOM Get the number associated with this doctype.

protected Hashtable getUserDataRecord ()

protected void setOwnerDocument (CoreDocumentImpl doc)

NON-DOM set the ownerDocument of this node and its children