PARSER ERROR CODES

cvc-complex-type.3.2.2 / cvc-complex-type.4: атрибуты

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

Эти ошибки направлены в противоположные стороны. cvc-complex-type.3.2.2 означает присутствие недопустимого атрибута, а cvc-complex-type.4 — отсутствие обязательного. Разрешение и обязательность задаются эффективным комплексным типом элемента.

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

В первой паре написано colour, хотя тип объявляет color; исправление имени сохраняет значение blue. Во второй отсутствует id с use="required"; добавление id="A1" удовлетворяет объявлению. Пустой существующий атрибут представляет отдельный случай: его присутствие не гарантирует допустимость по собственному типу данных.

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

  1. Неверны имя, регистр или namespace атрибута. Знакомая подпись поля ещё не означает совпадение полного имени с определением XSD.
  2. Сериализатор удаляет обязательные атрибуты при null в источнике. Нужно проверить происхождение значения и правило экспорта, а не автоматически делать поле optional.
  3. Документ использует атрибут из другого комплексного типа. Допустимость на соседнем элементе или в иной версии схемы не разрешает его здесь.

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

Найдите эффективный complexType с учётом базового типа, restriction и attributeGroup. Сопоставьте каждый присутствующий атрибут с объявлением и отдельно проверьте use="required". Для wildcard изучите namespace и режим обработки. Исправьте имена и отображения исходных полей, затем заново проверьте элемент, чтобы обнаружить ошибки значений, скрытые за нарушениями присутствия.

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

Default namespace применяется к именам элементов без префикса, но не к обычным атрибутам без префикса. Добавление xmlns на item не квалифицирует id. Если XSD требует квалифицированный атрибут, нужен соответствующий префикс; для неквалифицированного объявления случайный префикс, наоборот, может создать неизвестное имя.

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

При воспроизведении держите два случая отдельно. Переименование неверно написанного обязательного атрибута иногда одновременно убирает «not allowed» и «must appear». Простое добавление правильного атрибута без удаления ошибочного оставляет первую проблему. Не удаляйте значимый идентификатор только потому, что раньше в отчёте встретилась другая диагностика атрибута.

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

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

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

Undeclared attribute / cvc-complex-type.3.2.2

Ошибочный XML

<item colour="blue"/>
Полная ошибочная XSD
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="item">
    <xs:complexType>
      <xs:attribute name="color" type="xs:string"/>
    </xs:complexType>
  </xs:element>
</xs:schema>

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

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

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

<item color="blue"/>
Полная исправленная XSD
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="item">
    <xs:complexType>
      <xs:attribute name="color" type="xs:string"/>
    </xs:complexType>
  </xs:element>
</xs:schema>

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

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

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

ДвижокОшибка: реальный отчётИсправлено
Apache Xerces-J 2.12.2
Validation
cvc-complex-type.3.2.2: Attribute 'colour' is not allowed to appear in element 'item'.
PASS
.NET 8.0.33 · System.Xml.Schema
Validation
The 'colour' attribute is not declared.
PASS (no warnings)
XSDHub libxml2/WASM 0.7.2
Validation
Element 'item', attribute 'colour': The attribute 'colour' is not allowed.
PASS
XSDHub xmlschema 4.3.1 · XSD 1.0
Validation
'colour' attribute not allowed for element
PASS
SaxonСопоставление с EE: cvc-complex-type.3.2.2 обозначает соответствующее ограничение XSD. Запуск Saxon-EE и буквальная формулировка не заявлены: лицензия EE недоступна. Saxon-HE не выполняет XSD-валидацию.Не запускался

Missing attribute / cvc-complex-type.4

Ошибочный XML

<item/>
Полная ошибочная XSD
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="item">
    <xs:complexType>
      <xs:attribute name="id" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
</xs:schema>

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

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

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

<item id="A1"/>
Полная исправленная XSD
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="item">
    <xs:complexType>
      <xs:attribute name="id" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
</xs:schema>

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

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

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

ДвижокОшибка: реальный отчётИсправлено
Apache Xerces-J 2.12.2
Validation
cvc-complex-type.4: Attribute 'id' must appear on element 'item'.
PASS
.NET 8.0.33 · System.Xml.Schema
Validation
The required attribute 'id' is missing.
PASS (no warnings)
XSDHub libxml2/WASM 0.7.2
Validation
Element 'item': The attribute 'id' is required but missing.
PASS
XSDHub xmlschema 4.3.1 · XSD 1.0
Validation
missing required attribute 'id'
PASS
SaxonСопоставление с EE: cvc-complex-type.4 обозначает соответствующее ограничение XSD. Запуск Saxon-EE и буквальная формулировка не заявлены: лицензия EE недоступна. Saxon-HE не выполняет XSD-валидацию.Не запускался

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

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

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

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

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

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