Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
962 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  les navigateurs et <?xml-stylesheet type="text/xsl" ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

les navigateurs et <?xml-stylesheet type="text/xsl" ...

n°1643195
cyplp
Posté le 15-11-2007 à 10:37:18  profilanswer
 

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.
 
 
 
 
 
 

mood
Publicité
Posté le 15-11-2007 à 10:37:18  profilanswer
 

n°1643673
fifiz
Posté le 16-11-2007 à 00:32:40  profilanswer
 

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.

n°1643689
papy_danon​e
Posté le 16-11-2007 à 03:24:39  profilanswer
 

Ca marche bien. Il me semble que seul XSLT 1 est supporte par ces browsers et que tu ne peux pas utiliser les extentions.

n°1643739
cyplp
Posté le 16-11-2007 à 09:39:58  profilanswer
 

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.
 

n°1648765
MagicBuzz
Posté le 26-11-2007 à 11:20:04  profilanswer
 

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.

n°1648772
cyplp
Posté le 26-11-2007 à 11:38:41  profilanswer
 

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.

n°1648779
MagicBuzz
Posté le 26-11-2007 à 11:47:33  profilanswer
 

Exemple de "buttineur".

Code :
  1. Option Explicit
  2.  
  3. Dim dom, root, nuage
  4. Dim alt
  5. Dim str
  6.  
  7. alt = CInt(InputBox("Altitude ?" ))
  8. str = "Nuages trouvés :" & vbCrlf
  9.  
  10. Set dom = CreateObject("Microsoft.XMLDOM" )
  11. dom.async = false
  12. dom.Load("http://www.gchagnon.fr/cours/xml/exemples/nuages.xml" )
  13. Set root = dom.documentElement
  14.  
  15. For each nuage in root.selectNodes("nuage" )
  16.  If CInt(nuage.selectSingleNode("altitude" ).attributes(0).value) > alt and CInt(nuage.selectSingleNode("altitude" ).attributes(1).value) < alt Then
  17.    str = str & "- " & nuage.SelectSingleNode("nom" ).text & vbCrLf
  18.  End If
  19. Next
  20.  
  21. MsgBox(str)


 
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.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  les navigateurs et <?xml-stylesheet type="text/xsl" ...

 

Sujets relatifs
[RESOLU][D 7] utilisation de try...except...end[debutant][résolu]C++ et QT4...Conversion de type??
tableau avec rendu type "figer les volets" Excel[MySQL ODBC]not a Mach-O MH_BUNDLE file type
récupérer facilement le type mime[DDD] et le type void
Incompatibilité de type avec une boucle ForEcrire type=1 dans un fichier
Problème de type sur Variable de formulaireagument par default ( c'ets normal??) EDIT
Plus de sujets relatifs à : les navigateurs et <?xml-stylesheet type="text/xsl" ...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR