2014-04-10 13 views
7

Zakładka znaczników Eclipse pokazuje pewien problem z xml. Stało się tak, gdy sprawdziłem dynamic web module w Project Facets.Dlaczego pojawiają się błędy w pliku jdoconfig.xml?

To jest moja hierarchia projektu:

enter image description here

jdconfig.xml (generowane automatycznie):

<?xml version="1.0" encoding="utf-8"?> 
<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"> 

    <persistence-manager-factory name="transactions-optional"> 
     <property name="javax.jdo.PersistenceManagerFactoryClass" 
     value="org.datanucleus.api.jdo.JDOPersistenceManagerFactory"/> 
     <property name="javax.jdo.option.ConnectionURL" value="appengine"/> 
     <property name="javax.jdo.option.NontransactionalRead" value="true"/> 
     <property name="javax.jdo.option.NontransactionalWrite" value="true"/> 
     <property name="javax.jdo.option.RetainValues" value="true"/> 
     <property name="datanucleus.appengine.autoCreateDatastoreTxns" value="true"/> 
     <property name="datanucleus.appengine.singletonPMFForName" value="true"/> 
    </persistence-manager-factory> 
</jdoconfig> 

błędy pokazane w oknie markera:

cvc-elt.1: Cannot find the declaration of element 'jdoconfig'. 

Jaki jest powód Otrzymuję ten błąd?

Co to jest jdoconfig.xml?

Odpowiedz

3

Ponieważ jest źle? Ta strona ma prosty przykład: http://db.apache.org/jdo/jdoconfig_dtd.html

Dokumentacja dowolnej implementacji JDO wyjaśni, do czego służy ten plik, podobnie jak zwykłe wyszukiwanie w Internecie.

Lepszym nagłówka XML byłoby coś

<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 
     http://xmlns.jcp.org/xml/ns/jdo/jdoconfig_3_0.xsd" version="3.0"> 
+0

To nie dla mnie. Odpowiedź od Protoxy zadziałała dla mnie. – Skychan

1
cvc-elt.1: Cannot find the declaration of element 'jdoconfig'. 

Jest to błąd sprawdzania poprawności. Mówi ona, że ​​podczas sprawdzania poprawności pliku XML parser nie może znaleźć deklaracji dla elementu <jdconfig> w poleconym dokumencie schematu.

W twoim przypadku jest to prawdopodobnie spowodowane przez dwie różne rzeczy:

  1. schemaLocation http://java.sun.com/xml/ns/jdo/jdoconfig jest błędna, nie ma schematu na ten adres.
  2. Element <jdconfig> ma (domyślną) przestrzeń nazw, ale lokalizacja schematu odnosi się do schematu bez nazwy.
16

Spróbuj zamiast

<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

naprawił problem! –

+2

To powinna być zaakceptowana odpowiedź –

0
<?xml version="1.0" encoding="UTF-8" ?> 
<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">