XSD-Validator
Ein wohlgeformtes XML-Dokument kann trotzdem falsch sein: fehlendes erforderliches Element, falscher Datentyp für ein Attribut oder Elemente in der falschen Reihenfolge. XSD (XML Schema Definition) beschreibt genau, wie das Dokument aussehen sollte. Dieser Validator kombiniert Ihr XML mit seinem XSD, führt den W3C XML Schema-Validator aus und listet jede Verletzung mit Zeile, Element und der spezifischen verletzten Einschränkung auf.
So validieren Sie XML gegen XSD
-
1
Fügen Sie beide Dateien ein
XML auf der einen Seite, XSD-Schema auf der anderen. Mehrere Schemata können zusammen eingefügt werden.
-
2
Validierung ausführen
Der Parser vergleicht Elemente, Attribute und Typen mit den Schema-Deklarationen.
-
3
Fehler überprüfen
Jede Verletzung zeigt den Elementpfad, die erwartete Einschränkung und den tatsächlichen Wert an.
-
4
Korrigieren und erneut validieren
Bearbeiten Sie direkt und führen Sie die Validierung erneut aus, ohne neu zu laden.
Was XSD überprüft
- Elementnamen und Kardinalität: erforderlich, optional, min/max Vorkommen.
- Elementreihenfolge: Sequenz, Auswahl, alle.
- Attributpräsenz und -typ: erforderlich vs. optional, Standardwerte, feste Werte.
- Datentypen:
xs:string,xs:integer,xs:decimal,xs:dateTime,xs:boolean,xs:anyURI, benutzerdefiniert. - Einschränkungen: min/max Länge, Aufzählungen, Regex-Muster, min/max Werte.
- Referentielle Integrität:
xs:key,xs:keyref,xs:uniquefür bereichsübergreifende Einschränkungen.
Typische Fehler
| Fehler | XSD-Einschränkung |
|---|---|
Fehlendes erforderliches Element <email> |
minOccurs="1" |
Zu viele <phone>-Elemente |
maxOccurs="2" überschritten |
| Wert “abc” ist kein gültiger Integer | type="xs:integer" |
| Wert “[email protected]” entspricht nicht dem Muster | xs:pattern auf xs:string |
| Elemente in falscher Reihenfolge | xs:sequence |
Unbekanntes Element <foo> |
Nicht im Schema deklariert |
| Duplikatschlüssel | xs:unique Verletzung |
Wahl zwischen XSD und Alternativen
- XSD: W3C-Standard, ausführlich, leistungsstark, weit verbreitet. Erste Wahl für Unternehmens-XML.
- RELAX NG: einfachere Syntax, ebenso ausdrucksstark. Beliebt in Dokumentationsformaten (DocBook, TEI).
- Schematron: regelbasiert, führt XPath-Assertions gegen das Dokument aus. Gut für Geschäftsregeln über die Struktur hinaus.
- DTD: älter, viel weniger ausdrucksstark. Immer noch in Gebrauch für historische HTML-Kompatibilität.
Viele Projekte verwenden XSD für die Struktur und Schematron für komplexe bereichsübergreifende Regeln.
Häufige Stolpersteine
- Namespaces müssen übereinstimmen. Wenn das XSD
targetNamespace="http://example.com"deklariert, das XML jedoch diesen Namespace nicht verwendet, schlägt die Validierung mit “keine Deklaration gefunden” fehl. - xs:anyType ist kein magischer Escape. Es entspricht allem, bietet jedoch keine Validierung.
- Standardwerte gelten nur, wenn das Attribut fehlt. Ein expliziter leerer Wert (
attr="") erhält nicht den Standard. - Whitespace-Verarbeitung variiert je nach Typ.
xs:stringbewahrt es,xs:tokenreduziert es,xs:normalizedStringersetzt Tabs/Zeilenumbrüche durch Leerzeichen.
Debugging-Workflow
- Zuerst ohne Schema validieren (Überprüfung der Wohlgeformtheit). Beheben Sie alle Parsing-Fehler.
- Dann gegen das Schema validieren.
- Konzentrieren Sie sich auf den ersten Fehler. XSD-Validatoren erzeugen manchmal Kaskadenfehler; der erste ist normalerweise am handlungsfähigsten.
- Verwenden Sie XPath, um das fehlerhafte Element in großen Dokumenten zu lokalisieren.
Häufig gestellte Fragen
Nein. Fügen Sie sie separat ein oder verweisen Sie im XML über xsi:schemaLocation auf das Schema. Die meisten Tools unterstützen beide Ansätze.
Ja. Wenn Elemente aus verschiedenen Namespaces erscheinen, benötigt jedes sein eigenes Schema. Fügen Sie alle ein; der Validator lädt sie alle.
XSD 1.0. Die zugrunde liegende libxml-Engine implementiert XSD 1.1 nicht, daher werden 1.1-spezifische Funktionen wie Assertions, bedingte Typen und offener Inhalt nicht erzwungen.
Nein. Ihr XML und Schema werden nur an den Server gesendet, um die Validierung für diese eine Anfrage auszuführen; sie werden danach nicht gespeichert oder protokolliert.
Verwandte Tools
Farbrad-Explorer
Erforschen Sie das Farbrad interaktiv. Rotieren Sie Harmonien, vergleichen Sie HSL mit RYB, erkennen Sie komplementäre und triadische Paare in Echtzeit.
ASCII-Tabelle Referenz
Vollständige ASCII-Tabelle von 0 bis 127 mit Dezimal-, Hex-, Oktal-, Binär- und numerischer HTML-Zeichenreferenz für jedes Zeichen, einschließlich Steuerzeichen wie NUL, LF und DEL.
CSS-Scrollbar-Generator
Passen Sie das Erscheinungsbild der Bildlaufleiste per CSS an. Modernes scrollbar-color / scrollbar-width und das ältere ::-webkit-scrollbar für breite Browser-Unterstützung.
HTML-Zeichenreferenz
Durchsuchbare Liste von HTML-Entitäten, ihren benannten und numerischen Codes sowie eine Ein-Klick-Kopie für Sonderzeichen und Symbole.
Zufallsbuchstaben-Generator
Erzeugen Sie zufällige A-Z-Buchstaben. Wählen Sie Anzahl, Großschreibung, Kleinschreibung oder gemischte Schreibweise für Spiele, Aufgaben und Unterricht.
SVG-Wellen-Generator
Erzeuge eine sanfte SVG-Wellen-Trennlinie für Header und Footer mit einstellbarer Amplitude, Frequenz, Farbe und Position oben oder unten. Kopiere den SVG-Code.
Tool in anderen Sprachen verfügbar
- Validador XSD [PT]
- Bộ xác thực XSD [VI]
- XSD-validerare [SV]
- เครื่องตรวจสอบความถูกต้องของ XSD (XSD Validator) [TH]
- Validator XSD [ID]
- XSD 검증기 [KO]
- Validador XSD [ES]
- XSDバリデーター [JA]
- مُحقق تنسيق XSD [AR]
- Validateur XSD [FR]
- XSD-validator [NL]
- Walidator XSD [PL]
- Validator XSD [IT]
- Валидатор XSD [RU]
- XSD Doğrulayıcı [TR]
- XSD 校验工具 [ZH]
- XSD Validator [EN]