Saltar al contenido
uencoder

DTD

Un DTD (Document Type Definition) es el mecanismo de definición de estructura de XML 1.0; es más simple que XSD pero limitado, y se escribe en una sintaxis especial (no XML).

Propósito

Proporcionar validación estructural básica para XML, definiendo los elementos, atributos y jerarquía permitidos.

Mecanismo

<!ELEMENT name (content)> declara elementos e hijos, <!ATTLIST> declara atributos y <!ENTITY> entidades. No hay sistema de tipos (solo cadenas) ni espacios de nombres. Antes de HTML5, HTML usaba un DTD.

Casos de uso

  • DTD de HTML 4.01 / XHTML 1.0
  • Validación de documentos XML heredados
  • DTD de SVG 1.1
  • Ejemplos didácticos

Ejemplos

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

    Element declaration

Errores comunes

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

Términos relacionados

References