{ for $sheet in /workbook/sheet return element {concat(replace(replace($sheet/name,'[0-9].',''),' ',''),'_list')} { for $row in $sheet/row where ($row/@number != 0) return element {replace(replace($sheet/name,'[0-9].',''),' ','')} { for $col in $row/col return element {$sheet/row[@number=0]/col[@number=$col/@number]/text()} {$col/text()} } } } (: Stylus Studio meta-information - (c) 2004-2007. Progress Software Corporation. All rights reserved. :)