2012-11-09 15 views
22

xsdを使用して本当に単純なxmlを検証しようとしていますが、何らかの理由でこのエラーが発生します。 誰かが私の理由を説明できるかどうか本当に感謝します。cvc-elt.1:要素 'MyElement'の宣言が見つかりません

XMLファイル

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

XSDファイル

<?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エラーメッセージは、投稿のタイトルです:) –

答えて

21

あなたのスキーマは、そのターゲット名前空間http://www.example.org/Testのためにそれはそのターゲット名前空間http://www.example.org/Testに名前MyElementを持つ要素を定義しています。ただし、インスタンス文書にはの要素があり、には名前空間がありません。そのため、検証パーサーは、その要素の宣言を見つけることができないことを伝えます。名前空間のない要素のスキーマは提供していません。

対象の名前空間をまったく使用しないようにスキーマを変更するか、インスタンスを変更する必要があります。 <MyElement xmlns="http://www.example.org/Test">A</MyElement>