Hi ,

The following xquery works for single node(DonorEntry) , the XML is
provided below.But it fails for more than single entry(The xml for
this is provided below), can you please help with this.

xquery version "1.0-ml";
import module namespace loc="http://Localization/transformation";   at
 "/Modules/transformation.xqy" ;

declare namespace it="http://www.w3.org/2005/11/its";;

declare variable $uri:="/target/result1.xml";

declare variable $attr:="translate";


declare function it:segmentation($uri,$path) {

let $old-node := concat("doc('", $uri, "')", $path)
for $result at $index in xdmp:eval($old-node)
return it:translation(concat($old-node,"[",$index,"]"),$uri,
$path)
};

declare function it:translation($node ,$uri,$path)
{
$node
,
let $trans:= cts:search(doc("someurl")//termEntry,
cts:word-query(xdmp:eval($node),("case-insensitive")))

return
if(empty($trans))
then (
let $trans:= cts:search(doc("some url")//tu,
cts:word-query(xdmp:eval($node),("case-insensitive")))

return   if(empty($trans))
then ( xdmp:eval($node),
let $new-node :=element name { modify}
return 
xdmp:eval(concat("xdmp:node-replace(",$node,",",xdmp:quote($new-node),")")
)


)
else (
let $new-node :=element name { modify}
return 
xdmp:eval(concat("xdmp:node-replace(",$node,",",xdmp:quote($new-node),")"))
 )

)

else (
let $new-node :=element name { modify}

return 
xdmp:eval(concat("xdmp:node-replace(",$node,",",xdmp:quote($new-node),")"))
)




 };
for $x in doc("/target/result1.xml")//it:[EMAIL PROTECTED]'yes']
return (
it:segmentation("/target/result1.xml",$x/@selector))


***********working  xml file ************

"This xquery is  working for the below  xml ."

<report xmlns:its="http://www.w3.org/2005/11/its";>
<its:rules version="1.0">
 <its:translateRule translate="yes"  selector="/report/donirEntry/name" />
 <its:translateRule translate="yes"  selector="/report/donirEntry/note" />
 <its:translateRule translate="yes"
selector="/report/donirEntry/list/donor" />


 </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 its:translation="yes">Switzerland</donor>
 </list>
 </donorEntry>

</report>


*************************xml file for which the xquery is not  working
****************************

<report xmlns:its="http://www.w3.org/2005/11/its";>
<its:rules version="1.0">
 <its:translateRule translate="yes"  selector="/report/donirEntry/name" />
 <its:translateRule translate="yes"  selector="/report/donirEntry/note" />
 <its:translateRule translate="yes"
selector="/report/donirEntry/list/donor" />


 </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 its:translation="yes">Switzerland</donor>
 </list>
 </donorEntry>
<donorEntry>
 <name its:translation="yes">Centres régionaux d'assistance technique
en AfriqueCentre d'assistance technique de l'Afrique centrale</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>

*************************end of xml******************


Thanks and regards
Aparna.
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general

Reply via email to