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

Reply via email to