Aller au contenu
uencoder

DTD

Une DTD (Document Type Definition) est le mécanisme de définition de structure de XML 1.0 ; plus simple que XSD mais limité, elle s'écrit dans une syntaxe spéciale (non XML).

Objectif

Fournir une validation structurelle de base pour XML, en définissant les éléments, attributs et hiérarchies autorisés.

Mécanisme

<!ELEMENT name (content)> déclare les éléments et leurs enfants, <!ATTLIST> les attributs, <!ENTITY> les entités. Pas de système de types (chaînes uniquement) ni d'espaces de noms. Avant HTML5, HTML utilisait une DTD.

Cas d’usage

  • DTD de HTML 4.01 / XHTML 1.0
  • Validation de documents XML hérités
  • DTD de SVG 1.1
  • Exemples pédagogiques

Exemples

  • entrée
    <!ELEMENT name (#PCDATA)>
    Output
    The name element contains text only

    Element declaration

Erreurs courantes

A DTD cannot express modern constraints (types, namespaces)
Migrate to XSD or JSON Schema

Termes associés

References