1
我有幾個全面的XSD包含相同成員的相同complexType定義。每個XSD都有自己的名稱空間。所以當我在xsds上運行xjc
時,我得到了在每個命名空間中生成的相同complexType類。JAXB:如何指定由不同的XSD生成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
在sandboxlist.xsd實際上應該是com.domain.schema.model.v4_0.sandboxinfo.SandboxType
類(從不同的XSD推出)。
這是什麼適當的語法?
謝謝!我終於偶然在另一篇文章中偶然發現了ref屬性。很遺憾,綁定文件在任何地方都沒有更好的文檔記錄(或者至少我可以輕鬆找到!)。但是我對'episodes'很感興趣,並且會深入研究。但是,我遇到的問題是SandboxType在兩個XSD中都有定義,因此從我的快速理解中,我不認爲這些情節會有所幫助。如果我的理解錯誤,請糾正我。 –
下面是更多情節:http://stackoverflow.com/questions/9756185/what-is-an-episode-file – lexicore
如果你的類型是在兩個模式中定義,那麼不,情節不會有太大的幫助。但我認爲你不能將兩個不同的複雜類型綁定到同一個類上。我猜會有命名空間衝突。 – lexicore