Guten Morgen!
Ich bin derzeit dabei, ein Anwendungsprogramm in Java zu programmieren. Die per Schemadatei vorgegebene XML-Datenstruktur wollte ich dabei per JaxB direkt generieren und nutzen, aber nun habe ich folgendes Problem:
Alle Schema-Dateien (9 an der Zahl) nutzen denselben Header (und andere allgemeine Elemente) die aus den jeweiligen Unterschemen importiert werden, dieses würde dafür sprechen, dass alle generierten Klassen in dasselbe Package generieren lasse, um so auf die "simple" Art sicherzustellen, dass alle Klassen die entsprechenden allgemeinen Klassen nutzen, und nicht jedes Schema seinen eigenen Headertyp definiert.
Leider sind innerhalb der Schemadateien nun einzelne Elemente gleich benannt, allerdings ist der "Fahrzeug"-Typ eines Schemas völlig anders aufgebaut als der "Fahrzeug"-Typ eines nächsten. Und da alles nacheinander weg generiert wird überschreiben sie sich einfach so lange bis der letzte siegt.
Nun ist meine Frage, kennt sich jemand gut genug damit aus um mir einen Tipp zu geben, wie ich die allgemeinen Elemente in ein eigenes Package generieren lasse und trotzdem allen anderen Klassen automatisch den Verweis auf dieses Package gebe?
Ergo, statt alles in de.generated.foo zu generieren, eine Struktur ähnlich so zu bekommen:
de.generated.foo.allgemein
de.generated.foo.schema1
de.generated.foo.schema2
Und das ganze sinnvollerweise ohne, oder zumindest ohne zu große, Änderungen an den Schemata? Ich kann es machen indem ich im Nachhinein manuell an den generierten Sourcen Ändeurngen vornehme..aber das ist ja nun wirklich nicht der Sinn von Codegenerierung..
mfg
Sadik
Ich bin derzeit dabei, ein Anwendungsprogramm in Java zu programmieren. Die per Schemadatei vorgegebene XML-Datenstruktur wollte ich dabei per JaxB direkt generieren und nutzen, aber nun habe ich folgendes Problem:
Alle Schema-Dateien (9 an der Zahl) nutzen denselben Header (und andere allgemeine Elemente) die aus den jeweiligen Unterschemen importiert werden, dieses würde dafür sprechen, dass alle generierten Klassen in dasselbe Package generieren lasse, um so auf die "simple" Art sicherzustellen, dass alle Klassen die entsprechenden allgemeinen Klassen nutzen, und nicht jedes Schema seinen eigenen Headertyp definiert.
Leider sind innerhalb der Schemadateien nun einzelne Elemente gleich benannt, allerdings ist der "Fahrzeug"-Typ eines Schemas völlig anders aufgebaut als der "Fahrzeug"-Typ eines nächsten. Und da alles nacheinander weg generiert wird überschreiben sie sich einfach so lange bis der letzte siegt.
Nun ist meine Frage, kennt sich jemand gut genug damit aus um mir einen Tipp zu geben, wie ich die allgemeinen Elemente in ein eigenes Package generieren lasse und trotzdem allen anderen Klassen automatisch den Verweis auf dieses Package gebe?
Ergo, statt alles in de.generated.foo zu generieren, eine Struktur ähnlich so zu bekommen:
de.generated.foo.allgemein
de.generated.foo.schema1
de.generated.foo.schema2
Und das ganze sinnvollerweise ohne, oder zumindest ohne zu große, Änderungen an den Schemata? Ich kann es machen indem ich im Nachhinein manuell an den generierten Sourcen Ändeurngen vornehme..aber das ist ja nun wirklich nicht der Sinn von Codegenerierung..
mfg
Sadik