我在 XSD 架构中有一个字段:
<xs:element name="magicField">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:totalDigits value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
在java类中生成了一个字段:
int magicField;
但是随后,xsd 架构已更改为:
<xs:element name="magicField">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="int_code">
<xs:totalDigits value="8"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
其中“int_code”:
<xs:complexType name="int_code">
<xs:simpleContent>
<xs:extension base="xs:positiveInteger">
<xs:attribute name="name"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
JAXB 生成以下代码:
MagicField magicField;
和 MagicField.java 附加。
但我仍然只需要
int magicField;
在生成的代码中。
根本不会使用属性“名称”。
我无法更改架构,我的方式只是绑定文件(xjb)。
我应该如何创建绑定以重新映射“int_code”类型并将“magicField”作为 simpleType(int
在代码中)而不是 complexType(magicField
在代码中)?
据我了解,我还需要一个自定义 XmlAdapter,而不仅仅是绑定规则。
提前致谢。