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 :

Transformation XSL bugue avec Firefox


Sujet :

XML/XSL et SOAP

  1. #1
    Candidat au Club
    Homme Profil pro
    agent tourisme
    Inscrit en
    Février 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : agent tourisme
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Février 2014
    Messages : 14
    Points : 3
    Points
    3
    Par défaut Transformation XSL bugue avec Firefox
    Je débute, j'avoue que je patauge assez ...
    c'est pourquoi je viens vers vous pour trouver un conseil.

    Je souhaite utiliser une liste de photos en fichier XML : (çà m'évite de louer une BDD pour créer mes pages de site : le XML est gratuit !...)

    mon fichier exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <?xml-stylesheet type="text/xsl" href="cxslphotoExt.xsl"?> 
    <gite>
      <photo>
        <auteur>L.A.</auteur>
        <cat>ext</cat>
        <rub>paysage</rub>
        <date></date>
        <IMAGE source="images\GitePanoreglcom650.jpg"/>
        <titre>panorama </titre>
        <LIEN xml:link="simple" href="text/ruisseau.html"></LIEN>
        <dim> </dim>
        <prix> 200 Euros</prix>
        <iframe>document.open(bla.html)</iframe>
      </photo>
     
      <photo>
        <auteur>L.A.</auteur>
        <cat>int</cat>
        <rub>paysage</rub>
        <date></date>
        <IMAGE source="images\gitSaM.jpg"/>
        <titre>salle à manger </titre>
        <LIEN xml:link="simple" href="text/ruisseau.html">salle à manger</LIEN>
        <dim>  </dim>
        <prix> </prix>
        <iframe>document.open(bla.html)</iframe>
      </photo>
     
      <photo>
        <auteur>L.A.</auteur>
        <cat>int</cat>
        <rub>paysage</rub>
        <date></date>
        <IMAGE source="images\Gitfeubois.jpg"/>
        <titre>séjour </titre>
        <LIEN xml:link="simple" href="text/ruisseau.html">sejour</LIEN>
        <dim>  </dim>
        <prix> </prix>
        <iframe>document.open(bla.html)</iframe>
      </photo>
    ....
    </gite>

    pour pouvoir les trier en 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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:output method="html" encoding="iso-8859-1" doctype-public="-//W3C//DTD XHTML 1.0
    Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-
    transitional.dtd"/>
     
      <xsl:template match="/">
     
        <html>
          <head>
     
            <style type="text/css">
    p
    {
      font: italic small-caps 900 12px arial
    }
            </style>
          </head>
          <body>
    ...  .....
     
          <table width="700" border="0" cellspacing="10" cellpadding="10" align="center">
    <!--<tr bgcolor="antiquewhite">
    <td>Date</td>
    <td>Image</td>
    <td>Titre</td>
    <td>dimensions</td>
    </tr>-->
            <xsl:for-each select="gite/photo">
              <xsl:if match=".[cat='ext']">
                <tr bgcolor="#fffcc" >
                  <td>
      <table summary="photo" cellspacing="17" cellpadding="4" align="center" border="5" bordercolor="#00185A" style="filter:Alpha(opacity=100, finishopacity=85, style=3)" bgcolor="#ffffcc">
          <tr bgcolor="white"><td bgcolor="ivory"><IMG><xsl:attribute name="src">
          <xsl:value-of select="IMAGE/@source"/>
          </xsl:attribute></IMG>
    			</td></tr>
       </table>
     
              </xsl:if>
            </xsl:for-each>
     
          </table>
     
    ... ...
     
          </body>
        </html>
     
      </xsl:template>
    </xsl:stylesheet>


    et les éditer dans une page en HTML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    <?xml version="1.0" encoding="ISO-8859-1"?> 
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <html>
    <head>
     
    <title>liste des photos</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script type="text/javascript">
    // Load XML 
    var xml = new ActiveXObject("Microsoft.XMLDOM")
    xml.async = false
    xml.load("aGitetest.xml")
     
    // Load the XSL
    var xsl = new ActiveXObject("Microsoft.XMLDOM")
    xsl.async = false
    xsl.load("cxslphotoExt.xsl")
     
    // Transform
    document.write(xml.transformNode(xsl))
    </script>
    <style type="text/css"></style><link rel="stylesheet" href="css/macss.css">
    </head>
     
    <body bgcolor="#ffffcc" background="fdegrBl3jaune.gif" class="scroll">
    <br /><br /><br /><br />
     
    <table width="47%" border="0" align="center" height="27">
      <tr><HR ALIGN=center  SIZE=4 WIDTH=710></tr>
      <tr> 
         <td class="pied" width="46%"> 
          <div align="center"><a href="photosGiteInt.htm ">photos d'intérieur</a></div>
        </td>
    		<td class="pied" width="54%"> 
          <div align="center"><a href="photosGiteExt.htm ">photos extérieures</a></div>
        </td>
        </tr>
    </table>
     
    <p class="absoluLien" style="left: 21px; top: 12px"><a href="gitefoto.html"> 
      Retour &agrave; l'accueil </a></p>
     
     
    <xsl:template match="/">
    </xsl:template> </xsl:stylesheet>
     
    </body>
    </html>
    tout çà est lu correctement sous Microsoft Int Explorer
    Par contre :
    Les images n'apparaissent pas !!! : ni avec FireFox ni avec Chrome !!! pourquoi ?

    D'avance merci pour votre aide
    ou excuses si je ne suis pas dans le bon forum ou si je me suis mal exprimé...

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ça a l'air d'être le bon forum.

    Par contre, 'faudrait poser les questions une par une. Là tu nous montres un XML, ok, et deux XSL. Bah c'est quel XSL qu'il faut regarder et pourquoi l'autre est là ?

    En l'occurrence, les deux sont mal formés, avec des balises ouvertes ou fermées n'importe où, et ça ne risque pas de marcher. J'ignore pourquoi IE accepterait d'en faire quelque chose, mais les autres, c'est pas juste qu'ils affichent pas les images, c'est un gros message d'erreur en rouge.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Candidat au Club
    Homme Profil pro
    agent tourisme
    Inscrit en
    Février 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : agent tourisme
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Février 2014
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    Merci Thelvin de vous intéresser à ma question :

    En fait le 2eme XSL est un fichier en .HTM qui permet d'éditer la fusion obtenue dans le 1er XSL ...

    J'ai bâti ainsi, j'avoue un peu empiriquement, les pages de présentation de notre gîte touristique :
    http://www6.nordnet.fr/alberti/gitefr.htm

    les exemples que je vous avais copiés étaient tronqués ...
    En fait je préfère vous donner ici le lien d'accès à la page actuellement active sous IE

    http://www6.nordnet.fr/alberti/photosGiteExt.htm

    ainsi que le code source correspondant sous IE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?xml version="1.0" encoding="ISO-8859-1"?> 
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <html>
    <head>
     
    <title>expo des photos</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script type="text/javascript"> 
    // Load XML 
    var xml = new ActiveXObject("Microsoft.XMLDOM")
    xml.async = false
    xml.load("aGite.xml")
     
    // Load the XSL
    var xsl = new ActiveXObject("Microsoft.XMLDOM")
    xsl.async = false
    xsl.load("cxslphotoExt.xsl")
     
    // Transform
    document.write(xml.transformNode(xsl))
    </script>
    <style type="text/css"></style><link rel="stylesheet" href="css/macss.css">
     
    </head>
     
    <body bgcolor="#ffffcc" background="fdegrBl3jaune.gif" class="scroll">
    <br /><br /><br /><br />
     
    <table width="47%" border="0" align="center" height="27">
      <tr><HR ALIGN=center  SIZE=4 WIDTH=710></tr>
      <tr> 
         <td class="pied" width="46%"> 
          <div align="center"><a href="photosGiteInt.htm ">photos intérieures</a></div>
        </td>
    		<td class="pied" width="54%"> 
          <div align="center"><a href="photosGiteExt.htm ">photos extérieures</a></div>
        </td>
        </tr>
    </table>
     
    <p class="absoluLien" style="left: 21px; top: 12px"><a href="gitefoto.html"> 
      Retour &agrave; l'accueil </a></p>
     
     
    <xsl:template match="/">
    </xsl:template> </xsl:stylesheet>
     
    </body>
    </html>

    J'ai élaboré ces pages de site il y a quelques années après avoir suivi les tutoriaux XML LSL de votre site...
    plus ou moins bien assimilés et de toute façon à réétudier compte tenu de l'évolution constante ...

    de mon poste ces pages sont bien lues sous IE mais pas avec Firefox ni Chrome
    merci de vos conseils sur la viabilité, possibilité de remaniement ou de ré-hebergement de ce travail ....

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Je comprends ton problème, mais il y a tellement d'erreurs que je ne sais pas par où commencer.

    - Ton truc ne marche qu'avec IE parce que tu appelles ActiveXObject, un machin de IE seulement.
    - Ton truc ne marche, avec IE, que par hasard. par exemple, une balise <xsl:stylesheet> n'a rien à faire dans une page HTML. IE l'a ignorée et ça n'a rien gêné, mais c'est juste un coup de bol. Pareil pour toutes tes nombreuses erreurs de syntaxe qu'il y a dans ce fichier.
    - La manière normale de faire du XSLT dans le navigateur, ne passe pas par JavaScript. C'est complètement différent, ça ne passe pas par une page HTML inutile. La page est le fichier XML lui-même, qui utilise l'instruction
    <?xml-stylesheet type="text/xsl" href="cxslphotoExt.xsl"?>. C'est cette instruction qui indique au navigateur qu'il doit aller chercher la feuille .xsl et l'appliquer au document XML courant.
    Autrement dit, il faut effacer ce fichier .html qui n'a aucune raison d'exister, et juste mettre ton fichier .xml à la place.

    En fait le 2eme XSL est un fichier en .HTM qui permet d'éditer la fusion obtenue dans le 1er XSL ...
    ... Qu'est-ce que tu espères obtenir en disant des trucs pareil ? Ça ne veut absolument rien dire, comment est-ce qu'on peut te comprendre si tu écris n'importe quoi ? Le but d'écrire des trucs, c'est de communiquer des informations aux gens, pour qu'ils comprennent ce que tu essaies de dire. Alors il faut utiliser des mots clairs et simples, qui ont un sens, et parler uniquement de choses que tu as bien expliquées.

    - "éditer" ça veut dire modifier dans le but de sauvegarder cette modification. Ici on veut rien modifier et rien sauvegarder, alors qu'est-ce que "éditer" vient faire là ? C'est pas une imprimerie, ici, c'est un forum d'informatique.
    - "fusion." Où ça une fusion ? Entre quoi et quoi ? C'est quoi le rapport avec ce dont on parlait, il a jamais été question de fusion.
    - "obtenue dans le 1er XSL." Un XSL, quand il produit quelque chose, produit un document XML ou HTML (ou texte.) Pas une "fusion." Entre quoi et quoi, d'ailleurs ?

    Je comprends bien que quand on débute, on sait pas quels pourraient être les mots corrects, ça d'accord, c'est normal.
    Mais si tu utilises des mots incorrects, et que tu le sais puisque que tu les as jamais vus utilisés pour dire ça mais pour dire d'autres choses, qu'est-ce que tu crois que ça va donner ? Un charabia que personne ne comprendra, bien sûr.
    Quand tu ne sais pas comment le dire, explique de quoi tu parles d'abord et n'invente surtout pas de mots.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Candidat au Club
    Homme Profil pro
    agent tourisme
    Inscrit en
    Février 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : agent tourisme
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Février 2014
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    merci Thelvin pour la réponse.

    OK je reconnais que je m'exprime mal : (Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément...n'est-ce pas ?)

    En fait j'avais fait ce travail en 2005 et ne connaissant rien au XML XSL ( je raisonnais en traitement de texte MSIE OFFICE WORD) et j'avais été content de trouver et d'adopter ce ActiveXObject spécifique de IE. bah ! çà ne marchait donc que sous IE

    dès que j'ai testé sous Firefox : Tout faux !

    mais je ne demande qu'à apprendre ...

    NB.
    j'ai essayé de refaire l'essai d'afficher les images dont le chemin est stocké dans les fiches dans l'exemple de fichier XML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <?xml-stylesheet type="text/HTML" href="galerie_photo2ter.xsl"?>
    <gite>
    <photo>
    <auteur>L.A.</auteur>
    <cat>ext</cat>
    <rub>paysage</rub>
    <date></date>
    <image src="C:/web2013/images/GitePanoreglcom650.jpg"/>
    <titre>panorama </titre>
    <dim> </dim>
    </photo>
     
    <photo>
    <auteur>L.A.</auteur>
    <cat>int</cat>
    <rub>paysage</rub>
    <date></date>
    <image src="C:/web2013/images/gitSaM.jpg"/>
    <titre>salle à manger </titre>
    <dim>  </dim>
    </photo>
    </gite>
    par un fichier XSL qui permet de le mettre en page et les trier selon la catégorie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" encoding="iso-8859-1" doctype-public="-//W3C//DTD HTML 4.01//EN"
    doctype-system="http://www.w3.org/TR/html4/strict.dtd" indent="yes"/>
     
    <xsl:template match="/">
    <xsl:apply-templates select="img src"/>
     
    <html>
    <head>
    </head>
    <body bgcolor="white">
     
    <xsl:for-each select="gite/photo">
    </xsl:for-each>
     
     
    <table align="center" border="5" bordercolor="#00185A" bgcolor="#ffffcc" length="650" width="650">
    <tr  align="center" bgcolor="white"><td bgcolor="ivory" align="center"> 
    <!--
    <img src="{@src}"/>
    -->
    <img><xsl:attribute name="src">
    <xsl:value-of select='@src'/></xsl:attribute></img>
     
    <xsl:if test =".[cat=='ext']">
    </xsl:if>
     
    </td>
    </tr>
    </table>
     
    </body>
    </html>
     
    </xsl:template>
    </xsl:stylesheet>
    le but est de sélectionner par critère et de ne voir affichées que les images par catégorie (CAT = ext) par exemple

    Merci si vous pouvez m'orienter car tel que c'est : çà ne marche pas... enfin : les images apparaissent dans mon fichier XML mais sans aucune mise en forme ...
    d'avance merci du conseil !

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    Citation Envoyé par lino100 Voir le message
    dès que j'ai testé sous Firefox : Tout faux !

    mais je ne demande qu'à apprendre ...
    En effet, c'est bien. Et je t'ai donc dit comment faire sous Firefox (et tous les navigateurs qui implémentent XSLT.)

    Citation Envoyé par lino100 Voir le message
    (Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément...n'est-ce pas ?)
    Dans le cas général je ne suis pas d'accord avec cette citation.
    Mais dans le cas qui nous intéresse, il me semble qu'en effet, ça n'aurait pas été compliqué de nous parler clairement de ce que tu as, de ce que tu crois, et de nous dire à partir d'où tu ne sais plus trop ce qui se passe.

    Citation Envoyé par lino100 Voir le message
    NB.
    [snip le reste]
    Euh... C'est complètement une autre question, ça, non ?
    Tu pourrais le dire clairement ? (Et, en fait, ce forum fonctionne comme toute autre forme de communication : quand tu veux ouvrir une autre discussion, ça commence par... Ouvrir une autre discussion. Pas continuer la précédente.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Candidat au Club
    Homme Profil pro
    agent tourisme
    Inscrit en
    Février 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : agent tourisme
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Février 2014
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    OK ... je propose la question sur une autre discussion ...

Discussions similaires

  1. Transformée XSL successive avec Javascript
    Par softkiller dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 21/07/2009, 14h23
  2. [XSLT] Transformation valide avec Firefox / incomplète avec IE
    Par prgasp77 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 18/02/2008, 14h06
  3. [XSLT]Transformer XSL avec du XSL
    Par belibech dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 23/07/2007, 15h18
  4. [XSL] Transformation de string avec espaces
    Par VolaiL dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 19/05/2006, 15h52
  5. Transformation XSL avec Xalan : MalformedURIException ?
    Par Oscar Hiboux dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 28/03/2006, 01h47

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