2012-02-24 50 views
0

我有一個需求,即需要將xml架構中的不同名稱空間映射到不同的包。包名稱應該與名稱空間不同。因此,如果在我的xml架構中定義了2個名稱空間,那麼我希望它們映射到包(例如com.myexample.fn1com.myexample.simpleapp),即http://sampl.com/firtNamespacehttp://sampl.com/secondnamesapce如何將xml架構中的不同名稱空間映射到不同的類

我已經讀過,這可以通過jaxb綁定文件來實現,但是我無法得到任何具體的例子。

謝謝。

回答

0

您可以使用pakcage-info.java文件中的@XmlSchema註釋來定義每個包的xml命名空間。

+0

好的。但是如果我沒有生成類,我該怎麼辦。我只是一個XML模式文件,我使用像xjc這樣的工具來生成類。所以,我想在類生成級別定義名稱空間包映射。 – Gaurav 2012-02-24 19:06:39

+0

閱讀其他答案,使用jaxb綁定文件。 – tom 2012-02-27 17:36:21

0

這可以使用外部JAXB綁定文件來完成。這裏是oracle JAXB文檔的網址:JaXb docs

0

我使用Maven 2 JAXB 2.x插件,你可以找到here。該插件基於XSD文件創建JAXB類。如果你的WSDL由兩個不同的命名空間模式(也就是你可以提取兩個XSD文件)組成,那麼這些類將根據命名空間在兩個不同的包中生成它們。使用該插件,您還可以強制在同一個目錄中生成兩個模式類,指出目標軟件包,但這不是您所關心的並且不使用該選項。

相關問題