Page 1 sur 1

RESOLU: firefox et les feuilles de style xslt

Publié : 09 déc. 2004, 19:39
par vissant29
Résolu !

Il s'agit bien d'une question d'extension et aussi d'une question de href :

- il faut invoquer sa feuille de style dans le document xml, en indiquant un mimetype. J'avais mis ça

Code : Tout sélectionner

<?xml-stylesheet type="text/xsl" href="mafeuille.xslt"?> 
- il faut donner un nom à sa feuille de style, et une extension, j'avais choisi

Code : Tout sélectionner

mafeuille.xslt
J'ai choisi d'essayer divers mimetype: text/xsl texte/xslt text/css text.xml
et divers suffixe à mafeuille: xsl, xslt, css, xml, rien. Soit vingt essais en tout !

Alors :lol: ce qui marche c'est ça :

Code : Tout sélectionner

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xml" href="http://monserveur/mafeuille.xml"?>
Je comprends la nécessité du href="http:/monserveur/" car en recevant ma page xml, le navigateur, à la lecture de sa deuxième ligne, demande au serveur de la lui envoyer. Quand il a reçu les deux fichiers, il se tape la transformation, s'il en est capable (merci le gecko).

Je peux comprendre pourquoi c'est type="tetx/xml" (après tout une feuille de style, c'est un document en XML).

Par contre, la nécessité du suffixe à mafeuille.xml, de même que la nécessité de déclarer ce foutu type mime, me semble incompréhensible:

TOUT document xml doit commencer par dire qu'il est en XML :<?xml ....?>
TOUT document html doit commencer par dire qu'il est en HTML : <html>....
TOUS ces documents sont stockés sur disque sous forme d'une suite de caractères
TOUT document qui commence par <?xml ... ?> est censé être en XML, même si son suffixe est .txt

Alors pourquoi donc :evil: les éditeurs, navigateurs, parseurs... ne se content-ils pas de parser les six premiers caractères du fichier pour en déterminer la nature avant d'aller plus loin??? Pourquoi se basent-ils AUSSI sur une p@*¿ d'extension que tout le monde peut modifier à sa guise?

Merci au lézard à collerette et à martin pour leurs avis :idea: qui ont contribué à m'éclairer.

Publié : 09 déc. 2004, 20:48
par calimo
Parce que ce sont les recommandations du W3C.
Déjà un document HTML commence normalement par un doctype :wink:
Ensuite je rectifie, ils ne se basent pas du tout sur l'extension du fichier. Peut-être que le serveur le fait, mais pas le navigateur (sauf IE avec les problèmes qu'on sait). Ton fichier pourrait s'appeler mafeuille.zorglub ou mafeuille.jpg, du moment que le serveur l'envoie comme text/xml ou un truc juste, il ne doit pas y avoir de problèmes :wink:

En effet, comment le navigateur pourrait-il parser les premiers caractères sans savoir ce qu'il parse ? On pourrait croire que c'est trivial, mais ce ne sont que des machines, il ne faut pas l'oublier. On serait obligé de commencer par lire le fichier, déterminer son type, avec les risques d'erreurs inhérents... ?
Ce ne serait pas raisonnable ! Beaucoup trop lourd !

L'en-tête content-type sert justement à ça : savoir "qu'est-ce que ce document ?" :wink:

bravo

Publié : 11 mars 2005, 23:11
par bad_xslt
mille mercis à vissant29 et ses 12000 essais :shock:
je peux enfin admirer la synchronisation de mes bookmarks sur mon firefox adoré :roll:
Alors Mort de rire ce qui marche c'est ça :
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xml" href="http://monserveur/mafeuille.xml"?>
quant à ce sombre xslt, vraiment y'aurait pas aut'chose pour remplacer ??
on a ben remplacé ouinouin par linux non ?

Publié : 12 mars 2005, 00:01
par Bobe
Salut,

En général, l'extension d'une feuille de transformation XSL est soit .xsl, soit .xslt.

Pour le type MIME, il faut utiliser application/xml. Le type text/xml est déprécié et devrait être évité.
XSLT 2.0 définit le type application/xslt+xml mais c'est encore un document de travail et ce type n'est donc pas encore enregistré je crois (ni supporté évidemment).