Це діагностика компіляції XSD: схема називає тип, елемент чи групу, яку валідатор не може знайти. Зміна значень екземпляра XML не створить відсутнє визначення в наборі компонентів контракту.
Що повідомлення означає буквально
Елемент amount посилається на MoneyTypo, тоді як у тій самій схемі визначено Money. Виправлена пара залишає XML зі значенням 12.50 незмінним і править лише посилання типу в XSD. Так відокремлено помилку символу схеми від неправильного десяткового подання суми.
Три поширені причини для перевірки
QName містить друкарську помилку або називає компонент іншого виду. Іменований елемент не замінює простий тип через збіг локальних назв.
Префікс посилання прив’язано до неправильного URI або бракує import. QName має вказувати на простір імен потрібного оголошення.
Залежність не завантажено або вибрано інший вхідний XSD. Синтаксично правильний ланцюжок include/import не гарантує доступності кожного файла.
Виправлення та повторна перевірка
Спочатку скомпілюйте схему й визначте невідомий QName у першому повідомленні src-resolve. Знайдіть оголошення потрібного виду та порівняйте URI з локальною назвою. Для спільного targetNamespace перевіряйте include, для іншого простору — import і його namespace. Завантажте залежності повним локальним проєктом, а тоді переходьте до перевірки екземпляра XML.
Коли причина у просторі імен
Наш випадок спричинений написанням, а не різними URI: Money та виправлене посилання належать компонентам без namespace. У схемах із targetNamespace зазвичай застосовують пов’язаний із ним префікс у type або ref. Саме оголошення префікса дає прив’язку QName, проте не імпортує визначення іншого словника.
Як зіставляти звіти рушіїв
Кнопка виправленого зразка завантажує іншу XSD поряд із XML. Порівняння тільки видимої суми пропустить справжнє виправлення. Не створюйте порожній тип-заглушку лише для задоволення пошуку: він може непомітно послабити грошові обмеження й залишити задумане визначення незавантаженим. Після компіляції обов’язково перевірте самі дані.
Повні перевірені пари XML та XSD
Відкрийте потрібний варіант у редакторі й натисніть Validate XML. Завантаження прикладу не запускає перевірку та не надсилає документи; серверний режим потребує окремої згоди.
Зіставлення з EE: src-resolve позначає відповідне обмеження XSD. Запуск Saxon-EE та буквальне формулювання не заявлено: ліцензія EE недоступна. Saxon-HE не виконує XSD-валідацію.