XML zu XSD Konverter
Füge dein XML ein oder lade es hoch und erhalte ein fertiges XSD-Schema zurück. Dieses Tool liest die Struktur deines Dokuments und ermittelt Elemente, Attribute, Datentypen und Wiederholungsregeln von selbst, direkt in deinem Browser.
Erzeugtes XSD
Wiederverwendbare komplexe Typen, einer je eigenem Elementnamen.
Bereit, wenn du es bist
Füge links dein XML ein oder lade das Beispiel, und klicke auf XSD-Schema erzeugen.
Verwandle jedes XML-Dokument in ein funktionierendes XSD-Schema
Die meisten XSD-Generatoren verlangen eine Desktop-Installation oder kommen nur mit trivialen Dokumenten klar. Dieses Tool durchläuft deinen gesamten XML-Baum, fasst wiederholte Tags zu einem einzigen wiederverwendbaren Typ zusammen und ermittelt Datentypen und Wiederholungsregeln aus den Werten, die es tatsächlich findet, damit das Schema zu deinen echten Daten passt und nicht zu einer generischen Vorlage.
Ausgabe als XML Schema Definition (XSD 1.0)
Was diesen XSD-Generator anders macht
Gebaut für echte XML-Dokumente, nicht für ein Spielzeugbeispiel.
Präzise Wiederholungsregeln
Wiederholte Geschwister-Tags werden automatisch zu maxOccurs="unbounded". Ein Feld, das in nur einem Datensatz fehlt, wird mit minOccurs="0" markiert, damit das Schema zu Dokumenten mit optionalen Feldern passt.
Fünf erkannte Datentypen
Text- und Attributwerte werden gegen xs:integer, xs:decimal, xs:boolean, xs:date und xs:dateTime geprüft und fallen auf xs:string zurück, wenn ein Wert nicht sauber passt.
Wiederverwendbare komplexe Typen
Jeder eigene Elementname bekommt einen benannten komplexen Typ, der überall referenziert wird, wo er wieder vorkommt. Rekursive Tags, etwa eine verschachtelte Ordnerstruktur, nutzen denselben Typ, statt den Generator zu sprengen.
Optionaler Ziel-Namespace
Ergänze eine Namespace-URI und wähle qualified oder unqualified, oder lass das Feld leer für ein einfaches Schema ganz ohne Namespace.
Attribute korrekt behandelt
Attribute, die bei jeder Instanz eines Elements vorkommen, werden zu use="required"; Attribute, die nur bei manchen Instanzen auftauchen, werden zu use="optional", jeweils mit eigenem erkanntem Typ.
Nichts verlässt deinen Browser
Parsen, Typerkennung und Schema-Erzeugung laufen komplett clientseitig in JavaScript. Dein XML wird nirgendwo hochgeladen, was bei internen Konfigurationen und echten Kundendaten zählt.
So funktioniert die Typerkennung
Eine kurze Referenz dafür, was im erzeugten Schema steht und warum.
| Muster im XML | Was das Tool prüft | Ergebnis im XSD |
|---|---|---|
| Derselbe Tag kommt zweimal unter einem Elternteil vor | Zählt die höchste je gesehene Anzahl an Geschwistern | maxOccurs="unbounded" |
| Ein Kind-Tag fehlt in einem Datensatz | Prüft, ob der Tag bei jeder Instanz des Elternteils vorkommt | minOccurs="0" |
| Text besteht immer aus ganzen Zahlen | Prüft jeden Stichprobenwert gegen ein Ganzzahl-Muster | xs:integer |
| Text mischt ganze Zahlen und Dezimalzahlen | Jede ganze Zahl ist auch eine gültige Dezimalzahl | xs:decimal |
| Text mischt Zahlen und Wörter | Kein einzelnes Muster passt zur gesamten Stichprobe | xs:string (sichere Rückfalloption) |
| Ein Element enthält weitere Elemente | Baut einen benannten, wiederverwendbaren komplexen Typ | xs:complexType mit xs:sequence |
| Ein Element hat ein Namespace-Präfix | Präfix wird vor der Analyse entfernt | Nur der lokale Elementname |
Das Tool nimmt bis zu 200 Stichprobenwerte je Feld, mehr als genug, um das Muster in typischen Dokumenten zu erkennen.
Was dieses Tool nicht macht
Ehrlich über die Grenzen, denn ein aus einem einzigen Beispiel abgeleitetes Schema ist ein Ausgangspunkt, keine zertifizierte Spezifikation.
- Es löst Namespace-URIs nicht in getrennte Schemas auf; jedes Präfix wird entfernt, und das Ergebnis beschreibt nur lokale Elementnamen.
- Gemischter Inhalt (Text neben Kindelementen) wird mit mixed="true" markiert, aber nicht Feld für Feld modelliert.
- Es leitet die Regeln aus der Stichprobe ab, die du lieferst. Ein Feld, das in deiner Stichprobe zufällig eine Zahl ist, andernorts aber Text sein könnte, wird hier trotzdem als Zahl typisiert.
- Es erzeugt XSD-1.0-Syntax, die nach wie vor fast jedes XML-Tool und jeder Validator erwartet.
So funktioniert XML zu XSD Konverter
Dieses Tool liest dein XML im Browser und ermittelt das passende XSD-Schema dazu. Es durchläuft jedes Element, gruppiert die, die sich einen Tag-Namen teilen, egal wo sie vorkommen, und prüft dann, wie oft jeder Tag als Geschwister auftaucht. Enthält ein Elternteil irgendwann mehr als eines, markiert das Schema es mit maxOccurs="unbounded". Taucht der Tag bei jeder Instanz seines Elternteils auf, bleibt minOccurs bei 1; sonst sinkt es auf 0, damit das Schema auch Dokumente akzeptiert, denen dieses Feld fehlt.
Attribut- und Textwerte werden genauso behandelt. Das Tool nimmt eine Stichprobe der gefundenen Werte je Attribut und je Textinhalt und prüft sie gegen Muster für ganze Zahlen, Dezimalzahlen, Booleans, Datum und Datum-Uhrzeit. Passt die gesamte Stichprobe zu einem Muster, wird das der XSD-Typ. Stimmen die Werte nicht überein, greift xs:string, damit das Schema nie einen echten Wert wegen eines einzelnen Ausreissers ablehnt.
Elemente, die weitere Elemente enthalten, bekommen einen eigenen benannten komplexen Typ, der überall wiederverwendet wird, wo dieser Tag erneut vorkommt. Genau diese Wiederverwendung verhindert auch, dass eine rekursive Struktur, etwa ein Ordnerbaum aus verschachtelten node-Tags, ein endloses Schema erzeugt.
Namespace-Präfixe werden vor der Analyse entfernt, weil sich die passende namespace-fähige Struktur aus einem einzigen Beispieldokument nicht zuverlässig erraten lässt. Nichts, was du einfügst oder hochlädst, verlässt deinen Browser; das XML wird geparst und verworfen, sobald das Schema auf dem Bildschirm erscheint.
So verwenden Sie XML zu XSD Konverter
XML einfügen oder hochladen
Lade eine .xml-Datei hoch oder füge das Markup direkt ein. Ein Beispielkatalog ist bereits geladen, damit du das Tool zuerst in Aktion sehen kannst.
Schema-Optionen einstellen (optional)
Ergänze einen Ziel-Namespace, falls dein Schema einen braucht, und wähle, ob neue Elemente qualified oder unqualified sind. Lass beides leer für ein einfaches Schema ohne Namespace.
Schema erzeugen
Das Tool durchläuft das gesamte Dokument, fasst wiederholte Tags zusammen und ermittelt minOccurs, maxOccurs und den Datentyp für jedes Element und Attribut.
XSD kopieren oder herunterladen
Kopiere das Schema in die Zwischenablage oder lade es als .xsd-Datei herunter und validiere dein ursprüngliches XML in deinem Editor oder deiner Pipeline dagegen.
Anwendungsbeispiel
Das Attribut von <preis> wird xs:decimal, und <vorraetig> erhält minOccurs="0", weil nur eines der beiden Bücher es hat:
Häufig gestellte Fragen
Was ist ein XSD-Schema, und warum sollte ich eines aus einer XML-Datei erzeugen?
Wie entscheidet das Tool, ob ein Element erforderlich oder optional ist?
Warum erhalten manche Elemente maxOccurs="unbounded"?
Erkennt es Datentypen wie Zahlen, Booleans und Datumsangaben automatisch?
Was passiert mit Namespaces und Präfixen in meinem XML?
Kommt das Tool mit tief verschachteltem oder selbstreferenzierendem XML zurecht, etwa einer Ordnerstruktur?
Validiert das erzeugte Schema meine ursprüngliche XML-Datei?
Was, wenn mein XML Text und Kindelemente im selben Tag mischt?
Wird mein XML auf einen Server hochgeladen?
Kann ich für das erzeugte Schema einen Ziel-Namespace festlegen?
Verwandte Werkzeuge
XML-Formatierer
XML-Code formatieren und verschönern.
XML-zu-JSON-Konverter
Konvertieren Sie XML-Daten sofort in das JSON-Format. Einfacher, schneller und kostenloser Online-Konverter.
XML-Validator
Validieren Sie Ihre XML-Syntax und -Struktur anhand von Standardregeln.
XML-zu-CSV-Konverter
Konvertieren Sie XML-Daten sofort in das CSV-Format. Extrahieren Sie strukturierte Daten aus XML.
JSON-zu-XML-Konverter
Wandeln Sie JSON-Daten in das XML-Format um.
XPath-Testtool
Testen und validieren Sie XPath-Ausdrücke anhand von XML- oder HTML-Dokumenten. Debuggen Sie Abfragen sofort.
XML zu XSD Konverter wird von CodeItBro gewartet. Wir streben danach, die besten kostenlosen Entwicklerwerkzeuge im Web bereitzustellen. Wenn Sie Feedback oder Vorschläge haben, besuchen Sie bitte unsere Kontaktseite.

