我正在使用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>
和
<xs:schema ...blah ...>
<xs:include schemaLocation="FooBar.xsd">
<xs:complexType name="AnotherSchemaType">
<xs:sequence>
<xs:element name="foo" type="FooBarType"/>
...etc...
</xs:sequence>
</xs:complexType>
<xs:element name="AnotherSchema"/>
</xs:schema>
现在,从第二个模式开始,Castor生成Foo类型的字段_foo,它是FooBar类的子类。
为什么姓名不能成为名字?我理解这是为了避免命名冲突,但我想在我生成的类中使用FooBar类型的字段_foo。有什么想法吗?
答案 0 :(得分:0)
看起来答案取决于正在使用的Castor版本。在较新的版本中,您似乎可以添加
<elementBinding name="/complexType:AnotherSchemaType/foo">
<java-class name="FooBar"/>
</elementBinding>
到binding.xml文件,它将使用FooBar作为类。这似乎不适用于版本1.05,这是我正在使用的。由于我没有在新版本中测试上述内容,因此无法保证它能正常工作。