PARSER ERROR CODES

cvc-complex-type.2.4.a: недопустимый дочерний элемент

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

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

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

Слова «starting with element» указывают на первый переход, который не соответствует схеме. Список ожидаемых элементов описывает допустимое продолжение именно здесь, а не все объявления в проекте. В примере quantity должен предшествовать price; перестановка сохраняет оба значения и устраняет нарушение.

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

  1. Сериализатор выводит поля не в порядке xs:sequence. Алфавитная сортировка свойств может создавать правильные теги в неправильной последовательности.
  2. Пропущен обязательный предшественник. Добавление ожидаемого поля в конец родителя не поможет, если оно должно находиться перед указанным элементом.
  3. У дочернего узла другое пространство имён, написание или родитель. Объявление с похожим именем в соседнем типе не разрешает этот узел везде.

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

Найдите объявление родителя и пройдите его последовательность от первого ребёнка. Сопоставляйте фактическое содержимое с xs:sequence или выбранной ветвью xs:choice до первого расхождения. Исправляйте порядок в источнике экспорта, затем проверяйте документ целиком: ранняя ошибка иногда скрывает следующие проблемы, которые становятся видны только после её устранения.

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

Если локальное имя уже совпадает с ожидаемым, сравните URI пространства имён и local-name вместе. Учитывайте унаследованный xmlns и сброс xmlns="". Замена префикса при сохранении URI не меняет идентичность элемента; удаление префикса без подходящего namespace может её изменить.

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

В System.Xml.Schema этот образец даёт has invalid child element, а libxml2 пишет This element is not expected. Таблица сохраняет буквальные результаты запуска. Не заменяйте строгую последовательность на xs:any ради зелёного результата: принимающая система всё ещё может требовать исходный порядок полей.

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

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

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

Unexpected child / cvc-complex-type.2.4.a

Ошибочный XML

<order>
  <price>12.50</price>
  <quantity>3</quantity>
</order>
Полная ошибочная XSD
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="order">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="quantity" type="xs:positiveInteger"/>
        <xs:element name="price" type="xs:decimal"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

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

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

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

<order>
  <quantity>3</quantity>
  <price>12.50</price>
</order>
Полная исправленная XSD
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="order">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="quantity" type="xs:positiveInteger"/>
        <xs:element name="price" type="xs:decimal"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

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

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

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

ДвижокОшибка: реальный отчётИсправлено
Apache Xerces-J 2.12.2
Validation
cvc-complex-type.2.4.a: Invalid content was found starting with element 'price'. One of '{quantity}' is expected.
PASS
.NET 8.0.33 · System.Xml.Schema
Validation
The element 'order' has invalid child element 'price'. List of possible elements expected: 'quantity'.
PASS (no warnings)
XSDHub libxml2/WASM 0.7.2
Validation
Element 'price': This element is not expected. Expected is ( quantity ).
PASS
XSDHub xmlschema 4.3.1 · XSD 1.0
Validation
Unexpected child with tag 'price' at position 1. Tag 'quantity' expected.
PASS
SaxonСопоставление с EE: cvc-complex-type.2.4.a обозначает соответствующее ограничение XSD. Запуск Saxon-EE и буквальная формулировка не заявлены: лицензия EE недоступна. Saxon-HE не выполняет XSD-валидацию.Не запускался

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

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

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

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

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

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