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.
Lors de la création d'un nouveau fichier de config, la première chose à faire est de définir le langage XML correspondant. Cela se fait en général en indiquant un fichier de schéma XML existant. Les schémas doivent utiliser la syntaxe du W3C (WXS) ou celle des schémas Relax NG (en XML).
Les schémas WXS étant assez complexe, il existe une alternative permettant de définir un langage très simple dans Jaxe, à l'intérieur du fichier de configuration. L'élément SCHEMA_SIMPLE permet de définir les éléments XML du langage, leurs attributs, et les relations hiérarchiques entre les éléments. Il n'est pas possible avec ces schéma de spécifier par exemple un ordre de sous-éléments dans un élément donné, ou encore des types pour les éléments et les attributs. Mais cela peut servir pour faire un prototype rapide, ou lorsque les besoins sont très simples.
Définition d'un élément XML pour les schémas simples.
Un sous-élément possible (qui doit être défini par ailleurs).
Un ensemble de sous-éléments possibles (l'ensemble doit être défini ailleurs).
Attribut d'élément.
Valeur possible pour un attribut.
Définition d'un ensemble d'éléments (utilisable ensuite pour ne pas avoir à répéter les mêmes sous-éléments pour de nombreux éléments).
Après avoir défini le langage XML, il est nécessaire d'indiquer à Jaxe un ou plusieurs éléments racine utilisables pour les nouveaux documents. On indique pour chaque racine possible le nom de l'élément avec l'élément RACINE.
Enfin, il est possible d'indiquer d'autres fichiers config à utiliser en parallèle avec celui décrit avec l'élément AUTRE_CONFIG, de manière à pouvoir mélanger 2 langages XML dans un document. Ceci est par exemple utilisé pour la création de documents XSLT.
Arbre des éléments sous l'élément LANGAGE :
Encodage des caractères à utiliser pour les nouveaux documents. Jaxe utilise ISO-8859-1 par défaut si rien n'est spécifié.
Définition de type de document, si une DTD doit être spécifiée dans les documents.
Spécification d'un préfixe à utiliser pour un espace de noms donné. Il est possible d'en spécifier plusieurs.
Arbre des éléments sous l'élément ENREGISTREMENT :
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).
Un menu principal, contenant potentiellement des sous-menus.
Un menu permettant d'insérer un noeud XML à l'endroit du curseur. Il faut spécifier le nom du noeud et le type de noeud (élément par défaut). Il est aussi possible de définir un raccourci clavier, avec la touche correspondante.
Menu permettant d'exécuter une fonction à partir de sa classe Java. La seule fonction prédéfinie dans Jaxe est jaxe.FonctionNormal, qui permet de retirer tous les styles à une zone du texte. D'autres fonctions peuvent être ajoutées sous forme de plugin.
Un paramètre à transmettre à la fonction.
Séparateur de menu.
Arbre des éléments sous l'élément MENUS :
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.
Spécifie le type d'affichage d'un élément.
Un paramètre d'affichage, en fonction du type d'affichage (voir plus bas pour une liste).
Valeur proposée à l'utilisateur quand le schéma ne fixe pas les valeurs autorisées.
Permet de suggérer des valeurs pour un attribut.
Plugin à utiliser pour les instructions de traitement (processing instructions).
Plugin à utiliser pour afficher les commentaires XML.
Arbre des éléments sous l'élément AFFICHAGE_NOEUDS :
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. | |
zone | Deux balises et des retours à la ligne, pour séparer des parties plus petites qu'avec division. | |
string | Deux balises pour identifier une petite chaîne de caractères, sans retour à la ligne. | |
vide | Une seule balise, typiquement pour un élément vide. | |
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). | |
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. | |
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. | |
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. | |
symbole | Permet de choisir une image parmi un ensemble d'images situé dans un dossier. | |
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. | |
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. | |
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. | |
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. | |
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 ! | |
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 |
Un export possible à partir des documents, en utilisant une ou plusieurs transformations XSLT successives. Un export vers un fichier HTML provoquera l'apparition d'un menu "Aperçu HTML" dans le menu Fenêtres de Jaxe. Les autres exports sont accessibles depuis le menu Fichier de Jaxe.
Un fichier XSL à utiliser pour la transformation (XSLT 1.0). Doit générer du XHTML ou HTML pour la sortie HTML, et du XSL-FO pour la sortie PDF.
Un paramètre de la feuille de style. Il existe des noms magiques qui font que Jaxe va remplir automatiquement les valeurs avant la transformation (ces valeurs sont impossibles à obtenir autrement depuis XSLT) :
Le chemin vers le fichier XML
L'URI vers le fichier XML
Le chemin vers le fichier XSL
L'URI vers le fichier XSL
Arbre des éléments sous l'élément EXPORTS :
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.
Ligne décrivant la configuration, affichée dans le dialogue de création de nouveaux documents de Jaxe.
Les chaînes de caractères associées à un menu, dont on spécifie le nom
Un titre
Une documentation
Les chaînes de caractères associées à un élément XML. Utilisées pour afficher l'élément, mais aussi pour le menu d'insertion de cet élément si aucun texte n'est spécifié pour le menu.
Un titre à utiliser pour une valeur d'élément ou d'attribut
Les chaînes de caractères associées à un attribut
Les chaînes de caractères associées à un export
Arbre des éléments sous l'élément STRINGS :
Les plugins sous forme de fichiers jar ne sont gérés qu'à partir de Jaxe 3.0.
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.
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 !