# Editeur de Fichiers de Config de Jaxe

Auteur: Soufiane Ayadi

- Créer/Editer un fichier de config
- Choix de langues
- Choix du schéma
- Choix des racines
- Menu principal
- Autre configuration
- Enregistrement des fichiers
- Menus
- Affichage des noeuds
- Types d'affichage
- Exports
- Textes
- Sauvegarde du fichier de Config

# 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

- Guide utilisateur

## Licence

GPL

# Créer/Editer un fichier de config

Menu initial
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

Définir une ou plusieures langues
Ajout d'une langue
Liste des langues

Il faut ajouter au moins une langue

# Choix du schéma

Choix d'un type de schéma
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

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

Menu principal

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

- Racine : Choisir un ou plusieurs racines possibles pour votre fichier de config
- Enregistrement : Editer l'élément l'Enregistrement de votre document XML
- Editeur de Menus : Editer les menus, les menus d'insertion et les menus de fonction
- Editeur des Eléments : Editer les éléments XML
- Editeur des Exports : Editer un ou plusieurs exports en utilisant une ou plusieurs transformations XSLT successives
- Editeur des Textes Géneral : Editer les textes (appelés aussi chaînes de caractères ou strings) de l'interface créée avec la configuration

# Autre configuration

Choix d'un autre fichier de configuration

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

# Enregistrement des fichiers

Enregistrement des fichiers

## Définition des champs

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

- `Schema Location`

  Enregistrement de l'emplacement du schéma XML dans les fichiers XML.

- `Préfixe espace`

  Spécification d'un préfixe à utiliser pour un espace de noms donné. Il est possible d'en spécifier plusieurs.

# Menus

Créer un nouveau menu
Créer un nouveau menu
Ajout d'un menu d'insertion
Créer un nouveau menu de fonction
Créer un nouveau menu de fonction
Editer les textes d'un menu
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

- `Nouveau Menu`

  Crée un menu principal, contenant potentiellement des sous-menus.

- `Menu insertion`

  Grace aux boutons 'Ajouter' et 'Retirer', on peut ajouter ou supprimer un menu d'insertion (permettant d'insérer un noeud XML). 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.

- `Paramètre`

  Un paramètre à transmettre à la fonction.

- `Editer les textes`

  On peut éditer les textes d'un menu sélectionné en cliquant sur le bouton Editer les textes. Définissez un titre et une documentation pour chaque langue (prédéfinie auparavant).

# Affichage des noeuds

Edition d'un élément sélectionné
Edition des textes d'un élément
Filtrer la liste des éléments
Valeurs suggérées pour un attribut
Paramètre d'affichage
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

- `Type`

  Spécifie le type d'affichage d'un élément.

- `Valeur suggérée`

  Valeur proposée à l'utilisateur quand le schéma ne fixe pas les valeurs autorisées.

  On peut spécifier les valeurs suggérées d'un élément seulement si le type d'affichage est typesimple ou plugin

- `Affichage d'attribut`

  Permet de suggérer des valeurs pour un attribut.

- `Paramètre`

  Un paramètre d'affichage, en fonction du type d'affichage.

- `Editer les textes`

  On peut éditer les textes d'un élément sélectionné en cliquant sur le bouton Editer les textes. Définissez un titre et une documentation pour chaque langue (prédéfinie auparavant).

  Pour les textes d'un attribut, vous pouvez éventuellement définir le titre pour valeur.

# 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. |
`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

# Exports

Ajout d'un autre export
Choisir un fichier XSL pour l'export

## Définition des champs

- `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

# Textes

Editer les textes d'un menu
Editer les textes d'un élément
Editer les textes d'un export
Ajout d'une langue
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.

- Vous pouvez ajouter une langue en cliquant sur Ajouter. La langue est ajoutée avec les mêmes menus que les autres langues. Il vous suffit de traduire.
- Pour supprimer une langue, il vous suffit de la séléctionner et cliquer sur Retirer.

## Définition des champs

- `Description Config`

  Ligne décrivant la configuration, affichée dans le dialogue de création de nouveaux documents de Jaxe.

- `Textes pour Menu`

  Les chaînes de caractères associées à un menu, dont on sélectionne le nom

- `Titre`

  Un titre

- `Documentation`

  Une documentation

- `Textes pour 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 pour valeur`

  Un titre à utiliser pour une valeur d'élément ou d'attribut

- `Textes pour attribut`

  Les chaînes de caractères associées à un attribut

- `Textes pour Export`

  Les chaînes de caractères associées à un export

# Sauvegarde du fichier de Config

Sauvegarde du fichier XML
Enregistrer le chemin du schéma
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.