Erstellen Sie eine SQLite-Datenbank basierend auf einem XSD-Datensatz
Frage
Weiß jemand, ob es eine Möglichkeit gibt, eine SQLite-Datenbank basierend auf einer XSD zu erstellen? DataSet
?In der Vergangenheit habe ich nur einen einfachen SQLite-Manager verwendet, möchte die Dinge aber etwas mehr mit meinem verschmelzen .NET
Entwicklung wenn möglich.
Lösung
Ich vermute, dass dies im allgemeinen Fall schwierig ist;XML-Schema ermöglicht einige ziemlich bizarre Typkonstruktionen.Ich bin mir nicht sicher, wie Sie beispielsweise Substitutionsgruppen oder Erweiterungen von Typenbeschränkungen durchführen würden.
Es sollte jedoch möglich sein, recht schnell etwas zusammenzustellen (insbesondere die Zuordnung aus den Klassen in System.Xml.Schema), das für 90 % der Schemata funktioniert (d. h.Sequenz- und Auswahlelemente mit ein paar einfachen Datentypen).
Andere Tipps
Möglicherweise könnten Sie eine XSL-Transformation verwenden, um die XSD in SQL-Tabellendefinitionen umzuwandeln.Ebenso kann ich keine früheren Beispiele dafür finden, aber ich hätte gedacht, dass es möglich wäre.
Ich könnte mir vorstellen, dass ein generisches XSLT für XSD->SQL, sobald es geschrieben ist, auf jedes solche Szenario angewendet werden könnte (und auch plattformübergreifend wäre).Vielleicht hat das schon mal jemand gemacht...
Ich bin sicher, Sie könnten eine kleine App schreiben, die eine XSD-Datei nimmt und sie in ein SQL-Skript analysiert.Ich habe allerdings noch nie Code dafür gesehen, aber das bedeutet nicht, dass er nicht existiert.