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 :

variable dans if


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 154
    Points : 62
    Points
    62
    Par défaut variable dans if
    Bonjour voici une petite étude de cas pour les petits malins que vous etes.

    Tout d'abord mon xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <xml>
    <Flotte>1</Flotte>
    <Flotte>2</Flotte>
    <Flotte>3</Flotte>
    </xml>
    Voici ensuite mon xsl:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <xsl:variable name="noeud_direct" select="xml"/>
    <xsl:variable name="noeud">
    	<xsl:choose>
    		<xsl:when test='1=1'><xsl:value-of select="xml"/></xsl:when>
    		<xsl:otherwise><xsl:value-of select="xml"/></xsl:otherwise>
    	</xsl:choose>		
    </xsl:variable>
    Si je fait <xsl:value-of select="$noeud"/> tout mon xml s'affiche sans soucis.
    Pareil pour <xsl:value-of select="$noeud_direct"/>

    En revanche si je fait <xsl:value-of select="$noeud/Flotte"/> ça plante, alors que si je fait <xsl:value-of select="$noeud_direct/Flotte"/> ça marche très bien.

    Est ce que qq'un aurait une idée sur pk la méthode avec when ne permet pas d'accéder aux sous éléments de mon xml?

    Wells

  2. #2
    Membre éprouvé Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Points : 1 247
    Points
    1 247
    Par défaut
    Il faut utiliser <xsl:copy-of> plutôt que <xsl:value-of> qui convertit en texte.

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 154
    Points : 62
    Points
    62
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:when test='1=1'><xsl:copy-of select="xml"/></xsl:when>
    <xsl:otherwise><xsl:copy-of select="xml"/></xsl:otherwise>
    Malheureusement ca ne fait rien de plus

  4. #4
    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,

    cette différence de comportement est normale, "noeud_direct" est une variable de type nodeset, utilisable dans des expressions XPath, tandis que "noeud" est une variable de type RTF, dont les utilisations possibles sont très limitées. Pour plus de précisions, voir ce fil.

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 154
    Points : 62
    Points
    62
    Par défaut
    Oki. Donc si qq'un sais comment gérer mon probleme.

    EN gros l'objectif final est le suivant: j'ai deux xml avec une structure identique et des données différentes.

    Au début de mon XSL, je veux dire (je voulais le faire via une variable) lequel des deux xml servira de source.

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/01/2004, 16h14
  2. [LG]variables dans procédure
    Par néo333 dans le forum Langage
    Réponses: 2
    Dernier message: 05/11/2003, 00h24
  3. comment recuperer une variable dans flash
    Par krépuscul dans le forum Flash
    Réponses: 30
    Dernier message: 16/10/2003, 10h40
  4. Réponses: 13
    Dernier message: 14/06/2003, 23h15
  5. [syntaxe] Gerer les variables dans une requete
    Par rastapopulos dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 15/04/2003, 13h53

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