# s4s-elt-*: недопустимая структура самой схемы

Семейство 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. Суффикс зависит от контекста, а не только от опечатки.

1. Ключевое слово XSD написано неверно, с другим регистром или namespace. complexTyp не является конструкцией схемы, хотя файл остаётся корректным XML.
2. Правильная конструкция находится под неподходящим родителем или в неправильном порядке. Объявление дочернего элемента требует соответствующего complexType и модели содержимого.
3. Пропущен обязательный ребёнок схемы либо использована возможность другой версии 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, обозначают родственные условия авторства схемы, но их отдельный запуск в этом материале не заявлен.


## Schema vocabulary / s4s-elt-invalid-content.1 — Broken

```xml
<item/>
```

```xml
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="item"/>
  <xs:complexTyp name="Empty"/>
</xs:schema>
```

[Open broken pair](https://xsdhub.com/?example=parser-s4s-invalid&variant=bad#workbench)

## Schema vocabulary / s4s-elt-invalid-content.1 — Corrected

```xml
<item/>
```

```xml
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="item"/>
  <xs:complexType name="Empty"/>
</xs:schema>
```

[Open corrected pair](https://xsdhub.com/?example=parser-s4s-invalid&variant=good#workbench)

### Apache Xerces-J 2.12.2

```text
s4s-elt-invalid-content.1: The content of 'schema' is invalid. Element 'complexTyp' is invalid, misplaced, or occurs too often.
```

Corrected: PASS.

### .NET 8.0.33 · System.Xml.Schema

```text
The 'http://www.w3.org/2001/XMLSchema:complexTyp' element is not supported in this context.
```

Corrected: PASS.

### XSDHub libxml2/WASM 0.7.2

```text
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*)*).
```

Corrected: PASS.

### XSDHub xmlschema 4.3.1 · XSD 1.0

```text
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

```

Corrected: PASS.

## Schema content / s4s-elt-must-match.1 — Broken

```xml
<item>
  <child>ok</child>
</item>
```

```xml
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="item">
    <xs:element name="child" type="xs:string"/>
  </xs:element>
</xs:schema>
```

[Open broken pair](https://xsdhub.com/?example=parser-s4s-content&variant=bad#workbench)

## Schema content / s4s-elt-must-match.1 — Corrected

```xml
<item>
  <child>ok</child>
</item>
```

```xml
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="item">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="child" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
```

[Open corrected pair](https://xsdhub.com/?example=parser-s4s-content&variant=good#workbench)

### Apache Xerces-J 2.12.2

```text
s4s-elt-must-match.1: The content of 'item' must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: element.
```

Corrected: PASS.

### .NET 8.0.33 · System.Xml.Schema

```text
The 'http://www.w3.org/2001/XMLSchema:element' element is not supported in this context.
```

Corrected: PASS.

### XSDHub libxml2/WASM 0.7.2

```text
Element '{http://www.w3.org/2001/XMLSchema}element': The content is not valid. Expected is (annotation?, ((simpleType | complexType)?, (unique | key | keyref)*)).
```

Corrected: PASS.

### XSDHub xmlschema 4.3.1 · XSD 1.0

```text
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

```

Corrected: PASS.

## Empty simple type / s4s-elt-must-match.2 — Broken

```xml
<item>ok</item>
```

```xml
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="item">
    <xs:simpleType/>
  </xs:element>
</xs:schema>
```

[Open broken pair](https://xsdhub.com/?example=parser-s4s-empty&variant=bad#workbench)

## Empty simple type / s4s-elt-must-match.2 — Corrected

```xml
<item>ok</item>
```

```xml
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="item">
    <xs:simpleType>
      <xs:restriction base="xs:string"/>
    </xs:simpleType>
  </xs:element>
</xs:schema>
```

[Open corrected pair](https://xsdhub.com/?example=parser-s4s-empty&variant=good#workbench)

### Apache Xerces-J 2.12.2

```text
s4s-elt-must-match.2: The content of 'simpleType' must match (annotation?, (restriction | list | union)). Not enough elements were found.
```

Corrected: PASS.

### .NET 8.0.33 · System.Xml.Schema

```text
SimpleType content is missing.
```

Corrected: PASS.

### XSDHub libxml2/WASM 0.7.2

```text
Element '{http://www.w3.org/2001/XMLSchema}simpleType': The content is not valid. Expected is (annotation?, (restriction | list | union)).
```

Corrected: PASS.

### XSDHub xmlschema 4.3.1 · XSD 1.0

```text
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

```

Corrected: PASS.

Saxon EE was not available; no measured Saxon wording is claimed.

[All parser codes](https://xsdhub.com/learn#parser-error-codes)
[Download engine evidence](https://xsdhub.com/parser-error-examples/engine-evidence.json)
