bonjour a tous,
je m'explique
j'ai un fichier f.xml , f.xsl et je voudrais utiliser php comme processeur xslt
jusqu'ici pas de probleme.
Code :
- $xslt = new XSLTProcessor();
- // Chargement du fichier XML
- $xml = new domDocument();
- $xml -> load('f.xml');
- // Chargement du fichier XSL
- $xsl = new domDocument();
- $xsl -> load('f2.xsl');
- // Import de la feuille XSL
- $xslt -> importStylesheet($xsl);
- // Transformation et affichage du résultat
- echo $xslt -> transformToXml($xml);
|
mais si je rajoute un parametre
Code :
- $xslt_params["idl"] ='3';
- $xslt->setParameter( NULL, $xslt_params );
|
alors la, impossible de l'utiliser ( mon param idl )dans mon .xsl de maniere "normal"
par ex
<xsl:value-of select="$idl "/> affiche bien 3 , normal, mais...
<xsl:for-each select="//livre[./id = 1 ]"> passe bien ( une egalité standard quoi ), mais avec un parametre :
<xsl:for-each select="//livre[./id = $idl ]"> ne passe pas ( mais passe en ligne de commande ), par contre
<xsl:for-each select="//livre[./id > $idl ]"> fonctionne bien ( en php5 et en ligne de commande )
si encore je trouvais le caract spe pour =, ca irais...
je n'imagine pas faire des <= et >= ( >= et <= ) pour obtenir une egalité.
si qqun a connu ce probleme
merci.
Message édité par notornis le 07-12-2006 à 00:00:49