Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.2
-
None
Description
When a process relies on a lot of different schemas it oftens happens that 2 different schema files get imported under the same namespace from two different locations:
<xs:import namespace="urn:SMPTE:Groups:MXF" schemaLocation="../groups/s377m_packs.xsd"/>
<xs:import namespace="urn:SMPTE:Groups:MXF" schemaLocation="./s377m_metadata.xsd"/>
Depending on the order of loading Xerces ignores one of the imports as it already know the namespace. Remember in the XSD spec the schema location is just a hint, so parsers discriminate schemas based on the namespace (which also gives some performance improvements as stuff is cached). Strictly, such schemas are none valid but somehow users fail to see it that way.