Я новичок в XML, и у меня проблемы с проверкой XML-схемы с помощью экземпляра!
Мой XSD:
<?xml version="1.0"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="result">
<xs:complexType>
<xs:all>
<xs:element name="response">
<xs:complexType>
<xs:all>
<xs:element minOccurs="0" name="status" type="xs:string" />
<xs:element minOccurs="0" name="messages" nillable="true">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="item">
<xs:complexType>
<xs:all>
<xs:element maxOccurs="1" minOccurs="0" name="date" type="xs:string"/>
<xs:element maxOccurs="1" minOccurs="0" name="department" type="xs:string"/>
<xs:element maxOccurs="1" minOccurs="0" name="msg-from" type="xs:string"/>
<xs:element maxOccurs="1" minOccurs="0" name="reply1" type="xs:string"/>
<xs:element maxOccurs="1" minOccurs="0" name="reply2" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>
Мой XML Экземпляр:
<result xmlns:xsi="http://www.w3.org/2001/XMLSchema">
<response>
<status>No new messages</status>
<messages xsi:nil="true"/>
</response>
</result>
Когда я пытаюсь проверить экземпляр на соответствие XSD с помощью таких инструментов, как это, я м получаю следующую ошибку:
cvc-complex-type.3.2.2: Attribute 'xsi:nil' is not allowed to appear in element 'messages'.
Чего я не понимаю, потому что я уже поставил nillable="true"
для messages
элемента!
Ваша помощь будет высоко оценена! Спасибо.
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
в экземпляре XML подтверждает экземпляр XML! Но библиотека, которую я использую, не генерирует это. - person Shafiul   schedule 27.03.2014