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

Global variables in XQuery

Michael Kay mhk at mhk.me.uk
Thu Oct 5 12:52:15 PDT 2006


  Global variables in XQuery
> Nevertheless, there are 
> many occasions in which a programmer needs to both read and 
> write a global variable, especially when recursive functions 
> are involved. For instance, suppose I want to know the number 
> of recursive calls of my recursive function (this number is 
> an lower bound of the space complexity of the function). 

This kind of use-case - producing a secondary result that's essentially
diagnostic or instrumentation output - was what motivated me to add
saxon:assign to my XSLT processor, a decision I have bitterly regretted
because it gets abused by people who just use it to write pure procedural
code which has a nasty habit of breaking under optimization. In the light of
this experience I think the proposal currently on the table to add
procedural extensions to XQuery (mentioned by Jonathan) is probably a bad
idea. I think it's much better to use a procedural pipeline language [1] to
string together non-procedural components to assemble an application.

The right way to implement a counter for instrumentation purposes is
probably by calling an extension function.

[1] http://www.w3.org/TR/xproc/


Michael Kay
http://www.saxonica.com/



PURCHASE STYLUS STUDIO ONLINE TODAY!

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

Buy Stylus Studio Now

Cast Your Vote

We need your help – Vote for DataDirect XML Products!

  • Best SOA or XML site

Winners and finalists announced at SOA World Conference in November.

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-2007 All Rights Reserved.