Transformationsalgorithmus oder wie geht man bei grösseren Projekten vor?

Wolfi123

Grünschnabel
Hallo Zussammmen,
ich habe eine Frage an Euch Profis.

Ich habe ein Projekt bei dem ich ein Transformationsalgorithmus entwerfen soll. Es existieren zwei Kommunikationspartner, die mit Hilfe von XML Nachrichten kommunizieren sollen. Dabei wird eine Asynchrone Kommunikation verwendet, sprich Queues und Topics. Das ist aber nicht das wichtigste. Diese beiden Ansprechpartner verwenden unterschiedliche XML Nachrichten. Diese sind änlich aufgebaut, aber trotzdem unterschiedlich. Ich sollte einen Adapter bauen, der die Nachrichten passend übersetzt. Ich habe zwei XML-Schemas zur Verfügung bekommen. Diese beiden sind ziemlich unfangreich, etwa 90 Seiten. Und manchmal so was von unübersichtlich, ich meine eine Definition verweist auf die andere und so weiter. Es dauert ziemlich lange, wenn ich versucht die Unterschiede einzelner Attribute rauszufinden, da die komplex aufgebaut sind.

Ich habe mir das folgende Vorgehensweise ausgedacht:

1. Feststellung der Unterschiede zwischen den einzelnen Attributen oder Elementen.
2. XSLT oder änliche Techniken anwenden um die Nachrichten zu übersetzen...

1.: Wie kann ich die Unterschiede schneller festellen. Ich versuche jedes mal die Definitionen aus dem XML-Schema zu extrahieren oder zu isolieren. Dauert immer ziemlich lange, da zicht Verweise und immer unterschiedliche Namespaces. Kann ich es schneller machen?
Automatisierung? Oder ein kleines Tool schreiben, der die alle dann rausschneidet und die separate Datei ablegt oder noch besser zusammenfast. Aber wie, bei verschied. Namespaces?

2.: Das ganze soll in Java statt finden, das ist nicht das Problem, sondern gibt es Alternativen für XSLT: Ich habe an eigene Sprache gedacht, die ich auch in XML Format defeniere und vom Adapter interpretieren lasse...

Allgemeine Frage: Wie soll man am besten bei so einem Problem vorgehen?
Gibt es bestimmte Techniken?
Wie würdet Ihr das Problem lösen? Oder was ist die beste Lösung?

Vielen Dank für Eure Aufmerksammkeit...

Ich bin für jeden Tip dankbar...

Vielen Dank im Voraus..

Gruß,

Alex
 
Zurück