les navigateurs et <?xml-stylesheet type="text/xsl" ... - XML/XSL - Programmation
Marsh Posté le 16-11-2007 à 00:32:40
Je crois que seul des navigateurs assez récent supporteront la transformation à la volée.
Par contre j'ai jamais entendu parler de pb de compatibilité. A mon avis (mais je ne suis pas un spécialiste) ça marche parfaitement ou ça ne marche pas du tout.
Marsh Posté le 16-11-2007 à 03:24:39
Ca marche bien. Il me semble que seul XSLT 1 est supporte par ces browsers et que tu ne peux pas utiliser les extentions.
Marsh Posté le 16-11-2007 à 09:39:58
ok donc aucun de vous ne l'a encore mis en prod
le problème c'est que je manque de référence sur le sujet et de solutions alternatives fiables.
J'ai rapidement tester AjaXslt mais je suis plutôt déçu.
Marsh Posté le 26-11-2007 à 11:20:04
Le XSL s'applique généralement sans souci.
C'est ce que le XSL a généré dont le comportement est plus difficile à prévoir.
Effectivement, sous IE comme sous FF, il existe des modifications substentielles de rendu lorsque la page est valide XHTML ou HTML4 ou autre. Et le problème, c'est qu'il est quasi impossible de débuger une page HTML générée à la volée par le navigateur parceque... Dans le navigateur tu n'as accès qu'aux valeurs XML, et au XSL, mais pas au produit de la transformation !
Du coup lorsque tu introiduit un bug dans le HTML généré, le moteur de rendu peut changer de mode de fonctionnement, et donc modifier tout le rendu, sans qu'il soit possible de trouver ce qu'il se passe. Le debug est donc très difficile.
C'est en tout cas la seule limitation que j'ai rencontré.
Ceci dit, niveau support, je n'étais pas très embêté, tous les utilisateurs du site où j'avais utilisé ce système étaient équipés de IE, qui sait faire de la transformation XSL depuis la version 5.
Pour FF, je ne sais pas depuis combien de temps c'est supporté (pas mal de temps aussi). Pour les autres navigateurs par contre, aucune idée.
A noter tout de même un élément TRES gênant avec XML/XSL côté client :
1/ Toutes les variables "cachées" utilisées dans ton XML pour faire le rendu XSL sont visibles. C'est pas forcément toujours très heureux, puisque la source XML et XSL sont visibles (et ça peut donner des idées à un petit matin pour tenter de corrompre le fonctionnement du site)
2/ La moindre erreur à la con, et le rendu ne se fait pas du tout. Ca va du guillement ou signes "&", "<" et ">" mal gérés au problème de charset. C'est très chiant quand t'as une page "caractère non confome rencontré à la ligne 1" et qu'il est impossible de voir quoi que ce soit (aussi bien pour l'utilisateur final qui est complètement bloqué que pour le dev qui ne peut pas récupérer la moindre info utile lors de l'erreur)
3/ Un utilisateur peut très aisément écrire un "butineur" qui va venir télécharger ton flux XML afin d'alimenter une base à lui, genre comparateur de prix, etc. Et tu n'as aucun moyen pour te protéger dans ce cas.
Marsh Posté le 26-11-2007 à 11:38:41
l'idée d'origine était que l'on voulait diminuer la charge sur le serveur.
De plus nos sites doivent rester accessibles aux navigateurs en mode texte, et ça aurait été chiant de trouver à la volée les navigateurs supportants ces tranfo.
donc ça plus une éventuelle fuite de données on s'est tourné vers xslCache http://code.nytimes.com/projects/xslcache qui marche plutot bien.
Marsh Posté le 26-11-2007 à 11:47:33
Exemple de "buttineur".
Code :
|
Ce petit script VBS permet d'obtenir la liste des nuages présents à une certaine altitude, sans pour autant passer par le site.
C'est typiquement le genre de choses qu'on ne veut pas forcément permettre.
Marsh Posté le 15-11-2007 à 10:37:18
Bonjour,
Je travail sur des sites web qui générent du xml qui est transformé via php et des xsl.
ça marche plutot bien, mais ça prends pas mal de ressources coté serveur. Je cherche donc a optimisé ce traitement.
Et je suis tombé sur http://www.gchagnon.fr/cours/xml/domxslt.html et particulièrement sur http://www.gchagnon.fr/cours/xml/exemples/nuages.xml
Le serveur envoie au client le xml brut et la xsl et le navigateur du client fait la transformation.
Je souhaite mettre en place ce mécanisme pour soulagé le serveur.
Mais je n'ai pas de trouver beaucoup de retour d'experience sur internet sur ce mécanisme.
Est ce que certains ici l'ont testé et mis en prod ? est ce que XSLT est entièrement supportée par les navigateurs ? il y a des limitations ?
J'ai tester avec succès l'exemple plus haut avec firefox,IE6, IE7, opera et safari mais l'exemple est assez simple.