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

Studie: Ein Drittel aller E-Mails an Unternehmen sind unerwünscht

Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…

3 Tagen ago

HubPhish: Phishing-Kampagne zielt auf europäische Unternehmen

Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…

4 Tagen ago

1. Januar 2025: Umstieg auf E-Rechnung im B2B-Geschäftsverkehr

Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.

4 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…

4 Tagen ago

Erreichbarkeit im Weihnachtsurlaub weiterhin hoch

Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…

5 Tagen ago

Hacker missbrauchen Google Calendar zum Angriff auf Postfächer

Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…

6 Tagen ago