{ for $orderline in order/orderline[position() mod 5 = 1] return { $orderline, for $orderline-grp in $orderline/following-sibling::orderline[position() < 5] return $orderline-grp } } (: Stylus Studio meta-information - (c) 2004-2006. Progress Software Corporation. All rights reserved. :)