xsl:import avec Firefox

xsl:import avec Firefox - XML/XSL - Programmation

Marsh Posté le 25-05-2005 à 21:43:27    

Bonjour :hello:
 
voilà ma feuille de style principale, principale.xsl :
 

Code :
  1. <xsl:import href="structure.xsl" />
  2. <xsl:import href="format.xsl" />


 
format.xsl décide du format à renvoyer, par exemple XHTML, WML, etc... ici XHTML, voici le code :
 

Code :
  1. <xsl:output method="xml"
  2.      media-type="text/html"
  3.      doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
  4.      doctype-system="DTD/xhtml1-strict.dtd"
  5.      cdata-section-elements="style script"
  6.      indent="yes"
  7.      encoding="utf-8"/>
  8. <xsl:template match="page">
  9. <html>
  10. etc...
  11. <xsl:apply-templates/>
  12. etc...
  13. </html>
  14. </xsl:template>


 
et structure.xsl contient des templates pour les balises principales du XML :
 

Code :
  1. <xsl:template match="date">
  2. etc...
  3. </xsl:template>


 
Vous vous demandez sûrement pourquoi j'importe tous ces fichiers au lieu de tout regrouper : et bien principale.xsl est gérée par PHP et ces 2 importations sont variables (les fichiers importés ne seront pas les mêmes à chaque fois). Voilà pourquoi :jap:
 
Et voici le problème !
 
Sous MSIE, aucun problème : le document XML, qui a pour xml-stylesheet principale.xsl, est bel et bien affiché.
 
Sous Firefox, pas de message d'erreur, mais aucun style n'est appliqué. On voit les données brutes écrites à la suite (sans leur balises XML).
 
pouvez-vous m'aider ?
 
Merci d'avance :jap:  

Reply

Marsh Posté le 25-05-2005 à 21:43:27   

Reply

Marsh Posté le 27-05-2005 à 13:35:47    

Je viens de trouver d'où venait le problème :jap:
 

Code :
  1. <xsl:output method="xml"
  2.      media-type="text/html"
  3.      doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
  4.      doctype-system="DTD/xhtml1-strict.dtd"
  5.      cdata-section-elements="style script"
  6.      indent="yes"
  7.      encoding="utf-8"/>


 
Dès que j'enlève cette balise, Firefox affiche le XML parfaitement (sous forme de html).
 
Mais j'en ai besoin de cette balise dans le cas ou le xsl serait traité par PHP :sweat:
 
pas d'idées ? :hello:

Reply

Marsh Posté le 27-05-2005 à 13:44:09    

Ok il suffisait de mettre method="html". Je pensais que c'était juste le media-type qui devait préciser html.
 
J'espère que ce monologue servira à quelqu'un :D

Reply

Marsh Posté le 27-05-2005 à 14:02:07    

Oui, bien faire gaffe au type mime envoyé ;)

Reply

Sujets relatifs:

Leave a Replay

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