> Hello!
>
> The following is a bit complicated to explain but I hope the example clearifies it:
> I have a problem with an automatic calculation of textual element content for an node which has an attribute controlled by a form field.
>
> I.e. if a elements content (<element @attribute="i-dont-mean-this">CONTENT</element>) is calculated by a bind the elements attributes can not be altered by user input in a form field.
>
> Uhm, that sounds a bit complicated, so let's rather have a look at some example:
>
> There's an instance flights containing the basic data - for this example it contains cities:
>
> <flights>
> <flight code="LHR/LH522BUS">
> <city code="LHR ">London</city>
> <airline code="LH">Lufthansa</airline>
> <price currency="€">5412</price>
> <tariff code="BUS"/>
> </flight>
> <flight code=" LGW/AC853ECO">
> <city code="LGW ">London</city>
> <airline code="AC">Air Canada</airline>
> <price currency="€">845</price>
> <tariff code="ECO"/>
> </flight> ...
> </flights>
>
>
> And then there is a part in an other instance (booking) which should reflect the selected information:
>
> <booking>
> ...
> <flight type="" code="" acc="">
> <city code=""/>
> <airline code=""/>
> <price currency=""/>
> <tariff code=""/>
> </flight>
> ...
> </booking>
>
>
> For this example at first the city is choosen by a dropdown:
>
> <xforms:select1 ref="$booking/city/@code">
> <xforms:label>Airport</xforms:label>
>
> <xforms:itemset nodeset="instance('response')//flight">
> <xforms:label ref="city" />
> <xforms:value ref="city/@code" />
> </xforms:itemset>
> </xforms:select1>
>
> It stores the selection in the @code attribute of the city element in the booking instance (I tried to brake down the hole process which is way more complex).
>
>
> The code-attribute has thus to be selectable by the user.
> But I also want to get the name of the city in the XML. This is done easily by a calculate bind looking up the code (see below).
>
> <xforms:bind ref="$booking">
> <xforms:bind ref="@type" calculate="$anreise/@code"/>
>
> <xforms:bind ref="city/@code" required="true()"/>
> <xforms:bind ref="city" calculate="xforms:instance('flights')//flight/city[@code = $booking/city/@code]/text()"/>
> </xforms:bind>
>
> If I do so the select form field above is readonly because of the calculate.
>
> I do see the ambiguity of the XPath 'city' but IMHO this definitely should be possible.
> To be more specific I tried to be explicit by adding '*', 'text()' etc. but nothing did change the behaviour
>
> <xforms:bind ref="city/*" calculate="xforms:instance('flights')//flight/city[@code = $booking/city/@code]/text()"/>
>
>
> Be prepared: Due to the fact that I tried to break down the actual code to the relevant parts I might have missed something. ;-)
>
> Any hints, can this issue be fixed, can I get around that somehow?
>
> Thanks in advance!
>
> Regards
>
> Thorsten
>
>
> --
> You receive this message as a subscriber of the
[hidden email] mailing list.
> To unsubscribe: mailto:
[hidden email]
> For general help: mailto:
[hidden email]?subject=help
> OW2 mailing lists service home page:
http://www.ow2.org/wws>
>