Ejercicio DTD
Enviado por MichaelMic • 13 de Febrero de 2014 • 1.577 Palabras (7 Páginas) • 209 Visitas
DTD
1. Introducción
El objetivo de una DTD (Document Type Definition) es definir los bloques de construcción de un documento XML.
Un DTD define la estructura del documento con una lista de elementos y atributos legales.
2. Declaración de un DTD
Un DTD puede ser declarado dentro de un documento XML o como referencia externa.
• Declaración interna de un DTD
Si el DTD es declarado dentro del fichero XML debería estar dentro de una definición DOCTYPE con la siguiente sintaxis:
<!DOCTYPE raiz [elementos]>
Un ejemplo de un XML con su DTD incluído:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mensaje [
<!ELEMENT mensaje (para, de, encabezado, cuerpo)>
<!ELEMENT para (#PCDATA)>
<!ELEMENT de (#PCDATA)>
<!ELEMENT encabezado (#PCDATA)>
<!ELEMENT cuerpo (#PCDATA)>
]>
<mensaje>
<para>Juan</para>
<de>Pablo</de>
<encabezado>Recordatorio</encabezado>
<cuerpo>¡No te olvides de llamarme este fin de semana!</body>
</mensaje>
Este DTD se interpreta así:
DOCTYPE mensaje, define el elemento raíz del documento.
ELEMENT mensaje, define uno de los elementos que contiene cuatro descendientes (para, de, encabezado y cuerpo).
ELEMENT para, define un elemento de tipo #PCDATA.
ELEMENT de, define un elemento de tipo #PCDATA.
ELEMENT encabezado, define un elemento de tipo #PCDATA.
ELEMENT cuerpo, define un elemento de tipo #PCDATA.
• Declaración externa de un DTD
Si el DTD es declarado en un fichero externo al fichero XML debería estar dentro de una definición DOCTYPE con la siguiente sintaxis:
<!DOCTYPE raiz SYSTEM “filename” [elementos]>
Un ejemplo de un XML con su DTD externo:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mensaje SYSTEM “mensaje.dtd”>
<mensaje>
<para>Juan</para>
<de>Pablo</de>
<encabezado>Recordatorio</encabezado>
<cuerpo>¡No te olvides de llamarme este fin de semana!</body>
</mensaje>
3. Los elementos de los documentos XML
Para construir un XML los elementos que se definen en su DTD son:
o Elementos.
o Atributos.
o Entidades.
o PDDATA.
o CDATA.
ELEMENTOS
Son los bloques principales de documentos HTML, por ejemplo “body” o “table” y para XML, por ejemplo “mensaje”.
ATRIBUTOS
Proporcionan información extra sobre los elementos y van al lado de éstos, por ejemplo:
<img src="computer.gif" />
ENTIDADES
Algunos caracteres tiene un significado especial en XML como los siguientes:
• < equivale al carácter <.
• > equivale al carácter >.
• & equivale al carácter &.
• " equivale al carácter “.
• ' equivale al carácer '.
• ñ equivale al carácter ñ.
PCDATA
Significa datos de carácter parseados encontrados entre las etiquetas de los elementos. Es texto que será parseado por un analizador de entidades y marcado.
Las etiquetas dentro del texto serán tratadas como marcado y las entidades serán expandidas.
CDATA
Significa datos de carácter encontrados entre las etiquetas de los elementos. Es texto que no debería ser parseado por un analizador de entidades y marcado.
Las etiquetas dentro del texto NO serán tratadas como marcado y las entidades serán expandidas.
4. Declarando elementos
Los elementos son declarados con:
<!ELEMENT nombre categoria>
o
<!ELEMENT nombre (contenido)>
• Elementos vacios
Son declarados con la palabra EMPTY:
<!ELEMENT nombre EMPTY>
• Elementos con PCDATA
Son declarados con #PCDATA entre paréntesis:
<!ELEMENT nombre (#PCDATA)>
• Elementos con cualquier contenido
Son declarados con la palabra ANY y puede contener cualquier combinación de datos:
<!ELEMENT nombre ANY>
• Elementos
...