Si vous utilisez XSLT depuis PHP, vous pouvez lui passer des paramètres par XSLTProcessor::setParameter()
. Vous devez déclarer ce paramètre dans XSL avec
<xsl:param name="«param name»"/>
Par exemple ...
PHP:
// $xsl, $xml -- DOMDocument objects
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl);
$proc->setParameter(''/*default namespace*/, 'test_param', $aValue);
$proc->setParameter('', 'session_name', session_name());
$proc->setParameter('', 'session_id', session_id());
echo $proc->transformToXML($xml);
XSL:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="test_param"/>
<xsl:param name="session_name"/>
<xsl:param name="session_id"/>
<xsl:template match="/">
<p>Your test parameter is: <xsl:value-of select="$test_param"/></p>
<p>Your session name is: <xsl:value-of select="$session_name"/></p>
<p>Your session ID is: <xsl:value-of select="$session_id"/></p>
<p>
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat('http://example.com/index.php?',$session_name,'=',$session_id)"/>
</xsl:attribute>
Link with session
</a>
</p>
</xsl:template>
</xsl:stylesheet>
Etes-vous plus précis? Que voulez-vous exactement? Créer un panier est plutôt générique ... –
Vraiment pas sûr de ce que vous essayez d'accomplir. Voulez-vous les données XML dans la session? (Pourquoi ferais-tu cela?) – strager