- From: <bugzilla@wiggum.w3.org>
- Date: Thu, 09 Oct 2008 09:44:15 +0000
- To: public-qt-comments@w3.org
http://www.w3.org/Bugs/Public/show_bug.cgi?id=5915 --- Comment #6 from Michael Dyck <jmdyck@ibiblio.org> 2008-10-09 09:44:14 --- (In reply to comment #2) > Consider > > U = (T1 | T2) > T1 <: xs:untypedAtomic? > not(T2 <: xs:untypedAtomic?) > > Following the static typing rules in 7.1.1: > > statEnv |- not(U <: xs:untypedAtomic?) > ------------------------------------------------------------- > statEnv |- (FS-URI,"convert-operand")( U, Type2) : U > > This is clearly wrong. I agree with your analysis, and agree that the result is unsound. I will propose some replacement rules to fix this. The new rules will probably change the static type of fs:convert-operand(data(()), 1) to 'empty', which gets us back to your original point, namely: -- since it has a static type of 'empty', it's subject to the rule in section 4, and -- since it doesn't qualify as an exception, it must raise an error, -- which you suspect is unintended. I'm not sure it's unintended. Looking at the XQuery/XPath spec, it seems clear from the wording in 2.3.1 that the expression 1 + () should raise an error if the processor supports the Static Typing Feature. And, back in FS-land, fs:convert-operand(data(()), 1) will raise an error, thus agreeing with the XQuery/XPath spec. It would be more interesting if there were an example expression where the two specs *didn't* agree on whether XPST0005 should be raised. -- Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug.
Received on Thursday, 9 October 2008 09:44:25 UTC