同じメンバーに対して同じ complexType 定義を含む包括的な XSD がいくつかあります。各 XSD には独自の名前空間があります。したがってxjc
、xsds で実行すると、各名前空間で同じ complexType クラスが生成されます。
これは、非常に紛らわしく、処理が複雑になります。XSD の 1 つに対して complexType を生成せず、他の xsd によって既に生成されているクラスを使用するよう XJC に指示するバインディングを作成したいと考えています。
私は成功せずに次のことを試しました:
<jaxb:bindings schemaLocation="../xsd/sandboxlist.xsd">
<jaxb:bindings node="/xsd:schema">
<jaxb:schemaBindings>
<jaxb:package name="com.domain.schema.model.v4_0.sandboxlist"/>
</jaxb:schemaBindings>
</jaxb:bindings>
<jaxb:bindings node="//xsd:complexType[@name='SandboxType']">
<jaxb:class name="com.domain.schema.model.v4_0.sandboxinfo.SandboxType" />
</jaxb:bindings>
</jaxb:bindings>
XJC にSandboxType
、sandboxlist.xsd が実際にはクラスcom.domain.schema.model.v4_0.sandboxinfo.SandboxType
(別の XSD からのもの) である必要があることを伝えたいと考えています。
これの適切な構文は何ですか?