1

我在一个命名空间中定义了一个 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>
4

0 回答 0