Sorry, JavaScript must be enabled.
Change your browser options, then try again.

. .
 | !Login  | Contact  | Impint

XML/XSLT Kenntnisse

In der Anfangsphase meines CMS Projekts habe ich mich ausführlich mit dem XML/XSLT/Java Framework  Cocoon  beschäftigt. Cocoon ist aus dem Rennen, aber XSLT setze ich hin und wieder noch ganz gerne für die Codegenerierung ein.

Mein CMS hat ca. 30 Taballen die alle eine gemeinsame Basis Tabelle erweitern. Hibernate unterstützt zwar Vererbung, aber das Reverseengineering Tool, das Konfigurationen aus der Datebank erzeugt, noch nicht. Um nicht alle 30 Konfigurationsdateien anfassen zu müssen, habe ich mir ein XSLT Script geschrieben, das die vom reverse Engineering generierten hbm.xml Files in joined subclass hbm.xml Files konvertiert. Aus diesen Files generiere ich mir mit HBM2JAVA meine (abstrakten) Java Klassen.

Aus der nachfolgenden TypPerson.hbm.xml Ausgangsdatei:

wird mit diesem XSLT Stylesheet:

die folgende

Ein weiteres XSLT generiert leere Subklassen für alle joined subclasses, in die ich die Funktionalitäten für die persistenten Klassen implementiere und so vor dem Überschreiben durch die Codegenerierung schütze:

Nach dem reverse Engineering aus der Datenbank wird die gesamte Codegenerierung von einem Ant Buildfile angestoßen: