Xforms e cicli for
Vediamo come manipolare il cursore all'interno di un ciclo for nel linguaggio di programmazione XFORMS.
La seguente form:repeat gira su un array di elementi, dal primo all'ultimo.
E poi fa un test, ovvero se l'elemento successivo deve essere visualizzato allora inserisce una virgola.
Nella form:repeat per accedere alla posizione corrente si usa xform:cursor('id') dove id è l'id della form:repeat.
Usando questa tecnica si deve specificare il path completo.
<form:repeat nodeset="uno/due/tre[position() <= last()]" id="curr">
... si stampa quello che si vuole ...
//Se c'è un valore successivo per un dato attributo diverso da vuoto si mette il separatore, ovvero la virgola
<form:case selected="((/Data/uno/due/tre[xform:cursor('curr')+1]/@MyAttr != ''))">
<form:caption>, </form:caption>
</form:case>
</form:repeat>
RIFERIMENTI
http://www.html.it/pag/31770/xforms/
http://www.w3.org/TR/2002/CR-xforms-20021112/
Utile documentazione su XForms 2.0