• No se han encontrado resultados

XML y Bases de datos XML

N/A
N/A
Protected

Academic year: 2021

Share "XML y Bases de datos XML"

Copied!
20
0
0

Texto completo

(1)

XML y Bases de datos

XML

Amparo L´opez Gaona

Agosto 2008

(2)

XML

El lenguaje XML (eXtensible Markup Language) es un lenguaje de marcado dise˜nado para definir contenido m´as que presentaci´on. Marcado significa un mecanismo para agregar meta-conocimiento e informaci´on de la estructura al documento.

Est´andar para representaci´on e intercambio de datos, principalmente en Internet.

En tanto HTML usa las marcas para presentaci´on (”it´alicas”), XML las utiliza para definir la sem´antica (”esto es una direcci´on”). La idea principal es crear un conjunto de marcas para un dominio (qu´ımica, econom´ıa, etc.) y traducir todos los datos en documentos XML con las marcas apropiadas.

(3)

Caracter´ısticas generales

Usuarios definen sus propias marcas/etiquetas.

Las marcas sobre elementos identifican su sem´antica en lugar de especificar el formato.

La estructura de los documentos puede anidarse a cualquier nivel. Las relaciones entre los datos se dan v´ıa anidamientos y referencias. Los documentos XML pueden contener la descripci´on de su

gram´atica.

El contenido de la informaci´on est´a separado de su traducci´on (formato).

XML es una familia de tecnolog´ıas.

XML no requiere de licencia y es independiente de plataformas.

(4)

Documentos XML

Undocumento XMLpuede ser visto como una secuencia de

caracteres que se sujetan a ciertas reglas y en ocasiones con cierto sentido.

Unaaplicaci´on XMLes un vocabulario espec´ıfico que contiene elementos y atributos.

Por ejemplo DocBook es una aplicaci´on XML para producir

manuscritos t´ecnicos como un libro. Los elementos que define incluyen

book, chapter, para, sect1, sect2, programlisting, etc. Al escribir un documento DocBook, se utilizan esos elementos y en la forma establecida. Todos los documentos DocBook son documentos XML, pero al contrario no es cierto.

La sintaxis de la aplicaci´on define cu´ales son los documentos v´alidos y existen diferentes lenguajes para ello: DTD, esquemas.

(5)

Ejemplo

<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> <book lang="es"> <chapter> <title>Hola</title> <para>Esta es la introducci’on</para> <!-- Un primer comentario --> <sect1> <title>Secci’on ’unica</title> <para>Y hasta dice algo</para> <sect2>

<title>Primera subsecci’on</title> <para>Nada de que hablar</para> </sect2>

<sect2>

<title>Segunda subsecci’on</title> <para>Nada que decir</para> </sect2>

</sect1> </chapter> <chapter>

<title>Mundo</title>

<para>Esta es otra introducci’on</para> <sect1>

<!-- Un comentario en la primera secci’on, del segundo cap’itulo --> <title>Primer t’itulo</title>

<para>Algo que decir</para> </sect1>

<sect1>

<title>Segundo t’itulo</title> <para>M’as que decir</para> </sect1>

</chapter>

(6)

Ingredientes de XML

Un documento XML consta de tres tipos de componentes:

Elementos. Todo elemento est´a delimitado por una marca de inicio y una de final.

<divisa> .... </divisa>

Atributos sobre los elementos. <divisa moneda= "dolar" > .... </divisa>

Texto. Todo aquello que est´a entre las marcas y no es otro elemento. <...>14 de Abril de 1992</...>

(7)

Elementos

La unidad fundamental de XML es el elemento. Cada documento tiene al menos un elemento. Los elementos tienen 4 componentes:

Nombre. Atributos.

Espacio de nombre en el alcance del elemento. Contenido.

(8)

... Elementos (nombre)

El nombre de cada elemento puede contener tantos caracteres alfanum´ericos como se requiera.

No puede empezar ni con n´umero. No puede contener espacios en blanco.

No puede empezar con ”XML”en ninguna combinaci´on de mey´usculas ni min´usculas.

Cada elemento est´a delimitado por un par de marcas: Una de inicio: <nombre del elemento>

Una de fin </nombre del elemento>

(9)

... Elementos (Contenido)

Lo que est´a entre las marcas es el contenido del elemento. Este puede ser: Texto: <pais>Mexico</pais>

Un conjunto de elementos.

<envio>

<calleNum>Tlalcoligia 98</calleNum> <ciudad> Mexico D.F.</ciudad> <cp>14440</cp>

<pais>Mexico</pais> </envio>

Mixto:

<envio>

Srita. Andrea Lopez

<calleNum>Tlalcoligia 98</calleNum>

<ciudad> Mexico D.F.</ciudad> <cp>14440</cp> <pais>Mexico</pais>

</envio>

Muy ´util para documentos que contienen narrativa: libros, historias, etc.

No tan ´util en aplicaciones orientadas a los datos.

(10)

... Elementos (contenido)

Vac´ıo

<pais></pais> != <pais> </pais> <pais/>

En el contenido de un elemento no pueden ir los caracteres <, >, &, ;, ’.

(11)

... Elementos (Atributos)

Los atributos son valores, con nombre, asociados con los elementos. La sintaxis es: nombre =valor

El nombre de un atributo es cualquier nombre v´alido y el valor es una cadena de texto, entre apostrofes o comillas.

<subtotal moneda=’euro’>393.85</subtotal> <subtotal moneda="euro">393.85</subtotal> <subtotal moneda = "euro">393.85</subtotal>

Un elemento puede tener o no atributos.

(12)

... Elementos (Atributos)

<mensaje para="[email protected]" de="[email protected]" tema="Felicitacion"> <texto>

Este premio es la recompensa justa a tu esfuerzo. !Felicidades! </texto>

</mensaje>

El orden de los atributos es irrelevante.

<mensaje para="[email protected]" de="[email protected]" tema="Felicitacion"> <mensaje para="[email protected]" tema="Felicitacion" de="[email protected]"> <mensaje tema="Felicitacion" de="[email protected]" para="[email protected]">

Se puede definir tanto con atributos como con elementos.

<mensaje>

<para>[email protected]</para> <de>[email protected]</de> <tema>Felicitacion</tema> <texto>

Este premio es la recompensa justa a tu esfuerzo. !Felicidades! </texto>

</mensaje>

(13)

Instrucciones de proceso

Se utilizan por la aplicaci´on que procesa un documento XML.

Especifican software particular para manejar el documento XML una vez que se ha realizado la revisi´on sint´actica.

Sintaxis:<? y?>

Pueden aparecer antes, dentro o despu´es del elemento ra´ız. No hay regla para ello. Generalmente aparecen en el pr´ologo.

En general no se asocian con una aplicaci´on XML. Se utilizan para informaci´on que no es relativa a XML. <?xml version="1.0" encoding="ISO-8859-1"?>

<?xml-stylesheet type= "text/xml"href="limited.xsl"?>

(14)

Pr´

ologo

Los documentos XML pueden empezar con un pr´ologo.

El pr´ologo contiene una declaraci´on y la definici´on de las reglas sint´acticas del mismo.

Atributos del pr´ologo:

version Identifica la versi´on XML usada en tal documento. Este atributo es obligatorio y de momento su valor 1.0.

encodingIdentifica el conjunto de caracteres usados.ISO-8859-1 es para espa˜nol. El valor por omisi´on es el Unicode comprimido UTF-8. standaloneEspecifica cuando un documento se refiera a una

entidad externa o a una definici´on de tipos de dato externo. Si no hay tales referencias se debe escribiryes.

<?xml version="1.0" encoding="ISO-8859-1"?>

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> Todo lo que est´a despu´es del pr´ologo constituye el contenido del

documento.

(15)

Comentarios

Los comentarios permiten incluir en el documento informaci´on que no ser´a procesada.

Se escriben entre los s´ımbolos<!-- y-->

Se pueden colocar en cualquier sitio, excepto en las marcas, dentro de otros comentarios ni en las DTDs.

<!-- Verificar que este documento tenga codigo ISO-8859-1 --> <mensaje para="[email protected]" de="[email protected]"

tema="Felicitacion">

<!-- Este es un comentario inutil --> <texto>

Este premio es la recompensa justa a tu esfuerzo. !Felicidades! </texto>

</mensaje>

No deben incluir

(16)

Entidades

Existen entidades predefinidas que son marcas para representar caracteres especiales. Se ponen entre los s´ımbolos &y;

Se tienen cinco entidades predefinidas:

1 &amp; (&). 2 &lt; (<). 3 &gt; (>). 4 &apos; (’). 5 &quot; (").

Ejemplos: &#201; (´E) (Referencias a caracteres) &alg; @Amparo L´opez Gaona

(17)

CDATA (Character data)

El parser ignora lo que se encuentra en esta secci´on, m´as bien lo interpreta como caracteres sin significado alguno.

Puede utilizarse para incluir scripts escritos en otros lenguajes como JavaScript.

<mensaje>Feliz dia</mensaje> Elemento

<![CDATA[<mensaje>Feliz dia</mensaje>]]> &lt;mensaje&gt;Feliz dia&lt;/mensaje&gt; <![CDATA[ function F_to_C { return ((F - 32) * (5 / 9)) } ]]>

Una secci´onCDATAno puede contener la cadena]]>por lo tanto no es posible tenerCDATAs anidadas.

Ejemplo para codificar ]]>se escribir´ıa: <![CDATA[]]]]><![CDATA[>]]>

(18)

Espacios de Nombre

Los espacios de nombre permiten escribir un documento que usa dos o m´as conjuntos de etiquetas sin complicto.

Con lo cual se reutilizan esquemas existentes para dise˜nar documentos XML m´as complejos.

Un espacio de nombres se declara con la palabra reservadaxmlnsy su valor debe ser un uniform resource identifier (URI)

Ejemplo: Suponer que una compa˜n´ıa xml.comdesea publicar rese˜nas de sus libros y se desea marcar la informaci´on tanto con XML como con HTML.

Se debe poder distinguir por ejemplo, entre la etiqueta titlecomo t´ıtulo del libro y otra llamada igual para HTML.

(19)

... Espacios de Nombre

<h:html xmlns:xdc="http://www.xml.com/books" xmlns:h="http://www.w3.org/HTML/1998/html4"> <h:head><h:title>Book Review</h:title></h:head> <h:body> <xdc:bookreview> <xdc:title>XML: A Primer</xdc:title> <h:table> <h:tr align="center"> <h:td>Author</h:td><h:td>Price</h:td> <h:td>Pages</h:td><h:td>Date</h:td></h:tr> <h:tr align="left"> <h:td><xdc:author>Simon St. Laurent</xdc:author></h:td> <h:td><xdc:price>31.98</xdc:price></h:td> <h:td><xdc:pages>352</xdc:pages></h:td> <h:td><xdc:date>1998/01</xdc:date></h:td> </h:tr> </h:table> </xdc:bookreview> </h:body> </h:html>

(20)

... Espacios de Nombre

Utilizando un espacio por omisi´on.

<html xmlns="http://www.w3.org/HTML/1998/html4" xmlns:xdc="http://www.xml.com/books"> <head><title>Book Review</title></head> <body> <xdc:bookreview> <xdc:title>XML: A Primer</xdc:title> <table> <tr align="center"> <td>Author</td><td>Price</td> <td>Pages</td><td>Date</td></tr> <tr align="left"> <td><xdc:author>Simon St. Laurent</xdc:author></td> <td><xdc:price>31.98</xdc:price></td> <td><xdc:pages>352</xdc:pages></td> <td><xdc:date>1998/01</xdc:date></td> </tr> </table> </xdc:bookreview> </body> </html>

Referencias

Documento similar

Las nuevas posibilidades en el acceso, almacenamiento y utilización de la información han motivado una toma de conciencia sobre el valor de la información en el ámbito

Para solucionar estos problemas de conectividad y accesibilidad a disímiles fuentes de datos como servidores de bases de datos relacionales y ficheros XML, han surgido

La petición la recibe el módulo Notificación del Proveedor el cual se la pasa a Procesamiento para que éste con el XML que contiene la descripción del pedido genere un

En el capítulo 2: Descripción de las tecnologías para la solución, se describen las tecnologías utilizadas para la comunicación del mundo virtual con el resto

El programador de la seguridad del SIGEP, para llevar a cabo el trabajo de identificar los recursos de la aplicación, debe chequear todos los archivos XML que controlan

unmarshal($element) Este método devuelve un objeto de tipo FindBusiness que ha sido modelado, según la información sacada de un elemento XML con estructura de un mensaje SOAP, que

Descripción General: La misma tiene el objetivo serializar a xml los datos asociados a un atributo de un objeto de la base de datos y obtener estos datos a partir del mismo xml.

Por todas las razones expuestas se puede afirmar que la Plataforma de Televisión Informativa no cuenta con un proceso de redacción de noticias que permita la presentación