问题
I am using jdo and configuring the persistence manager with jdoconfig.xml
However everywhere I find documentation about jdoconfig.xml it states that http://java.sun.com/xml/ns/jdo/jdoconfig should be used for validation.
<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
This url points to a nonexistent file and my xml validator reports an error. What is the purpose of even using this, can we ever trust that the urls will not change and all our xml files all of a sudden stops validating?
Does anyone know the new url?
回答1:
The xmlns is not a real file/directory, more a namespace, so ought not exist! The version is appended to get the real XSD file, namely http://java.sun.com/xml/ns/jdo/jdoconfig_3_0.xsd
Maybe
<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">
回答2:
Just replace
xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig">
with
xsi:schemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig http://java.sun.com/xml/ns/jdo/jdoconfig_3_0.xsd"
回答3:
Changing jdoconfigile to use below worked for me.
<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
回答4:
In eclipse build path is pointing to the eclipse plugin jars, when i clean(removed the plugin path) my build path , i am facing the issue suddenly so i changed the xmlns path like below it was worked.
<?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">
来源:https://stackoverflow.com/questions/6042475/validating-jdoconfig-with-incorrect-url