org.apache.xerces.dom
Class DocumentTypeImpl

java.lang.Object
  |
  +--org.apache.xerces.dom.NodeImpl
        |
        +--org.apache.xerces.dom.NodeContainer
              |
              +--org.apache.xerces.dom.DocumentTypeImpl
Direct Known Subclasses:
DeferredDocumentTypeImpl

public class DocumentTypeImpl
extends NodeContainer
implements DocumentType

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.

Since:
PR-DOM-Level-1-19980818.
Version:
 
See Also:
Serialized Form

Field Summary
protected  NamedNodeMapImpl elements
          Elements.
protected  NamedNodeMapImpl entities
          Entities.
protected  java.lang.String internalSubset
           
protected  NamedNodeMapImpl notations
          Notations.
protected  java.lang.String publicID
           
protected  java.lang.String systemID
           
 
Fields inherited from class org.apache.xerces.dom.NodeContainer
firstChild, kidOK, lastChild, nodeListChanges, nodeListIndex, nodeListLength, nodeListNode, syncChildren
 
Fields inherited from class org.apache.xerces.dom.NodeImpl
ELEMENT_DEFINITION_NODE, fInternalSetNodeValue, MUTATION_AGGREGATE, MUTATION_ALL, MUTATION_LOCAL, MUTATION_NONE, MUTATIONEVENTS, name, nextSibling, ownerDocument, parentNode, previousSibling, readOnly, syncData, userData, value
 
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
 
Constructor Summary
DocumentTypeImpl(DocumentImpl ownerDocument, java.lang.String name)
          Factory method for creating a document type node.
DocumentTypeImpl(DocumentImpl ownerDocument, java.lang.String qualifiedName, java.lang.String publicID, java.lang.String systemID)
          Factory method for creating a document type node.
 
Method Summary
 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.
 java.lang.String getInternalSubset()
          Introduced in DOM Level 2.
 java.lang.String getName()
          Name of this document type.
 short getNodeType()
          A short integer indicating what type of node this is.
 NamedNodeMap getNotations()
          Access the collection of Notations defined in the DTD.
 java.lang.String getPublicId()
          Introduced in DOM Level 2.
 java.lang.String getSystemId()
          Introduced in DOM Level 2.
 void setInternalSubset(java.lang.String internalSubset)
          NON-DOM.
 void setNodeValue(java.lang.String value)
          DocumentTypes never have a nodeValue.
 void setReadOnly(boolean readOnly, boolean deep)
          NON-DOM: Subclassed to flip the entities' and notations' readonly switch as well.
 
Methods inherited from class org.apache.xerces.dom.NodeContainer
appendChild, getChildNodes, getFirstChild, getLastChild, getLength, hasChildNodes, insertBefore, item, normalize, removeChild, replaceChild, synchronizeChildren
 
Methods inherited from class org.apache.xerces.dom.NodeImpl
addEventListener, changed, dispatchEvent, finalize, getAttributes, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getReadOnly, getUserData, removeEventListener, setPrefix, setUserData, supports, synchronizeData, toString
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

entities

protected NamedNodeMapImpl entities
Entities.

notations

protected NamedNodeMapImpl notations
Notations.

elements

protected NamedNodeMapImpl elements
Elements.

publicID

protected java.lang.String publicID

systemID

protected java.lang.String systemID

internalSubset

protected java.lang.String internalSubset
Constructor Detail

DocumentTypeImpl

public DocumentTypeImpl(DocumentImpl ownerDocument,
                        java.lang.String name)
Factory method for creating a document type node.

DocumentTypeImpl

public DocumentTypeImpl(DocumentImpl ownerDocument,
                        java.lang.String qualifiedName,
                        java.lang.String publicID,
                        java.lang.String systemID)
Factory method for creating a document type node.
Method Detail

getPublicId

public java.lang.String getPublicId()
Introduced in DOM Level 2.

Return the public identifier of this Document type.

Specified by:
getPublicId in interface DocumentType
Since:
WD-DOM-Level-2-19990923

getSystemId

public java.lang.String getSystemId()
Introduced in DOM Level 2.

Return the system identifier of this Document type.

Specified by:
getSystemId in interface DocumentType
Since:
WD-DOM-Level-2-19990923

setInternalSubset

public void setInternalSubset(java.lang.String internalSubset)
NON-DOM.

Set the internalSubset given as a string.


getInternalSubset

public java.lang.String getInternalSubset()
Introduced in DOM Level 2.

Return the internalSubset given as a string.

Specified by:
getInternalSubset in interface DocumentType
Since:
WD-DOM-Level-2-19990923

getNodeType

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.
Overrides:
getNodeType in class NodeImpl

setNodeValue

public void setNodeValue(java.lang.String value)
                  throws DOMException
DocumentTypes never have a nodeValue.
Overrides:
setNodeValue in class NodeImpl
Throws:
DOMException(NO_MODIFICATION_ALLOWED_ERR) -  

cloneNode

public Node cloneNode(boolean deep)
Clones the node.
Overrides:
cloneNode in class NodeContainer
Tags copied from interface: Node
Parameters:
deep - If true , recursively clone the subtree under the specified node; if false , clone only the node itself (and its attributes, if it is an Element ).
Returns:
The duplicate node.

getName

public java.lang.String getName()
Name of this document type. If we loaded from a DTD, this should be the name immediately following the DOCTYPE keyword.
Specified by:
getName in interface DocumentType

getEntities

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.

Specified by:
getEntities in interface DocumentType

getNotations

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.
Specified by:
getNotations in interface DocumentType

setReadOnly

public void setReadOnly(boolean readOnly,
                        boolean deep)
NON-DOM: Subclassed to flip the entities' and notations' readonly switch as well.
Overrides:
setReadOnly in class NodeContainer
See Also:
NodeImpl.setReadOnly(boolean, boolean)

getElements

public NamedNodeMap getElements()
NON-DOM: Access the collection of ElementDefinitions.
See Also:
ElementDefinitionImpl


Copyright © 1999 Apache XML Project. All Rights Reserved.