# XSD > XML > Java



## javaXZZ (1. Feb 2010)

Hallo,

ich habe folgendes "Problem". 

Ich definiere selbst eine XSD Datei, die in einem Programm geladen wird, welches daraus eine grafische Oberfläche baut. In dieser App kann ich Felder befüllen und als Ergebnis bekomme ich eine XML-Datei (basierend auf dem XSD - logisch).

So. Nun möchte ich diese XML Datei in Java möglichst flexibel auslesen. Flexibel bedeutet hier folgendes: Das Schema kann sicher jederzeit ändern!! 

Was kann ich verwenden und wie könnte ich das ganze angehen? Ist hier JAXB die richtige Wahl?


----------



## Noctarius (1. Feb 2010)

Japp ist es


----------



## javaXZZ (1. Feb 2010)

Hmm aber wie kann ich da flexibel bleiben wenn ich Javaseitig jedesmal die Klassen anpassen darf?


----------



## Noctarius (1. Feb 2010)

Die Frage versteh ich nicht.


----------



## musiKk (1. Feb 2010)

Naja, das ist wohl eine Bezugnahme auf "Das Schema kann sicher jederzeit ändern!!".

Wie soll sich das sinnvoll auf Klassen abbilden lassen? Der Code, der die Klassen verwendet, muss ja dann ebenfalls immer angepasst werden.


----------



## Noctarius (2. Feb 2010)

Das macht ein neuer Generate Vorgang auf dem XSD doch automatisch!?


----------



## Wildcard (2. Feb 2010)

EMF dürfte das flexibelste dafür sein. Wahlweise dynamisches EMF, wenn zur Laufzeit beliebige XSDs verwendet werden sollen, oder statisches, wenn du zur Compilezeit das XSD austauschst.


----------



## javaXZZ (7. Feb 2010)

Ja, ich arbeite mit Maven und erstelle die Klassen aus der XSD automatisch...

Mir wäre es am liebsten wenn ich irgendwie so eine Art "Versionierung" einbauen könnte. Also so dass meine Programmlogik nur mit bestimmten XSD-Versionen arbeiten "darf". Wie könnte ich sowas am besten lösen? Eine einfache Versionierungsnummer in die XSD schreiben und dann innerhalb der Programmlogik einfach abfragen?


----------

