Вы пробовали
<xs:import namespace="" schemaLocation="NO_NAME_SPACE_PROBLEM.xsd"/>
Интересно, что спецификация XML-схемы настоятельно рекомендует , что
<xs:import schemaLocation="NO_NAME_SPACE_PROBLEM.xsd"/>
должен импортировать NO_NAME_SPACE_PROBLEM.xsd
в "пространство имен без". Если ваша среда вместо этого импортирует его в пространство имен документа схемы, то я почти уверен, что это ошибка в вашей платформе.
update : ОК, ваше обновление говорит, что вы пытаетесь использовать <xs:include>
для ссылки на типы в другом пространстве имен. Вы не можете сделать это - <xs:include>
всегда переносит включенные элементы в то же пространство имен, что и документ родительской схемы. Если они для другого пространства имен, вы должны использовать <xs:import>
.
Если вы хотите сослаться на одно из определений элементов в импортированной схеме без пространства имен, вам нужно найти способ присвоения префикса пространству имен "без пространства имен". Если бы у него был префикс, вы могли бы обращаться к ним так:
<xs:element ref="nn:some-elem-from-NO_NAME_SPACE_PROBLEM_SCHEMA"/>
Попробуйте добавить атрибут xmlns:nn=""
в родительский документ схемы, посмотрите, работает ли он.