On Sat, Feb 25, 2012 at 7:04 PM, Michael Kay <[email protected]> wrote: > On 25/02/2012 12:14, James Fuller wrote: >> >> as http://www.w3.org/TR/xpath-datamodel-30/#other-items states the >> xpath data model has matured and needs to add 'other types' ... which >> have no xml serializations >> >> following on from this statement, I am wondering if the XQuery WG has >> considered what could be returned in the following scenario: >> >> let $a := fn:position#0 >> return >> fn:string($a) > > Actually fn:position#0 isn't allowed - we don't allow function items to be > formed from functions that access the dynamic context, because there's too > much scope for confusion about which dynamic context is used.
sure, cut n paste madness > But if you substituted, say, root#1, we allow you to get the name of the > function using function-name(root#1) and to get its arity using > function-arity(root#1). That seems better to me that doing it by casting, > which seems to rely on the purely accidental fact that all the properties of > a function have distinct types. sure, function-name() and function-arity() are great. so I guess now a cast on a function will throw a err:XPTY0004 ? thx, J > > Michael Kay > Saxonica >> >> >> it maybe nice to return the name of the function "fn:position" as a >> string ... conversely, >> >> let $a := fn:position#0 >> return >> fn:QName($a) >> >> would return the qname of the function. >> >> its probably a stretch to extend this to function arity eg. >> >> let $a := fn:position#0 >> return >> xs:integer($a) >> >> which would return a value of 0. >> >> it may also be useful to expand the description of what functions are >> in the data model via fully describing the term 'callable' here >> http://www.w3.org/TR/xpath-datamodel-30/#other-items. >> >> James Fuller >> _______________________________________________ >> [email protected] >> http://x-query.com/mailman/listinfo/talk >> > > _______________________________________________ > [email protected] > http://x-query.com/mailman/listinfo/talk _______________________________________________ [email protected] http://x-query.com/mailman/listinfo/talk
