(:COL1 - ID:) (:COL2 - VOUCHERTYPE:) (:COL3 - VCHDATE:) (:COL4 - LEDGERS:) (:COL5 - LEDGERAMT:) (:COL6 - DRCR:) (:XQuery begins here:) CREATE TABLE [sheet1$] ([ID] CHAR(255),[VOUCHERTYPE] CHAR(255),[VCHDATE] char(255),[LEDGER] char(255),[LEDGERAMT] FLOAT,[DRCR] char(255)) { for $row in (ENVELOPE/BODY/IMPORTDATA/REQUESTDATA/TALLYMESSAGE/VOUCHER), $ledger at $pos in distinct-values($row/descendant::LEDGERNAME) let $ledgeramt := sum($row/descendant::LEDGERNAME[.=$ledger]/parent::node()/AMOUNT), $fieldnames:= ("ID","VOUCHERTYPE","VCHDATE","LEDGER","LEDGERAMT","DRCR"), $fieldvalues:=($row/parent::node()/@MASTERID,$row/@VCHTYPE,$row/DATE,$ledger,if (fn:exists($ledgeramt)) then abs($ledgeramt) else (0),if ($ledgeramt<0) then "Dr" else "Cr") return sslib:sql-insert('[sheet1$]',$fieldnames,$fieldvalues) }