html5-img
1 / 47

¿Cuándo usar un DTD?

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

yehudi
Download Presentation

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

  2. Datos Semiestructurados n Características: n Pueden ser irregulares y no respetan un esquema particular. n Puede ser incompletos. n La estructura puede evolucionarmuy rápidamente. n Sus componentes pueden cambiar de tipo. n Nuevos datos pueden no respetar la estructuradelosdatos existente previamente. nAlta frecuencia de modificaciones en las propiedades estructurales. n Datos débilmente “tipados”. nSon 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.

  3. Datos Semi-Estructurados • n Nombre:”Luis Perez”, Tel:2157786, email:agb@abc.com • n Nombre:”Juan”, Apellido: “Rodriguez”, Tel:976789, email: • hij@cbd.com • n Nombre:”Jose”, Apellido: “Martinez”, Altura:183 • n Nombre:”Marcos Rodriguez”, Tel:011-976780, profesion: • Ingeniero • Primer Apellido: “Gonzalez”, Segundo Apellido:”Perez”, Primer Nombre: “Maria”, Segundo Nombre:”Eugenia”, Tel Casa: “945555”, Tel Trab: “478888”, Cel: “012-99908” , Dir: (Calle: “2”, Dpto:”53”, Bº:”La Colina”, Ciudad:”jujuy”), email:mepg@toh..com, profesion:”Medico”, lugarTrabajo:(Empresa:”Centro de Salud”, ciudad:”Jujuy”)

  4. ¿Por qué existen Datos Semiestructurados? nObjetos 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. nEs deseable tener un formato flexible para el Intercambio e Integración de Datos que provienen de distintas BDs. nA veces es deseable visualizar la información estructurada como semiestructurada (por ej. para poder hacer browsing).

  5. XML (eXtensible MarkupLanguage) 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. ● 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:

  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 334455 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, simediante 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 Las marcas XML añaden el contexto necesario para indicartanto a las personas como a los sistemaspreparados para tal fin, que estamos realizando un derivación donde HC334455 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 estructurardatos 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 textosen 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.

  11. XML es una variante evolutiva del SGML(Standard Generalized Markup Language),e incorpora una serie de nuevos elementos con respecto al HTML. Las versiones actuales de IE y Netscape soportan la especificación XML (aunque es probable que HTML no desaparezca pronto de la web).

  12. Los tres pilares de XML, Extensibilidad, Estructura y Validez.

  13. 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 datosde 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 definanun 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.

  14. 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 ●presentación determinada por separado (‘stylesheet’).El uso de XML y XSLT (Extensible Stylesheet Language Transformations) permite separar contenido y presentación. - No tiene fijada la estructura ●esquemas definidos por el usuario (user-defined schemas)

  15. 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.

  16. 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.

  17. Objetivos… El número de características opcionales en XML debe ser absolutamente mínima, idealmente cero. Los documentos XMLdeben ser legibles por humanosy razonablemente claros. El diseño de XML debe ser preparado rápidamente. El diseño de XMLdebe 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 queetiquetasy 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.

  18. 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 lasintaxis 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...)

  19. XSLT XSL XPath XSL-FO • 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 Diapositiva anterior

  20. Siglas y más siglas… DOM (Document Object Model):interfaz que proporciona llamadas estandar a funciones y procedimientosque permiten trabajar el contenido, la estructura y el estiloo 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.

  21. 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 XMLcon 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.

  22. 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 deQuilt, que combina características de SQL, XQL y XML-QL.

  23. 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 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 "bienformado“ (well-formed) porque, aunque no dispone de reglas de certificación asociadas,sigue las reglas de sintaxis especificadas para el lenguaje XML.

  24. ¿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, identificar 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.

  25. 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)

  26. <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> <cuenta> … … … </cuenta> </cliente> ... ... </banco-1> Ejemplo de Elementos anidados

  27. 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 elementosid_cliente, nombre_clienteydirecció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 si 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.

  28. 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. Estructura de datos XML (Cont.)

  29. 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=valordentro 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”> Atributos

  30. 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. • Cierta 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.

  31. <?xml version ="1.0"?> <ListaPersonal Tipo=“estudiante" Fecha="12-12-06"> <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> <Persona> <Nombre>Luis García</Nombre> <Id>33</Id> <Dirección> <Calle>El Pozo</Calle> <Número>4</Número> </Dirección> </Persona> </Contenido> </ListaPersonal> Ejemplo de Documento XML

  32. 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 unatributo 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

  33. Son diferentes • 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>

  34. Anidamiento Las etiquetas pueden estar anidadas, es decir, los elementos definidos pueden estar contenidos dentro de otros elementos. Por ejemplo la derivaciónde un pacientepuede contener sub-elementos para describir la fecha, la historia clínicadel paciente, el servicio y el diagnóstico que motivó la derivación. Normalmente unanidamiento 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.

  35. En los atributos (b,c) el orden no importa <a b=“2” c=“Feb” /> <a> <b> 2 </b> <c> Feb </c> </a> En los elementos <b> y <c> el orden importa 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):

  36. 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 o etiqueta y su valor aparece entre comillas

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

  38. Un valor es una secuencia ordenada de cero o más items; • Un item es un nodoo 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 puedentener valores heterogéneos; ●Las secuencias tienen orden;

  39. 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 datosXML? →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;

  40. Las relaciones pueden representar datos jerárquicos • mediante el uso de claves foráneaso usandotipos de datos • estructurados(sistemas relacionales extendidos). • EnXML 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(.)]

  41. 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; • →LosqueriesXML 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“;

  42. 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.

  43. 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 XMLson autodescriptivosdebido 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.

  44. Resumiendo... XML no se concibió como una tecnología para bases de datos. En realidad, al igual que el lenguaje de marcas de hipertexto (HTML) sobre el que está basado World Wide Web, XML tiene sus raíces en la gestión de documentos y está derivado del lenguaje SGML. Sin embargo, a diferencia de SGML y HTML, XML puede representar datos de bases de datos, así como muchas clases de datos estructurados usadas en aplicaciones de negocios. Es particularmente útil como formato de datos cuando las aplicaciones se deben comunicar con otra aplicación o integrar información de varias aplicaciones.

  45. 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”

  46. Usando CDATA <ENCABEZADO> Ingresando un miembro al Kennel Club </ENCABEZADO> <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[<Nombrenombre_común=“tony" raza="springer-spaniel">SirFredrick </Nombre>]]> </EJEMPLO>

  47. 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)

More Related