- From: Henry S. Thompson <ht@inf.ed.ac.uk>
- Date: Tue, 15 Mar 2011 13:00:38 +0000
- To: "C. M. Sperberg-McQueen" <cmsmcq@blackmesatech.com>
- Cc: www-xml-schema-comments@w3.org
- Message-ID: <f5blj0gv8qx.fsf@calexico.inf.ed.ac.uk>
C. M. Sperberg-McQueen writes:
>> ht writes:
>>
>>> A third example follows in the next message.
>>
>> Consider the following set of 4 schema documents.
>> ...
>>
>> Algorithm O classifies this as OK starting from A, but not if starting
>> - From B, C or D.
>
> I agree that if one starts from B, C, or D one definitely
> end up with contradictory declarations and thus with
> a non-conforming schema.
>
> I'm not entirely convinced that it's plausible to require
> that the schema be accepted if one starts from schema
> document A. It depends, I think, on how aggressive the
> processor wishes to be about detecting component
> identity.
>
> . . .
>
> The algebraic derivation of schema(A) goes on for a
> long long time and involves several inclusions of
> overridden versions of B, C, and D with different
> sets of children in the override.
Indeed -- at this point I gave up simulating the processing by hand
and implemented Algorithm O in XSLT!
> Requiring that a processor recognize that override(E1,B) and
> override(E1>E2, B) are the effectively the same resource (where
> 'E1>E2' denotes the overlay of E2 by E1) probably requires more
> intelligence than I think the rest of the spec has been inclined to
> require of a processor.
>
> So I think the status of the example is indeterminate
> in the status quo and probably should remain so: we
> cannot provide a firmer footing here without a
> complete revision of the foundations of the spec.
> Unfortunately, I don't think we are in a position to do
> that now.
That seems to me unnecessarily pessimistic. I attach herewith
a) a crude display of the override graph produced by Algorithm O
for this example;
b) a package including
a XSLT 2.0 stylesheet o.xsl which computes one iteration of algorithm O;
an XProc pipeline o.xpl which points o.xsl at an initial schema doc.
and iterates until the queue is empty;
a stylesheet which displays the result;
a collection of examples, namely over023 (start at P.xsd)
over024 (start at over024.bad.xsd)
example 3 (start at A.xsd)
for those interested in a demonstration that Algorithm O has the
necessary properties and does not require "over[much] intelligence".
ht
--
Henry S. Thompson, School of Informatics, University of Edinburgh
10 Crichton Street, Edinburgh EH8 9AB, SCOTLAND -- (44) 131 650-4440
Fax: (44) 131 651-1426, e-mail: ht@inf.ed.ac.uk
URL: http://www.ltg.ed.ac.uk/~ht/
[mail from me _always_ has a .sig like this -- mail without it is forged spam]
Attachments
- text/html attachment: Algorithm O output on example 3
- application/x-gzip attachment: XSLT/XProc implementation of Algorithm O
Received on Tuesday, 15 March 2011 13:01:14 UTC