11.01.06
Binding des ressources et création des fichiers
A présent le programme permet de constituer de A à Z un formulaire avec ses différentes ressources (label, hint, help, alert). Comme dit précédemment, lors de la création du formulaire les différentes ressources sont incrustées dans les composants (ceci afin que l’utilisateur puisse voir immédiatement les changements apportés). Par contre, au final nous voulons obtenir deux fichiers :
- Un fichier XHTML contenant le formulaire
- Un fichier XML contenant toutes les ressources du formulaire
Il faut alors qu’au niveau du fichier XHTML, les ressources ne soient plus directement intégrées mais que le composant pointe vers ces données qui se trouvent dans le fichier XML externe au document! Pour y arriver, lors de la soumission du formulaire, une copie de l’arbre DOM représentant le formulaire est créée et différents changements sont effectués sur cette copie. Typiquement tous les composants sont effacés et réinséré en suivant leur nouvelle représentation, c’est-à-dire avec leur attributs “bind”.
A l’heure qu’il est, ces deux fichiers sont donc correctement créés, il subsiste cependant encore un problème d’encodage. Le fichier de ressources contient bien les signes accentués mais étant donné que son encodage est du ANSI, lors de l’affichage du formulaire dans un browser, les signes accentués ne sont plus représentés correctement! Il s’agit certainement d’une modification à apporter dans le script PHP lors de la création du fichier sur le disque…je ne sais cependant pas encore comment y remédier.
Ajoutons que pour que les bindings se fassent correctement, des identificateurs uniques doivent être spécifiés auprès de chaque composant. Avant de soumettre le formulaire, le programme vérifie donc que tous les identificateurs ont été renseignés. Dans le cas contraire, la cellule qui n’a pas encore reçu d’identificateur est alors sélectionnée et l’utilisateur peut directement en introduire un!
Toujours au niveau des identificateurs, étant donné que ceux-ci doivent être uniques, une méthode contrôle (à chaque fois qu’un identificateur est ajouté) que l’identificateur n’a pas déjà été utilisé pour un autre composant. Cependant cette fonctionalité ne fonctionne pas encore complètement comme désiré, il reste donc encore quelques modifications à apporter…