Files
doc-fr/features/xforms.xml
2023-08-15 13:26:41 +01:00

121 lines
3.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: fc174e8d6162091550edde46159917ee7e5a2e73 Maintainer: didou Status: ready -->
<!-- Reviewed: yes -->
<chapter xml:id="features.xforms" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Utiliser les XForms</title>
<para>
<link xlink:href="&url.xforms;">XForms</link> 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.
</para>
<para>
La première différence des XForms est leur présentation au client.
<link xlink:href="&url.xforms.htmlauthors;">XForms for HTML Authors</link>
contient une description détaillée de la création des XForms,
complémentaire de notre tutoriel : nous allons nous consacrer à un
exemple simple.
</para>
<example>
<title>Un simple formulaire XForms de recherche</title>
<programlisting role="html">
<![CDATA[
<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>
]]>
</programlisting>
</example>
<para>
Le formulaire ci-dessus affiche une boîte de texte (appelée
<parameter>q</parameter>), et un bouton de soumission. Lorsque ce bouton
est utilisé, le formulaire est envoyé à la page d'<literal>action</literal>.
</para>
<para>
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
<literal>application/x-www-form-urlencoded</literal>. Pour un XForm,
c'est en fait un format <acronym>XML</acronym> qui est utilisé.
</para>
<para>
Si vous avez décidé d'utiliser des XForms, vous attendez peut être des
données au format <acronym>XML</acronym>, et dans ce cas, regardez dans la variable
<varname>$HTTP_RAW_POST_DATA</varname>, où vous trouverez le document
<acronym>XML</acronym> généré par le navigateur, que vous pourrez passer à votre moteur
<acronym>XSLT</acronym> favori.
</para>
<para>
Si vous n'êtes pas intéressé par ce format, et que vous voulez simplement
exploiter vos données avec la variable <varname>$_POST</varname>, vous pouvez
demander au navigateur de les envoyer au format
<literal>application/x-www-form-urlencoded</literal>, en modifiant
l'attribut de méthode <parameter>method</parameter> et en lui donnant la
valeur de <emphasis>urlencoded-post</emphasis>.
</para>
<example>
<title>Utiliser des XForms pour remplir <varname>$_POST</varname></title>
<programlisting role="html">
<![CDATA[
<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>
]]>
</programlisting>
</example>
<note>
<simpara>
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.
</simpara>
</note>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->