[英]JAXB: how to specify that a binding rule that a complexType is generated by a different XSD?
我有幾個全面的XSD,其中包括針對同一成員的相同complexType定義。 每個XSD都有自己的名稱空間。 因此,當我在xsds上運行xjc
時,我會在每個命名空間中生成相同的complexType類。
最終導致處理起來極為混亂和復雜。 我想創建一個綁定,該綁定告訴XJC不要為其中一個XSD生成complexType,而是使用另一個xsd已經生成的類。
我已經嘗試了以下方法,但均未成功:
<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
中的SandboxType實際上應該是com.domain.schema.model.v4_0.sandboxinfo.SandboxType
類(來自不同的XSD)。
正確的語法是什么?
您可以通過jaxb:class/@ref
:
<jaxb:class ref="com.domain.schema.model.v4_0.sandboxinfo.SandboxType" />
但是,最好使用情節 。 使用-episode
CLI參數生成,然后將JAR添加到xjc
命令行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.