AW: Wizards in XForms

Hi there.

Although I managed to build a wizard with the solution suggested by Micah,
there is a case I cannot cover:

It was no problem to create a switch statement containing several case
statements, one for each wizard page. Also the buttons I inserted could
switch from page to page. What I wrote looks a bit like this:

<xforms:switch xforms:initial="screen1">
  <xforms:case xforms:id="screen1">

<!-- Here goes XForm code for the first page -->

    <xforms:button>
      <xforms:caption>Next</xforms:caption>
      <xforms:action>
        <xforms:toggle xforms:case="screen2"/>
      </xforms:action>
    </xforms:button>
  </xforms:case>
  <xforms:case xforms:id="screen2">

<!-- Here goes XForm code for the second page -->

    <xforms:button>
      <xforms:caption>Previous</xforms:caption>
      <xforms:action>
        <xforms:toggle xforms:case="screen1"/>
      </xforms:action>
    </xforms:button>
    <xforms:button>
      <xforms:caption>Finish</xforms:caption>
      <xforms:action>
        <xforms:submitInstance xforms:submitInfo=".."/>
      </xforms:action>
    </xforms:button>
  </xforms:case>
</xforms:switch>

What I cannot cover with this is jumping over pages if some conditions are
met. Imagine a wizard displaying this page:

+--------------------------------------------------+
| You may choose the simple (automatic) procedure, |
| or the verbose if you know what you're doing.    |
|                                                  |
| What do you want to do?                          |
|                                                  |
| (o) simple                                       |
| ( ) verbose                                      |
|                                                  |
|	[Previous]	[Next]                           |
|                                                  |
+--------------------------------------------------+

Here I'd like to skip the verbose pages and continue with default values
(which are already entered in the model). The question is: How does XForms
specify a switch to the according page depending on instance data (or field
state, respectively)?

Hiran

-----Ursprüngliche Nachricht-----
Von: Chaudhuri, Hiran (Software AG) 
Gesendet: Montag, 3. Juni 2002 14:42
An: 'Micah Dubinko'
Betreff: AW: Wizards in XForms


Hi, Micah.

The approach with one form containing a switch for all the wizard pages and
buttons to navigate back and forth did work with Chiba 0.6.2.1, and it was
not even too much work.

Thank you.

Hiran

-----Ursprüngliche Nachricht-----
Von: Micah Dubinko [mailto:MDubinko@cardiff.com]
Gesendet: Montag, 3. Juni 2002 11:45
An: 'Chaudhuri, Hiran (Software AG)'
Cc: 'www-forms@w3.org'
Betreff: RE: Wizards in XForms


A "wizard" is just a special rendering of a multiple-page form, right?

To do that, you can use the <switch> construct, with each panel inside a
<case>. Separately, you can use <button>s that fire <toggle> events to
change which panel is presented.

Try this out and let us know how it works.

Thanks,

.micah

-----Original Message-----
From: Chaudhuri, Hiran (Software AG) [mailto:g.s31d05b@lfstad.bayern.de]
Sent: Monday, June 03, 2002 1:54 AM
To: 'www-forms@w3.org'
Subject: Wizards in XForms



Hi there.

As I need to create some forms that need flexible use, I had a look at
XForms and am missing one feature (at least, it's not mentioned in the
XForms WD): Wizards.

I have searched the mailing list archives for that topic, only to find
others have asked about it, but there has not been a definitive answer.

So how are you supposed to build a Wizard? Shall all wizard pages reside in
one XForm document? Then how do you mark it as being a wizard? Which is the
start page, and how do you switch to subsequent pages? How do you ensure all
the pages operate with the same instance data?

Hiran

Received on Tuesday, 4 June 2002 04:05:38 UTC