2012-11-09 20 views
22

Sto provando a convalidare un xml veramente semplice usando xsd, ma per qualche motivo ottengo questo errore. Apprezzo davvero se qualcuno mi può spiegare perché.cvc-elt.1: Impossibile trovare la dichiarazione dell'elemento 'MyElement'

XML File

<?xml version="1.0" encoding="utf-8"?> 
<MyElement>A</MyElement> 

XSD File

<?xml version="1.0" encoding="UTF-8"?> 
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
     targetNamespace="http://www.example.org/Test" 
     xmlns:tns="http://www.example.org/Test" 
     elementFormDefault="qualified"> 

    <simpleType name="MyType"> 
     <restriction base="string"></restriction> 
    </simpleType> 

    <element name="MyElement" type="tns:MyType"></element> 
</schema> 
+0

@ O.Jones Il messaggio di errore è il titolo del post :) –

risposta

21

vostro schema è per il suo namespace di destinazione http://www.example.org/Test in modo che definisce un elemento con il nome MyElement in quella di destinazione namespace http://www.example.org/Test. Il documento di istanza ha tuttavia un elemento con il nome MyElement in senza spazio dei nomi. Questo è il motivo per cui il parser di convalida ti dice che non è possibile trovare una dichiarazione per quell'elemento, non hai fornito uno schema per gli elementi in nessuno spazio dei nomi.

È necessario modificare lo schema per non utilizzare affatto uno spazio dei nomi di destinazione o è necessario modificare l'istanza da utilizzare, ad es. <MyElement xmlns="http://www.example.org/Test">A</MyElement>.

Problemi correlati