Réindenter un fichier xml sous linux

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

You can leave a response, or trackback from your own site.

Leave a Reply