Voici la première publication de ExxEditor, un éditeur XML. Cette dépêche est tirée du
journal de Thomas_Guyard.
Historique
L'auteur travaille dans une équipe de recherche qui développe un simulateur de croissance de plantes :
digiplante. Ce simulateur, pour fonctionner, a besoin de paramètres complexes en entrée. La liste et le type des paramètres sont amenés à être modifiés assez fréquemment (au cours des développements et des travaux de recherche). Les paramètres sont stockés dans un fichier XML. Or, comme tout le monde le sait, XML ce n'est pas très pratique à éditer à la main (particulièrement lorsque on s'adresse à des non-informaticiens). Il fallait donc une solution souple permettant de saisir les paramètres et donc de créer le fichier XML.
Le logiciel exxEditor
Pour résoudre ce problème, il a été développé
exxEditor, un "éditeur" XML, qui génère une interface en lisant un fichier
XML Schema. On a ainsi une interface qui affiche l'arbre des paramètres, et permet de les modifier. Bien entendu, exxEditor empêche l'utilisateur de saisir des valeurs non valides. Pour se rendre compte de quoi il s'agit, rien de mieux qu'une
copie d'écran. Vous pouvez
télécharger exxEditor sur le
site du projet. La gestion du projet ce fait sur la
Gforge INRIA.
Licence
exxEditor est sous licence
CeCILL-C (type LGPL).
Technique
exxEditor est développé en C++ avec
Xerces pour la "décomposition analytique" XML,
Qt pour l'interface et
Boost pour un peu tout le reste. On utilise
CMake comme système de configuration. ExxEditor est multi-plateforme (Linux - Windows - Mac OS). ExxEditor est conçu de manière à pouvoir s'intégrer facilement dans une application Qt.
Avancement et version
exxEditor est maintenant en version 0.9 (comprendre en Beta), et lorsqu'il sera un peu mieux testé et débogué, il passera en version 1.0. Bien que le logiciel ne soit pas capable d'interpréter l'ensemble de la norme XML Schema, je ne compte pas ajouter de nouvelles fonctionnalités avant la version 1.0. En effet, il répond déjà parfaitement à mes besoins, et presque toutes les fonctionnalités basiques de XML Schema sont supportées.