repeats

Hi all, Today I decided it was time to upgrade the version of chiba I've 
been using for my xforms only to find that its behaviour has changed. I 
checked a few other implementations and they all seem to agree on this 
point, so I'm totally confused.

up until now I've been using a trigger with something like:
  <xforms:insert bind="bind_1" at="index('repeat_1')" position="after"/>

in order to allow form users to add items to lists. BUT if they remove 
all the items from the list then this no longer works and I apparently 
need a completely different button to get the first item on the list 
again. Is this true? My existing copy of chiba just inserts, even if 
there are currently no items in the list. how is this supposed to work? 
how have people built real life forms to cope with this odd behaviour(imho)
I've had another look at the w3c position for xforms 1.0 and it seems to 
suggest that this behaviour is designed (unless the "homogeneous 
collection" is actually meant to mean the collection that exists at form 
startup including any implied nodes from binding lazily? )

ref: http://www.w3.org/TR/xforms/slice9.html#action-insert
The homogeneous collection to be updated is determined by evaluating the 
Node Set Binding. If the collection is empty, the insert action has no 
effect.
The rules for selecting the index are as follows:
b) If the result is NaN, the insert appends to the end of the node-set.

c) If the resulting index is outside the valid range of the node-set, it 
is replaced with either 1 or the size of the node-set, whichever is closer.

so how should a shopping cart for example actually be built?
I want:
add item
remove item
checkout

I dont want an append item for the case that there are none items, and I 
really dont want to have to specially bother with the zero case (how is 
this done anyway?).

what am I missing?

much lost
Jason.

Received on Friday, 3 November 2006 06:24:52 UTC