Bonjour à tous,

je suis toute nouvelle dans la découverte du xml, dtd, xsl et xpath. Je suis en train de réaliser un projet pour mes cours et il avance bien, mais me voilà confrontée à un souci. J'ai créé mon xml, ensuite une dtd, puis un xsl en y ajoutant du xpath.

Si je visionne mon xml via Safari, tout est correctement affiché. Si je le visionne avec IE8 ou IE7, tout fonctionne bien.
Maintenant, si je le visionne avec IE9, j'ai une page blanche et avec Firefox une erreur de référence.

Pourriez-vous m'indiquer si le xml a des soucis de compatibilités entre navigateur. J'ai effectué des recherches sur Google, mais je n'ai rien trouvé de tel, sauf qu'il fallait faire attention à l'encodage du document, mes documents sont tous en utf-8.

Savez-vous d'où mon problème peut venir ?
Je vous en remercie par avance !
Cindy
Salutation cici_542

Le XML non. Il ne saurais être en cause. Mais le développement en XSL, avec une sortie en HTML, oui. Le rôle du XML est de stocker des données. Et le rôle de XSL, est de formater l'affichage par exploitation des données cibles (XPath).

Quand on développe en XSL, il est d'extrême importance de vérifier la source via affichage » source : sous Windows par exemple. Vérifie si ton !DOCTYPE est conforme.
Vérifie <xsl:output method='html' et les instructions du !DOCTYPE />

Surtout pour ceux et celles qui compile en ligne de commande via un processeur comme saxon. La première chose lorsqu'on débute est la vérification des résultats au code source lorsque la sortie est HTML. Le contrôle des entêtes HTML peut demander quelques pratiques, lorsque nous utilisons les technologies XML pour la première fois. Une sortie conforme et valide au W3C. Donc complète.

Par simple curiosité essais la version 2 de XSL : <xsl:stylesheet version='2.0' . . . >. Si ce n'est déjà fait. En principe nos navigateurs gère la version 2.0 de XSL. Obligatoire sous saxon v9. Sinon un Warning, mais qui n'empêchera pas l'exécution du programme (question de compatibilité avec les versions antérieurs de saxon).

Tiens nous au courant s.v.p Smiley smile .
Je ne prétends pas résoudre le problème ici, puisque les facteurs impliquer peuvent être multiples.

..
Modifié par zardoz (02 Nov 2011 - 08:32)
Bonsoir cici-542

Utilises-tu un DTD interne ou externe ?
Une DTD externe n'est reconnue ni par FF ni par IE9,
il faut changer ton fusil d'épaule, peux tu diffuser ton fichier XML et ton XSL ? ou des extraits permettant de se faire une idée de ton problème afin de t'aider
Précisions

XML, xsl et xpath sont compatibles avec tous les navigateurs actuels sans exception.
Donc ton problème ne peut venir que de la DTD.
Au fait pourquoi as-tu besoin d'une DTD ? Ce n'est obligatoire que si tu veux partager ou imposer un modèle de document au sein d'une communauté qui utilise le même langage, s'il faut absolument que tu créés un modèle de référence, pourquoi ne pas utiliser les schéma (xsd) c'est peut-être un peu plus complexe, mais il y a des outils qui les fabriquent (OXYGEN par exemple), c'est universel et cela répond aux recommandation de la W3C.
Si tu tiens mordicus à la DTD, commence par la mettre de côté et ne travailler que sur un fichier XML unique, à moins que la DTD externe ne soit obligatoire pour agréger entre eux différents fichiers XML. Dans ce cas il y a des solutions de remplacement. On en reparlera si tu veux.
Modifié par rimousky (11 Nov 2011 - 00:37)