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

XSL/XSLT/XPATH XML Discussion :

récuperer l'id d'un fichier xml et afficher ses données


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 97
    Par défaut récuperer l'id d'un fichier xml et afficher ses données
    Bonjour à tous,
    Tout d'abord je suis un débutant en xml,xsl.
    Voilà ma question j'ai un fichier xml contenant id d'un article et je voudrais afficher dans un fichier xsl les données de l'id c'est à dire le titre et la couleur correspondant à l'id.
    Pourriez-vous m'aider..en me donnant un exemple...ca serait super sympa.
    Merci beaucoup

    <?xml version="1.0" encoding="utf-8"?>
    <?xml-stylesheet type="text/xsl" href="catalogue.xsl"?>
    <magasin>
    <catalogue>
    <id>1</id>
    <titre>chemise</titre>
    <couleur>noire</couleur>
    </catalogue>
    <catalogue>
    <id>2</id>
    <titre>pantalon</titre>
    <couleur>vert</couleur>
    </catalogue>
    </magasin>

  2. #2
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    par exemple pour l'id=1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     
    <xsl:template match="/">
         <resultat>
               <xsl:value-of select="magasin/catalogue[id=1]/titre" />
               <xsl:value-of select="magasin/catalogue[id=1]/couleur" />
         </resultat>
    </xsl:template>
    </xsl:stylesheet>

    ERE

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 97
    Par défaut
    super merci beaucoup..
    Par contre si je veux récuperer un id depuis un lien web du genre http://www.exemple.com/test.html?id=4

    et je voudrai récuper dans mon fichier tous ce qui concerne mon id 4
    est -ce que c'est possible ?

  4. #4
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,

    C'est un peu plus compliqué: tu récupères ton paramètre id dans l'url d'appel;
    Ensuite tu dois créer un paramètre pId dans ton xsl, paramètre auquel tu affecteras l'id passé dans l'URL.

    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="UTF-8"?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <!--  1 est une valeur paar défaut -->
    <xsl:param name="pId" select="'1'" />
     
    <xsl:template match="/">
         <resultat>
               <xsl:value-of select="magasin/catalogue[id=$pId]/titre" />
               <xsl:value-of select="magasin/catalogue[id=$pId]/couleur" />
         </resultat>
    </xsl:template>
    </xsl:stylesheet>
    A toi de voir comment ton système te permet de passer le paramètre id lors de la transformation.

    Par exemple en java cela peut être:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java com.toto.StyleSheet .... transfo.xsl bodyTextSize=8pt
    ERE

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 97
    Par défaut
    hello merci beaucoup pour ta réponse..et surtout de ta patience
    j'ai bien compris ton code...xsl par contre la partie récupèrer ton paramètre id dans l'url d'appel...j'ai pas compris...
    J'ose te demander encore un exemple ? Ca serait super sympas...

  6. #6
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Citation Envoyé par iomega Voir le message
    hello merci beaucoup pour ta réponse..et surtout de ta patience
    j'ai bien compris ton code...xsl par contre la partie récupèrer ton paramètre id dans l'url d'appel...j'ai pas compris...
    J'ose te demander encore un exemple ? Ca serait super sympas...

    Quel est ton environnement de développement, et quelle librairie utilises tu ?

    ERE

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 97
    Par défaut
    Hello surpris de te voir me répondre un vendredi soir...merci beaucoup
    Je développe mes pages en html....et suis obligé pas de php..ni asp..juste du html. j'utilise aucune librairie.....par contre je peux utliser comme librairie...prototype...

  8. #8
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Citation Envoyé par iomega Voir le message
    Hello surpris de te voir me répondre un vendredi soir...merci beaucoup
    Je développe mes pages en html....et suis obligé pas de php..ni asp..juste du html. j'utilise aucune librairie.....par contre je peux utliser comme librairie...prototype...
    Si je comprends bien tu as juste besoin d'extraire des informations de ton fichier XML ? Ou tu as besoin de transformer le fichier xml pour en produire un autre?

    J'ai l'impression que tu mélanges XSL et interrogation...

    Dis moi.

    ERE

  9. #9
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Là c'est TRES clair

    En fait tu as besoin d'intéractivité côté client.

    Donc logiquement, ta transformation XSL pourrait fabriquer du code HTML dont la logique serait effectivement de montrer/cacher/détailler/recharger tel ou tel article. Mais c'est tout une page HTML avec certainement du javascript que tu va être obligé de mettre en oeuvre.

    Je ne suis pas sûr que ce système xml/xsl soit la meilleure solution pour débuter. Car la programamtion xsl à laquelle tu vas être confrontée sera certainement pas aisée dès que tu vas avoir besoin de faire des boucles et autres syntaxes...

    ERE

  10. #10
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 97
    Par défaut
    aiiiiieeeee...super pour ta réponse... l'idée donc serait de tout afficher...les données ensuite avec un javascript afficher / cacher / recharger avec un javascript.

    Puis-je abusé de ta patience et de tes compétence..as-tu un petit exemple sais pas par quoi commencer ?
    Ca serait trop cool

  11. #11
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Citation Envoyé par iomega Voir le message
    aiiiiieeeee...super pour ta réponse... l'idée donc serait de tout afficher...les données ensuite avec un javascript afficher / cacher / recharger avec un javascript.

    Puis-je abusé de ta patience et de tes compétence..as-tu un petit exemple sais pas par quoi commencer ?
    Ca serait trop cool
    Il n'existe pas de code "exemple" pour ce genre de chose. Je te conseille de commencer par faire la page HTML statique, l'ergonomie dans laquelle va prendre place ton projet. Ensuite tu pourras voir quel code et données sont à utiliser et comment les inplanter.

    Désolé, mais là le périmètre est vraiment trop important et dépasse le cadre d'une simple entraide !

    Amicalement,

    ERE

  12. #12
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 97
    Par défaut
    En tout cas merci beaucoup pour ton aide.
    Penses-tu que je pourrais-utiliser de l'ajax ?
    Serais-ce une bonne idée ?
    Merci beaucoup

  13. #13
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Citation Envoyé par iomega Voir le message
    En tout cas merci beaucoup pour ton aide.
    Penses-tu que je pourrais-utiliser de l'ajax ?
    Serais-ce une bonne idée ?
    Merci beaucoup
    Oui pourquoi pas ! Mais cela n'est pas du tout obligatoire. Il y a une tendance actuelle à mettre de l'Ajax partout comme si c'était indispensable ou gage d'un bon développement. Pas du tout.

    ERE

  14. #14
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    comme ceci: <xsl:sort select="concat( substring( date/debut,7,4), substring(date/debut,4,2), substring( date/debut,1,2))" order="ascending" />

    cela marche très bien...par contre si je voudrais faire un tri en 2 dates comment je pourrais-faire ? ou bien est-ce que c'est possible ?
    Tu mets 2 balises <xsl:sort ... />, une par élément de tri


    ERE

  15. #15
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 97
    Par défaut
    hello et merci encore de ton aide...je me suis mal fait comprendre....
    en fait je voudrais faire un tri comme ceci..que j'avais fait en php mais impossible de faire cela en xsl je sais pas comment obtenir la date du jour.. ('$datedujours' BETWEEN date_debut AND date_fin).

Discussions similaires

  1. Récuperer des valeurs dans un fichier xml
    Par chych dans le forum ANT
    Réponses: 0
    Dernier message: 20/01/2011, 15h19
  2. [SAX] Récuperation des éléments d'un fichier XML
    Par EmmaEmy dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 02/09/2009, 15h51
  3. Fichier XML et insertion de données
    Par will2taz dans le forum VB.NET
    Réponses: 0
    Dernier message: 04/09/2007, 10h35
  4. Que choisir pour gérer les sauvegardes : fichiers XML ou base de données ?
    Par Invité dans le forum Développement 2D, 3D et Jeux
    Réponses: 11
    Dernier message: 14/06/2007, 11h58
  5. [MySQL] utilisé un fichier XML pour stocker des données ?
    Par italiasky dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/05/2007, 11h04

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