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 :

Tri Dynamique & Firefox


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Par défaut Tri Dynamique & Firefox
    Bonjour, voilà j'ai trouvé un exemple de tri dynamique dans la FAQ. Seulement le code ne fonctionne que sous IE et je voudrai pouvoir l'adapter afin de l'utiliser sous Firefox. Pouvez vous m'aidez a traduire le script ?

    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
     <?xml version="1.0" encoding="UTF-8"?>
     <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
        <xsl:output method="html" indent="yes"/>
     
        <xsl:param name="field"/>
        <xsl:param name="order"/>
     
        <xsl:template match="persons">
         <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("tridyna.xsl"); 
                 xslt.stylesheet = xslDoc; 
                 var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0"); 
                 xmlDoc.async = false; 
                 xmlDoc.load("test.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>
         <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('name','{$neworder}')">name</a>
                   </th>
                   <th>
                    <a href="javascript:tri('phone','{$neworder}')">phone number</a>
                   </th>
              </tr>
     
                <xsl:for-each select="person">
                  <xsl:sort select="*[name()=$field]" order="{$order}"/>
                     <tr>
                         <td>
                            <xsl:value-of select="name"/>
                         </td>
                         <td>
                            <xsl:value-of select="phone"/>
                         </td>
                     </tr>
                </xsl:for-each>
             </table>
            </body>
         </html>
        </xsl:template>
     </xsl:stylesheet>

  2. #2
    Membre confirmé Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Par défaut
    j'ai avancé jusque ici mais je coince !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function tri(field,order){
    var xmlDoc= new document.implementation.creta("","",null);
    var xslDoc= new document.implementation.creta("","",null);
    xmlDoc.load('essai.xml');
    xslDoc.load('essai.xsl');
    xslt = new XSLTProcessor;
    xslt.reset;
    xslt.importStylesheet(xslDoc);
    xslt.setParameter('',field,'field');
    xslt.setParameter('',order,'order');
     
    ///QUOI RAJOUTER ???
    }

  3. #3
    Membre confirmé Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Par défaut
    MErci a gregory picavet d'avoir ajouté dans la faq le bout de code qui marche sous firefox:
    http://www.developpez.net/forums/showthread.php?t=3563

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

Discussions similaires

  1. [XML] Tri Dynamique Firefox
    Par stela86 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/04/2006, 11h16
  2. probleme de tri dynamique de tableau
    Par K_!!! dans le forum ASP
    Réponses: 21
    Dernier message: 15/02/2006, 16h44
  3. [XSLT] Tri dynamique
    Par gregb34 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 06/02/2006, 12h52
  4. tri dynamique avec XSLT
    Par JohnBlatt dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 21/09/2005, 12h30
  5. [XSLT] séparation après tri dynamique
    Par MatMeuh dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 26/10/2004, 14h56

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