Un composant Akrogen XML Component est un fichier XML stocké dans le répertoire Components d'un catalogue.
Il décrit le Wizard page Eclipse en XML/XUL du composant (Service, DAO, JSP, HTML...) que vous souhaitez générer. Cette description doit suivre une certaine grammaire XML.
Un composant Akrogen permet de générer ou mettre à jour un fichier. Il est associé à un template (Freemarker, Velocity, XSLT)
Voici le XML component du Wizard page helloWord :

Le bouton Finish du Wizard page permet de lancer la génération de code en fusionnant le template ftl/HelloWord/helloWord.ftl du répertoire Templates avec la valeur de la textbox d'id user. Le template utilisé attend un paramètre user.
Voici le template Freemarker utilisé :
Hello ${user}!La description XML d'un composant consite à définir les 3 grandes sections :
Un XML component suit la grammaire suivante :
<?xml version="1.0" encoding="UTF-8"?>
<component>
<!-- Component model -->
<models>
<model ...
....
</models>
<!-- Input page -->
<input>
<page title="..." >
<description>...</description>
.... XUL content
</page>
</input>
<!-- Output page -->
<output>
...
</output>
</component>Voici l'exemple HelloWord :
<?xml version="1.0" encoding="UTF-8"?>
<component>
<input>
<page title="Akrogen Hello Word" >
<description>HelloWord Akrogen component to generate file with content "Hello $user!".</description>
<box flex="1" id="" orient="vertical"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<hbox>
<label value="User: ($user)" />
<textbox id="user" flex="1" />
</hbox>
<hbox>
<label value="Output base dir:" />
<textbox id="outputBaseDir" flex="1" />
<button type="folder" target="outputBaseDir" label="Browse..." />
</hbox>
<hbox>
<label value="Output file name:" />
<textbox id="outputFileName" flex="1" />
</hbox>
<hbox>
<button type="preview" label="Preview..." />
</hbox>
</box>
</page>
</input>
<output>
<file>
<template uri="/ftl/HelloWord/helloWord.ftl" />
</file>
</output>
</component>