RE: use of relevance

Meghana,
 
The single-node binding on xf:switch does not affect the xf:case children -
it is more like using a @ref on xf:trigger or xf:group.
 
The only way to change the currently selected xf:case is via the toggle
action. (The spec says that the DOM can also be used, but since there is no
definition of any interfaces with which to do this, it's not actually
possible.)
 
So, to return to your original question, I would suggest you look at whether
you should actually be using relevant for the situation you describe. The
whole point of relevant is to remove nodes from the serialisation that takes
place before submission. An additional feature is that any form controls
that are bound to those nodes can be caused not to render, but since there
may not actually be any controls bound to the nodes, that's to a certain
extent secondary to the serialisation/submission aspect.
 
Having said all of that, I agree with your use case, which means we need to
flip things around, and firstly leave the instance data for submission
alone, and then ask what other ways there are to do UI switching.
 
One powerful technique is to create a completely new instance that is used
solely to control the rendering of your form. This is a technique called
'model-based switching' (as opposed to the UI switching of
xf:switch/xf:case), and an example of how this might be done is available
here:
 
  <http://www.formsPlayer.com/demo/wizard/model-based-switching.htm>
 
Note that this example will also work in other XForms processors.
 
Regards,
 
Mark
 

Mark Birbeck
CEO
x-port.net Ltd.

e: Mark.Birbeck@x-port.net
t: +44 (0) 20 7689 9232
w: http://www.formsPlayer.com/

Download our XForms processor from
http://www.formsPlayer.com/ 

-----Original Message-----
From: www-forms-request@w3.org [mailto:www-forms-request@w3.org] On Behalf
Of Meghana
Sent: 22 July 2004 17:39
To: 'John Boyer'; www-forms@w3.org
Subject: RE: use of relevance



Hi John,

 

Thanks for the reply. I checked out the switch module from Xforms
specification and the example they have given uses toggle action to switch
among the cases. The switch tag supports single value binding but how it can
be used to select a particular case? Can you give me some example?

 

Once again thanks for clarifying my doubts.

Meghana.


  _____  


From: John Boyer [mailto:JBoyer@PureEdge.com] 
Sent: Thursday, July 22, 2004 6:39 AM
To: Meghana; www-forms@w3.org
Subject: RE: use of relevance

 

Hi Meghana,

 

One option is to use a switch to control what is visible.

 

Another is to create a submission instance distinct from the processing
instance.  The processing instance would have relevant MIPs, but the
submission instance wouldn't.  Either using calculate binds or using
setvalue actions in an xforms-submit handler, copy the data to the
submission instance before submission takes place.  This will get easier in
XForms 1.1 with a copy subtree action (which is as yet unnamed).

 

Cheers,

John Boyer

-----Original Message-----
From: Meghana [mailto:mmystore@hotmail.com]
Sent: Wednesday, July 21, 2004 5:06 PM
To: John Boyer; www-forms@w3.org
Subject: RE: use of relevance

I wonder how xforms handles a case when a control becomes irrelevant based
on value of the instance data but the submission still needs to submit that
value. Or in that case we are not supposed to use relevance and use
something else? What is that other option?

 

Meghana.

 

 


  _____  


From: John Boyer [mailto:JBoyer@PureEdge.com] 
Sent: Tuesday, July 20, 2004 11:55 AM
To: Meghana; www-forms@w3.org
Subject: RE: use of relevance

 

Hi Meghana,

 

The first one.  Relevance applies to instance nodes.  The relevant MIP is
then interpreted by both bound form controls and submission.

 

Cheers,

John Boyer

-----Original Message-----
From: Meghana [mailto:mmystore@hotmail.com]
Sent: Tuesday, July 20, 2004 10:39 AM
To: www-forms@w3.org
Subject: use of relevance

Hello,

 

When a <Bind> element has relevance attribute, is it supposed to make the
bound element in the XForms model relevant or the bound control relevant? In
the former case, the control will see that the model is not relevant right
now and hide itself; also the submission will not include that value. In the
later case, the control is hidden but model still holds that value as valid
data. Which approach is correct?

 

Thanks,

Meghana.

 

 

 

Received on Thursday, 22 July 2004 18:39:51 UTC