<?xml version="1.0"?>
<!--
  Copyright 1999-2004 The Apache Software Foundation

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!--
  @version $Id$
-->
<samples name="CForms Block Samples" xmlns:xlink="http://www.w3.org/1999/xlink">
 <group name="Back">
  <sample name="Back" href="../..">to Cocoon Samples main page</sample>
  <sample name="Back" href="..">to Cocoon Blocks Samples main page</sample>
  <note>
    Cocoon Forms is the upcoming forms framework for Cocoon.
    Although it is marked as unstable it is the *only* supported solution - all
    other similar approaches will be deprecated soon.
    Of course, your feedback is very much welcome on the Cocoon mailing lists.
  </note>
  <sample name="Cocoon Forms Documentation" href="http://cocoon.apache.org/2.1/userdocs/forms/">
    Documentation is available on the Cocoon site.
  </sample>
 </group>

 <group name="Basic Samples">
  <sample name="Various (Actions)" href="form1">This sample shows validation, event handling and various Cocoon Forms features.</sample>
  <sample name="Various (Flowscript)" href="form1.flow">The same sample as above using Flowscript.</sample>
  <sample name="Registration" href="registration">A simple registration form.</sample>
  <sample name="Car selector" href="carselector">Illustrates programmatically changing selectionlists.</sample>
  <sample name="XHR Car selector" href="xhr_carselector">Same sample, using XmlHttpRequest to reduce client/server roundtrips.</sample>
  <sample name="Country selector" href="countryselector">Illustrates programmatically changing flow-jxpath selectionlists.</sample>
  <sample name="Upload" href="upload">Shows an upload widget used with Flowscript</sample>
  <sample name="Form Model GUI" href="form_model_gui.flow">Illustrates the use of Class, New, Struct, and Union.</sample>
  <sample name="HTMLArea" href="htmlarea">A simple form using the HTML editor widget.</sample>
  <sample name="Aggregate" href="aggregate/example">Aggregate field examples</sample>
  <sample name="Multipage wizard" href="do-multipage.flow">A multipage wizard, using widget states and actions to move between pages.</sample>
 </group>

 <group name="Binding Samples">
  <note>
    Cocoon Forms has a binding framework which assists in copying Java-bean or XML (DOM) data into a form and back.
  </note>
  <sample name="XML Binding" href="form2xml.flow">A form for just editing an XML file.</sample>
  <sample name="Simple XML Binding" href="form2simpleXML.flow">A form for just editing XML data. Illustrates the XMLAdapter.</sample>
  <sample name="Bean Binding" href="form2bean.flow">A form for just editing a Java bean</sample>
  <note>
  	Step-by-step tutorial into individual binding features:
  </note>
  <sample name="1. Binding Simple Values" href="binding-01value.flow">fb:*/@direction and fb:value/*</sample>
  <sample name="2. Lenient Binding" href="binding-02lenient.flow">fb:*/@lenient</sample>
  <sample name="3. Aggregate Binding" href="binding-03aggregate.flow">fb:aggregate</sample>
  <sample name="4. Heavy Form" href="binding-04heavy-XML.flow">Form with lots of select boxes - test memory utilization, performance</sample>
  <sample name="5. Custom Bindings using Java or Javascript" href="binding-05custom.flow">fb:javascript and fb:custom</sample>
  <sample name="6. XML binding using namespaces" href="binding-06namespaced-XML.flow">Using XML binding with complex namespaced XML</sample>
  <!-- TODO: provide more tutorial samples like these:
  <sample name="6. MultiValue/Repeater Binding" href="binding-03multi.flow">fb:multi-value</sample>
  <sample name="7. Repeater Binding" href="binding-06repeater.flow">fb:repeater</sample>
  -->
 </group>

 <group name="Locales">
  <note>
    The samples below are the same as the basic flowscript sample but now use different locales.
    The locale can affect things like date and number formatting.
    You can try out other locales by supplying other values for the locale parameter in the URL.
  </note>
  <sample name="Flowscript" href="form1.flow?locale=fr-FR">France</sample>
  <sample name="Flowscript" href="form1.flow?locale=it-IT">Italy</sample>
  <sample name="Flowscript" href="form1.flow?locale=de-DE">Germany</sample>
  <sample name="Flowscript" href="form1.flow?locale=nl-BE">Belgium (dutch)</sample>
 </group>
 
 <group name="Dynamic templates and recursive forms">
   <note>
     These samples were written for the GT2004 presentation about dynamic templates and recursive forms.
     They illustrate the use of "jx-macros.xml" to interpret form template elements within the generator,
     allowing the page layout to depend on the contents of the form, and the use of fd:union and fd:class
     widgets.
   </note>
   <sample name="Dynamic repeater template" href="do-dynaRepeater.flow">
     Shows a simple repeater, which isn't displayed at all if empty, and whose row action depend on
     the row number.
   </sample>
   <sample name="Datasource chooser" href="do-datasourceChooser.flow">
     A datasource chooser, illustrating the fd:union widget.
   </sample>
   <sample name="Task tree" href="do-taskTree.flow">
     A project work breakdown into a hierarchy of tasks, showing the use of the fd:class and fd:new
     widgets.
   </sample>
 </group>
 
 <group name="Dynamic repeater template and event handling">
    <sample name="Dynamic repeater template" href="dreamteam">
      Create your Euro 2004 soccer dream team
    </sample>
 </group>
 
 <group name="Experimental Flowscript API for Cocoon Forms">
  <note>
    The sample below demonstrates a proposal for a new Flowscript API, including a multipage form with a back button.
  </note>
  <sample name="New Flowscript API example" href="v2/example">example</sample>
 </group>

 <group name="Pre-alpha Cocoon Forms-based xml editor">
  <note>
    This demonstrates the potential to have a Cocoon Forms-based gui for creating Cocoon apps.
  </note>
  <sample name="Swan" href="swan/">Start page</sample>
 </group>

</samples>
