Родитель уже принял всё содержимое, которое допускает его модель, но затем встречается ещё один элемент. Xerces сообщает, что в этой позиции дочерние элементы больше не ожидаются. Разбор самого тега при этом может быть совершенно успешным.
Что сообщение означает буквально
Внутри batch разрешён ровно один line. Второй line превышает maxOccurs="1"; удаление случайного дубля делает учебный документ допустимым. Для настоящих данных сначала нужно выяснить происхождение каждой записи: пример не является разрешением удалять значимую информацию из производственного документа.
Три частые причины для проверки
Число повторений ребёнка превышает максимум. Если maxOccurs отсутствует, по умолчанию допускается одно вхождение, а не неограниченное количество.
Экспортированы две взаимоисключающие ветви xs:choice. После завершения разрешённой ветви следующая может оказаться недопустимым дополнением.
Поле попало на неверный уровень вложенности. Данные следующей записи оказались внутри уже законченного контейнера предыдущей записи.
Исправление и повторная проверка
Посмотрите ограничения ребёнка и окружающих частиц, затем подсчитайте фактические вхождения в порядке документа. Определите место, после которого валидатор ожидает закрытие родителя. Исправьте цикл экспорта, границу контейнера или объединение источников. Проверьте настоящий многострочный образец, чтобы убедиться, что исправление сохраняет все предназначенные записи и не просто скрывает повтор.
Когда причина в пространстве имён
Замена namespace не заставит завершённую модель принять дополнительного ребёнка. Ошибка URI могла повлиять на выбор предыдущей ветви, поэтому сначала разберите ранние сообщения. Когда второй line имеет то же полное имя, что и успешно принятый первый, наиболее вероятная причина связана с количеством.
Как сопоставлять отчёты движков
Суффикс a часто позволяет назвать другое ожидаемое продолжение; суффикс d говорит, что приём детей здесь закончен. Увеличение maxOccurs меняет контракт и может скрыть случайное дублирование данных. Сопоставляйте этот выбор с требованиями получателя, прежде чем изменять XSD ради успешной проверки.
Полные проверенные пары XML и XSD
Откройте нужный вариант в редакторе и нажмите Validate XML. Загрузка образца не запускает проверку и не отправляет документы; серверный режим требует отдельного согласия.
cvc-complex-type.2.4.d: Invalid content was found starting with element 'line'. No child element is expected at this point.
PASS
.NET 8.0.33 · System.Xml.Schema Validation
The element 'batch' has invalid child element 'line'.
PASS (no warnings)
XSDHub libxml2/WASM 0.7.2 Validation
Element 'line': This element is not expected.
PASS
XSDHub xmlschema 4.3.1 · XSD 1.0 Validation
Unexpected child with tag 'line' at position 2.
PASS
Saxon
Сопоставление с EE: cvc-complex-type.2.4.d обозначает соответствующее ограничение XSD. Запуск Saxon-EE и буквальная формулировка не заявлены: лицензия EE недоступна. Saxon-HE не выполняет XSD-валидацию.
Успешные исправления относятся к этим самодостаточным образцам XSD 1.0. Они не подтверждают выполнение бизнес-правил для другого документа или выпуска схемы.