Jaxe, votre éditeur XML
Jaxe, votre éditeur XML

Documentation pour les développeurs
• Introduction
• Utilisation de Jaxe au sein d'une autre application
• Création de nouveaux éléments Jaxe
• Ajout d'une fonction

# Ajout d'une fonction

Auteur: Damien Guillaume

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.

- Télécharger le fichier FonctionStatistiques.java.
- Le mettre dans un dossier `pluginsjaxe` (c'est le nom du package).
- Le compiler. A partir de l'endroit où se trouve le dossier pluginsjaxe, il suffit de taper sous la ligne de commande : `javac -encoding ISO-8859-1 -classpath .:lib/Jaxe.jar pluginsjaxe/FonctionStatistiques.java` (en supposant que le fichier `Jaxe.jar` se trouve dans un dossier `lib` dans le répertoire courant). Cela doit créer un fichier `FonctionStatistiques.class` dans le dossier `pluginsjaxe`.
- Créer un fichier jar à partir du dossier `pluginsjaxe`, et le placer dans le dossier `plugins` de Jaxe.
- Modifier le fichier de configuration du langage utilisé pour ajouter un menu avec un appel à la fonction:

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