Могу ли я включить в одну XML-схему (XSD) другую XML-схему?

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


person Robert Gould    schedule 02.12.2008    source источник


Ответы (2)


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

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

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

person jdmichal    schedule 28.01.2009

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

person David Norman    schedule 02.12.2008