XQuery to get Ledger Names and Amount
Here’s a XQUERY STATEMENT to get the Ledger Names and Amount from XML generated from Tally Software.
for $row in (//ENVELOPE/BODY/IMPORTDATA/REQUESTDATA/TALLYMESSAGE/VOUCHER)
let
$vchtype := ($row/VOUCHERTYPENAME),
$vchdate := ($row/DATE)
return
<voucher>
<vchtype>{data($vchtype)}</vchtype>
<date>{data($vchdate)}</date>
{
for $ledgername in distinct-values($row/descendant::LEDGERNAME)
let $amount := (sum($row/descendant::LEDGERNAME[.=$ledgername]/parent::node()/AMOUNT))
return
<row>
<ledger>{$ledgername}</ledger>
<amount>{$amount}</amount>
</row>
}
</voucher>
Categories: xquery Tags: