Juste un tuto rapide pour réindenter un fichier Xml (ou html) sous Linux.
Je vais utiliser l’outil xmllint
Vérification de l’installation
Avant tout il faut vérifier que l’outil est bien présent sur votre système, pour cela il suffit de taper la ligne suivante :
:~$ xmllint --version xmllint: using libxml version 20707 compiled with: Threads Tree Output Push Reader Patterns Writer SAXv1 FTP HTTP DTDValid HTML Legacy C14N Catalog XPath XPointer XInclude Iconv ISO8859X Unicode Regexps Automata Expr Schemas Schematron Modules Debug Zlib
Si le système vous retourne une erreur comme quoi la commande est inconnue, il faut installer le paquet libxml-utils :
sudo apt-get install libxml-utils
Utilisation
Bon tout est paré pour utiliser la librairie. Prenons un fichier xml mal indenté :
<?xml version="1.0" encoding="UTF-8"?> <project name="zend-tools" basedir="."> <target name="init"> <property name="proptemp" location="/tmp" /> </target> </project>
Le chemin d’accés à ce fichier est : /home/mimiz/build.xml, pour réindenter le fichier il faut taper la commande suivante :
xmllint /home/mimiz/build.xml --format
La sortie de la console devrait afficher le contenu du fichier correctement indenté …
Pour modifier le fichier il suffit de saisir la commande suivante :
xmllint /home/mimiz/build.xml --format --output /home/mimiz/build.xml
C’est tout !
Aller plus loin …
Il est possible de rajouter une commande à vi(m) pour réindenter le fichier pendant son édition …
Le tuto est ici : http://vim.wikia.com/wiki/Format_your_xml_document_using_xmllint.
Et bien sur la man page : http://manpages.ubuntu.com/manpages/maverick/man1/xmllint.1.html

