PARSER ERROR CODES

cvc-complex-type.2.4.c: wildcard без оголошення

XSDHub · Перевірено 5 листопада 2026 · Як перевіряються посібники

Частинка xs:any може дозволяти простір імен дитини й водночас вимагати повноцінне оголошення цього елемента. Саме так діє processContents="strict". Слово any не обіцяє прийняти будь-який невідомий вузол без перевірки його типу.

Що повідомлення означає буквально

Xerces зіставив дитину з wildcard, проте не знайшов глобального оголошення mystery. Схема містить known, тому заміна помилкової назви на known робить документ допустимим. Конверт та правила wildcard залишаються незмінними: цей зразок відокремлює пошук оголошення від порядку вмісту.

Три поширені причини для перевірки

  1. У назві розширення є друкарська помилка або відправник застосовує іншу версію словника. Namespace дозволений, але повна назва елемента невідома.
  2. Схема розширення не завантажена до набору схем. Підказка schemaLocation не гарантує, що валідатор отримає відповідний зовнішній файл.
  3. Локальне оголошення всередині іншого типу сприймають як глобальне. Воно саме по собі не створює ціль для глобального пошуку wildcard.

Виправлення та повторна перевірка

Знайдіть xs:any, що приймає цю позицію, і прочитайте namespace разом із processContents. Шукайте оголошення верхнього рівня з тим самим URI та локальною назвою. Якщо розширення передбачене контрактом, завантажте його XSD з усіма залежностями через проєкт. Замість перемикання strict на skip виправте назву або додайте справді відсутнє визначення.

Коли причина у просторі імен

Часто причина полягає в завантаженні словника, а не в необ’явленому префіксі. Префікс прив’язує написання до URI, але не імпортує компоненти схеми. Якщо URI дитини відрізняється від targetNamespace підключеної XSD, потрібне оголошення не знайдеться навіть за наявності всіх файлів.

Як зіставляти звіти рушіїв

Виміряне повідомлення .NET каже, що mystery 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

Першоджерела