- From: Andrew Welch <andrew.j.welch@gmail.com>
- Date: Wed, 2 Sep 2009 18:17:56 +0100
- To: Simon Cox <simon.cox@jrc.ec.europa.eu>
- Cc: noah_mendelsohn@us.ibm.com, "Tsao, Scott" <scott.tsao@boeing.com>, "G. Ken Holman" <gkholman@cranesoftwrights.com>, "Henry S. Thompson" <ht@inf.ed.ac.uk>, xmlschema-dev@w3.org, ekimber <ekimber@reallysi.com>
2009/9/2 Simon Cox <simon.cox@jrc.ec.europa.eu>: > Andrew Welch wrote >> use a version attribute to distinguish the versions > > Where? Typically on the root element, but it could go anywhere that's suitable. > The issue was that elements with the same name were defined differently in > both GML 2.0 and GML 3.0, > But they had the same target namespace. The differences were subtle - > technical rather than conceptual - but real as far as a validating processor > is concerned. The XML namespace is to all practical intents and purposes the > designated identifier for 'the schema' and we had the same identifier for > different things. Chaos ensues. Between versions the content model of elements will change, but that doesn't mean you need a different namespace... Incompatible changes are actually easier than supporting backwards compatibility, instead of detecting the version and using the right xsd and corresponding parsing code, you simply reject anything that fails validation for that version. Anyway, it's interesting that you say the namespace is (to all intents ands purposes) the identifier for the schema, perhaps that's where the problem is... the namespace value itself has started to mean something, when its meant to mean nothing. Everyone seems to have different opinions on this, and I think Ive asked in the past if anyone has a best practices guide which didnt attract too many confident replies, but at the moment for me its simply "namespace that won't ever change, version attribute" : ) -- Andrew Welch http://andrewjwelch.com Kernow: http://kernowforsaxon.sf.net/
Received on Wednesday, 2 September 2009 17:18:37 UTC