Hallo eddi,
Gut, wenn man nur von einem "Daten aus der DB --> HTML" ausgeht, _mag_ der Weg über XML/XSLT (also "Daten aus der DB ---> XML/XSLT --> HTML") als ein Umweg erschienen. Es kommt aber auf die Daten und auf die Ausgabe an.
In so einem Fall ist oft ein ziemlicher Arbeit das Ausgabescript zu schreiben (mit all dem HTML etc. drinn) und bei Änderungen muss dieses immer wieder angefasst werden.Ich bitte Dich! ;)
Du wirst doch sicher nicht HTML und PHP in einer Datei haben...
_Ich_ wohl kaum ;-)
(wir haben mal in einem Projekt zu dieser Frage sogar Benchmark-Tests gemacht (auch hinsichtlich Wartbarkeitsaufwand), wobei dort um ziemlich große Datenmengen und kompiziertere DB-Abfragen ging).
Das überrascht mich. Hast Du eventuell noch ein paar Zahlen im Kopf (ich lerne immer gerne dazu)?
Leider nein, ist auch schon ... 1 .. 1,5 Jahre her (*wie die Zeit vergeht!*).
Es ging damals zwar um JSPs, aber vom Prinzip her um dieselbe Fragestellung.
Daten aus der DB und aus statischen Dateien holen und am Ende HTML (und PDF und Excel) zu haben. Wie gesagt, es waren aufwendigere Sachen, wo in einem Datensatz mehrere Dutzend Informationseinheiten gekommen sind und wo die JSPs auch schon einige hundert Zeilen hatten (Berechtigungsprüfungen, welchen Teil der Daten darf der User sehen etc.). Am Ende war es aber eindeutig, dass es - ich sage mal salopp - einfacher war, ein XML zu generiren und dann das durch die XSL-Transformation zu jagen, als die andere Alternativen.
... Ich habe jetzt paar Zahlen, aber ich denke nicht, dass sie dir viel sagen werden, da ich jetzt bestimmte Sachen nicht mehr weiß (Serverausstattung etc.) und bei diesen Daten geht es um die Ausgabe für eine HTML-Seite mit nur wenigen DB-Abfragen (14ms). Der XSLT-Proz. ist Xalan, das generierte XML war in diesem Fall etwa 129KB groß.
MEMORY: At begin of XSLTControl / Used: 75,502kB
Stylesheet-Compilation / 578ms
- kompiliert wird nur dann, wenn an einem der beteiligten XSLTs seit dem letzten Aufruf was geändert hat, sonst entfällt dieser Teil. Nach einem neuen Aufruf der Seite (cacheing ausgeschaltet, war diese Zeit 1ms)
XSL-Transformation / 49ms
Parsing Control / 132ms
Load of all Files / 53ms (statische XML-Dateien)
Load & execute all Java-Classes / 62ms
XSLT-Compile & Transform / 637ms
Total time of XSLTControl / 910ms
MEMORY: At end of XSLTControl / Used: 88,173kB
Also die reine Transformationszeit für die 129KB großes XML war 49ms. (üblicher waren aber XMLs bis zu 300-800KB, zum Vergleich: die aktuelle index.xml des Forums ist 729KB)
Grüße
Thomas