In XQuery (neglecting some vendor specific extensions) variables are imutable.
Thus it is counter-productive to think "I have a list then I want to add to it"
Rather thing "I have a function which I wish to produce a final list"

Like this

declare function addlist( $list as xs:string* , $item as xs:string) as 
xs:string*
{
    if( $item = $list ) then $list else ( $list , $item )

};

let $list := addlist( ()  , "apples" ) ,
      $list := addlist( $list , "pears" ),
      $list := addlist( $list , "peaches" ),
      $list := addlist( $list , "apples" ),
      $list := addlist( $list , "pumpkins" )
return $list

This *looks like* it is adding values to $list but in fact it is assigning a 
new variable called $list for every expression
based on the previous value and possibly adding one more.












----------------------------------------
David A. Lee
[email protected]<mailto:[email protected]>
http://www.xmlsh.org

From: [email protected] [mailto:[email protected]] On Behalf Of 
Kunal Chauhan
Sent: Wednesday, May 15, 2013 10:48 AM
To: [email protected]
Subject: [xquery-talk] Is it possible to maintain a list of value in XQuery

Hi,
I want to maintain a list of value.
for eg:
initially I have blank list and through some process I add values in to the 
list.
like (Apple,Banana,Cherry)

now, when get Apple as an output 2nd time it will check into the list.
If present than don't add value into the list otherwise add it.
At last I will return the list.

I don't know whether it's possible or not.
But this there any work around.
Thanks and Regards,

--
Kunal Chauhan
[email protected]<mailto:[email protected]>
[+918655517141]
[+919904983614]
_______________________________________________
[email protected]
http://x-query.com/mailman/listinfo/talk

Reply via email to