[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

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

Subject: Re: XPath "none" /type/ not available to the user
From: Frans Englich <frans.englich@xxxxxxxxx>
Date: Wed, 24 May 2006 11:49:30 +0000
fn error
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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.