Подтвердить что ты не робот

Могу ли я, чтобы одна XML-схема (XSD) включала еще одну XML-схему?

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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