edx (un éditeur XML partageable)
Principes
- edx est un éditeur XML partageable permettant à l'utilisateur de mettre à jour une
structure de données (un document XML) définie par un schema conforme à la recommandation
XML Schema Part 0 : Primer.
L'analyse du schema permet de générer des formulaires HTML à la volée, ils sont utilisés
pour piloter la navigation dans le document et servir de support aux mises à jour.
L'application reçoit en paramètre la référence à un projet qui doit
correspondre à un projet.xsd (le schema définissant projet.xml: la structure
de données à mettre à jour).
L'adjonction d'un éventuel projet.df permet d'ajuster la présentation HTML
(profondeur des champs, texte HTML à présenter, ...).
- La mise à jour d'un document XML peut être partagée entre plusieurs utilisateurs. Pour chaque
document XML géré, il est possible de préciser quels sont les utilisateurs autorisés. edx ne
gère toutefois pas les authentifications, elles sont à la charge d'un dispositif spécialisé
(auth_ldap pour apache par exemple, mais aussi CAS).
- Il s'agit d'une application CGI développée en Perl, elle nécessite l'installation
de libxml du projet Gnome (installée par défaut sur les
Linux RedHat) ainsi que de XML::LibXML (son interface pour Perl).
Fonctionnalités
- edx utilise la notation xpath pour se déplacer dans les documents XML qu'il gère.
Pour chaque noeud d'un document, edx montre les attributs, les éléments simpleType et les
éléments complexType qui le constitue. Parmi les spécifications de XML Schema gérées par edx
on peut citer les suivantes :
- les éléments complexType avec attributs;
- les éléments simpleType avec attributs;
- la prise en compte des définitions de type nommés;
- présentation sous forme de boutons radio ou des boites de sélection de la valeur
des éléments simpleType définis par une liste énumérée de valeurs possibles;
- prise en compte des patterns (expressions régulières) associés aux éléments simpleType
pour permettre une vérification automatique du contenu;
- vérification à la volée du contenu des éléments typés (int, integer, positiveInteger, date, ...)
- vérification du caractère obligatoire des éléments déclarés comme tel dans le schéma.
-
Les éléments déclarés wysiwyg dans la structure df qui complète un schéma
bénéficient d'une interface à la windows qui génère du XHTML. Il est alors possible
de
- créer des listes à boulets;
- créer des tables;
- copier/coller depuis Word;
- ...
- La fonctionnalité wysiwyg nécessite l'usage de Internet Explorer (version 5.5 et suivantes).
Les autres navigateurs montrent les champs wysiwyg comme des TEXTAREA dans lesquels
il est possible d'éditer le contenu XHTML.
Un exemple
de structure contenant un champ wysiwyg (l'élément résumé).
- Les champs wysiwyg nécessitent une exploitation particulière qui reste à la charge
de l'utilisateur. À titre d'exemple, une chaîne éditoriale développée dans le cadre de la production
de contenus pédagogiques à l'université de Rennes 1, procède de la manière suivante :
- le contenu des champs wysiwyg est traité par
tidy pour
obtenir un code XHTML épuré
(suppression des balises <font>, encodage des URL, ...);
- un nouveau document XML est créé, les < du code XHTML ne sont plus encodées en <
- un programme XSL produit un site Web conformément à une charte graphique;
- un programme XSL produit un fichier LaTeX dans le but d'obtenir un polycopié
au format PDF.
La chaine éditoriale peut être expérimentée ici (choisir le module "Une démo de la chaîne éditoriale"
avec demo/demo comme user/passwd).
Quelques exemples d'utilisation
Installer
edx est disponible sous licence GPL.
Télécharger edx.tar.gz et configurer edx.pm.
François Dagorn (Université de Rennes 1).