Comment fonctionne le formateur XML
La page lit votre XML par morceaux : balises, attributs, texte, commentaires, sections CDATA, instructions de traitement comme <?xml …?> et doctype. Elle les réécrit ensuite, chaque élément sur sa propre ligne, indenté d’un niveau par profondeur avec 2 espaces, 4 espaces ou une tabulation. Minifier fait l’inverse et supprime les espaces blancs entre les balises.
Seuls les espaces blancs entre les balises changent. Le texte est conservé caractère pour caractère, les attributs gardent leur ordre et leurs guillemets, et les commentaires, CDATA et doctype sont copiés tels qu’écrits. Là où texte et balises sont mélangés, comme <p>Hello <b>world</b></p>, ou là où xml:space="preserve" est défini, les espaces comptent : cette partie est donc laissée exactement telle qu’elle était.
Pour valider, la page confie aussi votre XML à l’analyseur XML de votre navigateur (DOMParser), celui qui lit les flux RSS et les fichiers SVG. Il vérifie que le document est bien formé : un seul élément racine, chaque balise fermée dans le bon ordre, attributs entre guillemets, aucun attribut en double, entités connues seulement. Les erreurs sont affichées avec leur ligne et leur colonne. Il ne vérifie pas par rapport à un schéma (XSD ou DTD) et ne récupère jamais de fichiers externes.
Exemple
Une petite configuration, minifiée sur une seule ligne :
<?xml version="1.0"?><config><!-- web tier --><server name="web-1" port="443"><tls enabled="true"/><root>/var/www</root></server></config>Formatée avec 2 espaces, elle devient la version ci-dessous. Le commentaire, la balise autofermante <tls/> et l’ordre des attributs restent inchangés ; la minifier de nouveau redonne exactement la ligne ci-dessus.
<?xml version="1.0"?>
<config>
<!-- web tier -->
<server name="web-1" port="443">
<tls enabled="true"/>
<root>/var/www</root>
</server>
</config>Questions
Comment mettre du XML en forme ?
Collez-le dans le champ ci-dessus, ou ouvrez le fichier, et choisissez 2 espaces, 4 espaces ou une tabulation. Le XML mis en forme apparaît à droite pendant la saisie ; copiez-le ou téléchargez-le en fichier. En ligne de commande, xmllint --format file.xml fait la même chose sous Linux et macOS.
Comment vérifier qu’un XML est valide ?
Collez-le ci-dessus : la page indique s’il est bien formé et, sinon, donne la ligne, la colonne et la raison, par exemple une balise fermante qui ne correspond pas. Bien formé signifie que la syntaxe est correcte. La vérification par rapport à un schéma (un XSD ou une DTD) est une étape distincte, par exemple avec xmllint --schema schema.xsd file.xml.
La mise en forme modifie-t-elle mon XML ?
Seulement les espaces blancs entre les balises, que les programmes XML ignorent normalement. Le texte, les valeurs des attributs et leur ordre, les commentaires, les CDATA, les instructions de traitement et le doctype restent exactement tels qu’écrits. Le contenu mixte (du texte avec des balises à l’intérieur) et tout ce qui se trouve sous xml:space="preserve" ne sont pas touchés du tout, car les espaces peuvent y avoir un sens.
Quelle est la différence entre un XML bien formé et un XML valide ?
Un XML bien formé respecte les règles de syntaxe : un seul élément racine, chaque balise fermée et correctement imbriquée, valeurs d’attributs entre guillemets, aucun attribut en double. Un XML valide est bien formé et suit en plus un schéma ou une DTD qui dit quels éléments et attributs sont autorisés. Un analyseur peut lire tout fichier bien formé ; seule la validation vous dit que la structure est la bonne.
Peut-on coller ici du XML avec des mots de passe ou des clés sans risque ?
Oui. La mise en forme et la vérification s’exécutent dans votre navigateur, et rien de ce que vous collez n’est envoyé à un serveur ni conservé. L’analyseur XML du navigateur ne télécharge pas non plus de DTD ni d’entités externes. Fermer l’onglet efface le texte.