Re: [Bug 12184] New: Circularity in xs:override

> Should one take the filing of this bug report as a signal that you
> do not find the analysis in
>
>   http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/2011Feb/0014.html
>
> persuasive?
>

I think what it boils down to is how one reads this:

If a schema document P contains an <override> element E pointing to some 
schema document Q, then schema(P) contains not only the components in 
immed(P), but also the components in schema(override(E,Q))

My reading is that this definition is circular with no terminating 
condition. But MSMcQ appears able to read it in a sense where it's 
somehow obvious that you stop when you reach closure. I'm not sure 
whether or not that latter reading depends on the paragraph "If applying 
the override transformation specified in Transformation for xs:override 
(§F.2) to D and E results in a schema document equivalent to D" to 
supply a terminating condition. Also, I'm not sure whether or not that 
paragraph is part of a Note, and therefore non-normative.

I think MSMcQ is reading it rather like one might read the statement 
"The income of a married person is to be taken as including the income 
of their spouse". It would take a moron or a computer (or a particularly 
evil taxman) to try to evaluate this as income(John) + 
income(wife(John)) + income(husband(wife(John))) + .... Trouble is, a 
computer is the only tool I have, and that's how it's interpreting it.

So, where do I inject the intelligence that tells the computer when to 
stop? It isn't just a question of recognizing that husband(wife(John)) 
is John (the identity problem). It's also a question of recognizing that 
we are evaluating a union (and not, for example, a sum), and that 
therefore repeated evaluation of the same function has no effect on the 
outcome: the rule we are instinctively applying is union(income(S), 
income(S)) = income(S), not sum(income(S), income(S)) = 2*income(S).

With this understanding, I think I can now read the sentence above and 
see how I was supposed to read it. Next question: how can I rephrase it 
so we don't put all our readers through the same agony?

Michael Kay
Saxonica

Received on Friday, 25 February 2011 19:00:06 UTC