【发布时间】:2014-07-30 05:49:19
【问题描述】:
因此,如果您想从 Schema 定义 Java 类,则必须为该 Java 类创建一个复杂类型,然后必须为该类型声明一个 XML 元素。
<xs:complexType name="PersonType">
<xs:sequence>
<xs:element name="age" type="xs:int"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="occupation" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="Person" type="myxml.PersonType"/>
我的问题是,为什么 JAXB 区分 complexType 和 element? 它似乎只创建样板代码,您必须名义上声明一个类类型两次。
例如,这看起来更简单(当然,它不会编译):
<xs:element name="Person">
<xs:sequence>
<xs:element name="age" type="xs:int"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="occupation" type="xs:string"/>
</xs:sequence>
</xs:element>
有人可以指出 JAXB 这方面背后的设计原理吗?
【问题讨论】: