Une question de débutant. Y a-t-il un intérêt à afficher le contenu d'un fichier XML avec XSL, plutôt que d'utiliser php et notamment SimpleXML ? N'est-ce pas plus compatible avec les différents navigateurs d'envoyer du XHTML via php ?
Une question de débutant. Y a-t-il un intérêt à afficher le contenu d'un fichier XML avec XSL, plutôt que d'utiliser php et notamment SimpleXML ? N'est-ce pas plus compatible avec les différents navigateurs d'envoyer du XHTML via php ?
Salut,
je ne connais pas SimpleXML, mais XSL est LE langage de mise en forme du XML, donc le plus approprié à être utilisé ici.
Si ça se trouve ... SimpleXML utilise en arrière plan du XSL ! Je ne vois pas d'ailleurs comment il pourrait en être autrement !
Gôm
SimpleXML est le parseur XML de php5. Il permet en une fonction d'accéder à n'importe quelle balise XML. La mise en forme se fait ensuite avec les fonctions php, beaucoup plus puissantes que le XSL. Surtout, le php étant exécuté côté serveur, il ne dépend pas du navigateur, et ne demande pas l'envoi au navigateur de tout le fichier XML (pas d'envoi de tout un livre pour afficher que la table des matières, par exemple). En effet, comment s'affiche une page XML/XSL dans un navigateur ancien (type IE5) ?
Ceci étant dit, je repose ma question : y a-t-il un intérêt à utiliser XSL plutôt que php ?
je viens de lire un peu de docs sur SimpleXML et je pense pas qu'il y est un intérêt d'utiliser XSL uniquement, SI tu as le temps de te former à SimpleXML.
En effet, si par exemple tu veux faire plusieurs mises en forme d'un même fichier XML, tu aurais probablement utilisé PHP pour jongler d'un style à un autre. (exemple : génération d'une page web et d'un fichier PDF et d'un doc Word, etc)
Donc je serais toi ... d'ailleurs je vais m'y mettre au SimpleXML (merci ;-) ... je me mettrais au SimpleXML tout en apprenant les bases du XSL.
Gôm
J'ai du mal à voir la comparaison entre SimpleXML et XSL: SimpleXML sert à lire du XML, XSL sert à formater du XML. En fait, si je suis bien ce que tu cherches à comparer c'est du XSLT côté client face à une transformation côté serveur, non ? Auquel cas je dirais que c'est avant-tout une question de performance. Tant qu'à faire, si le client peut s'occuper du plus gros du travail (c-à-d transformer XML+XSL en XHTML) ce n'est pas plus mal. Et si le client n'accepte pas XSL (voir $_SERVER['HTTP_ACCEPT']) alors tu peux faire la transformation toi-même avec PHP.
En fait, c'est surtout que je connais bien le php, que je dois me mettre au XML, et que je me demande si c'est indispensable d'apprendre le XSL...
Bonjour,
Indispensable, non, profitable, peut-être...Envoyé par vg33
![]()
Pour te donner un exemple de synergie PHP/XSL, j'ai externalisé dans une de mes applis PHP les fonctions d'impressions de document. Plutôt que de générer mes documents PDF avec fpdflib (pas très performant et pas trop adapté pour des documents un peu sophistiqués), je fais génèrer par mon appli un flux XML, qui est transmis à un autre serveur (avec une appli Java, Cocoon) qui se charge de la conversion de ce flux en document PDF, grâce à XSL (XSLT et et XSL-FO précisément). Je peux intervenir sur la présentation de ce PDF sans toucher à une ligne de mon appli PHP (sauf pour ajouter de nouvelles données à afficher, évidemment).
Merci pour votre aide à tous. Je pense que je vais commencer par XML/PHP, puis plus tard je me mettrai au XSL.
Bonjour,
Effectivement, j'arrive après la bataille, mais j'ai déjà tout écrit, ... alors
Une des chose qu'il ne faut pas oublier et que SimpleXML comme son nom l'indique, simplifie l'accès à XML en rendant accessible la structure sous forme de tableaux, plus traditionnelle pour les développeurs, et permet ainsi d'éviter de passer par l'apprentissage du DOM.
XSL à l'inverse, déporte le plus possible le traitement dans un formalisme XML, aussi générique que du "SQL", et permet de porter une application plus rapidement d'un langage de programmation à l'autre, en réduisant son utilisation aux traitements des paramètres et aux APIS de transformation XSLT.
C'est mon point de vue bien sûr.
@+
Xavier
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager