xsl-list
[Top] [All Lists]

Re: [xsl] XPath "none" /type/ not available to the user

2006-05-24 06:13:43
On Wednesday 24 May 2006 12:40, Florent Georges wrote:
Frans Englich wrote:
On Wednesday 24 May 2006 11:26, Florent Georges wrote:
  Why is it not available to the user?

Probably because no one thought a reasonable usage
scenario exists for it(although I don't know for sure).

  A custom error reporting function (based on fn:error()) is
an enough interesting use case, isn't it?  But more
generaly, if a system function returns such an absorbent
type [1], you'll need one time or another to use this type,
IMHO.

Yes, I guess it is. Will be interesting to see what Michael says if he follows 
up this thread.

You can skip declaring the return type of the function, then the return type 
is inferred from the function body. I agree this is hackish though.

In what scenario does empty-sequence() not work for you? It must be some rare 
cases where empty-sequence() doesn't work and one must use 'none'.

I've myself been thinking a bit about this, while writing
XQuery test cases.  Try declaring a function with the
return type empty-sequence()

  I didn't try to really test it.  Actually, with Saxon
8.7.1j we can use every SequenceType (for example xs:string,
node(), empty-sequence() or text()), even with the '+'
occurrence indicator.  As if no static type checking was
made at all.  As if this special case was banned from the
static type checking engine.

The 'none' type intentionally "disappears" in the type system such that one 
can insert the fn:error() function anywhere without getting a type error.


Cheers,

                Frans


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--