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

Google stopft schwerwiegende Sicherheitslöcher in Chrome 124

Zwei Use-after-free-Bugs stecken in Picture In Picture und der WebGPU-Implementierung Dawn. Betroffen sind Chrome für…

1 Tag ago

Studie: 91 Prozent der Ransomware-Opfer zahlen Lösegeld

Die durchschnittliche Lösegeldzahlung liegt bei 2,5 Millionen Dollar. Acht Prozent der Befragten zählten 2023 mehr…

1 Tag ago

DMA: EU stuft auch Apples iPadOS als Gatekeeper ein

Eine neue Analyse der EU-Kommission sieht vor allem eine hohe Verbreitung von iPadOS bei Business-Nutzern.…

1 Tag ago

Chips bescheren Samsung deutlichen Gewinnzuwachs

Das operative Ergebnis wächst um fast 6 Billionen Won auf 6,64 Billionen Won. Die Gewinne…

2 Tagen ago

Chrome: Google verschiebt das Aus für Drittanbietercookies

Ab Werk blockiert Chrome Cookies von Dritten nun frühestens ab Anfang 2025. Unter anderem gibt…

2 Tagen ago

BAUMLINK: Wir sind Partner und Aussteller bei der Frankfurt Tech Show 2024

Die Vorfreude steigt, denn BAUMLINK wird als Partner und Aussteller bei der Tech Show 2024…

2 Tagen ago