tags:

views:

1592

answers:

1

I developed a binding customization file in jaxb 2.0 in JDK 1.6.0 and it worked fine.

Now I'm using jaxb 2.1.3 in JDK 1.6.0_13 and it gives me errors: Error xxx shows up in more than one properties

which is what the binding file is suppose to be handling by renaming them.

What happened between 2.0 and 2.1.3 that I need be aware of and what do I need to change. I've searched near and far and can't figure it out. Thanks so much for your help.

I'm using the binding customization file because the schema has a couple property names that would get a "catch-all" property because the field name is used by two different parts of a schema. The 2 fields are called expression and assertion

I get the following errors


parsing a schema... [ERROR] Element "assertion" shows up in more than one properties. line 649 of file:/D:/jaxb/extract-xjbfix/090403-0_901-Packet-Schema.xsd

[ERROR] The following location is relevant to the above error line 647 of file:/D:/jaxb/extract-xjbfix/090403-0_901-Packet-Schema.xsd

[ERROR] Element "expression" shows up in more than one properties. line 518 of file:/D:/jaxb/extract-xjbfix/090403-0_901-Packet-Schema.xsd

[ERROR] The following location is relevant to the above error line 516 of file:/D:/jaxb/extract-xjbfix/090403-0_901-Packet-Schema.xsd

[ERROR] Element "expression" shows up in more than one properties. line 522 of file:/D:/jaxb/extract-xjbfix/090403-0_901-Packet-Schema.xsd

[ERROR] The following location is relevant to the above error line 516 of file:/D:/jaxb/extract-xjbfix/090403-0_901-Packet-Schema.xsd

Failed to parse a schema.


my xjc command is : xjc -extension 090403-0_901-Packet-Schema.xsd -b binding.xjb

my xjb file is:

<jxb:globalBindings>
    <xjc:superClass name="com.pw.ietm.XMLExtract.IetmElement"/>
</jxb:globalBindings>

<jxb:schemaBindings>
     <jxb:package name="com.pw.ietm.XMLExtract"/>
</jxb:schemaBindings>
<jxb:bindings node="//xs:complexType[@name='expression_comtype']/xs:choice/xs:sequence[position()=1]/xs:element[@name='expression'][position()=1]">
 <jxb:property name="expressionFirst"/>
</jxb:bindings>

<jxb:bindings node="//xs:complexType[@name='expression_comtype']/xs:choice/xs:sequence[position()=1]/xs:element[@name='expression'][position()=2]">
 <jxb:property name="expressionSecond"/>
</jxb:bindings>

<jxb:bindings node="//xs:complexType[@name='expression_comtype']/xs:choice/xs:sequence[position()=2]/xs:element[@name='expression']">
 <jxb:property name="expressionAlone"/>
</jxb:bindings>
<jxb:bindings node="//xs:complexType[@name='loop-step_comtype']/xs:sequence/xs:element[@name='assertion'][position()=1]">
 <jxb:property name="assertionInitial"/>
</jxb:bindings>

<jxb:bindings node="//xs:complexType[@name='loop-step_comtype']/xs:sequence/xs:element[@name='assertion'][position()=2]">
 <jxb:property name="assertionChanging"/>
</jxb:bindings>

The schema is very large but here are the 2 assertion and expression comtype (which is where the errors point to):

A: 

Problem is actually a bug in java versions after 1.6.0 Please see Issue 642 at https://jaxb.dev.java.net/issues/show%5Fbug.cgi?id=642 Problem has been resolved but as of 8/31/09 no target date for which release the fix will be incorporated. I will continue to use 1.6.0

beakerchi
It seems to be fixed in 2.1.13; I didn't try earlier releases.
plutext