Родитель закрывается раньше, чем его модель содержимого допускает завершение. Все уже прочитанные дети могут быть правильными; нарушение обнаруживается именно на закрывающем теге, потому что обязательное продолжение отсутствует.
Что сообщение означает буквально
Сообщение о неполном содержимом означает, что хотя бы одна обязательная частица схемы не удовлетворена. Здесь quantity принят, но price отсутствует. У price не указан minOccurs, поэтому действует значение один. Исправленный документ добавляет десятичную цену внутри order перед его закрытием.
Три частые причины для проверки
Экспорт пропустил обязательное поле с пустым значением в базе. Отсутствие исходного значения не делает объявленный дочерний элемент необязательным.
Повторяемая группа встретилась меньше положенного числа раз. Проверять нужно ограничения группы и её ребёнка, а не только ближайший minOccurs.
Начата ветвь выбора, но её обязательное содержимое не завершено. Выбор ветви может требовать дополнительные потомки перед закрытием контейнера.
Исправление и повторная проверка
Прочитайте ожидаемые имена в диагностике и найдите их объявления внутри указанного родителя. Подсчитайте вхождения с учётом окружающих групп. Восстановите отсутствующее значение на правильном месте; если отсутствие допустимо по смыслу, изменение схемы согласуют с её владельцем. Пустой тег вместо числа может устранить нехватку ребёнка и сразу вызвать отдельную ошибку типа.
Когда причина в пространстве имён
Иногда видимый ребёнок существует, но относится к другому URI из-за унаследованного namespace или xmlns="". Обычно перед сообщением о неполноте тогда появляется unexpected-child. Начинайте с первой диагностики, иначе добавление второго похожего элемента может замаскировать неправильный экспорт.
Как сопоставлять отчёты движков
Фраза .NET The element … has incomplete content относится к тому же проверенному закрывающему родителю. Успех проверки синтаксиса доказывает только корректность разметки. Он не устанавливает наличие всех обязательных детей и не заменяет валидацию XML вместе с настоящей схемой.
Полные проверенные пары XML и XSD
Откройте нужный вариант в редакторе и нажмите Validate XML. Загрузка образца не запускает проверку и не отправляет документы; серверный режим требует отдельного согласия.
cvc-complex-type.2.4.b: The content of element 'order' is not complete. One of '{price}' is expected.
PASS
.NET 8.0.33 · System.Xml.Schema Validation
The element 'order' has incomplete content. List of possible elements expected: 'price'.
PASS (no warnings)
XSDHub libxml2/WASM 0.7.2 Validation
Element 'order': Missing child element(s). Expected is ( price ).
PASS
XSDHub xmlschema 4.3.1 · XSD 1.0 Validation
The content of element 'order' is not complete. Tag 'price' expected.
PASS
Saxon
Сопоставление с EE: cvc-complex-type.2.4.b обозначает соответствующее ограничение XSD. Запуск Saxon-EE и буквальная формулировка не заявлены: лицензия EE недоступна. Saxon-HE не выполняет XSD-валидацию.
Успешные исправления относятся к этим самодостаточным образцам XSD 1.0. Они не подтверждают выполнение бизнес-правил для другого документа или выпуска схемы.