Проблемы с XML-схемой Nillable

Я новичок в 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 элемента!

Ваша помощь будет высоко оценена! Спасибо.


person Shafiul    schedule 27.03.2014    source источник
comment
Я понял, что размещение xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" в экземпляре XML подтверждает экземпляр XML! Но библиотека, которую я использую, не генерирует это.   -  person Shafiul    schedule 27.03.2014
comment
Да, вы ошиблись пространством имен. Пожалуйста, ответьте на свой вопрос и отметьте принятый ответ.   -  person Michael Kay    schedule 27.03.2014


Ответы (1)


Я понял, что размещение xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" в экземпляре XML подтверждает экземпляр XML!

person Shafiul    schedule 27.03.2014