# Xerces2 Implementation: Class DeferredDocumentTypeImpl

## org.apache.xerces.dom
Class DeferredDocumentTypeImpl

    java.lang.Object
      |
      +--org.apache.xerces.dom.NodeImpl
            |
            +--org.apache.xerces.dom.ChildNode
                  |
                  +--org.apache.xerces.dom.ParentNode
                        |
                        +--org.apache.xerces.dom.DocumentTypeImpl
                              |
                              +--org.apache.xerces.dom.DeferredDocumentTypeImpl

All Implemented Interfaces:
  java.lang.Cloneable, DeferredNode, org.w3c.dom.DocumentType, org.w3c.dom.events.EventTarget, org.w3c.dom.Node, org.w3c.dom.NodeList, java.io.Serializable

public class DeferredDocumentTypeImpl
extends DocumentTypeImpl
implements DeferredNode

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:
  $Id: DeferredDocumentTypeImpl.java,v 1.16 2002/01/29 01:15:07 lehors Exp $
See Also:
  Serialized Form

Field Summary
`protected int` `fNodeIndex` Node index.

Fields inherited from class org.apache.xerces.dom.DocumentTypeImpl
`elements, entities, internalSubset, name, notations, publicID, systemID`

Fields inherited from class org.apache.xerces.dom.ParentNode
`firstChild, fNodeListCache, ownerDocument`

Fields inherited from class org.apache.xerces.dom.ChildNode
`nextSibling, previousSibling`

Fields inherited from class org.apache.xerces.dom.NodeImpl

`DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_IS_CONTAINED, DOCUMENT_POSITION_PRECEDING, ELEMENT_DEFINITION_NODE, FIRSTCHILD, flags, HASSTRING, ID, IGNORABLEWS, NORMALIZED, OWNED, ownerNode, READONLY, SPECIFIED, SYNCCHILDREN, SYNCDATA, TREE_POSITION_ANCESTOR, TREE_POSITION_DESCENDANT, TREE_POSITION_DISCONNECTED, TREE_POSITION_EQUIVALENT, TREE_POSITION_FOLLOWING, TREE_POSITION_PRECEDING, TREE_POSITION_SAME_NODE`

Fields inherited from interface org.apache.xerces.dom.DeferredNode
`TYPE_NODE`

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`

Method Summary
`int` `getNodeIndex()` Returns the node index.
`protected void` `synchronizeChildren()` Synchronizes the entities, notations, and elements.
`protected void` `synchronizeData()` Synchronizes the data (name and value) for fast nodes.

Methods inherited from class org.apache.xerces.dom.DocumentTypeImpl
`cloneNode, getElements, getEntities, getInternalSubset, getName, getNodeName, getNodeNumber, getNodeType, getNotations, getPublicId, getSystemId, getTextContent, isEqualNode, setInternalSubset, setReadOnly, setTextContent`

Methods inherited from class org.apache.xerces.dom.ParentNode
`getChildNodes, getChildNodesUnoptimized, getFirstChild, getLastChild, getLength, getOwnerDocument, hasChildNodes, insertBefore, item, normalize, removeChild, replaceChild`

Methods inherited from class org.apache.xerces.dom.ChildNode
`getNextSibling, getParentNode, getPreviousSibling`

Methods inherited from class org.apache.xerces.dom.NodeImpl

`addEventListener, appendChild, changed, changes, compareDocumentPosition, compareTreePosition, dispatchEvent, getAttributes, getBaseURI, getContainer, getFeature, getLocalName, getNamespaceURI, getNodeValue, getPrefix, getReadOnly, getUserData, getUserData, hasAttributes, isDefaultNamespace, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, needsSyncChildren, removeEventListener, setNodeValue, setPrefix, setUserData, setUserData, toString`

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, getAttributes, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, hasAttributes, hasChildNodes, insertBefore, isSupported, normalize, removeChild, replaceChild, setNodeValue, setPrefix`

Field Detail

### fNodeIndex

    protected transient int fNodeIndex

  Node index.

Method Detail

### getNodeIndex

    public int getNodeIndex()

  Returns the node index.
  Specified by:
    `getNodeIndex` in interface `DeferredNode`

### synchronizeData

    protected void synchronizeData()

  Synchronizes the data (name and value) for fast nodes.
  Overrides:
    `synchronizeData` in class `NodeImpl`

### synchronizeChildren

    protected void synchronizeChildren()

  Synchronizes the entities, notations, and elements.
  Overrides:
    `synchronizeChildren` in class `ParentNode`

Copyright © 1999-2004 Apache XML Project. All Rights Reserved.