Подтвердить что ты не робот

Cvc-elt.1: Не удается найти объявление элемента "MyElement"

Я пытаюсь проверить действительно простой xml с помощью xsd, но по какой-то причине я получаю эту ошибку. Я буду очень признателен, если кто-нибудь сможет объяснить мне, почему.

Файл 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>
4b9b3361

Ответ 1

Ваша схема предназначена для своего целевого пространства имен http://www.example.org/Test, поэтому он определяет элемент с именем MyElement в этом целевом пространстве имен http://www.example.org/Test. Однако в документе экземпляра есть элемент с именем MyElement в без пространства имен. Вот почему проверяющий парсер говорит вам, что не может найти объявление для этого элемента, вы не предоставили схему для элементов без пространства имен.

Вам либо нужно изменить схему, чтобы не использовать целевое пространство имен вообще, либо вам нужно изменить экземпляр для использования, например. <MyElement xmlns="http://www.example.org/Test">A</MyElement>.