[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: XML Schemas: Best Practices ? Versioning
- From: Michael Brennan <Michael_Brennan@allegis.com>
- To: "'Tony.Coates@reuters.com'" <Tony.Coates@reuters.com>, email@example.com
- Date: Fri, 07 Sep 2001 13:02:00 -0700
> From: Tony.Coates@reuters.com [mailto:Tony.Coates@reuters.com]
> Once again, too much emphasis on the belief that everything
> should work even if there is no "schemaLocation" given. I
> really believe that taking this view, which does not seem to
> be the view of the W3C people I've talked to, will just lead
> to more complication than is necessary.
I strongly disagree with this. Building a distributed web architecture that
relies upon explicit specification of system paths to schemas in instance
documents that may be exchanged among parties over the internet leads to
more complication than is necessary. This approach is fraught with problems.
Quite apart from that, private conversations you have had with W3C people
are irrelevant. Implementors of schema processors have to rely upon the
published specifications. They cannot take into account private
conversations to which they are not privy. I have serious problems with
people claiming that private conversations with W3C members are somehow more
authoritative than the published specifications.
The XML Schema specifications are quite explicit on this matter. The
schemaLocation attribute is optional. Quite apart from that, it is only a
hint to help a processor to locate the schema. It is not authoritative even
if it is present. That is quite clearly stated in the section on "how schema
definitions are located on the web"
(http://www.w3.org/TR/xmlschema-1/#schema-loc). To suggest that it is
appropriate to keep the same namespace URI, but change schemaLocation when a
schema changes strikes me as a an extremely poorly thought out bad practice.
It is the namespace URI that is authoritative, here; not the schemaLocation
hint. XML Schema's discussion of names and symbol spaces
(http://www.w3.org/TR/xmlschema-1/#concepts-nameSymbolSpaces) make that
quite clear. In terms of XML Schema, a namespace is a symbol space. Reusing
the same namespace URI for multiple symbol spaces seems to me to clearly
violate the intent of XML Schema's use of namespaces. I would regard the
practice of reusing the same namespace URI for different schemas, and
differentiating between them in instance documents purely by the
schemaLocation attribute, to be an extremely bad practice.