[Bug 4551] K-NormalizeUnicodeFunc-13

http://www.w3.org/Bugs/Public/show_bug.cgi?id=4551





------- Comment #2 from mike@saxonica.com  2007-05-30 20:34 -------
I'm puzzled by your reasoning, Andrew. The paragraph you quote says that "it is
required to establish that the actual value of the operand E does not violate
any constraints on its cardinality". But Tim asserts (and no doubt he is right)
that this has already been done during static analysis, which determined the
cardinality of ("a string", error()) to be (1,1). 

This seems like an absurd and undesirable result, but it's hard to argue with
the logic that the spec allows it.

Or perhaps it's not so absurd after all: the only reason we have the rule that
you can't do early-exit until you've established the cardinality is to outlaw
the XPath 1.0 "use first item, ignore rest of sequence" semantics, because we
think that's error-prone. Here, if you carried on evaluating the sequence, you
would not get a cardinality error but whatever error is thrown by error(), so
it doesn't fall into this category and shouldn't be caught by this rule.

Received on Wednesday, 30 May 2007 20:34:48 UTC