[XQuery Talk Mailing List Archive Home] [By Date] [By Thread] [By Subject] [By Author] [Recent Entries] [Reply To This Message]

flowrrr - how to structure a function?

Daniela Florescu dflorescu at mac.com
Wed Oct 18 15:31:39 PDT 2006


  flowrrr - how to structure a function?
That's the kind of use case that the scripting extension of XQuery
(XQueryP) that Jonathan was mentioning here is supposed to solve.

This is not an isolated use case, that's a more and more frequent use
case scenario, and the current XQuery 1.0, nor the Update spec do
  no good for it.

The scripting extension of XQuery should help though, it applies the
side-effects right away and guarantees a deterministic evaluation order
for subexpressions with side-effects (among other things).

Best regards,
Dana


On Oct 18, 2006, at 1:56 PM, Martin Probst wrote:

>> Martin Probst wrote:
>>> I think Wolfgang's function library in eXist 
>>> (http://demo.exist-db.org/xquery/functions.xq) also includes 
>>> functions to create user sessions, this might be more difficult to 
>>> make side-effect free. I.e. if session:create(), 
>>> session:set-current-user() and session:invalidate() return values if 
>>> called in the right order, but give errors if called in the wrong 
>>> order, it's much more difficult because you need to provide access 
>>> to those values. I'm not picking on you Wolfgang, I rather think 
>>> your library is a good example of what one does need in webapps.
>>
>> All that would need to be done to make functions like that 
>> side-effect free is to postpone the actual changes until after the 
>> query has exited. You would then only have to define what would 
>> happen if two such postponed changes contradicted each other. This is 
>> the approach that XQuery Update seems to be taking.
>
> I think that's not enough - if your function has a side effect _and_ 
> returns a value (based on the side effect), you cannot postpone 
> evaluation like in XQuery Updates, because the user needs his values 
> right now. Also you'd still need to ensure correct call order in some 
> way, which is (at least at the moment) not relevant to XQuery Updates.
>
> Regards,
> Martin
>
> -- 
> Martin Probst
> X-Hive Corporation
> http://x-query.com/mailman/listinfo/talk
>
>
> _______________________________________________
> http://x-query.com/mailman/listinfo/talk
> http://x-query.com/mailman/listinfo/talk



PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2011 All Rights Reserved.