Formater, minifier et valider du XML
Indentez du XML pour qu’une personne puisse le lire, réduisez-le sur une seule ligne ou vérifiez-le seulement. Les commentaires, les sections CDATA et l’ordre des attributs restent inchangés.
Déposez vos fichiers ici
.xml, .rss, .svg, .xhtml, .txt · jusqu’à 100 Mo
Comment formater le XML
- 1
Déposez votre fichier XML
Ajoutez un document ou jusqu’à vingt à la fois. Chaque fichier est décodé, analysé et réécrit dans cet onglet de navigateur.
- 2
Choisissez formater, minifier ou valider
Le formatage indente l’arbre avec deux espaces, quatre espaces ou des tabulations. La minification réduit tout sur une seule ligne. La validation ne fait que vérifier le fichier et ne change rien.
- 3
Téléchargez le fichier réécrit
Enregistrez le résultat à côté de l’original, ou récupérez tout un lot dans une seule archive ZIP.
Ré-indentation, pas d’aller-retour complet
Charger du XML dans un objet puis le réécrire est la solution simple pour ré-indenter un fichier, mais elle écarte discrètement tout ce qui n’est pas un élément : commentaires, sections CDATA, instructions de traitement, ordre des attributs. Cet outil parcourt le document et le réimprime, de sorte que tout cela revient exactement à sa place. Le texte et les valeurs d’attributs sont conservés tels qu’ils ont été écrits, ce qui signifie qu’un ' reste un ' au lieu de se transformer en apostrophe à votre insu.
Ce que la minification retire vraiment
Les octets d’un fichier indenté sont des nœuds de texte ne contenant que des espaces, placés entre les balises. Ce sont eux que la minification supprime. Le texte qui a un vrai contenu à côté est laissé tel quel. Dans un paragraphe où un mot en gras est entouré de texte, les espaces autour de la balise interne font partie de la phrase, et les perdre changerait le document au lieu de seulement le réduire.
Les erreurs pointent un endroit précis
Une erreur de syntaxe indique la ligne, la colonne et la balise fermante attendue à cet endroit, car un message sans position oblige à faire défiler le fichier au hasard. Les déclarations d’entités personnalisées dans une DTD DOCTYPE sont rejetées plutôt qu’étendues, ce qui empêche un fichier de type billion-laughs de bloquer l’onglet.
Le fichier ne quitte jamais votre appareil
Le décodage, l’analyse, la réécriture et la création de l’archive ZIP se font dans cet onglet de navigateur. Rien n’est envoyé sur un serveur, il n’y a pas de file d’attente et aucune copie côté serveur n’est conservée. Un fichier de configuration contenant des noms d’hôtes ou des identifiants de production n’est donc lu que par votre ordinateur, et il disparaît dès que vous fermez l’onglet.
Questions fréquentes
Les commentaires et les sections CDATA sont-ils conservés ?
Oui, les deux, à leurs positions d’origine et avec leur texte inchangé. Il en va de même pour les instructions de traitement et pour l’ordre d’apparition des attributs. Si vous voulez supprimer activement les commentaires, il existe un interrupteur dédié, ainsi qu’un autre pour retirer la ligne de déclaration XML.
En quoi la minification diffère-t-elle d’une suppression manuelle des espaces ?
Une recherche-remplacement sur tout le fichier supprime aussi les espaces à l’intérieur du texte et dans les sections CDATA, ce qui modifie le contenu du document. Ici seuls les nœuds composés uniquement d’espaces entre les balises sont retirés, et les éléments qui contiennent du vrai texte conservent exactement leur espacement.
Pourquoi mon fichier a-t-il été refusé à cause de déclarations d’entités ?
Une DTD DOCTYPE contenant une déclaration ENTITY est refusée avant même le début de l’analyse. L’expansion des entités est ce qui permet à l’attaque billion-laughs de transformer quelques kilo-octets en gigaoctets de mémoire, et ce qui permet aux entités externes d’atteindre des fichiers qui ne devraient pas l’être. Supprimez le bloc DOCTYPE et le reste du document sera formaté normalement.
Puis-je vérifier un fichier sans rien télécharger ?
Le mode validation fait exactement cela. Il indique si le document se parse, combien d’éléments il contient, jusqu’où l’arbre descend et quel encodage a été utilisé, et il ne produit aucun fichier. Passez ensuite au formatage si vous décidez de garder une version nettoyée.
Est-ce compatible avec SVG, RSS et XHTML ?
Oui. Ces trois formats sont du XML, donc une icône SVG, un flux RSS ou une page XHTML sont indentés et minifiés selon les mêmes règles. Un document Office avec une extension .docx ou .xlsx est un conteneur ZIP et non du XML brut, et il est redirigé vers l’outil adapté.
Quelle est la limite de taille ?
100 Mo par fichier, jusqu’à vingt fichiers par lot. Les gros documents sont plus lents surtout parce que tout l’arbre est conservé en mémoire avec ses commentaires et l’ordre de ses nœuds intact, ce qui coûte plus qu’un objet plat.
Quels encodages sont pris en charge ?
L’encodage est lu dans la déclaration XML en haut du fichier. UTF-8, UTF-16, windows-1251, windows-1252 et ISO-8859-1 sont pris en charge, de sorte qu’un fichier ancien en cyrillique ou en alphabet d’Europe de l’Ouest garde ses caractères intacts.
Mon XML est-il envoyé quelque part ?
Non. Tout fonctionne localement dans votre navigateur, sans serveur impliqué et sans rien conserver une fois l’onglet fermé.