Declaración del tipo de documento
La declaración del tipo de documento (DOCTYPE) en XML se utiliza para:
- Especificar el tipo de documento XML.
- Indicar la ubicación de la definición de tipo de documento (DTD).
La declaración DOCTYPE es opcional, pero es recomendable incluirla en los documentos XML para garantizar que el documento sea válido y para proporcionar información sobre el tipo de documento a los procesadores de XML.
Una declaración del tipo de documento es la siguiente:
<!DOCTYPE libro>
La declaración anterior está incompleta, ya que solo especifica el tipo de documento. Para que el DOCTYPE esté completo, se debe incluir la definición del tipo de documento.
La definición del tipo de documento viene definida en un documento DTD. Este documento puede estar definido de dos formas:
- En un estándar público. Por ejemplo, en estándares con HTML o SVG.
- Localmente.
Un documento DTD permite, entre otros aspectos, definir:
- Los tipos de los elementos y atributos que se pueden utilizar en el documento XML.
- Las restricciones del documento.
- Los valores por defecto.
Estas características hacen que los DTD permitan validar un documento XML. Aunque en este apartado no se pretende conocer este tipo de documentos en detalle, sí se debe saber que contiene una serie de reglas que definen cómo debe ser el ejemplar del documento XML.
Definición pública
Cuando un DTD está definido en un estándar público, se utiliza un DOCTYPE como el siguiente:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "https://www.w3.org/TR/html4/strict.dtd">
A continuación del del tipo de documento (html
), se define:
- La palabra
PUBLIC
. - Un identificador público formal o FPI (Formal Public Identifier).
- Opcionalmente, la ubicación del fichero DTD.
La información que podemos obtener del DOCTYPE anterior es la siguiente:
Elemento | Valor |
---|---|
Tipo de documento | html |
Ámbito | PUBLIC |
Identificador | -//W3C//DTD HTML 4.01//EN |
Documento DTD | https://www.w3.org/TR/html4/strict.dtd |
En este DOCTYPE se hace referencia a un fichero strict.dtd
, el cual guarda las reglas de cómo se debe estructurar el documento HTML. Un documento HTML no deja de ser un XML con una serie de restricciones, las cuales se definen en el fichero DTD.
Definición local
Cuando un DTD no está definido en un estándar público, se utiliza un DOCTYPE como el siguiente:
<!DOCTYPE libro SYSTEM "libro.dtd">
Es el tipo de definición que se utilizará en esta unidad.
A continuación del del tipo de documento (libro
), se define:
- La palabra
SYSTEM
. - La ubicación del fichero DTD. Este fichero debe existir para que el documento XML se pueda procesar correctamente.
La información que podemos obtener del DOCTYPE anterior es la siguiente:
Elemento | Valor |
---|---|
Tipo de documento | libro |
Ámbito | SYSTEM |
Documento DTD | libro.dtd |
Al igual que en el caos de la definición pública, en el DOCTYPE se hace referencia a un fichero DTD. En este caso, libro.dtd
, el cual se debe ser un fichero definido en el sistema de ficheros.