HTML über PHP im XSLT-Template erzeugen

15. Jul 2010

So erzeugen Sie HTML über PHP direkt in XSLT-Templates, falls Daten über PHP z.B. aus Datenbanken ausgelesen werden.

HTML können Sie entweder direkt über XSLT oder auch mit Hilfe von PHP erzeugen, falls die Daten z.B. aus einer Datenbank ausgelesen werden. 

Den gewünschten PHP-Code können Sie in ein wsl:php Tag im XSLT-Template schreiben. 

Achten Sie darauf, dass die Ausgabe innerhalb eines CDATA-Tags steht, damit Sie HTML direkt nutzen können ohne die Entitäten auszuschreiben (also z.B. < statt &lt;).

Beispiel für die direkte Ausgabe über PHP im XSLT-Template

<wsl:php>

$recordset = array(
   0 =>  array('datum'=>'12.07.2010', 'buchungsnummer'=>'12345', 'betrag'=>'1000'),
   1 =>  array('datum'=>'14.07.2010', 'buchungsnummer'=>'23456', 'betrag'=>'1500'),
);

<![CDATA[

print '<table class="default">';
print '<tr><th>Datum</th><th>Buchungsnummer</th><th>Betrag</th></tr>';

foreach($recordset as $record){
  print '<tr><td>'.$record['datum'].'</td><td>'.$record['buchungsnummer'].'</td><td>'.$record['betrag'].'</td></tr>';
}

print '</table>';

]]>

</wsl:php>