我正在使用tutorial here來了解JAXB。瞭解JAXB @XmlRootElement註釋
當作家來創建文檔的根源,筆者開始如下:
//This statement means that class "Bookstore.java" is the root-element of our example
@XmlRootElement(namespace = "de.vogella.xml.jaxb.model")
public class Bookstore {
...
}
雖然我將手動生成我的課,而不是讓Eclipse中做到這一點,我會提供一個XSD
與我的jar文件(不是打包在內部,而是包含在包含jar文件的文件夾中),這樣當我的應用程序啓動時,它將驗證XML文檔是否被篡改。
那麼,在XSD文件中,targetNamespace
將爲de.vogella.xml.jaxb.model
,因爲它在上面被聲明爲@XmlRootElement(namespace = "de.vogella.xml.jaxb.model")
?
啊元素我明白你在說什麼....一包含各種XML-to-Java類的包,我必須創建類'package-info'並根據需要修改上述內容? **涼!**。我會研究你說的**但是**我原來的問題呢?:)我的推論是否正確 –
@LittleChild - 您將得到一個XML模式,其中有'de.vogella.xml.jaxb.model'作爲定義'bookstore'元素的目標名稱空間。問題在於該類不會繼承'@ XmlRootElement'註釋中指定的名稱空間,因此它們將生成另一個XML模式。 –
基本上是因爲'elementFormDefault'沒有設置爲'qualified'?哦,模式也將被手寫。 –