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] Problème de variable dans un test [Débutant(e)]


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 8
    Par défaut [XSLT] Problème de variable dans un test
    bonjour,

    j'ai un petit soucis avec une variable que j'ai crée et que je n'arrive pas à utiliser comme nom de colonne dans ma table.

    voici mon code :

    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
    <xsl:for-each Select="client_contrat/declarationS/declaration/libelleregime">
    <br/><xsl:variable name="nom" select="concat('declaration',position(),'AGC')"/>
    	<xsl:choose>
    <xsl:when test="../type = 'C'">
    <input type="checkbox" name="$nom" value="2">
    				<xsl:if test="//$nom= '2'">
    					<xsl:attribute name="checked"/>
    				</xsl:if>
    			</input>
    		</xsl:when>
    		<xsl:when test="../type = 'N'">
    			<xsl:value-of select="$nom"/>
    			<input type="text" class="inputbleu " name="$nom" size="7" value="{//client_contrat/@nom}"/>
    		</xsl:when>
    	</xsl:choose>
    	</xsl:for-each>
    Je n'arrive pas à exploiter la variable $nom pour qu'il l'interprete comme la colonne de ma table. Je ne sais pas si c'est du au fait que je fasse un concat pour arriver à crée mon nom de colonne.
    La colonne s'appelle "declaration1AGC" jqa "declaration13AGC"

    Je ne trouve pas la solution, merci de votre aide

  2. #2
    Membre émérite
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Par défaut
    il faut faire :



  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 8
    Par défaut
    merci, c'est deja un début

    maintenant je n'arrive pas à effectuer mon premier <xsl:if>, il n'accepte pas les accolades et il n'effectue pas le test avec mon code actuel.

    J'ai un update qui met à jour les champs lorsqu'ils sont remplies, ça marche très bien avec un nom fixe mais ça ne marche pas avec ma variable

  4. #4
    Membre émérite
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Par défaut
    pourquoi tu mets //?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	<xsl:if test="//$nom= '2'">
    <xsl:attribute name="checked"/>
    </xsl:if>
    il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	<xsl:if test="$nom= '2'">
    <xsl:attribute name="checked"/>
    </xsl:if>

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 8
    Par défaut
    non parce qu'en fait je veux la donnée qui est dans ma base de donnée, or la variable n'est qu'une partie de mon chemin

    en fixe, ça donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <input type="checkbox" name="anim_ago" value="1">
    <xsl:if test="client_contrat/anim_ago = '1'">
    <xsl:attribute name="checked"/>
    </xsl:if>
    </input>
    et je voudrais qu'a la place de anim_ago, je puisse mettre ma variable.

  6. #6
    Membre émérite
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Par défaut
    anim_ago est un noeud de ton xml?

    si oui, tu ne peux pas stocker de noeud dans une variable, les variables sont des string et ne sont pas interpretées comme des chemins à des noeuds de ton xml!

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

Discussions similaires

  1. Problème de variable dans un foreach
    Par VolaiL dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 18/05/2006, 16h57
  2. [MySQL] Problme de variables dans requete
    Par eown dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 11/04/2006, 17h05
  3. Réponses: 8
    Dernier message: 23/03/2006, 19h30
  4. problème de variable dans formulaire
    Par chienlou dans le forum Langage
    Réponses: 4
    Dernier message: 20/03/2006, 06h53
  5. [VB.NET] [Débutant] Probléme de variable dans les requettes
    Par Silvia12 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 07/03/2005, 13h13

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