首页 > 解决方案 > 使用联合的 jaxb 绑定 simpleType 不会创建枚举

问题描述

我有以下架构,我想创建一个枚举类

<xs:simpleType name="TopicValuesType">
    <xs:union memberTypes="xs:string">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="APPLE"/>
                <xs:enumeration value="BANANA"/>
                <xs:enumeration value="ORANGE"/>
                <xs:enumeration value="#"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:union>
</xs:simpleType>
<xs:complexType name="TopicType">
    <xs:attribute name="name" type="TopicValuesType" use="required"/>
</xs:complexType>

我试图创建一个绑定类,但它不起作用。

<bindings schemaLocation="MySchema.xsd">
        <globalBindings typesafeEnumBase="xs:string" typesafeEnumMemberName="generateName" />
 </bindings>

我读过这篇文章XJC does not generate enum inside xs:union不可能创建枚举。

有没有其他方法可以从这个模式中创建枚举?不幸的是,我无法编辑架构,因为它来自第三方。

我正在使用 maven jaxb2

 <groupId>org.jvnet.jaxb2.maven2</groupId>
 <artifactId>maven-jaxb2-plugin</artifactId>
 <version>0.14.0</version>

标签: bindingxsdjaxbmaven-jaxb2-plugin

解决方案


推荐阅读