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 :

[XSLT]Tri


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 56
    Points : 27
    Points
    27
    Par défaut [XSLT]Tri
    Bonjour,

    Je voualis savoir s'il été possible d'attribué un background particulier pour le premier item du menu, un autre pou le dernier item et les autres auront un background commun.

    Le soucis c'est que je en vois pas comment faire ca xsl?

    Est ce que quelqu'un auriat une idée?

    Merci

  2. #2
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Points : 172
    Points
    172
    Par défaut
    Bonjour,

    Heu...Pourrai tu expliquer plus amplement ton problème ???

    Merci

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 56
    Points : 27
    Points
    27
    Par défaut
    J'ai un menu géré dynamiqument grace a un fichier xml/xsl. Selon ces droits il y a plus ou moins d'entrées dans le menu.

    EN ce qui me concerne c'est a dire la charte graphique j'ai des bord arrondi sur la première entrée et la dernière entrée du menu. Ainsi je veux détecter si c'est la première entrée, la dernière entrée et les autres jai une charte commune...

    Voial en espérant que ca t'a éclairer un peu plus

  4. #4
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut
    Si tu as un <xsl:for-each> dans ton XSL tu peux utiliser dedans un <xls:if test="position() = 0"> pour tester quelle entrée tu es en train de traiter.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 56
    Points : 27
    Points
    27
    Par défaut
    Merci je m'en vais tester.

    Par contrae une question position()=0 c'est la première entrée? Je fais comment pour avoir la dernière entrée?

    Merci

  6. #6
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut
    Citation Envoyé par gorgoroth
    Merci je m'en vais tester.

    Par contrae une question position()=0 c'est la première entrée? Je fais comment pour avoir la dernière entrée?

    Merci
    Si c'est pas 0 c'est 1. Pas sûr de moi. Suffit de tester.

    Sinon : <xsl:if test="position() = last()">

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Ouaip, c'est bien 1 l'index de la premiere position.

  8. #8
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut
    Citation Envoyé par Morbo
    Ouaip, c'est bien 1 l'index de la premiere position.
    Après coup je me suis dis que <xsl:if test="position() = first()"> marcherait bien aussi.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 56
    Points : 27
    Points
    27
    Par défaut
    Et pourquoi ca ne marche pas ca ?

    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
    <xsl:for-each select="accueil/menus/menu">
     
    	<div id ="rubrique_l">
    		<span style="margin-left:30px;"><a href="{url}"><xsl:value-of select="caption"/></a></span>
    	</div>
     
    	<xsl:if test="position() = first()">
    		<div id ="rubrique_f">
    			<span style="margin-left:30px;"><a href="{url}"><xsl:value-of select="caption"/></a></span>
    		</div>
    	</xsl:if>
     
    	<xsl:if test="position() = last()">
    		<div id ="rubrique_l">
    			<span style="margin-left:30px;"><a href="{url}"><xsl:value-of select="caption"/></a></span>
    		</div>
    	</xsl:if>
     
    </xsl:for-each>
    (code de mon for-each de ma page xsl)

    Merci...

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Hum, j'étais pas sur, mais "first()" n'existe pas, en tout cas avec "1" ça passe chez moi.
    Sinon "ca ne marche pas", c'est pas très explicite.
    La feuille xsl compile? Le résultat diffère en quoi de ce que tu attends?
    Et le xml source peut servir aussi.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 56
    Points : 27
    Points
    27
    Par défaut
    Ben en fait il ya une perte d'info (genre des images dans le css lié qui manque),
    La première entrée est en doublon... avec un style différent malgré 2 id différents dans le xsl et le css.

    Et je viens de réagir sur autre chose... pour mes autres entrées, ni la première ni la dernière, je la notifie comment dans mon xsl? Juste des balises div?

    Merci pour ton aide

    V'la les fichiers^^.

  12. #12
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut
    Je confirme que first() n'existe pas. Désolé pour ça...

    Sinon :
    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
    <xsl:for-each select="accueil/menus/menu">
    <xsl:choose>
      <xsl:when test="position() = 1">
        <div id ="rubrique_f">
          <span style="margin-left:30px">
            <a href="{url}"><xsl:value-of select="caption" /></a>
          </span>
        </div>
      </xsl:when>
      <xsl:when test="position() = last()">
        <div id ="rubrique_l">
          <span style="margin-left:30px">
            <a href="{url}"><xsl:value-of select="caption"/></a>
          </span>
        </div>
      </xsl:when>
      <xsl:otherwise>
        <div id ="rubrique_l">
          <span style="margin-left:30px">
            <a href="{url}"><xsl:value-of select="caption"/></a></span>
        </div>
      </xsl:otherwise>
    </xsl:choose>
    </xsl:for-each>

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 56
    Points : 27
    Points
    27
    Par défaut
    merci ;-) ca marche maintenant
    ^^

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 56
    Points : 27
    Points
    27
    Par défaut
    J'ai quelque souis quand je veux intégrer un image en fond. Lorsque je le met dan le fichier css savec la propriété background-image, il m'enlève d'autres images ???? je n'y comprend rien...
    La j'ai reussi a stabilisé la situation de sorte a ce qu'il me manque juste l'image de la première et de la dernière entrée...

    Du coup j'ai pensé a insérer ce qui manquait dans le fichier xsl... Mais la c'est la drame parec que ca n'est pas propre. Genre le lien est audessus de l'image???

    Existe il donc une solution propre pour superposé et l'enrée du menu et l'image de fond?

    Merci

  15. #15
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut
    Y a un truc que t'as pas dû bien intégrer.

    Fais voir les bouts de code concernés (le CSS et le XSLT).

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 56
    Points : 27
    Points
    27
    Par défaut
    Voila les fihcier que tu as demandé... Merci pour tout ;-)

  17. #17
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut
    Déjà pour que ce soit plus simple tu peux changer ça :
    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
    #rubrique{
    	background: url(../image/rubrique_2.jpg) no-repeat;
    	color: #ffffff;
    	font-size: 0.9em;
    	font-weight: bold;
    	font-family : Arial, Hevlvetica, sans-serif;
    	height : 28px;
    	line-height : 2.4em;
    }
     
    #r_last{
    	background: url(..image/rubrique_2b.jpg) no-repeat;
    	color: #ffffff;
    	font-size: 0.9em;
    	font-weight: bold;
    	font-family : Arial, Hevlvetica, sans-serif;
    	height : 28px;
    	line-height : 2.4em;
    }
     
    #r_first{
    	background: url(..image/rubrique_2h.jpg) no-repeat;
    	color: #ffffff;
    	font-size: 0.9em;
    	font-weight: bold;
    	font-family : Arial, Hevlvetica, sans-serif;
    	height : 28px;
    	line-height : 2.4em;
    }
    En ça (et en corrigeant la faute à "Helvetica" au passage) :
    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
    #rubrique, #r_last, #r_first{
            background-repeat: no-repeat;
    	color: #ffffff;
    	font-size: 0.9em;
    	font-weight: bold;
    	font-family : Arial, Helvetica, sans-serif;
    	height : 28px;
    	line-height : 2.4em;
    }
     
    #rubrique{
    	background-image: url(../image/rubrique_2.jpg);
    }
     
    #r_last{
    	background-image: url(../image/rubrique_2b.jpg);
    }
     
    #r_first{
    	background-image: url(../image/rubrique_2h.jpg);
    }
    Ensuite pour les CSS s'appliquent il faut que les ID de tes div matchent les noms de tes éléments dans la feuille de style. Et là on a "rubrique_f" dans la div et "rubrique_first" dans la CSS...

    Et puis il manquait des slashs "/" à tes url de background-image :
    "..image/rubrique_2h.jpg" au lieu de "../image/rubrique_2h.jpg"...

    Un conseil : quand tu demandes de l'aide essaie plutôt de filer les "morceaux" de code qui posent problème selon toi plutôt que de balancer tous les fichiers. Si on a besoin de voir plus de code pour t'aider on te le dira, ne t'en fait pas.

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 56
    Points : 27
    Points
    27
    Par défaut
    oki merci pour l'aide et les conseils...

    je m'en vais tester

  19. #19
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 56
    Points : 27
    Points
    27
    Par défaut
    Merci ca marche impec ;-)

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

Discussions similaires

  1. [XSLT] Tri de dates
    Par Zapan dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 09/02/2006, 16h36
  2. [XSLT] Tri dynamique
    Par gregb34 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 06/02/2006, 12h52
  3. [XSLT] Tri côté client
    Par licorne dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 06/12/2005, 16h40
  4. [xslt] TRI d'un champs
    Par virgul dans le forum XSL/XSLT/XPATH
    Réponses: 15
    Dernier message: 26/08/2005, 17h01
  5. [XSLT] Tri en fonction d'un paramètre
    Par virgul dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 21/04/2005, 10h29

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