pollita         Fri Feb 20 13:05:33 2004 EDT

  Modified files:              
    /phpdoc/entities    global.ent 
    /phpdoc/en/chapters tutorial.xml 
  Log:
  New Documentation: Dealing with XForms
  
http://cvs.php.net/diff.php/phpdoc/entities/global.ent?r1=1.165&r2=1.166&ty=u
Index: phpdoc/entities/global.ent
diff -u phpdoc/entities/global.ent:1.165 phpdoc/entities/global.ent:1.166
--- phpdoc/entities/global.ent:1.165    Fri Feb 13 11:18:00 2004
+++ phpdoc/entities/global.ent  Fri Feb 20 13:05:31 2004
@@ -1,6 +1,6 @@
 <!-- -*- SGML -*-
 
- $Id: global.ent,v 1.165 2004/02/13 16:18:00 vrana Exp $
+ $Id: global.ent,v 1.166 2004/02/20 18:05:31 pollita Exp $
 
  Contains global "macros" for all the XML documents.
 
@@ -287,6 +287,8 @@
 <!ENTITY url.xdebug "http://www.xdebug.org/";>
 <!ENTITY url.xdiff "http://www.xmailserver.org/xdiff-lib.html";>
 <!ENTITY url.xitami "http://www.xitami.com/";>
+<!ENTITY url.xforms "http://www.w3.org/MarkUp/Forms/";>
+<!ENTITY url.xforms.htmlauthors 
"http://www.w3.org/MarkUp/Forms/2003/xforms-for-html-authors.html";>
 <!ENTITY url.xml "http://www.w3.org/XML/";>
 <!ENTITY url.xmlrpc "http://www.xmlrpc.com/";>
 <!ENTITY url.xmlrpc-epi "http://xmlrpc-epi.sourceforge.net/";>
http://cvs.php.net/diff.php/phpdoc/en/chapters/tutorial.xml?r1=1.29&r2=1.30&ty=u
Index: phpdoc/en/chapters/tutorial.xml
diff -u phpdoc/en/chapters/tutorial.xml:1.29 phpdoc/en/chapters/tutorial.xml:1.30
--- phpdoc/en/chapters/tutorial.xml:1.29        Wed Jan 28 19:35:22 2004
+++ phpdoc/en/chapters/tutorial.xml     Fri Feb 20 13:05:32 2004
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.29 $ -->
+<!-- $Revision: 1.30 $ -->
  <chapter id="tutorial">
   <title>A simple tutorial</title>
 
@@ -424,6 +424,96 @@
     <function>import_request_variables</function> function.
    </para>
   </sect1>
+
+  <sect1 id="tutorial.xforms">
+    <title>Dealing with XForms</title>
+    <para>
+     <ulink url="&url.xforms;">XForms</ulink> defines a variation on traditional
+     webforms which allows them to be used on a wider variety of platforms and 
+     browsers or even non-traditional media such as PDF documents.
+    </para>
+    <para>
+     The first key difference in xforms is how the form is sent to the client.
+     <ulink url="&url.xforms.htmlauthors;">XForms for HTML Authors</ulink>
+     contains a detailed description of how to create XForms, for the purpose
+     of this tutorial we'll only be looking at a simple example.
+    </para>
+    <example>
+     <title>A simple XForms search form</title>
+     <screen>
+<![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>
+]]>
+     </screen>
+    </example>
+    <para>
+     The above form displays a text input box (named <parameter>q</parameter>),
+     and a submit button.  When the submit button is clicked, the form will be
+     sent to the page referred to by action.  
+    </para>
+    <para>
+     Here's where it starts to look different from your web application's point
+     of view.  In a normal HTML form, the data would be sent as 
+     application/x-www-form-urlencoded, in the XForms world however, this information
+     is sent as XML formatted data.
+    </para>
+    <para>
+     If you're choosing to work with XForms then you probably want that data as
+     XML, in that case, look in $HTTP_RAW_POST_DATA where you'll find the XML
+     document generated by the browser which you can pass into your favorite
+     XSLT engine or document parser.
+    </para>
+    <para>
+     If you're not interrested in formatting and just want your data to be loaded
+     into the traditional $_POST variable, you can instruct the client browser
+     to send it as application/x-www-form-urlencoded by changing the
+     <parameter>method</parameter> attribute to <emphasis>urlencoded-post</emphasis>.
+    </para>
+    <example>
+     <title>Using an XForm to populate $_POST</title>
+     <screen>
+<![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>
+]]>
+     </screen>
+    </example>
+    <note>
+     <simpara>
+      As of this writing, many browsers do not support XForms.
+      Check your browser version if the above examples fail.
+     </simpara>
+    </note>
+  </sect1>
   
   <sect1 id="tutorial.oldcode">
    <title>Using old code with new versions of PHP</title>

Reply via email to