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 :

trier les données dans le cache ??


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2002
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 74
    Points : 36
    Points
    36
    Par défaut trier les données dans le cache ??
    Hello,

    alors je m'explique, je dispose d'un fichier XML non trié. je l'affiche comme je veux, je fais des tris etc ...

    ensuite je me suis dis je vais faire des groupement en utilisant un tree-view. J'ai réussi mais j'ai un souci :

    pour le treeview je dois avoir mon fichier trié, donc je fais le tri ... mais si je refais la transformation, il reprend le XML d'orignie (non trié donc) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var xsl2 = new ActiveXObject("Microsoft.XMLDOM")
    xsl2.async = false
    xsl2.load("TreeViewMarc.xsl")
    document.all.MonDiv.innerHTML=xml.transformNode(xsl2)
    Comment utiliser le XML qui est dans le cache ??

    @+

  2. #2
    Membre confirmé
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Points : 499
    Points
    499
    Par défaut
    Si j'ai bien compris le processus de transformation comporte deux taches :

    1-le tri
    2-la construction du treeview

    Il suffit d'alimenter 2 avec la sortie de 1. Que vient faire le cache la dedans? ou alors tu ne nous a pas tout dis!

    je ferais un truc comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var xmlbase = new ActiveX(...)
    xmlbase.load("doc.xml")
    ...
    var xmltri = new ActiveX(...)
    xmltri.loadXML(xmlbase.transformNode(xsl1))
    ...
    document.all.MonDiv.innserHTML = xmltri.transformeNode(xsl2))
    "Les gens normaux croient que si ca marche, c'est qu'il n'y a rien à reparer. Les ingénieurs croient que si ca marche, c'est que ca ne fait pas encore assez de choses."
    --Scott Adams

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2002
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 74
    Points : 36
    Points
    36
    Par défaut
    Pour le cache, je pensais que si je faisais le tri sur mon XML, ensuite je pouvais réutiliser le résultat actuellement visible (en cache donc) et le traiter pour mon treeview.

    Sinon ta solution est bonne, par contre, ma fonction de tri est dans une fonction Javascript ... comment faire pour l'appliquer lors de la transformation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var xmltri = new ActiveX(...) 
    xmltri.loadXML(xmlbase.transformNode(xsl1))
    En plus je peux pas faire un XSL spécifique car je dois le faire pour n catégories...

  4. #4
    Membre confirmé
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Points : 499
    Points
    499
    Par défaut
    Sinon ta solution est bonne, par contre, ma fonction de tri est dans une fonction Javascript ... comment faire pour l'appliquer lors de la transformation
    ah! j'avais compris que tu utilisais une feuille xsl pour effectuer le tri. Comment procèdes-tu alors?

    En plus je peux pas faire un XSL spécifique car je dois le faire pour n catégories...
    essaye de passer la catégorie en paramètre de la feuille xsl
    "Les gens normaux croient que si ca marche, c'est qu'il n'y a rien à reparer. Les ingénieurs croient que si ca marche, c'est que ca ne fait pas encore assez de choses."
    --Scott Adams

  5. #5
    Nouveau membre du Club
    Inscrit en
    Octobre 2002
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 74
    Points : 36
    Points
    36
    Par défaut
    1) voila la fonction JS pour le tri:

    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
     
    function tri (rubrique) 
     {
    	  // Déclaration des variables
    	 var XSLSort = new  Object();            
     
    	 // Sélection de l'ordre xsl:sort
    	 XSLSort = xsl.documentElement.selectNodes("//xsl:sort");
     
    	  // Affectation de la rubrique de tri
    	 if (XSLSort[0].attributes(0).text == rubrique.toString()){
    	   if ( XSLSort[0].attributes(1).text == "ascending") {
    	     XSLSort[0].attributes(1).text = "descending";
    	   } else {
    	     XSLSort[0].attributes(1).text = "ascending";
    	   }
    	 } else {
    	   XSLSort[0].attributes(1).text = "ascending";
    	 }
    	 XSLSort[0].attributes(0).text = rubrique.toString();
     
    	 // Réaffichage de la page
                    document.all.MonDiv.innerHTML = xml.transformNode(xsl); 
    }
    les liens par contre sont crées dans le XSL...

    2) Je ne comprends pas ca
    essaye de passer la catégorie en paramètre de la feuille xsl
    as tu un exemple ??

    Merci d'avance

  6. #6
    Membre confirmé
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Points : 499
    Points
    499
    Par défaut
    wouaou c'est assez barbare comme méthode ! Une autre méthode plus propre consiste à passer en paramètre du xslt le nom de la rubrique et l'ordre.

    dans le xsl :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <xsl:param name="rubrique"/>
    <xsl:param name="ordre"/>
    ....
    <xsl:sort select="$rubrique" order="$ordre"/>
    dans 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
    var xslt = new ActiveXObject("Msxml2.XSLTemplate.4.0");
    var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.4.0");
    var xslProc;
    xslDoc.async = false;
    xslDoc.load("test.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("rubrique", rubrique);
    xslProc.addParameter("ordre", "ascending");
    xslProc.transform();
     
    var xmltrie = xslProc.output
    "Les gens normaux croient que si ca marche, c'est qu'il n'y a rien à reparer. Les ingénieurs croient que si ca marche, c'est que ca ne fait pas encore assez de choses."
    --Scott Adams

  7. #7
    Nouveau membre du Club
    Inscrit en
    Octobre 2002
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 74
    Points : 36
    Points
    36
    Par défaut
    en effet c'est plus propre

    par contre ca ne répond pas au vrai problème ...

    en effet, la page se charge dans le navigateur, l'utilisateur fait des tris etc ....

    par contre, je veux que lorsqu'il clique sur un lien, les données soient regroupées et affichées sous forme de tree-view.

    J'ai réalisé, le treeview mais le soucis est qu'il faut que les données soient triées pour effectuer le tree-view ...

    comment faire ??? car si je fais un sort dans ma fonction Js il prend pas en compte ce qui est affiché à un instant T mais le fichier initial qui lui est non trié.

  8. #8
    Membre confirmé
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Points : 499
    Points
    499
    Par défaut
    encore des soucis? Normalement ca marche très bien : tu récupères la chaine temporaire "xmltrie" pour la transformer en treeview avec ton deuxième xsl. Le resultat est placé dans document.all.MonDiv.innerHTML . Bref innerHTML contient le résultat de deux transformations successives réalisée par ta fonction.
    "Les gens normaux croient que si ca marche, c'est qu'il n'y a rien à reparer. Les ingénieurs croient que si ca marche, c'est que ca ne fait pas encore assez de choses."
    --Scott Adams

  9. #9
    Nouveau membre du Club
    Inscrit en
    Octobre 2002
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 74
    Points : 36
    Points
    36
    Par défaut
    sorry mais XSLT c'est pas intuitif ... je vais essayer de faire ca dans la journée

    je te tiens au courant.

    @+

  10. #10
    Nouveau membre du Club
    Inscrit en
    Octobre 2002
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 74
    Points : 36
    Points
    36
    Par défaut
    Je m'explique a nouveau ... le fichier est trié par nom de base ... donc là par exemple je veux afficher par service sous forlme de tree-view :

    voila la fonction pour le tree-view :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function Tree (categorie) 
    {
    tri(categorie);
    var xsl2 = new ActiveXObject("Microsoft.XMLDOM")
    xsl2.async = false
    xsl2.load("TreeViewMarc.xsl")
     
    document.all.MonDiv.innerHTML=xml.transformNode(xsl2)
    }
    et là les datas ne sont pas triées et je comprends ta méthode !!

  11. #11
    Membre confirmé
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Points : 499
    Points
    499
    Par défaut
    ta variable xml est déclarée ou? normalement la fonction tri doit renvoyer xmltrie :

    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(categorie) {
     
    ...
     
    return xslProc.output 
    }
     
    function tree(categorie) {
    var xmltrie = tri(categorie); 
    var xsl2 = new ActiveXObject("Microsoft.XMLDOM") 
    xsl2.async = false 
    xsl2.load("TreeViewMarc.xsl") 
    document.all.MonDiv.innerHTML=xmltrie.transformNode(xsl2) 
    }
    "Les gens normaux croient que si ca marche, c'est qu'il n'y a rien à reparer. Les ingénieurs croient que si ca marche, c'est que ca ne fait pas encore assez de choses."
    --Scott Adams

  12. #12
    Nouveau membre du Club
    Inscrit en
    Octobre 2002
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 74
    Points : 36
    Points
    36
    Par défaut
    alors mon objet XML est déclaré dans le fichier HTML

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // Chargement d'une instance du  parser XML (XMLDOM),
    var xml = new ActiveXObject("Microsoft.XMLDOM")
    xml.async = false
    xml.load("annuaire.xml")
     
    // idem pour le fichier  XSL
    var xsl = new ActiveXObject("Microsoft.XMLDOM")
    xsl.async = false
    xsl.load("annuaire.xsl")
    ca fait koi ton instruction output ??

    en fait ca va recréer un XML c bien ca ?? si c'est ca alors ca me va !!

    Au fait merci de tes réponses ...

  13. #13
    Membre confirmé
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Points : 499
    Points
    499
    Par défaut
    ah ben voila d'ou vient ton problème gars : tu transformes ton doc xml non trié à chaque fois. Tes données triées partent dans la nature...

    xslProc.output est la sortie du processeur xslt sous forme de chaine je crois et non sous forme d'objet xmldom, donc il faudra que tu fasses la conversion

    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
    function tri(categorie) { 
     
    ... 
     
    return xslProc.output 
    } 
     
    function tree(categorie) { 
    var xmltrie = new ActiveXObject("Microsoft.XMLDOM") 
    xmltrie .async = false 
    xmltrie .loadXml(tri(categorie)) 
    var xsl2 = new ActiveXObject("Microsoft.XMLDOM") 
    xsl2.async = false 
    xsl2.load("TreeViewMarc.xsl") 
    document.all.MonDiv.innerHTML=xmltrie.transformNode(xsl2) 
    }
    "Les gens normaux croient que si ca marche, c'est qu'il n'y a rien à reparer. Les ingénieurs croient que si ca marche, c'est que ca ne fait pas encore assez de choses."
    --Scott Adams

  14. #14
    Nouveau membre du Club
    Inscrit en
    Octobre 2002
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 74
    Points : 36
    Points
    36
    Par défaut
    merci !!!

    donc pour résumer :

    1) Rajouter dans la fonction JS :
    2) dans l'appel en HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var xmltrie = tri(categorie)
    et voila :

  15. #15
    Nouveau membre du Club
    Inscrit en
    Octobre 2002
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 74
    Points : 36
    Points
    36
    Par défaut
    Bon j'ai bien adapté ta méthode pour le tri, mais je rencontre un probleme ...

    en fait ca passe sauf que ca ne trie que en fonction de la premiere colonne ...

    voici la fonction :

    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
     function tri2 (rubrique)
     {
    	// ==== [XSLTemplate] ====
    	// 	==> Pourra être utilisé pour effectuer plusieurs fois 
    	//    la même transformation sans avoir à re-charger 
    	//    ou ré-interpréter la feuille de style à chaque fois.
    	var xslt = new ActiveXObject("Msxml2.XSLTemplate.3.0"); 
     
    	// ==== [MSXML2.FreeThreadedDOMDocument] ==== 
    	//  	==> doit être utilisée car le template 
    	//		est susceptible d'être appelé par plusieurs threads
    	var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.3.0"); 
    	xslDoc.async = false; 
    	xslDoc.load("Annuaire.xsl"); 
     
    	xslt.stylesheet = xslDoc; 
     
    	var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0"); 
    	xmlDoc.async = false; 
    	xmlDoc.load("Annuaire.xml"); 
    	var xslProc; 	
    	xslProc = xslt.createProcessor(); 
    	xslProc.input = xmlDoc; 
    	xslProc.addParameter("rubrique", rubrique); 
                    xslProc.transform(); 
    	document.all.MonDiv.innerHTML = 	xslProc.output 
     
    }
    et mon XSL :

    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
     
     
    <xsl:param name="rubrique"/>
     
    <html>
    	<head>
    		<title>Annuaire SCH</title>
    	</head>
    	<body>
    	   <table border="0" id="Tableau1" width="100%" height="100%" align="center">
    			<tr>
    			<Td width="80%">
    				<table align="center" style="BORDER-COLLAPSE: collapse" width="100%" height="100%" CELLSPACING="0" border="1" rules="rows">
    					<tr>
    			     		<th id="HeaderColumnPORTABLE" onclick="javascript:tri('NOM')" align="left">NOM</th>
    			   	   <th id="HeaderColumnLOCALISATION" onclick="javascript:tri('PRENOM');" align="left">PRENOM</th>
    				      <th id="HeaderColumnSERVICE" onclick="javascript:tri('SERVICE');" align="left">SERVICE</th>
    			        	<th id="HeaderColumnLOCALISATION" onclick="javascript:tri('LOCALISATION');" align="left">LOCALISATION</th>
    			        	<th id="HeaderColumnTELEPHONE" onclick="javascript:tri('TELEPHONE');" align="left">TELEPHONE</th>
    			        	<th id="HeaderColumnPORTABLE" onclick="javascript:tri('PORTABLE');" align="left">PORTABLE</th>         
    <!--						<th id="HeaderColumnFAX" onclick="javascript:tri('FAX');" align="left">FAX</th>         -->
    						<th id="HeaderColumnFAX" onclick="javascript:tri2();" align="left">FAX</th>
     
    						<th id="HeaderColumnDetail" align="left"></th>
    					</tr>
    					<xsl:apply-templates select="REPERTOIRE/PERSONNE">
    <!-- SAVE					<xsl:sort select="NOM" order="ascending"/> -->
     					<xsl:sort select="NOM" order="ascending"/> 
    			     </xsl:apply-templates>
    			   </table>
    		</Td>
    		</tr>	
    		</table>
    	 		</body>
    	</html>
    </xsl:template>
     
    <xsl:template match="PERSONNE">
    	 <tr onMouseOver="this.bgColor='#E6E6E6';" onMouseOut="this.bgColor='#FFFFFF';">
    	   <td>
    	     <xsl:value-of select="NOM"/>
    	   </td>
    	   <td>
    	     <xsl:value-of select="PRENOM"/>
    	   </td>
    	   <td>
    	     <xsl:value-of select="SERVICE"/>
    	   </td>
    	   <td>
    	     <xsl:value-of select="LOCALISATION"/>
    	   </td>
    	   <td>
    	     <xsl:value-of select="TELEPHONE"/>
    	   </td>
    	   <td>
    	     <xsl:value-of select="PORTABLE"/>
    	   </td>
    	   <td>
    	     <xsl:value-of select="FAX"/>
    	   </td>   
    	<!--   <td>
    	     <img src="new2.gif" />
    	   </td>-->
    	 </tr>
    </xsl:template>
    </xsl:stylesheet>
    en fait la transformation passe sans planter par contre, ca ne trie pas !!!

    --> est ce que ca ne viendrait pas de mon
    sort
    ???

  16. #16
    Nouveau membre du Club
    Inscrit en
    Octobre 2002
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 74
    Points : 36
    Points
    36
    Par défaut
    un petit up car je galère

  17. #17
    Membre confirmé
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Points : 499
    Points
    499
    Par défaut
    normal que ca tri selon le nom, essaye comme ca :

    <xsl:sort select="$rubrique" order="ascending"/>
    "Les gens normaux croient que si ca marche, c'est qu'il n'y a rien à reparer. Les ingénieurs croient que si ca marche, c'est que ca ne fait pas encore assez de choses."
    --Scott Adams

  18. #18
    Nouveau membre du Club
    Inscrit en
    Octobre 2002
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 74
    Points : 36
    Points
    36
    Par défaut
    même comme ca ca ne fait pas en fonction de la rubrique,

    je bose dessus cet apres-midi et je te tiens au courant

  19. #19
    Membre confirmé
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Points : 499
    Points
    499
    Par défaut
    j'ai donné un exemple de réalisation à honeyz dans le forum si tu veux voir comment ca marche
    "Les gens normaux croient que si ca marche, c'est qu'il n'y a rien à reparer. Les ingénieurs croient que si ca marche, c'est que ca ne fait pas encore assez de choses."
    --Scott Adams

  20. #20
    Nouveau membre du Club
    Inscrit en
    Octobre 2002
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 74
    Points : 36
    Points
    36
    Par défaut
    franchement là je comprend plus trop ...

    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
    67
    68
    69
    70
    71
    72
    73
    74
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    	<xsl:param name="rubrique"/>
     
    	<xsl:template match="/">
    	<html>
    		<head>
    			<title>Annuaire SCH</title>
    		</head>
    		<body>
    		   <table border="0" id="Tableau1" width="100%" height="100%" align="center">
     
    				<tr>
    					<td>
    						TEST : <xsl:value-of select="$rubrique"	/>
    					</td>
    				</tr>
     
    				<tr>
    				<Td width="80%">
    					<table align="center" style="BORDER-COLLAPSE: collapse" width="100%" height="100%" CELLSPACING="0" border="1" rules="rows">
    						<tr>
    				     		<th id="HeaderColumnPORTABLE" onclick="javascript:tri('NOM')" align="left">NOM</th>
    				   	   <th id="HeaderColumnLOCALISATION" onclick="javascript:tri('PRENOM');" align="left">PRENOM</th>
    					      <th id="HeaderColumnSERVICE" onclick="javascript:tri('SERVICE');" align="left">SERVICE</th>
    				        	<th id="HeaderColumnLOCALISATION" onclick="javascript:tri('LOCALISATION');" align="left">LOCALISATION</th>
    				        	<th id="HeaderColumnTELEPHONE" onclick="javascript:tri('TELEPHONE');" align="left">TELEPHONE</th>
    				        	<th id="HeaderColumnPORTABLE" onclick="javascript:tri('PORTABLE');" align="left">PORTABLE</th>         
    	<!--						<th id="HeaderColumnFAX" onclick="javascript:tri('FAX');" align="left">FAX</th>         -->
    							<th id="HeaderColumnFAX" onclick="javascript:tri2();" align="left">FAX</th>
     
    							<th id="HeaderColumnDetail" align="left"></th>
    						</tr>
    	<!--					<xsl:apply-templates select="REPERTOIRE/PERSONNE">
    	 					<xsl:sort select="$rubrique" /> 
    				     </xsl:apply-templates>-->
    						<xsl:for-each select="REPERTOIRE/PERSONNE">
    							<xsl:sort select="$rubrique" />
    							<tr onMouseOver="this.bgColor='#E6E6E6';" onMouseOut="this.bgColor='#FFFFFF';">
    								<td>
    								<xsl:value-of select="NOM"/>
    								</td>
    								<td>
    								  <xsl:value-of select="PRENOM"/>
    								</td>
    								<td>
    								  <xsl:value-of select="SERVICE"/>
    								</td>
    								<td>
    								  <xsl:value-of select="LOCALISATION"/>
    								</td>
    								<td>
    								  <xsl:value-of select="TELEPHONE"/>
    								</td>
    								<td>
    								  <xsl:value-of select="PORTABLE"/>
    								</td>
    								<td>
    								  <xsl:value-of select="FAX"/>
    								</td>   
    								<!--   <td>
    								    <img src="new2.gif" />
    								  </td>-->
    							</tr>			     
    						</xsl:for-each>
    				   </table>
    			</Td>
    			</tr>	
    			</table>
    		 		</body>
    		</html>
    	</xsl:template>
    </xsl:stylesheet>
    là j'ai changé mon xsl ... j'utulise bien un
    xsl:For-each
    et ca ne fonctionne pas !!! ca ne tri pas mes colonnes

    je te refile la fonction XSL au cas ou :

    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
     
    function tri2 (rubrique)
     {
                    var xslt = new ActiveXObject("Msxml2.XSLTemplate.3.0"); 
    	var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.3.0"); 
    	xslDoc.async = false; 
    	xslDoc.load("Annuaire.xsl"); 
     
    	xslt.stylesheet = xslDoc; 
     
    	var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0"); 
    	xmlDoc.async = false; 
    	xmlDoc.load("Annuaire.xml"); 
     
    	var xslProc; 	
    	xslProc = xslt.createProcessor(); 
    	xslProc.input = xmlDoc; 
    	xslProc.addParameter("rubrique", rubrique); 
    	xslProc.transform(); 
     
    	var xmltrie = xslProc.output 
    	//return xslProc.output 
    	document.write(xmltrie)
    	//document.all.MonDiv.innerHTML = xslProc.output
    }

Discussions similaires

  1. [MySQL] Comment trier les données dans un tableau
    Par Rohan21 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 15/12/2013, 10h16
  2. Trier les données dans la base
    Par Baptiste Wicht dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 16/02/2007, 20h01
  3. Trier les données dans un formulaire
    Par nini94 dans le forum IHM
    Réponses: 2
    Dernier message: 27/11/2006, 13h26
  4. Trier les données dans un formulaire.
    Par nini94 dans le forum Access
    Réponses: 6
    Dernier message: 23/11/2006, 17h14
  5. Trier les données dans 1 tableau par ordre décroissant
    Par Blunet dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 23/11/2005, 09h56

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