| 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.
				Definición de Datos
 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.
 
				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
 
 
 
 |