W3C home > Mailing lists > Public > www-forms@w3.org > April 2005

RE: xforms:choose/if?

From: John Boyer <JBoyer@PureEdge.com>
Date: Thu, 31 Mar 2005 16:46:26 -0800
Message-ID: <7874BFCCD289A645B5CE3935769F0B52EA7672@tigger.pureedge.com>
To: <jason@hardlight.com.au>, <ava@vaz.ru>
Cc: <www-forms@w3.org>

Please note: the methods suggested by this email does NOT work.
The submission attribute is an IDREF, not an XPath expression.

So, submission="if(...)" categorically does not work.

And the xforms:when construct was a 'wanted' feature, not an
available feature.

Cheers,
John Boyer, Ph.D.
Senior Product Architect and Research Scientist
PureEdge Solutions Inc.


-----Original Message-----
From: www-forms-request@w3.org [mailto:www-forms-request@w3.org]On
Behalf Of jason@hardlight.com.au
Sent: Wednesday, March 30, 2005 8:48 PM
To: ava@vaz.ru
Cc: www-forms@w3.org
Subject: Re: xforms:choose/if?



as I said in my previous email, 
you can but you have to do it differently

instead of
   <xforms:when test="instance('first_step')//count_result = 0">
              <xforms:send submission="ws_1"/>

you need to try
              <xforms:send submission="if(instance('first_step')//count_result 
= 0 ),'ws_1',0)"/>
<xforms:send submission="if(instance('first_step')//count_result != 
0 ),'ws_2',0)"/>

etc...

the syntax might not be quite right but if you do this you will optionally 
select the thing you want done based on the test.




Quoting Alexander Anokhin <ava@vaz.ru>:

> 
> Alessandro Vernet wrote:
> > Hi Alexander,
> > 
> > Could you clarify what you mean by "Now i need to do something (toggle
> > some switch, send some data somewhere, etc..) depends on received
> > number."?
> > 
> > You can compute the integer with a bind/calculate and store it in the
> > instance.
> 
> My integer is an sql count(*) operation result from database, for
> example and i can't compute it locally.
> 
>    Then if you want to display or hide something in the view based
> > on that he can use a bind/relevant. But I am not sure this is what you are
> > looking for.
> 
> I don't wand to show/hide something (with CSS & bind/relevant) but do
> some action. The wanted feature like in XSLT:
> 
> <xforms:action ev:event="DOMActivate">
>       <xforms:choose>
>           <xforms:when test="instance('first_step')//count_result = 0">
>               <xforms:send submission="ws_1"/>
>           </xforms:when test="instance('first_step')//count_result = 1">
>           <xforms:when test="instance('first_step')">
>               <xforms:send submission="ws_2"/>
>           </xforms:when>
>           <xforms:otherwise">
>               <xforms:toggle case="case3"/>
>           </xforms:otherwise>
>        </xforms:choose>
> </xforms:action>
> 
>    Just let us know, so people on the list can elaborate
> > further.
> 
> Thanx for answer anyway and sorry for my casual english.
> 
> 
> > --- Alexander Anokhin <ava@vaz.ru> wrote:
> > 
> >>Hi, all...
> >>Q: How can i achieve some kind of "choose/if" functionality in XForms?
> >>The use case is:
> >>1. User input some data and press "Proceed";
> >>2. XForms send it to server (with replace="instance");
> >>3. The answer is a some integer number;
> >>4. Now i need to do something (toggle some switch, send some data 
> >>somewhere, etc..) depends on received number.
> >>
> >>Is it possible?
> 
> -- 
> Alexander Anokhin
> AVTOVAZ JSC
> email: ava@vaz.ru
> icq: 123275798
> 
> 
Received on Friday, 1 April 2005 00:58:13 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Saturday, 10 March 2012 06:22:00 GMT