[xslt][PHP][xsltproc]utiliser plusieur feuille de style XSL

utiliser plusieur feuille de style XSL [xslt][PHP][xsltproc] - XML/XSL - Programmation

Marsh Posté le 21-03-2006 à 17:57:33    

Salut à tous,
J'aimerais savoir comment faire pour utiliser plusieur feuilles de styles XSL sur un seul ficheir XML??
 
J'ai un fichier XML et selon la page qui l'appelle, j'aimerais qu'elle applique un script XSL différent.
J'ai essayé comme ça :

Code :
  1. <!--page PHP 1-->
  2. `xsltproc --param reponses "'$chaine'" FichierXML.xml FichierXSLsvg.xsl > SVG/score.svg`;
  3. <!--page PHP 2-->
  4. $res = `xsltproc --param reponses "'$chaine'" FichierXML.xml FichierXSL.xsl`;

et j'ai supprimé la ligne

Code :
  1. <?xml-stylesheet href="FichierXSL.xsl" type="text/xsl"?>

de mon fichier XML mais dans ce cas, ça ne fait plus rien.
Si je fait

Code :
  1. <?xml-stylesheet href="" type="text/xsl"?>

le résultat est le même.
Pour terminer j'ai essayé en ne marquant pas href="..." mais le résultat est encore et toujours le même.
 
Le problème c'est que si je garde la référence vers la feuille de style, c'est toujours la même feuille de style qui est appelée.
Comment faire pour lui dire d'appeler dans un cas l'une et dans un autre cas l'autre ?
Merci d'avance.

Reply

Marsh Posté le 21-03-2006 à 17:57:33   

Reply

Marsh Posté le 04-04-2006 à 21:34:00    

Un truc du genre? Voir http://be.php.net/manual/en/functi [...] to-doc.php pour plus d'infos.

Code :
  1. $xml = new DOMDocument;
  2. $xml->load('FichierXML.xml');
  3. $xsl = new DOMDocument;
  4. if ($page1)
  5.     $xsl->load('FichierXSLsvg.xml');
  6. else
  7.     $xsl->load('FichierXSL.xml');
  8. $proc = new XSLTProcessor;
  9. $proc->importStyleSheet($xsl);
  10. echo trim($proc->transformToDoc($xml)->firstChild->wholeText);


Message édité par rx__ le 04-04-2006 à 21:34:41
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed