Ich suche ein Tool, das ein XML-Instanzdokument verwendet und ein entsprechendes XSD-Schema ausgibt.
Ich bin mir sicher bewusst, dass das generierte XSD-Schema im Vergleich zum manuellen Erstellen eines Schemas begrenzt ist (es werden wahrscheinlich keine optionalen oder sich wiederholenden Elemente oder Datenbeschränkungen behandelt), aber es könnte zumindest als schneller Ausgangspunkt dienen.
xsd.exe
sich unter Windows 7 geändert zu haben. Ich habe es in vielenMicrosoft SDKs
Verzeichnissen (also scheint es nicht mehr unbedingt von Visual Studio abhängig zu sein?), Darunter dieses :C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools
. Ich musste es in dem Verzeichnis ausführen, das die XML enthält, um einen Fehler über "unzulässige Zeichen im Pfad" zu verhindern, aber das kann an dem langen Dateinamen liegen, den ich habe.Sie können eine Open Source- und plattformübergreifende Option verwenden: inst2xsd aus Apaches XMLBeans . Ich finde es sehr nützlich und einfach.
Einfach herunterladen, entpacken und spielen (es erfordert Java).
quelle
Trang ist hier die beste Option. Open Source und plattformübergreifend (obwohl Java erforderlich ist)
Von der Trang-Website:
Download-Link
quelle
$ trang file.xml schema.xsd
.Wenn Sie in VS2010 eine XML-Datei in den Editor laden, klicken Sie auf das XML-Menü >> Schema erstellen.
quelle
Es gibt auch
XML schema learner
welche auf Github .Es kann mehrere XML-Dateien aufnehmen und aus all diesen Dateien eine gemeinsame XSD extrahieren .
quelle
sudo apt-get install php5-cli
und Ausführen./learn --help
--- Ich sehe nicht wirklich den Unterschied zwischen diesem und einem in Java, Python oder Ruby geschriebenen Tool :)locality
Feld: Wenn ein Feldname an mehreren Stellen im XML verwendet wird, der sich auf verschiedene Elemente bezieht , ist ein größererlocality
Wert als 1 erforderlich, z. B.root/item
undroot/something/item
bezieht sich auf verschiedene Typen, dann--locality 2
ist er mindestens erforderlichWenn Sie .Net installiert haben, ist standardmäßig bereits ein Tool zum Generieren von XSD-Schemas und -Klassen enthalten.
Für mich ist das XSD-Tool unter der folgenden Struktur installiert. Dies kann je nach Installationsverzeichnis unterschiedlich sein.
Normalerweise funktionieren die Klassen und Schemas, die dieses Tool generiert, recht gut, insbesondere wenn Sie sie in einer .NET-Sprache verwenden
/o:<your path>
Normalerweise nehme ich das gewünschte XML-Dokument, schiebe es mit dem Flag durch das XSD-Tool , um ein Schema (xsd) zu generieren, und schiebe dann die xsd-Datei mithilfe der/classes /L:VB (or CS) /o:<your path>
Flags durch das Tool zurück , um Klassen zu erhalten, die ich importieren und verwenden kann in meinen täglichen .Net-Projektenquelle
Wenn Sie nur XSD möchten, bietet LiquidXML eine kostenlose Version für XSDs und eine grafische Benutzeroberfläche, mit der Sie die XSD optimieren können, wenn Sie möchten. Heutzutage schreibe ich sowieso meine eigenen XSDs von Hand, aber das alles dank dieser App.
http://www.liquid-technologies.com/
quelle
Wenn Sie in der Java-Welt arbeiten, bietet die IntelliJ-Idee auch umfangreiche XML-Unterstützung, einschließlich xsd-Generierung und samle xml aus der xsd-Generierung. Mit Plugins können Sie xslt-Debugger erhalten. - Besonders schön, wenn Sie später Tools wie jaxb verwenden möchten.
quelle
Altova XmlSpy macht das gut - eine Übersicht finden Sie hier
quelle
Dies ist ein alter Thread, aber ich dachte, es könnte nützlich sein, diesen Link zu posten: Ich habe gerade dieses Tool gefunden: xsd-gen XML-Schema aus XML generieren
und es hat einfach getan, was ich brauchte.
quelle