Tome los siguientes servicios por XSD simplificada:ayuda por favor: xjc lanza "Dos declaraciones causan una colisión en la clase ObjectFactory"
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="com.acme" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Widget">
<xs:complexType>
<xs:sequence>
<xs:element
minOccurs="0" name="color" nillable="true" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="WidgetColor" type="xs:string" />
</xs:schema>
A continuación, intente lo siguiente:
xjc test.xsd
Usted debe siempre tener la siguiente excepción:
parsing a schema...
compiling a schema...
[ERROR] Two declarations cause a collision in the ObjectFactory class.
line 11 of file:/C:/test.xsd
[ERROR] (Related to above error) This is the other declaration.
line 7 of file:/C:/test.xsd
Failed to produce code.
cuenta de que hay un nombre de elemento "Widget "que es un ComplexType y tiene elementos llamados" color ". También hay, en el mismo nivel que el elemento "Widget", un elemento simple llamado "WidgetColor".
Lo que es más sorprendente es que si quita el atributo minOcurrencias = "0" O que quita el atributo nillable = "true" de la secuencia de elemento de "color", xjc compila el esquema exitosamente.
¿Alguien ha visto este problema o puede sugerir una solución?
Gracias,
Mike.