1 / 20

DOCUMENT TYPE DEFINITION DTD

DOCUMENT TYPE DEFINITION DTD. Conceptos básicos. 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. ¿Que es una DTD?.

adler
Download Presentation

DOCUMENT TYPE DEFINITION DTD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DOCUMENT TYPE DEFINITIONDTD Conceptos básicos

  2. 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 3 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 3 Ing. Wilson Ortega

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

  5. 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 3 Ing. Wilson Ortega

  6. 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 3 Ing. Wilson Ortega

  7. 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 3 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 3 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 3 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 3 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 3 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 3 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 3 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 3 Ing. Wilson Ortega

  15. 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 3 Ing. Wilson Ortega

  16. 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 3 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 3 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 3 Ing. Wilson Ortega

  19. 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 3 Ing. Wilson Ortega

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

More Related