Template

Un template est un fichier qui utilise les modèles définis dans les XML component. Un template peut être :

Code generation

Dans le cas de la génération de code, le template utilise :

  • les modèles définis dans le XML component.
  • les valeurs des contrôles XUL du XML component renseignés par l'utilisateur.
  • des valeurs par défaut.

    La déclaration d'un template (utilisé dans la section output d'un XML component) path_of_myTemplate s'effectue à l'aide de l'élement template :

    ...
      <template uri="path_of_myTemplate" />
    ...

    path_of_myTemplate est le chemin du template à utiliser, plus exactement l'uri du template. Tous les templates doivent être contenus dans le répertoire Templates du catalogue. L'uri du template doit démarrer de ce répertoire.

    ...
      <template uri="/ftl/HelloWord/helloWord.ftl" />
    ...

    signifie qu'il y a un fichier /ftl/HelloWord/helloWord.ftl stockés dans le répertoire Templates du catalogue.

Attributs de template

Nom attributDescriptionObligatoire ?
uriURI du templateOui

Default value

Il est possible d'initaliser des valeurs constantes par défaut dans le moteur de template à l'aide des élements param :

...
  <template uri="/ftl/HelloWord/helloWord.ftl" >
    <param name="myParam" value="Value of myParam" />
  </template>
...

En freemarker par exemple on peut ensuite utiliser le nom de param dans le template :

  ${myParam}

Template engine

Les moteurs de template sont acccéssibles à l'aide d'un descripteur Spring. Akrogen implémente par défaut les moteurs de tempates :

L'extension du template détermine le moteur de template à utiliser :

Vous pouvez aussi utiliser l'attribut engine de l'élement template, pour déterminer le moteur de template à utiliser.

XUL dynamique

Dans ce cas-ci, seule le moteur de template Freemarker est supporté. La syntaxe square bracket ([#list, [#if) permet de décrire un XML component avec une syntaxe XML valide.

La section XUL dynamique vous montrera comment écrire un XUL qui utilise les modèles du XML component.