Re: Interprétation PHP dans XSL

Mathieu Fernandez <[email protected]>
Newsgroups gmane.text.xml.french.tech
Message-ID <[email protected]>
Eric van der Vlist a écrit :
> Le lundi 11 septembre 2006 à 17:32 +0200, Mathieu Fernandez a écrit :
>   
>> quand je dis que ça ne marche c'est que ça ne fais absolument rien : 
>> dans la page il n'y a rien qui se passe (à l'affichage) et dans le code, 
>> le PHP disparait mais il n'est pas interprété (c'est comme si j'avais 
>> fait <?php ?> (un code PHP qui ne fasse rien)
>>     
> Comment utilisez-vous cette transformation? Pour que cela "marche", il
> faut que vous utilisiez cette transformation pour générer des documents
> PHP que vous publierez ensuite sur un serveur web...
>
> Si c'est bien le cas, pouvez-vous vérifier à quoi ressemble le PHP que
> la transformation génère?
>
> Cordialement,
>
> Eric van der Vlist 
>
>   
Alors je vais tout mettre à plat et tout mieux expliquer :
- je dois développer un site anglais/français et pour ce faire j'utilise 
une feuille XML pour chaque page de chaque langue et je mets ensuite en 
page avec des feuilles XSL
- ayant des parties redondantes dans toutes mes pages (l'entête, le haut 
de page et le bas de page) je fais des include afin de pouvoir mettre à 
jour et de pouvoir modifier mes pages plus facilement par la suite
- j'utilise également un script PHP qui me compte le nombre de fichiers 
qui se trouve dans un dossier.

Je me retrouve donc avec des fichiers XML qui sont transformés par des 
feuilles de style XSL qui sont censé m'insérée le code PHP dans la page 
de sortie. Or en utilisant les astuces suivantes :
http://xmlfr.org/listes/xml-tech/2004/10/0013.html
http://xmlfr.org/listes/xml-tech/2002/03/0342.html
ça ne fonctionne pas.

Voici mon exemple :
*fichier XML*
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="plan_site.xsl" type="text/xsl" ?>

<page nom="Accueil">
    <titre>Bienvenue</titre>
    <intro>Ma petite intro</intro>
    <image type="aleatoire">images\random</image>
    <paragraphe>J'ai un rève-qu'un jour, cette nation se lèvera et vivra 
la vrai signification de son croyance: "Nous tenons ces vérités comme 
allant de soi, que les hommes naissent égaux."</paragraphe>
</page>

*fichier XSL :*
<?xml version="1.0" encoding="iso-8859-1" ?>
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" encoding="iso-8859-1" /> 
<!--méthode de sortie XHTML-->
<xsl:strip-space elements="*"/> <!--nettoyage du document XML pour ne 
pas conserver des retours-chariots-->

<xsl:template match="page">
<html>
    <!--inclusion de l'entête qui ne change jamais-->
    <!--<script language='php'> include "fr/entete.html";</script> ça 
c'est ce que je fais au début mais ça ne fais rien, ça m'inscrit simple 
le code PHP dans la page HTML sans rien interpréter-->

    <xsl:processing-instruction name="php">
        <xsl:text>include ("</xsl:text>
        <xsl:value-of select="normalize-space(haut_page.html)"/>
        <xsl:text>");</xsl:text>
    </xsl:processing-instruction>
    <body>
        <!--affichage centré du site et résolution 800x600-->
        <div id="centrer">
          <h2 id="pageName"><xsl:value-of select="@nom"/></h2>
          ....
        </div>
        <!--fin centrer-->
    </body>
</html>
</xsl:template>
</xsl:stylesheet>

*la source générée :*
<html>
     <body>
         <div id="centrer">
             <h2 id="pageName">Accueil</h2>
         </div>
        <!--fin centrer-->
    </body>
</html>

*Voici le contenu de haut_page.html : *
<div id="logo"> <!--insertion du logo IRD en haut à gauche de la page-->
    <img src="../images/commun/logo.jpg" alt="IRD - Institut de 
Recherche pour le Développement" title="IRD - Institut de Recherche pour 
le Développement"/>
</div>
<div id="langue"> <!--insertion des 2 drapeaux FR et EN pour le choix de 
la langue en haut à droite de la page-->
    <a href="../fr"><img src="../images/commun/drap_fr.gif" border="0" 
alt="Français" title="Français"/></a>
    <a href="../en"><img src="../images/commun/drap_eng.gif" border="0" 
alt="English" title="English"/></a>   
</div>
<div id="siteName"><h1>Informatique Scientifique </h1></div> <!--nom du 
site centré et en haut de page-->

J'espère avoir répondu à vos questions.
Merci d'avance.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.