Семейство s4s относится к проверкам schema-for-schemas: валидатор читает XSD с неправильным словарём или расположением конструкций. Ошибка возникает до обычной проверки экземпляра, даже если XML полностью соответствует замыслу автора.
Что сообщение означает буквально
Три измеренных подслучая требуют разных правок. s4s-elt-invalid-content.1 отвергает complexTyp верхнего уровня. s4s-elt-must-match.1 отвергает xs:element непосредственно внутри другого xs:element. s4s-elt-must-match.2 показывает, что пустому xs:simpleType не хватает restriction, list или union. Суффикс зависит от контекста, а не только от опечатки.
Три частые причины для проверки
Ключевое слово XSD написано неверно, с другим регистром или namespace. complexTyp не является конструкцией схемы, хотя файл остаётся корректным XML.
Правильная конструкция находится под неподходящим родителем или в неправильном порядке. Объявление дочернего элемента требует соответствующего complexType и модели содержимого.
Пропущен обязательный ребёнок схемы либо использована возможность другой версии XSD. Пустой каркас не всегда является допустимым завершённым определением типа.
Исправление и повторная проверка
Ищите указанную позицию в схеме, а не в экземпляре XML. Сравните названного родителя с разрешёнными конструкциями и исправьте имя, вложенность или отсутствующее содержимое. После каждой правки снова компилируйте XSD: поздние сообщения могут быть следствием уже повреждённой грамматики. Образцы добавляют оболочку complexType/sequence или строковый restriction, сохраняя исходные данные экземпляра.
Когда причина в пространстве имён
Все конструкции с префиксом xs должны указывать точно на http://www.w3.org/2001/XMLSchema. Изменение default namespace в экземпляре не исправляет ключевое слово в XSD. Элементы, похожие на объявления, но принадлежащие namespace приложения, не создают компонентов схемы; проверяйте привязку непосредственно в файле XSD.
Как сопоставлять отчёты движков
Не каждому возможному суффиксу нужна отдельная короткая страница. Здесь сохранены три воспроизведённые диагностики и три полных ремонта. Другие названия семейства, например s4s-elt-schema-ns и s4s-elt-character, обозначают родственные условия авторства схемы, но их отдельный запуск в этом материале не заявлен.
Полные проверенные пары XML и XSD
Откройте нужный вариант в редакторе и нажмите Validate XML. Загрузка образца не запускает проверку и не отправляет документы; серверный режим требует отдельного согласия.
s4s-elt-invalid-content.1: The content of 'schema' is invalid. Element 'complexTyp' is invalid, misplaced, or occurs too often.
PASS
.NET 8.0.33 · System.Xml.Schema XSD
The 'http://www.w3.org/2001/XMLSchema:complexTyp' element is not supported in this context.
PASS (no warnings)
XSDHub libxml2/WASM 0.7.2 XSD
Element '{http://www.w3.org/2001/XMLSchema}schema': The content is not valid. Expected is ((include | import | redefine | annotation)*, (((simpleType | complexType | group | attributeGroup) | element | attribute | notation), annotation*)*).
PASS
XSDHub xmlschema 4.3.1 · XSD 1.0 XSD
Unexpected child with tag 'xs:complexTyp' at position 2:
Schema component:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="item" />
<xs:complexTyp name="Empty" />
</xs:schema>
Path: /xs:schema
Schema URL: schema.xsd
PASS
Saxon
Сопоставление с EE: s4s-elt-invalid-content.1 обозначает соответствующее ограничение XSD. Запуск Saxon-EE и буквальная формулировка не заявлены: лицензия EE недоступна. Saxon-HE не выполняет XSD-валидацию.
s4s-elt-must-match.1: The content of 'item' must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: element.
PASS
.NET 8.0.33 · System.Xml.Schema XSD
The 'http://www.w3.org/2001/XMLSchema:element' element is not supported in this context.
PASS (no warnings)
XSDHub libxml2/WASM 0.7.2 XSD
Element '{http://www.w3.org/2001/XMLSchema}element': The content is not valid. Expected is (annotation?, ((simpleType | complexType)?, (unique | key | keyref)*)).
PASS
XSDHub xmlschema 4.3.1 · XSD 1.0 XSD
Unexpected child with tag 'xs:element' at position 1:
Schema component:
<xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="item">
<xs:element name="child" type="xs:string" />
</xs:element>
Path: /xs:schema/xs:element
Schema URL: schema.xsd
PASS
Saxon
Сопоставление с EE: s4s-elt-must-match.1 обозначает соответствующее ограничение XSD. Запуск Saxon-EE и буквальная формулировка не заявлены: лицензия EE недоступна. Saxon-HE не выполняет XSD-валидацию.
s4s-elt-must-match.2: The content of 'simpleType' must match (annotation?, (restriction | list | union)). Not enough elements were found.
PASS
.NET 8.0.33 · System.Xml.Schema XSD
SimpleType content is missing.
PASS (no warnings)
XSDHub libxml2/WASM 0.7.2 XSD
Element '{http://www.w3.org/2001/XMLSchema}simpleType': The content is not valid. Expected is (annotation?, (restriction | list | union)).
PASS
XSDHub xmlschema 4.3.1 · XSD 1.0 XSD
The content of element 'xs:simpleType' is not complete. Tag ('xs:restriction' | 'xs:list' | 'xs:union') expected:
Schema component:
<xs:simpleType xmlns:xs="http://www.w3.org/2001/XMLSchema" />
Path: /xs:schema/xs:element/xs:simpleType
Schema URL: schema.xsd
PASS
Saxon
Сопоставление с EE: s4s-elt-must-match.2 обозначает соответствующее ограничение XSD. Запуск Saxon-EE и буквальная формулировка не заявлены: лицензия EE недоступна. Saxon-HE не выполняет XSD-валидацию.
Успешные исправления относятся к этим самодостаточным образцам XSD 1.0. Они не подтверждают выполнение бизнес-правил для другого документа или выпуска схемы.