Bonjour a tous,

Je plante le decors : Je dois afficher le contenu de mon fichier XML via une feuilled e style XSL.

- Dans I.E. tout se passe bien.
- Dans firefox, rien ne va plus. La feuille de style est mauvaise.
Pourtant lorsque je recupere le code source généré et que le le colle dans un nouveau fichier html, tout redevient normal...

Voila le XML
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="index.xsl"?>
<content>
  <news>
     <texte><![CDATA[le texte de news de ma news est vachement bien!!]]></texte>
     <color><![CDATA[#FFFFFF]]></color>
     <image><![CDATA[_images/home/fond_actu.jpg]]></image>
     <link><![CDATA[http://www.test.com]]></link>
  </news>
</content>


Le fichier XSL
<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE xsl:stylesheet  [
	<!ENTITY nbsp   "&#160;">
	<!ENTITY copy   "&#169;">
	<!ENTITY reg    "&#174;">
	<!ENTITY trade  "&#8482;">
	<!ENTITY mdash  "&#8212;">
	<!ENTITY ldquo  "&#8220;">
	<!ENTITY rdquo  "&#8221;"> 
	<!ENTITY pound  "&#163;">
	<!ENTITY yen    "&#165;">
	<!ENTITY euro   "&#8364;">
]>

<xsl:stylesheet 
version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:xhtml="http://www.w3.org/1999/xhtml">

<xsl:output method="html" version="html4.01" encoding="ISO-8859-1" doctype-public="-//W3C//DTD HTML 4.01//EN" doctype-system="http://www.w3.org/TR/html4/strict.dtd" />                 


<xsl:template match="/">
<html> 
<head>
<title>Isoroy</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<meta name="keywords" content="panneau base bois,panneau particule,fibre de bois,panneau de fibre bois,panneau m1,fournisseur panneau,industriel panneau,isolant acoustique,isolant phonique,isolant naturel,isolant ecologique,isolant thermique,isolation toiture,isolation sol,sous couche parquet,sous couche plancher,isotoit,isorel,thermisorel,stepisorel,phaltex,isolation fibre de bois,lameply,pyroply,triply,osb 2,osb 3,osb 4,osb m1,ossature bois,Novoplac,contreventement,panneau agencement,legium,medium hydrofuge,medium ignifuge,composant meuble,panneau decoratif,panneau hydrofuge,panneau ignifuge,panneau laqué,panneau melamine,panneau stratifie,stratifié,topan,medium teinte,essences fines" /> 

<script language="JavaScript" src="/site/_js/scripts.js" type="text/javascript"></script>
<link href="/site/_css/styles.css" rel="stylesheet" type="text/css" />

</head>

<body> 

        <!-- BEGIN FOR -->
        <xsl:for-each select="content/news"> 

          <table width="100%" cellpadding="0" cellspacing="0" border="0">
             <tr>
               <td height="25" align="left" bgcolor="#005993" style="padding-left:15px;"><img alt="" src="/site/_images/home/titre_home_news.gif" height="13" width="39" /></td>
             </tr>
             <tr>
               <td align="center" height="83"> 
               <xsl:attribute name="STYLE">
                       background-image:url(<xsl:value-of select="image" />); 
               </xsl:attribute>

                            <strong>
                                <a>
                                <xsl:attribute name="HREF"><xsl:value-of select="link" /></xsl:attribute>
                                  <font size="1">
                                  <xsl:attribute name="COLOR"><xsl:value-of select="color" /></xsl:attribute>
                                    <xsl:value-of select="texte" disable-output-escaping="yes" />
                                   </font> 
                                </a>
                            </strong>
                  
               </td>
             </tr>
           </table>
            
         </xsl:for-each>
         <!-- END FOR --> 


    </td>
  </tr>
</table>


</body>
</html>

</xsl:template>
</xsl:stylesheet>



Merci de votre aide, je deviens fou!
Pour le xsl, tu avais des balises <td> et <tr> qui n'avaient pas lieu d'être en bas de ton document :

<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE xsl:stylesheet  [

	<!ENTITY nbsp   "&#160;">

	<!ENTITY copy   "&#169;">

	<!ENTITY reg    "&#174;">

	<!ENTITY trade  "&#8482;">

	<!ENTITY mdash  "&#8212;">

	<!ENTITY ldquo  "&#8220;">

	<!ENTITY rdquo  "&#8221;"> 

	<!ENTITY pound  "&#163;">

	<!ENTITY yen    "&#165;">

	<!ENTITY euro   "&#8364;">

]>



<xsl:stylesheet 

version="1.0" 

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 

xmlns:xhtml="http://www.w3.org/1999/xhtml">



<xsl:output method="html" version="html4.01" encoding="ISO-8859-1" doctype-public="-//W3C//DTD HTML 4.01//EN" doctype-system="http://www.w3.org/TR/html4/strict.dtd" />                 





<xsl:template match="/">

<html> 

<head>

<title>Isoroy</title> 

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 

<meta name="keywords" content="panneau base bois,panneau particule,fibre de bois,panneau de fibre bois,panneau m1,fournisseur panneau,industriel panneau,isolant acoustique,isolant phonique,isolant naturel,isolant ecologique,isolant thermique,isolation toiture,isolation sol,sous couche parquet,sous couche plancher,isotoit,isorel,thermisorel,stepisorel,phaltex,isolation fibre de bois,lameply,pyroply,triply,osb 2,osb 3,osb 4,osb m1,ossature bois,Novoplac,contreventement,panneau agencement,legium,medium hydrofuge,medium ignifuge,composant meuble,panneau decoratif,panneau hydrofuge,panneau ignifuge,panneau laqué,panneau melamine,panneau stratifie,stratifié,topan,medium teinte,essences fines" /> 



<script language="JavaScript" src="/site/_js/scripts.js" type="text/javascript"></script>

<link href="/site/_css/styles.css" rel="stylesheet" type="text/css" />



</head>



<body> 



        <!-- BEGIN FOR -->

        <xsl:for-each select="content/news"> 



          <table width="100%" cellpadding="0" cellspacing="0" border="0">

             <tr>

               <td height="25" align="left" bgcolor="#005993" style="padding-left:15px;"><img alt="" src="/site/_images/home/titre_home_news.gif" height="13" width="39" /></td>

             </tr>

             <tr>

               <td align="center" height="83"> 

               <xsl:attribute name="STYLE">

                       background-image:url(<xsl:value-of select="image" />); 

               </xsl:attribute>



                            <strong>

                                <a>

                                <xsl:attribute name="HREF"><xsl:value-of select="link" /></xsl:attribute>

                                  <font size="1">

                                  <xsl:attribute name="COLOR"><xsl:value-of select="color" /></xsl:attribute>

                                    <xsl:value-of select="texte" disable-output-escaping="yes" />

                                   </font> 

                                </a>

                            </strong>

                  

               </td>

             </tr>

           </table>

            

         </xsl:for-each>

         <!-- END FOR --> 


</body>

</html>



</xsl:template>

</xsl:stylesheet>


et pour le xml une petite erreur sur cette ligne :

<color><![CDATA[]]></color>


Voilà chez moi avec ça ça fonctionne sous Firefox et sous IE Smiley smile
Malheureusement l'affichage est encore tres différent dans firefox.
Les tableaux sont completement deconstruits.

J'ai l'impression que le doctype HTML 4 que je spécifie n'est pas pris en compte et que par défaut c'est du XHTML qui est interprété...
Même remarques que m@t. Après corrections des erreurs qu'il mentionne, résultat identique sous IE et FF.

J'ajoute que tu t'es également emmêlé les pinceaux avec les espaces de noms sans que ceci ait de conséquence visible sur ton exemple (FF aurait autrement rué dans les brancards si tu avais choisi <xsl:output method="xml" ...>) :
ton arborescence est dans l'espace de noms par défaut qui se trouve être vide. Tu dois corriger :
xmlns:xhtml="http://www.w3.org/1999/xhtml"
en
xmlns="http://www.w3.org/1999/xhtml"