- Как я понимаю, пространство имен в XML (и) XSD используются для смягчения возможной неоднозначности элементов и атрибутов ссылки.
- атрибут из целевого пространства XML-схемы для specifiying в пространства имен, что элементы, определенные в файле (или всех внутри элемента, который имеет TargetNamespace) соответствуют. Этот применяется только к элементам, «объявленным» в этом контексте (которые имеют их имя, объявленное в атрибуте «имя»).
- Итак, если я объявляю целевое пространство имен в моей схеме, каждый экземпляр, который я проверяю против него, должен использовать это пространство имен перед любым элементом или атрибутом, объявленным в Схеме, или объявлять его как пространство имен по умолчанию, чтобы избавить меня от необходимости предшествовать каждому типа из этой Схемы с ним.
Если какой-либо из этого неверно, обязательно поправьте меня.Не удается проверить XML Против XSD с TargetNamespace, когда XSD имеет ComplexTypes
Что сводит меня с ума, вот почему не так:
<?xml version="1.0" encoding="UTF-8"?>
<responsabilities xmlns="http://www.library.org">
<responsability>uno</responsability>
<responsability>dos</responsability>
<responsability>tres</responsability>
</responsabilities>
... проверяет против этого:
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://www.library.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:bpd="http://www.library.org" >
<element name="responsabilities" type="bpd:responsabilitiesType"/>
<complexType name="responsabilitiesType">
<sequence>
<element maxOccurs="unbounded" name="responsability" type="string" />
</sequence>
</complexType>
</schema>
Он показывает эту ошибку:
The element 'responsabilities' in namespace ' http://www.library.org ' has invalid child element 'responsability' in namespace ' http://www.library.org '. List of possible elements expected: 'responsability'. Line: 1 Column:90
I проверенный против SimpleType, используя ту же схему пространства имен, и не имел никаких проблем.
Спасибо.