Voici un bloc XML non formatté pour l'exemple :

<?xml version="1.0" encoding="utf-8" ?><root>
<files><file name="1" url="./astorm.swf" />
<file name="2" url="./media-box.swf" /></files><texts>
<text id="1"><![CDATA[Text représentant quelque chose]]>
</text><text id="2">encore un peu de texte</text>
<text id="3">et la avec un retour<br />à la ligne
</text></texts></root>

Plusieurs éditeurs permettent d'afficher correctement ce genre de chose (comme NetBeans), mais ils sont assez lourds... Je me suis donc dépatouillé pour intégrer mon code C dans Geany et voici comment ce pavé de texte est transformé :

<?xml version="1.0" encoding="utf-8"?>
<root>
  <files>
    <file name="1" url="./astorm.swf" />
    <file name="2" url="./media-box.swf" />
  </files>
  <texts>
    <text id="1"><![CDATA[Text représentant quelque chose]]></text>
    <text id="2">encore un peu de texte</text>
    <text id="3">
      et la avec un retour
      <br />
      à la ligne
    </text>
  </texts>
</root>

Malheureusement je n'ai pas encore pu implémenter la possibilité de paramétrer le plugin via l'interface graphique. Par contre, pour ceux qui voudraient utiliser le code, il existe déjà quelques options possibles (voir la structure PrettyPrintingOptions).

J'ai mis les fichiers d'implémentation en pièce jointe. Par ailleurs tous les fichiers concernant mon plugin sont accessible sur le SVN de Geany pour les intéressés !