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.
Es lässt sich um bis zu 50 Prozent dehnen. Allerdings besitzt es eine deutliche geringere…
Allerdings nimmt auch die Resilienz gegenüber Cyberattacken zu. Das BSI hat außerdem die Cybersicherheit anstehender…
Es ist das größte Wachstum in einem Jahr seit 2021. Unter anderem lässt das Interesse…
Magento zählt zu den führenden Shopsystemen in der Welt. Es punktet mit hoher Flexibilität und…
SteelFox gelangt über angebliche Cracks für kostenpflichtige Anwendungen auf die Rechner seiner Opfer. Betroffen sind…
Ymir nutzt fortschrittliche Verschleierungsmethoden. Sie verschlüsselt bestimmte Dateien auf einer Whitelist nicht, um einer Entdeckung…