fjh: von XML über XSLT zu SQL-Anweisungen?

Beitrag lesen

Hallo Florian,

Noch ein paar Worte vorweg: Ich bin Auszubildender und soll "mal kurz" eine Lösung finden, um die Daten, die unsere Datenbank füllen und die zur Zeit noch direkt in unseren Java-Klassen
untergebracht sind, außerhalb (möglichst flexibel) zu halten.
Dies sollte mit XML realisiert werden. >

Ok, verstanden ;-)

Ich versuche es nochmal:
Es geht also um die flexible Haltung der Daten für eine Datenbank, die die Grundlage unserer Servlets darstellt (Personendaten, Kundendaten, etc.)
Zur Zeit sind die Daten noch in unseren JavaKlassen und müssen bei Veränderungen dort geändert werden (umständlich und unflexibel, wir befinden uns noch in der Entwicklung). Um dies zu verhindern, sollen die Daten in einem möglichst universellen Format abgelegt werden(XML).

Bis hierhin nachvollziehbar.

Die so ausgelagerten Daten sollen durch ein XSLT-Stylesheet
in eine Datei umgewandelt werden, die nur noch aus entsprechenden SQL-Statemanets besteht (insert und update ,nicht create, da die Datenbank-Spezifikationen nicht noch hinzugefügt werden sollen - nur Daten). Eine JavaKLasse soll die Datei mit den SQL-Statements einlesen und dann die Datenbank mit den Daten füllen.

Ein Vorteil dieser Methode ist, daß der Kunde durch Ändern der XML-Datei (oder durch Ändern der Datei mit den SQL-Anweisungen)

seine Daten in der Datenbank aktualisieren kann. Spätere Sicherung der DatenbankDaten als XML-Datei wären möglich und für unterschiedliche Datenbanken müßten keine unterschiedliche Parser-Klassen geschrieben werden (wie beim direkten Parsen der XML-Datei)

Das leuchtet mir schon nicht mehr ein. Wozu brauchst du eigene Parser-Klassen für eigene Datenbanken? Wenn du zum Parsen die Standardklassen der standardisierten DOM bzw. SAX nimmst, bist du parserunabhängig.

Naja, aber da wird sich schon einer was gedact haben bei Euch, was ich gar nicht überblicke.

Naja, XSLT ist zumindest nicht in erster Linie dazu da, um  SQL-Statements zu generieren. Oder überspitzt, es ist eigentlich kompletter Blödsinn (außer man überzeugt mich vom Gegenteil‚;-)) XSLT zum Generieren von SQL-Statements zu benutzen.

ich weiß nicht, ob das sehr überzeugend war

für mich schon ;-)

die generierte Datei soll von einer Java Klasse eingelesen werden, die dann nur noch die Statements der Datenbank übermittelt.

ja, aber warum nicht gleich das Statement aus der XML-Datei generieren und losschicken. Weil der Kunde nochmal etwas ändern können soll, was automatisch generiert wird? Naja, why not.

Selbst wenn das irgendwie ginge wäre es doch um die Ecke gedacht und programmiert. Mit nem Parser ist das schnell erledigt aus der XML-Datei das SQL-Statement abzuleiten und dann auch gleich abzuschicken und das Ergebnis aus der DB weiterzuverarbeiten.

das ist auch eine Möglichkeit, ich sollte mich allerdings mit der anderen Variante auseinandersetzen, damit alles so flexibel wie möglich bleibt

wenn du auch in der Zwischenstufe noch eine Änderungsmöglichkeit durch den Kunden brauchst (warum auch immer), dann baruchst du natürlich die Datei. Aber auch die würde ich dann nicht mit Stylesheets erzeugen, sondern mit Java.

»»Darüber kann man natürlich streiten.
Ne, muss man gar nicht.

doch, doch. Durch Eure Nachrichten ist mir meine Aufgabe schon viel klarer geworden. Vielen Dank! Ich hoffe nur, daß ich Euch nicht zu sehr genervt habe.

ne gar nicht, is richtig interessant, mal was Konzeptionelles. Da kann man immer was bei lernen

Das stimmt, hätte mich auch gleich am Anfang klarer ausdrücken sollen.

Naja, unklar wars ja nur, weil der Kontext nicht mitkam.

Gruß
Franz