Hallo eddi,
so, wie Du es hier geschildert hast, ist das Unterfangen als nicht sinnvoll zu bezeichenen.
[PHP] ... (erster Parsevorgang)... [XSLT-Pozessor] ...(zweiter Parsevorgang)...Würdest du deine aussage bitte begründen?
ja. (Nur - ich hatte gehofft es bereits getan zu haben.) Wenn aus einfachen Daten, die aus einer Datenbank gewonnen werden, mittels PHP ein XML-Dokument erzeugt wird (erster Parsevorgang), was dann mit einem Apache-Fliter in HTML umgewandelt wird (zweiter Parsevorgang), so hat dieses Verfahren hinsichtlich der einfachen Generierung von HTML mittels PHP Nachteile. Die Maschine wird mit unnötiger Rechenarbeit belastet.
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. Da sind zwei Scripte die jeweils nur etwas bestimmtest tun, einfacher zu schreiben und auch zu verwalten. So ein Last auf der Serverseite verursacht das nicht (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).
XML-Dokumente _zu_generieen_ und diese via XSLT zu transformieren stellt aber einen Overhead dar.
Das kann ich aus Praxiserfahrung nicht bestätigen. Jedoch mag deine Aussage bei einer kleinen privaten HP mit nur wenigen Daten zutreffen.
Zudem stehen im PHP seit Version 5 - statt Umwege über zu installierenden Pakages (oder Moduls, die man ohne Zugrifft auf das OS des Server nicht installieren kann) - mit simpleXML oder libxml und libxslt verschiedene eingebaute Funktionen zur Verfügung.
Vorsicht!
Diese sind standardmäßig zwar aktiviert, die entsprechenden Bibliotheken müssen dennoch vorhanden sein, was ein entsprechenden Zugriff auf das OS auf den (hoffentlich) beflissenen Admin verschiebt. Es sind auch in Version 5 nur Erweiterungen PHPs und müssen nicht zur Verfügung stehen. Aber ich denke, wir sind uns darüber einig, das bereits implementierten Funktionen aus Gründen der Performanz immer den Vorrang vor in PHP programmierten Funktionen zu geben ist.
Stimme dir zwar zu, aber ich halte es für wahrscheinlicher, dass PHP mit -with-xsl[=DIR] konfiguriert wird, als dass für ein Apache (vor allem ein 2-er) mod-xslt2 installiert und kompiliert wird. Dabei benötigt mod-xslt2 ebenfalls ein (vor)installiertes libxml2 und libxslt (nebst anderen Sachen), also kann das auch kein Argument sein.
Auch wenn dies etwas viel verlangt sein mag, aber selbst Datenbankabfragen - ja jede Erweiterung PHPs, läßt sich weitestgehen durch die Mittel PHPs (als Programmiersprache) nachbilden und stellen im eigentlichen Sinne nur nette Hilfsmittel dar.
Das mag man so oder so sehen. Aber ich zweifle daran, dass ein Admin für einen Kunden mod-xslt2 für Apache kompiliert (und schon gar nicht mit besonderen Sachen wie MXSLT_DISABLE_SIGNATURE)
Grüße
Thomas