- From: Sébastien CRAMATTE <contact@zeninteractif.com>
- Date: Sat, 06 Jan 2007 16:59:58 +0100
- To: www-forms@w3.org
Hello,
I've got a question about dependency model and referents node in XPath
Expression ...
Considering this XForms ...
<html>
<head>
<xf:model>
<xf:instance>
<root xmlns="">
<class enable="true">
<rate>10</rate>
</class>
<class enable="false">
<rate>15</rate>
</class>
<class enable="true">
<rate>20</rate>
</class>
</root>
</xf:instance>
<xf:bind nodeset="//class/@enable" type="xsd:boolean" />
</xf:model>
</head>
<body>
<xf:output value="sum(//class[@enable='true']/rate)" />
<xf:repeat nodeset="class">
<fieldset>
<legend>class</legend>
<xf:input ref="@enable">
<xf:label>Enable</xf:label>
</xf:input>
<xf:input ref="rate">
<xf:label>Rate</xf:label>
</xf:input>
</fieldset>
</xf:repeat>
</body>
</html>
As you can see using the repeat module I can display three class rate
value with a checkbox (type xsd:boolean) button to enable/disable each.
Considering this XPath output element :
<xf:output value="sum(//class[@enable='true']/rate)" />
When My XForms processor evaluate the expression and find "referents"
nodes bellow, only "rate" node with predicate @enable='true' are added
to dependency model during initial
"rebuild+recalculate+revalidate+refresh" sequence
Now, if I change @enable attribute value of the 2nd class node to 'true'
(intialiy @enable='false') and If i change the "rate" value the "sum"
output will not be recomputed.
I must check / uncheck the enable button to refresh it ...
My question is : does my XPath engine should ignore [@enable='true]
predicate and append all "rate" childs nodes as referents ?
When I force this behavior in my XPath lib the "sum" is recomputed
correctly when I change any rate value.
Thanks for you help
Regards
Received on Saturday, 6 January 2007 16:00:19 UTC