Java 如何绕过Castor的默认行为为complexType元素创建包装器类?

Java 如何绕过Castor的默认行为为complexType元素创建包装器类?,java,xsd,castor,Java,Xsd,Castor,我正在使用Castor XML代码生成器。如果有两个模式的complexTypes定义如下: <xs:schema ...blah...> <xs:complexType name="FooBarType"> <xs:sequence> <xs:element name="meh"/> ...etc... </xs:sequence> </xs:complexType> &

我正在使用Castor XML代码生成器。如果有两个模式的complexTypes定义如下:

<xs:schema ...blah...>
  <xs:complexType name="FooBarType">
    <xs:sequence>
      <xs:element name="meh"/>
      ...etc...
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FooBar"/>
</xs:schema>

现在,Castor从第二个模式生成foo类型的字段_foo,它是FooBar类的一个子类


为什么名字不能只是一个名字?我知道这是为了避免命名冲突,但我希望在生成的类中有一个FooBar类型的字段_foo。有什么想法吗?

答案似乎取决于使用的Castor版本。在较新的版本中,似乎可以添加

<elementBinding name="/complexType:AnotherSchemaType/foo">
  <java-class name="FooBar"/>
</elementBinding>
到binding.xml文件,它将使用FooBar作为类。不过,这在1.05版中似乎不起作用,这正是我正在使用的。由于我没有在较新的版本中测试上述内容,我无法保证它能正常工作

<elementBinding name="/complexType:AnotherSchemaType/foo">
  <java-class name="FooBar"/>
</elementBinding>