Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2930 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  [XSL:sort] select="variable" = rien

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[XSL:sort] select="variable" = rien

n°1194203
Guilz
Summerized
Posté le 07-09-2005 à 15:45:39  profilanswer
 

Bonjour à tous,
 
Problème incompréhensible pour le débutant en XML et XSL que je suit :
 
Je souhaite trier l'affichage de mon fichier XML selon une colonne précisée dans le premier noeud de du fichier XML (balise

Code :
  1. <TRI> colonne = "B" </TRI>

par exemple).
 
Dans le fichier XSL j'ai cette structure :
 

Code :
  1. <xsl:variable name="col" select="NewDataSet/Tri" />
  2.  <xsl:value-of select="$col" />
  3.   <xsl:variable name="truc" select="concat('@', $col)" />
  4.   <xsl:value-of select="$truc" />
  5.  <table cellspacing="0" cellpadding="0" rules="all" border="0" id="DataGridList" style="border-width:0px;width:100%;border-collapse:collapse;">
  6.  <xsl:for-each select="NewDataSet/CUST">
  7.   <xsl:sort select="$truc" />
  8. ...


 
qui me permet :
- de récupérer la colone de tri dans la balise XML
- de la concaténer avec un @ pour ensuite selectionner l'attribut à choisir pour la colonne
- de vérifier que j'ai bien la colonne selectionnée en l'affichant
- puis je commence le tableau en triant selon la colonne indiquée
 
Sauf que... ça trie pas
 
 
La variable $truc contient pourtant

Code :
  1. @B

puisque je l'affiche auparavant.
Et si je mets (en dur)

Code :
  1. <xsl:sort select="@B" />

ça trie.
 
 
Si qqun peut m'expliquer ce qu'il manque  :jap:


---------------
Who LeT The Guilz OuT ? WhO ? wHo ? Who ??
mood
Publicité
Posté le 07-09-2005 à 15:45:39  profilanswer
 

n°1194654
alien_nan
Posté le 08-09-2005 à 09:16:06  profilanswer
 

alien_nan a écrit :

il te manque au moins l'order et le data-type :
 

Code :
  1. <xsl:sort
  2. select="expression"
  3. lang="language-code"
  4. data-type="text|number|qname"
  5. order="ascending|descending"
  6. case-order="upper-first|lower-first"/>


 
bon courage :hello:


 
edit : j'ai un peu repondu a cote. Par contre, tu ne peux pas trier sur la variable, car elle ne contient qu'une valeur, et il evalue le contenu au sens 'litteral' de cette derniere (pour lui, il cherche a trier une chaine @B ). C'est a dire qu'elle n'est pas ré-affecté de la valeur de ton attribut B à chaque boucle. J'espere que j'ai été assez précis.

n°1194764
Guilz
Summerized
Posté le 08-09-2005 à 11:17:35  profilanswer
 

Si j'ai bien compris, je devrais tester la variable avant le tri dans le style :
 
si $var = "@B" ...xsl:sort select="@B"
si $var = "@C" ...xsl:sort select="@C"
etc...
 
?
 
Les tutos que j'ai suivi parlent en général d'une mauvaise gestion des varaibles avec XSL, c'est dommage... :/


---------------
Who LeT The Guilz OuT ? WhO ? wHo ? Who ??

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  [XSL:sort] select="variable" = rien

 

Sujets relatifs
Du code php dans une variableSapm Je n'y comprend rien
Quel est la durée de vie d'une variable sessionSQL Server : Variable du type d'un champ de la base
Recherche de variableurl rewriting probleme - dossiers -> variable, possible ?
[Javascript] Récupération de la valeur d'un selectAutoit j y capte rien
[PHP] la variable environnement $REMOTE_USERRecuperer une variable
Plus de sujets relatifs à : [XSL:sort] select="variable" = rien


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR