- From: Ashok Malhotra <ashokma@microsoft.com>
- Date: Wed, 17 Mar 2004 05:17:57 -0800
- To: "Michael Kay" <mhk@mhk.me.uk>, <public-qt-comments@w3.org>
- Cc: "Andrew Eisenberg" <andrew.eisenberg@us.ibm.com>, "Scott Boag" <scott_boag@us.ibm.com>, "Henry Zongaro" <zongaro@ca.ibm.com>
- Message-ID: <EDB607C8AC991F40BE646533A1A673E8018C5AFB@RED-MSG-42.redmond.corp.microsoft.com>
Don:
We discussed this in Cannes and decided to unify the errors in the F&O
document. I responded in
http://lists.w3.org/Archives/Public/public-qt-comments/2004Mar/0169.html
I'm not crazy about the wording of the error "invalid value for
cast/constructor". Feel free to suggest better wording.
All the best, Ashok
________________________________
From: public-qt-comments-request@w3.org
[mailto:public-qt-comments-request@w3.org] On Behalf Of Michael Kay
Sent: Wednesday, March 17, 2004 3:05 AM
To: public-qt-comments@w3.org
Cc: 'Andrew Eisenberg'; 'Scott Boag'; 'Henry Zongaro'
Subject: RE: [F&O] IBM-FO-044: Errors in casting and constructors
This observation has also been made in:
http://lists.w3.org/Archives/Public/public-qt-comments/2004Feb/0154.html
Michael Kay
________________________________
From: public-qt-comments-request@w3.org
[mailto:public-qt-comments-request@w3.org] On Behalf Of Don Chamberlin
Sent: 17 March 2004 00:58
To: public-qt-comments@w3.org
Cc: Andrew Eisenberg; Scott Boag; Henry Zongaro
Subject: [F&O] IBM-FO-044: Errors in casting and constructors
(IBM-FO-044): The F&O document, section 17 (Casting) says
"Constructor functions and cast expressions ... both convert a value to
a given type with identical semantics and different syntax." The XQuery
language document agrees, in Section 3.12.5 (Constructor Functions):
"The constructor function for type T .... has exactly the same semantics
as a cast expression with target type T."
But this equivalence does not seem to extend to error messages.
(a) The language document, Section 3.12.3 (Cast) says that a
Cast expression can raise a type error (XQ0004 or XP0006), a dynamic
error XQ0021 ("value cannot be cast to the required type"), or a dynamic
error XQ0029 ("value does not satisfy facets of target type"). The
language document does not list any errors for constructor functions.
(b) The F&O document, on the other hand, lists various
casting-related error messages with names like "error in casting to
decimal", "error in casting to integer", "invalid value for cast", etc.
Some target types have specific error messages, but most do not. It is
generally not specified which errors are dynamic and which are static.
The language document and the F&O document are not consistent in
their handling of errors in casting, and it is not clear whether cast
expressions and constructor functions return the same error messages.
This latter property would be beneficial because it would allow
implementations to transform cast expressions into constructor
functions.
--Don Chamberlin
Received on Wednesday, 17 March 2004 08:18:29 UTC