2. DTD. (Document Type Definition)

Documentos relacionados
Validación de XML JUAN CARLOS CONDE RAMÍREZ WEB-TECHNOLOGIES

DOCUMENT TYPE DEFINITION (DTD)

DTD (Document Type Defini0on)

Tema IV. XML III. Document Type Definitions

X M L QUÉ ES XML. Un documento puede ser correcto a dos niveles bien formado y válido. DOCUMENTO BIEN FORMADO

LENGUAJE DE MARCAS Y SISTEMAS DE GESTIÓN DE LA INFORMACIÓN - XML

DTDs Declaraciones de tipo de documentos. Departamento de Informática Universidad de Oviedo

Documentación Electrónica

Unidad IV. Introducción a XML

Unidad 6: DTD. JJ Taboada León IES San Sebastián, Departamento de Informática LENGUAJE DE MARCAS Y SGI Curso 2011 / 2012

DTD (Document Type Definition ) y validación.

3.1 Tipos de DTDs. ! Si queremos validar un documento XML (para comprobar si cumple las normas de un dialecto) tendremos que validarlo contra el DTD.

XML básico. Fundamentos de la Web Semántica. Qué es XML? XML básico. Documento XML. Pablo R. Fillottrani. Entidades. Elementos y Atributos

Tecnología XML. Unidad: 3 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos

1. Introducción a los lenguajes de marcas

PREGUNTAS TIPO (EXAMEN DE OFIMÁTICA AVANZADA)

XML para FP : Introducción

Aparte de lo que había ido leyendo por Internet, la primera vez que pensé

XML Bien Formado. <nombre> José </nombre> y también puede ser un elemento el siguiente:

Validación de un XML

Tema 4 Metadatos. Eduardo Martínez Graciá Humberto Martínez Barberá

DTD - Ejercicio 1 - Elementos sin atributos - Corregir errores en los elementos

Documentos XML bien formados

Tipos de documentos XML

XML, Servicios Web y Web Semántica

ESOFT 3 Nice Screen Scraper: A simple scraper

XML. Programación en Internet Curso Contenidos

Capítulo 2. Introducción a XML

XML y Bases de datos Modelado de datos XML usando DTDs

XML Schema. Definición y validación

XML, parte 3. M. en C. Erika Vilches

INTRODUCCIÓN A XML EN CASTELLANO

XML. Historia [editar]

XML y JAVASCRIPT. Profesor: Antonio Otero Veiga

Introducción a XML WEB-SERVICES

Documento conocimientos básicos en XML Schema

UF2217 Lenguaje XML (Online)

Diseña tu propia web

Sistemas de Información 12/13 XML (extensible Mark-up Language)

2. Principales componentes de XML

Tema IV. XML II. XML Bien Formado

Ciclo Formativo de Grado Superior en Administración y de Sistemas Informáticos en Red. IES Valle del Cidacos Calahorra

Introducción a XML. Alberto Molina Coballes. Lenguajes de Marcas y Sistemas de Gestión de la Información

extensible Markup Language

Tema IV. XML IV. XML Schemas

Introducción a XML. Simon Pickin Ingeniería Telemática. Basado en una presentación de M. Carmen Fernández Panadero <mcfp@it.uc3m.

Tema 6: Clases. Índice

Fundamentos de las tecnologías de la información

Clases y Objetos en C++

LEÓN, 26 DE SEPTIEMBRE DEL 2005.

INTRODUCCIÓN AL XML. Antes de ser lanzado el XML, ya existían otros lenguajes de marcas, como por ejemplo el HTML,

XML (Extensible Markup Language)

CONSEJERIA DE AGRICULTURA Y MEDIO AMBIENTE SECRETARÍA GENERAL TÉCNICA. INFORMÁTICA Área de desarrollo ETER-VFU. Vehículos Fuera de Uso

2. Documentos PDF 1. Introducción 2. Componentes de un archivo PDF

Primeros pasos con XML y XSL Ricardo Borillo Domenech

CONCEPTOS BÁSICOS DE ARCHIVOS XML Y ESQUEMAS DE VALIDACIÓN XSD.

ESOFT 3 Nice Screen Scraper: Web service, Console client and Web client

XML, DTD y hojas de estilo

Características de JavaScript

1 Introducción a XML

2 Estructura de un Documento XML

Anexo I:Lineamientos de la Estructura de Metadatos

Practica 3 Continuación XML

Transcripción:

2. DTD (Document Type Definition)

Contenidos Validación y definición de documentos DTD: Document Type Definition Declaraciones de tipo Elemento Modelos de contenido Declaraciones de lista de Atributos Tipos de Atributos Declaración de Entidades

Document Type Definition (DTD) Es como definir nuestro propio lenguaje de marcado para una aplicación específica Define los tipos de elementos, atributos y entidades permitidas, y puede expresar algunas limitaciones para combinarlos Puede residir en un fichero externo y ser compartido por varios documentos XML. O bien puede estar contenido en el propio documento XML, como parte de su declaración de su prólogo. El documento XML que se ajusta a su DTD, se denomina valido bien-formado

Ejemplos de DTD <!DOCTYPE etiqueta [ <!ELEMENT etiqueta (nombre, calle, ciudad, pais, codigo)> <!ELEMENT nombre (#PCDATA)> <!ELEMENT calle (#PCDATA)> <!ELEMENT ciudad (#PCDATA)> <!ELEMENT pais (#PCDATA)> <!ELEMENT codigo (#PCDATA)> ]> <etiqueta> <nombre>topacio Jade</nombre> <calle>minas de Moria, 13</calle> <ciudad>azanulbizar</ciudad> <pais>khuzdul</pais> <codigo>78125</codigo> </etiqueta> <!DOCTYPE coche SYSTEM http://www.tecnun.es/coche.dtd > <coche> <modelo>...</modelo>... </coche>

Declaraciones de tipo Elemento Documento XML válido de acuerdo al DTD anterior <receta> Deben empezar con <!ELEMENT <titulo>arroz cocido</titulo> <ingredientes>arroz</ingredientes> seguidas por el identificador genérico del <procedimiento>cocer elemento Documento XML que no se el válido declara arroz</procedimiento> </receta> <receta> A continuación tienen una especificación del <titulo>arroz contenido cocido</titulo> <ingredientes>arroz</ingredientes> Ejemplo: <parrafo>la siguiente receta me la pasó Alvaro</parrafo> <procedimiento>cocer el arroz</procedimiento> </receta> <!ELEMENT receta (titulo, ingredientes, procedimiento)>

Especificación de contenido EMPTY: No tiene contenido. <!ELEMENT linea-horizontal EMPTY> ANY: Puede tener cualquier contenido. Es mejor no usarla y estructurar adecuadamente los documentos <!ELEMENT batiburrillo ANY> Mixed: Puede tener caracteres o una mezcla de caracteres y sub-elementos especificados <!ELEMENT enfasis (#PCDATA)> <!ELEMENT parrafo (#PCDATA enfasis)*> Element: Sólo puede contener sub-elementos especificados <!ELEMENT mensaje (remite, texto)>

Modelos de contenido <!ELEMENT aviso (parrafo)> <aviso> sólo puede contener un <parrafo> <!ELEMENT aviso (titulo, parrafo)> <aviso> debe contener un elemento <titulo> seguido de un elemento <parrafo> <!ELEMENT aviso (parrafo grafico)> La barra vertical indica opción. El número de opciones no está limitado y se pueden agrupar usando paréntesis <!ELEMENT aviso (titulo, (parrafo grafico))> <aviso> debe contener un <titulo> seguido de un <parrafo> o un <grafico>

Modelos de contenido Indicador de frecuencia Siguen directamente a un identificador general, una secuencia o una opción No pueden ir precedidos por espacios en blanco Indicador Frecuencia? Opcional (0 ó 1 vez) * Opcional y repetible (0 ó más veces) + Necesario y repetible (1 ó más veces) <!ELEMENT aviso (titulo?, (parrafo+, grafico)*)>

Declaración de lista de Atributos Atributos <!ELEMENT mensaje (de, a, texto)> <!ATTLIST mensaje prioridad (normal urgente) normal> <!ELEMENT texto (#PCDATA)> <!ATTLIST texto idioma CDATA #REQUIRED> Añaden información adicional a los elementos Sólo se pueden especificar una vez y en cualquier orden No pueden contener sub-atributos Declaración <mensaje prioridad= urgente > <de>topacio Jade</de> <a>esmeralda Turquesa</a> <texto idioma= español > Hay que preparar los informes de junio </texto> </mensaje> Empiezan con <!ATTLIST Identificador del elemento al que se aplica Nombre del atributo Tipo Valor por defecto

Declaración de lista de Atributos #REQUIRED: Es obligatorio especificar el atributo. No tiene valor por defecto. #IMPLIED: Se puede omitir el atributo, sin que se adopte automáticamente un valor por defecto <!ATTLIST IMG URL CDATA #REQUIRED ALT CDATA #IMPLIED>

Tipos de Atributos Atributos CDATA (character data): Pueden contener casi cualquier cosa <!ATTLIST mensaje fecha CDATA #REQUIRED> < mensaje fecha= 21 de Mayo de 2003 > Atributos enumerados: Sólo pueden contener un valor de entre un número reducido de opciones <!ATTLIST mensaje prioridad (normal urgente) normal>

Tipos de Atributos Atributos ID e IDREF El tipo ID permite que un atributo determinado tenga un nombre único que podrá ser referenciado por un atributo de otro elemento que sea de tipo IDREF Permite implementar un sistema de hipervínculos en un documento XML <!ELEMENT enlace EMPTY> <!ATTLIST enlace destino IDREF #REQUIRED> <!ELEMENT capitulo (parrafo)*> <!ATTLIST capitulo referencia ID #IMPLIED>

Declaración de Entidades Las Entidades se utilizan para hacer referencia a objetos (ficheros, páginas Web, imágenes,...) que no deben ser analizados sintácticamente según las reglas de XML Se declaran mediante <!ENTITY Puede usarse para declarar una abreviatura que se utiliza como una forma más corta de algunos textos En otras ocasiones es una referencias a un objeto externo o local

Tipos de Entidades Las entidades pueden ser: Internas Externas Analizadas o No analizadas Generales o Parámetro Entidades generales internas: <!DOCTYPE texto[ <!ENTITY ovni Objeto Volador No Identificado > ]> <texto> <titulo> Durmiendo en clase, Topacio soñó con un &ovni; </titulo> </texto> Son básicamente abreviaturas definidas en la sección del DTD del documento XML Son siempre entidades analizadas

Tipos de Entidades Entidades generales externas analizadas <!ENTITY intro SYSTEM http://www.tecnun.es/intro.xml > Entidades no analizadas <!ENTITY logo SYSTEM http://www.tecnun.es/logo.gif > Entidades parámetro Internas <!DOCTYPE texto[ <!ENTITY % elemento-alf!element ALF (#PCDATA)> > %elemento-alf; ]> Entidades parámetro Externas <!DOCTYPE texto[ <!ENTITY % elemento-alf SYSTEM alf.ent >... %elemento-alf; ]>

Ejemplo de DTD <?xml encoding= UTF-7?> <!ELEMENT lista (persona)+> <!ELEMENT persona (nombre, email*, relacion?)> <!ATTLIST persona id ID #REQUIRED> <!ATTLIST <?xml version= 1.0?> persona sexo (hombre mujer) #IMPLIED> <!ELEMENT nombre (#PCDATA)> <!DOCTYPE lista SYSTEM Lista.dtd > <!ELEMENT email (#PCDATA)> <lista> <!ELEMENT relacion EMPTY> <persona sexo= hombre id= Topacio > <!ATTLIST relacion amigo-de IDREFS #IMPLIED <nombre>topacio Jade</nombre> enemigo-de IDREFS #IMPLIED> <email>topacio.jade@mail.com</email> <relacion amigo-de= esmeralda > </persona> <persona sexo= mujer id= esmeralda > <nombre>esmeralda Turquesa</nombre> <email>eturquesa@gmail.com</email> </persona> </lista>