XML no es un lenguaje de programación. XML no es una base de datos ni las reemplaza como forma adecuada de almacenar datos. XML no es HTML. XML no es AJAX.
XML es un metalenguaje creado para compartir datos, se llama así por las siglas en ingles de eXtensible Markup Language, que significa Lenguaje de Marcas Extensible.
XML se basa en reglas muy simples, pero estrictas y eso le da la potencia y autoridad de ser un estándar para el intercambio de datos entre aplicaciones.
XML e Intercambio de Datos
En las décadas de los 80 y 90, y desde los inicios de la informática, cada aplicación y datos funcionaban de forma aislada, era muy poco común que una misma base datos o dos aplicaciones se comuniquen. Incluso con la masificación de las redes esto seguía así.
Hoy día, pasa lo contrario, ya que la mayoría de las aplicaciones y dispositivos conversan entre si, y es ahí donde lenguajes como XML son necesarios. Es típico que nuestro sitio en PHP consuma Servicios y datos de un servidor externo que puede estar programado en otro lenguaje como Python, C#, entre otros. Incluso esa información que accedemos puede estar en cualquier tipo de Base de Datos.
Una de las ventajas de usar XML como Lenguaje de Intercambio de Datos, es que no es necesario saber en que Lenguaje está programado el servicio, ni en que Sistema Operativo corre, y ni siquiera Sistema de Bases de Datos utiliza. Lo único que necesitamos conocer es como acceder a él, y luego como procesar ese contenido XML que obtenemos de respuesta.
Reglas del XML
Como dijimos, las reglas del XML son simples, pero debemos respetarlas, algunas de las reglas son:
- Cada elemento debe tener una marca de apertura, y cierre. Mirando la imagen <nombre> abre y </nombre> cierra, ese es el elemento nombre del artículo, a su vez <articulo> abre y </articulo> cierra, el elemento artículo, que como vemos contiene otros elemento (Nombre y Precio) y hay varios elementos Articulo (Refresco y Cerveza).
- Los nombres de los elementos no pueden tener espacios, tampoco símbolos raros.
- Los elementos se cierran en orden inverso al abierto, por ejemplo no puedo cerrar </productos> antes del último </articulo>
- Los elementos vacíos también deben cerrarse, por ejemplo, en ese caso en vez de <precio></precio>, al ser un elemento vacío, puedo usar <precio /> con lo cual abro y cierro en la misma Tag o Marca.
- Los nombres de elementos son sensible a Mayúsculas y minúsculas, por ejemplo, <Articulo> es distinto a <articulo>, tal como pasa en muchos lenguajes. Es buen consejo como regla general, usar siempre minúsculas para todas las Tags.
- Siempre debe existir un elemento Raíz, que contenga todos los demás. En la imagen, nuestro elemento Raíz es <productos> que contiene todos los artículos.
La última regla la deje para el final a propósito, ya que a simple vista en la imagen, sería la menos entendible, y además no debemos olvidarla. Esta regla indica que al comienzo del XML debemos indicar la versión de XML utilizada, y opcionalmente el juego de caracteres. La primer línea de nuestro ejemplo sería:
<?xml version=»1.0″ encoding=»uft-8″>
el juego de caracteres mas común es UTF-8, pero pudo ser otro como ISO-8859-1.
Nuestro archivo productos.xml quedaría finalmente de esta forma:
<?xml version=»1.0″ encoding=»uft-8″?>
<productos>
<articulo>
<nombre>Refresco 1LT</nombre>
<precio>1.25</precio>
</articulo>
<articulo>
<nombre>Cerveza 1LT</nombre>
<precio>2.15</precio>
</articulo>
</productos>
espero tus comentarios, y seguimos profundizando en la próxima entrega 😉