Sunday, March 27, 2011

Can I have one XML-Schema (XSD) include another XML-Schema?

I currently have two XSD schemas and one is a "light" version of the other. Right now I have everything in the "light" version repeated in the "complete" schema, but this becomes a pain when I need to make a change, and it goes against the DRY principle anyways, so I was wondering if there was an element that served to include another schema into a schema, so I can have my "complete" inherit from the "light" schema to reduce maintenance hurdles.

Thanks

From stackoverflow
  • Use the <include> element, see for example here.

    Robert Gould : That was easier than I though... anyways thanks!
  • There are two methods for this.

    <xsd:include schemaLocation="pathToFile"> should be used for including files of the same namespace.

    <xsd:import namespace="namespace" schemaLocation="pathToFile"> should be used for include files in a different namespace. Usually you will specify the namespace given as the targetNamespace of the imported schema.

0 comments:

Post a Comment