begin process at 2010 03 21 18:23:02
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > TRI DYNAMIQUE XML SOUS FIREFOX

TRI DYNAMIQUE XML SOUS FIREFOX


 Information sur la source

Note :
7 / 10 - par 2 personnes
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :tri, dynamique, xm, xslt, firefox Niveau :Débutant Date de création :26/04/2006 Vu :8 713

Auteur : stela86

Ecrire un message privé
Site perso
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Voilà, on voit souvent l'accès a un code de tri pour IE avec des objets ActiveX , mais ils ne fonctionnent pas sous Firefox. Mon code est donc un tri dynamique a partir d'un feuille XML et XSLT qui fonctionne sous Firefox.

Source

  • PAGE HTML
  • <html>
  • <head>
  • <script type="text/javascript">
  • var processor;
  • var xslt;
  • var xmlDoc;
  • function tri(field,order) {
  • processor.setParameter(null,"field", field);
  • processor.setParameter(null,"order", order);
  • var resultat = processor.transformToFragment(xmlDoc,document);
  • document.body.innerHTML = ""
  • document.body.appendChild(resultat);
  • }
  • function tri_init(field,order) {
  • xslt= document.implementation.createDocument("", "", null);
  • xslt.async=false;
  • xslt.load("test-xslt.xml");
  • processor =new XSLTProcessor();
  • processor.importStylesheet(xslt);
  • xmlDoc= document.implementation.createDocument("", "", null);
  • xmlDoc.async=false;
  • xmlDoc.load("test.xml");
  • tri(field,order);
  • }
  • </script>
  • </head>
  • <body>
  • <script type="text/javascript">
  • tri_init('name', 'ascending');
  • </script>
  • </body>
  • </html>
  • FEUILLE DE STYLE XSLT :test-xslt.xml
  • <?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">
  • <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>
  • </xsl:template>
  • </xsl:stylesheet>
  • FEUILLE XML: test.xml
  • <?xml version="1.0" encoding="UTF-8"?>
  • <persons>
  • <person>
  • <name>
  • toto
  • </name>
  • <phone>
  • 1122334455
  • </phone>
  • </person>
  • <person>
  • <name>
  • titi
  • </name>
  • <phone>
  • 3344556677
  • </phone>
  • </person>
  • <person>
  • <name>
  • tata
  • </name>
  • <phone>
  • 2233445566
  • </phone>
  • </person>
  • </persons>
PAGE HTML

<html>
   <head>
      <script type="text/javascript">
                var processor;
            var xslt;
            var xmlDoc;
                        
                function tri(field,order) {
                    processor.setParameter(null,"field", field);
                    processor.setParameter(null,"order", order);
                    var resultat = processor.transformToFragment(xmlDoc,document);
                   document.body.innerHTML = ""
                    document.body.appendChild(resultat);
                }

                function tri_init(field,order) {
                    xslt= document.implementation.createDocument("", "", null);
                    xslt.async=false;
                    xslt.load("test-xslt.xml");
    
                    processor =new XSLTProcessor();
                    processor.importStylesheet(xslt);
                    xmlDoc= document.implementation.createDocument("", "", null);
                    xmlDoc.async=false;
                    xmlDoc.load("test.xml");
    
                                tri(field,order);
                }
      </script>
   </head>
   <body>
      <script type="text/javascript">
        tri_init('name', 'ascending');
      </script>
   </body>
</html>

FEUILLE DE STYLE XSLT :test-xslt.xml

<?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">
        <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>
    </xsl:template>
</xsl:stylesheet>

FEUILLE XML: test.xml

<?xml version="1.0" encoding="UTF-8"?>
<persons>
<person>
  <name>
    toto
  </name>
  <phone>
      1122334455
  </phone>
</person>
<person>
  <name>
    titi
  </name>
  <phone>
      3344556677
  </phone>
</person>
<person>
  <name>
    tata
  </name>
  <phone>
      2233445566
  </phone>
</person>
</persons>

 Conclusion

Merci pour votre lecture.
Allez visiter ma page web http://stela86.free.fr


 Sources de la même categorie

Source avec Zip Source avec une capture SÉQUENCEUR par jdmcreator
Source avec Zip COMPRESSION DE TEXTE CÔTÉ CLIENT EN JS VIA ALGORYTHME LZW par niamor36
Source avec Zip VIRTUAL IPHONE (V.2) par loicseg
Source avec Zip MOOTABLEAU par Miky76
Source avec Zip CALCULER VOTRE IMC par lesnouesremy

 Sources en rapport avec celle ci

Source avec Zip MOOTABLEAU par Miky76
Source avec une capture CHARGER UNE PAGE WEB DANS UN DIV par flk974
Source avec Zip Source avec une capture HORLOGE NUMÉRIQUE EN JAVASCRIPT, COMPATIBLE IE ET FF par bad_dark_spirit
Source avec Zip Source avec une capture TABLEAU GÉNÉRÉ ET TRIÉ PAR LE CLIENT par Klephte
Source avec Zip Source avec une capture [LISTE DES ] SOFTS UTILISÉS par bultez

Commentaires et avis

Commentaire de galadriann le 27/04/2006 09:17:56

L'idee est excellente et je suis content que quelqu'un pense enfin a utiliser xsl pour faire des tri dynamique ...  et ca marche vraiment bien avec FF...  maintenant on te reprochera de ne faire le tri que pour FF et pas IE.

Je pense que ce serais donc bien d'essayer d'integrer les activeX de IE pour gerer le xsl...  
(meme si je suis 100% FF)

Commentaire de iomega le 02/05/2006 08:04:25

Hello j'ai essayé de faire fonctionner ton code sur FF version 1.5.02 et cela ne marche pas !!! Avez-vous une idée ?

Commentaire de lilbrother le 09/11/2006 21:50:19

Salut ! j'ai testé ton code sous firefox sur pc et sa marche très bien ! par contre sa ne marche plus du tout sous mac..... :(

Commentaire de punkyg le 23/06/2007 01:11:36

ton code est super mais je cherche une technique universel pour faire exactement ce que fais ton code, universelle c n'est pas seulement FF ou IE mais aussi opera et KHTML.
C'est ce qui est relou avec le JS, le résultat est différant sur chaque navigateur

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

menu dynamique [ par mamy ] Bonjour,voilà je dois créer une page web pour un site de vente en lignesur ma page d'accueil je vais afficher le menu avec les grandes catégories de p Formulaire oui, mais dynamique ! [ par jpinneau ] Bonjour, j'ai un formulaire, dont les champs Dynamique tel que les champs nécessaires sont dans une base de données.Lors de l'affichage de la page, je Positionnement dynamique d'un DIV [ par jeanne38 ] Bonjour, Ma page est générée par ASP, et sa longueur peut varier selon l'utilisateur. Elle a des fleches (images) qui, quand on clique dessus, affiche recuperer le contenu d'une variable dynamique [ par raincevent ] /*Salut,si quelqu'un peu me dépanner pour cette fonction qui me permettré de verifier un formulaire dynamique.En effet chaque variable "testx,v_total_ Excel et macro pour web dynamique [ par fcdconnect ] Bonjour,Peut on convertir une feuille de calcul comportant des macros en une page web dynamique de type Xml ou encore avec du javascript...serait t'il Tablo HTML dynamique [ par bside8 ] Bonjour,je souhaite rendre dynamique un tableau HTML.L'objectif est de mettre en surbrillance la ligne du tablo sur laquelle pointe la souris.Je ne sa Menu dynamique [ par bside8 ] Bonjour,je souhaite réaliser un menu somme toute classique consistant à faire apparaître un menu détaillé lors du passage de la souris sur l'un des it Contenu dynamique [ par bside8 ] Bonjour,je voudrais, avec des flèches '-' et '+' incrémenter ou décrémenter dynamiquement une valeur :- valeur +Comment je dois m'y prendre ?Merci Création d'une galerie d'images dynamique [ par joujou0000 ] j ai besoin de votre aide s-v-p, je suis debutant et je veux créer un site web contenant une galrie de photos dynamique avec du XHTML et du JAVASCRIPT tableau avec tri dynamique [ par rcedric ] Salut a tous,voila mon probleme; je cherche à afficher un tableau et que lorsqu l'on clic sur le libellé le tableau est trié et réafficher dynamiqueme


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,340 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales