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 :

[XSLT] Comment recuperer la selection d'un utilisateur ?


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 61
    Points : 30
    Points
    30
    Par défaut [XSLT] Comment recuperer la selection d'un utilisateur ?
    J'utilise une DTD sur mon fichier XML. Je le met en page avec XSL. Je voudrais que l'utilisateur puisse réaliser certain choix depuis le site web. Sont choix changera l'affichage depuis XSL.

    Je me demande en quel langage programmer pour faire passer ces informations. J'ai pensé a php et j'ai vu XFORM. Mais je ne sais pas si je suis dans le juste.

    POuvez vous m'aider ?

  2. #2
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    slt et bienvenu..

    tu peux expliquer un peu plus ce que tu souhaite faire et dans quel contexte?
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 61
    Points : 30
    Points
    30
    Par défaut
    Je fais le site d'une agence de voyage.
    J'ai des voyages dans un fichiers xml.
    (Mon document xml est valide, il repond a une DTD)
    Je presente ma page en appelant un fichier xsl.

    Je voudrais que l'utilisateur puisse choisir le maniere de trier les voyages. Soit par prix, soit par ville ... Ce choix ce fera depuis un formulaire.

    Je voudrais donc faire passer les variables du formulaire dans mon fichier xsl pour pouvoir faire un <xsl:sort/> different en fonction du choix de l'utilisateur. Mais je ne sais pas comment faire.

    XML
    <?xml version="1.0" encoding="ISO-8859-1"?>

    <?xml-stylesheet type="text/dtd" href="agence.dtd"?>
    <?xml-stylesheet type="text/xsl" href="agence_destination.xsl"?>

    <agence>
    <voyage>
    <type>Mer</type>
    <niveau>Moyen</niveau>
    <destination>Londre</destination>

    <prix>200</prix>
    </voyage>
    <voyage>
    <type>Mer</type>
    <niveau>Eleve</niveau>
    <destination>Londre</destination>
    <prix>350</prix>

    </voyage>
    <voyage>
    <type>Montagne</type>
    <niveau>Bas</niveau>
    <destination>Rome</destination>
    <prix>135</prix>
    </voyage>

    <voyage>
    <type>Mer</type>
    <niveau>Moyen</niveau>
    <destination>Paris</destination>
    <prix>750</prix>
    </voyage>
    </agence>
    XSL
    <?xml version="1.0" encoding="ISO-8859-1"?>

    <xsl:stylesheet version="1.0" xmlnssl="http://www.w3.org/1999/XSL/Transform">

    <xsl:template match="/">
    <html>
    <body>
    <h2>Liste des voyages</h2>

    <xsl:for-each select="agence/voyage">
    <xsl:sort select="destination" />

    <b>Envolez vous pour <u><xsl:value-of select="destination"/></u> (<xsl:value-of select="type"/>)</b><br />
    <b>Niveau : </b><xsl:value-of select="niveau"/><br />
    <b>Prix : </b><xsl:value-of select="prix"/><br />
    <br />
    </xsl:for-each>


    </body>

    </html>
    </xsl:template>

    </xsl:stylesheet>
    Si vous pouvez m'aider ...

  4. #4
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    je pesne que tu peux regarder de ce coté.
    http://www.developpez.net/forums/sho...93&postcount=3
    Quoi que tu fasse tu auras besoin de trate soit coté client avec javascript soit coté serveur (php,asp,jsp....)

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 61
    Points : 30
    Points
    30
    Par défaut
    Merci ca a l'aire d'etre ca que je cherchais.
    Desole d'avoir posé la question mais je n'ai rien trouvé dans la faq ...

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 61
    Points : 30
    Points
    30
    Par défaut
    Super ca marche comme je veux mais je voudrais de nouvelle fonctionnalité.
    En fait je voudrais que l'utilisateur puisse faire des choix multiple et non seulement le choix de la colonne principale de tri.
    Dans mon exemple je voudrais par exemple que l'utilisateur puisse choisir seulement les voyages de type "mer", les autres ne devrons pas etre affiché. Je ne vois pas comment faire cela ...

    XML
    <?xml version="1.0" encoding="ISO-8859-1"?>

    <?xml-stylesheet type="text/dtd" href="agence.dtd"?>

    <agence>
    <voyage>
    <type>Mer</type>
    <niveau>Moyen</niveau>
    <destination>Londre</destination>
    <prix>200</prix>
    </voyage>
    <voyage>
    <type>Mer</type>
    <niveau>Eleve</niveau>
    <destination>Londre</destination>
    <prix>350</prix>
    </voyage>
    <voyage>
    <type>Montagne</type>
    <niveau>Bas</niveau>
    <destination>Rome</destination>
    <prix>135</prix>
    </voyage>
    <voyage>
    <type>Mer</type>
    <niveau>Moyen</niveau>
    <destination>Paris</destination>
    <prix>750</prix>
    </voyage>
    </agence>
    DTD
    <?xml version="1.0" encoding="ISO-8859-1"?>

    <!ELEMENT agence (voyage* , vols* , voiture*)>

    <!ELEMENT voyage (type, niveau, destination, prix)>
    <!ELEMENT type (mer | montagne | ville)>
    <!ELEMENT niveau (bas | moyen | eleve)>
    <!ELEMENT destination (paris | rome | berlin | londre | madrid)>
    <!ELEMENT prix (#PCDATA)>

    <!ELEMENT vols (classe, destination, prix)>
    <!ELEMENT classe (premiere | seconde | affaire)>

    <!ELEMENT voiture (marque, prix)>
    <!ELEMENT marque (Renault | Peugeot | citroen)>
    HTML
    <html>
    <head>
    <script type="text/javascript">
    function tri(field, order) {
    var xslt = new ActiveXObject("Msxml2.XSLTemplate.4.0");
    var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.4.0");
    var xslProc;
    xslDoc.async = false;
    xslDoc.load("agence.xsl");
    xslt.stylesheet = xslDoc;
    var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0");
    xmlDoc.async = false;
    xmlDoc.load("agence.xml");
    xslProc = xslt.createProcessor();
    xslProc.input = xmlDoc;
    xslProc.addParameter("field", field);
    xslProc.addParameter("order", order);
    xslProc.transform();
    document.body.innerHTML=xslProc.output;
    }
    </script>
    </head>
    <body>
    <script type="text/javascript">
    tri('name', 'ascending');
    </script>
    </body>
    </html>
    XSL
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlnssl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" indent="yes"/>

    <xsl:param name="field"/>
    <xsl:param name="order"/>

    <xsl:template match="agence">
    <table>
    <xsl:variable name="neworder">
    <xsl:if test="$order='ascending'">descending</xsl:if>
    <xsl:if test="$order='descending'">ascending</xsl:if>
    </xsl:variable>

    <tr>
    <th><a href="javascript:tri('destination','{$neworder}')">Destination</a></th>
    <th><a href="javascript:tri('prix','{$neworder}')">Prix</a></th>
    <th><a href="javascript:tri('type','{$neworder}')">Type</a></th>
    <th><a href="javascript:tri('niveau','{$neworder}')">Niveau</a></th>
    </tr>

    <xsl:for-each select="voyage">
    <xsl:sort select="*[name()=$field]" order="{$order}"/>
    <tr>
    <td><xsl:value-of select="destination"/></td>
    <td><xsl:value-of select="prix"/></td>
    <td><xsl:value-of select="type"/></td>
    <td><xsl:value-of select="niveau"/></td>
    </tr>
    </xsl:for-each>
    </table>
    </xsl:template>
    </xsl:stylesheet>

Discussions similaires

  1. Réponses: 10
    Dernier message: 14/03/2008, 18h10
  2. comment recuperer une selection "souris"
    Par inorgen dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/11/2007, 16h35
  3. [XSLT]comment recuperer variable dans url avec xsl
    Par jeha dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 29/10/2007, 11h34
  4. Réponses: 2
    Dernier message: 25/01/2007, 16h12
  5. Réponses: 2
    Dernier message: 27/09/2005, 17h26

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