Я сопоставляю схему HL7 с домашней схемой. Теперь моя схема выглядит так:
<xs:element name="Patienten">
<xs:complexType>
<xs:sequence>
<xs:element name="Patient">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="ContactNummer" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="Voornaam" type="xs:string" />
<xs:element minOccurs="0" name="Naam" type="xs:string" />
<xs:element minOccurs="0" name="Plaats" type="xs:string" />
<xs:element minOccurs="0" name="Straat" type="xs:string" />
<xs:element minOccurs="0" name="Campus" type="xs:string" />
<xs:element minOccurs="0" name="Kamer" type="xs:string" />
<xs:element minOccurs="0" name="Bed" type="xs:string" />
<xs:element minOccurs="0" name="Ontslagen" type="xs:string" />
<xs:element minOccurs="0" name="CampusCode" type="xs:string" />
<xs:element minOccurs="0" name="TelefoonCode" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
Когда я отображаю элементы из своей схемы HL7 и когда я использую тестовый файл, я получаю сообщение об ошибке: «Элемент Patienten в пространстве имен blabla является неполным. Список возможных элементов: Patient».
Я заметил, что мой тестовый файл не заполняет элементы "straat" и "plaats". Если я удаляю сопоставления ссылок этих двух элементов, карта работает нормально. Но мне они явно нужны. Если я установлю элемент Patient Propertie minOccurs = "0", тогда проверка будет успешной, но я получу пустой XML:
<ns0:Patienten xmlns:ns0="http://nextel.zna.be/ZNA_Nextel_Patient.xsd" />
Если я удаляю элемент «Пациент» и просто использую другие элементы в качестве подэлементов «Пациент», то карта работает нормально! Но мне нужен подкорень "Пациент". Я играл с min и max Occurs, потому что заметил, что они имеют значение, но я все еще не дошел до своего решения. Если я использую тестовый пример, он работает нормально, поэтому я не понимаю, почему он не работает ...
У кого-нибудь есть идеи или похожие проблемы?