- From: <bugzilla@wiggum.w3.org>
- Date: Fri, 21 Apr 2006 14:48:35 +0000
- To: public-qt-comments@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=1680 ------- Comment #3 from simeon@us.ibm.com 2006-04-21 14:48 ------- Michael: The XQuery 1.0 document is very clear that the semantics of constructor functions are the same as a cast. This is the actual definition: [Definition: The constructor function for a given type is used to convert instances of other atomic types into the given type. The semantics of the constructor function T($arg) are defined to be equivalent to the expression ($arg cast as T?).] The semantics of function calls have a lot of things going on which are not happening for constructor functions, notably the function conversion rules. That said, you are right that the normalization rule as currently written does not deal with namespace normalization. The fix implemented in the FS document currently adds some english prose to explain what is going on. I just realized though that we could write the normalization rule as follows, making namespace resolution explicit. The second precondition checks that the QName is the name of an atomic type. statEnv |- QName of elem/type expands to expanded-QName statEnv |- declare type QName restricts AtomicTypeName ----------------------------------------------------------- statEnv |- [QName(Expr)]_Expr == [Expr cast as QName?]_Expr [That usage for normalization rules is introduced in Section 3.2.2 Normalization mapping rules.] That may work better than just some english text. Any suggestion or preference on this? - Jerome
Received on Friday, 21 April 2006 14:48:44 UTC