- From: Jeni Tennison <jeni@jenitennison.com>
- Date: Tue, 24 Sep 2002 10:06:11 +0100
- To: Ryan.Barr@ejgallo.com
- Cc: xmlschema-dev@w3.org
Hi Ryan, > My question is simply this, is importing the files > OAGIS/../Personnel.xsd and OAGIS/../Get.xsd into the > http://www.openapplications.org/oagis namespace a violation of the > spec? It doesn't seem to be, if anyone has a reference in the spec > of were it is stated that this is allowed that would be great. I don't think that it's in violation of the spec, but I don't think that it will work. The same thing applies here as it does when you specify multiple schema locations for the same namespace using xsi:schemaLocation in the instance document. If a schema validator is told that *the* schema for a certain namespace is at a particular place, and you later tell it that *the* schema for a certain namespace is in another location, it will ignore the second hint if it's managed to find a schema from the first -- as far as the validator's concerned, it already has *the* schema for that namespace, so it doesn't need another one. In your case, you need to build an "adapter schema" in the namespace that you want to import which *includes* the two schemas: <xs:schema targetNamespace="http://www.openapplications.org/oagis"> <xs:include schemaLocation="http://xml/OAGIS/Resources/Nouns/Personnel.xsd"/> <xs:include schemaLocation="http://xml/OAGIS/Resources/Verbs/Get.xsd"/> </xs:schema> You can then *import* this single schema into your own schema: <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:import namespace="http://www.openapplications.org/oagis" schemaLocation="oagis.xsd"/> <xs:include schemaLocation="http://xml/Nouns/Personnel.xsd"/> </xs:schema> Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/
Received on Tuesday, 24 September 2002 05:13:36 UTC