Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/09/2006, 18:22
Avatar de jahepi
jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 20 años, 2 meses
Puntos: 43
Hola limboings!

Un DTD o Doument Type Definition es un documento donde vienen todas la reglas de como debe ir bien formado un archivo xhtml, xml, etc...

Por ejemplo tienes un documento XML así:

Código:
<root>

<node1 id="1">Dato1</node1>
<node2 id="2">Dato2</node2>
<node3 id="3">Dato3</node3>

</root>
En tu documento DTD irían todas las reglas:

Código:
<! ELEMENT root (node1,node2,node3) >
<! ELEMENT node1 (#PCDATA) >
<! ELEMENT node2 (#PCDATA) >
<! ELEMENT node3 (#PCDATA) >
<! ATTLIST node1 id CDATA #REQUIRED >
<! ATTLIST node2 id CDATA #REQUIRED >
<! ATTLIST node3 id CDATA #REQUIRED >
Aquí le decimos que nuestro nodo raiz debe de llamarse root y entre paréntesis los nodos hijos que va a tener:

Código:
<! ELEMENT root (node1,node2,node3) >
ELEMENT nos dice que va a tener el documento una etiqueta node1, #PCDATA le dice al parser que va a contener caracteres en dicha etiqueta.

Código:
<! ELEMENT node1 (#PCDATA) >
ATTLIST indica el nombre del atributo que debe de llevar el nodo espedificado, #REQUIRED señala que debe aparecer ese atributo forzosamente cada vez que aparezca el nodo que se indica en ATTLIST y CDATA le dice al parser que van a ser caracteres lo que va a ir dentro del atributo.

Código:
<! ATTLIST node1 id CDATA #REQUIRED >

Hay todavía muchas cosas por ver en relación a los DTD´s, que ahora pueden pasar a la historia y ser sustituidos por los XML SCHEMA, pero eso es otro rollo

Un saludo!