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