PARSER ERROR CODES

cvc-complex-type.2.4.d: ребёнок больше не ожидается

XSDHub · Проверено 5 ноября 2026 · Как проверяются руководства

Родитель уже принял всё содержимое, которое допускает его модель, но затем встречается ещё один элемент. Xerces сообщает, что в этой позиции дочерние элементы больше не ожидаются. Разбор самого тега при этом может быть совершенно успешным.

Что сообщение означает буквально

Внутри batch разрешён ровно один line. Второй line превышает maxOccurs="1"; удаление случайного дубля делает учебный документ допустимым. Для настоящих данных сначала нужно выяснить происхождение каждой записи: пример не является разрешением удалять значимую информацию из производственного документа.

Три частые причины для проверки

  1. Число повторений ребёнка превышает максимум. Если maxOccurs отсутствует, по умолчанию допускается одно вхождение, а не неограниченное количество.
  2. Экспортированы две взаимоисключающие ветви xs:choice. После завершения разрешённой ветви следующая может оказаться недопустимым дополнением.
  3. Поле попало на неверный уровень вложенности. Данные следующей записи оказались внутри уже законченного контейнера предыдущей записи.

Исправление и повторная проверка

Посмотрите ограничения ребёнка и окружающих частиц, затем подсчитайте фактические вхождения в порядке документа. Определите место, после которого валидатор ожидает закрытие родителя. Исправьте цикл экспорта, границу контейнера или объединение источников. Проверьте настоящий многострочный образец, чтобы убедиться, что исправление сохраняет все предназначенные записи и не просто скрывает повтор.

Когда причина в пространстве имён

Замена namespace не заставит завершённую модель принять дополнительного ребёнка. Ошибка URI могла повлиять на выбор предыдущей ветви, поэтому сначала разберите ранние сообщения. Когда второй line имеет то же полное имя, что и успешно принятый первый, наиболее вероятная причина связана с количеством.

Как сопоставлять отчёты движков

Суффикс a часто позволяет назвать другое ожидаемое продолжение; суффикс d говорит, что приём детей здесь закончен. Увеличение maxOccurs меняет контракт и может скрыть случайное дублирование данных. Сопоставляйте этот выбор с требованиями получателя, прежде чем изменять XSD ради успешной проверки.

Полные проверенные пары XML и XSD

Откройте нужный вариант в редакторе и нажмите Validate XML. Загрузка образца не запускает проверку и не отправляет документы; серверный режим требует отдельного согласия.

Журналы получены 5 ноября 2026 года при запуске именно тех файлов, которые показаны ниже. Скачать результаты запусков и хеши SHA-256.

Extra child / cvc-complex-type.2.4.d

Ошибочный XML

<batch>
  <line>A</line>
  <line>B</line>
</batch>
Полная ошибочная XSD
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="batch">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="line" type="xs:string" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

Скачать XML · Скачать XSD

Открыть ошибочную пару →

Исправленный XML

<batch>
  <line>A</line>
</batch>
Полная исправленная XSD
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="batch">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="line" type="xs:string" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

Скачать XML · Скачать XSD

Открыть исправленную пару →

Один образец в разных движках

ДвижокОшибка: реальный отчётИсправлено
Apache Xerces-J 2.12.2
Validation
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-валидацию.Не запускался

Сопоставление с Saxon и границы проверки

Согласно документации Saxonica обработка XSD доступна в Enterprise Edition. Строки Saxon сопоставляют ограничения и не выдают вымышленные сообщения за результаты. Четыре измеренных строки относятся к Xerces, .NET, локальному движку редактора и второму движку XSDHub.

Успешные исправления относятся к этим самодостаточным образцам XSD 1.0. Они не подтверждают выполнение бизнес-правил для другого документа или выпуска схемы.

Продолжить диагностику

Все коды ошибок парсеров · Валидатор XML и XSD

Первичные источники