- From: <John.Hockaday@ga.gov.au>
- Date: Wed, 4 May 2005 17:16:23 +1000
- To: <xmlschema-dev@w3.org>, <":www-xml-schema-comments"@w3.org>
Hi, I have a few concerns about versions of XML Schemas and access to them via namespaces. I think that we can all agree that one of the great things about XML and the associated Schema Languages or eXtensible Schema Definitions (XSD) is that the XSD can be used to validate an XML document instance. That is, if someone says that this XML document instance is valid against a particular standard the validity of that XML document can be *proven* by validation against the XSD identified in the XML document instance. Otherwise, one has to take someones word that the XML is valid. I have dealt a lot with PUBLIC identifiers in Document Type Definitions (DTD). XML document instances use the PUBLIC identifier in the "DOCTYPE" declaration to determine which DTD should be used to validate this XML document instance. The URI in the DOCTYPE declaration is to help locate the DTD if there isn't one in one's local OASIS Catalog file. I use this method to validate about 40,000 XML document instances every quarter of a year and it is very effective. If someone has written a new DTD or a new version of the same DTD to which their XML document instances refer I can determine this by the new PUBLIC identifier. Versions are part of the PUBLIC identifier and hence it will be different to the list of PUBLIC identifiers that I have in my OASIS Catalog file. I can then look for the new DTD, add it to my file system and reference that local copy in my OASIS Catalog file. No changes are made to the DTDs unless they are reflected in the PUBLIC identifier. That is, the PUBLIC identifier is *always* unique even between different versions of the same DTD. I expect that document instances using W3C XML Schemas will use a "namespace" declaration to identify which XML Schema should be used to validate that document instance. The problem that I see with the namespace it that a URI is the unique identifier. There is no PUBLIC identifier. As we have all probably experienced with old bookmarks, the content at URLs change a lot. If an XML Schema's version is not part of the URI and a new version of that XML Schema is made then it is likely that this will *not* be reflected in the URI and hence the namespace. This means that if someone downloads that new version of the XML Schema they may find that all of the 40,000 XML document instances are now invalid whereas I, relying on my local copy of the XML Schema and unaware of the new version will disagree with that other person's findings. This is a major dilemma. How can changes to the XML Schemas be *guaranteed* to show up in the namespace's URI? John Hockaday Geoscience Australia GPO Box 378 Canberra ACT 2601 (02) 6249 9735 http://www.ga.gov.au/ john.hockaday\@ga.gov.au
Received on Wednesday, 4 May 2005 07:16:41 UTC