У меня есть следующий XSD, который я использовал для создания объектов JAXB
<xs:complexType name="packageType">
<xs:sequence>
<xs:element ref="package" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dependencies" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:NMTOKEN" use="required"/>
</xs:complexType>
Теперь, если я получу XML
- нет зависимость тег
- пустой тег зависимостей , т.е.
Пример XML
<package id="FA33" required="false" empty="false">
<dependencies />
</package>
В приведенном выше примере, если я удалю пустой тег «зависимости», JAXBвыдает ошибку «неожиданный конец пакета».
Поскольку minOccours существует, оба эти сценария не должны иметь значения.Но в моем случае JAXB не может демонтировать данный xml в case1 , т. Е. Если нет тега зависимости.Если есть пустой тег зависимостей, то он работает нормально.
Это ожидаемое поведение или что-то не так?
PS: я использую Jaxb 1.3