有3d派对xsd shemas,并且在多个匿名简单类型中都具有相同的限制。
shema.xsd
<xs:complexType name="Type1">
<xs:sequence>
<xs:element name="property1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="property2">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
在没有Shemas修改的情况下仅使用绑定创建一个枚举的方法在哪里?
当前解决方案:创建其他用于限制的简单类型,并将其通过bindings.xml
edited_shemas.xsd
<xs:complexType name="Type1">
<xs:sequence>
<xs:element name="property1" type="AdditonalType">
</xs:element>
<xs:element name="property2" type="AdditonalType">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="AdditonalType">
<xs:restriction base="xs:string">
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
</xs:restriction>
</xs:simpleType>
binding.xml
<jaxb:bindings node="./xs:simpleType[@name='AdditonalType']">
<jaxb:typesafeEnumClass name="AdditonalEnum">
<jaxb:typesafeEnumMember value="1" name="val_1" />
<jaxb:typesafeEnumMember value="2" name="val_2" />
<jaxb:typesafeEnumMember value="3" name="val_3" />
<jaxb:typesafeEnumMember value="4" name="val_3" />
</jaxb:typesafeEnumClass>
</jaxb:bindings>