我在一个命名空间中定义了一个 simpleType。
我将在另一个命名空间中使用这个 simpleType。到目前为止还可以。但是 JaxB 会在每个包中生成 simpleType 并使用它。我期望并且只需要一个全局 simpleType 定义。
示例:common.xsd(这里是我的 simpleType)-> package.common.MyEnum account.xsd -> package.account.SomeMeComplexType + package.account.MyEnum
我想要: common.xsd -> package.common.MyEnum account.xsd -> package.account.SomeMeComplexType + 对 package.common.MyEnum 的引用
common.xsd:
<xs:simpleType name="barringScope">
<xs:restriction base="xs:long">
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
</xs:restriction>
</xs:simpleType>
绑定.xjb:
<jxb:bindings version="2.1" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<jxb:bindings schemaLocation="common.xsd">
<jxb:bindings node="xsd:simpleType[@name='barringScope']">
<jxb:typesafeEnumClass>
<jxb:typesafeEnumMember value="1" name="one"/>
<jxb:typesafeEnumMember value="2" name="two"/>
<jxb:typesafeEnumMember value="3" name="three"/>
</jxb:typesafeEnumClass>
</jxb:bindings>
</jxb:bindings>
</jxb:bindings>