PARSER ERROR CODES

cvc-complex-type.2.4.c: wildcard без объявления

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

Частица xs:any может разрешать пространство имён ребёнка и одновременно требовать его полноценное объявление. Так работает processContents="strict". Слово any не обещает, что любой неизвестный элемент пройдёт проверку.

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

Xerces сопоставил ребёнка с wildcard, но не нашёл глобальное объявление mystery. В этой схеме есть объявление known, поэтому замена ошибочного имени на known делает XML допустимым. Конверт и правила wildcard остаются прежними: образец отделяет поиск объявления от порядка элементов.

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

  1. В имени расширения опечатка либо отправитель использует другую версию словаря. URI разрешён wildcard, но полное имя ребёнка неизвестно.
  2. Схема расширения не загружена в набор схем. Наличие schemaLocation в документе не гарантирует, что конкретный валидатор получит внешний файл.
  3. Локальное объявление внутри другого типа принято за глобальное. Такое объявление само по себе не создаёт цель для глобального поиска wildcard.

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

Найдите подходящий xs:any и прочитайте namespace вместе с processContents. Ищите объявление верхнего уровня с тем же URI и локальным именем, что у ребёнка. Если расширение действительно предусмотрено контрактом, загрузите его XSD со всеми зависимостями через проект. Не переключайте strict на skip лишь для скрытия отсутствующего определения.

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

Здесь часто виновата загрузка словаря, а не необъявленный префикс. Префикс связывает написание с URI, но не импортирует компоненты XSD. Если URI ребёнка отличается от targetNamespace подключённой схемы, нужное объявление не найдётся даже при наличии всех файлов.

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

В .NET проверенный случай называется The mystery element is not declared, а libxml2 явно упоминает strict wildcard. Отличайте его от cvc-elt.1.a: корневой envelope уже успешно найден, а проблема возникает при поиске объявления вложенного расширения. Это различие определяет, какую часть проекта проверять первой.

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

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

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

Strict wildcard / cvc-complex-type.2.4.c

Ошибочный XML

<envelope>
  <mystery>ok</mystery>
</envelope>
Полная ошибочная XSD
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="known" type="xs:string"/>
  <xs:element name="envelope">
    <xs:complexType>
      <xs:sequence>
        <xs:any processContents="strict"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

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

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

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

<envelope>
  <known>ok</known>
</envelope>
Полная исправленная XSD
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="known" type="xs:string"/>
  <xs:element name="envelope">
    <xs:complexType>
      <xs:sequence>
        <xs:any processContents="strict"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

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

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

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

ДвижокОшибка: реальный отчётИсправлено
Apache Xerces-J 2.12.2
Validation
cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'mystery'.
PASS
.NET 8.0.33 · System.Xml.Schema
Validation
The 'mystery' element is not declared.
PASS (no warnings)
XSDHub libxml2/WASM 0.7.2
Validation
Element 'mystery': No matching global element declaration available, but demanded by the strict wildcard.
PASS
XSDHub xmlschema 4.3.1 · XSD 1.0
Validation
element 'mystery' not found
PASS
SaxonСопоставление с EE: cvc-complex-type.2.4.c обозначает соответствующее ограничение XSD. Запуск Saxon-EE и буквальная формулировка не заявлены: лицензия EE недоступна. Saxon-HE не выполняет XSD-валидацию.Не запускался

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

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

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

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

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

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