XML / XSL probleme de type MIME avec Firefox [semi-résolu]

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
NaWer
Lézard à collerette
Messages : 407
Inscription : 28 juin 2004, 16:16

XML / XSL probleme de type MIME avec Firefox [semi-résolu]

Message par NaWer »

Bonsoir,

j'ai un problème avec un XML associé a une feuille de style XSLT
je voudrai mettre en forme un fil RSS 2.0

Code : Tout sélectionner

<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="rss.xsl" ?>
  <rss version="2.0">  
[...]
le XSLT commence ainsi :

Code : Tout sélectionner

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
tout ce passe bien en local, mais sur le serveur 9online cela ne fonctionne pas avec Firefox(mais c'est OK avec IE)

Je débute en xml/xsl donc soyez indulgent ;)

Un lien d'essai rapide : http://nawer.9online.fr/essai/rss.xml

La phrase habituelle : je comprend pas pourquoi ca marche avec IE et pas avec Firefox :oops:
Dernière modification par NaWer le 20 mars 2005, 23:47, modifié 2 fois.
:arrow: La FAQ - La Recherche - Le profil
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Visiblement c'est un problème de type Mime :?
NaWer
Lézard à collerette
Messages : 407
Inscription : 28 juin 2004, 16:16

Message par NaWer »

calimo a écrit :Visiblement c'est un problème de type Mime :?
le problème c'est que je ne sais pas comment mettre le bon type mime, et je ne suis pas sur que 9online gère cela
:arrow: La FAQ - La Recherche - Le profil
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

Oui un probléme de type mime, mais je me demande s'il n'y as pas autre chose. Car en regardant les entête, je vois qu'il y as une requette surprenante qui est faite :

http://www.9online.fr/erreur/erreur404.html

qui renvois vers :

http://www.neuf.fr/erreur/erreur404.html


Et la je ne vois pas dutotu à quoi cela corespond...


Eventuelement essais de faire passer le xslt par php pour envoyer une bonne entête, ou ce que je préfére, que php face lui même la transformation...
Inscrit sur la liste des abonner absent...
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

La page http://nawer.9online.fr/essai/rss.xsl est envoyée en text/plain. Tu peux simplement la renommer en rss-xsl.xml par exemple et ça devrait jouer.

Pour les erreurs 404 j'avoue que c'est assez étrange en effet... :roll:
NaWer
Lézard à collerette
Messages : 407
Inscription : 28 juin 2004, 16:16

Message par NaWer »

jv2759 a écrit :Oui un probléme de type mime, mais je me demande s'il n'y as pas autre chose. Car en regardant les entête, je vois qu'il y as une requette surprenante qui est faite :

http://www.9online.fr/erreur/erreur404.html

qui renvois vers :

http://www.neuf.fr/erreur/erreur404.html


Et la je ne vois pas dutotu à quoi cela corespond...


Eventuelement essais de faire passer le xslt par php pour envoyer une bonne entête, ou ce que je préfére, que php face lui même la transformation...
Oui j'ai vu ca quand j'essayais de savoir ce qui clochait...
Le problème c'est qu'il n'y a pas de php la bas :(
et le type mime n'est pas configurable
calimo a écrit :La page http://nawer.9online.fr/essai/rss.xsl est envoyée en text/plain. Tu peux simplement la renommer en rss-xsl.xml par exemple et ça devrait jouer.

Pour les erreurs 404 j'avoue que c'est assez étrange en effet... :roll:
merci :D ca marche :
http://nawer.9online.fr/essai/rss.xml

j'avais essayer rss-xsl.toto... mais pourquoi j'ai pas pensé a l'envoyé en xml :roll:
En attendant que 9online daigne mettre des types mime corrects, je me contenterai de cette solution.



Quelqu'un a un lien /tuto correct/standart pour mettre en forme en CSS la feuille de style XSLT ? ou alors c'est absurde et il y a une autre solution ?

(je suis tordu, j'ai envie de mettre en forme de la mise en forme)
:arrow: La FAQ - La Recherche - Le profil
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

Attention, xslt, transforme du xml dans un autre format (qui respect xml si possible). Donc il n'y as pas de notion de mise en forme du xslt. Car le xslt n'est qu'un language de transition. Un peux comme l'ais le php...

Donc avec le xslt tu vas transformer ton xml en xhtml...

Et là tu fait ce que tu veux les css s'applique tres bien au xhtml...

Pour t'en convaincre, tu peux même ouvrire l'inspecteur dom, tu veras que c'est bien la version html qui est utiliser...



Autre solution, mais la je n'est pas tester et c'est pas forcement bien mieux...

Les css doivent s'appliquer au xml directement, donc tu devrait pouvoir te passer de xslt...
Inscrit sur la liste des abonner absent...
NaWer
Lézard à collerette
Messages : 407
Inscription : 28 juin 2004, 16:16

Message par NaWer »

Bon, merci pour les précisions.
je vais fouiner un peu pour trouver la meilleur solution.
en tout cas, le xslt est assez puissant... et assez sympa (par contre, pour corrigé une erreur, c'est la grosse galère :lol:)
:arrow: La FAQ - La Recherche - Le profil
Invité

Message par Invité »

moi je te dirais de commencer le fichier xslt par :

Code : Tout sélectionner

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
ça marchera certainement mieux :wink:
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

jv> S'il a envie d'appliquer une feuille de style CSS pour rendre sa feuille de style XSLT lisible dans un navigateur il a tout à fait le droit :)
NaWer
Lézard à collerette
Messages : 407
Inscription : 28 juin 2004, 16:16

Message par NaWer »

Anonymous a écrit :moi je te dirais de commencer le fichier xslt par :

Code : Tout sélectionner

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
ça marchera certainement mieux :wink:
pour l'affichage, ca change rien. et

Code : Tout sélectionner

<?xml version="1.0" encoding="iso-8859-1"?>
serai encore mieux, mais la, IE n'en veut plus, il me sort ca :
IE a écrit :La page XML ne peut pas être affichée
Impossible d'afficher l'entrée XML en utilisant la feuille de style XSL. Corrigez l'erreur, puis cliquez sur le bouton Actualiser ou réessayez ultérieurement.


--------------------------------------------------------------------------------

Le passage du codage actuel au codage spécifié n'est pas pris en charge. Erreur de traitement de la ressource file:///C:/Do...

<?xml version="1.0" encoding="iso-8859-1"?>

je verrais ca plus tard... je déteste les problèmes d'encodages :twisted:

en tout cas, ca fonctionne en rennomant en xml...

Pour la mise en page, j'ai l'impression que IE n'affiche pas bien du tout une CSS d'un XSL qu'il affiche (presque) correctement en xhtml "normal"
j'ai plein de truc qui saute, comme par exmple un border 1px solid black sur le body, espacé de 10px du bord. lui il me met le border sur le bord et meme derrière la barre de scroll :shock: !!!
si j'ai le temps, je le mettrai en ligne
:arrow: La FAQ - La Recherche - Le profil
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

chez moi avec ie5 c'est une catastrophe ta pages, je ne vois absolument rien dutout...
jv> S'il a envie d'appliquer une feuille de style CSS pour rendre sa feuille de style XSLT lisible dans un navigateur il a tout à fait le droit
JE ne sais pas ce qu'il avait exactement en tête... Mais je doute que ce soit cela;)

Je dirait même que c'est à mon avie une mausaise idée, car gecko même tout seul en forme un fichier xml, or si on surcharge cela, je ne sais pas si l'on vas augmenter la lisibiliter :

http://nawer.9online.fr/essai/rss-xsl.xml
Inscrit sur la liste des abonner absent...
NaWer
Lézard à collerette
Messages : 407
Inscription : 28 juin 2004, 16:16

Message par NaWer »

jv2759 a écrit :chez moi avec ie5 c'est une catastrophe ta pages, je ne vois absolument rien dutout...
bah, je m'en doute bien... c'est pas pire que le xml sans mise en forme... pour le'utilisateur lambda, ca a aucun sens...
jv2759 a écrit :
jv> S'il a envie d'appliquer une feuille de style CSS pour rendre sa feuille de style XSLT lisible dans un navigateur il a tout à fait le droit
JE ne sais pas ce qu'il avait exactement en tête... Mais je doute que ce soit cela;)
en gros, j'ai fais ca :

Code : Tout sélectionner

<xsl:stylesheet version="1.0">
<xsl:output method="html"/>
-
	<xsl:template match="/rss">
-
	<html>
-
	<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"/>
<title>Syndication</title>
<link title="Printemps" rel="stylesheet" href="Coquelicots.css" type="text/css"/>
</head>
-
	<body>
-
	<div id="bienvenue"> [...]
ca s'affiche bien sous FF (avec l'astuce de calimo renomage en xml du xsl)
mais c'est pas térrible sous IE.
la page html de meme contenu s'affiche correctement, c'est la meme feuille de style...
IE a du mal avec la mise en place CSS sur du XSL..enfin, c'est en gros ce que je ocmprend pour l'instant :lol:
:arrow: La FAQ - La Recherche - Le profil
Invité

Message par Invité »

jv2759 a écrit :chez moi avec ie5 c'est une catastrophe ta pages, je ne vois absolument rien dutout...
c'est normal le moteur d'affichage xsl est de la sauce propre à cro$oft pour voir qqch qui respect un temps soit peu la norme w3c faut au min utiliser ie5.5 voir ie6.0

---------------------------------------------------------------------------
Pour moi sous firefox c'est ok maintenant.

naWer, voici ton code qui marche avec ie6 et ff1

Code : Tout sélectionner

<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="rss.xsl" ?> 
<rss version="2.0">
(...)
et le code xslt (un peu changer mais t'as qqch de ressemblant :wink: :

Code : Tout sélectionner

<?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" encoding="iso-8859-1" />
<xsl:template match="/rss" >
<html>
<body>
<xsl:apply-templates select="channel" />
</body>
</html>
</xsl:template>
<xsl:template match="channel" ><xsl:apply-templates select="item" /></xsl:template>
<xsl:template match="item" ><div class="partie"><xsl:apply-templates /></div></xsl:template>
<xsl:template match="title" ><h2><xsl:value-of select="." /></h2></xsl:template>
<xsl:template match="author" ><h5>Publié par <a href="mailto:{.}"><xsl:value-of select="." /></a></h5></xsl:template>
<xsl:template match="pubDate" ><h5>Date de publication : <xsl:value-of select="." /></h5></xsl:template>
<xsl:template match="description" ><p><xsl:value-of select="." /></p></xsl:template>
<xsl:template match="link" ><h5><a href="{.}"><xsl:value-of select="." /></a></h5></xsl:template>

</xsl:stylesheet>
pour info mes 2 sont sauvés au format ANSI ... contrairement à ton fichier rss-xsl.xml qui est en unicode
Invité

Message par Invité »

NaWer a écrit :(...)
ca s'affiche bien sous FF (avec l'astuce de calimo renomage en xml du xsl)
mais c'est pas térrible sous IE.
la page html de meme contenu s'affiche correctement, c'est la meme feuille de style...
IE a du mal avec la mise en place CSS sur du XSL..enfin, c'est en gros ce que je ocmprend pour l'instant :lol:
c'est pas bien compliqué : il suffit de mettre un <head><link rel="stylesheet" type="text/css" href="rss.css" /></head> entre <html> et <body>
dans ton rss-xsl.xml
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités