convert with JAXB (xjc) at a java bean class
java
Solution
Problem is with xmlns:xlink="http://www.w3.org/1999/xlink"
Solution: Create and use binding.xjb:
<jxb:bindings version="2.0"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema" >
<jxb:bindings schemaLocation="http://www.w3.org/1999/xlink.xsd" node="/xs:schema">
<jxb:bindings node="//xs:attributeGroup[@name='locatorAttrs']">
<jxb:bindings node=".//xs:attribute[@ref='xlink:title']">
<jxb:property name="title1"/>
</jxb:bindings>
</jxb:bindings>
<jxb:bindings node="//xs:attributeGroup[@name='arcAttrs']">
<jxb:bindings node=".//xs:attribute[@ref='xlink:title']">
<jxb:property name="title2"/>
</jxb:bindings>
</jxb:bindings>
</jxb:bindings>
</jxb:bindings>
Working ant task (build.xml and binding.xjb are in the same folder):
<xjc schema="${src.folder.xsd}\${src.file.xsd}" package="${src.package}" destdir="${src.folder}" binding="binding.xjb">
<produces dir="${src.folder}\${src.package}" includes="**/*.java" />
</xjc>
Problem
my problem is this: I have to implement a Web Feature Service server from scratch, I wanted to get from XSD precise: h**p://schemas.opengis.net/wfs/1.1.0/wfs.xsd I run the command: ``` xjc h**p://schemas.opengis.net/wfs/1.1.0/wfs.xsd [ERROR] Property "Title" is already defined. Use <jaxb:property> to resolve this conflict. line 232 of h**p://www.w3.org/1999/xlink.xsd [ERROR] The following location is relevant to the above error line 219 of h**p://www.w3.org/1999/xlink.xsd [ERROR] Property "Title" is already defined. Use <jaxb:property> to resolve this conflict. line 261 of h**p://www.w3.org/1999/xlink.xsd [ERROR] The following location is relevant to the above error line 246 of h**p://www.w3.org/1999/xlink.xsd Failed to parse a schema. ``` However, when i run: ``` xjc h**p://schemas.opengis.net/ows/1.1.0/owsGetCapabilities.xsd ``` the process is 100% successful. the fragment section of h**p://www.w3.org/1999/xlink.xsd is: ``` <xs:attributeGroup name="locatorAttrs"> <xs:attribute ref="xlink:type" fixed="locator" use="required"/> <xs:attribute ref="xlink:href" use="required"/> <xs:attribute ref="xlink:role"/> <xs:attribute ref="xlink:title"/> <xs:attribute ref="xlink:label"> <xs:annotation> <xs:documentation> label is not required, but locators have no particular XLink function if they are not labeled. </xs:documentation> </xs:annotation> </xs:attribute> </xs:attributeGroup> <xs:group name="locatorModel"> <xs:sequence> <xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:group> <xs:complexType name="locatorType"> <xs:group ref="xlink:locatorModel"/> <xs:attributeGroup ref="xlink:locatorAttrs"/> </xs:complexType> <xs:element name="arc" type="xlink:arcType" abstract="true"/> <xs:attributeGroup name="arcAttrs"> <xs:attribute ref="xlink:type" fixed="arc" use="required"/> <xs:attribute ref="xlink:arcrole"/> <xs:attribute ref="xlink:title"/> <xs:attribute ref="xlink:show"/> <xs:attribute ref="xlink:actuate"/> <xs:attribute ref="xlink:from"/> <xs:attribute ref="xlink:to"> <xs:annotation> <xs:documentation> from and to have default behavior when values are missing </xs:documentation> </xs:annotation> </xs:attribute> </xs:attributeGroup> <xs:group name="arcModel"> <xs:sequence> <xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:group> ``` What's wrong?