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> |
<!DOCTYPE anuncio PUBLIC "-//Foo, Inc//DTD Anuncios//ES" "http://www.foo.org/ad.dtd"> ó <!DOCTYPE anuncio SYSTEM "http://www.foo.org/ad.dtd"> |
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> |
No hay comentarios:
Publicar un comentario