También disponible en: English · Português · Français · العربية
Formateador de XML online
Pega tu XML, elige la sangría y obtén un documento legible al instante, sin subir nada a ningún servidor.
¿Qué es un formateador de XML?
Un formateador de XML toma un documento sin sangría —una sola línea larga, o un volcado tal como lo entrega un servidor— y le añade saltos de línea y sangría para que la jerarquía de etiquetas se vea de un vistazo. Formatear XML no cambia ni un solo dato: reorganiza cómo se presenta el marcado, nunca el contenido que hay dentro de él.
Esta herramienta hace justamente eso, y solo eso: pegas el XML en el panel izquierdo y el resultado formateado aparece en el derecho mientras escribes, con un botón para copiarlo. Nada se envía a ningún servidor para procesarse.
La necesitan quienes leen XML a diario sin escribirlo a mano: un feed generado por una máquina, un archivo de configuración de una aplicación, la respuesta cruda de una API, o un sitemap.xml exportado sin una sola sangría. En todos esos casos el documento es correcto pero ilegible, y lo único que falta es la forma.
Cómo formatear tu XML
- Pega tu XML. Copia el documento en el panel izquierdo y verás el resultado formateado a la derecha mientras escribes.
- Elige la sangría. Selecciona 2 espacios, 4 espacios o tabulación, o marca «Minificar» para colapsarlo todo a una sola línea.
- Copia el resultado. Pulsa «Copiar XML» para llevarte el documento formateado tal cual aparece en el panel derecho.
El espacio en blanco no es maquetación: es contenido
La sección 2.10 de la especificación XML 1.0 del W3C lo dice sin rodeos: «An XML processor MUST always pass all characters in a document that are not markup through to the application» — un procesador de XML debe entregar a la aplicación todos los caracteres que no sean marcado, tal cual están. El espacio en blanco que hay entre las etiquetas de un documento XML es dato de carácter, no un artificio visual que un formateador pueda reordenar como le convenga.
Por eso esta herramienta cambia exactamente una cosa: el texto que hay entre etiquetas y que no contiene más que espacios en blanco. Todo lo demás —cada letra, cada símbolo, cada salto de línea que forma parte de un valor— sale exactamente igual que entró.
Eso no es una promesa, es una comprobación. La concatenación de todas las partes del documento que no son espacio en blanco puro se compara byte a byte antes y después de formatear, sobre un corpus escrito a mano y un barrido de 2.000 documentos generados, con un caso de control que demuestra que esa comparación es capaz de detectar una diferencia si la hay. 335 comprobaciones en total.
Lo que esta herramienta se niega a tocar
Dos clases de elemento nunca se vuelven a sangrar, y en vez de hacerlo en silencio la herramienta te muestra un recuento de cada una. La primera son los elementos marcados con xml:space="preserve": la sección 2.10 define ese atributo como una señal de que, en ese elemento, «white space should be preserved by applications», y el valor «preserve» «indicates the intent that applications preserve all the white space». La marca la heredan todos los descendientes hasta que un xml:space="default" la desactiva más abajo, y esta herramienta respeta ambas direcciones.
La segunda son los elementos que contienen texto propio: el texto solo, como un elemento de título que envuelve el nombre de un libro, o el texto junto a elementos hijos, como un párrafo con una palabra en negrita en medio. Esa regla es más estricta de lo que fue al principio: la primera versión solo se abstenía ante contenido «mixto» (texto y etiquetas hijas a la vez) y sangraba alegremente un elemento cuyo único hijo era texto plano. Hacerlo convertía un elemento simple que envolvía una palabra en uno donde esa palabra quedaba precedida por un salto de línea y cuatro espacios, y seguida de un salto de línea y dos espacios: cinco caracteres de más que son contenido, no maquetación. La prueba de invariante falló con el primer documento del propio corpus, y así se amplió la regla hasta cubrir también el texto sin mezcla.
Otras partes del documento pasan intactas por construcción, sin necesitar ningún tratamiento especial: los comentarios (la sección 2.5 señala que «the string '--' MUST NOT occur within comments»), las secciones CDATA (la sección 2.7: «Within a CDATA section, only the CDEnd string is recognized as markup»), las instrucciones de procesamiento y la declaración de tipo de documento, incluida una con un subconjunto interno entre corchetes cuyo contenido puede a su vez llevar un signo de mayor que.
Los valores de los atributos tampoco se tocan jamás, ni siquiera los que contienen un signo de mayor que o el otro tipo de comilla dentro.
¿Por qué es gratis?
Todo el trabajo —leer el XML, respetar el espacio en blanco que importa, sangrarlo o minificarlo— ocurre en el navegador, en tu propia máquina. El documento nunca sale de tu pestaña, así que no hay bytes que subir ni límite de tamaño de archivo que temer.
No hace falta cuenta, ni contraseña, ni un correo para poder copiar el resultado. No se añade ninguna marca de agua ni comentario con el nombre de esta herramienta al documento que te llevas, y no queda copia alguna de lo que pegas guardada en ningún sitio: nunca llegó a un servidor.