> Ah, pity. You could ofcourse do an order by the whole item,
> but that could be a bit risky perhaps. And in the second
> loop, you could resort to deep-equal after all, perhaps
> leveraging the run-time construction of a compare node as used by Ken.
Something like this:
declare function local:distinct-items_geert ($items as node()*) as node()* {
let $items :=
for $item in $items
order by $item descending
return $item
for $item at $pos in $items
let $itemCompare :=
<compare>{$item/* except $item/testVal}</compare>
let $prev :=
$items[$pos - 1]
let $prevCompare :=
<compare>{$prev/* except $prev/testVal}</compare>
where not(deep-equal($itemCompare, $prevCompare))
return $item
};
Kind regards,
Geert
drs. G.P.H. (Geert) Josten
Consultant
Daidalos BV
Hoekeindsehof 1-4
2665 JZ Bleiswijk
T +31 (0)10 850 1200
F +31 (0)10 850 1199
mailto:[email protected]
http://www.daidalos.nl/
KvK 27164984
P Please consider the environment before printing this mail.
De informatie - verzonden in of met dit e-mailbericht - is afkomstig van
Daidalos BV en is uitsluitend bestemd voor de geadresseerde. Indien u dit
bericht onbedoeld hebt ontvangen, verzoeken wij u het te verwijderen. Aan dit
bericht kunnen geen rechten worden ontleend.
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general