Subject: Re: [xsl] XPath "none" /type/ not available to the user From: Frans Englich <frans.englich@xxxxxxxxx> Date: Wed, 24 May 2006 11:49:30 +0000 |
On Wednesday 24 May 2006 11:26, Florent Georges wrote: > Hi > > In F&O, '3 The Error Function says: > > fn:error() as none > > [...] > > Note that "none" is a special type defined in [XQuery > 1.0 and XPath 2.0 Formal Semantics] and is not available > to the user. It indicates that the function never > returns and ensures that it has the correct static type. > > 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). > As the result type > of a function that never returns. For example, what can I > put in the @as of the following XSLT definition of an XPath > function? > > <xsl:function name="my:error" as="none()"> > <xsl:param name="msg" as="xs:string"/> > <xsl:sequence select=" > error($my:error-qname, concat('No luck: ', $msg))"/> > </xsl:function> > > IMHO, it can be interesting for static type checking. > Does this "type" introduces some complexity in the static > type system? I think implementors happily form a little choir singing "Yes it do! Tra la la la!" I've myself been thinking a bit about this, while writing XQuery test cases. Try declaring a function with the return type empty-sequence(): <xsl:function name="my:error" as="empty-sequence()"> <xsl:param name="msg" as="xs:string"/> <xsl:sequence select=" error($my:error-qname, concat('No luck: ', $msg))"/> </xsl:function> I haven't yet confirmed in Formal Semantics that this shouldn't be a type error(e.g, that the type 'none' should match empty-sequence()), but it really should due to the purpose of fn:error() and the none type. Cheers, Frans (personal response)
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] XPath "none" /type/ not avail, Florent Georges | Thread | Re: [xsl] XPath "none" /type/ not a, Florent Georges |
Re: [xsl] Writing array elements ba, Florent Georges | Date | Re: [xsl] Writing array elements ba, neil cave |
Month |