У меня есть классы POJO (созданные xjc с файлом XSD), необходимые для преобразования XML (с элементом (UserField), который должен присутствовать минимум 2 раза ) в объект JAXB в Mule. Но, если я даю ввод XML с присутствием UserField менее 2 раз, тогда преобразователь XMLToJAXB все еще создает свой объект, в то время как я хочу, чтобы там было какое-то исключение или ошибка. И еще одна вещь заключается в том, как я могу проверить, что UserField должен иметь значение, используя XML-схему.
Файлы XML и XSD:
userRecords.xml_____________________________________________________
<?xml version='1.0' encoding='UTF-8'?>
<Records>
<Record>
<UserField name="username">arungupta</UserField>
<UserField name="email">[email protected]</UserField>
</Record>
<Record>
<UserField name="username">RahulKumar</UserField>
<UserField name="first name">Rahul</UserField>
<UserField name="last name">Kumar</UserField>
<UserField name="age">25</UserField>
<UserField name="email">[email protected]</UserField>
</Record>
</Records>
userRecords.xsd_____________________________________________________________
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="Records">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="Record"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Record">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="UserField"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="UserField">
<xs:complexType mixed="true">
<xs:attribute name="name" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>