RE: including a schema document multiple times

Michael Kay writes:

> It claims to be carefully worded, but many readers would disagree! 
> In particular, it relies on the concept of two schema components 
> being "identical", which is nowhere defined. In fact it is 
> explicitly undefined: in 3.4.6 we read "conforming implementations 
> may disagree as to whether components are identical".

I agree, but one can also go too far in worrying about this.  I haven't 
heard anyone question the intent of the section quoted by Sandy in the 
common case where two includes have schemaLocations with exactly the same 
URI.  Ignoring the bizarre chance that someone is editing the schema 
between the processing of multiple includes, I think most everyone agrees 
that the schema documents returned as representations on multiple accesses 
to the same URI are by most any useful definition the same, and therefore 
covered by the clause in question.

The converse is what's less clear.  Let's say you reference documents with 
different URIs, but the contents are pretty similar.  Maybe the contents 
are identical, or maybe they differ only in whitespace, etc., etc., or 
more problematically they appear to redeclare components that feel pretty 
much the same at the property level.  That's where I agree that the 
Recommendation is unfortunately unclear.   I can also say that different 
members of the workgroup have somewhat different intuitions as to how 
they'd prefer to resolve the ambiguities, and so progress takes time. 
While we have tried to devote the time that would lead to a clearer story 
in Schema 1.1, I'm not very optimistic that we'll manage to do much beyond 
what's in the now public working drafts. 

Anyway:  I think there are important cases in which the recommendation is 
quite clear.  As far as I'm concerned, it is never an error to multiply 
include the same absolute URI for a given namespace.  What's less clear is 
whether there are other cases in which one should succeed too, e.g. ones 
in which provably different schema documents declare or define what feel 
like the same or similar components.

--------------------------------------
Noah Mendelsohn 
IBM Corporation
One Rogers Street
Cambridge, MA 02142
1-617-693-4036
--------------------------------------








"Michael Kay" <mike@saxonica.com>
Sent by: xmlschema-dev-request@w3.org
09/18/2006 03:40 PM
 
        To:     "'Sandy Gao'" <sandygao@ca.ibm.com>, "'Wolfgang Jeltsch'" 
<wolfgang@jeltsch.net>
        cc:     <xmlschema-dev@w3.org>, (bcc: Noah 
Mendelsohn/Cambridge/IBM)
        Subject:        RE: including a schema document multiple times


It claims to be carefully worded, but many readers would disagree! In 
particular, it relies on the concept of two schema components being 
"identical", which is nowhere defined. In fact it is explicitly undefined: 
in 3.4.6 we read "conforming implementations may disagree as to whether 
components are identical".
 
Michael Kay
http://www.saxonica.com/

From: xmlschema-dev-request@w3.org [mailto:xmlschema-dev-request@w3.org] 
On Behalf Of Sandy Gao
Sent: 18 September 2006 18:47
To: Wolfgang Jeltsch
Cc: xmlschema-dev@w3.org
Subject: Re: including a schema document multiple times


The spec is clear about multiple inclusion of the same document is OK. See 
sections 4.2.1. 

"Note: The above is carefully worded so that multiple <include>ing of the 
same schema document will not constitute a violation of clause 2 of Schema 
Properties Correct (§3.16.6), but applications are allowed, indeed 
encouraged, to avoid <include>ing the same schema document more than once 
to forestall the necessity of establishing identity component by 
component." 

It's less clear about circular inclusion, but it's generally believed that 
it's also allowed. 

Thanks,
Sandy Gao
XML Parser Development, IBM Canada
(1-905) 413-3255
sandygao@ca.ibm.com



Wolfgang Jeltsch <wolfgang@jeltsch.net> 
Sent by: xmlschema-dev-request@w3.org 
18/09/2006 12:36 PM 


To
xmlschema-dev@w3.org 
cc

Subject
including a schema document multiple times









Hello,

is it problematic to include a schema document multiple times via 
different 
paths?  For example, I might have a schema document which includes schema 
documents A, B, and C which in turn include a schema document providing 
basic 
definitions.

What about circular inclusion?

Best wishes,
Wolfgang

Received on Monday, 18 September 2006 20:19:42 UTC