À propos de cet outil
Le formatage XML met en retrait les éléments imbriqués afin que la hiérarchie du document devienne visible. Le XML compact – tout sur une seule ligne – est techniquement valide et utile pour la transmission, mais illisible pour les humains. Le XML formaté ajoute des sauts de ligne entre les éléments et indente les enfants à l'intérieur de leurs parents, ce qui le rend numérisable, différenciable et modifiable à la main.
Ce formateur analyse l'entrée à l'aide de DOMParser pour confirmer la bonne forme, puis parcourt le DOM résultant pour émettre une sortie indentée. Les commentaires, les instructions de traitement et les sections CDATA sont conservés. Les étiquettes à fermeture automatique (celles sans enfants) restent compactes sur une seule ligne ; les balises avec des enfants sont réparties sur plusieurs lignes avec les enfants en retrait.
L'indentation à deux espaces est la valeur par défaut, correspondant à la convention XML la plus courante. Le formateur est conservateur en matière de reformatage : la structure existante est préservée, seuls les espaces entre les éléments changent. Les données effectuent un aller-retour via n'importe quel analyseur XML de manière identique avant et après le formatage.
Pourquoi formater XML
Le XML compact est illisible. Les réponses SOAP, les flux RSS et de nombreux fichiers de configuration arrivent sous forme de XML sur une seule ligne, techniquement valide mais pratiquement opaque. Le formatage révèle la structure du document, vous permet de localiser des éléments spécifiques et donne du sens aux différences dans le contrôle de version.
Le formatage sert également de contrôle de validité. Si l'analyse XML ne parvient pas lors du formatage, le message d'erreur identifie le problème : il s'agit généralement de balises non fermées, de noms d'éléments incompatibles ou de caractères non valides. La détection des erreurs XML avant de les envoyer à un consommateur strict permet de gagner du temps de débogage.
Détails techniques
DOMParser produit un DOM XML. Le formateur parcourt d'abord l'arborescence en profondeur, en émettant des balises d'ouverture, des enfants indentés et des balises de fermeture. Les attributs des éléments sont conservés sur la balise d'ouverture ; l’ordre des attributs correspond à la source.
Les espaces blancs importants à l'intérieur des nœuds de texte sont préservés : le formateur ne peut pas modifier en toute sécurité les espaces blancs du contenu, car ils peuvent être significatifs (les règles de préservation de l'espace XML diffèrent selon les schémas). Seuls les espaces entre les éléments changent.
Les éléments à fermeture automatique (sans enfants) émettent comme <tag attr="val"/>. Les éléments avec uniquement du contenu textuel sont émis sous forme de <tag>text</tag>. Les éléments avec des enfants d'élément émettent sur plusieurs lignes avec des enfants en retrait. Les sections CDATA, les commentaires et les instructions de traitement sont émis avec leurs délimiteurs et leur contenu d'origine.
Questions fréquentes
- Quelles erreurs XML cela détecte-t-il ?
- L'outil détecte les balises non fermées, les balises d'ouverture/fermeture incompatibles, les références de caractères non valides, les éléments racine manquants, les attributs mal formés et les problèmes d'encodage. Les messages d'erreur incluent des numéros de ligne pour vous aider à localiser les problèmes.
- Le formatage modifie-t-il le contenu XML ?
- Le formatage ajuste uniquement les espaces et l'indentation entre les éléments. Le contenu des éléments, les attributs, les sections CDATA et les instructions de traitement sont conservés exactement tels qu'ils sont saisis.
- Peut-il gérer de gros fichiers XML ?
- L'outil gère des fichiers allant jusqu'à plusieurs mégaoctets dans le navigateur. Pour les très gros documents XML (50 Mo et plus), envisagez d'utiliser des outils de ligne de commande comme xmllint pour de meilleures performances.
- Prend-il en charge les espaces de noms XML ?
- Oui. Le formateur gère correctement les déclarations d'espaces de noms (xmlns), les éléments préfixés et les espaces de noms par défaut. Les espaces de noms sont conservés dans la sortie formatée.
- Les espaces de noms sont-ils préservés ?
- Oui. Les attributs xmlns et xmlns:prefix sont conservés sur les éléments là où ils apparaissent dans la source.
- Puis-je réduire XML en une seule ligne ?
- Certains formateurs XML proposent une minification. Cet outil se concentre sur le formatage ; Le XML minifié peut être produit en supprimant les espaces entre les éléments avec une expression régulière ou un outil dédié.
- Mon XML est-il téléchargé sur un serveur ?
- Non. DOMParser s'exécute dans votre navigateur ; le formateur s'exécute dans votre navigateur.
- Les espaces à l’intérieur des nœuds de texte changeront-ils ?
- Non. Les espaces des nœuds de texte sont préservés car les règles de préservation de l'espace XML varient selon le schéma. Le formateur modifie uniquement les espaces inter-éléments.