我一直在使用XMLBeans从XSD文件生成Java代码。现在,此XSD文件添加了一个名称与该超级元素相同的新元素。参见缩写示例。现在,元素字段具有一个与现有value属性分开的Value数组。
<xs:element name="Field">
<xs:complexType>
<xs:sequence>
<xs:sequence minOccurs="0" maxOccurs="1">...
<xs:element ref="Value" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:sequence>
<xs:attribute name="value" type="xs:string"/>...
自该更新以来,代码生成为名为setValue2 / getValue2的属性生成了一个不同名称的setter和getter。在设置setValue / getValue之前。 Value元素的setter和getter称为setValueArray / getValueArray,因此没有真正的冲突,但是我想生成仍然遵循XMLBeans apache页面上描述的合理性:“当发生名称冲突时,生成的类型将具有带有数字的名称例如“ TestType2”。
我想将Value属性的getter和setter名称改回之前的名称,这样我就不必更改Java代码了。如何使用xsdconfig或任何其他方式实现此目的?问题在于,元素值还存在于XSD中的其他元素中,因此我无法按照xmlBeans / xmlconfig Wiki页面上的建议进行简单的名称更改。我正在寻找一种在name元素中包含路径的方法,请参见下面的示例。
<xb:qname name="na:Field/Value" javaname="Values"/>
当它是Field的元素时,我只想更改元素Value的名称。