Autor Beitrag
Heimwerkerking
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mo 13.08.07 16:38 
Hallo,

ich habe ein ziemlich komplexes Problem zu lösen. Ich soll eine Art XSD/XML Editor programmieren.
Das XSD-Schema soll dynamisch zur Laufzeit eingelesen werden, daraus entsprechende Klassen erstellt werden. Dass soll auch die XML-File eingelesen werden und die Attribute in die Klassen eingetragenm werden.

Könnte das mit der XSD.exe funktionieren? Damit kann man ja .cs Dateien erzeugen, wo die Klasse drinn ist. Kann man diese .cs Datei dann auch zur Laufzeitkompilieren? Die xml File kann man dann mittels Serializer einlesen.
Oder bin ich da total auf dem Holzweg.

Die andere Möglichkeit wäre, dass ich das Schema direkt "von Hand" einlese und die Klasse erzeuge, was aber doch ziemlich aufwändig ist.


Könnt ihr mir ein paar Tipps geben, wie ich da am besten ran gehen sollte.
Vielen Dank schon mal im vorraus.

Heimwerkerking
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Mo 13.08.07 16:42 
Ich kann dir nicht helfen, aber ich habe eine Frage:
Was soll das bedeuten: "daraus entsprechende Klassen erstellt werden" ?
Kannst du mal ein kurzes Beispielschema mit entsprechender Klasse posten? Damit ich weiß, was du meinst.

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
Heimwerkerking Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mo 13.08.07 17:24 
Hallo Marco,

man kann mittels dem Framwork-Tool xsd.exe aus Schema-Files klassen erzeugen,
und das für C#, VB, J#. Man muss dann die Sprache angeben

Hier der Befehl für das Beispiel im Anhang:
xsd bezirke.xsd /classes /language:cs

Damit hab ich aus der Bezirke.xsd die Bezirke.cs erzeugt.

Schade, dass du mir nicht helfen kannst, aber vielleicht konnte ich dir helfen.

Gruß
Heimwerkerking
Einloggen, um Attachments anzusehen!
Heimwerkerking Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Di 14.08.07 16:00 
Sodele,

meine Aufgabenstellung ist nun etwas klarer geworden.
Das eingelesene Schema soll doch nicht veränderbar sein. Das macht die Sache deutlich einfacher. Es soll nur immer eine andere XSD-Datei einlesbar sein.
Ich werde XML und XSD jeweils in einen XML-Baum einlesen.
Wenn Daten im XML editiert werden, wird im XSD-Baum nach den entsprechenden Beschränkungen (Typ, min, max, ...) gesucht und diese berücksichtigt.

So spare ich mir das komplette Einlesen in dynamische Variablen/Objekte.

Was meint ihr dazu? Habt ihr noch irgendwelche Vorschläge oder Tipps?

Gruß
Heimwerkerking