Tool zum Generieren von XSD aus XML

Ich verarbeite XML-Anfragen über einen Webdienst. Oft möchten meine Kunden die XSD zusammen mit der Anforderungs-XML, damit sie die XML validieren können, bevor sie die Anforderung senden.

Gibt es ein Open-Source-Tool, das Sie empfehlen können, um die XSD aus der XML-Datei zu generieren?

Der in der Antwort von Kodiologist angesprochene Punkt ist sehr relevant. Nur um dies deutlicher zu machen: Mit "meine Kunden würden die XSD zusammen mit der Anforderungs-XML wünschen" meinen Sie, dass sie die Anforderungs-XML erstellen und senden, nachdem Sie ihnen die XSD gegeben haben, richtig? Seien Sie sich bewusst, dass sie wahrscheinlich erwarten werden, dass Ihr Code in der Lage sein wird, jedes XML, das basierend auf der XSD gültig ist, sinnvoll zu verarbeiten, und nichts darüber hinaus.

Antworten (3)

Ihre Kunden fragen nach einem Schema, das Sie für diesen Zweck geschrieben haben und von dem Sie wissen, dass es korrekt ist, damit sie vor dem Senden einer Anfrage überprüfen können, ob es das ist, was Ihr Dienst unterstützt. Das automatische Generieren eines Schemas aus einigen Beispielanforderungen würde nur eine Beschreibung des Beispiels erzeugen, keine genaue Spezifikation dessen, was Sie unterstützen.

Ich habe die Generatoren in oXygen und Stylus Studio verwendet und beide machen einen vernünftigen Job - aber Sie sollten bereit sein, die Ausgabe danach von Hand zu bearbeiten. Wenn Ihre Beispieldaten beispielsweise die Werte „Montag“, „Donnerstag“ und „Freitag“ für ein bestimmtes Feld enthalten, kann die Software auf keinen Fall erraten, was der vollständige Satz zulässiger Werte ist.

Es ist bedauerlich, dass sowohl oXygen als auch Stylus Studio kostenpflichtige Tools sind, aber sie haben zumindest kostenlose Testperioden. Sie können Stylus Studio sogar verwenden, ohne Ihre E-Mail-Adresse preiszugeben – Sie können im ersten Popup-Fenster auf „Später“ klicken, um auf das Tool zuzugreifen.

Google xml2xsdund Sie werden mehrere finden, einschließlich https://www.freeformatter.com/xsd-generator.html . dass man 3 Schemastile unterstützt