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 :

XML/XSL -> HTML : tri dynamique


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut XML/XSL -> HTML : tri dynamique
    Bonjour,

    D'origine j'ai un fichier de donnée xml. Je souhaite utiliser se fichier et l'afficher sous forme html
    De plus le client doit avoir la possibilité de faire des tris et des filtres suivant plusieurs critéres

    La possibilité d'uiliser des xsl est elle intérressante ? j'ai un peu étudier les xls mais je ne suis pas sur qu'un tri dynamique soit possible via des combo

    par exmple trier sur un lieu puis sur un autre

    donc utiliser les xsl est-ce judicieux ? les tris sont ils possibles ainsi ?

    Merci de votre aide

  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 tris dynamiques sont tout à fait possibles, il suffit à chaque changement d'un critère de tri de relancer la transformation XML->HTML en passant en paramètre au processeur XSLT les critères de tri.
    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
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut xsl
    Merci pour ta réponse,

    "en passant en paramètre au processeur XSLT les critères de tri"
    je travail en asp, j'ai trouver ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <xsl:param name="orderby"/>
    <xsl:apply-templates>
    <xsl:sort select="$orderby"/>
    </xsl:apply-templates>
    pour utiliser les parametre au niveau du xsl

    Mais comment ma page asp qui charge le xsl va lui envoyer les données ?
    je ne trouve pas d'info a se niveau là


    Merci

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Salut !

    Le truc, c'est qu'il te faudra recharger la page à cahque changement de tri (puisque ASP est côté serveur )

    Une solution serait de faire passer le paramètre de tri en GET (dans l'URL)

    puis de se servir d'ASP pour le communiquer au processeur XSLT (là, ça dépend de ton processeur XSLT )
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut order-by
    Voilà j'utilise les espaces de nom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:fo="http://www.w3.org/1999/XSL/Format"
    mais lorsque je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:for-each select="LOCATION/RESULT/ANOMALY" order-by="+LOCATION/RESULT/ANOMALY/ANO_DESC">">
    il me dit
    L'attribut 'order-by' n'est pas valide sur 'xsl:for-each'.

    vous comprenez le probléme ?
    merci

  6. #6
    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
    Citation Envoyé par nathdiscaz

    vous comprenez le probléme ?
    merci
    Oui il n'y a pas d'order by en xslt sur le for-each.
    Je presume que tu as recupéré ce code sur une version "brouillon" du xslt,

  7. #7
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut livre
    non j'ai récuperer sur un livre que j'ai mais il vrai qu'il utilise TR/WD-xsl

    comment faire donc pour faire des tris ?

  8. #8
    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
    Citation Envoyé par nathdiscaz
    non j'ai récuperer sur un livre que j'ai mais il vrai qu'il utilise TR/WD-xsl
    bien ce que je disais
    http://www.developpez.net/forums/showthread.php?t=3782

    draft> "brouillon"
    ton code xslt etait bon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <xsl:param name="orderby"/>
    <xsl:apply-templates>
    <xsl:sort select="$orderby"/>
    </xsl:apply-templates>
    en t'inspirant de ce code
    http://www.developpez.net/forums/sho...93&postcount=3

    la version asp devrait être
    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
     
     
    Set xslt = Server.CreateObject("MSXML2.XSLTemplate")  
    Set xslDoc = Server.CreateObject("MSXML2.FreeThreadedDOMDocument")           
                xslDoc.async = false 
                xslDoc.load Server.mapPath("test-xslt.xslt")
    Set xslt.stylesheet=xslDoc
    Set xmlDoc  = Server.CreateObject("MSXML2.FreeThreadedDOMDocument")           
                xmlDoc.async = false 
                xmlDoc.load Server.mapPath("test.xml")
    Set xslProc = xslt.createProcessor()
                xslProc.input = xmlDoc 
                xslProc.addParameter("field", field) 
                xslProc.addParameter("order", order) 
                xslProc.transform  
                response.write xslProc.output

  9. #9
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Tri
    Oui j'ai réussi a faire passez des paramétre j'avais une erreur au niveua de mon code asp

    Merci de ton aide

    Mais maintenant je souhaite faire des tris en fait suivant ce paramétre
    mais je sais pas comment faire ses possibles avec transform ?

    merci

  10. #10
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut c bon
    Bon en fait j'ai vu qu'il existait un xsl sort pour trier
    Merci de votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:sort select="LIGNE"/>

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

Discussions similaires

  1. Xml, xsl et HTML problème d'affichage
    Par svrbnd dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 07/04/2011, 12h14
  2. xml/xsl dans html
    Par Rastacouéne dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 30/05/2009, 10h28
  3. xml + xsl + balise html
    Par nemya dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 09/02/2006, 10h40
  4. [XML][XSL]probleme html dans balise xml
    Par chateau64 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 02/12/2005, 11h42
  5. XML/XSL vers HTML: comment transformer les linefeed en <B
    Par AlainM dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 18/11/2003, 12h30

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