2011-05-18 68 views
10

我使用JDO和與jdoconfig.xml驗證jdoconfig與不正確的URL

但是無論我找到jdoconfig.xml它指出http://java.sun.com/xml/ns/jdo/jdoconfig應該用於驗證文件配置持久性管理。

<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig"> 
etc 

此URL指向一個不存在的文件和我的XML驗證報告錯誤。 甚至使用這個的目的是什麼?我們能否相信網址不會改變,我們所有的xml文件都會突然停止驗證?

有誰知道新的網址?

回答

25

該xmlns不是一個真正的文件/目錄,更多的命名空間,所以不應該存在!該版本被附加到獲得真正的XSD文件,即http://java.sun.com/xml/ns/jdo/jdoconfig_3_0.xsd

也許

<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig http://java.sun.com/xml/ns/jdo/jdoconfig_3_0.xsd"> 
+0

因此,xsi:noNamespaceSchemaLocation應該指向http://java.sun.com/xml/ns/jdo/jdoconfig_3_0.xsd? – jontro 2011-05-19 13:26:38

+0

看到我的編輯,格式意味着它沒有出現在 – DataNucleus 2011-05-19 13:47:21

+1

之前xmlns =後有兩個quatation標記。即使在我刪除其中一個之後,Eclipse仍然報告錯誤。是否因爲java.sun.com現在是www.oracle.com?我們可以在META_INF中包含jdoconfig_3_0.xsd並完成它,儘管我不知道從哪裏可以得到它。 – Yoichi 2011-06-30 13:34:36

2

只需更換

xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig"> 

xsi:schemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig http://java.sun.com/xml/ns/jdo/jdoconfig_3_0.xsd" 
+1

這正是上述答案:) – jontro 2014-04-16 15:30:49

0

更改jdoconfigile使用下面爲我工作。

<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/jdo/jdo 
0

在Eclipse構建路徑指向Eclipse插件罐子,當我清理(刪除插件路徑)我的構建路徑,我面臨的問題頓時讓我改變了像它下面是工作的XMLNS路徑。

<?xml version="1.0" encoding="UTF-8" ?> 
    <jdoconfig xmlns="http://xmlns.jcp.org/xml/ns/jdo/jdoconfig" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/jdo/jdoconfig">