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

Supercomputer-Ranking: Vier europäische Systeme in den Top Ten

Einziger Neueinsteiger ist das Alps-System in der Schweiz. Die weiteren Top-Ten-Systeme aus Europa stehen in…

1 Stunde ago

Angriffe mit Banking-Malware auf Android-Nutzer nehmen weltweit zu

Im vergangenen Jahr steigt ihre Zahl um 32 Prozent. Die Zahl der betroffenen PC-Nutzer sinkt…

2 Stunden ago

Künstliche Intelligenz fasst Telefonate zusammen

Die App satellite wird künftig Telefongespräche in Echtzeit datenschutzkonform mit Hilfe von KI zusammenfassen.

6 Stunden ago

MDM-Spezialist Semarchy stellt Data-Intelligence-Lösung vor

Als Erweiterung von Master-Data-Management ermöglicht es die Lösung, den Werdegang von Daten verstehen und sie…

7 Stunden ago

Apple stopft 15 Sicherheitslöcher in iOS und iPadOS

Sie erlauben unter anderem das Einschleusen von Schadcode. In älteren iPhones und iPads mit OS-Version…

8 Stunden ago

Hochleistungs-NAS-Speicher für KI-Daten

Neuer Speicher für KI von Huawei mit integrierter Ransomware-Erkennungs-Engine und deutlich geringerem Energiekonsum.

9 Stunden ago