【发布时间】:2011-11-08 09:07:24
【问题描述】:
以下架构应该在Value 类中生成两个原始int 字段,而是为元素 生成原始int 和为属性生成java.lang.Integer 。
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.com/test" xmlns:test="http://www.example.com/test"
elementFormDefault="qualified">
<xsd:element name="values">
<xsd:complexType>
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="test:value" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="value">
<xsd:complexType>
<xsd:sequence>
<!-- Is generated as primitive int -->
<xsd:element name="element" type="xsd:int" />
</xsd:sequence>
<!-- Is generated as java.lang.Integer -->
<xsd:attribute name="attribute" type="xsd:int" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
我已经查看了 JAXB documentation 中的任何内容,即属性和元素的生成方式可能不同,但一无所获。
谁能解释一下?是否有解决方法使属性生成为原始int?
【问题讨论】:
标签: xsd jaxb code-generation xjc