coliver     2003/02/23 11:23:32

  Added:       src/webapp/samples/xmlform/flow confirm.xml deployment.xml
                        end.xml feedbackWizard.js start.xml system.xml
                        userIdentity.xml
  Log:
  Updated to support using the Cocoon flow layer with XMLForm
  
  Revision  Changes    Path
  1.1                  xml-cocoon2/src/webapp/samples/xmlform/flow/confirm.xml
  
  Index: confirm.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- 
  
        XMLForm instance document for the Cocoon Feedback Wizard.
  
        author: Torsten Curdt, [EMAIL PROTECTED], March 2002
      author: Ivelin Ivanov, [EMAIL PROTECTED], April 2002
      author: Simon Price <[EMAIL PROTECTED]>, September 2002
  
  -->
  <document xmlns:xf="http://xml.apache.org/cocoon/xmlform/2002";>
    <xf:form id="form-feedback" view="confirm" action="flow">
      <xf:caption>Confirm Input</xf:caption>
      <!-- from page1 -->
      <xf:output ref="firstName">
        <xf:caption>First Name</xf:caption>
      </xf:output>
      <xf:output ref="lastName">
        <xf:caption>Last Name</xf:caption>
      </xf:output>
      <xf:output ref="email">
        <xf:caption>Email</xf:caption>
      </xf:output>
      <xf:output ref="age">
        <xf:caption>Age</xf:caption>
        <xf:violations class="error"/>
      </xf:output>
      <xf:group ref="/">
        <xf:caption>Professional roles</xf:caption>
        <xf:repeat nodeset="role">
          <xf:output ref="."/>
        </xf:repeat>
      </xf:group>
      <xf:group ref="/">
        <xf:caption>Personal hobbies</xf:caption>
        <xf:repeat nodeset="hobby">
          <xf:output ref="."/>
        </xf:repeat>
      </xf:group>
      <xf:output ref="hidden">
        <xf:caption>Hidden attribute</xf:caption>
      </xf:output>
      <!-- from page2 -->
      <xf:output ref="number">
        <xf:caption>Number of installations</xf:caption>
      </xf:output>
      <xf:output ref="liveUrl">
        <xf:caption>Live URL</xf:caption>
      </xf:output>
      <xf:output ref="publish">
        <xf:caption>Publish URL</xf:caption>
      </xf:output>
      <!-- from page3 -->
      <xf:output ref="system/os">
        <xf:caption>OS</xf:caption>
      </xf:output>
      <xf:output ref="system/processor">
        <xf:caption>Processor</xf:caption>
      </xf:output>
      <xf:output ref="system/@ram">
        <xf:caption>RAM</xf:caption>
      </xf:output>
      <xf:output ref="system/servletEngine">
        <xf:caption>Servlet Engine</xf:caption>
      </xf:output>
      <xf:output ref="system/javaVersion">
        <xf:caption>Java Version</xf:caption>
      </xf:output>
      <xf:group ref="/" id="favorites_group">
        <xf:caption>Favorite web sites</xf:caption>
        <xf:repeat nodeset="favorite[position() &lt;= 3]" id="favorites">
          <xf:output ref="." class="info">
            <xf:caption>URL: </xf:caption>
          </xf:output>
        </xf:repeat>
      </xf:group>
      <!-- submit -->
      <xf:submit id="prev" continuation="back" class="button">
        <xf:caption>Prev</xf:caption>
        <xf:hint>Go to previous page</xf:hint>
      </xf:submit>
      <xf:submit id="next" continuation="forward" class="button">
        <xf:caption>Finish</xf:caption>
        <xf:hint>Finish the wizard</xf:hint>
      </xf:submit>
    </xf:form>
    <xf:output ref="count" id="show_count" form="form-feedback" class="info">
      <xf:caption>Visits Count</xf:caption>
    </xf:output>
  </document>
  
  
  
  1.1                  xml-cocoon2/src/webapp/samples/xmlform/flow/deployment.xml
  
  Index: deployment.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- 
  
        XMLForm instance document for the Cocoon Feedback Wizard.
  
        author: Torsten Curdt, [EMAIL PROTECTED], March 2002
      author: Ivelin Ivanov, [EMAIL PROTECTED], April 2002
      author: Simon Price <[EMAIL PROTECTED]>, September 2002
  
  -->
  <document xmlns:xf="http://xml.apache.org/cocoon/xmlform/2002";>
        <xf:form id="form-feedback" view="deployment" action="flow" method="GET">
                <xf:caption>Cocoon Deployment Information</xf:caption>
                <error>
                        <xf:violations class="error"/>
                </error>
                <xf:textbox ref="/number">
                        <xf:caption>Number of deployments</xf:caption>
                        <xf:violations class="error"/>
                </xf:textbox>
                <xf:textbox ref="/liveUrl">
                        <xf:caption>Live URL</xf:caption>
                        <xf:help>You must enter a valid URL</xf:help>
                        <xf:violations class="error"/>
                </xf:textbox>
                <xf:selectBoolean ref="/publish">
                        <xf:caption>Publish</xf:caption>
                </xf:selectBoolean>
                <xf:group nodeset="" id="favorites_group">
                        <xf:caption>Favorite web sites</xf:caption>
                        <!-- 
                repeat is a very powerful iterator tag,
                because it iterates over a nodeset resulting from
                the 'nodeset' selector attribute.
                Very similar to xslt's for-each tag.
  
                In this case we iterate over the top three favorite
                web sites.
              -->
                        <xf:repeat nodeset="favorite[position() &lt;= 3]" 
id="favorites">
                                <xf:textbox ref="." class="info">
                                        <xf:caption>URL:</xf:caption>
                                </xf:textbox>
                        </xf:repeat>
                </xf:group>
                <xf:submit id="prev" continuation="back" class="button">
                        <xf:caption>Prev</xf:caption>
                        <xf:hint>Go to previous page</xf:hint>
                </xf:submit>
                <xf:submit id="next" continuation="forward" class="button">
                        <xf:caption>Next</xf:caption>
                        <xf:hint>Go to next page</xf:hint>
                </xf:submit>
        </xf:form>
        <xf:output ref="count" id="show_count" form="form-feedback" class="info">
                <xf:caption>Visits Count</xf:caption>
        </xf:output>
  </document>
  
  
  
  1.1                  xml-cocoon2/src/webapp/samples/xmlform/flow/end.xml
  
  Index: end.xml
  ===================================================================
  <?xml version="1.0" ?>
  <document>
      <br/><br/><br/>
      <table align="center" width="50%" cellspacing="20">
          <tr>
              <td align="center">
                  <h1>
                      Congratulations, Wizard Complete!
                  </h1>
              </td>
          </tr>
  
          <tr>
              <td align="center" class="info">
                  <code>
                      Your feedback form was processed successfully.
                  </code>
              </td>
          </tr>
           
          <tr>
              <td align="center">
                  <h3>
                      <a href="flowWizard">Go to home page.</a>
                  </h3>
              </td>
          </tr>
      </table>
  </document>
  
  
  
  
  1.1                  xml-cocoon2/src/webapp/samples/xmlform/flow/feedbackWizard.js
  
  Index: feedbackWizard.js
  ===================================================================
  // XML Form Feedback Wizard Application
  
  
  function feedbackWizard(xform) {
      var bean = {
        firstName: "Donald",
        lastName: "Duck",
        email: "[EMAIL PROTECTED]",
        age: 5,
        number: 1,
        liveUrl: "http://";,
        publish: true,
        hidden: true,
        count: 1,
        notes: "<your notes here>",
        favorite: ["http://xml.apache/org/cocoon";, 
                   "http://jakarta.apache.org";,
                   "http://www.google.com";,
                   "http://www.slashdot.com";,
                   "http://www.yahoo.com";],
        hobby: ["swim", "movies", "ski", "gym", "soccer"],
        allHobbies: [
            {
                key: "swim",
                value: "Swimming"
            },
            {
                key: "gym", 
                value: "Body Building"
            },
            {
                key: "ski", 
                value: "Skiing"
            },
            {
                key: "run", 
                value: "Running"
            },
            {  
                key: "football", 
                value: "Football"
            },
            {
                key: "read",
                value: "Reading" 
              },
            {
                key: "write",
                value: "Writing"
            },
            {
                key: "soccer:",
                value: "Soccer" 
            },
            {
                key: "blog",
                value: "Blogging" 
            }],
        role: ["Hacker", "Executive"],
        system: {
            os: "Unix",
            processor: "p4",
            ram: 512,
            servletEngine: "Tomcat",
            javaVersion: "1.3",
        }
      }
      xform.setModel(bean);
      xform.sendView("userIdentity", 
                   "flow/userIdentity.xml",
                     function(xform) {
        var bean = xform.getModel();
          print("I can also do validation in JavaScript");
        print("age = "+xform.xpath("number(/age)"));
        print("role = "+bean.role);
          if (bean.age > 30) {
              xform.addViolation("/age", "Hey, you're too old");
          }
      });
      print("handling user identity");
      xform.sendView("deployment", 
                     "flow/deployment.xml", 
                     function(xform) {
        var bean = xform.getModel();
          print("I can also do validation in JavaScript");
          if (bean.publish) {
              xform.addViolation("/publish", "Sorry, I won't let you publish");
          }
      });
      print("handling deployment");
      xform.sendView("system", "flow/system.xml");
      print("handling system");
      xform.sendView("confirm", "flow/confirm.xml");
      print("handling confirm");
      xform.finish("end", "flow/end.xml");
      print("done");
  }
  
  
  
  1.1                  xml-cocoon2/src/webapp/samples/xmlform/flow/start.xml
  
  Index: start.xml
  ===================================================================
  <?xml version="1.0" ?>
  
  <document>
      <br/><br/><br/>
      <table align="center" width="50%" cellspacing="20">
          <tr>
              <td align="center">
                  <h1>
                      Welcome !
                  </h1>
              </td>
          </tr>
  
          <tr>
              <td align="center" class="info">
                  <p>
                  This wizard will collect feedback information
                  for the     
                  <a href="http://xml.apache.org/cocoon/";>Apache Cocoon</a>
                  project.
                  </p>
                  <p>
                   See <a href="overview.html">overview</a> documentation.
                  </p>
              </td>
          </tr>
           
          <tr>
              <td align="center">
                  <h3>
                      <a href="flow?cocoon-action-start=true">
                          Start!
                      </a>
                  </h3>
              </td>
          </tr>
      </table>
  </document>
  
  
  
  1.1                  xml-cocoon2/src/webapp/samples/xmlform/flow/system.xml
  
  Index: system.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- 
  
        XMLForm instance document for the Cocoon Feedback Wizard.
  
        author: Torsten Curdt, [EMAIL PROTECTED], March 2002
      author: Ivelin Ivanov, [EMAIL PROTECTED], April 2002
      author: Simon Price <[EMAIL PROTECTED]>, September 2002
  
  -->
  <document xmlns:xf="http://xml.apache.org/cocoon/xmlform/2002";>
    <xf:form id="form-feedback" view="system" action="flow" method="GET">
      <xf:caption>System Information</xf:caption>
      <error>
        <xf:violations class="error"/>
      </error>
      <xf:group ref="/system">
        <xf:selectOne ref="os" selectUIType="radio">
          <xf:caption>OS</xf:caption>
          <xf:item id="unix">
            <xf:caption>Unix/Linux</xf:caption>
            <xf:value>Unix</xf:value>
          </xf:item>
          <xf:item id="mac">
            <xf:caption>Mac OS/X</xf:caption>
            <xf:value>Mac OS/X</xf:value>
          </xf:item>
          <xf:item id="win">
            <xf:caption>Windows 95/98/NT/2000/XP</xf:caption>
            <xf:value>Windows</xf:value>
          </xf:item>
          <xf:item id="other">
            <xf:caption>Other</xf:caption>
            <xf:value>Other</xf:value>
          </xf:item>
        </xf:selectOne>
        <xf:selectOne ref="processor">
          <xf:caption>Processor</xf:caption>
          <xf:item>
            <xf:caption>AMD/Athlon</xf:caption>
            <xf:value>Athlon</xf:value>
          </xf:item>
          <xf:item>
            <xf:caption>AMD/Duron</xf:caption>
            <xf:value>Duron</xf:value>
          </xf:item>
          <xf:item>
            <xf:caption>Pentium Celeron</xf:caption>
            <xf:value>Celeron</xf:value>
          </xf:item>
          <xf:item>
            <xf:caption>Pentium III</xf:caption>
            <xf:value>p3</xf:value>
          </xf:item>
          <xf:item>
            <xf:caption>Pentium IV</xf:caption>
            <xf:value>p4</xf:value>
          </xf:item>
          <xf:item>
            <xf:caption>Other</xf:caption>
            <xf:value>other</xf:value>
          </xf:item>
        </xf:selectOne>
        <xf:textbox ref="@ram">
          <xf:caption>RAM</xf:caption>
          <xf:violations class="error"/>
        </xf:textbox>
        <xf:selectOne ref="servletEngine">
          <xf:caption>Servlet Engine</xf:caption>
          <xf:item>
            <xf:caption>Tomcat</xf:caption>
            <xf:value>Tomcat</xf:value>
          </xf:item>
          <xf:item>
            <xf:caption>Jetty</xf:caption>
            <xf:value>Jetty</xf:value>
          </xf:item>
          <xf:item>
            <xf:caption>Resin</xf:caption>
            <xf:value>Resin</xf:value>
          </xf:item>
          <xf:item>
            <xf:caption>Weblogic</xf:caption>
            <xf:value>weblogic</xf:value>
          </xf:item>
          <xf:item>
            <xf:caption>WebSphere</xf:caption>
            <xf:value>WebSphere</xf:value>
          </xf:item>
          <xf:item>
            <xf:caption>Other</xf:caption>
            <xf:value>other</xf:value>
          </xf:item>
        </xf:selectOne>
        <xf:selectOne ref="javaVersion">
          <xf:caption>Java Version</xf:caption>
          <xf:item>
            <xf:caption>1.1</xf:caption>
            <xf:value>1.1</xf:value>
          </xf:item>
          <xf:item>
            <xf:caption>1.2</xf:caption>
            <xf:value>1.2</xf:value>
          </xf:item>
          <xf:item>
            <xf:caption>1.3</xf:caption>
            <xf:value>1.3</xf:value>
          </xf:item>
          <xf:item>
            <xf:caption>1.4</xf:caption>
            <xf:value>1.4</xf:value>
          </xf:item>
          <xf:item>
            <xf:caption>Other</xf:caption>
            <xf:value>Other</xf:value>
          </xf:item>
        </xf:selectOne>
      </xf:group>
      <xf:submit id="prev" continuation="back" class="button">
        <xf:caption>Prev</xf:caption>
        <xf:hint>Go to previous page</xf:hint>
      </xf:submit>
      <xf:submit id="next" continuation="forward" class="button">
        <xf:caption>Next</xf:caption>
        <xf:hint>Go to next page</xf:hint>
      </xf:submit>
    </xf:form>
    <xf:output ref="count" id="show_count" form="form-feedback" class="info">
      <xf:caption>Visits Count</xf:caption>
    </xf:output>
  </document>
  
  
  
  1.1                  xml-cocoon2/src/webapp/samples/xmlform/flow/userIdentity.xml
  
  Index: userIdentity.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- 
  
        XMLForm instance document for the Cocoon Feedback Wizard.
  
      author: Ivelin Ivanov, [EMAIL PROTECTED], July 2002
        author: Torsten Curdt, [EMAIL PROTECTED], March 2002
      author: Simon Price <[EMAIL PROTECTED]>, September 2002
  
  -->
  <document xmlns:xf="http://xml.apache.org/cocoon/xmlform/2002";>
    <xf:form id="form-feedback" view="userIdentity" action="flow" method="GET">
      <xf:caption>Personal Information</xf:caption>
      <error>
        <xf:violations class="error"/>
      </error>
      <xf:textbox ref="/firstName">
        <xf:caption>First Name</xf:caption>
        <xf:violations class="error"/>
      </xf:textbox>
      <xf:textbox ref="/lastName">
        <xf:caption>Last Name</xf:caption>
        <xf:violations class="error"/>
      </xf:textbox>
      <xf:textbox ref="/email">
        <xf:caption>Email</xf:caption>
        <xf:help>Please check this carefully</xf:help>
        <xf:violations class="error"/>
      </xf:textbox>
      <xf:textbox ref="/age">
        <xf:caption>Age</xf:caption>
        <xf:violations class="error"/>
      </xf:textbox>
      <xf:selectMany ref="/role" selectUIType="listbox">
        <xf:caption>Professional roles</xf:caption>
        <xf:help>Select one or more</xf:help>
        <xf:item>
          <xf:caption>Geek</xf:caption>
          <xf:value>Geek</xf:value>
        </xf:item>
        <xf:item>
          <xf:caption>Hacker</xf:caption>
          <xf:value>Hacker</xf:value>
        </xf:item>
        <xf:item>
          <xf:caption>Student</xf:caption>
          <xf:value>Student</xf:value>
        </xf:item>
        <xf:item>
          <xf:caption>University Professor</xf:caption>
          <xf:value>University Professor</xf:value>
        </xf:item>
        <xf:item>
          <xf:caption>Software Developer</xf:caption>
          <xf:value>Developer</xf:value>
        </xf:item>
        <xf:item>
          <xf:caption>Technical Leader</xf:caption>
          <xf:value>Tech Lead</xf:value>
        </xf:item>
        <xf:item>
          <xf:caption>Development Manager</xf:caption>
          <xf:value>Development Manager</xf:value>
        </xf:item>
        <xf:item>
          <xf:caption>Executive</xf:caption>
          <xf:value>Executive</xf:value>
        </xf:item>
        <xf:item>
          <xf:caption>Heir of the Apache tribe</xf:caption>
          <xf:value>Heir of the Apache tribe</xf:value>
        </xf:item>
      </xf:selectMany>
      <xf:selectMany ref="/hobby" selectUIType="checkbox">
        <xf:caption>Hobbies</xf:caption>
        <xf:itemset nodeset="allHobbies">
          <xf:caption ref="value"/>
          <xf:value ref="key"/>
        </xf:itemset>
      </xf:selectMany>
      <xf:textarea ref="notes" style="width:8cm; height:3cm">
        <xf:caption>Additional Notes</xf:caption>
      </xf:textarea>
      <!-- hidden model attribute -->
      <xf:hidden ref="hidden">
        <xf:value>true</xf:value>
      </xf:hidden>
      <xf:submit id="next" continuation="foward" class="button">
        <xf:caption>Next</xf:caption>
        <xf:hint>Go to next page</xf:hint>    
      </xf:submit>
    </xf:form>
    <xf:output ref="count" id="show_count" form="form-feedback" class="info">
      <xf:caption>Visits Count</xf:caption>
    </xf:output>
  </document>
  
  
  

Reply via email to