¿Qué es el formateo XML?
XML (Extensible Markup Language) es un formato de texto estandarizado por el W3C para documentos estructurados e intercambio de datos. Formatear — también llamado pretty-printing o embellecer — toma una fuente XML bien formada y la re-indenta para que cada elemento, atributo, comentario, instrucción de procesamiento y sección CDATA sea fácil de revisar. El árbol del documento analizado se conserva tal cual; solo cambia el espacio en blanco entre elementos.
¿Cómo funciona el formateo XML?
Tu entrada se procesa íntegramente en tu navegador usando las APIs nativas DOMParser y XMLSerializer más un indentador recursivo a medida. Los pasos de alto nivel son:
- Tu entrada se lee del área de texto tal cual — cada byte que pegaste se mantiene en memoria de forma local.
- El navegador la analiza con
new DOMParser().parseFromString(text, 'application/xml'). Si la entrada no está bien formada, el analizador inserta un nodo<parsererror>cuyo texto contiene las pistas de línea y columna del motor — se muestran tal cual en la franja de error. - En un análisis exitoso, un indentador a medida recorre el árbol DOM en profundidad, emitiendo cada elemento, conjunto de atributos, sección CDATA, comentario e instrucción de procesamiento en su propia línea a la profundidad actual. Las etiquetas vacías auto-cerradas se respetan cuando la opción está activada.
- El modo Minificar invierte el pipeline:
XMLSerializer().serializeToString(doc)emite una forma de una sola línea, y luego una expresión regular protegida elimina el espacio en blanco entre elementos sin tocar el texto dentro de bloques CDATA o nodos de texto no vacíos. - La salida se escribe en el área de texto de solo lectura, la franja de error se limpia, y el botón Descargar empaqueta el resultado como un archivo
.xmlque puedes enviar o adjuntar a un ticket.
¿Por qué imprimir XML bonito con esta herramienta?
- Privacidad: cada análisis, formateo y minificación se realiza en tu navegador. El XML nunca llega a nuestros servidores — sin subidas, sin telemetría, sin cuenta.
- Errores precisos: cuando la entrada está malformada, el analizador muestra la línea y la columna exactas que el motor del navegador reporta, no una estimación sintética — los mismos números que verías en DevTools.
- Round-trip fiel: formatea y luego minifica y obtendrás el equivalente en bytes de tu documento original (modulo la opción de declaración XML) — el formateo nunca re-canoniza espacios de nombres ni reescribe el orden de los atributos.
- Rápido: solo DOMParser más un indentador de ~60 líneas procesan envolturas SOAP multimegabyte y fragmentos OOXML al instante, sin biblioteca externa que descargar.
¿Cuáles son las aplicaciones comunes del formateo XML?
Imprimir XML bonito aparece en publicación web, integración empresarial y archivado de datos:
- Inspección de feeds RSS / Atom: pega el cuerpo de un podcast o feed de noticias para confirmar metadatos de canal, orden de elementos y prefijos de espacios de nombres antes de publicar.
- Depuración SOAP: formatea una envoltura copiada de Wireshark o del log de un cliente SOAP para que las secciones Header, Body y Fault sean visibles de un vistazo.
- Auditoría de sitemaps: re-indenta un sitemap.xml descargado de un competidor o de tu staging para contar entradas y confirmar las alternativas hreflang por URL.
¿Cómo es un ejemplo de formateo XML?
Pegar un <feed><entry><title>Hello</title></entry></feed> de tres elementos y pulsar Formatear con la opción de sangría de 2 espacios produce un documento de cuatro líneas con cada elemento en su propia línea, indentado por profundidad. Cambiar a Minificar sobre la misma entrada la colapsa de nuevo a la cadena de bytes original. El round-trip es sin pérdida para cualquier documento bien formado.
¿Funciona sin conexión?
Sí. El pipeline de formateo y minificación es puramente DOMParser + XMLSerializer más un pequeño indentador recursivo, todo ejecutándose dentro de la pestaña del navegador. Nada se sube, ningún service worker hace de proxy de tu entrada, y la página no realiza ninguna petición de red para el paso de formateo en sí. El único tráfico saliente son los recursos estándar de carga de página (CSS, fuentes, analytics) — tu XML nunca llega a Ultim8Soft.
¿El formateo cambia el documento?
Sin cambio semántico. El formateo solo reescribe el espacio en blanco entre elementos. Los nombres de elementos, valores de atributos, contenido de texto, payloads CDATA, comentarios e instrucciones de procesamiento se preservan byte a byte. Las declaraciones y prefijos de espacios de nombres se mantienen exactamente como los escribió la entrada — el formateador no re-canoniza ni reordena los atributos. La salida se analiza al mismo árbol DOM que la entrada, modulo el conmutador opcional de la declaración XML.
¿Cómo se manejan CDATA / comentarios / instrucciones de procesamiento?
Cada uno se emite tal cual en su propia línea a la profundidad de sangría actual. Los payloads CDATA se envuelven en <![CDATA[…]]> sin re-indentación interna — la especificación dice que el contenido CDATA es opaco, por lo que el formateador nunca lo toca. Los comentarios usan <!-- … -->; las instrucciones de procesamiento usan <?target data?>. Los tres sobreviven a un round-trip formatear → minificar → formatear con su contenido intacto.
¿Cuál es la diferencia entre formatear y minificar XML?
Formatear expande el espacio en blanco para que los humanos puedan leer el árbol del documento; minificar lo retira de nuevo para transporte y almacenamiento. Ambos operan sobre el DOM analizado, no sobre la cadena de bytes en bruto, así que un round-trip formatear → minificar sobre un documento bien formado produce el equivalente en bytes de la forma minificada original. Usa la dirección formatear cuando necesites leer o hacer diff de un payload XML, y la dirección minificar cuando quieras enviarlo por una API Gateway con tarifa por uso o incrustarlo dentro de otro documento.
Este formateador XML usa el mismo analizador que tu navegador utiliza para respuestas XHR AJAX y documentos SVG, así que cualquier XML bien formado — RSS, Atom, SOAP, sitemap, OOXML, SVG — hace round-trip limpiamente. Pega cualquier XML arriba, copia la salida o descárgala como .xml.