Primera Semana

Declaración de Tipos de Documento

DTD, DOCTYPE y declaración Standalone en XML

Declaración de Tipos de Documento (DTD)

Un DTD (Document Type Definition) es un conjunto de reglas que define la estructura y elementos válidos de un documento XML. Proporciona una gramática para una clase de documentos XML, especificando:

  • Qué elementos pueden aparecer en el documento
  • Qué atributos pueden tener estos elementos
  • Cómo se pueden anidar los elementos
  • El orden de los elementos
  • Si un elemento puede estar vacío

Declaración DOCTYPE

La declaración DOCTYPE se utiliza para asociar un documento XML con su DTD. La sintaxis básica es:

<!DOCTYPE nombre_raíz TIPO "URI_DTD">

Componentes:

  • nombre_raíz: Debe coincidir con el elemento raíz del documento XML
  • TIPO: Puede ser PUBLIC o SYSTEM
  • URI_DTD: Ubicación del DTD

Ejemplo de DOCTYPE

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
PUBLIC

Utiliza un identificador público y opcionalmente una URL para localizar el DTD.

<!DOCTYPE nombre_raíz PUBLIC "ID-Público" "URI-DTD">
SYSTEM

Utiliza solo una URL para localizar el DTD.

<!DOCTYPE nombre_raíz SYSTEM "URI-DTD">

Declaración Standalone

La declaración Standalone en XML indica si el documento depende de información externa (como un DTD) para ser procesado correctamente.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE s1 PUBLIC "http://www.ibm.com/example.dtd" "example.dtd">
Valor Significado
yes El documento es independiente, no necesita referencias externas
no El documento depende de una DTD u otra información externa

Implicaciones de la declaración standalone

standalone="yes"

Indica que no hay definiciones externas que afecten al contenido del documento. El procesador no necesita leer ningún archivo externo para interpretar correctamente el documento.

standalone="no"

Indica que hay definiciones externas (como DTDs) que afectan al contenido y el procesador debe leerlas para interpretar correctamente el documento.

Nota: Si se omite la declaración standalone, se asume por defecto "no".

Importancia de los DTDs

Los DTDs proporcionan un mecanismo para validar documentos XML, asegurando que siguen una estructura específica. Esto es crucial para:

Integridad de datos

Garantiza que los documentos siguen la estructura definida

Interoperabilidad

Facilita el intercambio de información entre sistemas

⚙️

Estandarización

Establece un estándar para un tipo específico de documento