- From: <bugzilla@jessica.w3.org>
- Date: Fri, 21 Aug 2015 09:38:22 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=28955 --- Comment #3 from Abel Braaksma <abel.braaksma@xs4all.nl> --- Ok, I thought the bullets were trying to enumerate all situations that could throw an error, but if that is just a list of examples to the text before it, there's nothing that needs to be done. But it still raises questions: In XP31 we say: > A variable binding with a type declaration xs:error always raises a type error. But this is confusing. I think from an XSLT point of view, it is not the binding that will raise an error. Instead, it is the reference. This sentence suggests that the following always throws, but I think that is incorrect: <xsl:sequence select=" let $t := xs:error() (: variable binding, but should not raise, right? :) return if(foo eq '') (: safe still :) then $t (: raises error "if and only if" :) else foo (: safe, no error :) " /> Also, perhaps we should even be less strict about the leniency with global variables. We say that if a variable contains a type error, it *may* be raised pro-actively, but may also be raised upon usage. Considering the current text, if anybody has the following, it *may* always raise an error and prevent the stylesheet from being processed in the first place: <!-- global --> <xsl:variable name="err" select="xs:error('err:ERR001', 'Handy placeholder for throwing errors')" as="xs:error" /> But then again, making one exception on a type xs:error to prohibit early evaluation does not sound like the best idea either. But what would a user expect? -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Friday, 21 August 2015 09:38:25 UTC