JAXB定制绑定

JAXB定制绑定,jaxb,customization,xjc,Jaxb,Customization,Xjc,我有下面的complextype <xsd:complexType name="cidType"> <xsd:choice> <xsd:sequence> <xsd:element name="a" type="Type_A"></xsd:element> <xsd:element name="b" type="Type_B"></xsd:element> &

我有下面的complextype

<xsd:complexType name="cidType"> 
  <xsd:choice> 
    <xsd:sequence> 
      <xsd:element name="a" type="Type_A"></xsd:element> 
      <xsd:element name="b" type="Type_B"></xsd:element> 
    </xsd:sequence> 
      <xsd:element name="b" type="Type_B"></xsd:element> 
  </xsd:choice> 
</xsd:complexType> 

当尝试为此模式生成JAXB类时,这是错误的,因为正如您所看到的,JAXB错误给我的是对元素b的重复引用:

/* *由于以下原因,您将获得此“全面”属性: *架构的两个不同部分使用字段名“b”。 */

因为它是一个行业标准的模式,所以我没有更改任何内容的自由。可能的解决办法是什么

如果我选择定制路线,我不知道如何进行,如果可能,请给我指出一个好的资源/示例。我已经用谷歌试试运气了


我确实有一个外部绑定声明来合并某些元素的数据类型,但我不确定如何使用绑定定制来解决我当前的问题

什么是标准化的?类表示还是模式?如果只对模式进行了标准化,则只要将属性序列化回正确的XML元素,就可以随意命名属性。模式已标准化,如何重命名属性并确保它们被序列化回正确的元素。?注意:元素b实际上是同一个元素,应该表示相同的值IMHO,这没有意义。好吧,您不能用这种方式使用XML模式强制两个字段具有相同的值。我想说的是,我希望在jaxb类中只有1个属性来表示“b”