Transformation XML ...Client ou serveur ?

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 !

XSL vous connaissez ?

C'est quoi XSL ...
1
33%
Vraiment basique jamais utilisé
1
33%
Je connais ... à l'occasion
0
Aucun vote
J'utilise mais je n'aime pas
0
Aucun vote
A mon goût pas assez connu
1
33%
Je suis un PRO sans plus
0
Aucun vote
Je le conseille avis d'un spécialiste
0
Aucun vote
 
Nombre total de votes : 3

lpgc
Lézard à collerette
Messages : 259
Inscription : 16 juil. 2006, 01:02

Transformation XML ...Client ou serveur ?

Message par lpgc »

bonjour et meilleur voeux pour la nouvelle année :D

j'ai un peu refait le tour des articles concernant la transformation xml + xsl

et j'ai toujours quelques interrogations :?

1- Quand on précise la feuille de style dans la xml
la transformation se fait au niveau browser s'il est compatible
fichier_xml_with_xsl.xml

Code : Tout sélectionner

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="feuille_de_style.xsl"?>
Quels sont les browsers qui ne peuvent réaliser cette opération de conversion ?

2- Est il possible d'inclure dans une page existante HTML une_page.html
sans javascript et iframe le résultat de 1- fichier_xml_with_xsl.xml :?:

C'est sûr que si la transformation était faites côté serveur en PHP
un include PHP est la réponse ... mais comme cette transformation se fait côté client :roll:
si le xml + xsl donne juste : <pre>un petit test à inclure dans une page html</pre>

3- Quels sont les avantages et inconvénients des 3 types de conversions ?
je ne sais pas si préciser le xsl dans le xml porte un nom ... j'utilise le terme "browser"

- sur le client en javascript
- sur le client browser
- sur le serveur
- autres types ? ...

Merci pour les idées :D

En fait j'avais un peu laissé tomber la transformation côté serveur supposant
que c'est un peu plus lent puisque le serveur est sollicité
et comme mon hébergeur n'avait pas installé le pack transformation en ASP :wink:
.... par contre depuis que je commence à utiliser PHP ... cette approche est denouveau intéressante
pour certains aspects d'include
:? encore faut il que la page php principale soit interne et pas sur un autre serveur :cry:

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12
lpgc
Lézard à collerette
Messages : 259
Inscription : 16 juil. 2006, 01:02

C'est quoi XSL ...

Message par lpgc »

C'est quoi XSL ...
8-) ... je vais pouvoir étaler ma confiture :wink:

XML + XSL => n'importe quel type de fichier ( txt, csv, html, ... )

EXtensible Stylesheet Language ... c'est de la mise en forme de données

Assez difficile à manipuler au début ... plus d'infos : http://www.w3schools.com/xsl/xsl_languages.asp

... voilà j'ai fini ma tartine :wink:


Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Bon, voilà mon avis sur XSL : c'est lent et compliqué :)

Je l'utiliserais éventuellement pour faire une transformation unique d'un langage XML quelconque produit par une application que je ne maitrise pas vers quelque chose de stylable avec CSS (en ajoutant des classes à certaines balises par exemple). Unique dans le sens où je ne vois pas de raison de la refaire à chaque affichage, que ce soit sur le serveur ou le client : une fois la transformation effectuée correctement, seul le résultat a une importance et a un intérêt à être conservé et distribué.
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
lpgc
Lézard à collerette
Messages : 259
Inscription : 16 juil. 2006, 01:02

Message par lpgc »

Benoit a écrit :Bon, voilà mon avis sur XSL : c'est lent et compliqué :)

Je l'utiliserais éventuellement pour faire une transformation unique d'un langage XML quelconque produit par une application que je ne maitrise pas vers quelque chose de stylable avec CSS (en ajoutant des classes à certaines balises par exemple). Unique dans le sens où je ne vois pas de raison de la refaire à chaque affichage, que ce soit sur le serveur ou le client : une fois la transformation effectuée correctement, seul le résultat a une importance et a un intérêt à être conservé et distribué.
8-) je n'avais pas encore pensé à cette possibilité de sauvegarde de la transformation en html ...
c'est une bonne idée :idea: surtout si la transformation doit se faire maintes fois sur le serveur

Maintenant je ne suis pas un pro :roll: ... lent pas lent, compliqué pas compliqué ...
La seule chose que je sais c'est que l'ancienne entreprise "qui m'a foutu dehors :evil: "
commençait à développer tout ses printing en xsl ... les données provenant d'une application à flux xml
( et sur de gros volumes )

Et perso ... j'ai un faible pour ce langage ( bon c'est un hobby et j'ai du temps à lui consacrer )
et souvent je me dis ... et si je faisais cela en xml + xsl ... même si l'html est plus simple

Ceci dit une contrainte sous Firefox pour le XSL qui n'existe pas sous IE
( c'est la mixité des langages dans le XSL ... je ne connais pas les termes techniques
mais il est possible d'incorporer des fonctions ASP dans du XSL que IE comprend mais pas Firefox ...
Un simple calcul de dates en ASP ou PHP c'est très facile en XSL c'est une réelle torture
MAIS IE permet d'incorporer la fonction ASP comme si c'était du XSL 8-)
que ce soit un standard ou pas ... moi béocien je vois que cela fonctionne d'un côté et pas de l'autre )
Faudrait bien que je passe à la version suivante de Firefox :wink: ... pour voir si c'est aussi possible maintenant sur la nouvelle version

Hé puis ! je me dis tout de même que si un site fournit du xml ...
un forum par exemple pourrait le récupérer et le transformer avec du xsl "à sa sauce"
avec un tout petit javascript ne faisant que le transform

Je n'en suis pas encore là ... mais à titre d'exemple je me suis amusé à faire l'exercice en xsl

Simple html
http://www.dvdlib.be/previewcomment.php
Données xml
http://www.dvdlib.be/previewcomment.php?give=xml
Le xml stylisé en html ... mais le style pouvant très bien être sur un autre site !
http://www.dvdlib.be/previewcomment.php ... omment.xsl

et surtout transformer le xml dans un format autre que l'html

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

L'utilisation que tu décris en entreprise est certainement justifiée dans le cas où elle n'a pas accès à l'application en question, sinon il serait peut-être plus intéressant de la faire produire un flux alternatif directement utilisable (ça peut être fait en interne avec XSL d'ailleurs).

Ma remarque concernait en fait l'utilisation directe d'XSL sur le Web.
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
FF_Olivier
Iguane
Messages : 979
Inscription : 09 juil. 2004, 15:41

Message par FF_Olivier »

XSL côté clients : tu es limité (pour l'instant ?) à du XSLT v1.0, tant pour IE que pour FF, càd pas de triturage de date ou d'URI, pas d'output/ventilation multi-fichiers. De plus, ce n'est pas le même parser (la même moulinette) qui est utilisé, et tu es donc tributaire des différences d'interprétation toujours possibles.

XSL côté serveur : tu utilises ce que tu veux, donc tu as accès à XSLT v2.0, plus complet évidemment (cf. saxon v9). Tu contrôles ta moulinette.

XSLT n'est intéressant que si tu as un paquet de fichiers XML à transformer et/ou que si le contenu du/des fichier(s) XML changent souvent. Tu produis alors quand c'est nécessaire tes fichiers (x)html et/ou pdf (avec XSL/FO et fop p.ex). Comme le dit Benoît, inutile de recommencer à chaque requête client si le résultat n'a pas changé.

D'ailleurs, à strictement parler, pas besoin de transformer sur le serveur, tu le fais sur ta bécane et tu uploades les html/pdf résultant, sauf si tes données XML changent en temps réel bien sûr, il faut alors trouver un mécanisme de détection de ces modifs et agir en conséquence.

XML et XPATH : très puissant pour l'extraction de données

De toute façon, si ta source est en XML, XSLT/xpath/XSL-FO est quasiment un passage obligé, et... ce n'est pas si compliqué que ça ;) !
openSUSE 12.2 - FF v24.0 FR - TB v24.0 FR ma config en détails - Décrivez la vôtre ici ;)
userContent.css : modifiez l'apparence et le contenu des sites visités !
lpgc
Lézard à collerette
Messages : 259
Inscription : 16 juil. 2006, 01:02

Message par lpgc »

Image et Merci pour l'info :D
FF_Olivier a écrit :XSL côté clients : tu es limité (pour l'instant ?) à du XSLT v1.0, tant pour IE que pour FF, càd pas de triturage de date ou d'URI, pas d'output/ventilation multi-fichiers.
triturage de date ... calcul de dates ? ... c'est possible mais très compliqué en XSL avec ASP intégré au XSL c'est mille fois plus simple
un petit test que j'avais fait à l'époque http://www.dvdlib.be/tutor/xsl/test/testjs.xml ( mettre en majuscule ne fonctionne pas sous Firefox ... )
En fait je suppose que c'est une sorte de VB qui tourne côté client ? ...
:idea: Il faudrait peut-être un équivalent PHP ... si cela n'existe pas

pas d'output/ventilation multi-fichiers ... Whouah ! c'est possible de faire cela côté serveur ?
FF_Olivier a écrit : XSL côté serveur : tu utilises ce que tu veux, donc tu as accès à XSLT v2.0, plus complet évidemment (cf. saxon v9). Tu contrôles ta moulinette.
Il est possible de trouver un bon tuto quelque part pour débuter en PHP ?
et un autre pour ceux un peu plus avancés :? et qui aimeraient
se perfectionner dans le domaine ( PHP + XSL + sauvegarde multifichiers )

Je suppose tout de même que cela dépend également de ce qui est disponible chez l'hébergeur
FF_Olivier a écrit :D'ailleurs, à strictement parler, pas besoin de transformer sur le serveur, tu le fais sur ta bécane et tu uploades les html/pdf résultant, sauf si tes données XML changent en temps réel bien sûr, il faut alors trouver un mécanisme de détection de ces modifs et agir en conséquence.
Un tas de compétences techniques que perso je n'ai pas pour réaliser tout cela en automatique
:roll: Quand je pense que j'ai déjà dû demander un assistance à 'hébergeur
pour sauvegarder une image à partir d'une fonction PHP dans un répertoire du serveur ... :wink:

... changent en temps réel :?: SOAP ... services ?

... un mécanisme de détection de ces modifs et agir en conséquence.
( pas reçu de mail m'avertissant d'une réponse ... pourtant la case "m'avertir ... " est bien cochée :wink: )
FF_Olivier a écrit :De toute façon, si ta source est en XML, XSLT/xpath/XSL-FO est quasiment un passage obligé, et... ce n'est pas si compliqué que ça ;) !
:D


Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12
Répondre

Qui est en ligne ?

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