我有一個xsd其中有幾個孩子XSD嵌入(使用「xsd:include」。)在它(但每個xsd屬於相同的命名空間)。我被要求在獨立的子包(每個孩子XSD一個子包)而不是一個包中生成jaxb類。我們可以爲多個包中的一組xsd生成JAXB類嗎?
據我到目前爲止閱讀,我們可以添加jaxb:schemaBindings
這些單獨的XSD並生成單獨的包中的類,如果只是這些的XSD屬於不同的命名空間。
但在我的情況下,我想要做的是在幾個子包中創建屬於相同名稱空間的一組xsds的類。你能幫我用JAXB做這個嗎?
編輯:我已經加入多一點說明我的問題,以澄清它多一點。
我所有的XSD都有以下標題。因此同名空間。
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:srm="http://www.mycompany.com/srm/"
targetNamespace="http://www.mycompany.com/srm/" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0" elementFormDefault="qualified"
attributeFormDefault="unqualified" version="1.0">
假設我的模式文件名是A.xsd,B.xsd和C.xsd。
在C.xsd中,我已經用上面提到的頭文件定義了一些元素(字符串類型)。
在B.xsd中,我已經使用「xsd:include」標籤包含C.xsd,然後使用C.xsd中定義的複雜類型定義了complexType定義(具有與上面提到的相同的標頭)
在A.xsd中,我已經使用「xsd:include」標籤包含了B.xsd,然後使用B.xsd中定義的複雜類型定義了complexType定義(具有與上面提到的相同的標頭)
我想生成JAXB類,就像我在下面提到的那樣。
有關A.xsd的JAXB類以產生com.generate.packageA包。
與B.xsd相關的JAXB類在com.generate.packageB包中生成。
與C.xsd相關的JAXB類在com.generate.packageC包中生成。
你有沒有找到一個解決這個?我試圖實現類似的東西,並希望有一個解決方案 – indybee