Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA · www.captiva.es Modelos de documento (DTD)

Slides:



Advertisements
Presentaciones similares
(eXtensible Mark-up Language)
Advertisements

Organizaciones Indexadas
Módulo de XML Facilitador: Ing. María de los A. Ugas N.
MANEJO DE DOCUMENTOS XML EN MHP Leire Urriza Oiz.
Sesión 2 Diseño de Vocabularios XML
GAZETTEER Y SERVICIO WFS-G
Curso: XML, de los datos a la presentación CAPTIVA ·
U NIDAD 2 L ENGUAJE DE DEFINICIÓN DE DATOS (DDL) 1.
Tema: Técnicas Básicas Excel (III) Trucos, opciones y personalización de Excel Índice: 1 Vínculos absolutos y relativos, conectando datos de Excel con.
Lenguaje de Marcado Extensible XML
Fundamentos de Ingeniería de Software
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
LENGUAJES DE MARCAS Y SISTEMAS DE GESTIÓN DE INFORMACIÓN
Teoría de lenguajes y compiladores
Desarrollo Orientado a Objetos con UML
La estructura básica de los programas en java, algo a tener en cuenta y que debemos recordar siempre es el archivo debe llevar el nombre de la clase con.
Tema 4: Estructura de documentos XML, W3C Esquemas

Tema 10: Interfaces Antonio J. Sierra.
Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA · Modelos de documento (Schema)
Departamento de Informática
Restricciones de Integridad en ORACLE
M.C. Meliza Contreras González
Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA · XPath.
Estructura de Documento Atributos 1. Atributos Básicos id, class, style, title 2. Atributos para Internacionalización lang, xml:lang, dir 3. Atributos.
XML DEFINICIÓN DE ESQUEMAS
Título Características y elementos fundamentales J.M. Morales-del-Castillo.
HTML HyperText Markup Language (Lenguaje de Marcas de Hipertexto)
DOCUMENT TYPE DEFINITION DTD
Teoría de lenguajes y compiladores
Características y elementos fundamentales J.M. Morales-del-Castillo
Definition Type Document (DTD)
 El primer navegador Web incluía un lenguaje de estilo interno que utilizaba dicho navegador para mostrar las páginas HTML.  Sin embargo estos primeros.
* FRAUSTO JIMENEZ GABRIELA * * HERNANDEZ TORRES ANA LAURA * * MANDUJANO JUAN CARLOS * * NOVA MARIN YARELI PAULINA * * ZAVALA CORTE JOCELYN ARELI *
1 Jueves 26 de Julio de 2007 Aplicación de Rendición de Cuentas Formación Guión del curso.
Informática Ingeniería en Electrónica y Automática Industrial
Componentes sintácticos
XML Corporación Universitaria de Ciencia y Desarrollo Ing. Andrés Vargas - W3C: XML es un.
Archivos Programación I MC Beatriz Beltrán Martínez.
Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA · Introducción al mundo XML.
EXPRESIONES Y SENTENCIAS
Programación en C para electrónicos
Análisis Léxico Área Software de Base.
Tema 2: Base de datos relacionales
XML (Extensible Markup Language) Kostadin Koruchev Es necesario utilizar el soporte que acompaña estos apuntes.
WORLD WIDE WEB Lenguaje HTML
Introducción a XML por Joel Candia C Universidad Técnica Federico Santa María Departamento de Electrónica ELO-330 Programación de Sistemas.
INTRODUCCIÓN A SGML Prof. Dr. Eduardo Peis Redondo
Tema 3: Estructura de los documentos XML, DTD Ricardo Eíto Brun Sevilla, de octubre 2002.
Tel Microsoft Word Duración 25 hrs. XIV. TRABAJAR CON TÍTULOS Agregar títulos a una ilustración Agregar.
Programación de Sistemas FEI – 2008
El lenguaje HTML Este lenguaje nos permite estructurar documentos. La mayoría de los documentos tienen estructuras comunes (títulos, parrafos, listas...)
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
2000.Nov.17 Introducción a Schema Erich Bühler
Declaraciones. 1 Nombres de identificadores Identificador: – Nombres usados para referirse a las variables, identificar funciones o etiquetas definidos.
Fundamentos de Programación
Lic. Carla Aguirre Montalvo
(American Psychological Association)
IV. GRAMÁTICAS DISTRIBUIDAS Y TABLAS DE SÍMBOLOS
Lenguaje de programación c
¿QUÉ ES EL MODELO ENTIDAD-RELACIÓN?  Como ya he comentado este modelo es solo y exclusivamente un método del que disponemos para diseñar estos esquemas.
Clases “ Es una Abstracción de un elemento del mundo real ”
Web y Multimedia II Integrantes: Piero Álvarez Mayra Atience Jhonney Bermeo Johanna Cabrera Gabriela Cango.
GML Geography Markup Language
CURSO DE FORMACIÓN AL PORTAL WEB DE LA UNIVERSIDAD CARLOS III DE MADRID ORACLE PORTAL Manual disponible en:
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
Equipo de Profesores del Curso. Funciones de Texto.
METADATOS QUE SON LOS METADATOS? SON LOS DATOS DE LOS DATOS Los metadatos forman parte de un elemento de ArcGIS. Archivo xml complementario En los metadatos.
Transcripción de la presentación:

Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA · Modelos de documento (DTD)

Introducción  Freeform XML  Cualquier XML bien escrito  ¿Cómo restringimos “estructura” y formato de nuestra aplicación XML?  ¿Cómo verificamos la gramática y vocabulario del documento?  Modelado de documentos  Alternativas para el modelado  DTD (Document Type Definition)  Schema (XMLSchema)

Introducción (II)  Modelo  Documento especial para describir lenguajes (aplicaciones) XML  Qué define un modelo  Qué elementos y atributos puede contener  “Gramática del documento”. P.e. un elemento sólo puede contener elementos  Validación  XML válido que se adhiere a un modelo

¿Cuándo necesitamos un modelo?  Casos de interés  Documento XML  Datos orientados a máquinas en vez de personas  Campos obligatorios  El modelo asegura que esos campos están presentes  Ayuda a programas de edición WYSIWYG  Presentan automáticamente campos a rellenar del documento  Forma sencilla de crear un estándar  Reutilización de trabajo anterior  P.e. Docbook usa formato tablas de CALS

Validación de un doc  Documento validado incluye document type declaration que apunta a un DTD en prólogo  Localización del DTD  SYSTEM  Indica una URL o fichero del sistema  Public ID  Localización de DTDs públicos (p.e. estándares)  Especifican un ID  Catálogo (espec OASIS) resuelve URL  Necesitamos definir documento DTD (Document Type Definition).  persona.dtd  Sintáxis no XML  Heradado de SGML  Limitaciones  XML Schema

Validación de un doc (II)  Ejemplo de DTD (persona.dtd):  ¿Qué describe este documento?  6 elementos válidos  Declaración de elementos  No es necesario aunque aconsejable 1 declaración por línea  Parentesco  identidad y profesion hijos de persona  nombre, apellido1 y apellido2 hijos de identidad  Cardinalidad  Uno y sólo un elemento identidad por persona  Cero o varios elementos profesion por persona (*)  Orden  identidad debe preceder a profesion  identidad debe contener en este orden a nombre apellido1 apellido2  Contenido  Algunos nodos pueden contener hijos  Otros pueden contener datos  #PCDATA (Printable Character Data)

Validación de un doc (III)  Ejemplo de archivo válido (persona.xml):  Ejemplo de archivos inválidos (persona-invalido1.xml y persona-invalido2.xml)

Validación de un doc (IV)  Orden de declaración de elementos en DTD no es importante  Ejemplo de DTD alternativo (persona2.dtd):

Validación de un doc (V)  Validación online   Validación local  Jedit  XML Cooktop

Estructura de un DTD  Partes  Prólogo  No es obligatorio  Similar a la de un documento XML   Declaraciones  Elementos  Atributos  Entidades  Notaciones  Datos en bruto

Declaración de elementos  Partes  Tipos de modelos de contenido  Elementos vacíos  Elementos sin restricciones de contenido  Elementos que contienen sólo caracteres de datos  Elementos que contienen elementos  Elementos con contenido mixto

Declaración de elementos (II)  Modificadores para modelos de contenido SimboloSignificadoEjemplo,Secuencia de elementos (AND)elem1, elem2  elem2 debe seguir a elem1 |Alternativas (OR)elem1 | elem2 | elem3  Debe haber ó elem1 ó elem2 ó elem3 (contenido)Agrupa contenido(A | B), C  A ó B debe preceder a C A | (B | C)  A precede a B ó C ?Se permiten 0 o un elementos de este tipo elemento ?  Puede haber un elemento o ninguno +Se permiten uno o más elementos de este tipo elemento +  Puede haber uno o mas elemento seguidos *Se permiten 0 o más elementos de este tipo elemento *  Puede haber 0,1,2,… elemento consecutivos

Declaración de elementos (III)  Ejemplo  Análisis  titulo  Debe haber sólo un elemento y ser el primer hijo de articulo  subtitulo  Es opcional y si existe debe ir después de titulo  autor  Es opcional y puede haber cualquier número. Debe ir después del titulo y subtitulo  Texto  Puede estar compuesto por elementos e tipo parrafo, tabla o lista en cualquier número. Debe haber como mínimo uno de estos elementos  bibliografia  Opcional y debe ser el último hijo de articulo.

Declaración de elementos (IV)  Elementos con contenido mezclado   Ejemplo DTD completo (articulo.dtd):

Declaración de elementos (V)  Instancia de articulo invalida (articulo-invalido.xml)  Ejercicio opcional: Modificar DTD para que sea válido.

Declaración de elementos (V)  Instancia de articulo valida (articulo.xml)

Declaración de atributos  Un documento debe declarar todos los atributos posibles, no sólo los elementos  Formato  Ejemplo   Atributo “source” para elemento “image” contiene CDATA (cualquier carácter) y es obligatorio (#REQUIRED). <!ATTLIST > nombre_atrib1 tipo_atrib1 desc_atrib1 elemento nombre_atrib2 tipo_atrib2 desc_atrib2

Declaración de atributos (II)  Tipos de atributos posibles  CDATA  NMTOKEN  NMTOKENS  Enumeración  ID  IDREF  IDREFS  ENTITY  ENTITIES  NOTATION

Declaración de atributos (III)  Atributo tipo CDATA (character data)  Tipo de atributo más general  Acepta cualquier carácter XML válido  Permite el uso de ENTITIES de carácter y generales  Uso:  Atributos válidos:

Declaración de atributos (IV)  Atributo tipo NMTOKEN (name token)  Cadena con restricciones similares a nombre de elemento (aunque puede comenzar por número o un punto)  Uso:  Atributos válidos: serial=“aeiou” serial=“12.12” serial=“v3.3-5” serial=“fichero.txt”

Declaración de atributos (V)  Atributo tipo NMTOKENS  Lista de NMTOKEN separada por espacios  Uso:  Atributos válidos: palabras_clave=“perro gato gallo” palabras_clave=“texto.txt texto.doc texto.pdf” palabras_clave=“ ”

Declaración de atributos (VI)  Atributo tipo enumeración  En realidad es un conjunto de valores válido  Se separan los valores con ‘|’  Uso:  Ejemplos:

Declaración de atributos (VII)  Atributo tipo ID (identificador único)  Nombre XML que ha de ser único para todos los atributos ID del documento  Sirve para identificar unívocamente un elemento del documento  Sólo puede haber un atributo de este tipo por elemento  Uso:  Atributos válidos: dni=“_ S”  Atributos inválidos: dni=“ S”

Declaración de atributos (VIII)  Atributo tipo IDREF (referencia a identificador)  Igual que ID solo que referencia al ID de otro elemento  Si no existen ningún elemento con el ID indicado daría error  Uso:  Atributo tipo IDREFS  Lista de IDREF separada por espacios  Uso:

Declaración de atributos (IX)  Atributo tipo ENTITY (nombre de entidad)  Acepta como valor el nombre de una entidad definida en el DTD  Uso:  Atributos válidos:  Atributo tipo ENTITIES  Lista de entidades separada por espacios  Uso:  Atributos válidos:

Declaración de atributos (X)  Atributo tipo NOTATION  Contiene el nombre de una notación definida en el DTD  Declaración de notaciones:  Uso:

Declaración de atributos (XI)  Descripciones de atributo  Tras el tipo de atributo se ha de especificar una de las siguientes descripciones  #IMPLIED  El atributo es opcional. No se le asigna ningún valor por defecto  #REQUIRED  El atributo es obligatorio  #FIXED  Se le asigna un valor fijo al atributo incluso si no se especifica. Si se especifica ha de darle este valor.  Literal  Valor por defecto para un atributo

Declaración de entidades  Tipos de declaraciones de entidades  Entidad general  Sirve para substituir texto.   Referencia  &saludo;  Entidad general externa  Contiene texto de una fuente externa.   Entidad externa nonparsed  El contenido externo no tiene por qué ser XML. Puede ser datos binarios incluso.   gif es una referencia a NOTATION definida en algún lado

Declaración de entidades (II)  Tipos de declaraciones de entidades (II)  Entidad parámetro  Substitución para texto de DTD   La referencia a la entidad se haría con %textoparrafo;  Especie de MACROS para DTDs  Entidad parámetro externa  Igual que la anterior pero hace referencia a DTD o trozo de DTD residente en fichero externo   La referencia  %tablas;

Declaración de entidades (III)  Modularización de DTDs  Entidad parámetro externas  Permiten importar ficheros  Entidad parámetro pueden redefinirse. Tiene más prioridad última definición  Permite adaptar entidades incluidas a través de entidades parámetro externa  Inclusión condicional <![CONDICION[ ]]>  Si CONDICION == “INCLUDE” se incluye el fragmento de DTD  Si CONDICION == “IGNORE” no se incluye

Declaración de entidades (IV)  Modularización de DTDs (II)  Ejemplo:  Fichero casas.dtd  Fichero miscasas.dtd %fich_casas; <[ %condicion; [ <!-- Al ser condicion == “INCLUDE” se redefine elemento casa --> ]]>

Internal subset  Zona dentro de documento XML para definir elementos de DTD <!DOCTYPE persona SYSTEM “/dtds/persona.dtd” [ ]>  El internat subset tiene más prioridad que el external subset (el fichero DTD especificado con DOCTYPE)  Útil para redefinir elementos de un DTD genérico sólo para la instancia dada de XML

Internal subset  Zona dentro de documento XML para definir elementos de DTD <!DOCTYPE persona SYSTEM “/dtds/persona.dtd” [ ]>  El internal subset tiene más prioridad que el external subset (el fichero DTD especificado con DOCTYPE)  Útil para redefinir elementos de un DTD genérico sólo para la instancia dada de XML

Ejemplo I: Articulo  Fichero (articulo- completo.dtd)  Se ha incorporado ENTITIES  Incorporamos atributos a algunos elementos

Ejemplo I: Articulo (II)  Fichero (articulo- completo.xml)  Definimos dos Unparsed Entities para indicar las imágenes a usar como elemento de listas  Incorporamos referencias cruzadas entre y de bibliografía

Otros ejemplos  Estándar XHTML 1.0 Strict  Directorio ‘xhtml’ dentro de prácticas   Fichero xhtml1-strict.dtd en directorio  Ejemplos de ficheros XHTML  ejemplo_local_novalidable.html  ejemplo_publico_invalido.html  ejemplo_publico_validado.html

Ejercicio  Coger casino.xml de 2º capítulo  Crear DTD, teniendo en cuenta las limitaciones  Puede haber 0,1 o más mesas de juego  Se definirán las siguientes ENTITIES al comienzo del DTD:  %juegos  %palos  %palo_por_defecto  Los juegos posibles son: “brisca”, “tute”, “poker”  Cada mesa debe tener como mínimo un jugador  Cada jugador debe tener al menos una carta  El jugador puede tener o no nombre  Las cartas han de ser de los palos: “oros”, “copas”, “espadas” ó “bastos”, no siendo obligatorio indicarlo. Por defecto será de tipo “oros”  Segunda parte  Añadir un identificador único “dni” para cada jugador  Añadir un juego más posible: “sieteymedia”