如果我们这样编写简单的xsd:
<xs:element name="myChoice" >
<xs:complexType>
<xs:choice>
<xs:element name="choice1" type="xs:string"/>
<xs:element name="choice2" type="xs:string"/>
</xs:choice>
</xs:complexType>
</xs:element>
使用xjc工具,我们可以生成带有两个String变量的Java类MyChoice:choice1和choice2。
但是我更喜欢先编写Java代码并使用jaxb生成xsd文件。是否可以在java类中具有两个String变量,并使用jaxb注释生成一个 xsd选择,就像上面的代码一样?
我知道可以通过使用像这样的jaxb注释来生成xsd选择:
@XmlElements(value = {
@XmlElement(name="choice1", type=String.class),
@XmlElement(name="choice2", type=String.class)
})
private String choice;
但这不是我想要的,因为我们不知道'choice'是否包含choice1或choice2的值。
是否可以通过使用jaxb注释或其他方式来做到这一点? 预先感谢!