Валідатор не може пов’язати кореневий елемент документа з глобальним оголошенням завантаженого набору схем. Перевірка дочірнього вмісту ще не розпочалася. Спершу перевірте корінь і вибраний вхідний XSD, а не змінюйте всіх нащадків одразу.
Що повідомлення означає буквально
Схема оголошує stock у urn:example:stock, а помилковий XML містить stock без простору імен. Додавання потрібного default namespace змінює повні назви stock і його дитини sku. Вони відповідають кваліфікованим оголошенням цієї схеми без зміни самих значень даних.
Три поширені причини для перевірки
URI кореня відрізняється від targetNamespace або namespace зовсім відсутній. Регістр, кінцевий слеш та інші символи ідентифікатора важливі.
Вибрано неправильну вхідну схему. Файл із повторно використовуваними типами може не містити глобального оголошення документа застосунку.
Змінилися назва кореня або версія словника. Схоже оголошення з іншого випуску не доводить сумісність отриманого документа.
Виправлення та повторна перевірка
Запишіть корінь як {URI}local-name і порівняйте з xs:element верхнього рівня обраного проєкту. Переконайтеся, що застосунок справді передає цю схему валідатору. Для багатофайлового контракту завантажте залежності та виберіть його справжній вхідний XSD. Після ремонту кореня знову перевірте нащадків: elementFormDefault може виявити окремі невідповідності кваліфікації.
Коли причина у просторі імен
У цьому зразку причина безпосередньо пов’язана з namespace: єдина зміна XML додає xmlns="urn:example:stock". Оголошення xmlns:xsi або підказка schemaLocation самі не переміщують stock до потрібного URI. Натомість інше написання префікса зі збереженням правильної прив’язки не змінює ідентичність елемента.
Як зіставляти звіти рушіїв
Виміряний читач .NET із ReportValidationWarnings видає попередження для stock і sku без подій помилки. Такий результат не підтверджує покриття схемою. Xerces, libxml2 і другий рушій XSDHub відхиляють цей самий корінь. Окремий strict-wildcard-зразок пояснює відмінне формулювання is not declared.
Повні перевірені пари XML та XSD
Відкрийте потрібний варіант у редакторі й натисніть Validate XML. Завантаження прикладу не запускає перевірку та не надсилає документи; серверний режим потребує окремої згоди.
cvc-elt.1.a: Cannot find the declaration of element 'stock'.
PASS
.NET 8.0.33 · System.Xml.Schema Validation
No error event; warnings:
Could not find schema information for the element 'stock'.
Could not find schema information for the element 'sku'.
PASS (no warnings)
XSDHub libxml2/WASM 0.7.2 Validation
Element 'stock': No matching global declaration available for the validation root.
PASS
XSDHub xmlschema 4.3.1 · XSD 1.0 Validation
'stock' is not an element of the schema
PASS
Saxon
Зіставлення з EE: cvc-elt.1.a позначає відповідне обмеження XSD. Запуск Saxon-EE та буквальне формулювання не заявлено: ліцензія EE недоступна. Saxon-HE не виконує XSD-валідацію.