PARSER ERROR CODES

s4s-elt-* errors: the XSD itself has invalid structure

XSDHub · Tested 5 November 2026 · How we test guides

The s4s family refers to schema-for-schemas checks: the validator is reading an XSD document whose own vocabulary or child arrangement is invalid. These failures occur before ordinary instance validation, even when the XML document is entirely reasonable.

What the message literally means

Three tested subcodes illustrate the family. s4s-elt-invalid-content.1 rejects the misspelled top-level complexTyp. s4s-elt-must-match.1 rejects an xs:element nested directly inside another xs:element. s4s-elt-must-match.2 reports an empty xs:simpleType that lacks restriction, list or union. The exact suffix depends on context; a typo does not always produce the same code.

Three common causes to check first

  1. A schema keyword is misspelled, has incorrect case or uses the wrong namespace. complexTyp is not an XSD declaration, even though the document remains well-formed XML.
  2. A valid schema construct appears under the wrong parent or in the wrong order. Declaring a child element requires a suitable complex type and content model around it.
  3. A required schema child is omitted, or an XSD-version-specific construct reaches a processor that does not support it. Empty scaffolding is not always a legal completed type definition.

Repair and retest

Use the reported schema location rather than searching the instance XML. Match the named schema parent against its allowed vocabulary, then fix spelling, nesting or missing required content. Compile again after each structural repair so later diagnostics are not interpreted through an already invalid grammar. The corrected samples add the proper complexType/sequence wrapper or a string restriction instead of altering their instance data.

When this is a namespace problem

All xs-prefixed constructs must resolve to http://www.w3.org/2001/XMLSchema, exactly. Changing the instance document’s default namespace cannot repair an XSD keyword. Conversely, writing schema-looking elements in an application namespace does not define schema components. Check the namespace binding in the XSD file itself when the vocabulary looks correct.

Reading equivalent reports

Do not turn this family into one thin page per possible suffix. These examples preserve three genuinely measured diagnostics and show different repairs. Other members such as s4s-elt-schema-ns or s4s-elt-character indicate related schema-authoring conditions, but this guide does not claim to have reproduced those additional subcodes.

Complete tested XML and XSD pairs

Open either variant in the workbench, then choose Validate XML. Loading an example does not run validation or send documents; server checks require the existing permission checkbox.

These transcripts were captured on 5 November 2026 from the exact files shown below. Download all measured results and SHA-256 hashes.

Schema vocabulary / s4s-elt-invalid-content.1

Broken XML

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

Download XML · Download XSD

Open broken pair →

Corrected XML

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

Download XML · Download XSD

Open corrected pair →

Same specimen across engines

EngineBroken: actual reportCorrected
Apache Xerces-J 2.12.2
XSD
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
SaxonEE comparison: s4s-elt-invalid-content.1 describes the corresponding XSD constraint. No Saxon-EE run or wording is claimed; an EE licence is unavailable in this test environment. Saxon-HE does not provide XSD validation.Not run

Schema content / s4s-elt-must-match.1

Broken XML

<item>
  <child>ok</child>
</item>
Broken complete XSD
<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>

Download XML · Download XSD

Open broken pair →

Corrected XML

<item>
  <child>ok</child>
</item>
Corrected complete XSD
<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>

Download XML · Download XSD

Open corrected pair →

Same specimen across engines

EngineBroken: actual reportCorrected
Apache Xerces-J 2.12.2
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
SaxonEE comparison: s4s-elt-must-match.1 describes the corresponding XSD constraint. No Saxon-EE run or wording is claimed; an EE licence is unavailable in this test environment. Saxon-HE does not provide XSD validation.Not run

Empty simple type / s4s-elt-must-match.2

Broken XML

<item>ok</item>
Broken complete XSD
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="item">
    <xs:simpleType/>
  </xs:element>
</xs:schema>

Download XML · Download XSD

Open broken pair →

Corrected XML

<item>ok</item>
Corrected complete XSD
<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>

Download XML · Download XSD

Open corrected pair →

Same specimen across engines

EngineBroken: actual reportCorrected
Apache Xerces-J 2.12.2
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
SaxonEE comparison: s4s-elt-must-match.2 describes the corresponding XSD constraint. No Saxon-EE run or wording is claimed; an EE licence is unavailable in this test environment. Saxon-HE does not provide XSD validation.Not run

Saxon comparison and test scope

Saxonica documents XSD processing as an Enterprise Edition feature. The Saxon rows map the named constraint, rather than presenting an invented message. The four measured rows are Xerces, .NET, the shipped workbench engine and XSDHub’s second engine.

The corrected results apply to these self-contained XSD 1.0 specimens. They do not establish business-rule acceptance for a different document or schema version.

Continue the diagnosis

All parser error codes · XML and XSD validator

Primary references