Introducción
En los últimos años se ha hablado mucho acerca de XML, hasta convertirlo en un objeto de
culto para los desarrolladores que prefieren la transparencia de datos y la compatibilidad
entre aplicaciones (Una Utopia para algunos y una realidad palpable para otros). La verdad
es que XML es una manera simple por la cual representar datos. La llamada Metadata (Datos
que además de proporcionar información se describen así mismos) es útil para que los sistemas
que no saben de donde proviene determinada información sepan que tipos de datos están recogiendo
y de esa manera manejarlos adecuadamente.
Las ventajas que nos provee XML es que la flexibilidad que nos ofrece es altamente útil para
diferentes propósitos, la información se nos provee de manera estructurada y descriptivamente
visual, la información ya no es un conjunto de datos sin sentido, que solo entendía el sistema
para el cual es enviada. Ahora puede ser leída tanto por aplicaciones ajenas a la aplicación que
las envía (o provee) así como por "humanos", vale decir que la información es accesible también
para los desarrolladores y lo más importante que es, entenderla.
El Desarrollador puede definir su propia estructura de datos, a manera similar como se hacia en
las BD antiguas, pero con la certeza que otras personas y otros sistemas puedan "entender" su
propio esquema de definición de datos, aquí radica la importancia de XML, quizá la mayoría de
nosotros hemos "jugado" muchas veces con el termino sin conocer su verdadera importancia o quizá
lo mas importante. La manera más optima de su utilización.
Tecnologías Núcleo de XML
1. Definición de Esquemas XML. Un documento XML como representación de datos debe cumplir un
esquema para ser considerado valido. Estos definen la estructura de un Documento XML y los
tipos de datos que deben manejar.
2. XSLT (Extensible Stylesheet Language Transformation). Esta tecnología, permite que podamos
darle un estilo de presentación a los documentos XML, lo que quiere decir que los datos también
pueden tener una capa de presentación, ajena a su funcionalidad como data misma. Un archivo XSLT
nos permite transformar un documento XML de un formato de presentación a otro.
3. DOM (Document Object Model). Este objeto permite que trabajemos programática mente con datos
XML, la ventaja de DOM es que algunas tecnologías permiten manejar los datos en Memoria ahorrando
un esfuerzo adicional de programación.
Definición de Datos
A manera de introducción hemos visto un poco de definición de algunos conceptos teóricos de XML,
pero queremos comprender también su ventaja en el campo de aplicación. El XML puede definir Esquemas
de datos mediante archivos XSD, como campos, tablas, relaciones etc. de manera que se pueda trabajar
con esquemas antes que con la data misma.
Para tener un ejemplo, consideremos el siguiente grafico
Figura 1.
Tenemos una estructura básica de Base de Datos, dos tablas cada una con su respectiva clave Primaria.
Tabla: Employees
Clave Primaria: EmployeeID
Tabla: Orders
Clave Primaria: OrderID
Clave Foranea: CustomerID
Estas tablas representan un esquema básico y común de las bases de datos, y para completar el esquema
tenemos que las dos tablas están relacionadas, mediante el Campo EmployeeID. Hasta acá todo esta dentro
de la manera clásica de relacionar tablas en una Base de Datos, ahora, donde interviene los XSD y el XML?
Ahora mediante XML podemos construir un archivo XSD que nos genere la defición de la primera tabla
Employee de la siguiente manera:
Figura 2.
Nótese que un elemento define la tabla Employees así como una secuencia de
elementos define cada uno de sus campos, por ejemplo <xs:element name="EmployeeID" type:"xs:int"> y
así secuencialmente según el orden de los elementos en la tabla. Entonces podemos tener tambien un esquema
para la segunda tabla (Orders):
Figura 3.
Ahora ya tenemos definida las dos tablas y sus respectivos campos, usando XML para un archivo XSD, pero
que ventajas nos ofrece? Pues logicamente trabajar con la estructura de una manera fácil y transparente,
las aplicaciones pueden intercambiar datos, conociendo la estructura de la información que se envía, y ya
no serán simplemente una cadena de caracteres sín sentido que era muy difícil de interpretar por aplicaciones
ajenas a la enviante.
Y que nos falta definir en este esquema XSD, pues claro, las relaciones y las claves primarias. Que de manera
similar se pueden definir en un archivo XSD. En la figura cuatro, definimos la clave primaria para la tabla
Employees con el elemento <xs:unique> se crea un campo que será considerado como único dentro del esquema,
o sea una clave primaria el elemento <xs:selector> hace referencia a la tabla y el elemento <xs:field>
hace referencia la campo, tan sencillo como esto:
Figura 4.
Ahora de manera similar nos falta definir la otra clave primaria para la otra tabla, ésto es para la tabla Orders,
de manera similar a la anterior, hacemos lo siguiente:
Figura 5.
Para terminar solo nos falta definir la relacion que tendrán las dos tablas, y ésto se logra de la manera más
sencilla, como se ve en la figura 6, el elemento <xs:keyref> crea una referencia hacia la clave primaria
EmployeeID que esta referida en el Esquema como "Constraint1" y se enlaza a la tabla y campo respectiva mediante
los elementos <xs:selector> y <xs:field> que hacen referencia a la tabla Orders y a su campo EmployeeID
(Clave Foranea).
Figura 6.
De ésta manera se puede definir un esquema de Datos mediante XML de manera rápida y sencilla (la manera más fácil
de manejar los elementos XML se consiguen como todo los metodos de desarrollo : Practica).
Bibliografia Consultada:
Course 2524 Microsoft Co.
La Biblia del XML
MSND on Line
|