I personally wouldn't instantly jump to the conclusion that the code is inefficient. It is vendor specific if it is efficient or not.
---------------------------------------- David A. Lee [email protected]<mailto:[email protected]> http://www.xmlsh.org From: daniela florescu [mailto:[email protected]] Sent: Wednesday, May 15, 2013 12:28 PM To: David Lee Cc: Kunal Chauhan; [email protected] Subject: Re: [xquery-talk] Is it possible to maintain a list of value in XQuery Or, if you are horrified by the inneficiency of such operation, use a scripting extension to XQuery, like the one bellow: http://www.zorba-xquery.com/html/scripting_spec.html All functional languages have side-effecting extensions (that I know). All SQL implementations also have a procedural extension. Best Dana On May 15, 2013, at 8:05 AM, David Lee wrote: 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]> [mailto:[email protected]] On Behalf Of Kunal Chauhan Sent: Wednesday, May 15, 2013 10:48 AM To: [email protected]<mailto:[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]<mailto:[email protected]> http://x-query.com/mailman/listinfo/talk
_______________________________________________ [email protected] http://x-query.com/mailman/listinfo/talk
