В настоящее время у меня две схемы XSD, а одна - "легкая" версия другой. Прямо сейчас у меня есть все в "легкой" версии, повторенной в "полной" схеме, но это становится болью, когда мне нужно внести изменения, и в любом случае это противоречит принципу DRY, поэтому мне было интересно, есть ли элемент который служил включением другой схемы в схему, поэтому я могу иметь свой "полный" наследовать от "легкой" схемы, чтобы уменьшить трудности обслуживания.
Могу ли я, чтобы одна XML-схема (XSD) включала еще одну XML-схему?
Ответ 1
Для этого есть два метода.
<xsd:include schemaLocation="pathToFile" />
следует использовать для включения файлов одного и того же пространства имен.
<xsd:import namespace="namespace" schemaLocation="pathToFile" />
следует использовать для включения файлов в другое пространство имен. Обычно вы укажете пространство имен, указанное как targetNamespace импортированной схемы.
Ответ 2
Используйте элемент <include> , см., например, здесь.