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 :

syntaxe du <xsl:when> / <xsl:if>


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Points : 6
    Points
    6
    Par défaut syntaxe du <xsl:when> / <xsl:if>
    Bonjour,

    Je cherche à utiliser <xsl:when> (ou <xsl:if>) pour effectuer des regroupements dans un document ; mais je ne parviens pas à ce que je veux. Voici ce que je voudrais exprimer avec <xsl:when> (ou <xsl:if>), sachant que je me trouve dans un <xsl:template match="contexte">:

    1."Si l'élément <contexte> en cours est le 1er élément <contexte> du document..." (j'avais pensé à <xsl:when test="position()=1">, mais cela ne semble pas fonctionner).

    2. "Si l'élément <contexte> en cours suit l'élément <base-de-donnees>..."

    3. "Si la valeur de l'attribut @id de l'élément <contexte> en cours est identique à celle de la valeur de l'attribut @id de l'élément <contexte> qui précède..."

    4. "Si la valeur de l'attribut @id de l'élément <contexte> en cours est différente de celle de la valeur de l'attribut @id de l'élément <contexte> qui précède..."

    Quelqu'un peut-il m'aider ?

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,
    Citation Envoyé par jesemeatoutvent Voir le message
    1."Si l'élément <contexte> en cours est le 1er élément <contexte> du document..." (j'avais pensé à <xsl:when test="position()=1">, mais cela ne semble pas fonctionner).
    Attention, position() renvoie le rang de l'élément en cours dans la liste d'éléments sélectionnés par le dernier apply-templates exécuté, pas une position absolue.

    Pour tes autres tests, cela implique d'utiliser les axes XPath preceding et/ou preceding-sibling, voir le tuto XPath pour plus de précisions.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

Discussions similaires

  1. xsl:when
    Par casgr1 dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 14/03/2006, 16h02
  2. utilisation de xsl:if et xsl:choose xsl: when
    Par moh_yougo dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 30/01/2006, 15h16
  3. [XSL] WHEN
    Par greatdonking dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 19/12/2005, 16h59
  4. [XSL]problème avec <xsl:when>
    Par Devil666 dans le forum XSL/XSLT/XPATH
    Réponses: 12
    Dernier message: 27/05/2005, 16h54
  5. [XSL] Application d'un XSL pour produire un XSL... help
    Par Greedo dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 22/05/2003, 11h30

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