Introducción a XML

Anuncio
Introducción a XML
Ricardo Markiewicz <[email protected]>
7 de marzo del 2003
Índice
1. Lenguajes de Marcas
2. ¿Qué es XML?
2.1. Principales Características . . .
2.2. Herramientas complementarias
2.2.1. Contenidos . . . . . . .
2.2.2. Diseño (Hojas de estilo)
2.2.3. Programación . . . . . .
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
3
3
3
3
4
3. Sintaxis XML
4
4. Bibliografía
5
1
1.
Lenguajes de Marcas
Los lenguajes de marcas son una tecnología que está presente en el mundo informático desde hacer más
de 40 años, producto de necesidades concretas.
La primer solución surgió en la década del ’70 cuando la gente de IBM se encontró con el problema de
almacenar los grandes volúmenes de información que manejaban. Para resolver este problema crearon el
lenguaje GML (General Markup Language, Lenguaje General de Marcas), que no era más que un archivo
de texto ASCII con una estructura de marcas que definían el contenido del documento.
El principal problema del tratamiento de contenidos hasta que apareció GML era que cada aplicación
guardaba la información de una manera distinta y cuando era necesario compartir información entre distintos departamentos se debía tener en cuenta con que recursos contaba el destino del documento. El GML
permitió a IBM definir la estructura para sus documentos, de manera tal que se pudiera compartir la información entre los distintos departamentos sin preocuparse por el formato, ya que lo importante era el
contenido.
Años más tarde, la gente de ISO puso mucho interés en el lenguaje de marcas GML y decidió normalizarlo, apareciendo así SGML (la “s” por Standar), que permitió al lenguaje un crecimiento mayor ya que
cualquier aplicación que se adopte al estándar sería capaz de leer documentos SGML.
Por el año ’89, con la inminente aparición de las redes como Internet, aparece el lenguaje HTML, una
mutación de SGML a la que se le agregan enlaces de hipertexto. Este nuevo lenguaje fue muy útil durante muchos años y creció rápidamente debido a la competencia de distintas empresas por generar visores
HTML cada vez más complejos, para lo que se fueron incorporando etiquetas propias que hacían, en muchos casos, difícil el diseño de páginas que fueran correctamente visualizadas. Otra problema del HTML
es que violó el principal objetivo del SGML : la abstracción de la información. El HTML permite definir la
forma de visualización de los datos junto con éstos.
Para resolver los problemas del HTML en 1998 la W3C entra en acción, tratando de estandarizar HTML
para lograr compatibilidad entre los distintos visores, lográndolo en gran parte. Sin embargo el problema
de la abstracción de la información está presente aún hoy en día.
2.
¿Qué es XML?
XML es una tecnología realmente muy sencilla que tiene a su alrededor un conjunto de herramientas
más complejas que hacen de XML una herramienta muy poderosa. XML representa una manera distinta
de hacer las cosas, más avanzada, cuya principal novedad consiste en permitir compartir información a
cualquier nivel.
Este lenguaje solo provee de un conjunto de reglas que nos permite definir etiquetas semánticas que nos
permiten organizar nuestros datos.
Desde 1998 XML a crecido mucho, bajo la lupa del W3C, quien define las características principales del
lenguaje. Los objetivos planteados para su desarrollo son :
XML debe ser directamente utilizable desde Internet, para poder aprovechar toda la tecnología actual.
Debe soportar una amplia variedad de aplicaciones
Debe ser compatible con SGML
Debe ser fácil la escritura que procesen datos formateados en XML
El número de características opcionales de XML debe ser lo más reducido posible, nulo en lo posible.
Los documentos XML deben ser legibles por los humanos y razonablemente claros.
2
2.1.
Principales Características
La siguiente lista proporciona algunas de las características más relevantes del XML
Es una arquitectura abierta y extensible.
La integración de datos entre distintas tecnologías es muy fácil.
Abstracción de la información. XML está diseñado para definir contenido, y no su manera de visualizarlo.
Exportabilidad a otros formatos de publicaciones. Desde un archivo XML pueden generarse documentos HTML, PDF, PS, RTF, etc.
Posee una estructura jerárquica para organizar los datos.
2.2.
Herramientas complementarias
Como se mencionó anteriormente XML no está solo. Existe un amplio conjunto de herramientas preparadas para dar soporte a XML, que podemos agrupar en 3 categorías :
1.
Contenidos
2.
Diseño
3.
Programación
2.2.1.
Contenidos
Como se dijo los documentos XML están escritos mediante marcas, lo que lleva a hacernos la siguiente
pregunta : ¿qué etiquetas puedo utilizar?, ¿en qué orden las debo tratar?. Este es un problema que se soluciona utilizando las hojas de contenido, que contienen la información de las etiquetas disponibles para un
cierto documento XML, en que orden deben estar, que etiquetas pueden anidarse, etc.
Hoy existen 2 alternativas para definir el formato del contenido : DTD (Document Type Definition) y
las XML Schem. Las primeras aparecieron junto con SGML, y utilizan un formato propio, mientras que la
segundo es una solución más reciente, que utiliza un conjunto de etiquetas XML no extensible para generar
etiquetas nuevas para nuestro propio documento.
2.2.2.
Diseño (Hojas de estilo)
Por diseño se entiende la forma de visualizar un documento XML. Utilizar hojas de estilo permite que
a partir de un documento XML se pueda generar distintas salidas, como ser HTML o PDF de forma independiente.
La creación de hojas de estilo también tiene distintas opciones : las hojas CSS (Cascade Style Sheet)
utilizadas actualmente en páginas web, y las XSL (XML Style Language). La primera son una simplificación
de las hojas de estilo DSSSL aparecidas junto con GML, que no utilizan un formato parecido a XML. Las
XSL son, al igual que las XML Schem, documento XML válidos donde es posible definir el formato del
documento.
Dependiendo de la forma de visualización que se desee, hay que crear una hoja de estilo para dicho
formato.
3
2.2.3.
Programación
Si queremos realizar aplicaciones que utilicen archivos en formato XML por fortuna tenemos ya mucho
trabajo resuelto. El W3C ha especificado dos mecanismos para acceder y trabajar con este tipo de documentos. Estas normas incluyen una jerarquía de objetos que poseen métodos y atributos con los que podremos
trabajar y nos simplificarán el trabajo a la hora de programar.
Estos mecanismos se denominan SAX y DOM. El primero se utiliza para realizar un recorrido secuencial
de los elementos del documentos, y el segundo implica la creación de un árbol en memoria con la jerarquía,
donde podemos hacer cualquier tipo de recorrido que necesitemos.
Esta especificación es independiente del lenguaje de programación, solo debemos tener alguna biblioteca o soporte nativo implementado para poder utilizarlos.
3.
Sintaxis XML
Dicen que el XML es un 10 % del SGML y de verdad lo es, porque en realidad las normas que tiene
son muy simples. Se escribe en un documento de texto ASCII, igual que el HTML y en la cabecera del
documento se tiene que poner el texto
<?xml version="1.0"?>
En el resto del documento se deben escribir etiquetas encerradas entre “<” y “>”, y cada etiqueta debe
tener su correspondiente etiqueta de cierre, que no es más que la misma etiqueta que la anterior pero esta
vez encerrada entre “</” y “>”.
Pueden ser las etiquetas que nosotros queramos, por eso el lenguaje se llama XML, lenguaje de etiquetas
extendido. Más aún, XML no define ninguna etiqueta.
Las etiquetas se escriben anidas, unas dentro de otras, lo que define la estructura jerárquica del documento, por ejemplo :
<ETIQ1>...<ETIQ2>...</ETIQ2>...</ETIQ1>
Cualquier etiqueta puede tener atributos. Le podemos poner los atributos que queramos, y se debe
cuidar durante el diseño que si utilizamos atributos no se pierda flexibilidad en un futuro. (Ej : <ETIQ
atributo1="valor1" atributo2="valor2"...>).
Los comentarios de XML se escriben igual que los de HTML : <!– Comentario –>
Y esto es todo lo que es el lenguaje XML en si, aunque tenemos que tener en cuenta que el XML tiene
muchos otros lenguajes y tecnologías trabajando alrededor de él. Sin embargo, no cabe duda que la sintaxis
XML es realmente reducida y sencilla.
Para definir qué etiquetas y atributos debemos utilizar al escribir en XML tenemos que fijarnos en la
manera de guardar la información de una forma estructurada y ordenada. Por ejemplo, si deseamos guardar
la información relacionada con una base de datos de películas en un documento XML podríamos utilizar
un esquema con las siguientes etiqueta :
<?xml version="1.0"?>
<PELICULA nombre="El Padrino" año=1985>
<PERSONAL>
<DIRECTOR nombre="Georgie Lucar" />
<INTERPRETE nombre="Marlon Brando" interpreta-a="Don Corleone" />
<INTERPRETE nombre="Al Pacino" interpreta-a="Michael Corleone" />
</PERSONAL>
</ARGUMENTO descripción="Pelicula de mafias sicilianas en Estados Unidos">
</PELICULA>
4
Como puede verse en este primer ejemplo las etiquetas las he definido como más me gusto en el momento
de escribir este texto. También se puede ver que muchas etiquetas se cierran sobre si mismas.
Si bien el esquema anterior funciona bien y cumple su objetivo, no permite de manera fácil extenderla.
Supongamos ahora que queremos agregar más datos sobre el director. Una solución podría ser agregar mas
atributos a la etiqueta DIRECTOR, lo que haría más difícil su lectura.
La solución más elegante sería algo como :
<DIRECTOR ranking=”55”>
<NOMBRE>Georgie Lucar</NOMBRE>
<EDAD>55</EDAD>
<NAC>EE.UU</NAC>
<TRABAJOS>
<FILM>Film 1</FILM>
<FILM>FIlm 2</FILM>
</TRABAJOS>
</DIRECTOR>
Puede verse ahora que nuestro documento toma una forma más clara y ordenada, así como también más
flexible. También usé atributos, pero ahora no definen contenido (como era el nombre), sino alguna propiedad del director.
4.
Bibliografía
XML In a Nutshell (2do Edition) - Editorial O’Really
5
Descargar