假设我们有以下xml架构类型definiton:
<xsd:simpleType name="StateType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="California" />
<xsd:enumeration value="Arizona" />
<xsd:enumeration value="Nevada" />
<xsd:enumeration value="Utah" />
</xsd:restriction>
</xsd:simpleType>
当您将JAXB的xjc应用于此类型时,它会生成Java Enum类型:
public enum StateType {
CALIFORNIA,
ARIZONA,
NEVADA,
UTAH;
}
我的问题是我们如何定义一个模式,当转换为Java类时,该类将包含一个可以保存上述枚举值子集的属性?请注意,它不应包含重复的枚举值。这种属性的自然选择是Set&lt; StateType&gt;,但我不知道如何编写一个会导致Set&lt; StateType&gt; Java代码中的属性。该属性也可以是List&lt; StateType&gt;如果我们可以某种方式强制列表不包含重复的条目。非常感谢您的帮助!