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.

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.

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

Reply via email to