Utiliser les XForms
» XForms est une variation des formulaires web traditionnels, qui permet leur utilisation sur diverses plates-formes et navigateurs, et m�me sur des m�dias moins traditionnels comme les documents PDF.
La premi�re diff�rence des XForms est leur pr�sentation au client. » XForms for HTML Authors contient une description d�taill�e de la cr�ation des XForms, compl�mentaire de notre tutoriel : nous allons nous consacrer � un exemple simple.
Exemple #1 Un simple formulaire XForms de recherche
<h:html xmlns:h="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/2002/xforms"> <h:head> <h:title>Search</h:title> <model> <submission action="http://example.com/search" method="post" id="s"/> </model> </h:head> <h:body> <h:p> <input ref="q"><label>Find</label></input> <submit submission="s"><label>Go</label></submit> </h:p> </h:body> </h:html>
Le formulaire ci-dessus affiche une bo�te de texte (appel�e q ), et un bouton de soumission. Lorsque ce bouton est utilis�, le formulaire est envoy� � la page d'action.
C'est l� que la diff�rence se fait sentir, du point de vue de l'application web. Dans un formulaire HTML, les donn�es sont envoy�es au format application/x-www-form-urlencoded. Pour un XForm, c'est en fait un format XML qui est utilis�.
Si vous avez d�cid� d'utiliser des XForms, vous attendez peut �tre des donn�es au format XML, et dans ce cas, regardez dans la variable $HTTP_RAW_POST_DATA, o� vous trouverez le document XML g�n�r� par le navigateur, que vous pourrez passer � votre moteur XSLT favori.
Si vous n'�tes pas int�ress� par ce format, et que vous voulez simplement exploiter vos donn�es avec la variable $_POST, vous pouvez demander au navigateur de les envoyer au format application/x-www-form-urlencoded, en modifiant l'attribut de m�thode method et en lui donnant la valeur de urlencoded-post.
Exemple #2 Utiliser des XForms pour remplir $_POST
<h:html xmlns:h="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/2002/xforms"> <h:head> <h:title>Search</h:title> <model> <submission action="http://example.com/search" method="urlencoded-post" id="s"/> </model> </h:head> <h:body> <h:p> <input ref="q"><label>Find</label></input> <submit submission="s"><label>Go</label></submit> </h:p> </h:body> </h:html>
Note: Au moment de la r�daction de cet article, de nombreux navigateurs ne supportent pas les XForms. V�rifiez la version de votre navigateur si les exemples de ce tutoriel ne fonctionnent pas.