使用XML方案中的字段创建枚举
我需要这个的等价物:使用XML方案中的字段创建枚举,xml,jaxb,enumeration,Xml,Jaxb,Enumeration,我需要这个的等价物: public Enum myEnum { A(1), B(2), C(3) } 在XML模式中,如果可能的话。我知道如何创建简单枚举: <xsd:simpleType name="myEnum"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="A"></xsd:enumeration> <xsd
public Enum myEnum {
A(1),
B(2),
C(3)
}
在XML模式中,如果可能的话。我知道如何创建简单枚举:
<xsd:simpleType name="myEnum">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="A"></xsd:enumeration>
<xsd:enumeration value="B"></xsd:enumeration>
<xsd:enumeration value="C"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
但对于第一个,我不知道
谢谢。如果您使用maven插件
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
谢谢你的回答。不幸的是,我需要一个整数作为值,所以“1”不适合我。另外,我希望避免使用XJC和额外的绑定文件。我想在我的xsd中加入一些类似于“联合”的东西,但我不确定它是否能生成我想要的东西。
<xsd:simpleType name="myEnum">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="1"></xsd:enumeration>
<xsd:enumeration value="2"></xsd:enumeration>
<xsd:enumeration value="3"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
<bindings node="//xs:simpleType[@name='myEnum']/xs:restriction/xs:enumeration[@value='1']">
<typesafeEnumMember name="A" />
</bindings>
<bindings node="//xs:simpleType[@name='myEnum']/xs:restriction/xs:enumeration[@value='2']">
<typesafeEnumMember name="B" />
</bindings>
<bindings node="//xs:simpleType[@name='myEnum']/xs:restriction/xs:enumeration[@value='3']">
<typesafeEnumMember name="C" />
</bindings>
@XmlEnum
public enum MyEnum{
@XmlEnumValue("1")
A("1"),
@XmlEnumValue("2")
B("2"),
@XmlEnumValue("3")
C("3");
private final String value;
}