Я использую инструмент JAXB xjc для генерации некоторых файлов интерфейса Java из xsds. Я сталкиваюсь с проблемой, где я получаю тонну ошибок вида:
org.xml.sax.SAXParseException: ct-props-correct.4: Ошибка для типа 'COCT_MT110200CA.PayeeRole'. Используются повторяющиеся атрибуты с тем же именем и целевым пространством имен. Имя использования дублированного атрибута: 'nullFlavor'.
Соответствующие части схемы следующие:
<xs:complexType name="COCT_MT110200CA.Holder">
<xs:sequence>
<xs:group ref="InfrastructureRootElements"/>
<xs:element name="payeeRole" type="COCT_MT110200CA.PayeeRole" minOccurs="1" maxOccurs="1">
</xs:element>
</xs:sequence>
<xs:attributeGroup ref="InfrastructureRootAttributes"/>
<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="HLD"/>
</xs:complexType>
Где COCT_MT110200CA.PayeeRole определяется как:
<xs:complexType name="COCT_MT110200CA.PayeeRole">
<xs:sequence>
<xs:group ref="InfrastructureRootElements"/>
<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded">
</xs:element>
<xs:choice>
<xs:element name="payeePerson" type="COCT_MT110200CA.PayeePerson" nillable="true"
minOccurs="0"
maxOccurs="1">
</xs:element>
<xs:element name="payeeOrganization" type="COCT_MT110200CA.PayeeOrganization"
nillable="true"
minOccurs="0"
maxOccurs="1">
</xs:element>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="InfrastructureRootAttributes"/>
<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
<xs:attribute name="classCode" type="RoleClass" use="optional" fixed="PAYEE"/>
</xs:complexType>
Есть мысли? Я не вижу в этом ничего плохого ...