W3C home > Mailing lists > Public > www-forms@w3.org > February 2006

controls and instance nodes

From: Richard Braman <rbraman@bramantax.com>
Date: Mon, 20 Feb 2006 04:28:27 -0500
To: <www-forms@w3.org>
Message-ID: <001101c63600$04167b80$3201a8c0@bramantax.com>
I had a conversation with Erik @ Orbeon on the OPS users lists about
binding a control to a piece of a node, insead of the entire node.
 
For example , if you have a node in your instance like this (and you
cant change your instance because it is based on a government spec).
<xforms:model>
<xforms:instance id="main">
<form>
<phonenumber/> <!--10 digits including area code and number-->
</form>
</xforms:instance>
 
<!--and you want to bind two controls to it for editing, one that holds
the area code and the other the phone number-->
<!--This DOES NOT WORK, because the control must be bound to a node-->
<xforms:bind id="areacode" nodeset="/form/phonenumber"
calculate="substring(/form/phonenumber,1,3)"/>
<xforms:bind id="phonenumber" nodeset="/form/phonenumber"
calculate="substring(/form/phonenumber,4,7)"/>
</xforms:model>
 
<xforms:input bind="areacode">
<xforms:input bind="number">
 
We came up with a workaround which consists of creating a second
instance
<xforms:instance id="sub">
<form>
<area/>
</number>
</form>
</xforms:instance>
 
then binding the contols on the 'sub' instance:
<xforms:bind id="areacode" nodeset="instance('sub')/form/area" />
<xforms:bind id="phonenumber" nodeset="instance('sub')/form/number"/> 
 
Then on the  xforms-ready event , you would copy over (using
xforms:setvalue with an XPath expression using substring()) the the two
parts of the phone number to the "sub" instance as shown above:
When the form is ready to submit you would use xforms:setvalue again to
update the original instance with the sub-instance (with XPath
expressions using concat()).
 
********************MY QUESTION*******************
 
Did the XForms Group consider the possibility that a control might be
used in this fashion, or did the group decide that their should always
be a 1to1 relationship between instance nodes and control?  What can be
done to extend Xforms in the future to make this easier?

Richard Braman
mailto:rbraman@taxcodesoftware.org
561.748.4002 (voice) 

http://www.taxcodesoftware.org <http://www.taxcodesoftware.org/> 
Free Open Source Tax Software

 

 
Received on Monday, 20 February 2006 11:35:27 GMT

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