J'ai fini par trouver une solution que je crois relativement élégante.
Dans mon exemple, j'avais oublié que les "task" sont dans un "tasks".
Du coup, sur "tasks" je parcours tous les "resource" de façon uunique avec un "for-each" et un select comme suit :
task[position() = 1 or not(preceding-sibling::node()/@resource = @resource)]
Voilou, ça marche. Et je n'ai qu'un seul "for-each", ce qui est plus dans l'esprit je pense.
# Ma solution
Posté par Bonnefille Guilhem . En réponse au message Grouper le traitement de balises via XSLT. Évalué à 1.
Dans mon exemple, j'avais oublié que les "task" sont dans un "tasks".
Du coup, sur "tasks" je parcours tous les "resource" de façon uunique avec un "for-each" et un select comme suit :
task[position() = 1 or not(preceding-sibling::node()/@resource = @resource)]
Voilou, ça marche. Et je n'ai qu'un seul "for-each", ce qui est plus dans l'esprit je pense.
Merci à tous.