Qu'est-ce que le formatage XML ?
XML (Extensible Markup Language) est un format texte standardisé par le W3C pour les documents structurés et l'échange de données. Le formatage — aussi appelé pretty-printing ou embellissement — prend une source XML bien formée et la réindente pour que chaque élément, attribut, commentaire, instruction de traitement et section CDATA soit facile à parcourir. L'arbre du document analysé est conservé exactement ; seuls les espaces entre les éléments changent.
Comment fonctionne le formatage XML ?
Votre saisie est traitée entièrement dans votre navigateur grâce aux APIs natives DOMParser et XMLSerializer, ainsi qu'un indenteur récursif sur mesure. Les étapes principales sont :
- Votre saisie est lue depuis la zone de texte telle quelle — chaque octet collé reste en mémoire localement.
- Le navigateur l'analyse avec
new DOMParser().parseFromString(text, 'application/xml'). Si l'entrée n'est pas bien formée, l'analyseur insère un nœud<parsererror>dont le texte porte les indications de ligne et colonne du moteur — elles sont affichées telles quelles dans le bandeau d'erreur. - Lors d'une analyse réussie, un indenteur sur mesure parcourt l'arbre DOM en profondeur, émettant chaque élément, ensemble d'attributs, section CDATA, commentaire et instruction de traitement sur sa propre ligne à la profondeur courante. Les balises vides auto-fermantes sont respectées lorsque l'option est activée.
- Le mode Minifier inverse le pipeline :
XMLSerializer().serializeToString(doc)émet une forme sur une seule ligne, puis une expression régulière prudente retire les espaces entre les éléments sans toucher au texte à l'intérieur des blocs CDATA ou des nœuds texte non blancs. - La sortie est écrite dans la zone de texte en lecture seule, le bandeau d'erreur est vidé, et le bouton Télécharger empaquette le résultat sous forme de fichier
.xmlque vous pouvez livrer ou joindre à un ticket.
Pourquoi imprimer joliment du XML avec cet outil ?
- Confidentialité : chaque analyse, formatage et minification se passe dans votre navigateur. Le XML n'atteint jamais nos serveurs — pas d'upload, pas de télémétrie, pas de compte.
- Erreurs précises : quand l'entrée est mal formée, l'analyseur affiche la ligne et la colonne exactes que le moteur du navigateur rapporte lui-même, pas une estimation synthétique — les mêmes numéros que dans les DevTools.
- Round-trip fidèle : formatez puis minifiez et vous obtenez l'équivalent en octets de votre document d'origine (modulo l'option de déclaration XML) — le formatage ne recanonise jamais les namespaces ni ne réordonne les attributs.
- Rapide : DOMParser et un indenteur de ~60 lignes traitent instantanément des enveloppes SOAP de plusieurs mégaoctets et des fragments OOXML, sans bibliothèque externe à télécharger.
Quelles sont les applications courantes du formatage XML ?
Imprimer joliment du XML apparaît dans la publication web, l'intégration d'entreprise et l'archivage de données :
- Inspection de flux RSS / Atom : collez le corps d'un podcast ou d'un flux d'actualité pour vérifier les métadonnées du canal, l'ordre des items et les préfixes de namespace avant publication.
- Débogage SOAP : formatez une enveloppe copiée depuis Wireshark ou un log de client SOAP afin que les sections Header, Body et Fault soient visibles d'un coup d'œil.
- Audit de sitemap : réindentez un sitemap.xml récupéré chez un concurrent ou sur votre staging pour compter les entrées et vérifier les alternates hreflang par URL.
À quoi ressemble un exemple de formatage XML ?
Coller un <feed><entry><title>Hello</title></entry></feed> à trois éléments et appuyer sur Formater avec l'option d'indentation à 2 espaces produit un document de quatre lignes avec chaque élément sur sa propre ligne, indenté par profondeur. Passer en Minifier sur la même entrée la réduit à la chaîne d'octets d'origine. Le round-trip est sans perte pour tout document bien formé.
Cela fonctionne-t-il hors ligne ?
Oui. Le pipeline de formatage et de minification est purement DOMParser + XMLSerializer plus un petit indenteur récursif, le tout s'exécutant à l'intérieur de l'onglet du navigateur. Rien n'est envoyé, aucun service worker ne fait office de proxy pour votre entrée, et la page ne fait aucune requête réseau pour l'étape de formatage elle-même. Le seul trafic sortant est constitué des ressources standard de chargement de page (CSS, polices, analytics) — votre XML n'atteint jamais Ultim8Soft.
Le formatage modifie-t-il le document ?
Aucun changement sémantique. Le formatage réécrit uniquement les espaces entre les éléments. Les noms d'éléments, valeurs d'attributs, contenu texte, payloads CDATA, commentaires et instructions de traitement sont préservés octet par octet. Les déclarations et préfixes de namespace sont conservés exactement comme l'entrée les a écrits — le formateur ne recanonise ni ne réordonne les attributs. La sortie s'analyse vers le même arbre DOM que l'entrée, modulo le commutateur optionnel de déclaration XML.
Comment sont gérés CDATA / commentaires / instructions de traitement ?
Chacun est émis tel quel sur sa propre ligne à la profondeur d'indentation courante. Les payloads CDATA sont entourés de <![CDATA[…]]> sans réindentation interne — la spécification indique que le contenu CDATA est opaque, donc le formateur n'y touche jamais. Les commentaires utilisent <!-- … --> ; les instructions de traitement utilisent <?target data?>. Les trois survivent à un round-trip formater → minifier → formater avec leur contenu intact.
Quelle est la différence entre formater et minifier du XML ?
Le formatage étend les espaces afin que les humains puissent lire l'arbre du document ; la minification les retire à nouveau pour le transport et le stockage. Les deux opèrent sur le DOM analysé, pas sur la chaîne d'octets brute, donc un round-trip formater → minifier sur un document bien formé produit l'équivalent en octets de la forme minifiée d'origine. Utilisez le sens formater quand vous devez lire ou comparer un payload XML, et le sens minifier quand vous voulez l'expédier sur une API Gateway facturée à l'usage ou l'embarquer dans un autre document.
Ce formateur XML analyse avec le même moteur que celui utilisé par votre navigateur pour les réponses XHR AJAX et les documents SVG, donc tout XML bien formé — RSS, Atom, SOAP, sitemap, OOXML, SVG — fait un round-trip propre. Collez n'importe quel XML ci-dessus, copiez la sortie ou téléchargez-la en .xml.