Christian Seiler: Parameterübergabe an xsl

Beitrag lesen

Hallo,

<?php IncludeXml("../../data.xml","detail.xslt"); ?>

Diese Funktion gehört nicht zum Standardumfang von PHP und ist vermutlich von Dir geschrieben, daher müsstest Du uns schon den Sourcecode dieser Funktion zeigen...

In der xslt-Datei ändere ich die Parameter immer noch manuell:
<xsl:variable name="id">07</xsl:variable>
<xsl:variable name="year">2007</xsl:variable>

In die XSL-Datei gehört - wenn Du Parameter verwenden willst - sowas wie:

<xsl:param name="id" />  
<xsl:param name="year" />

Und wenn Du in PHP die XSL-Datei aufrufst, dann wirst Du ja in Deiner PHP-Funktion irgendwas machen wie:

$doc = new DOMDocument ();  
$xslt = new XSLTProcessor ();  
  
$doc->load ($xslt_filename);  
$xslt->importStyleSheet ($doc);  
  
$doc->load ($xml_filename);  
$html_code = $xslt->transformToXML ($doc);

In dem Fall kannst Du einfach VOR dem transformToXML-Aufruf ein:

$xslt->setParameter ('', 'year', $year);  
$xslt->setParameter ('', 'id', $id);

Das sorgt dann dafür, dass die Parameter im XSLT verfügbar sind.

Die Doku zu den XSLT-Funktionen findest Du auf der PHP-Seite.

Viele Grüße,
Christian