¿Qué es XML?

¿Qué es XML?

XML son las siglas de eXtensible Markup Language, que en español se traduce como lenguaje de marcado extensible. Es un estándar abierto, definido por el consorcio W3C y publicado oficialmente en 1998, que sirve para almacenar y transportar datos en un formato de texto sencillo, legible tanto por las personas como por las máquinas. Si alguna vez viste un archivo lleno de etiquetas entre los signos menor que y mayor que, como <nombre>Juan</nombre> o <precio>18500</precio>, ya sabes aproximadamente cómo se ve un documento XML. Conviene aclarar desde el principio qué no es XML. No es un lenguaje de programación: no tiene variables, funciones ni condiciones, y por sí solo no ejecuta absolutamente nada. Tampoco es un lenguaje de presentación: no define colores, tamaños ni posiciones en pantalla. XML es un lenguaje de marcado: describe la estructura y el significado de los datos y los organiza dentro de etiquetas que nombran cada parte de la información. La presentación queda en manos de otro programa, que decide cómo mostrar esos datos en cada caso. Una buena forma de entenderlo es imaginar una caja de cartón con etiquetas adhesivas. La caja contiene datos: un producto, una factura, una noticia, un inventario. Las etiquetas dicen qué es cada dato: nombre, precio, fecha, cantidad. XML hace lo mismo con texto plano: envuelve cada dato en una etiqueta que explica qué es y agrupa todo en una estructura de árbol que cualquier programa puede recorrer de arriba hacia abajo. Esa combinación, datos estructurados, texto plano y un estándar abierto y gratuito, explica por qué XML está detrás de tantas tecnologías que se usan a diario sin verlas: la facturación electrónica, los canales de noticias RSS, los documentos de Office, los sitemaps de los buscadores e incluso el intercambio de información entre bancos, empresas y gobiernos.

Qué significa exactamente XML

Vale la pena desarmar el nombre, porque cada una de sus palabras dice algo importante:
  • eXtensible: no existe una lista fija de etiquetas obligatorias. Cada persona, empresa o industria puede crear sus propias etiquetas con los nombres que necesite: un hospital usa <paciente> o <diagnostico>, una tienda usa <producto> o <precio>. Esa capacidad de extender el lenguaje es lo que lo diferencia de formatos de marcado cerrados.
  • Markup: significa marcado o marcaje. Son las marcas, es decir, las etiquetas que rodean el contenido y le agregan información sobre lo que es cada parte, igual que un corrector de pruebas marca un texto con símbolos para indicar títulos, citas o correcciones.
  • Language: XML tiene una sintaxis con reglas precisas: cómo se abren y cierran las etiquetas, dónde van los atributos, cómo se representan los caracteres especiales. Son pocas reglas y fáciles de aprender, pero deben cumplirse al pie de la letra para que cualquier programa entienda el documento.
Como XML solo describe datos, un mismo documento puede verse de maneras muy distintas según quién lo muestre: un programa puede convertirlo en una tabla, otro en una ficha en pantalla y otro en un archivo PDF. El XML permanece igual; lo único que cambia es la forma de presentarlo. Por eso se dice que XML separa los datos de su presentación, una ventaja enorme cuando la misma información debe circular entre sistemas que no se conocen entre sí.

La estructura de un documento XML

Todo documento XML se compone de las mismas piezas básicas: una declaración opcional al inicio, un elemento raíz que lo contiene todo, elementos anidados que forman una jerarquía, atributos que agregan detalles a los elementos y, por supuesto, el texto con los datos. Veamos el ejemplo más sencillo posible: un catálogo con un solo producto. Puedes copiar este código en un archivo de texto, guardarlo como producto.xml y arrastrarlo a cualquier navegador: Ejemplo 1: un documento XML bien formado <?xml version="1.0" encoding="UTF-8"?> <catalogo>   <producto id="P-100">     <nombre>Café molido 500 g</nombre>     <precio moneda="COP">18500</precio>     <disponible>true</disponible>   </producto> </catalogo> Si el navegador muestra el contenido ordenado y con colores, el XML está bien formado. Si muestra un mensaje de error, hay algún problema de sintaxis. Repasemos cada parte:
  • Declaración XML: la primera línea, <?xml version="1.0" encoding="UTF-8"?>, indica la versión del lenguaje y la codificación de caracteres. Es opcional, pero muy recomendable cuando el texto incluye acentos y caracteres especiales.
  • Elemento raíz: todo el documento vive dentro de un único elemento contenedor; aquí es <catalogo>. Sin una raíz única, el documento no es válido.
  • Elementos: un elemento se compone de una etiqueta de apertura, un contenido y una etiqueta de cierre, como <nombre>Café molido 500 g</nombre>. Los elementos pueden anidarse unos dentro de otros formando un árbol de padres e hijos: <producto> contiene a <nombre>, <precio> y <disponible>.
  • Atributos: agregan información complementaria dentro de la etiqueta de apertura, siempre con el formato nombre="valor". En el ejemplo, id="P-100" identifica al producto y moneda="COP" indica la moneda en la que está expresado el precio.
  • Contenido de texto: entre la etiqueta de apertura y la de cierre puede ir texto o más elementos. Los espacios, saltos de línea y sangrías del archivo no cambian el significado del documento: se usan únicamente para que sea más legible para las personas.

Reglas básicas de un XML bien formado

Un documento XML se llama bien formado cuando cumple las reglas de sintaxis del lenguaje. Si no las cumple, ningún programa debería procesarlo: a diferencia de lo que ocurre con las páginas web, aquí los errores no se toleran ni se corrigen a medias. Las reglas esenciales son:
  • Debe existir un único elemento raíz que contenga a todos los demás.
  • Toda etiqueta abierta debe cerrarse. Si un elemento no tiene contenido, puede cerrarse sobre sí mismo: <imagen url="foto.jpg"/> equivale a abrir y cerrar en el mismo punto.
  • Las etiquetas deben anidarse correctamente, sin cruzarse: <a><b></b></a> es válido, mientras que <a><b></a></b> no lo es.
  • XML distingue entre mayúsculas y minúsculas: <Producto> y <producto> son dos etiquetas diferentes.
  • Los valores de los atributos deben escribirse entre comillas dobles o simples.
  • Los caracteres especiales se representan con entidades: &lt; representa al signo <, &gt; al signo >, &amp; al signo & y &quot; a las comillas dobles.
El siguiente ejemplo muestra cómo escribir un signo & dentro del contenido de un elemento y cómo agregar un comentario, que los programas ignoran por completo: Ejemplo 2: entidades y comentarios <empresa>   <nombre>Muisca &amp; Hijos</nombre>   <ciudad codigo="BOG"/>   <!-- Este comentario no afecta a los datos --> </empresa> Además de bien formado, un XML puede ser válido, que es un nivel más exigente: significa que cumple, además de la sintaxis, un esquema o DTD que define qué etiquetas, atributos y estructuras se permiten para un dominio concreto. La facturación electrónica funciona así: el comprobante debe estar bien formado, cumplir el esquema oficial de la autoridad y llevar una firma digital.

Para qué se usa XML

XML se usa en todos los escenarios donde hace falta mover datos estructurados entre aplicaciones, organizaciones o dispositivos. Sus usos más habituales son:
  • Intercambio de datos entre sistemas: como es texto plano y sigue un estándar, dos aplicaciones escritas en lenguajes distintos y ejecutadas en sistemas operativos distintos pueden entenderse sin problemas. Es el formato clásico de integración entre empresas, bancos y organismos públicos.
  • Facturación electrónica: los comprobantes electrónicos que exigen muchos países se generan, firman y validan como documentos XML. El formato permite que el emisor, el receptor y la autoridad fiscal lean exactamente los mismos datos, sin ambigüedades.
  • Canales RSS y Atom: los blogs, portales de noticias y podcasts publican sus actualizaciones como feeds XML que los lectores consultan de forma automática.
  • Archivos de configuración: muchas aplicaciones guardan sus ajustes en XML para que sean fáciles de leer, editar y versionar.
  • Formatos de documento: los archivos .docx, .xlsx y .pptx de Office, el formato de imagen vectorial SVG y los sitemaps XML de los buscadores son, por dentro, XML.
  • Servicios web: protocolos empresariales como SOAP y tecnologías como XSLT, que transforma XML en otros formatos, siguen plenamente vigentes en el mundo corporativo.

Qué diferencia hay entre XML y HTML

XML y HTML pertenecen a la misma familia, ambos descienden de SGML y ambos usan etiquetas, por eso se confunden con frecuencia. Pero su propósito es casi opuesto. HTML existe para mostrar contenido en el navegador: sus etiquetas, como <h1>, <p> o <img>, están fijadas por el estándar y el navegador sabe exactamente cómo dibujar cada una. XML existe para describir datos: las etiquetas las defines tú, y ningún navegador les asigna un aspecto por defecto. La otra gran diferencia es la tolerancia a los errores. Un navegador corrige por su cuenta una página HTML con etiquetas mal cerradas y la muestra igual. Un procesador XML, en cambio, rechaza el documento completo si encuentra una sola violación de sintaxis. Y mientras que en HTML las mayúsculas y minúsculas en las etiquetas no importan, en XML sí: <Libro> y <libro> son elementos distintos.
AspectoXMLHTML
Propósito principalAlmacenar y transportar datosPresentar contenido en la web
EtiquetasLas crea quien escribe el documentoFijas y definidas por el estándar HTML
PresentaciónNo define el aspecto de los datosDefine la estructura visual de la página
Errores de sintaxisEl documento se rechazaEl navegador los tolera y muestra igual
MayúsculasSensible: <Libro> y <libro> difierenNo distingue entre mayúsculas y minúsculas
Existe además XHTML, una variante de HTML que sí sigue las reglas estrictas de XML, y lenguajes derivados de XML como RSS o SVG, que demuestran la versatilidad del modelo. La regla práctica es sencilla: si necesitas mostrar información, usas HTML; si necesitas representar información para que otra aplicación la consuma, usas XML.

Qué es un archivo .xml y cómo abrirlo

Un archivo .xml es, simplemente, un archivo de texto cuyo contenido es un documento XML. La extensión .xml le indica a los programas qué esperar, pero por dentro no hay nada especial: solo caracteres de texto puro. Por eso puedes abrirlo, leerlo y modificarlo con las herramientas más básicas que ya tienes instaladas:
  • Bloc de notas u otro editor de texto: haz clic derecho y elige Abrir con. Verás las etiquetas tal como están guardadas en el archivo.
  • Navegador web: arrastra el archivo a Chrome, Firefox o Edge. Si el XML está bien formado, el navegador lo muestra como un árbol de etiquetas plegable y con colores. Si tiene errores, señala la línea exacta donde falla.
  • Excel: cuando el archivo contiene datos tabulares, Excel lo convierte en filas y columnas, lo que facilita revisar la información sin leer etiquetas.
  • Editores con resaltado de sintaxis: herramientas como Visual Studio Code o Notepad++ colorean etiquetas, atributos y valores, lo que hace mucho más cómodo trabajar con archivos XML grandes.
No esperes un documento con formato tipo PDF ni una página web bonita: un archivo .xml muestra datos en crudo, y eso es precisamente su fortaleza, porque cualquier sistema puede procesarlos sin depender de un programa comercial específico.

XML vs JSON: diferencias breves

Al hablar de intercambio de datos siempre aparece JSON, JavaScript Object Notation, el formato que domina las APIs web modernas. JSON es más liviano y compacto, se escribe con llaves y corchetes, incluye arreglos nativos y lo lee directamente JavaScript, por lo que es la opción natural en aplicaciones web y móviles. XML conserva ventajas donde importan la validación estricta mediante esquemas XSD, los atributos, los namespaces para evitar colisiones entre vocabularios distintos o las transformaciones con XSLT. Además, muchos estándares consolidados, como la facturación electrónica, RSS o los formatos documentales, están construidos sobre XML y no van a migrar a corto plazo. En la práctica, conviven: JSON para APIs ágiles entre aplicaciones modernas, y XML cuando el contexto exige estándares maduros, validación y trazabilidad.

Conclusión

XML es un lenguaje de marcado extensible, abierto y de texto plano que sirve para almacenar y transportar datos estructurados entre personas, programas y organizaciones. Su sintaxis se aprende en pocas horas, y sin embargo sostiene infraestructura crítica: facturas electrónicas, canales de noticias, documentos de oficina e integraciones entre sistemas que no fueron diseñados para trabajar juntos. Aunque hoy convive con alternativas como JSON, XML sigue siendo el idioma oficial de muchos procesos de negocio. De hecho, cada factura electrónica que emiten herramientas de gestión comercial como Kardex Tauro viaja como un documento XML, firmado y estructurado, antes de llegar a la autoridad tributaria. Entender qué es XML es entender el idioma común en el que los sistemas del mundo real intercambian su información más importante.
Chatea por WhatsApp