RE: Is schemaLocation just a hint in schema import?

 
> "NOTE: The above is carefully worded so that multiple 
> <import>ing of the same schema document will not constitute a 
> violation of clause 2 of Schema Properties Correct (§3.15.6), 
> but applications are allowed, indeed encouraged, to avoid 
> <import>ing the same schema document more than once to 
> forestall the necessity of establishing identity component by 
> component.
> Given that the schemaLocation [attribute] is only a hint, it 
> is open to applications to ignore all but the first <import> 
> for a given namespace, regardless of the ·actual value· of 
> schemaLocation, but such a strategy risks missing useful 
> information when new schemaLocations are offered."
> 
> 
> Can anybody tell me the motivation for this note in the schema spec?
> 

I've pointed out in comments on 1.1 that if the spec really were carefully
worded, then the (non-normative) note wouldn't be needed.

The spec, I think, is saying two things:

(a) if you do two imports from the same schemaLocation (whatever "same"
means) then you should be OK; the components should only be imported once.

(b) if you do two imports from different schemaLocations (whatever
"different" means) then it's pretty much undefined what happens: the system
may import both and report any conflicts (such as the same element
declaration appearing in both), or it may import both and detect that the
two are actually identical, or it may import one and ignore the other.

Michael Kay
http://www.saxonica.com/

Received on Monday, 9 October 2006 16:04:00 UTC