Ich fand XSD sehr schwierig als Modell für die Code-Generierung zu verwenden. Es ist zu flexibel und komplex, um für meine Bedürfnisse praktisch zu sein. Der stark typisierte DataSet-Designer/Generator ist ein großartiges Beispiel für einen Versuch, XSD als Codegenerierungsmodell zu verwenden. Es funktioniert die meiste Zeit OK, aber unterstützt nicht alle möglichen Schemas, die Sie darauf werfen könnten. Auf der anderen Seite kann XSD keine Informationen darstellen, die zum direkten Erzeugen von Tabellenadaptern benötigt werden, daher mussten DataSet-spezifische Erweiterungen erstellt werden.
Wenn Sie sich dafür entscheiden, XSD als Modell zu verwenden, werden Sie wahrscheinlich eine einfache Untermenge auswählen wollen, die ausreichend ist für das, was Sie generieren müssen. Ein Ansatz könnte sein, ein XSD-Schema in ein DataSet-Objekt zu laden und dieses DataSet-Objekt als Modell zu verwenden. DataSet-Metadaten sind wesentlich einfacher zu verwenden als Allzweck-XSD. Auf diese Weise können Sie auch den vorhandenen DataSet-Designer in Visual Studio zum Bearbeiten Ihrer Modelle verwenden.
Ich denke, das ist die beste Lösung an dieser Stelle. Eine bessere Lösung ist wahrscheinlich, die Situation von Anfang an zu vermeiden. – Will
Um dies zu aktualisieren: Im Moment überprüfe ich dieses Projekt http://oxmlibrary.codeplex.com/ - Es scheint ein bisschen hackish, aber mehr "hackable", wenn das Sinn macht. –
Will, ich bin wieder genau so. Die Vermeidung mag am besten sein, aber für den Fall, dass in xsd ein Industriestandard definiert wurde, ist das Generieren von Klassen aus dem Schema eine sehr gültige Operation. Obwohl nicht viel Spaß. –