Hi, i am getting error: Can not update external nodes, while node replace() In segmentation() i am getting the node, which one need to replcae by using xdmp:eval(). i am getting the xpath dynamically, so i used xdmp:eval() after that, i am passing it to another function to replace node. i am creating one node by using element. next i used: xdmp:node-replace($old-node,$new-node)
is any thing wrong here? can u tell me, wat is the solution. how to solve this problem i am providing xml and xquery. **************************xquery************************************ xquery version "1.0-ml"; declare namespace its="http://www.w3.org/2005/11/its"; declare function its:segmentation($uri,$path) as node()*{ let $old-node := concat("doc('", $uri, "')", $path) for $result at $index in xdmp:eval($old-node) return ($result) }; declare function its:translation($node as node()) as node()* { let $trans:= cts:search(doc($srcurl)/termEntry, cts:word-query(data($node),("case-insensitive"))) return if(empty($trans)) then ( let $trans:= cts:search(doc($srcurl)//tu, cts:word-query(data($node),("case-insensitive"))) return if(empty($trans)) then ( $node (: let $nodename:=name($node) let $new-node:= element {name($node)} { attribute translation{"false"}, $node/text() } return ($new-node ,xdmp:eval(concat("xdmp:node-replace(",xdmp:quote($node),",",xdmp:quote($new-node),")"))) :) ) else ( let $new-node :=element {name($node)} { $trans/[EMAIL PROTECTED]:lang="FR-FR"]/seg/text()} return ($new-node,xdmp:node-replace($node,$new-node)) ) ) else ( let $new-node :=element {name($node)} { $trans/[EMAIL PROTECTED]:lang="fr"]/tig/term/text()} return ($new-node, xdmp:node-replace($node,$new-node)) ) }; for $x in doc("/trailreplace.xml")//its:[EMAIL PROTECTED]"yes"] return ( for $result at $index in its:segmentation("/trailreplace.xml",$x/@selector) return (its:translation($result)) ) ***************************************************xml**************************************** - <report xmlns:its="http://www.w3.org/2005/11/its"> - <its:rules version="1.0"> <its:translateRule selector="/report/donorEntry/name" translate="yes" /> <its:translateRule selector="/report/donorEntry/note" translate="yes" /> <its:translateRule selector="/report/donorEntry/list/donor" translate="yes" /> </its:rules> - <donorEntry> <name its:translation="yes">Individual donors</name> <note its:translation="no">Some donors contribute both individually and through multidonor pooled agreements.</note> - <list> <donor its:translation="yes">the Netherlands</donor> <donor its:translation="yes">Norway</donor> <donor its:translation="yes">Spain</donor> <donor its:translation="yes">Sweden</donor> <donor>Switzerland</donor> </list> </donorEntry> - <donorEntry> <name its:translation="yes">Africa Technical Assistance Centers</name> - <list> <donor its:translation="yes">African Development Bank</donor> <donor its:translation="yes">Canada</donor> <donor its:translation="yes">China</donor> <donor its:translation="no">Denmark</donor> <donor its:translation="no">Finland</donor> </list> </donorEntry> </report> *************************************************************************** Thanks and Regards Aparna. _______________________________________________ General mailing list [email protected] http://xqzone.com/mailman/listinfo/general
