Валидатор не может связать корневой элемент документа с глобальным объявлением в загруженном наборе схем. До проверки дочернего содержимого он ещё не дошёл. Начните с корня и выбранного входного XSD, а не с редактирования всех потомков.
Что сообщение означает буквально
Схема объявляет stock в urn:example:stock, тогда как ошибочный XML содержит stock без пространства имён. Добавление нужного default namespace меняет полные имена stock и его ребёнка sku. Оба становятся соответствующими квалифицированным объявлениям этой схемы, без изменения самих данных.
Три частые причины для проверки
URI корня отличается от targetNamespace или namespace вообще отсутствует. Регистр, завершающий слеш и другие символы идентификатора имеют значение.
Выбран неправильный входной файл схемы. XSD с переиспользуемыми типами может не содержать глобального объявления корня приложения.
Изменились имя корня либо версия словаря. Объявление похожего элемента из другого выпуска не доказывает совместимость входящего документа.
Исправление и повторная проверка
Запишите корень в виде {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-валидацию.
Успешные исправления относятся к этим самодостаточным образцам XSD 1.0. Они не подтверждают выполнение бизнес-правил для другого документа или выпуска схемы.