La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

DOCUMENT TYPE DEFINITION DTD

Presentaciones similares


Presentación del tema: "DOCUMENT TYPE DEFINITION DTD"— Transcripción de la presentación:

1 DOCUMENT TYPE DEFINITION DTD
Conceptos básicos

2 Ingenieria de software 3 Ing. Wilson Ortega
Un documento XML válido es un objeto de texto que, además de ser un documento XML bien formado, sigue las reglas de una DTD específica Ingenieria de software Ing. Wilson Ortega

3 ¿Que es una DTD? Una DTD (Document Type Definition) es un conjunto de reglas para definir un documento XML y etiquetarlo adecuadamente. En una DTD definimos los "componentes" de un documento XML y cómo se relacionan y estructuran. Cada declaración empieza con la cadena "<!" y termina con la cadena "mayor que" ">". A continuación del símbolo de admiración viene una de las palabras reservadas del XML para especificar el tipo de objeto que se quiere definir, seguido del nombre del objeto declarado y los parámetros asociados. <!objeto_declarado nombre_de_objeto parametros_asociados> Ingenieria de software Ing. Wilson Ortega

4 Ingenieria de software 3 Ing. Wilson Ortega
¿Que es una DTD? El XML soporta cinco tipos de declaraciones: DOCTYPE ELEMENT ATTLIST ENTITY NOTATION Ingenieria de software Ing. Wilson Ortega

5 Ingenieria de software 3 Ing. Wilson Ortega
Estructura de la DTD Ejemplo de declaraciones de una DTD <!ELEMENT body (encabezado | parrafo)*> <!ELEMENT encabezado (#PCDATA)> <!ELEMENT parrafo (#PCDATA|negrita)*> <!ELEMENT negrita (#PCDATA)> Ingenieria de software Ing. Wilson Ortega

6 Ingenieria de software 3 Ing. Wilson Ortega
Declaración de la DTD Las declaraciones que forman la DTD pueden estar definidas en los siguientes lugares: Dentro del propio documento XML. En algún fichero externo que luego referenciamos desde el documento XML. Esto no significa que se tengan que definir en su totalidad en alguno de estos lugares Ingenieria de software Ing. Wilson Ortega

7 Ingenieria de software 3 Ing. Wilson Ortega
Declaración de la DTD La declaración de una DTD empieza con la declaración DOCTYPE seguida del nombre de un elemento, que debe corresponder con el que definamos en la DTD, como el elemento raíz. En el ejemplo seria: <!DOCTYPE html .... Lo que va en seguida depende si la DTD es interna, externa o mixta. Ingenieria de software Ing. Wilson Ortega

8 Declaración de la DTD interna
Ejemplo de una DTD interna: <?xml version="1.0"?> <!DOCTYPE html [ <!ELEMENT body (encabezado | parrafo)*> <!ELEMENT encabezado (#PCDATA)> <!ELEMENT parrafo (#PCDATA|negrita)*> <!ELEMENT negrita (#PCDATA)> ] > <html> </html> Ingenieria de software Ing. Wilson Ortega

9 Declaración de la DTD externa
En este caso, el conjunto de las declaraciones DTD irán en un archivo externo, por lo que a la declaración DOCTYPE hay que indicarle de alguna manera donde se encuentra este archivo. Esto se realiza añadiendo a la expresión inicial las palabras clave SYSTEM o PUBLIC. Suponiendo que las declaraciones de la DTD están en un archivo html.dtd que se encuentra en el mismo directorio que el archivo XML, la declaración tendría el siguiente aspecto: <!DOCTYPE html SYSTEM "html.dtd"> <html> .... </html> Ingenieria de software Ing. Wilson Ortega

10 Declaración de la DTD externa
En el caso de utilizar PUBLIC estaremos indicando que, además del identificador de sistema, identificamos la DTD con un identificador público (unívoco). ¿Cómo es la declaración en este caso y cómo funciona? Como se declara una DTD mixta (declaraciones internas y externas)? Ingenieria de software Ing. Wilson Ortega

11 Definición de los elementos
Esto lo realizamos mediante la declaración ELEMENT cuya sintaxis es la siguiente: <!ELEMENT nombre_elemento (especificación del contenido)> Opciones para la especificación del contenido Que no tenga contenido. Que esté formado sólo por texto. Que esté formado únicamente por elementos. Que tenga un contenido mixto de texto y elementos. Ingenieria de software Ing. Wilson Ortega

12 Elementos sin contenido
Esto se determina colocando la palabra clave EMPTY en la declaración del contenido. Son elementos que no tienen contenido y su valor suele estar determinado por los atributos. Si en el ejemplo queremos usar una etiqueta para imágenes: <!ELEMENT html (encabezado | parrafo | imagen)*> .... <!ELEMENT imagen EMPTY> Luego en el XML lo tendremos que escribir de la siguiente manera: <imagen ...atributos... /> Ingenieria de software Ing. Wilson Ortega

13 Contenido formado sólo por texto
Esto lo conseguimos colocando la palabra clave #PCDATA en la espeficicación del contenido. De esta manera estamos indicando que dentro de ese elemento no puede haber ningún otro elemento y que, por tanto, sólo nos encontraremos texto. En el ejemplo es el caso del elemento negrita. <!ELEMENT negrita (#PCDATA)> Ingenieria de software Ing. Wilson Ortega

14 Contenido formado sólo por elementos
En este caso en la especificación del contenido sólo se deben indicar los nombres (identificadores genéricos) de otros elementos. Posiblemente éstos estén relacionados mediante los indicadores de aparición y conectores de grupo que se explican más adelante. En el ejemplo: <!ELEMENT html (encabezado | parrafo | imagen)*> Ingenieria de software Ing. Wilson Ortega

15 <!ELEMENT parrafo (#PCDATA|negrita)*>
Contenido mixto También es posible combinar los dos últimos casos y declarar la especificación de contenido, de manera que un elemento tenga texto y otros elementos. En el ejemplo es el caso del elemento párrafo, que puede estar formado de texto y de elementos negrita. <!ELEMENT parrafo (#PCDATA|negrita)*> Ingenieria de software Ing. Wilson Ortega

16 Ingenieria de software 3 Ing. Wilson Ortega
Conectores de grupo En el XML hay dos posibles conectores de grupo: , indica que los componentes deben aparecer en ese orden. | indica que sólo uno de los componentes puede aparecer. Ingenieria de software Ing. Wilson Ortega

17 Indicadores de aparición
Se utilizan para indicar cuántas veces puede aparecer el elemento referenciado en el modelo de contenido. Hay tres indicadores de aparición: + Indica que puede haber una o más apariciones del elemento. ? Indica que puede haber a lo más una o ninguna aparición del elemento. * Indica que el elemento puede estar ausente, una o más veces. Ingenieria de software Ing. Wilson Ortega

18 Declaración de atributos
Se realiza mediante el término ATTLIST, que en el comienzo de una declaración indica que es una especificación de una lista de atributos. <!ATTLIST nombre_elemento nombre_atributo tipo valor_defecto> Ejemplo: <!ATTLIST imagen direccion CDATA #REQUIRED alineacion (izquierda, centrada, derecha) "izquierda"> #REQUIRED -> obligatorio #IMPLIED -> opcional Ingenieria de software Ing. Wilson Ortega

19 Ingenieria de software 3 Ing. Wilson Ortega
Tipos de atributos CDATA NMTOKEN NMTOKENS ENUMERADOS NOTATION ID IDREF IDREFS ENTITY ENTITYS En teoría las posibilidades son muchas, aunque luego en la práctica los más utilizados son los CDATA y el ID. Ingenieria de software Ing. Wilson Ortega

20 Ingenieria de software 3 Ing. Wilson Ortega
Ejercicio: Escriba una DTD para: Una hoja de vida Una Revista Ingenieria de software Ing. Wilson Ortega


Descargar ppt "DOCUMENT TYPE DEFINITION DTD"

Presentaciones similares


Anuncios Google