Partager via


Déclaration DOCTYPE

La déclaration DOCTYPE fournit un espace permettant d'identifier l'élément racine et la définition de type de document (DTD) d'un document par référence à un fichier externe et/ou par des déclarations directes.

Une déclaration DOCTYPE peut contenir :

  • Le nom du document ou de l'élément racine

    C'est obligatoire en cas d'utilisation de la déclaration DOCTYPE.

  • Des identificateurs système et publics de la DTD qui peut être utilisée pour valider la structure du document

    En cas d'utilisation d'un identificateur public, un identificateur système doit également être présent.

  • Un sous-ensemble interne de déclarations DTD

    Ce sous-ensemble interne s'affiche entre des crochets ([ ]).

Une déclaration DOCTYPE est obligatoire si le document doit être traité dans un environnement de validation. Pour être valide, la déclaration DOCTYPE doit identifier une DTD qui correspond à la structure du document. Les analyseurs sans validation acceptent des documents sans déclarations DOCTYPE.

La déclaration DOCTYPE la plus simple n'identifie que l'élément racine du document.

<!DOCTYPE rootElement>

Plus souvent, les documents qui utilisent la déclaration DOCTYPE font référence à un document externe contenant les déclarations qui composent la DTD. La DTD externe peut être identifiée des façons suivantes.

<!DOCTYPE rootElement SYSTEM "URIreference">

Le paramètre URIreference pointe vers un fichier contenant les déclarations.

<!DOCTYPE rootElement PUBLIC "PublicIdentifier" "URIreference">

Le paramètre PublicIdentifier fournit un identificateur distinct que certains analyseurs XML peuvent utiliser pour faire référence à la DTD au lieu de URIreference. Ceci s'avère utile en cas d'exécution de l'analyseur sur un système qui ne dispose pas d'une connexion réseau ou dont le traitement serait sensiblement ralenti par cette connexion.

Les déclarations DOCTYPE peuvent également inclure directement des déclarations dans ce qui s'appelle le sous-ensemble interne. Si une déclaration DOCTYPE inclut directement toute la DTD, sans référence à des fichiers externes, elle utilise la syntaxe suivante.

<!DOCTYPE rootElement [
declarations
]>

Si la déclaration DOCTYPE inclut des déclarations qui doivent être combinées à des fichiers externes ou au sous-ensemble externe, elle utilise la syntaxe suivante.

<!DOCTYPE rootElement SYSTEM "URIreference"[
declarations
]>

ou

<!DOCTYPE rootElement PUBLIC "PublicIdentifier" "URIreference"[
declarations
]>