Impresiones web superior

domingo, 12 de agosto de 2012

DTD (DOCUMENT TYPE DEFINITIONS) III

XML válido

Los ficheros XML válidos son aquellos que tienen DTDs como el resto de las otras aplicaciones SGML. También deben estar bien-formados. Un fichero válido comienza como cualquier otro fichero SGML, con una Declaración de Tipo de Documento, una puede tener una declaración XML opcional:

<?xml version="1.0"?>

<!DOCTYPE anuncio SYSTEM "http://www.foo.org/ad.dtd">

<libro>

<titulo>...<imagen/>...</titulo>

<texto>...</texto>

</libro>

La Especificación XML define una Declaración SGML para XML que está fijada para todas las instancias (la declaración ha sido eliminada del texto de la especificación y ahora está en un documento aparte). Debe ser accesible una Versión XML de la DTD especificada para el procesador XML, bien localmente (ej. teniendo una copia en disco), o descargándola de la red. Esto puede especificarse mediante el URL para la DTD en un Identificador de Sistema (como en el ejemplo arriba). Es posible (algunos dirían preferible) proporcionar un Identificador Público Formal, pero si se utiliza, éste debe preceder al Identificador de Sistema, que debe ser dado (y sólo se utiliza la palabra clave PUBLIC), ej:

<!DOCTYPE anuncio PUBLIC "-//Foo, Inc//DTD Anuncios//ES"

"http://www.foo.org/ad.dtd">

ó

<!DOCTYPE anuncio SYSTEM "http://www.foo.org/ad.dtd">

Los valores por defecto para el resto de los atributos de la Declaración XML son VERSION="1.0" y ENCODING="UTF-8".

La DTD puede residir en un fichero externo, y quizá compartido por varios (puede que miles) de documentos. O bien, puede estar contenida en el propio documento XML, como parte de su declaración de tipo de documento.

Veamos un ejemplo:

<!DOCTYPE etiqueta[

<!ELEMENT etiqueta (nombre, calle, ciudad, pais, codigo)>

<!ELEMENT nombre (#PCDATA)>

<!ELEMENT calle (#PCDATA)>

<!ELEMENT ciudad (#PCDATA)>

<!ELEMENT pais (#PCDATA)>

<!ELEMENT codigo (#PCDATA)>

]>

<etiqueta>

<nombre>Pepe García</nombre>

<calle>C/Ronda, 3</calle>

<ciudad>Armilla</ciudad>

<pais>España</pais>

<codigo>18465</codigo>

</etiqueta>

La declaración del tipo de documento comienza en la primera línea y termina con "]>". Las declaraciones DTD son las líneas que empiezan con "<!ELEMENT" y se denominan declaraciones de tipo elemento. También se pueden declarar atributos, entidades y anotaciones para una DTD.

En el ejemplo anterior, todas las declaraciones DTD que definen "etiqueta" residen dentro del documento. Sin embargo, la DTD se puede definir parcial o completamente en otro lugar. Por ejemplo:

<?xml version="1.0"?>

<!DOCTYPE coche SYSTEM "http://www.sitio.com/dtd/coche.dtd">

<coche>

<modelo>...</modelo>

...

</coche>

nos vemos en la parte 4

No hay comentarios:

Publicar un comentario