in English

Fichiers de config de Jaxe

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

FICHIER_SCHEMA
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).
SCHEMA_SIMPLE
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.
ELEMENT
Définition d'un élément XML pour les schémas simples.
SOUS-ELEMENT
Un sous-élément possible (qui doit être défini par ailleurs).
SOUS-ENSEMBLE
Un ensemble de sous-éléments possibles (l'ensemble doit être défini ailleurs).
ATTRIBUT
Attribut d'élément.
VALEUR
Valeur possible pour un attribut.
ENSEMBLE
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).
RACINE
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.
AUTRE_CONFIG
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 :

Enregistrement des fichiers

ENCODAGE
Encodage des caractères à utiliser pour les nouveaux documents. Jaxe utilise ISO-8859-1 par défaut si rien n'est spécifié.
DOCTYPE
Définition de type de document, si une DTD doit être spécifiée dans les documents.
PREFIXE_ESPACE
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 :

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).

MENU
Un menu principal, contenant potentiellement des sous-menus.
MENU_INSERTION
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_FONCTION
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.
PARAMETRE
Un paramètre à transmettre à la fonction.
SEPARATEUR
Séparateur de menu.

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.

AFFICHAGE_ELEMENT
Spécifie le type d'affichage d'un élément.
PARAMETRE
Un paramètre d'affichage, en fonction du type d'affichage (voir plus bas pour une liste).
VALEUR_SUGGEREE
Valeur proposée à l'utilisateur quand le schéma ne fixe pas les valeurs autorisées.
AFFICHAGE_ATTRIBUT
Permet de suggérer des valeurs pour un attribut.
PLUGIN_INSTRUCTION
Plugin à utiliser pour les instructions de traitement (processing instructions).
PLUGIN_COMMENTAIRE
Plugin à utiliser pour afficher les commentaires XML.

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

Types d'affichage

TypeDescriptionAffichage
divisionDeux barres allant jusqu'au bout de la fenêtre à droite, permettant de bien séparer de grandes parties du document.division
zoneDeux balises et des retours à la ligne, pour séparer des parties plus petites qu'avec division.zone
stringDeux balises pour identifier une petite chaîne de caractères, sans retour à la ligne.string
videUne seule balise, typiquement pour un élément vide.vide
tableauAffichage 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).tableau
tabletexteAffichage 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.tabletexte
styleA 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.style
fichierAffiche 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.image
symbolePermet de choisir une image parmi un ensemble d'images situé dans un dossier.symbole
listePour 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.liste
itemElé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.item
typesimpleAffiche 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.typesimple
equationAffiche 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.equation
formulaireAffiche 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 !formulaire
pluginSi 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.

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:

typenom du paramètredescription
division et zonetitreAttattribut pour le titre
division, zone, string et videattributsVisiblesaffiche tous les attributs sur la balise de début (true|false)
tableau et tabletextetrTagélément pour une ligne
tableau et tabletextetdTagélément pour une cellule
tableau et tabletextethTagélément pour une cellule d'entête
tabletextecolspanAttrattribut de fusion des colonnes
tabletexterowspanAttrattribut de fusion des lignes
tabletextealignAttrattribut d'alignement du texte
listetypeListetype de liste (POINTS|NUMEROS)
style, zone et stringstyleGRAS|ITALIQUE|EXPOSANT|INDICE|SOULIGNE|BARRE
zone et stringpolicepolice de caractères
zone et stringtailletaille de caractères
fichier et symbolesrcAttattribut avec le nom du fichier
pluginclasseclasse Java dérivée de JaxeElement
itemimage1première image de pastille
itemimage2deuxième image de pastille
equationsrcAttattribut avec le nom de l'image
equationtexteAttattribut avec le texte de l'équation

Exports

EXPORT
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.
FICHIER_XSL
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.
PARAMETRE
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) :
jaxe-fichier-xml
Le chemin vers le fichier XML
jaxe-uri-xml
L'URI vers le fichier XML
jaxe-fichier-xsl
Le chemin vers le fichier XSL
jaxe-uri-xsl
L'URI vers le fichier XSL

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.

DESCRIPTION_CONFIG
Ligne décrivant la configuration, affichée dans le dialogue de création de nouveaux documents de Jaxe.
STRINGS_MENU
Les chaînes de caractères associées à un menu, dont on spécifie le nom
TITRE
Un titre
DOCUMENTATION
Une documentation
STRINGS_ELEMENT
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.
TITRE_VALEUR
Un titre à utiliser pour une valeur d'élément ou d'attribut
STRINGS_ATTRIBUT
Les chaînes de caractères associées à un attribut
STRINGS_EXPORT
Les chaînes de caractères associées à un export

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


Ce fichier a bien sûr été créé avec Jaxe !