2008-12-02 2 views
39

В настоящее время у меня две схемы XSD, а одна - «легкая» версия другой. Прямо сейчас у меня есть все в «легкой» версии, повторенной в «полной» схеме, но это становится болью, когда мне нужно внести изменения, и в любом случае это противоречит принципу DRY, поэтому мне было интересно, есть ли элемент который включал в схему другую схему, поэтому я могу получить «полное» наследование от «легкой» схемы, чтобы уменьшить трудности обслуживания.Могу ли я иметь одну XML-схему (XSD), которая включает в себя еще одну XML-схему?

ответ

56

Для этого есть два метода.

<xsd:include schemaLocation="pathToFile" /> следует использовать для включения файлов одного и того же пространства имен.

<xsd:import namespace="namespace" schemaLocation="pathToFile" /> следует использовать для включения файлов в другое пространство имен. Обычно вы укажете пространство имен, указанное как targetNamespace импортированной схемы.

5

Используйте элемент < include>, см., Например, here.

+0

Это было легче, чем я, хотя ... в любом случае спасибо! – 2008-12-02 03:53:59