Jaxe, votre éditeur XML

Auteur: Damien Guillaume

Jaxe, votre éditeur XML

In English

Jaxe sur SourceForge

Fonctionnalités

Vous cherchez un éditeur XML adaptable à votre langage XML ? Jaxe est la solution. La dernière version intègre les fonctionnalités suivantes:

Ce que Jaxe ne fait pas (voilà une rubrique que l'on ne trouve pas sur des sites commerciaux, mais qui pourrait vous faire gagner du temps!) :

Configuration requise

Un système (Mac, UNIX, Windows ou autre) avec une version de récente de Java (au moins 1.5). Pour tester la version de java de votre système, vous pouvez taper "java -version" sous la ligne de commande.

Installation

Comment utiliser Jaxe

Jaxe peut s'utiliser en tant qu'administrateur, pour définir un fichier de configuration pour un langage XML donné, ou comme utilisateur final avec les fichiers de configuration de l'administrateur. Les développeurs peuvent aussi ajouter des composants Swing pour les éléments, et utiliser Jaxe à l'intérieur d'autres applications.

Copies d'écran

screenshotjaxe.png
Jaxe

Dans cette copie d'écran, on peut voir un dialogue d'édition d'attributs, le panneau d'insertion des éléments, et la zone de texte comportant plusieurs affichages possibles pour les éléments.

infomanager.png
Une application de Bodo Tasche utilisant Jaxe

Le deuxième exemple montre Jaxe intégré à l'intérieur d'une autre application Java, avec des affichages personnalisés pour les éléments.

Forums de discussion

Aide - Discussion ouverte

Licence

GPL

Auteurs

Testeur officiel

Bibliothèques utilisées

Nouvelles versions

La fonctionnalité permettant de se tenir informé des nouvelles versions a disparu de sourceforge. Il n'est plus possible d'être mis au courant par un mail d'une nouvelle version de Jaxe. On peut à la place utiliser un fil RSS.

Contributions

Jaxe progresse avec les apports de chacun. Si vous avez amélioré Jaxe (par exemple en créant un fichier de propriétés pour une langue donnée, ou avec un plugin pour éditer certains types de données), n'hésitez pas à rendre disponible vos fichiers.

noepatents_liberty120.png

Ce site a été créé avec Jaxe et XPAGES.


Documentation pour les utilisateurs finaux

Auteur: Damien Guillaume

Principe de XML

XML est une syntaxe, mais c'est surtout une philosophie dans l'écriture de documents qui consiste à expliciter le sens des informations par opposition à la forme. On écrira par exemple:

<TITRE>XML</TITRE>

au lieu de:

<GRAS><ITALIQUE><CENTRE>XML</CENTRE></ITALIQUE></GRAS>

Ce principe permet à la fois des traitements automatiques (par exemple l'extraction de tous les titres pour construire une table des matières), et la possibilité de définir plusieurs affichages pour un même contenu (par exemple un affichage sur le web et un autre sur papier).

Comme le contenu est bien séparé de la forme, les éditeurs XML comme Jaxe ne sont pas WYSIWYG ("What you see is what you get"). Pour ceux habitués aux traitements de texte comme Word, il faut faire attention à ne pas utiliser de styles comme gras ou italique quand il est possible d'indiquer le sens du texte à la place. Il ne faut pas non plus se fier à l'aperçu, étant donné qu'il peut y avoir plusieurs affichages possibles. Attention donc à utiliser des éléments correspondant à des paragraphes ou des sections plutôt que des éléments "saut de ligne", étant donné que l'espacement entre les paragraphes dépend de l'affichage et peut être un peu plus ou un peu moins qu'une ligne.


La définition du langage

Un langage XML est défini de façon formelle, de manière à permettre la vérification automatique de la syntaxe. Cette description formelle comprend les noms des éléments du langage, les imbrications possibles entre les éléments, l'ordre autorisé des éléments, et leurs attributs (les attributs étant optionnels ou obligatoires).

Jaxe facilite la création des documents XML en utilisant les règles du langage pour proposer des éléments à insérer là où c'est possible. Cela permet de créer des documents valides (c'est à dire se conformant aux règles du langage) beaucoup plus facilement qu'avec un simple éditeur de texte. Cette introduction est générale pour tous les langages qui peuvent être utilisés, mais chaque utilisateur final doit apprendre un ou plusieurs langages XML particuliers, qui ne sont pas détaillés ici.

En plus des fichiers décrivant les langages XML (les schémas), Jaxe utilise des fichiers de configuration qui définissent la barre de menus et la façon d'afficher les éléments du langage. Ces fichiers se trouvent dans le répertoire config, et leur nom se termine en _config.xml.


Lancement de Jaxe

Jaxe nécessite Java 1.5 ou une version ultérieure pour fonctionner. Pour savoir quelle version de Java est installée, il suffit de taper java -version sous la ligne de commande.

Jaxe se lance différemment suivant le système d'exploitation. Sur MacOS, il suffit de double-cliquer sur l'application, qui doit se trouver dans le répertoire Jaxe. Sur Windows, on lance Jaxe avec l'exécutable Jaxe.exe ou avec le script run.bat, et sur UNIX avec le script run.sh. Ces scripts peuvent être modifiés pour définir un fichier de configuration à utiliser par défaut.

Sur Windows on peut lancer le script assocXMLJaxe.bat pour associer l'extension ".xml" à Jaxe. Cela permet d'ouvrir les fichiers XML directement en double-cliquant dessus. Ce script ne fonctionne que si on a les droits pour modifier les associations de fichiers, et il faut donc être administrateur.

Sur MacOS X on peut choisir Jaxe plutôt qu'un autre programme pour ouvrir un fichier XML par un double-clic en choisissant le menu "Lire les informations" d'un fichier XML, en choisissant Jaxe dans "Ouvrir avec", et en cliquant sur "Tout modifier" pour que tous les fichiers XML s'ouvrent avec.

Il est aussi possible de lancer Jaxe avec les scripts jaxe.bat et jaxe.sh, en ajoutant le nom d'un fichier à ouvrir, par exemple en tapant ./jaxe.sh essai.xml.

Jaxe charge les fichiers XML en mémoire, et cela peut être difficile quand ils ont beaucoup de grandes images. Il est possible d'augmenter la mémoire allouée à Jaxe, suivant le système:

Jaxe utilise par défaut la langue du système, sachant que dans Jaxe 3.4 les seules langues définies sont le français, l'anglais, l'allemand, le portugais brésilien, le russe et l'espagnol. Si le système utilise une autre langue, Jaxe se lance en français. Pour changer la langue utilisée, on peut ajouter l'option -Duser.language=xx après la commande java dans les scripts, ou comme valeur de la clé VMOptions sur MacOS X. xx est un code correspondant à la langue, par exemple en pour l'anglais.


Utilisation de Jaxe

Fichiers de configuration

Au lancement, Jaxe ouvre un nouveau document XML avec la configuration par défaut s'il n'existe qu'un seul fichier de configuration. Sinon, il propose de choisir un fichier de configuration correspondant à un langage XML.

Pour vérifier que le langage XML utilisé dans un document ouvert est bien celui que l'on veut utiliser, il suffit de regarder les menus: la barre de menus des éléments se trouve en-dessous de la barre des menus de Jaxe (qui est en haut de l'écran sur MacOS). Si le langage n'est pas le bon, on peut créer un nouveau document XML avec le menu "Nouveau" qui propose un choix de fichiers de configuration quand il y en a plusieurs d'installés. Quand un fichier XML déjà créé est ouvert, il utilise automatiquement le fichier de configuration correspondant à son langage (s'il existe).

Jaxe inclut des exemples de fichiers de configuration pour XHTML strict, Docbook, Docbook simplifié, XPAGES, et un langage pour faire des présentations. Votre administrateur a normalement préparé un autre fichier de configuration pour le langage XML que vous allez utiliser.

Affichage des éléments

Jaxe permet d'afficher les éléments XML de multiples façons, et il est même possible de créer de nouveaux affichages. La façon dont les éléments sont affichés est définie dans le fichier de configuration Jaxe du langage utilisé. Certains affichages d'éléments sont cependant plus populaires que d'autres. Un affichage classique consiste en une balise de début, suivie du contenu de l'élément, et se terminant par une balise de fin. Par exemple, une date s'affiche comme cela : date.png

Avec cet affichage d'élément, quand un élément a des attributs, des boutons s'affichent sur les balises pour permettre leur modification dans un dialogue. Si les icônes de validation sont activées dans les préférences, les balises contiennent aussi une icône indiquant si l'élément est valide ou pas (un élément peut par exemple être invalide s'il manque des sous-éléments obligatoires à l'intérieur). Ces icônes ne sont cependant pas indispensables, étant donné que les balises changent aussi de couleur quand un élément n'est pas valide.

D'autres types d'affichage sont par exemple des listes, des tables, des images (pour représenter des éléments pointant vers des fichiers d'images), ou des formulaires.

Insertion des éléments

A l'ouverture d'un fichier de configuration, Jaxe prépare un nouveau document, et insère automatiquement l'élément racine (dans le cas où les documents n'ont qu'un élément racine), en affichant un dialogue pour ses attributs s'il a des attributs. La barre des menus correspond aux éléments du langage, et on peut l'utiliser pour insérer des éléments. Une autre façon d'insérer des éléments est le panneau d'insertion, qui apparaît à gauche de la zone avec le document XML. Il liste les éléments qui peuvent être insérés dans le texte à l'endroit où se trouve le curseur. Cette liste peut aussi s'obtenir avec le menu contextuel, qui s'affiche avec un control-clic sur Mac ou avec un clic droit avec des souris à plusieurs boutons. On peut aussi l'afficher en tapant cmd-D (sur Mac) ou ctrl-D (Linux/Windows), ce qui permet de ne pas quitter ses mains du clavier.

Il est possible d'insérer un élément autour d'un texte ou d'un ensemble d'éléments déjà entrés. Il suffit de sélectionner cet ensemble, et d'insérer le nouvel élément comme on le ferait normalement.

tabs.png

Suppression des éléments

Pour supprimer un élément, il suffit de mettre le curseur après l'une des balises (ou un autre élément graphique si l'élément n'est pas affiché avec des balises de début et de fin) et d'utiliser la touche d'effacement. Attention, cela supprime tout l'élément, avec tout ce qu'il y a dedans ! En cas de catastrophe, ne pas oublier que le menu annuler est là pour ça.

Attributs

Certains éléments peuvent avoir des attributs. L'insertion d'un nouvel élément avec des attributs provoque l'affichage d'un dialogue permettant de choisir leurs valeurs. Pour les changer plus tard, il suffit de cliquer sur le bouton d'attributs de la balise de départ, ou de mettre le curseur à l'intérieur de l'élément et de regarder le panneau Attributs. Les attributs optionnels ont leur nom en vert, alors que les attributs obligatoires s'affichent en rouge.

dialogue.gif

Images

Il existe dans de nombreux langages XML des éléments correspondant à des images. Il est alors possible de coller une image dans Jaxe, qui se charge de créer automatiquement le fichier de l'image correspondant à côté du fichier XML, et de créer un élément XML correspondant à l'image, avec la référence vers le fichier nouvellement créé. Le dialogue de modification des attributs possède deux boutons supplémentaires, Sélectionner un fichier... et Copier un fichier.... Cela permet de choisir un fichier pour l'image, et si le bouton Copier a été choisi de recopier le fichier de l'image à côté du fichier XML. Il faut en général éviter les références absolues vers les fichiers, comme /Users/toto/x.gif, et utiliser des chemins relatifs au dossier contenant le fichier XML. Par exemple, il est bien de créer un répertoire pour chaque fichier XML, et de créer un répertoire à l'intérieur pour contenir les images référencées par le fichier XML. La référence vers le fichier de l'image devient alors images/x.gif.

fichier.png

Equations

Jaxe possède un petit éditeur d'équations, qui permet d'insérer et de modifier facilement des équations. Il s'ouvre avec des éléments correspondant à des équations. L'éditeur comprend deux zone: celle du bas, où on tape l'équation sous forme de texte, et celle du haut, où s'affiche la représentation graphique de l'équation au fur et à mesure. Par exemple, si on tape racine(2)/3, l'image de l'équation s'affiche : racine(2)/3. La syntaxe de l'éditeur est détaillé sur la page suivante.

editeureq.png

Recherches

Jaxe permet de rechercher et remplacer des mots dans le texte avec le menu Rechercher du menu Edition. Il est possible de faire des recherches avancées en utilisant la syntaxe XPath pour sélectionner des éléments XML en utilisant leur nom et les valeurs des attributs. Il n'est pas nécessaire de connaître XPath pour utiliser cette fonctionnalité, puisqu'un dialogue permet de construire des requêtes simples. On peut par exemple facilement rechercher un élément SECTION ayant un attribut titre donné.

Correcteur orthographique

Jaxe inclut Jazzy, un correcteur orthographique. Avant de l'utiliser, vérifiez que vous avez bien téléchargé un dictionnaire et qu'il est bien placé dans le répertoire dicos. Le dictionnaire de français se compose de deux fichiers, francais.dico et francais.phon. Sélectionnez ensuite un dictionnaire à partir des préférences de Jaxe, en choisissant le fichier .dico. Il suffit alors de choisir le menu Orthographe... dans le menu Edition.

orthographe.png

Affichage du code source

Il est possible d'afficher le code source du fichier XML tel qu'il sera enregistré, avec le menu Source XML. La fenêtre qui s'affiche alors n'est pas éditable pour éviter des problèmes de mise à jour.

Validation

Jaxe permet d'éviter de faire des fichiers XML invalides, mais il se peut que l'on prépare un fichier qui n'est pas encore valide (parce-qu'un élément obligatoire n'a pas encore été ajouté, auquel cas l'élément parent doit s'afficher en orange, ce qui indique le problème mais ne le résout pas), ou que l'on ouvre un fichier créé autrement qu'avec Jaxe et qui n'est pas valide. Dans ce cas, on peut lancer une validation, qui est effectuée à partir du schéma XML (la validation n'est pas utile si la syntaxe simplifiée a été utilisée pour définir le langage). Cela se fait avec le menu Validation. S'il y a des erreurs, leur liste s'affiche, et un clic sur une erreur permet de voir où elle se trouve dans la fenêtre XML.

Aperçu HTML

Un aperçu HTML peut être créé si une feuille de style a été créée pour le langage utilisé. L'aperçu est généré avec le menu Fenêtre HTML. Il est affiché avec Jaxe, mais pas forcément très bien si CSS est utilisé (Java Swing ne sait afficher pour l'instant que du HTML 3 !). Il peut donc être nécessaire d'ouvrir le fichier HTML avec un navigateur, ce qui se fait facilement avec un bouton de la fenêtre HTML après que le navigateur ait été défini dans les préférences de Jaxe. Dans la dernière version de Jaxe, l'aperçu s'ouvre directement dans le navigateur web choisi dans les préférences.


Syntaxe des équations dans Jaxe

Un éditeur d'équation a été spécialement conçu pour Jaxe, afin d'ajouter et de modifier facilement des équations. Il fonctionne avec une zone de texte, où l'on entre une équation avec une syntaxe particulière, et l'image correspondant à l'équation s'affiche en temps réel au-dessus.

Avant de passer à la syntaxe, voici quelques règles à suivre pour entrer des équations :

Contrairement à la plupart des éditeurs d'équations, cet éditeur interprète le sens mathématique de l'équation. Il contruit ensuite l'image à partir de là. Cela permet d'obtenir un résultat graphique uniforme pour toutes les équations. Par contre, il n'est pas possible de spécifier de contrainte d'affichage, par exemple pour obtenir un espace supplémentaire entre deux caractères : l'utilisateur donne le sens de l'équation, et c'est l'éditeur qui se charge de trouver le meilleur affichage.


Préférences

preferences.png

Fenêtres visibles par défaut

On peut choisir les fenêtres visibles à gauche de la zone d'édition XML qui sont visibles par défaut.

Navigateur

Il s'agit du navigateur lancé quand on clique sur le bouton "Navigateur" dans la fenêtre de l'aperçu HTML. Quand on choisit "Définir" ou quand on clique sur le bouton "Navigateur" pour la permière fois, un dialogue s'ouvre demandant de localiser le programme du navigateur sur le disque dur. Il se trouve par exemple généralement dans le dossier "Applications" sur MacOS X, ou dans le dossier "Program Files" sur Windows.

Conserver les indentations

Cette option permet de conserver tous les espaces du document XML édité, et en particulier les indentations des éléments XML. Par défaut, Jaxe efface automatiquement les espaces servant d'indentation, ce qui n'est pas gênant quand un document est toujours édité avec Jaxe (parce-que les indentations sont remises pour l'édition), mais peut poser problème quand un document peut aussi être édité avec un autre éditeur XML.

Icône de validation

Permet l'affichage d'une icône sur les balises pour indiquer si l'élément est valide ou pas. Un élément peut ne pas être valide quand il requiert par exemple un certain nombre de sous-éléments et qu'ils n'ont pas tous été insérés.

Toujours afficher le dialogue d'attributs à la création d'un élément

Cette option permet de choisir si on préfère voir le dialogue d'attributs systématiquement quand on crée des éléments qui ne comportent pas d'attribut obligatoire. Le dialogue des attributs est toujours affiché s'il y a au moins un attribut obligatoire. Il peut par exemple être utile de décocher l'option quand on utilise des langages avec des attributs facultatifs peu fréquemment utilisés sur tous les éléments.

Dictionnaire

Un certain nombre de dictionnaires sont téléchargeables pour Jaxe. Il faut les placer dans le répertoire dicos du répertoire de Jaxe. On peut ensuite sélectionner le fichier avec l'extension .dico correspondant au dictionnaire que l'on veut utiliser pour la correction orthographique.

Processeur XSLT

Choix du processeur XSLT :


Editeur de Fichiers de Config de Jaxe

Auteur: Soufiane Ayadi

Editeur de Fichiers de Config de Jaxe

Cet éditeur permet de créer un fichier de configuration afin de définir un environnement d'édition des éléments du langage XML. Grâce à son interface graphique simplifiée l'utilisateur peut facilement créer ou éditer des fichiers de config.

Configuration requise

Un système (Mac, UNIX, Windows ou autre) avec une version de récente de Java (au moins 1.5). Pour tester la version de java de votre système, vous pouvez taper "java -version" sous la ligne de commande.

Lancement de l'application

Il suffit en général de double-cliquer dessus sur MacOS X et Windows, ou de faire un clic droit et de choisir "Ouvrir avec Sun Java Runtime" sur Linux.

Comment utiliser l'Editeur de fichiers de config

Licence

GPL


Créer/Editer un fichier de config

ecrans/menu_initial.png
Menu initial
ecrans/ouvrir_fichierXML.png
Ouvrir un fichier de config

Nouveau: créer un nouveau fichier de config

Ouvrir: ouvrir et éditer un fichier de config existant. Accédez au menu principal.

Quitter: quitter l'application


Choix de langues

ecrans/definir_langues1.png
Définir une ou plusieures langues
ecrans/definir_langues2.png
Ajout d'une langue
ecrans/definir_langues3.png
Liste des langues

Il faut ajouter au moins une langue


Choix du schéma

ecrans/choix_schema.png
Choix d'un type de schéma
ecrans/ouvrir_schema.png
Sélection d'un schéma xml dans le dossier config

Choisissez un type de schéma W3C, sélectionnez le fichier dans votre dossier config.


Choix des racines

ecrans/choix_racines1.png
Choix d'une ou plusieures racines

La liste à gauche représente les éléments parents qui peuvent être des racines possibles. Sélectionnez un et ajoutez le dans la liste des racines. N'oubliez pas de valider les modifications en cliquant sur OK.

En cas d'ouverture d'un fichier de config existant, vous verrez les racines existantes dans la liste des Racines.

Il est nécessaire d'indiquer un ou plusieurs éléments racine utilisables pour les nouveaux documents.


Menu principal

ecrans/menu_principal.png
Menu principal

Ce menu principal permet d'accéder aux différentes parties de l'éditeur:


Autre configuration

ecrans/autre_config.png
Choix d'un autre fichier de configuration

Une autre configuration Jaxe, à utiliser en plus de celle-là.


Enregistrement des fichiers

ecrans/editeur_enregistrement.png
Enregistrement des fichiers

Définition des champs


Menus

ecrans/editeur_menus/menu1.png
Créer un nouveau menu
ecrans/editeur_menus/menu2.png
Créer un nouveau menu
ecrans/editeur_menus/menu3.png
Ajout d'un menu d'insertion
ecrans/editeur_menus/menu4.png
Créer un nouveau menu de fonction
ecrans/editeur_menus/menu5.png
Créer un nouveau menu de fonction
ecrans/editeur_menus/menu6.png
Editer les textes d'un menu
ecrans/editeur_menus/menu7.png
Editer les textes d'un menu d'insertion

Les menus définis dans les fichiers de config s'affichent au-dessus de la zone de texte de Jaxe. Ils ne sont pas mélangés avec la barre de menus de Jaxe, qui se trouve au-dessus (en haut de l'écran sur Mac).

L'interface

La liste à droite affiche des éléments XML recupérés depuis le shéma XML. On peut filtrer ces éléments grâce au champ de texte. En cas d'ouverture du fichier de config existant, la liste n'affiche que les éléments restants.

Définition des champs


Affichage des noeuds

ecrans/editeur_elements/element1.png
Edition d'un élément sélectionné
ecrans/editeur_elements/element2.png
Edition des textes d'un élément
ecrans/editeur_elements/element3.png
Filtrer la liste des éléments
ecrans/editeur_elements/element4.png
Valeurs suggérées pour un attribut
ecrans/editeur_elements/element5.png
Paramètre d'affichage
ecrans/editeur_elements/element6.png
Edition des textes d'un attribut

Une fonctionnalité essentielle de Jaxe est la possibilité d'afficher et d'éditer les éléments XML de diverses façons, quelque soient leurs types dans le schéma XML. On pourra par exemple choisir d'afficher un élément représentant une table sous forme de table, ou un élément pointant vers une image sous forme d'image. L'objectif étant de faciliter l'édition des documents, sans pour autant perdre de vue leur aspect sémantique : on ne cherchera pas à afficher les éléments tels qu'on les verra sous forme de page web ou PDF, mais simplement avec une interface facilitant l'édition et mettant en évidence le sens des différents éléments.

Définition des champs


Types d'affichage

Type Description Affichage
division Deux barres allant jusqu'au bout de la fenêtre à droite, permettant de bien séparer de grandes parties du document. ecrans/images_types/division.png
zone Deux balises et des retours à la ligne, pour séparer des parties plus petites qu'avec division. ecrans/images_types/zone.png
string Deux balises pour identifier une petite chaîne de caractères, sans retour à la ligne. ecrans/images_types/string.png
vide Une seule balise, typiquement pour un élément vide. ecrans/images_types/vide.png
tableau Affichage de tableau de type tableur (avec le composant Swing JTable). Pratique pour des tableaux de nombres, mais ne permet pas d'utiliser des élements XML à l'intérieur des cellules (utiliser tabletexte pour cela). ecrans/images_types/tableau.png
tabletexte Affichage d'une table permettant d'utiliser des éléments XML dans les cellules. Gère aussi les attributs rowspan et colspan pour regrouper les cellules verticalement et horizontalement. ecrans/images_types/tabletexte.png
style A utiliser dans le cas (très rare si le langage XML code le sens par opposition à la forme) où un élément XML ne donne qu'une information de style. Affiche les caractères dans le style choisi (gras, italique, ...), sans aucune balise. Une alternative est d'utiliser le type string, qui permet aussi de choisir un style, mais affiche les balises. ecrans/images_types/style.png
fichier Affiche une image à partir de son chemin sur le disque issu d'un attribut de l'élément XML (à préciser). Il est possible de faire des copier/coller d'images et Jaxe créera automatiquement l'élément XML et le fichier de l'image sur le disque, en utilisant le premier élément de type fichier. ecrans/images_types/fichier.png
symbole Permet de choisir une image parmi un ensemble d'images situé dans un dossier. ecrans/images_types/symbole.png
liste Pour un élément correspondant à une liste à points ou numérotée. Le sous-élément doit utiliser le type item. S'affiche comme zone, avec un bouton '+' pour créer de nouveaux éléments de la liste. ecrans/images_types/liste.png
item Elément d'une liste affichée avec le type liste. S'affiche avec des points ou des numéros, en fonction du type de liste. ecrans/images_types/item.png
typesimple Affiche un élément ayant une simple valeur, dans une petite zone particulière. Utilisable uniquement pour les éléments ayant un type simple dans le schéma XML. L'affichage précis (zone de texte, menu ou boîte à cocher) et la validation se fait en utilisant les contraintes du schéma XML. ecrans/images_types/typesimple.png
equation Affiche l'image d'une équation. L'équation peut être éditée par un simple clic dessus, avec un dialogue présentant en même temps le texte de l'équation (avec une syntaxe très simple propre à Jaxe) et l'image correspondante. ecrans/images_types/equation.png
formulaire Affiche un élément et tous ses sous-éléments possibles sous la forme d'un formulaire, avec un champ par sous-élément. Attention à ne pas utiliser ce type avec des éléments pouvant avoir un sous-arbre infiniment profond ! ecrans/images_types/formulaire.png
plugin Si vous voulez définir votre propre élément Jaxe, c'est possible ! Voir la partie Création de nouveaux éléments Jaxe de la documentation pour les développeurs pour plus de précisions. En outre, certains plugins sont téléchargeables depuis cette page.

Des paramètres peuvent être utilisés, en fonction des types d'affichage, avec l'élément PARAMETRE sous AFFICHAGE_ELEMENT.

Les affichages de type division et zone peuvent avoir un paramètre indiquant le nom de l'attribut à utiliser comme titre pour l'affichage.

Les affichages de type fichier et symbole doivent avoir un paramètre indiquant l'attribut repérant le nom du fichier.

Les affichages de type tableau et tabletexte doivent avoir des paramètres indiquant les éléments repérant les lignes et les cellules.

Les affichages de type style doivent avoir un paramètre indiquant le style.

Les affichages de type zone et string peuvent avoir un paramètre indiquant le style, un paramètre avec la police de caractères, et un paramètre avec la taille des caractères.

Les affichages de type equation doivent avoir des paramètres indiquant les attributs à utiliser pour le texte de l'équation et le nom de l'image.

Voilà la liste complète des paramètres possibles:

type nom du paramètre description
division et zone titreAtt attribut pour le titre
division, zone, string et vide attributsVisibles affiche tous les attributs sur la balise de début (true|false)
tableau et tabletexte trTag élément pour une ligne
tableau et tabletexte tdTag élément pour une cellule
tableau et tabletexte thTag élément pour une cellule d'entête
tabletexte colspanAttr attribut de fusion des colonnes
tabletexte rowspanAttr attribut de fusion des lignes
tabletexte alignAttr attribut d'alignement du texte
liste typeListe type de liste (POINTS|NUMEROS)
style, zone et string style GRAS|ITALIQUE|EXPOSANT|INDICE|SOULIGNE|BARRE
zone et string police police de caractères
zone et string taille taille de caractères
fichier et symbole srcAtt attribut avec le nom du fichier
plugin classe classe Java dérivée de JaxeElement
item image1 première image de pastille
item image2 deuxième image de pastille
equation srcAtt attribut avec le nom de l'image
equation texteAtt attribut avec le texte de l'équation

Exports

ecrans/editeur_exports/export1.png
ecrans/editeur_exports/export2.png
Ajout d'un autre export
ecrans/editeur_exports/export_parcourir_xsl.png
Choisir un fichier XSL pour l'export

Définition des champs


Textes

ecrans/editeur_textes/textes1.png
Editer les textes d'un menu
ecrans/editeur_textes/textes2.png
Editer les textes d'un élément
ecrans/editeur_textes/textes3.png
Editer les textes d'un export
ecrans/editeur_textes/textes4.png
Ajout d'une langue
ecrans/editeur_textes/textes5.png
Edition des textes pour l'ensemble de langues

On peut souhaiter modifier tous les textes (appelés aussi chaînes de caractères ou strings) de l'interface créée avec la configuration. Soit pour améliorer la lisibilité sans avoir à modifier le schéma, soit pour fournir une interface dans une autre langue pour le même schéma. On peut aussi souhaiter fournir les textes pour un ensemble de langues, de manière à ce que les utilisateurs puissent éditer les mêmes documents, avec la même configuration Jaxe, mais avec une interface entièrement dans leur langue.

Définition des champs


Sauvegarde du fichier de Config

ecrans/enregistrement_fichier/enregistrer_fichierXML.png
Sauvegarde du fichier XML
ecrans/enregistrement_fichier/enregistrer_chemin_schema1.png
Enregistrer le chemin du schéma
ecrans/enregistrement_fichier/enregistrer_chemin_schema2.png
Enregistrement du chemin du schéma

Cliquer sur Enregistrer et choisissez le chemin de votre dossier config. Saisissez le nom du fichier (sans _config) sans l'extension .xml

Un dialogue vous demande d'enregistrer le chemin du schéma. le fichier de config et le schéma W3C doivent être dans le même dossier config.

Si vous quitter sans enregistrer votre fichier XML, un dialogue vous suggérera de le faire.


Fichiers de configuration de Jaxe

Auteur: Damien Guillaume

Introduction

Lors de la création d'un nouveau document avec Jaxe, il est nécessaire de choisir un fichier de config.

Les fichiers de config de Jaxe permettent de spécifier l'interface d'édition des documents XML avec Jaxe pour un langage XML donné. Ceci recouvre les informations sur le langage XML, les options d'enregistrement, les menus (notamment pour insérer les éléments), les types d'affichage des éléments, les exports possibles, et toutes les chaînes de caractères utilisées dans l'interface, en fonction de la langue de l'utilisateur.

Les fichiers de config se trouvent dans le répertoire config de Jaxe, et leurs noms se terminent par "_config.xml". Les anciens fichiers de config (avant Jaxe 3.0) avaient un nom se terminant en "_Jaxe_cfg.xml". On peut les convertir dans la nouvelle version à partir d'un menu d'export dans le menu Fichier.

Il est possible d'ouvrir un schéma XML dans Jaxe et d'"exporter" vers un fichier de config. Cela crée automatiquement un fichier de config qui permettra l'édition dans Jaxe pour ce schéma, mais les choix automatiques pour les types d'affichage sont souvent mauvais ou insuffisants : cet export ne doit pas être considéré comme une méthode de création des fichiers de config, mais peut servir pour commencer la création d'un fichier de config à partir d'un schéma particulièrement complexe.


Définition du langage XML

Définition des éléments

Arbre des éléments

Arbre des éléments sous l'élément LANGAGE :


Enregistrement des fichiers

Définition des éléments

Arbre des éléments

Arbre des éléments sous l'élément ENREGISTREMENT :


Menus

Les menus définis dans les fichiers de config s'affichent au-dessus de la zone de texte de Jaxe. Ils ne sont pas mélangés avec la barre de menus de Jaxe, qui se trouve au-dessus (en haut de l'écran sur Mac).

Définition des éléments

Arbre des éléments

Arbre des éléments sous l'élément MENUS :


Affichage des noeuds

Une fonctionnalité essentielle de Jaxe est la possibilité d'afficher et d'éditer les éléments XML de diverses façons, quelque soient leurs types dans le schéma XML. On pourra par exemple choisir d'afficher un élément représentant une table sous forme de table, ou un élément pointant vers une image sous forme d'image. L'objectif étant de faciliter l'édition des documents, sans pour autant perdre de vue leur aspect sémantique : on ne cherchera pas à afficher les éléments tels qu'on les verra sous forme de page web ou PDF, mais simplement avec une interface facilitant l'édition et mettant en évidence le sens des différents éléments.

Définition des éléments

Arbre des éléments

Arbre des éléments sous l'élément AFFICHAGE_NOEUDS :


Types d'affichage

Type Description Affichage
division Deux barres allant jusqu'au bout de la fenêtre à droite, permettant de bien séparer de grandes parties du document. images_types/division.png
zone Deux balises et des retours à la ligne, pour séparer des parties plus petites qu'avec division. images_types/zone.png
string Deux balises pour identifier une petite chaîne de caractères, sans retour à la ligne. images_types/string.png
vide Une seule balise, typiquement pour un élément vide. images_types/vide.png
tableau Affichage de tableau de type tableur (avec le composant Swing JTable). Pratique pour des tableaux de nombres, mais ne permet pas d'utiliser des élements XML à l'intérieur des cellules (utiliser tabletexte pour cela). images_types/tableau.png
tabletexte Affichage d'une table permettant d'utiliser des éléments XML dans les cellules. Gère aussi les attributs rowspan et colspan pour regrouper les cellules verticalement et horizontalement. images_types/tabletexte.png
style A utiliser dans le cas (très rare si le langage XML code le sens par opposition à la forme) où un élément XML ne donne qu'une information de style. Affiche les caractères dans le style choisi (gras, italique, ...), sans aucune balise. Une alternative est d'utiliser le type string, qui permet aussi de choisir un style, mais affiche les balises. images_types/style.png
fichier Affiche une image à partir de son chemin sur le disque issu d'un attribut de l'élément XML (à préciser). Il est possible de faire des copier/coller d'images et Jaxe créera automatiquement l'élément XML et le fichier de l'image sur le disque, en utilisant le premier élément de type fichier. images_types/fichier.png
symbole Permet de choisir une image parmi un ensemble d'images situé dans un dossier. images_types/symbole.png
liste Pour un élément correspondant à une liste à points ou numérotée. Le sous-élément doit utiliser le type item. S'affiche comme zone, avec un bouton '+' pour créer de nouveaux éléments de la liste. images_types/liste.png
item Elément d'une liste affichée avec le type liste. S'affiche avec des points ou des numéros, en fonction du type de liste. images_types/item.png
typesimple Affiche un élément ayant une simple valeur, dans une petite zone particulière. Utilisable uniquement pour les éléments ayant un type simple dans le schéma XML. L'affichage précis (zone de texte, menu ou boîte à cocher) et la validation se fait en utilisant les contraintes du schéma XML. images_types/typesimple.png
equation Affiche l'image d'une équation. L'équation peut être éditée par un simple clic dessus, avec un dialogue présentant en même temps le texte de l'équation (avec une syntaxe très simple propre à Jaxe) et l'image correspondante. images_types/equation.png
formulaire Affiche un élément et tous ses sous-éléments possibles sous la forme d'un formulaire, avec un champ par sous-élément. Attention à ne pas utiliser ce type avec des éléments pouvant avoir un sous-arbre infiniment profond ! images_types/formulaire.png
plugin Si vous voulez définir votre propre élément Jaxe, c'est possible ! Voir la partie Création de nouveaux éléments Jaxe de la documentation pour les développeurs pour plus de précisions. En outre, certains plugins sont téléchargeables depuis cette page.

Des paramètres peuvent être utilisés, en fonction des types d'affichage, avec l'élément PARAMETRE sous AFFICHAGE_ELEMENT.

Les affichages de type division et zone peuvent avoir un paramètre indiquant le nom de l'attribut à utiliser comme titre pour l'affichage.

Les affichages de type fichier et symbole doivent avoir un paramètre indiquant l'attribut repérant le nom du fichier.

Les affichages de type tableau et tabletexte doivent avoir des paramètres indiquant les éléments repérant les lignes et les cellules.

Les affichages de type style doivent avoir un paramètre indiquant le style.

Les affichages de type zone et string peuvent avoir un paramètre indiquant le style, un paramètre avec la police de caractères, et un paramètre avec la taille des caractères.

Les affichages de type equation doivent avoir des paramètres indiquant les attributs à utiliser pour le texte de l'équation et le nom de l'image.

Voilà la liste complète des paramètres possibles:

type nom du paramètre description
division et zone titreAtt attribut pour le titre
division, zone, string et vide attributsVisibles affiche tous les attributs sur la balise de début (true|false)
tableau et tabletexte trTag élément pour une ligne
tableau et tabletexte tdTag élément pour une cellule
tableau et tabletexte thTag élément pour une cellule d'entête
tabletexte colspanAttr attribut de fusion des colonnes
tabletexte rowspanAttr attribut de fusion des lignes
tabletexte alignAttr attribut d'alignement du texte
liste typeListe type de liste (POINTS|NUMEROS)
style, zone et string style GRAS|ITALIQUE|EXPOSANT|INDICE|SOULIGNE|BARRE
zone et string police police de caractères
zone et string taille taille de caractères
fichier et symbole srcAtt attribut avec le nom du fichier
plugin classe classe Java dérivée de JaxeElement
item image1 première image de pastille
item image2 deuxième image de pastille
equation srcAtt attribut avec le nom de l'image
equation texteAtt attribut avec le texte de l'équation

Exports

Définition des éléments

Arbre des éléments

Arbre des éléments sous l'élément EXPORTS :


Chaînes de caractères

On peut souhaiter modifier tous les textes (appelés aussi chaînes de caractères ou strings) de l'interface créée avec la configuration. Soit pour améliorer la lisibilité sans avoir à modifier le schéma, soit pour fournir une interface dans une autre langue pour le même schéma. On peut aussi souhaiter fournir les textes pour un ensemble de langues, de manière à ce que les utilisateurs puissent éditer les mêmes documents, avec la même configuration Jaxe, mais avec une interface entièrement dans leur langue.

Pour ces raisons, l'élément STRINGS représente un ensemble de textes pour une langue et un pays donné, et il est possible d'en spécifier plusieurs dans le même fichier de config. On mettra par exemple langue="pt" pays="BR" pour le portugais brésilien, ou juste langue="fr" pour spécifier la langue française sans précision sur le pays.

Définition des éléments

Arbre des éléments

Arbre des éléments sous l'élément STRINGS :


Plugins

remarqueRemarque

Les plugins sous forme de fichiers jar ne sont gérés qu'à partir de Jaxe 3.0.

Installation

Pour installer un plugin, il suffit de placer son fichier .jar dans le dossier plugins du dossier de Jaxe. Les nouvelles fonctionnalités du plugin (types d'affichage ou fonctions) peuvent alors être utilisées dans les fichiers de config.

Liste
Nom du plugin Type Objectif Config requise Téléchargement Code source
JEEquaTeX élément Jaxe Editer des équations TeX avec une prévisualisation Un serveur avec le script tex.php, ou latex dvips et convert installés chez les utilisateurs JEEquaTeX.jar JEEquaTeX.tar
ImportationTableau fonction Importer un tableau du presse-papier au format texte automatiquement vers un élément Jaxe de type tabletexte - ImportationTableau.jar ImportationTableau.java
EnvoiContrib fonction Envoi d'un dossier contenant un fichier XML (de même nom) et des fichiers liés sur un serveur FTP - (la bibliothèque JavaFTP est incluse) EnvoiContrib.jar EnvoiContrib.tar
JEChemin élément Jaxe Représente un chemin vers un fichier ou un répertoire. - JEChemin.jar JEChemin.java

Si vous avez d'autres plugins à proposer, n'hésitez pas !


Documentation pour les développeurs

Auteur: Damien Guillaume

Introduction

On supposera ici que le lecteur a déjà lu les documentations utilisateur, administrateur et sur les fichiers de configuration, et qu'il est familier de la programmation en Java.

Cette documentation explique comment utiliser Jaxe au sein d'une autre application, et comment lui ajouter des extensions pour l'affichage des éléments.


Utilisation de Jaxe au sein d'une autre application

La classe de lancement de Jaxe est (sans surprise) jaxe.Jaxe. Cette classe rassemble la gestion des évènements externes à l'application (ouverture de fichier, fermeture, etc...), et on peut donc y jeter un œil pour voir comment un nouveau document Jaxe est créé ou comment un document est ouvert.

Une autre classe importante est jaxe.JaxeFrame. Cette classe correspond à une fenêtre de document XML. Elle utilise la classe jaxe.JaxeMenuBar pour la gestion de la barre de menus, celle-ci étant malheureusement (à cause d'une limitation de Java) liée à la fenêtre.

Le plus simple, pour utiliser Jaxe dans une autre application, est probablement de se servir de la classe jaxe.JaxeTextPane, qui correspond à la zone de texte dans la fenêtre XML. Comme cette classe est dérivée de java.swing.JTextPane, elle peut facilement être ajoutée où on le souhaite selon le layout de l'application hôte. Le constructeur requiert un JaxeDocument (lié au DOM) et une JFrame (la fenêtre parent).

L'objet de classe jaxe.JaxeDocument doit être initialisé avec un fichier de configuration de Jaxe (géré par la classe jaxe.Config) et éventuellement avec un fichier XML ou avec un objet DOM.

Pour récapituler, voilà une série d'instructions permettant d'incorporer une zone de texte Jaxe dans un Container parent se trouvant dans une fenêtre frame:

JaxeDocument jaxeDoc = new JaxeDocument("monlangage_config.xml");
JaxeTextPane jaxeTextPane = new JaxeTextPane(jaxeDoc, frame);
jaxeDoc.lire(urlFichierXML);
// ou jaxeDoc.setDOMDoc(documentDOM);
parent.add(jaxeTextPane);

Les éléments peuvent être insérés avec le menu contextuel, ou avec des actions jaxe.ActionInsertionBalise. Le constructeur de ActionInsertionBalise demande le document Jaxe, et l'élément DOM correspondant à la définition de l'élément dans le fichier de configuration de Jaxe.

On peut plus tard enregistrer le document avec la méthode JaxeDocument.ecrire(File f).


Création de nouveaux éléments Jaxe

On appelle élément Jaxe une classe dérivée de la classe jaxe.JaxeElement, décrivant un affichage pour un élément XML donné. Les éléments Jaxe standard sont regroupés dans le package jaxe.elements. Ils correspondent à des types d'affichage des fichiers de configuration (par exemple, le type string correspond à l'élément Jaxe jaxe.elements.JEString).

La création d'un nouvel élément Jaxe se fait en créant une nouvelle classe dérivée de jaxe.JaxeElement. Il peut ensuite être utilisé dans un fichier de configuration avec le type plugin, en précisant la classe à utiliser. Par exemple:

<AFFICHAGE_ELEMENT element="BOUBOULE" type="plugin">
  <PARAMETRE nom="classe" valeur="JEBooleen"/>
</AFFICHAGE_ELEMENT>

Deux méthodes doivent impérativement être définies dans l'élément Jaxe: init et nouvelElement. Deux autres ne sont utiles que si on utilise des balises de début et de fin (comme expliqué plus loin): insPosition et (si l'élément a des attributs) majAffichage.

init est utilisé pour l'initialisation et l'insertion du composant Swing dans la zone de texte. On trouve en paramètres la position à laquelle l'élément doit être inséré, et le nœud DOM. A partir de ces paramètres, il faut insérer le composant avec la méthode JaxeElement.insertComponent(Position pos, JComponent comp).

Les choses se compliquent si on veut utiliser un composant pour une balise de départ et un composant pour une balise de fin, en laissant Jaxe traiter récursivement les sous-éléments. Il faut alors récupérer la position dans le texte après l'insertion de la balise de départ (elle est retournée par insertComponent), ajouter les enfants avec creerEnfants(Position), puis insérer la balise de fin avec un nouvel appel à insertComponent (avec l'objet Position passé en paramètre à creerEnfants. Il faut ensuite mettre à jour le style des caractères pour les balises et le texte des enfants, ce qui nécessite d'avoir conservé la position de départ avant le premier insertComponent. Voilà un exemple:

int offsetdebut = pos.getOffset();
Position newpos = insertComponent(pos, composantBaliseDebut);
creerEnfants(newpos);
insertComponent(newpos, composantBaliseFin);
if (newpos.getOffset() - offsetdebut - 1 > 0) {
  SimpleAttributeSet style = attStyle(null);
  if (style != null)
    doc.setCharacterAttributes(offsetdebut, newpos.getOffset() - offsetdebut - 1, style, false);
}

La méthode nouvelElement est appelée quand l'utilisateur insère un nouvel élément. Elle doit éventuellement demander des informations à l'utilisateur (comme par exemples les attributs), et renvoyer l'élément DOM correspondant. On peut se servir de jaxe.DialogueAttributs pour demander les attributs à l'utilisateur.

insPosition peut être appelée pour obtenir la position à laquelle sera placé le curseur après l'insertion d'un nouvel élément. Par défaut le curseur sera placé après l'élément, mais il peut être utile de le placer entre les balises de début et de fin quand celles-ci sont utilisées.

Enfin, majAffichage est appelée pour mettre à jour l'affichage quand les attributs ont été modifiés dans le panneau d'attributs.

Exemple

Le fichier suivant est un élément Jaxe utilisable pour un booléen, qui utilise une case à cocher pour l'affichage: JEBooleen.java. Il peut être compilé et placé dans un fichier jar pour être utilisable comme nouveau plugin de Jaxe, comme ceux disponibles sur la page des plugins.


Ajout d'une fonction

On peut facilement ajouter un menu opérant une fonction particulière au lieu d'une insertion d'élément. Il suffit pour cela de créer une classe dérivant de jaxe.Fonction et implémentant la méthode appliquer, qui fournit le document Jaxe sur lequel on travaille, et les positions de début et de fin de la sélection dans le texte.

public void appliquer(JaxeDocument doc, int start, int end)

On peut obtenir le document DOM à partir du document Jaxe en utilisant doc.DOMdoc. On peut aussi obtenir un élément Jaxe à partir d'une position du texte avec doc.elementA(int pos), ou les éléments dans l'intervalle [start,end] avec rootJE.elementsDans(start, end). Le noeud DOM correspondant est obtenu avec JaxeElement.noeud.

Exemple

L'exemple suivant permet d'ajouter un menu donnant des statistiques sur le document.

<MENU nom="plugins">
  <MENU_FONCTION classe="pluginsjaxe.FonctionStatistiques" nom="Statistiques"/>
</MENU>

Le langage XPAGES

Auteur: Damien Guillaume

Introduction

introductionIntroduction

XPAGES permet de créer rapidement et facilement des sites web. Le principe sur lequel repose XPAGES est la séparation du contenu et de la forme : avec XPAGES, on spécifie un contenu (texte, images, animations), et on le structure en donnant un sens à chaque partie. A l'édition, on ne préoccupe absolument pas de la façon dont le contenu sera affiché plus tard, ce qui permet de gagner du temps et de ne pas mélanger le sens avec la forme. La façon dont le contenu sera affiché est spécifié séparément, par des feuilles de style. Il est ainsi possible de changer l'affichage indépendamment de l'édition.

XPAGES est un langage XML, c'est à dire un ensemble d'éléments et de règles permettant de structurer un texte. Des feuilles de style associées permettent de transformer automatiquement des documents XPAGES en fichiers HTML pour qu'ils puissent être consultés sur le web. Les documents XPAGES peuvent être édités avec Jaxe et WebJaxe grâce à un fichier de configuration décrivant une interface d'édition.

XPAGES est un langage très simple, et facile à apprendre : il ne comporte que 59 éléments (46 sans les exercices), à comparer par exemple aux 91 éléments de HTML, aux 390 éléments de DocBook, ou aux 526 éléments de OpenDocument.


La structure des documents

Les documents XPAGES comportent un élément racine, XPAGES, qui est utilisé dans tous les documents comme élément de premier niveau. Sous cet élément, on trouve les éléments INFORMATIONS, PAGE, REFXPAGES et XPAGES.

A l'intérieur d'une page, il est possible de créer des sections avec l'élément SECTION. Cet élément comporte un titre, un rôle qui spécifie le sens de la section et peut permettre un affichage différent en fonction, et une importance qui permet de mettre en valeur la section si celle-ci est importante.

Le texte est ajouté à l'intérieur de paragraphes, avec l'élément PARAGRAPHE. Il est facile d'insérer un nouveau paragraphe avec le raccourci-clavier commande-P ou contrôle-P dans Jaxe.

Il possible de créer plusieurs contributions, chacune comprenant un fichier XML XPAGES et les fichiers attachés (images, applets Java, ...). Chaque contribution doit alors correspondre à un dossier dont le nom est égal au label donné dans le bloc INFORMATIONS du fichier XML. Ce dossier contient le fichier XML et les fichiers associés.


Informations

Le bloc d'informations renseigne sur le document, et permet aussi de choisir un habillage pour les pages qui seront générées. Il est obligatoire, et se place au début du document. Il comporte les éléments suivants :


Eléments de bloc

Les éléments de bloc sont les éléments XML que l'on peut insérer directement à l'intérieur d'un élément PAGE. Ils permettent de structurer le document, mais ne sont pas mélangés à du texte : il est ainsi impossible d'insérer du texte directement sous PAGE, le texte devant être placé à l'intérieur d'un élément de bloc.

XPAGES comporte les éléments de bloc suivants :


Eléments mélangés au texte

Certains éléments de XPAGES peuvent être mélangés avec du texte, par exemple à l'intérieur d'un paragraphe. Ce sont les éléments suivants :


Exercices

XPAGES peut être utilisé pour de nombreuses applications, mais il est en particulier pratique pour créer un cours en ligne, et a été créé dans ce contexte. Pour ces raisons, le langage contient des éléments spécifiques à la définition d'exercices, même si ces éléments ne seront pas forcément utiles en-dehors du contexte des cours en ligne.

Il existe deux types d'exercices : les exercices de type question-réponse, et les QCM. Dans les deux cas, un exercice peut avoir un titre (attribut titre), un énoncé (élement ENONCE), une indication de la difficulté (élément DIFFICULTE), une indication du temps nécessaire (élément TEMPS), et des questions (élements QUESTION et QUESTIONQCM).

Chaque question peut avoir un énoncé et une ou plusieurs aides (élement AIDE). Les questions des exercices de type question-réponses ont une solution (élément SOLUTION) et un nombre de points qui peuvent être accordés si la réponse est correcte (élément POINTS). Les questions de QCM ont des réponses possibles (élément REPONSEQCM), chaque réponse pouvant être bonne ou pas (attribut bonne), avec à chaque fois le texte de la réponse (élément TEXTEREP) et un commentaire qui sera affiché si l'utilisateur choisit cette réponse, par exemple pour lui expliquer en quoi la réponse est fausse (élément COMMENTAIREREP).

Dans Jaxe, les réponses des exercices d'évaluations ne sont pas ajoutées aux fichiers HTML quand on génère le "site public". Elles ne sont ajoutées que lorsque l'on génère le "site de production". Dans WebJaxe, c'est toujours le site de production qui est généré; il faut donc exporter la contribution et l'ouvrir dans Jaxe pour générer le site public. On peut ainsi, à partir des mêmes fichiers XML, générer un site pour les étudiants, et un site pour les tuteurs d'une formation à distance.


Référence du langage

Le document suivant présente l'ensemble des éléments du langage XPAGES, avec un index et un arbre des éléments. Il a été généré automatiquement à partir du schéma XML de XPAGES.