La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Dos tipos de documentos XML Siglas y más Siglas… Historia y Objetivos

Presentaciones similares


Presentación del tema: "Dos tipos de documentos XML Siglas y más Siglas… Historia y Objetivos"— Transcripción de la presentación:

1 Dos tipos de documentos XML Siglas y más Siglas… Historia y Objetivos
¿Cuándo usar un DTD? Dos tipos de documentos XML Siglas y más Siglas… Historia y Objetivos ¿Si todo el mundo ya conoce HTML, porqué no seguir usándolo? ¿Por qué usar XML para crear estructuras de datos? Transformar datos en información ¿Para qué podemos usar XML? ¿Qué es XML? Introducción a XML Los Datos Semi-Estructurados

2 Datos Semi-Estructurados
n Nombre:”Luis Perez”, Tel: , n Nombre:”Juan”, Apellido: “Rodriguez”, Tel:976789, n Nombre:”Jose”, Apellido: “Martinez”, Altura:183 n Nombre:”Marcos Rodriguez”, Tel: , profesion: Ingeniero Primer Apellido: “Gonzalez”, Segundo Apellido:”Perez”, Primer Nombre: “Maria”, Segundo Nombre:”Eugenia”, Tel Casa: “945555”, Tel Trab: “478888”, Cel: “ ” , Dir: (Calle: “2”, Dpto:”53”, Bº:”La Colina”, Ciudad:”jujuy”), profesion:”Medico”, lugarTrabajo:(Empresa:”Centro de Salud”, ciudad:”Jujuy”)

3 Datos Semiestructurados
n Características: n Pueden ser irregulares y no respetan un esquema particular. n Puede ser incompletos. n La estructura puede evolucionar muy rápidamente. n Sus componentes pueden cambiar de tipo. n Nuevos datos pueden no respetar la estructura de los datos existente previamente. n Alta frecuencia de modificaciones en las propiedades estructurales. n Datos débilmente “tipados”. n Son descritos por sí mismos (no existe una separación entre la descripción del tipo, de su estructura y de su valor). n Pueden no tener esquema o el esquema impone restricciones débiles sobre los datos.

4 ¿Por qué existen Datos Semiestructurados?
n Objetos del mundo de real se describen de una manera particular. n Muchas fuentes de datos como el WWW deberían ser tratadas como BD, pero no se puede por la ausencia de un esquema. -Cada fuente de datos publica sus datos a su manera. -La Web no tiene estructura, se puede pensar como un enorme grafo. n Es deseable tener un formato flexible para el Intercambio e Integración de Datos que provienen de distintas BDs. n A veces es deseable visualizar la información estructurada como semiestructurada (por ej. para poder hacer browsing).

5 XML (eXtensible Markup Language) es un lenguaje orientado a identificar estructuras de datos en un documento. ● La especificación XML define un estándar de cómo se debe realizar el marcado de expresiones en un documento no estructurado para definir así una determinada estructura de datos. ● La especificación XML no define el contenido de las estructuras de datos, son los expertos de cada dominio y las entidades reguladoras quienes pueden utilizar el estándar XML para concensuar un lenguaje común que permita transformar los documentos no estructurados en estructuras procesables por un sistema ("machine readable system“). ● Cuando hablamos de un documento nos referimos no sólo al concepto tradicional de documento en papel o soporte electrónico sino a todos los tipos de documentos actuales: páginas Web, correo electrónico, transacciones de comercio electrónico, etc.

6 ¿Para qué podemos usar XML?
● Un documento XML es un documento que puede ser leído y entendido por una persona y a la vez puede ser procesado por un sistema para extraer información. ¿Para qué podemos usar XML? ● XML permite definir estructuras de datos susceptibles de ser procesadas por una gran variedad de aplicaciones y realizar intercambio electrónico de datos. El hecho de transformar datos en información, añadiéndoles un significado concreto y asociándolos a un contexto, siempre genera valor en la cadena de utilización de los datos fuente por parte de sus clientes. Consideremos la siguiente expresión: "Con fecha , remito el paciente J.J.C. HC a Neumología por presentar bronquitis aguda con broncoespasmo"

7 Obviamente la pieza de texto mostrada, aunque no disponga de ninguna estructura subyacente, es significativa para el especialista que sabe de antemano que: HC es el número de historia clínica de un paciente, que Neumología es un punto de asistencia ambulatorio para las consultas externas de un hospital y que bronquitis aguda es un diagnóstico. Sin embargo, si mediante un agente de búsqueda intentaramos recuperar información relativa a los casos clínicos tratados, la pieza de texto que hemos descrito sería presentada como cualquier otro resultado, es decir sin conexión con el propósito de dicha búsqueda. Cuando se usan datos semiestructurados –similares a objetos sin esquema- la información que corresponde normalmente al esquema está contenida en los datos, lo cual se denomina “auto-descripción” (self-describing). En estos casos el grado de estructuración depende de la aplicación. En XML (opcionalmente) podemos generar dicha estructuración (ver DTD y XML-Schema).

8 Transformar datos en información
<Derivacion>Con fecha <FechaEntrada> </FechaEntrada>remito el paciente<Paciente>HC334455</Paciente> a <Servicio>Neumología</Servicio>por presentar <Diagnostico>bronquitis aguda</Diagnostico> con broncoespasmo</Derivacion> Las marcas XML añaden el contexto necesario para indicar tanto a las personas como a los sistemas preparados para tal fin, que estamos realizando un derivación donde HC identifica la historia clínica de un paciente; que Neumología es el nombre identificador de un servicio de consulta externa del hospital hacia donde es remitido el paciente, y que bronquitis aguda es el descriptor de un diagnóstico. Conociendo todo esta estructura podremos obtener recuperaciones de información mucho más relevantes y ajustadas a nuestros propósitos de búsqueda.

9 ¿Por qué usar XML para crear estructuras de datos?
Cada fabricante de hardware y software siempre creó sus propios mecanismos “propietarios” para añadir contexto a datos fuente y definir estructuras de datos. La ventaja de XML es que es un estándar. Esto significa que podemos estructurar datos con la especificación XML, almacenarlos en una base de datos, producir documentos en entornos multimedia (web, CD-ROM), realizar búsquedas o ejecutar cualquier proceso usando herramientas de distintos proveedores. XML establece un formato de datos que representa un estándar abierto independiente de fabricantes y plataformas (S.O.) La mayoría de las compañías, con la finalidad de intercambiar información sin tener problemas con el formato del soporte, han optado por seleccionar los estándares más aceptados para sus herramientas de información (un buen ejemplo son los procesadores de textos y los gestores de correo electrónico)

10 ¿Si todo el mundo conoce HTML, por qué no seguir usándolo?
HTML (Hypertext Mark Up Language) es el estándar de facto en la web. Dispone de un número limitado de etiquetas (tags) diseñadas en su mayoría para mostrar textos en los navegadores (browsers). Es útil para definir la presentacion de las páginas web pero no para describir la información que éstas contienen. Por ejemplo, se puede usar HTML para dar formato a una tabla, pero no para describir los elementos de datos que componen dicha tabla. XML fue Creado originalmente para poder utilizar documentos con estructuras complejas dentro de la web. XML es una variante evolutiva del SGML (Standard Generalized Markup Language), e incorpora una serie de nuevos elementos con respecto al HTML. Las últimas versiones de IE y Netscape ya soportan la especificación XML (aunque lo más probable es que HTML no desaparezca pronto de la web).

11 XML, con su capacidad para definir cualquier nombre de etiqueta y, por lo tanto, marcar de manera adecuada una pieza de datos (o una colección de piezas anidadas), ofrece una gran potencia y flexibilidad para estructurar documentos y realizar intercambio electrónico de datos de manera eficiente. A diferencia del HTML (que dispone de un número fijo y predeterminado de etiquetas) con XML no existe ninguna limitación en cuanto al número ni a la diversidad de etiquetas posibles. Cada diseñador de documentos, construye estructuras de datos asignando aquellas etiquetas que mejor describan sus datos y que definan un lenguaje común que facilite el intercambio de datos en su ámbito de trabajo. XML describe una nueva clase de objetos, los documentos XML, que almacenan informacion estructurada dividida en tres partes: estructura, contenido y presentación. simple: human readable, machine readable open / non-proprietary: does not belong to Microsoft / IBM etc., documentation is freely available, means also that a lot of (often free) software is already available widely accepted: W3C standard

12 - no usa un conjunto fijo de etiquetas o tags
Bajo el término "documento“ puede describirse desde una estructura de datos sencilla como un simple mensaje (que no requiere anidamiento), a algo tan grande y complejo como la Enciclopedia Británica que dispondrá de una gran cantidad de tipos de elementos y muchos niveles en sus anidamientos. Resumiendo, XML es parecido a HTML pero: - no usa un conjunto fijo de etiquetas o tags X = “extensible” - no tiene fijada la semantica de las etiquetas ● semántica determinada por la aplicación ● representación determinada por separado (‘stylesheet’) - no tiene fijada la estructura ● esquemas definidos por el usuario (user-defined schemas)

13 XML: Motivación El intercambio de datos es crítico en el mundo actual
Ejemplos: En la Banca: transferencia de fondos Entre empresas: procesamiento de órdenes En el Intercambio de datos científicos: Quimica (ChemML) Genética (BSML: Bio Sequence Markup Language) Entre organizaciones el flujo de información sobre papel está siendo reemplazado por el flujo electrónico de información. Cada área de aplicación tiene su propio conjunto estandar para representar información. XML se ha convertido en la base para la generación de nuevos formatos de intercambio de datos.

14 Respecto a sus objetivos son:
Historia y Objetivos XML fue creado al amparo del Word Wide Web Consortium (W3C) organismo que vela por el desarrollo de WWW partiendo de las amplias especificaciones de SGML. Su desarrollo se comenzó en 1996 y la primera versión salió a la luz el 10 de febrero de 1998. ● La primera definición que apareció fue: Sistema para definir validar y compartir formatos de documentos en la web. Respecto a sus objetivos son: XML debe ser directamente utilizable sobre Internet. XML debe soportar una amplia variedad de aplicaciones. XML debe ser compatible con SGML. Debe ser fácil la escritura de programas que procesen documentos XML.

15 Siglas y más siglas… Objetivos…
El número de características opcionales en XML debe ser absolutamente mínima, idealmente cero. Los documentos XML deben ser legibles por humanos y razonablemente claros. El diseño de XML debe ser preparado rápidamente. El diseño de XML debe ser formal y conciso. Los documentos XML deben ser creados fácilmente. Siglas y más siglas… XML 1.0: es la especificacion propiamente dicha, define que etiquetas y atributos son válidos. Xlink: conocido anteriormente como XLL (Extensible Linking Language), define la forma en la que los documentos XML deben enlazarse entre si.

16 – XML a un documento que una persona pueda utilizar
Siglas y más siglas… Xpointer: describe como se puede apuntar a un lugar especifico dentro de un determinado documento XML. XPath: es un lenguaje que permite construir expresiones que recorren y procesan partes de un documento XML. XSL: Extensible Stylesheet Language o lenguaje de hojas de estilo extensible, define la sintaxis para describir como presentar los documentos XML. Aunque también pueden usarse las descripciones CSS (Cascading Style Sheets) que se utilizan en HTML. XSLT: desarrollado originalmente como parte de las hojas de estilo XSL (para generar HTML) se ha extendido su uso para realizar transformaciones de: – XML a otro documento XML (seleccionando, reordenando, calculando...) – XML a un documento que una persona pueda utilizar de manera directa (leer, imprimir...)

17 Además de XML, se puede generar, como salida, HTML y texto
• XSLT: eXtensible Stylesheet Language for Transformations. Permite definir cómo se transforma un documento XML en otro documento XML Además de XML, se puede generar, como salida, HTML y texto • XSL-FO: eXtensible Stylesheet Language – Formatting Objects. Conversión del XML en un formato “imprimible” y legible por una persona (ej.: PDF). Inicialmente, este era el propósito del XSL • XPath: Una sintaxis para aludir a diversas partes de un documento XML XSLT XSL XPath XSL-FO Diapositiva anterior

18 Siglas y más siglas… DOM (Document Object Model): interfaz que proporciona llamadas estandar a funciones y procedimientos que permiten trabajar el contenido, la estructura y el estilo o presentación de los documentos basándose en árboles. SAX (Simple API for XML): interfaz utilizada para analizar (parsing) los documentos. Parsing: Esta palabra viene del Latin pars orationis, que significa “parte de la oración”. En linguistica, parsing es el acto de fraccionar las sentencias y palabras para establecer las relaciones y estructuras del lenguaje. Estas estructuras son representadas a menudo en una estructura de árbol. El parsing en computación es similar, pero es comúnmente usado para fraccionar e interpretar el contenido de un string. Dado que XML es por definición un conjunto de caracteres en un string, fraccionar y separar partes de un documento XML es referido también como parsing.

19 Aplicaciones que envían y reciben datos XML necesitan
interfaces para generar XML y para integrar datos XML dentro de otras aplicaciones. El parsing de documentos XML es usado para integrar datos XML con aplicaciones ya existentes. Dependiendo der tipo de Parser XML que sea usado, se identifican y convierten los elementos de XML en nodos de un árbol o en eventos de un documento. ✦ En Document Object Model (DOM) el parsing fracciona un documento XML en elementos anidados, referidos como nodos en una representación DOM del documento. Estos nodos refieren a documentos o fragmentos de documentos, elementos, atributos, datos texto, instrucciones de procesamiento, comentarios, y otros tipos de datos. ✦ En Simple API for XML (SAX) el parsing fracciona un documento XML dentro de eventos en una representación SAX del documento. Los elementos del documento original pueden convertirse así en otros tipos de datos.

20 Siglas y más siglas… Esquemas XML (XML Schemas ): proporciona a los desarrolladores las herramientas necesarias para definir sus propios formatos de documento. Fortalece las capacidades de modelado de datos en XML en comparación con usar sólo DTDs (DTD es la sigla para Document Type Definition). Xquery: lenguaje de consultas derivado de Quilt, que combina características de SQL, XQL y XML-QL.

21 Dos tipos de documentos XML
Los documentos XML pueden construirse para ser documentos "válidos" o para ser documentos "bien formados". Si hablamos de un documento válido, significa que dicho documento está asociado a un conjunto de reglas que definen su estructura lógica y que certifican su validez. Dicho conjunto de reglas recibe el nombre de DTD (Document Type Definition) o definición del tipo de documento; este es, en general, un archivo/s que encierra una definición formal de un tipo de documento y a la vez especifica la estructura lógica de cada documento. El DTD es opcional. Para documentos sencillos no es necesario construir un DTD, se trataría entonces de un documento "bien formado“ (well-formed) porque, aunque no dispone de reglas de certificación asociadas, sigue las reglas de sintaxis especificadas para el lenguaje XML.

22 El DTD regula las siguientes tareas:
¿Cuándo usar un DTD? La Definición de un Tipo de Documento se realiza cuando es necesario identificar documentos de un determinado tipo o clase, que comparten varias características comunes. Por ejemplo, podemos escribir una gran cantidad de informes que pueden contener nombre del autor, nombre del sujeto a quien se refiere el informe, quizás una lista de distribución, un número de referencia, fecha de creación, título del informe, títulos de secciones, gráficos, etc. El DTD regula las siguientes tareas: Define todos los elementos (nombres de etiquetas) que pueden aparecer en el documento. Define las relaciones establecidas entre los distintos elementos. Suministra información adicional que puede ser incluida en el documento y aporta instrucciones para su procesamiento.

23 XSL (eXtensible Stylesheet Language): Define o implementa el lenguaje de estilo de los documentos escritos para XML. XSL (antes llamado "xml-style") permite modificar el aspecto de un documento. Se puede lograr múltiple columnas, texto girado, orden de visualización de los datos de una tabla, múltiples tipos de letra con amplia variedad en los tamaños. Este estándar está basado en el lenguaje de semántica y especificación de estilo de documentos (DSSSL). Se considera más potente que las hojas de estilo en cascada (CSS, Cascading Style Sheets), usado en un principio con el lenguaje DHTML. "Se espera que el CSS sea usado para visualizar simples estructuras de documentos XML y, por otra parte, que XSL pueda ser utilizado donde se requiera más potencia de diseño como documentos XML que encierran datos estructurados (tablas, organigramas, etc.)".

24 Estructura de Datos en XML
Etiqueta (tag): rótulo de una sección de datos Elemento: sección de datos que comienza con un <nombre de etiqueta> y termina con </nombre de etiqueta> Los Elementos deben ser anidados apropiadamente Anidamiento correcto <cuenta> … <balance> …. </balance> </cuenta> Anidamiento incorrecto <cuenta> … <balance> …. </cuenta> </balance> Cada etiqueta que abre debe estar aparejada con una única etiqueta que cierra, esto en el contexto del elemento en cuestión. Cada documento debe tener un único elemento en “la cima” (único elemento raiz)

25 Ejemplo de Elementos anidados
<banco-1> <cliente> <nombre_cliente> Huerta </nombre_cliente> <domicilio_cliente> Piedras 2020 </domicilio_cliente> <ciudad_cliente> San Juan </ciudad_cliente> <cuenta> <número_cuenta> A-102 </número_cuenta> <nombre_sucursal> jachal </nombre_sucursal> <balance> 400 </balance> </cuenta> </cliente> </banco-1>

26 Motivación para el anidamiento
El anidamiento de datos es útil cuando se realiza transferencia de datos Ejemplo: dentro del elemento orden de compra se anidan los elementos id_cliente, nombre_cliente y dirección_cliente. El anidamiento no es “propio” del modelo relacional En una BD relacional se reemplaza (normalización) el anidamiento, en cada orden de compra, por una clave foránea que permita acceder a la información del cliente. El anidaniento es soportado en las BDs objeto relacional Como hemos dicho, el anidamiento es apropiado cuando se tranfieren datos, dado que una aplicación externa no tendría acceso a los datos referenciados por una clave foranea que le fuese transmitida.

27 Estructura de datos XML (Cont.)
La mezcla de texto con sub-elementos es válida en XML. Ejemplo: <cuenta> Esta cuenta es raramente usada. <número_cuenta> A-102</ número_cuenta> <nombre_sucursal> Jachal</ nombre_sucursal> <balance>400 </balance> </cuenta> Si bien esto es útil para marcar documentos, es desalentado para la representación de datos.

28 Atributos Los elementos pueden tener atributos
<cuenta tipo_cuenta= “c.corriente” > <número_cuenta> A-102 </número_cuenta> <nombre_sucursal> Jachal </nombre_sucursal> <balance> 400 </balance> </cuenta> Los atributos son especificados por pares nombre=valor dentro de la etiqueta de inicio de un elemento Un elemento puede tener varios atributos, pero el nombre de cada atributo puede aparecer sólo una vez. <cuenta tipo_cuenta= “c.corriente” tasa=“5”>

29 Atributos vs. Subelementos
Distinción entre subelemento y atributo En el contexto de los documentos, los atributos son parte de las marcas, mientras que los subelementos son parte del contenido básico del documento. En el contexto de la representación de datos, la diferencia no es del todo clara y puede ser confusa. Alguna información puede ser representada en las dos formas a) <cuenta número_cuenta = “A-101”> …. </cuenta> b) <cuenta> <número_cuenta>A-101</número_cuenta> … </cuenta> Sugerencia: usar atributos para identificadores de elementos, y usar subelementos para contenido.

30 Ejemplo de Documento XML <?xml version ="1.0"?>
<ListaPersonal Tipo=“estudiante" Fecha=" "> <Título Valor=“Lista Estudiantes"/> <Contenido> <Persona> <Nombre>Juan Perez</Nombre> <Id>11</Id> <Dirección> <Calle>La Lomada</Calle> <Número>123</Número> </Dirección> </Persona> <Nombre>Luis García</Nombre> <Id>33</Id> <Calle>El Pozo</Calle> <Número>4</Número> </Contenido> </ListaPersonal> Ejemplo de Documento XML

31 Estructura general La primera linea <?xml version ="1.0"?> es obligatoria; Etiquetas o tags son elegidas por el autor; Un tag que abre debe estar aparejado con otro que cierra; <a><b></b><c></c></a> Sólo un elemento raíz (en el ejemplo-> ListaPersonal); En <a> … </a>; a es el nombre de un elemento; <ListaPersonal Tipo=“Estudiante”> aquí Tipo es el nombre de un atributo que tiene el elemento ListaPersonal; el valor del atributo es “Estudiante”; todos los valores de atributos van entre comillas; Elementos vacíos: Indican que no hay contenido. <author></author> puede ser reemplazado por <author/>. Para el ejemplo <Título Valor=“Lista Estudiantes”/> y <Título Valor=“Lista Estudiantes”> </Título> son equivalentes

32 Instrucciones procesables: <? . . . ?>
comentarios: <!–- este es un comentario --> Mezcla de datos y texto: <Dirección> Juan vive en <Calle> La Lomada </Calle> <Número>123</Número> </Dirección> Los elementos tienen un orden: <Dirección> <Calle>La Lomada</Calle> <Número>123</Número> </Dirección> <Dirección> <Número>123</Número> <Calle>La Lomada</Calle> </Dirección> Son diferentes

33 Anidamiento Las etiquetas pueden estar anidadas, es decir, los elementos definidos pueden estar contenidos dentro de otros elementos. Por ejemplo la derivación de un paciente puede contener sub-elementos para describir la fecha, la historia clínica del paciente, el servicio y el diagnóstico que motivó la derivación. <Derivacion> <FechaEntrada> </FechaEntrada> <Paciente>HC334455</Paciente> <Servicio>Neumología</Servicio> <Diagnostico>bronquitis aguda</Diagnostico> </Derivacion> Normalmente un anidamiento puede disponer de muchos niveles, por ejemplo, la estructura que define la "Derivación" puede estar contenida en otra estructura mayor definida como "Consulta Externa" y ésta a su vez en otra estructura definida como "Actividad Ambulatoria", y así sucesivamente.

34 Un elemento puede tener cualquier número de atributos;
XML: Atributos Un elemento puede tener cualquier número de atributos; El orden de los atributos no cuenta; Dentro de un elemento un atributo puede ocurrir sólo una vez; Los valores de atributos sólo pueden ser “strings”; Los dos ejemplos que siguen tiene la misma semántica (excepto porque en <b> y <c> el orden si cuenta): En los atributos (b,c) el orden no importa En los elementos <b> y <c> el orden importa <a b=“2” c=“Feb” /> <a> <b> 2 </b> <c> Feb </c> </a>

35 Documento bien formado
Un documento XML se denomina bien formado si: Tiene un elemento raiz; Los elementos están apropiadamente anidados; Todo atributo ocurre sólo una vez por cada tag y su valor aparece entre comillas;

36 Modelo de Datos Tipos de Nodos Documento Elemento Texto atributo Raiz
Estudiantes Curso Estudiante Nombre Npila Apell StudId CódigoCr “dr ” “Juan” “Perez” “Esp1” Semestre CódigoCr “…” “…” “…” “…” <Estudiantes> <Estudiante StudId=“dr”> <Nombre> <Npila> Juan </Npila> <Apell> Perez </Apell> </Nombre> Esp1 <Curso Semestre=“…” CódigoCr=“…”/> </Estudiante> <Estudiante> … </Estudiantes> Tipos de Nodos Documento Elemento Texto atributo Raiz Estudiantes Semestre

37 Un valor es una secuencia ordenada de cero o más items;
Un item es un nodo o valor atómico; Existen cuatro tipos de nodos: Nodo documento Nodo elemento Nodo atributo Nodo texto Los hijos son nodos elemento o texto (los atributos no son hijos) Ejemplos de Valores 47 <perro/> (1, 2, 3) (47, <perro/>, "Hello") () Un documento XML Un atributo aislado ● No hay distinción entre un item y una secuencia de longitud uno; ● No hay secuencias anidadas; ● No existen los valores nulos; ● Una secuencia puede ser vacía; ● Las secuencias pueden tener valores heterogéneos; ●Las secuencias tienen orden;

38 Query para XML ¿Se justifica?
→Bases de datos especiales (special XML databases) →Los mayores DBMSs “entienden” XML; ¿Necesita el mundo un nuevo lenguaje query? →La mayoría de los datos de negocios del mundo está almacenados en bases de datos relacionales; →El lenguaje relacional SQL está maduro y establecido; Podemos adaptar SQL para consultar datos XML? →Influencia del software existente →Influencia de los usuarios ya capacitados ¿En que difieren los datos XML de los datos relacionales? Los datos relacionales son “chatos”: filas y columnas; Los datos XML son anidados: la profundidad puede ser irregular e impredecible; most XML data will be mapped to relational and OO/OR databases XML databases are emerging existing databases now begin to offer XML interfaces for processing documents there is the DOM interface, which is very low level for higher level questions that combines data in a document (or different documents) you want a high-level language Xpath: simple and efficient, based on idea of path expressions, can be incorporated in URLs (part of Xpointer) XSLT: originally style sheet language, now for any type of transformation, can be used for querying (not treated here) Xquery: SQL-like high-level query language XPath1.0 en XSLT1.0 have been fully implemented, since dec ’01 there are XQuery1.0 XPath2.0 and XSLT2.0 available. Of these only incomplete prototypical implementations are available.

39 Las relaciones pueden representar datos jerárquicos
mediante el uso de claves foráneas o usando tipos de datos estructurados (sistemas relacionales extendidos). En XML es natural buscar en niveles desconocidos de jerarquía: “Encontrar todos los objetos rojos”; Los datos relacionales son uniformes y repetitivos: → Todas las cuentas bancarias tienen estructura similar; → Los “metadatos” se almacenan en el catálogo del sistema; Los datos XML son altamente variables; → Cada página web es diferente; → Cada objeto XML es autodescriptivo; → Los “metadatos” están distribuidos a través del documento; → Las consultas pueden acceder tanto a datos como a metadatos: “Encontrar elementos cuyo nombre y contenido coincidan”: //*[name(.) =string(.)]

40 queries relacionales retornan conjuntos uniformes de filas;
El resultado de un query sobre XML puede ser una mezcla de tipos y estructuras complejas; → “cosas rojas": una gorra, una manzana, una señal de pare, → Elementos y valores atómicos mezclados; → Los queries XML deben poder realizar transformaciones estructurales; por ejemplo invertir una jerarquía Las filas de una relación no tienen orden; → Cualquier ordenamiento se deriva de los valores; Los elementos en un documento XML están ordenados; lo que implica que: → Se preserva el orden de entrada en los resultados → Se especifica un orden de salida; “Encontrar todas las herramientas usadas antes que el martillo“;

41 Comparación con el modelo relacional
Los datos relacionales son “densos”; → Cada fila tiene un valor en cada columna; → Para un dato desconocido o no aplicable es necesario un valor nulo ("null“); Los datos XML pueden ser “ralos” o no densos; → Los elementos inaplicables o desconocidos pueden ser vacíos ("empty“) o faltantes; → Esto da a XML un grado de libertad no presente en las bases de datos relacionales.

42 Comparación con el modelo relacional...
Ineficiencia: las etiquetas, que representan información del esquema, se repiten. Para el intercambio de datos, el uso de XML es mejor que el uso de relaciones: A diferencia de las tuplas relacionales, los datos XML son autodescriptivos debido a la presencia de las etiquetas Formato no rígido: se pueden agregar etiquetas Se permiten estructuras anidadas Amplia aceptación, no sólo en los DBMSs sino también en browsers y otras aplicaciones.

43 Algo más de sintaxis XML
Para almacenar un string de datos que pueda contener etiquetas (tags), sin que esas etiquetas sean interpretados como subelementos, usar CDATA como se muestra a continuación: <![CDATA[<account> … </account>]]> Aquí, <account> y </account> son tratados sólo como strings El término CDATA viene de “character data”

44 Usando CDATA <ENCABEZADO> Ingresando un miembro al Kennel Club
<DESCRIPCION> Ingrese el nombre del perro tal como figura en sus papeles.Use la etiqueta Nombre. Nombre tiene a su vez dos atributos: nombre_común que es el nombre con que se llama al perro y raza (ingresarla en minúsculas por favor). Por favor leer la guía de razas para ver las aceptadas. Sus datos deben tener el aspecto del ejemplo: </DESCRIPCION> <EJEMPLO> <![CDATA[<Nombre nombre_común=“tony" raza="springer- spaniel">Sir Fredrick </Nombre>]]> </EJEMPLO>

45 Etiqueta de encabezado (The Head Tag)
<?xml version="1.0" standalone="yes/no" encoding="UTF-8"?> - Standalone=“no” significa que se usa un DTD externo Se puede omitir encoding="UTF-8”(valor por defecto)


Descargar ppt "Dos tipos de documentos XML Siglas y más Siglas… Historia y Objetivos"

Presentaciones similares


Anuncios Google