RE: Impact of XML on Data Modeling

> Another issue is that, if the same file is included multiple 
> times via multiple paths (e.g. A includes B which includes C, 
> and A also includes D which includes C), depending on the 
> relative paths, the Schema validator won't always realise 
> that "C" is the same file in both cases, and will issue 
> errors based on the same definitions (apparently) being 
> defined twice.  You don't see this problem if all Schema 
> files in the same directory, but I have had it when the 
> Schema files have been distributed among a hierarchy of 
> directories (for organisational purposes).  I think this 
> issue only occurs for include paths containing "..", i.e. 
> include paths which explicitly or implicitly referenc a 
> parent or ancestor directory.

The way in which schema processors establish component identity is entirely
implementation-defined, so this is a description of how it works in some
product, not how it works in the spec. I think that component identity ought
to be based on the document URI of the containing schema document (and
that's the way it works, or is intended to work, in Saxon), which should be
a bit more predictable than the behaviour you describe.

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

Received on Sunday, 3 February 2008 12:56:47 UTC