IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XML/XSL et SOAP Discussion :

Href absolu sur une feuille de style XSL


Sujet :

XML/XSL et SOAP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 20
    Par défaut Href absolu sur une feuille de style XSL
    Bonjour à tous,

    Je souhaite faire un lien absolut sur une feuille de style XSL depuis un fichier XML.
    Le problème est que je n'y arrive pas !


    Voici comment je procède :

    Mon fichier XML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <?xml-stylesheet type='text/xsl' href='http://192.168.10.1/monSite/mail.xsl'?>
    <?DOCTYPE mail SYSTEM 'http://192.168.10.1/monSite/mail.dtd'?>
     
    <mail>
       <date>2007-07-06</date>
       <time>14:40:12</time>
       <subject>blablabla</subject>
       ....
    </mail>
    Mon fichier XSL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html" indent="yes"/>
     
    <!-- TEMPLATE MAIL -->
    <xsl:template match="/mail">
       <html>
          <head>
             <title>Mail <xsl:value-of select="date"/></title>
          </head>
       <body>
          ...
       </body>
    </xsl:stylesheet>

    Lorsque je passe la feuille XSL en relatif ca marche.
    Lorsque j'attaque la feuille de style directement via mon navigateur (http://192.168.10.1/monSite/mail.xsl), je la récupère bien.

    Pensant que le problème, venait du type mime renvoyé par Apache j'ai essayé d'ajouter dans le httpd.conf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        AddType application/xsl .xsl
    puis j'ai essayer aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       AddType application/xml .xml .xsl
    puis j'ai essayer aussi :
    puis j'ai essayer aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       AddType text/xml .xml .xsl

    Est-ce quelqu'un aurait une idée d'où vient le problème ??
    Merci d'avance...

  2. #2
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Par défaut
    Salut,

    Tu as essayé de changer le type MIME renvoyé, c'était une bonne idée, mais je ne pense pas que le problème venait de là. Internet Explorer n'a presque pas besoin du type MIME, car il sait directement reconnaître le format des fichiers et leurs extensions.

    Pour te dire, par exemple je renvoie en CGI des fichiers XML en indiquant le type MIME text/raw, et quand je les ouvre sur le navigateur avec IE, il les ouvre pourtant en XML

    Idem avec les XSL, il sait le reconnaître, même si tu y met un type MIME text/raw.

    Le problème ne vient donc certainement pas de là.

    Si Internet Explorer n'affiche tout simplement rien, sans afficher de message d'erreur, alors je connais ce problème : c'est probabablement que ton fichier XML et XSL ne sont pas à la même URL.

    Par exemple si tu essai d'ouvrir un fichier http://www.siteA.org/fichier.xml qui fait référence à http://www.siteB.fr/feuille.xsl, alors Internet Explorer refusera d'ouvrir et d'appliquer feuille.xsl (même s'il peut la récupérer), parce qu'il considère cela comme une faille de sécurité.

    Ce n'est pas une bizzarerie de Windows XP, puisque même chez moi sur mon Windows 98, je constate le même phénomène.

    Je sais que c'est une option qui est configurable, mais je ne sais plus laquelle, et de toute manière, cette option est active par défaut sur presque toutes les installation.

    Par contre, si tu tente la même chose avec Opera par exemple, il y a de forte chance que cela marche.

    En règle général, avec IE, des resources mutuellement dépendentes doivent toutes se trouver sur le même nom de domaine et jamais sur des noms de domaines séparés (j'en avais déjà parlé ici, il y a 3 mois environ... fin mars)

    Maintenant, je baratine, je baratine, mais peut-être que je suis à coté... alors ce n'est pas ça, essai de donner un éventuelle message d'erreur d'IE, pour voir ce que cela peut être d'autre.

    A++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 20
    Par défaut
    En fait, que ce soit avec IE ou Firefox je ne reçoit aucun message d'erreur.

    Les 2 navigateurs me retourne le contenu de mes balises XML sans formattage et le tout à la suite :
    Voici par exemple mon fichier XML (je zappe l'entête) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <mail>
       <date>2007-07-05</date>
       <time>14:25</time>
       <baliseN>blablablablabla</baliseN>
    </mail>
    Une fois appelé avec la feuille de style distante, l'affichage de mon fichier XML est celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    2007-07-0514:25blablablablabla
    En général, lorsque les navigateurs ouvrent un fichier XML et qu'il ne trouve pas de feuille de style ils indiquent un message du genre "Aucune feuille de style ne semble correspondre au document..."

    Or dans mon cas, je n'ai pas ce message ce qui me fait dire qu'il récupère la feuille de style mais ne l'interprête pas comme tel.

    Alors il est vrai Hibou57, que les navigateurs considèrent peut-être ca comme une attaque, mais lorsque je recherche sur le net, je trouve des exemples XML qui utilise des feuilles de style distantes. En plus de ca, mon fichier Xml et mon Xsl sont sur le même serveur.

    Alors me dira-t-on pourquoi s'embêter à vouloir faire de l'absolut ?? et bien parce qu'en fait, je met en place un système d'envoi d'Emails avec archivage en XML. Les fichiers XML seront tous placer dans une arborescence aléatoire (en fonction de leur date ou ip d'envoi par exemple) et donc je ne peux pas savoir aisément à chaque fois le lien relatif correspondant... la solution radicale étant de leur appliquer un lien aboslut et hop le tour est joué (à condition que ca marche aussi )

    En résumé, j'suis au point mort...

  4. #4
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Par défaut
    Alut

    J'ai vérifier pour le comportement provenant d'IE : il affiche un message d'erreur dans le cas que je supposais :

    Code Text : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    La page XML ne peut pas être affichée 
    Impossible d'afficher l'entrée XML en utilisant la feuille de style XSL. Corrigez l'erreur, puis cliquez sur le bouton Actualiser ou réessayez ultérieurement. 
     
     
    --------------------------------------------------------------------------------
     
    Accès refusé. Erreur de traitement de la ressource http://www.....
    Ca n'est pas cela.

    C'est étrange en effet le résultat que tu obtiens : comme si la feuille appliquais <xsl:value-of select="mail">

    Vraiment bizzare.

    Pourrais-tu me donner un exemple exacte d'adresse à la laquelle se trouve le fichier XML ? .... et si possible, une copie exacte d'un XML et d'un XSLT (parce que les exemples que tu donne semble tronqués... et vu qu'on ne sait pas d'où vient l'erreur)

    Enfin, bref, le plus simple serait que tu mette en ligne un exemple d'XML, le laisser au moins un jour ou deux, et que tu me donne l'adresse (par MP si tu préfère peut-être)

    A++

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 20
    Par défaut
    Salut,

    Bon après un petit week end de repos, je viens de me recoller sur mon problème avec les idées fraiches, et miracle ca marche !

    Alors, alors d'où vener le problème ??

    Eh bien en fait, il n'y en avait aucun sur le code mais ma machine étant sur un réseau utilisant un proxy, le navigateur essayé d'aller chercher la feuille de style sur le proxy. J'ai donc désactiver de mon navigateur ma propre adresse ip pour le proxy, du coups ca marche !!

    Par contre, il y a quand meme un détail qui m'échappe aujourd'hui, c'est pourquoi mon navigateur ne me disait pas clairement qu'il ne trouvait pas la feuille de style....

    Bref, l'essentiel est que ca tourne me permettant ainsi d'avancer de nouveau sur mon application.

    Un grand merci à toi Hibou57

  6. #6
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Par défaut
    Oui, c'est bizzare... peut-être qu'il appliquait tout seul une feuille de style interne par défaut.

    Et puis tu n'as pas à me remercier c'est toi qu'à trouver la solution... en plus, tu donne une info interessante

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XSLT 1.0] Mettre en forme un schéma xsd avec une feuille de style xsl
    Par rinfray dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 24/04/2013, 09h04
  2. Réponses: 0
    Dernier message: 28/01/2013, 10h11
  3. Réponses: 2
    Dernier message: 16/06/2010, 13h14
  4. Réponses: 4
    Dernier message: 29/07/2008, 09h49
  5. Réponses: 5
    Dernier message: 22/07/2005, 23h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo