Verwendung von XSLT mit PHP

Für das zweite Beispiel (Listing D) wird eine neue Funktion namedresult_dump_file eingeführt, die den Output der XSLT-Transformation in eine Datei ausgibt, die als zweites Argument der Funktion bereitgestellt wird. Wie im vorangehenden Beispiel ist das erste Argument noch immer das DomDocument-Objekt, das durch die DomXsltStylesheet-Prozessfunktion erstellt wurde. Außerdem wurde der Prozessfunktion ein Parameter hinzugefügt, der einen Parameterwert an den XSLT-Prozessor übergibt. Dies demonstriert die Fähigkeit, die XSLT-Transformation in PHP dynamisch zu steuern.

Basistransformation mit Sablotron

Dieses dritte Beispiel (Listing E) ist die Basistransformation unter Verwendung der Sablotron-Erweiterung. Die erste verwendete Funktion ist xslt_create. Diese erstellt einen neuen Sablotron XSLT-Prozessor und ergibt eine Ressource, die dann zur Durchführung der XSLT-Transformation benutzt wird. Ist der Sablotron-Prozessor erstellt, kann die Transformation gestartet werden. Das Aufrufen der Funktion xslt_process erfordert einige Parameter: die XSLT-Prozessor-Ressource, einen String-XML-Container und einen String-XSL-Container. Es können weitere Argumente wie der Ergebnis-Container, Array-Argumente und Array-Parameter hinzugefügt werden. Der XML-Container ist standardmäßig auf den Dateinamen des zu verarbeitenden Dokumentes eingestellt. Der XSL-Container ist die Datei, die zur Verarbeitung des XML-Dokuments eingesetzt wird. Wird der Ergebnis-Container verwendet, was bedeutet, dass dem Prozess ein Dateiname zugeordnet wird, so wird das Ergebnis der Transformation in dieser Datei gespeichert. Wird dem Prozess kein Ergebnis-Container zugeordnet, wird das Ergebnis ausgegeben. In diesem Beispiel gibt xslt_process die Transformationsdaten an die Variable $result aus.

Es gibt ein Validierungssegment zur Überprüfung des Inhalts der Variablen $result. Schlägt xslt_process fehl, gibt die Funktion falsch zurück und ermöglicht so die Überprüfung der Transformation. Ist der Prozess erfolgreich, ist zu beachten, dass die Daten dem Benutzer sofort angezeigt werden (Echo). Schlägt die Transformation fehl, endet das Skript mit einer Fehlermeldung.

Einer der Gründe, die für die Verwendung der Sablotron-Erweiterung sprechen, sind die ihre Fehlerfunktionen. In diesem Beispiel geschieht Folgendes: Tritt ein Fehler auf, werden zwei Sablotron-Funktionen aufgerufen, nämlich xslt_errno, xslt_error. xslt_errno gibt eine Fehlernummer für den letzten aufgetretenen Fehler für die XSLT-Ressource aus. xslt_error gibt einen Fehler-String aus, der die letzte Fehlermeldung vom XSLT-Prozessor beschreibt. Nach der Validierung und einer einfachen Fehlerbehebung erfolgt ein Aufruf der Funktion xslt_free. Diese Funktion verwendet die XSLT-Ressource als Argument und stellt sie frei.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Lags beim Online-Gaming? DSL-Vergleich und andere Tipps schaffen Abhilfe

Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…

4 Tagen ago

GenKI-Fortbildung immer noch Mangelware

Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…

4 Tagen ago

Netzwerk-Portfolio für das KI-Zeitalter

Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…

4 Tagen ago

Internet-Tempo in Deutschland: Viel Luft nach oben

Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.

4 Tagen ago

Erste Entwickler-Preview von Android 16 verfügbar

Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…

4 Tagen ago

Kaspersky warnt vor Cyberangriff auf PyPI-Lieferkette

Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.

4 Tagen ago