¿Qué es XML (eXtensible Markup Language)?
A diferencia del lenguaje HTML (cuyo objetivo es desplegar datos visualmente en pantallas utilizando etiquetas fijas), el XML fue diseñado exclusivamente para transportar y describir la naturaleza de los datos mediante etiquetas (tags) personalizables y autodescriptivas. Un archivo XML organiza la información en un árbol jerárquico estricto que comienza con una etiqueta raíz, seguida de elementos hijos y atributos. Tecnológicamente, es un formato sumamente robusto para la industria financiera porque permite la implementación de esquemas de validación estructural (archivos XSD) que obligan a que los datos cumplan con reglas matemáticas y de negocio exactas antes de ser procesados. Además, su naturaleza basada en texto plano facilita la incorporación de bloques de seguridad criptográfica avanzada, como firmas digitales y sellos digitales, garantizando el no repudio y la integridad absoluta de la información transferida entre servidores empresariales y gubernamentales.
Ejemplo:
Una pasarela de pagos internacionales emite un mensaje estructurado en XML bajo las especificaciones de la norma ISO 20022 para transferir fondos entre dos corresponsales bancarios.
Consejos de aplicación
Al desarrollar integraciones que consuman o emitan archivos XML, utiliza siempre validadores basados en esquemas XSD (XML Schema Definition) provistos por el regulador. Esto te permitirá atrapar errores de sintaxis, tipos de datos incorrectos o etiquetas faltantes de forma local en tu código antes de realizar llamados API innecesarios a los servidores externos.
Diferencias relevantes
El XML utiliza una sintaxis estricta basada en etiquetas de apertura y cierre (...) orientada a la validación formal y el timbrado criptográfico de documentos legales, mientras que JSON (JavaScript Object Notation) es un formato de intercambio de datos más ligero basado en pares de clave-valor ("datos": "valor"), optimizado para la velocidad de transferencia de datos en aplicaciones web móviles y APIs REST modernas.
Normativas asociadas
Estándar XML 1.0 / 1.1 (World Wide Web Consortium - W3C): Es la especificación técnica global y matriz que define el lenguaje de marcado heredado de SGML. Establece las reglas sintácticas estrictas para crear documentos legibles tanto por humanos como por máquinas mediante etiquetas personalizables (tags), jerarquías de nodos, atributos y la validación estructural obligatoria a través de archivos DTD o XML Schema (XSD). Su flexibilidad lo convirtió en el estándar de facto para el almacenamiento y transporte de datos estructurados en sistemas empresariales globales.
Ley N° 20.727 (Obligatoriedad de la Factura Electrónica en Chile) y Manuales Técnicos del SII: Es una de las aplicaciones regulatorias más críticas del XML en el ámbito local. El Servicio de Impuestos Internos (SII) adoptó el formato XML de forma obligatoria para la construcción de todos los Documentos Tributarios Electrónicos (DTE) (facturas, boletas, notas de crédito, guías de despacho y el Archivo de Cesión AEC). La normativa exige que cada XML cumpla con esquemas (XSD) ultra-estrictos y contenga obligatoriamente la firma electrónica del emisor incrustada bajo el estándar XML-DSig, garantizando que el documento no sea alterado.
Preguntas frecuentes
¿Por qué el SII y los bancos prefieren el XML por sobre otros formatos de texto o planillas Excel?
Porque el XML es un formato estandarizado a nivel mundial que impide la ambigüedad. Un archivo Excel puede sufrir cambios de diseño de celdas fácilmente, mientras que el XML obliga a que los datos sigan un orden jerárquico inalterable. Además, permite adosar firmas electrónicas directamente sobre el código del texto, algo indispensable para la validez legal de un DTE.
¿Qué significa que un archivo XML "no esté bien formado"?
Significa que el documento viola las reglas sintácticas básicas del lenguaje XML. Los errores más comunes de un archivo mal formado incluyen etiquetas de apertura que no se cerraron (por ejemplo, abrir y no colocar ), usar caracteres especiales (como & o <) de forma suelta sin su respectiva secuencia de escape, o romper el orden de anidación de los elementos.
¿Qué es y para qué sirve el prólogo o declaración inicial ?
Es la primera línea obligatoria de cualquier documento XML técnico. Le indica al software que va a leer el archivo la versión exacta del lenguaje que se está utilizando y el método de codificación de caracteres (encoding). En Chile, el uso de codificaciones como ISO-8859-1 o UTF-8 es crítico para que los sistemas informáticos reconozcan correctamente caracteres especiales del idioma español como las tildes y la letra "ñ" sin corromper el Sello Digital.