XForms XML:Généralités
Un article de WikiTuto.
Sommaire |
Limites des formulaires en HTML
Les formulaires sont depuis plusieurs années une composante essentielle des sites Internet. Ils permettent en effet, à moindres frais, d'apporter une touche d'interactivité à l'internaute. Néanmoins, les formulaires disponibles à l'aide des balises en HTML présentent des limitations qui sont maintenant gênantes :
- une mauvaise intégration en XML : certains de ces éléments (comme <input>, par exemple), sont des balises vides non fermées ;
- des fonctionnalités limitées : pour réaliser de nombreuses actions, comme pré-remplir dynamiquement certains éléments du formulaire, ou bien vérifier la validité d'une saisie (comme une adresse électronique, par exemple), il est nécessaire de passer par un langage de script ;
- un codage mêlant présentation et information ;
- un support des éléments affichables dépendant fortement de l'outil utilisé.
Afin de répondre à ces exigences de la communauté, le W3C a mis sur pied un groupe de travail, dont le résultat fut la publication en octobre 2003 de la recommandation pour le langage XForms. Une seconde édition a été publiée en mars 2006.
Principe de XForms
Un formulaire collecte des données ; la représentation interne au navigateur de ces données est une instance data, basée sur XML.
Les relations entre les données au sein de ces représentations sont plus complexes qu'en HTML où, on le rappelle, on ne rencontre que des paires nom_variable=valeur. Dans le cas de XForms, deux champs de formulaires peuvent être interdépendants.
À une saisie de l'utilisateur correspond une instance data, traitée en mémoire, qui en retour agit sur le formulaire qui lui a donné « naissance », ce qui conditionne la saisie de l'utilisateur, etc. La soumission elle-même n'a lieu qu'à la toute fin du processus. Cette soumission est effectuée selon un formatage de données précis, conforme par exemple à un Schéma, et permettant un envoi au format XML, déjà acceptable sans traitement par le serveur.
Afin d'alléger encore la charge du serveur, XForms permet de réaliser des calculs sur les données avant leur soumission. En fait, il est possible de réaliser tout ce que XPath permet, ainsi que des calculs plus aboutis, des vérifications en temps réel du formatage des données saisies, la gestion de champs de formulaires obligatoires, etc.
Le but des membres du groupe de travail était de remplacer 80% des scripts nécessaires dans les formulaires en HTML, par seulement 20% de fonctionnalités. Cela est réalisé par un recours intensif :
- à XPath pour les calculs et manipulations de chaînes de caractères ;
- à XML Schema pour les vérifications de formatage des données saisies ;
- à des fonctions de calcul supplémentaires telles que average(), min(), max(), etc.



