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.
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Tue Sep 12 08:52:11 2006