§

Pega el XML

§

Opciones

Modo
Sangría
Declaración XML
Etiquetas vacías auto-cerradas
§

Salida formateada

xml

Imprimir XML legible sigue siendo cotidiano en el stack hispano: los servicios SOAP legados de BBVA y Santander aún viajan envueltos en XML, los feeds RSS de El País y El Mundo alimentan agregadores y podcast clients, y los estándares OASIS para la HCDSNS exigen mensajes XML clínicos validables. La AEAT publica el esquema FacturaE para facturación electrónica con declaraciones XML firmadas, mientras el SAT mexicano impone el CFDI versión 4.0 también en XML con su Timbre Fiscal Digital. Los emisores latinoamericanos suben además depósitos XBRL en XML a la CNMV y a la CVM brasileña, y los directorios de podcasts en español como iVoox parsean Atom y RSS XML constantemente.

¿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:

  1. Tu entrada se lee del área de texto tal cual — cada byte que pegaste se mantiene en memoria de forma local.
  2. 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.
  3. 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.
  4. 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.
  5. 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 .xml que 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.