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

Fichiers de configuration de Jaxe
• Introduction
• Définition du langage XML
• Enregistrement des fichiers
• Menus
• Affichage des noeuds
• Types d'affichage
• Exports
• Chaînes de caractères
• Plugins

# Définition du langage XML

Auteur: Damien Guillaume

## Définition des éléments

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

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

- `LANGAGE (FICHIER_SCHEMA | SCHEMA_SIMPLE, RACINE+, AUTRE_CONFIG*)`
  - `FICHIER_SCHEMA @nom`
  - `SCHEMA_SIMPLE (ELEMENT | ENSEMBLE)+`
    - `ELEMENT @nom @texte (SOUS-ELEMENT | SOUS-ENSEMBLE | ATTRIBUT)*`
      - `SOUS-ELEMENT @element`
      - `SOUS-ENSEMBLE @ensemble`
      - `ATTRIBUT @nom @presence (VALEUR*)`
        - `VALEUR`
    - `ENSEMBLE @nom (SOUS-ELEMENT | SOUS-ENSEMBLE)+`
      - `SOUS-ELEMENT @element`
      - `SOUS-ENSEMBLE @ensemble`
  - `RACINE @element`
  - `AUTRE_CONFIG @nom`