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 :

Nouveau sur XML cherche à comprendre un truck... [FAQ]


Sujet :

XML/XSL et SOAP

  1. #1
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Points : 82
    Points
    82
    Par défaut Nouveau sur XML cherche à comprendre un truck...
    Bonjour,

    Je suis sur un gros projet PHP et j'ai eu des besoins de voir du côté de Ajax pour accélerer un peu mes pages... ce qui me conduit vers le XML car c'est un peu lié... alors mon désire d'apprendre je vais directement sur la section tutorial et je commence à lire avec grand intérêt le PDF sur ce lien http://www.developpez.net/forums/viewtopic.php?t=38343 et voila je ne suis pas du style à lire en diagonal car le sujet me captive directement !
    donc je fait l'exercice indiqué sur le PDF qui marche... au début !
    donc voila le code :
    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
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <?xml:stylesheet type="text/xsl" href="testxml.xsl"?>
    <racine>
        <enfant>
            <nom>Loic</nom>
            <lien>Garçon</lien>
            <date>07/10/80</date>
            <data>Le petit con...</data>
        </enfant>
        <enfant>
            <nom>Marine</nom>
            <lien>Fille</lien>
            <date>20/04/85</date>
            <data>Fifille</data>
        </enfant>
    </racine>
    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
    15
    16
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <html xmlns:xsl="http://www.w3.org/TR/WD-xsl">
        <body style="font-family:arial; font-size:10pt;">
            <xsl:for-each select="racine/enfant">
                <div style="background-color:teal; color:white;">
                    <span style="font-weight:bold; color:white; padding:4px"><xsl:value-of select="nom"/></span>
                    - <xsl:value-of select="lien"/>
                </div>
                <div style="margin-left:20px; font-size: 10pt">
                    <span> Anniversaire le <xsl:value-of select="date"/></span>
                    <span style="font-style:italic"> - <xsl:value-of select="data"/></span>
                </div>
            </xsl:for-each>
        </body>
    </html>
    Nikel sur IE... Erreur suivant sur Firefox :

    Erreur d'analyse XML : mal formé
    Emplacement : http://localhost/divers/testxml.xml
    Numéro de ligne 2, Colonne 6 :<?xml:stylesheet type="text/xsl" href="testxml.xsl"?>
    -----^

    Donc je vais chercher d'ou peut venir l'erreur et je m'appercoit en cherchant sur le net que ce n'est pas "<?xml:stylesheet type="text/xsl" href="testxml.xsl"?>" mais "<?xml-stylesheet type="text/xsl" href="testxml.xsl"?>"

    Donc je corrige l'erreur de l'exercice (ben oui pk pas ?) Et paff une autre erreur toujours sous firefox :
    "Erreur lors du chargement de la feuille de style : Échec de l'analyse d'une feuille de style XSLT."

    Argh donc la je commence à m'inquiéter car si je continue l'exercice qui m'induit en erreur comment je vais programer à la fin ?
    Donc je vais sur le net je tombe par hazard sur un autre exercice la je fais du copier coller (http://www.ccim.be/ccim328/xml/xsl_exemple.html) et Paff même erreur !!!

    Bon avant de continuer conaissez vous un tuto serieux ou je peut apprendre sans avoir peur de faire des conneries ?

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    les données du tutoriel sont correctes, mais elles correspondent aux standards en vigueur à l'époque où il a été rédigé. Ainsi, jusqu'à IE 5.5 inclus, la version de MSXML, le parseur XML et processeur XSLT de Microsoft, qui était livré avec IE était une version 2.x, qui ne supportait qu'une version "brouillon" de XSLT. Cette version, maintenant totalement obsolète, était désignée par l'espace de noms http://www.w3.org/TR/WD-xsl.

    Depuis IE 6 et son parseur MSXML 3, la version de XSLT prise en compte est la version définitive désignée par l'espace de noms http://www.w3.org/1999/XSL/Transform, et c'est également celle que supporte Firefox ; c'est cet espace de noms qu'il faut que tu utilises dans tes feuilles de style XSLT.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Points : 82
    Points
    82
    Par défaut
    Ah ok merci
    il me semblais bien qu'il y avais un gout de vetusté... car en parcourant les autres tutos du site je tombe la dessus
    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
     
    <?
    // Crée le processeur XSLT
    $xh = xslt_create();
    xslt_set_base ($xh, 'file://' . getcwd () . '/');
     
    // Traite le document, puis affiche le résultat
    $result = xslt_process($xh, 'liste.xml', 'xslt.xsl');
    if (!$result)
      echo ("Erreur XSLT ...");
    else
      echo ($result);
     
    // Détruit le processeur XSLT
    xslt_free($xh);
    ?>
    et je me dit alors que ca as dû être écrit il y as un bout de temps !

  4. #4
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Points : 82
    Points
    82
    Par défaut
    Ok donc pour le dernier exercice j'essai le code suivant :

    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
     
    <?xml version="1.0" encoding="ISO-8859-1"?> 
    <?xml-stylesheet type="text/xsl" href="testxml.xsl"?> 
    <racine> 
        <enfant> 
            <nom>Loic</nom> 
            <lien>Garçon</lien> 
            <date>07/10/80</date> 
            <data>Le petit con...</data> 
        </enfant> 
        <enfant> 
            <nom>Marine</nom> 
            <lien>Fille</lien> 
            <date>20/04/85</date> 
            <data>Fifille</data> 
        </enfant> 
    </racine>
    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
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <html> 
        <body style="font-family:arial; font-size:10pt;"> 
            <xsl:for-each select="racine/enfant"> 
                <div style="background-color:teal; color:white;"> 
                    <span style="font-weight:bold; color:white; padding:4px"><xsl:value-of select="nom"/></span> 
                    - <xsl:value-of select="lien"/> 
                </div> 
                <div style="margin-left:20px; font-size: 10pt"> 
                    <span> Anniversaire le <xsl:value-of select="date"/></span> 
                    <span style="font-style:italic"> - <xsl:value-of select="data"/></span> 
                </div> 
            </xsl:for-each> 
        </body> 
    </html>
    </xsl:stylesheet>
    Mais la encors une erreur... d'ou vient cette erreur ?

  5. #5
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Citation Envoyé par shadowbob
    Ah ok merci
    il me semblais bien qu'il y avais un gout de vetusté... car en parcourant les autres tutos du site je tombe la dessus
    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
     
    <?
    // Crée le processeur XSLT
    $xh = xslt_create();
    xslt_set_base ($xh, 'file://' . getcwd () . '/');
     
    // Traite le document, puis affiche le résultat
    $result = xslt_process($xh, 'liste.xml', 'xslt.xsl');
    if (!$result)
      echo ("Erreur XSLT ...");
    else
      echo ($result);
     
    // Détruit le processeur XSLT
    xslt_free($xh);
    ?>
    et je me dit alors que ca as dû être écrit il y as un bout de temps !
    Non, c'est encore en vigueur pour ceux qui utilisent PHP 4 et Sablotron. Tout le monde n'est pas passé à PHP 5 et SimpleXML, notamment la majorité des FAI...
    Citation Envoyé par shadowbob
    Mais la encors une erreur... d'ou vient cette erreur ?
    OK, le tutoriel a besoin d'être réactualisé pour certains détails, mais il faut quand même le lire !
    Tu as oublié d'inclure le code dans un template :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:template match="/"> 
    ...
    </xsl:template>
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  6. #6
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Points : 82
    Points
    82
    Par défaut
    Hum... effectivement ca marche mieux avec... mais ce n'est pas de ma faute j'ai bien lu au contraire... mais si tu reprend l'exemple tu vera que le petit code que tu m'as indiqué n'est pas insérer dedans
    mais que plus loin dans le tuto...

    Bon c'est pas grave passons

    Si j'ai bien compris le XSL est la feuille de style du XML... mais si je veux que les utilisateurs puissent changer le style ou que mon infographiste change le style doivent t'ils toucher au XSL ou le XSL peut puiser ses propres styles dans une auter feuille CSS... ou ptet que j'essai de me compliquer pour rien ?

Discussions similaires

  1. [DTD] Nouveau sur XML, il serait temps.
    Par troubleshooting dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 20/07/2007, 15h59
  2. Question moteur de recherche basé sur XML
    Par Royd938 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 04/05/2006, 12h00
  3. [XML] Cherche documentation xforms
    Par n8ken dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 01/11/2005, 13h06
  4. Réponses: 3
    Dernier message: 06/07/2004, 10h21
  5. Cours en Français sur XML-XSL et XPath
    Par Community Management dans le forum XSL/XSLT/XPATH
    Réponses: 0
    Dernier message: 25/04/2002, 15h46

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