Verwendung von XSLT mit PHP

XSLT (XSL Transformations) spielt eine wichtige Rolle bei der Transformation und Präsentation von XML-Dokumenten. Die Leistungsfähigkeit, die XSLT für PHP-Anwendungen bietet, lässt sich am besten anhand von Beispielen demonstrieren. Für die Beispiele wurde hier Version 4.3.3 von PHP verwendet. Die beiden ersten Beispiele konzentrieren sich auf die DOM XSLT-Erweiterung und die letzten beiden auf die Sablotron XSLT-Erweiterung. Dabei ist zu bedenken, dass diese Erweiterungen in PHP kompiliert werden müssen, bevor die Beispiele ausgeführt werden können.

Es gibt zwei Beispieldateien, die für alle Beispiele hierin verwendet werden. Zum Einen gibt es in dem Beispielcode eine simple XML-Datei mit dem Namen example.xml, die in Listing A gezeigt wird. Zum Anderen gibt es eine simple XSLT-Datei mit dem Namen example.xslt, die in Listing B gezeigt wird. Die Beispiele setzen voraus, dass diese beiden Beispiele im gleichen Verzeichnis gespeichert werden, in dem auch das Beispiel selbst steht.

Basistransformation

Das erste Beispiel (Listing C) ist eine Demonstration der vier Basisfunktionen, die für eine XSLT-Transformation über die DOM-Erweiterung stattfinden müssen. An dieser Stelle soll der Code einmal genauer betrachtet werden (es wurden auch ein paar Kommentare in das Code-Listing selbst eingefügt).

Viele der DOM XSLT-Funktionen befassen sich mit dem Erstellen, Löschen, und Modifizieren von DomDocument-Objekten. Die erste hier verwendete Funktion ist die Funktion domxml_open_file. Sie erstellt ein DOM-Objekt aus der vorhandenen XML-Datei. Die nächste aufgerufene Funktion ist domxml_xslt_stylesheet_file, die eine neues DomXsltStylesheet-Objekt erstellt. Dieses Objekt wird später bei der Transformation des XML- und XSLT-Dokuments verwendet, durch die der HTML-Output erstellt wird.

Es folgt die Prozessfunktion des DomXsltStylesheet-Objekts. Sie verwendet ein oder mehr Argumente; das erste Argument muss das DomDocument-Objekt sein. Dieses wendet die XSLT-Transformation auf das DomDocument an, das ihm übergeben wird. Der Prozessfunktion können weitere Argumente übergeben werden; dabei kann es sich um zusätzliche XSLT-Parameter (Array) oder Xpath-Parameter (boolesch) handeln. Das schafft Flexibilität für den Transformationsprozess. Die Funktion gibt dann eine DomDocument-Objekt aus, das die transformierten Daten enthält.

Um die transformierten Daten anzuzeigen, liefert die letzte Funktion das Ergebnis und druckt es für den Benutzer aus. Durch Ausführen der Funktion result_dump_mem auf das transformierte DomDocument $domTranObj-Objekt lassen sich der Output oder das Ergebnis der Transformation aufrufen. Hierzu gehört auch ein einfaches Beispiel, wie man eine XSLT-Transformation mit PHP und DOM XSLT durchführt.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Umfrage: Angestellte in Deutschland unterschätzen NIS-2-Richtlinie

Fast zwei Drittel halten jedoch eine Umsetzung aller Vorgaben von NIS 2 bis Jahresende für…

14 Minuten ago

Kostenloser Dekryptor für ShrinkLocker

Mit dem Dekryptor von Bitdefender können Opfer von Attacken mit der Shrinklocker-Ransomware Dateien wiederherstellen.

14 Stunden ago

Malwarebytes warnt vor Betrugsmaschen beim Weihnachtseinkauf

In der Vorweihnachtszeit ist vor allem Malvertising auf dem Vormarsch. Cyberkriminelle locken Nutzer über schädliche…

14 Stunden ago

Bedrohungsindex: Deutliche Zunahme von Infostealern im Oktober

Dazu trägt unter der Infostealer Lumma-Stealer bei. Hierzulande dominiert der Infostealer Formbook die Malware-Landschaft.

1 Tag ago

Chrome 131 schließt zwölf Sicherheitslücken

Eine schwerwiegende Anfälligkeit hebelt die Sicherheitsfunktion Seitenisolierung auf. Betroffen sind Chrome für Windows, macOS und…

1 Tag ago

DeepL Voice mit KI für Sprach- übersetzungen

DeepL Voice ermöglicht Live‑Übersetzung von Meetings und Gesprächen in 13 Sprachen.

1 Tag ago