L'interface DocumentType représente une déclaration de type de document.

<!DOCTYPE racine SYSTEM "def.dtd">

La Définition de Type de Document définie la structure du document XML. Elle énumère les éléments et attributs, les types de données de ces derniers, ainsi que des entités et des notations.

<!DOCTYPE organisation [
  <!ENTITY un "Nations Unies">
  <!ENTITY onu "Organisation des &un;">
  <!ENTITY us "Etats-Unis D'Amérique">
  <!ENTITY ru "Russie">
  <!ENTITY chi "Chine">
  <!ENTITY gb "Grande Bretagne">
  <!ENTITY fr "France">
  <!ENTITY sgm "Seconde Guerre Mondiale">
  <!ENTITY ny "New York">
  <!ENTITY ya "Yalta">
  <!ENTITY sf "San Francisco">
  <!NOTATION avi SYSTEM "video/avi">
  <!ENTITY vacance SYSTEM "presentation.avi" NDATA avi>
  
  <!ELEMENT description (#PCDATA)>
  <!ATTLIST description
  <!ATTLIST description video ENTITY #REQUIRED>
  <!ELEMENT fondation (#PCDATA)>
  <!ELEMENT membres EMPTY>
  <!ATTLIST membres
              annee CDATA #REQUIRED
              nombre CDATA #REQUIRED
  >
  <!ELEMENT nom (#PCDATA)>
  <!ELEMENT organisation (nom, fondation, membres, description)>
]>

Les entités et les notations déclarées dans la DTD sont disponibles à partir des méthodes getEntities() et getNotations de l'objet DocumentType. Ces méthodes retournent des objets NamedNodeMap composés de paires nom d'une entité ou d'une notation et un objet Entity ou Notation.

Les sous-ensembles, interne et externe, désignent les différentes parties d'une déclaration de type de document, soit respectivement :

  • le bloc contenant la définition des éléments, attributs, entités et notations, à l'intérieur de la déclaration DOCTYPE,
  • la DTD identifié par les identificateurs PUBLIC ou SYSTEM.

L'interface DocumentType étend l'interface Node. Ainsi, les champs et méthodes de l'interface Node sont tous disponibles à partir d'un déclaration de type de document.

Champ
Description
Les champs hérités de l'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
Méthode
Description
NamedNodeMap getEntities()
retourne une collection NamedNodeMap contenant les entités générales internes ou externes déclarées dans la DTD.
String getInternalSubset()
retourne le sous-ensemble interne sous la forme d'une chaîne de caractères.
String getName()
retourne le nom de la DTD, soit celui de l'élément racine.
NamedNodeMap getNotations()
retourne une collection NamedNodeMap contenant les notations déclarées dans la DTD.
String getPublicId()
retourne l'identificateur public du sous-ensemble externe.
String getSystemId()
retourne l'identificateur système du sous-ensemble externe.
Les méthodes héritées de l'interface org.w3c.dom.Node
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI,
getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName,
getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue,
getOwnerDocument, getParentNode, getPrefix, getPreviousSibling,
getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore,
isDefaultNamespace, isEqualNode, isSameNode, isSupported,
lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild,
setNodeValue, setPrefix, setTextContent, setUserData