Ошибка говорит вам именно о проблеме:
Один из 'ref' или 'name' должен присутствовать в объявлении локального элемента.
Так что для
<xsd:element xmlns:ns0="http://NamespaceTest.com/balisesXrm"
ns0:ref="balisesXrmType"/>
удалить ns0
из @ns0:ref
<xsd:element ref="balisesXrmType"/>
и теперь у вас будет атрибут @ref
, так как ошибка указывает, что вы пропали без вести. Вы не предоставили полный MCVE, но, скорее всего, это не так. Обычно указанный элемент не имеет суффикса Type
, поэтому, возможно, вместо этого вы имеете в виду
<xsd:element ref="balisesXrm"/>
обратите внимание, что для ссылки на balisesXrm
в другом пространстве имен, объявите префикс пространства имен для этого пространства имен, xmlns:ns0="http://NamespaceTest.com/balisesXrm"
, локально или лучше, на корневом уровне, как вам, вероятно, понадобится в другом месте, а затем используйте его на @ref
атрибут значение , а не имя :
<xsd:element ref="ns0:balisesXrm"/>
или
<xsd:element name="balisesXrm" type="ns0:balisesXrmType"/>
Слишком много других проблем с вашим XSD для решения в одном вопросе, но этот ответ, по крайней мере, позволит вам преодолеть текущую проблему.