affichage document XML

pbweb57

Membre enregistré
12 Juillet 2004
5
0
bonjour

je suis actuellement en train de réaliser un site web dans lequel j'utilise de XML. En utilisant un PC et internet explorer 6, je ne rencontre aucun soucis. Par contre, les pages ne veulent pas s'afficher avec un Mac.
faut-il faire quelque chose de précis pour pouvoir utiliser de XML avec Mac, ou est-ce que c'est chose impossible (pas encore développée) ?
Merci pour vos réponses

pbweb57
 
en fait je fais un lien comme suit dans ma page html :
<IFRAME SRC="News.XML"> </IFRAME>

mon document News.xml se présente comme ceci :
<?xml:stylesheet type="text/xsl" href="LesNews.xsl" ?>

<?xml version="1.0" encoding="ISO-8859-1" ?>

<lesnews>

<news>

<typ> Actualité </typ>

<image> news1 </image>

<titre> Un nouveau site </titre>

<suite> News01.php </suite>

</news>

</lesnews>
et j'ai un fichier xsl qui me formate mon fichier xml en html

j'ai testé sur un mac et ça ne fonctionne pas (ma page xml ne s'affiche pas). Alors je voudrais savoir si il faut que j'utilise une autre méthode pour que mes pages XML s'affichent sous mac, ou bien si d'une manière général, on ne peut pas utiliser XML et Mac.
Pour être honnète, je ne suis pas une pro du MAC, c'est même un OS assez étranger. Mais je voudrais que mon site soit utilisable aussi bien par des personnes qui ont un pc qu'un Mac.
 
A ma connaissance, seul Internet Explorer PC a un processeur XSLT intégré. A mon avis, passer par du XSL, même si c'est élégant pratique et tout et tout, n'est pas (encore) une bonne idée, ce n'est pas assez développé dans les browsers actuels.
J'en ai parlé ici il y a quelques temps, mais le sujet n'a pas eu un grand intérêt.
Si tu veux tout de même utilisé du XSL, à mon avis, il vaut mieux transformer le XML en ce que tu veux (HTML?) sur le serveur et non pas par le client (comme ça c'est bon chez tout le monde, y compris les vieux browsers). Si tu as la chance d'avoir un serveur où tu peux tout configurer toi-même, il existe des extensions PHP qui font ça très bien.
 
molgow a dit:
A ma connaissance, seul Internet Explorer PC a un processeur XSLT intégré. A mon avis, passer par du XSL, même si c'est élégant pratique et tout et tout, n'est pas (encore) une bonne idée, ce n'est pas assez développé dans les browsers actuels.
J'en ai parlé il y a quelques temps, mais le sujet n'a pas eu un grand intérêt.
Si tu veux tout de même utilisé du XSL, à mon avis, il vaut mieux transformer le XML en ce que tu veux (HTML?) sur le serveur et non pas par le client (comme ça c'est bon chez tout le monde, y compris les vieux browsers).

Bonjour

Moi aussi, j'ai essayé d'écrire du xml, et rien ne marche, en tout cas en local sur un mac. Par contre le XHTML, c'est très bien, et quasi tout le monde peut le lire. Juste une petite restriction : IE 5 sous macOS 9 en local, et bien sûr les très vieux navigateurs refusent de lire le xhtml.
 
Salut,

Pour ma part ca fonctionne tres bien mais je n'utilise pas d'XSL ou XSLT. J'ai un parseur de fichier XML en php et un fichier XML version 1.0 et pas de pb.

:rolleyes:
 
merci pour l'info :)

mais comment tu utilises ton parseur ? il te permet de faire de la mise en page HTML avec ton fichier XML ?
si vraiment ça fonctionne aussi bien sous PC que sous MAC, je vais essayer
 
Une autre solution, si les données affichées dans ton site ne bougent pas trop souvent, est de gérer le contenu de ton site dans un (des) fichier(s) XML, et de générer par XSLT des fichiers HTMLs pour tout ton site quand des modifications ont été faite. Je crois que pas mal de gros sites peu dynamiques sont gérés de cette manière.
 
pbweb57 a dit:
mais comment tu utilises ton parseur ? il te permet de faire de la mise en page HTML avec ton fichier XML ?

www.commentcamarche.net pour plus d'infos :up:

Allez courage ! :rateau:

P.S. je precise que c'est exactement la solution de Molgow puisqu'il s'agit d'une extension php a inclure dans le http.conf d'Apache et qui offre les fonctions d'analyse des fichiers XML..
 
Non non pas d'accord. Ce n'est pas la solution que je proposais. Je vais refaire le tour de toutes les solutions pour bien comprendre :
  • Avoir un fichier XML et un fichier XSL et les envoyer tel quel au client, et laisser le navigateur client transformer le XML avec la feuille XSL. Cette solution est ce que faisait pbweb57 et comme on l'a déjà dit ça ne marche pas toujours car les processeurs XSLT ne sont pas inclus dans tous les navigateurs.
  • Avoir un fichier XML et un fichier XSL et opérer la transformation du XML avec le XSLT sur le serveur de cette manière, tout les clients pourront voir le résultat. Le seul "problème" est qu'il faut avoir la possibilité d'installer des extensions PHP sur son serveur, car le processeur XSLT de PHP n'est pas inclu par défaut. (ça c'est la solution que je suggérais)
  • Avoir un fichier XML et utiliser un parser XML afin de transformer sur le serveur le XML en HTML. Les parsers, il y en a 2 types :
    • parser évenementiel : intégré par défaut dans PHP, mais ce n'est pas très pratique, car un parser de ce type est basé sur des fonctions qui sont appelées à chaque début ou fin de tag, etc.
    • parser DOM : bien plus pratique mais pas intégré par défaut à PHP, ce type de parser permettent de manipuler un arbre DOM, et donc permettent (à mon avis) bien plus aisément de générer ce que l'on veut.
    Ca c'est la solution suggérée par ak7a.

Voilà maintenant, si j'ai bien compris, tu as déjà une feuille de style XSL avec ton fichier XML, c'est bien le cas ?! Si oui, alors à mon avis, la 2e solution (celle que je proposais) et celle qu'il te faut. Sinon dans ton parser tu devras refaire du boulot déjà faire pour réaliser la feuille XSL.
 
molgow a dit:
Les parsers, il y en a 2 types :
  • parser évenementiel : intégré par défaut dans PHP, mais ce n'est pas très pratique, car un parser de ce type est basé sur des fonctions qui sont appelées à chaque début ou fin de tag, etc.
  • parser DOM : bien plus pratique mais pas intégré par défaut à PHP, ce type de parser permettent de manipuler un arbre DOM, et donc permettent (à mon avis) bien plus aisément de générer ce que l'on veut.
Ca c'est la solution suggérée par ak7a.
[/list]

Ben en fait je parlais de la premiere solution a savoir le parser evenementiel puisque comme tu l'as precise il reagit a chaque debut et fin de balise du xml pour generer de l'HTML. Les fonction PHP qui permettent le parcours et rapatriement de donnees du fichier XML necessite la librairie expat (par defaut sur serveur apache > 1.3.7)
Le DOM (Document Object Model) c'est en effet optimise pour decrire et parcourir facilement des arbres de donnees. J'ai lu quelques trucs dessus, semble interessant surtout depuis le DOM Core Level 3 (support d'Xpath, le SQL pour XML) mais je n'ai pas encore essaye j'en ai encore a apprendre avant :p
 
j'ai fait des essais avec le parseur XML et ça fonctionne sans problème sous mac. Je suis super contente. Je vais pouvoir avoir un site qui fonctionne sous PC et sous Mac.
merci à tous pour les infos :up: