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

>> 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.
> That's certainly a plausible reading.
>
> What I do not see is how you can read this sentence as having no termination
> condition and the corresponding sentence for cyclic inclusion as having a
> terminating condition.
>
>      If a ·schema document· D1 contains one or more<include>  elements,
>      then schema(D1) contains not only immed(D1) but also all the components
>      of schema(D2), for each ·schema document· D2 identified by an<include>
>      element child of D1.
>

That's a good question, and trying to come up with an answer, I think 
it's probably that with schema(D1) we use a noun as the function name, 
so it feels like it's asking us to examine a property of D1, whereas 
with override(E,Q) we use an imperative verb, and therefore it feels 
like a computation it's asking us to perform.

Michael Kay
Saxonica

Received on Saturday, 26 February 2011 09:49:23 UTC