3. PREFACIO A LA PRIMERA EDICIÓN
Documento explicativo de las funciones del DTD, creado por Johnny de Jesús Hernández Racero.
Esta obra no pretende de ningún motivo, ser una guía exhaustiva y sin ningún tipo de error. Por lo tanto el autor se reserva
el derecho de ser informado de cualquier fallo o falencia en la obra actual.
Se permita a cualquier otro individuo ya sea natural o jurídica, a hacer cualquier aporte a la obra, sin desmeritar al autor
original de la misma o a sus derechos sobre esta.
Cualquier cambio en el título de la obra no será permitido, puesto que este es la explicación misma del documento.
Favor informar a: johnnnyhernandez@yahoo.com
Para cualquier sugerencia de cambio y autorización de inclusión de un segundo autor de la misma.
4. DOCUMENTTYPE DEFINITION
Document type Defintion (Definición de tipo de documento)
Es un conjunto de reglas básicas que debe cumplir un documento específico, al cual se vincula
directa o indirectamente a un documento, para ser observado por este tipo de reglas. Es decir, el
DTD regula que las reglas impartidas en él, se cumplan; de lo contrario, marcará que el
documento es invalido.
5. SINTAXIS
DTD solo pese ELEMENT y ATTLIST, usados en etiquetas y atributos.
Al DTD no le importa el tipo de datos, puesto que a todos los considera tipo Strings.
Sin embargo, también necesita que se especifique ciertas normas a seguir en el documento; dentro
de los ELEMENTS asignamos los nombres de los nodos, a continuación si tienen otros nodos o no, si
tienen datos o no, y por últimos, las veces que queremos que aparezca ese nodo.
7. EXPLICACIÓN
El documento XML es analizado por el documento DTD, mediante las instrucción <!DOCTYPE
seguido del nombre del nodo padre, a continuación se describe la ubicación del archivo. Sí este
archivo se encuentra en nuestra PC, se escribe la palabra SYSTEM y se le asigna la dirección en el
equipo encerrada entre comillas.
8. <!DOCTYPE >
Supongamos que tengo mi archivo XML y DTD en Documentos, en una carpeta llamada dtd, Ejemplo:
<!DOCTYPE nombreNodoPadre SYSTEM “./dtd/documento.dtd”>
De esta manera le hago saber al documento XML dónde se encuentra el documento DTD, dentro del equipo.
Si el documento se encuentra en una dirección web, es decir, fuera del equipo, se utiliza la palabra reservada
PUBLIC, ejemplo:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4,01//EN" "http://www.w3.org/TR/html4/strict.dtd">
De esta manera, el documento, al ser verificado se analizará con el documento online, en caso de tener
conexión al internet, de lo contrario, no se validará el documento.
9. <!ELEMENT>
<!ELEMENT nombreNodo (nodoHijo, nodoHijoN, …)Cuantificador>
Si tiene datos, usamos la palabra reservada (#PCDATA) entre paréntesis.
Sino tiene datos, usamos la palabra reservada EMPTY sin paréntesis.
<!ELEMENT nombreNodo (#PCDATA)Parámetro>
<!ELEMENT nombreNodo EMPTY Parámetro>
10. CUANTIFICADORES
Este cuantificador nos indicas cuantas veces aparecerá nuestro nodo en el documento, sus valores
son:
?: indica que nuestro nodo aparecerá una vez o ninguna (0 | 1).
+: indica que nuestro nodo aparecerá una o más veces (1 | n).
*: indica que nuestro nodo aparecerá cero o más veces (0 | n).
Si no especificamos ningún valor como parámetro, el nodo debe aparecer una sola vez, Ejemplo:
<!ELEMENT nombreNodo (#PCDATA)> Debe aparecer una sola vez y sólo una vez.
<!ELEMENT nombreNodo+ EMPTY> Debe aparecer una o más veces.
<!ELEMENT nombreNodo? (PCDATA)> Puede aparecer cero o una sola vez.
<!ELEMENT nombreNodo* EMPTY> Puede aparecer cero o más veces.
11. <!ATTLIST>
Los atributos que poseen nuestras etiquetas, también deben ser declarados en documento.dtd, de
esta manera.
<!ATTLIST nombreNodo atributo CDATA indicador>
Dónde indicador puede ser:
#ANY Admite cualquier tipo de datos.
#REQUIRED El atributo es obligatorio.
#FIX El atributo que se le asigna al nodo es el único valor de ese atributo.
#DEFAULT Se le asigna un valor por defecto en caso de que no se le asigne nada.