XML-/XSD-Validator
ServerseitigBeispiele
Validierungsergebnis
XSD-Schema
XML-Dokument
Technische Details
So funktioniert der XML-/XSD-Validator
Was das Tool macht
Dieser XML-XSD-Validator prüft XML-Dokumente serverseitig gegen XML-Schema-Definitionen. Das Tool validiert Struktur, Datentypen, Elementreihenfolge und Attributanforderungen, die in Ihrem Schema definiert sind. Wenn die Validierung fehlschlägt, meldet es spezifische Fehler mit Zeilen- und Spaltennummern, sofern verfügbar. Der Validator verarbeitet Namespaces, komplexe Typen, Sequenz-Constraints und Schema-Facets wie Pattern-Matching und Werteinschränkungen.
Beispiel: Validierung eines Buchkatalogs
Betrachten Sie dieses XSD-Schema, das verlangt, dass Bücher ganzzahlige IDs und dezimale Preise haben:
<xs:element name="book">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="price" type="xs:decimal"/>
</xs:sequence>
<xs:attribute name="id" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>Ungültiges XML wie <book id="abc"><price>not-a-number</price></book>würde bei der Validierung mit Typ-Constraint-Fehlern sowohl für das ID-Attribut als auch für das price-Element fehlschlagen.
Häufige Anwendungsfälle
Entwicklerinnen und Entwickler nutzen XML-Schema-Validierung bei der Integration mit SOAP-APIs, beim Validieren von Konfigurationsdateien oder beim Verarbeiten von Datenaustauschformaten. Typische Szenarien sind das Validieren von API-Antworten gegen veröffentlichte Schemas, das Prüfen von Konfigurationsdateien vor dem Deployment und das Sicherstellen der Datenqualität in ETL-Pipelines. Der Validator ist besonders nützlich, um Typinkonsistenzen, fehlende Pflicht-Elemente und falsche Elementreihenfolgen zu erkennen, bevor Daten Produktionssysteme erreichen.
Validierungs-Engine und Einschränkungen
Dieses Tool verwendet libxml2 über das libxmljs-Node.js-Binding und bietet Konformität mit XML Schema 1.0. Der Validator verarbeitet Schemas aus Sicherheitsgründen vollständig serverseitig und ruft keine externen Ressourcen ab und löst keine netzwerkbasierten Imports auf. Die Verarbeitung externer Entities (XXE) ist aus Sicherheitsgründen deaktiviert. Schema-Includes und -Imports funktionieren nur, wenn alle referenzierten Schemas im Haupt-XSD-Inhalt bereitgestellt werden.
- Netzwerkzugriff:Aus Sicherheitsgründen blockiert
- Schema-Imports:Müssen inline sein, keine externe Auflösung
- Externe Entities:Deaktiviert (XXE-Schutz)
- Verarbeitungslimits:Es gelten angemessene Größenlimits
Serverseitige vs. clientseitige Verarbeitung
Clientseitige Prüfungen der XML-Wohlgeformtheit reichen für eine grundlegende Syntaxvalidierung aus. Für die XSD-Validierung ist jedoch eine spezialisierte Engine erforderlich, da Browser keine XML-Schema-Prozessoren enthalten. Serverseitige Validierung sorgt für konsistente Ergebnisse, verarbeitet komplexe Schemafunktionen wie Vererbung und Imports und bietet eine Sicherheitsisolation gegenüber potenziell bösartigem XML-Inhalt.