[xquery-talk] Type promotion (or URI promotion) in EBV calculation?

Michael Kay mhk at mhk.me.uk
Mon Jan 23 13:25:44 PST 2006

This issue has been identified and addressed by the WGs:


Michael Kay 

> -----Original Message-----
> From: talk-bounces at xquery.com 
> [mailto:talk-bounces at xquery.com] On Behalf Of Martin Probst
> Sent: 23 January 2006 12:54
> To: xquery-talk
> Subject: [xquery-talk] Type promotion (or URI promotion) in 
> EBV calculation?
> Hi all,
> this should probably go as a comment to the working group, 
> but I wanted
> to make sure it is an issue before spamming the Bugzilla again (plus
> it's currently down...).
> The question is if in the calculation of the effective boolean value
> type promotion should be used. The problem is the following:
> > if (namespace-uri($foo)) then ... else ...
> This gives an error after the last changes to the EBV calculation as
> namespace-uri() returns an xs:anyURI, which is not an 
> xs:string, and as
> such an error. However functions like namespace-uri() also return a
> value (empty xs:anyURI) if there is no namespace uri, so one 
> has to use
> fn:string-length() or compare to the empty URI etc.
> I can understand that full type promotion might not be wanted in EBV
> calculation, but the difference between xs:anyURI and xs:string might
> not be very obvious to users and generally just clutters the language.
> URI promotion is a workaround for that, and I think it should 
> be used in
> that place too (as in many other places).
> What do you think?
> Martin
> _______________________________________________
> talk at xquery.com
> http://xquery.com/mailman/listinfo/talk

More information about the talk mailing list