# 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 застосунку, не визначають компонентів схеми. Якщо словник виглядає правильним, перевірте прив’язку простору імен у самому файлі.

Не кожному можливому суфіксу потрібна окрема коротка сторінка. Тут збережено три відтворені діагностики та три повні виправлення. Інші назви, зокрема 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)
