Un documento XML con la sintaxis correcta se denomina "Well Formed" .
Un documento XML validado con una DTD es a la vez "Well Formed" y "Valid" .
Los documentos XML válidos
Un "Valid" documento XML es un "Well Formed" documento XML, que también se ajusta a las reglas de un DTD:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
La declaración DOCTYPE, en el ejemplo anterior, es una referencia a un archivo DTD externo. El contenido del archivo se muestra en el siguiente párrafo.
DTD XML
El propósito de una DTD es definir la estructura de un documento XML. Define la estructura con una lista de elementos jurídicos:
<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
El DTD anterior se interpreta así:
- ! DOCTYPE nota define que el elemento raíz del documento es la nota
- ! ELEMENT nota define que el elemento nota debe contener los elementos: "to, from, heading, body"
- ! ELEMENT define el elemento a ser de tipo "#PCDATA"
- ! ELEMENT partir define el de elemento a ser de tipo "#PCDATA"
- ! Título de elemento define el elemento de partida como de tipo "#PCDATA"
- ! ELEMENT cuerpo define el elemento del cuerpo como de tipo "#PCDATA"
#PCDATA Significa que los datos de texto de análisis sintáctico-poder.
El uso de DTD para declaración de entidad
Una declaración DOCTYPE también se puede utilizar para definir caracteres especiales y cadenas de caracteres, que se utilizan en el documento:
Ejemplo
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [
<!ENTITY nbsp
" ">
<!ENTITY writer "Writer: Donald Duck.">
<!ENTITY copyright "Copyright: w3ii.">
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
<footer>&writer; ©right;</footer>
</note>
Inténtalo tú mismo " Una entidad tiene tres partes: un ampersand (&) , un nombre de entidad, y un punto y coma (;) .
Cuándo utilizar un DTD / esquema?
Con una DTD, grupos independientes de la gente puede estar de acuerdo en utilizar una DTD estándar para el intercambio de datos.
Con una DTD, puede verificar que los datos que recibe del mundo exterior es válida.
También puede utilizar una DTD para verificar sus propios datos.
Si quieres estudiar DTD, por favor lea nuestra Tutorial DTD .
Cuándo no utilizar un DTD / esquema?
XML no requiere una DTD / esquema.
Cuando usted está experimentando con XML, o cuando se está trabajando con un pequeño archivo XML, creando DTD puede ser una pérdida de tiempo.
Si desarrolla aplicaciones, espere hasta que la especificación es estable antes de agregar una definición de documento. De lo contrario, el software puede dejar de funcionar debido a errores de validación.