XML es la abreviatura de “eXtensible Markup Language”, y es un estándar creado por el World Wide Web Consortium lanzado en 1998. Es heredero del lenguaje SGML, al igual que HTML, que también surge del mismo lenguaje.
Si lleváis tiempo en esto, ya os habréis encontrado con múltiples representantes del lenguaje XML y conocéis de sobra su estructura, así que no nos meteremos a explicarla.
¿Y esto de dónde viene?
Quizás la popularización del XML surgió a raíz de los servicios web, donde APIs como la JAX-WS de Java usaban el formato XML para envolver la información que se iba a transmitir. Esto permitió estandarizar la comunicación entre distintos lenguajes y plataformas, con todas las ventajas que ello ofrece.
De esta forma, la respuesta de un servicio podría hacer uso de SOAP (Simple Object Acces Protocol), que se basa en XML, para intercambiar la información.
Pero los usos de XML no sólo se limitan a esto, múltiples programas usan este formato para intercambiar información, muchos servidores optan por almacenar sus configuraciones en fichero XML, e incluso muchos sistemas usan XML para presentar información a los humanos.
¿Pero JSON no es más rápido?
JSON es una alternativa más reciente que el XML para el intercambio de información y posee múltiples virtudes, pero no siempre es la mejor opción. Quizás lo ideal sea saber cuándo usar cada uno de ellos:
JSON
- Sintaxis más simple, menos sobrecargada, lo que lo hace más ligero a la hora de enviar la misma cantidad de información.
- Más fácil de parsear que el XML. En JavaScript, JSON se usa como notación de objetos.
- Puede usar JSON-SCHEMA para validar documentos JSON.
XML
- Posee DTD y XSD, siendo estos últimos más completos para la validación de documentos que un JSON-SCHEMA.
- Tiene la posibilidad de usar namespaces, para poder unir la información de múltiples documentos sin conflicto.
- Dispone de XSLT, que permite transformar y formatear documentos.
Transformar y formatear, la frontera final
Y es justo en este punto en el que XML no tiene una alternativa fuerte a día de hoy.
XSLT permite transformar documentos, e incluso formatearlos, generando a partir de un XML de entrada, una salida que puede ser mostrada directamente en un navegador tal y como queremos (transformar a HTML mediante una plantilla XSL) o generar un PDF con ella (XSL-FO permite especificar las características de cada página generada en el documento).
Si quieres saber más, siempre puedes consultar la web de W3C o la web de xmlfiles, que pueden ayudarte a introducirte en esta tecnología… Además de apuntarte a nuestro curso de XML.