Dans l’architecture MVC, le M signifie modèle, et ce modèle correspond en fait aux données de l’application. Dans le cadre de XForms, et donc des formulaires Web, ces données sont les valeurs récupérées suite au remplissage du formulaire.
Contrairement aux formulaires HTML, ce modèle n’est lié en aucune manière à l’interface utilisateur. Même sans interface utilisateur, on pourrait manipuler le modèle et savoir quelles sont les données demandées. C’est faisable à la main ou, plus interessant, par des programmes informatiques. En effet, les formulaires XForms sont censés pouvoir fonctionner dans toutes les situations et dans le cas où il n’y a pas d’écran disponible par exemple (si le formulaire est lu à haute voix), le modèle permet quand même de déterminer quelles sont les données demandées.
Le modèle comporte plusieurs parties : les données demandés, le type de ces données et les relations entre elles. Nous verrons ces deux dernières caractéristiques dans d’autres chapitres. Intéressons nous pour le moment à la base de formulaires XForms : la manière dont les données sont structurées.
XForms dépend d’un langage hôte, c’est à dire qu’il ne fonctionne pas tout seul, on doit l’inclure dans un autre langage. Les deux langages de prédilections pour XForms sont XHTML et SVG.
Comme un modèle n’est pas destiné à être affiché (seule la vue de MVC l’est), on l’inclut en générale dans la partie destinée aux définitions du langage hôte. Avec XHTML, il s’agit de l’élément head et avec SVG, l’élément defs. Bien sûr il ne s’agit pas d’une obligation puisque de toute façon le modèle ne sera jamais affiché, mais le mieux est de respecter cette logique.
XForms étant un langage différent de XHTML ou de SVG, il n’a pas le même espace de nom. L’espace de nom de XForms est : http://www.w3.org/2002/xforms
(vous trouverez sur ce site une liste des espaces de nom).
Voici comment on déclare un modèle dans du XHTML :