Re: Extension candidates
John Snelson <[email protected]> Fri, 19 Dec 2008 17:24:00 +0000
| Newsgroups | gmane.text.xml.xslt.extensions |
|---|---|
| Message-ID | <[email protected]> |
Florent Georges wrote: > John Snelson wrote: > > Hi John, > >> http://snelson.org.uk/~jpcs/higher-order-functions.html > >> As Michael says, it might be appropriate for EXSLT to attempt >> something simpler than this proposal - but it will hopefully give >> people something to think about. > > It is indeed very interesting! > > First two little questions (a bit OT here, sorry): 1/ it seems it > is not possible to create a function item from a dynamic QName, is > it on purpose? (I guess so), I hadn't thought about making it dynamic. The problem with doing so would mainly be that the implementation could know very little about the type of a function whose name was not known at compile time. I guess I'd need to see a use case for being able to do that. > and 2/ what's the difference between > both following item types (from the type hierarchy in "1 Function > Items")? > > function() This means any function item (any arity, arg type and result type). > function() as item()* This means a function item that takes no arguments and returns a sequence of items. > About possible simplifications, I think the most obvious are > changes to the grammar. Some can be changed to extra extension > functions (for example a function that returns a function item > instead of literals,) other are more touchy (like inline > functions.) Some concrete proposals: > > - do not define the extension to ItemType, and do not define the > exact type of a function item (can be defined as it were a new > type of items, but no assumption nor test can be made about the > real type of such items); > > - define a function to create function items instead of literals > (should the name of the function by a real QName item, or a > QName literal?); > > - do not define inline functions (at least in a first time); > > - define a function ex:call() for 1.3 Dynamic Function > Invocation. That sounds reasonable. John -- John Snelson, Oracle Corporation http://snelson.org.uk/john Berkeley DB XML: http://oracle.com/database/berkeley-db/xml XQilla: http://xqilla.sourceforge.net