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

LG zeigt elastisches OLED-Display

Es lässt sich um bis zu 50 Prozent dehnen. Allerdings besitzt es eine deutliche geringere…

2 Tagen ago

BSI zu Cybersicherheit: Bedrohungslage bleibt angespannt

Allerdings nimmt auch die Resilienz gegenüber Cyberattacken zu. Das BSI hat außerdem die Cybersicherheit anstehender…

2 Tagen ago

IT-Ausgaben in Europa steigen 2025 voraussichtlich um 8,7 Prozent

Es ist das größte Wachstum in einem Jahr seit 2021. Unter anderem lässt das Interesse…

2 Tagen ago

Magento-Agentur für große Webshops: Was sollte die Magento-Agentur leisten können?

Magento zählt zu den führenden Shopsystemen in der Welt. Es punktet mit hoher Flexibilität und…

3 Tagen ago

Trojaner tarnt sich als AutoCAD

SteelFox gelangt über angebliche Cracks für kostenpflichtige Anwendungen auf die Rechner seiner Opfer. Betroffen sind…

3 Tagen ago

Ymir: Ransomware mit ausgeklügelter Verschleierung

Ymir nutzt fortschrittliche Verschleierungsmethoden. Sie verschlüsselt bestimmte Dateien auf einer Whitelist nicht, um einer Entdeckung…

3 Tagen ago