XSD-Fehler „element is not expected“ beheben
Direkte Antwort: Ein Schemafehler bedeutet, dass die XML-Struktur nicht zur Syntaxdefinition (UBL 2.1 oder CII D16B) passt – unabhängig vom Inhalt. Die typische Meldung lautet „Element ‘{…}X’: This element is not expected. Expected is one of ( {…}Y, {…}Z )“. Sie sagt: An dieser Stelle steht X, erlaubt wären Y oder Z. Ursachen: falsche Reihenfolge (UBL ist streng sequenziell), unbekannte oder falsch geschriebene Elemente, falscher Namespace, ungültige Werte (Datum, Zahl, Boolean). Schemafehler müssen zuerst behoben werden; die Regelprüfung läuft erst danach.
Meldungen lesen
| Meldung (gekürzt) | Bedeutung | Lösung |
|---|---|---|
This element is not expected. Expected is ( cbc:IssueDate ) |
Reihenfolge: ein Element steht zu früh oder das erwartete fehlt | Elemente in Schemareihenfolge bringen; fehlendes Pflichtelement ergänzen |
Missing child element(s). Expected is ( cac:AccountingSupplierParty ) |
Pflichtelement fehlt | ergänzen |
'21.10.2026' is not a valid value of the atomic type 'xs:date' |
Datentyp | ISO-Datum 2026-10-21 (Datumsformate) |
'1.234,56' is not a valid value of … 'xs:decimal' |
Zahl mit Komma/Tausenderpunkt | 1234.56 |
No matching global declaration available for the validation root |
Wurzelelement/Namespace falsch | Namespace prüfen (UBL …:Invoice-2, CII …:CrossIndustryInvoice:100) |
Element 'ram:…': This element is not expected in CII |
Reihenfolge innerhalb von ApplicableHeaderTradeSettlement o. ä. |
Reihenfolge laut CII-Schema |
Der Validator zeigt die Meldung mit Zeilennummer; die Datei können Sie in der XML-Ansicht nachlesen.
Reihenfolge in UBL (Kopf, Auszug)
UBLVersionID? → CustomizationID → ProfileID? → ID → IssueDate → DueDate? → InvoiceTypeCode → Note* → TaxPointDate? → DocumentCurrencyCode → TaxCurrencyCode? → AccountingCost? → BuyerReference? → InvoicePeriod? → OrderReference? → BillingReference* → DespatchDocumentReference* → ReceiptDocumentReference* → OriginatorDocumentReference* → ContractDocumentReference* → AdditionalDocumentReference* → ProjectReference* → AccountingSupplierParty → AccountingCustomerParty → PayeeParty? → TaxRepresentativeParty? → Delivery* → PaymentMeans* → PaymentTerms* → AllowanceCharge* → TaxTotal* → LegalMonetaryTotal → InvoiceLine+
Reihenfolge in CII (Grobstruktur)
ExchangedDocumentContext → ExchangedDocument → SupplyChainTradeTransaction mit IncludedSupplyChainTradeLineItem* → ApplicableHeaderTradeAgreement → ApplicableHeaderTradeDelivery → ApplicableHeaderTradeSettlement (darin u. a. PaymentReference → InvoiceCurrencyCode → SpecifiedTradeSettlementPaymentMeans → ApplicableTradeTax → BillingSpecifiedPeriod → SpecifiedTradeAllowanceCharge → SpecifiedTradePaymentTerms → SpecifiedTradeSettlementHeaderMonetarySummation → InvoiceReferencedDocument).
Beispiel
Meldung: „Element ‘cbc:BuyerReference’: This element is not expected. Expected is one of ( cbc:DocumentCurrencyCode, … )“. Ursache: BuyerReference steht vor DocumentCurrencyCode. Lösung: hinter DocumentCurrencyCode verschieben. Nach dem Fix läuft die Regelprüfung und meldet ggf. inhaltliche Befunde.
Häufige Fehler
- Elemente alphabetisch sortiert von Hand gebaut.
- Leere Elemente (
<cbc:DueDate/>) – ungültiger Wert; Element weglassen. - Namespace-Präfix ohne Deklaration.
- UBL-Extensions oder eigene Elemente eingebaut – Schema lehnt ab.
Grenzen
Reihenfolgen aus UBL 2.1 und CII D16B; die Darstellung ist gekürzt. Für die vollständige Struktur sind die Schemata maßgeblich.
Passendes Werkzeug: E-Rechnung prüfen – lokal im Browser, ohne Datei-Upload.
Quellen
- OASIS UBL 2.1 XML Schemas (Elementreihenfolge in Invoice-2.xsd) (abgerufen 22.10.2026)
- UN/CEFACT CII D16B XML Schemas (abgerufen 22.10.2026)
- libxml2 – Schemavalidierung und Fehlermeldungen (abgerufen 22.10.2026)