KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Lundi 12 mai 2008 - 04:12:23

[XSL]: acces au variable

Rechercher : dans
[XSL]: acces au variable
par Fra
 Fil de Discussions
Statut : Non résolu
mardi 19 avril 2005 à 14:25:08
Bonjour,

je debutte en XML et j'ai du mal avec les acces aux variable.
je voudrais mette un lien dans une variable que je desir recupérer en plusieurs endroit de mon script.

Mais visiblement la variable n'est pas accessible.
<xsl:template match="/">
 <xsl:variable name="chanelLink" select="rss/channel/link"/>
 <html>
	<xsl:call-template name="data"></xsl:call-template>
 </html>
</xsl:template>

<xsl:template name="data">
 <a href="{$chanelLink}"><xsl:value-of select="rss/channel/title"/></a>
</xsl:template>


Erreur :
"Impossible de résoudre une référence à une variable ou un paramètre « chanelLink ». La variable ou le paramètre ne sont peut être pas définis ou sont absents de la portée. "

Merci
Répondre à Fra  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par teebo, le mardi 19 avril 2005 à 16:41:56 Fil de Discussions
Salut,
Je crois qu'il faut que tu définisse chanelLink en dehors du template match, quite à ne lui donner sa valeur qu'à ce moment là...

It is only by not paying one's bills that one can
hope to live in the memory of the commercial classes.
Répondre à teebo

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par fras34, le mardi 19 avril 2005 à 17:08:39 Fil de Discussions
Ok, si je sort la variable du macth ça fontionne.

Mais en plus il faut que l'attibution de la variable soit conditionnel.

<xsl:choose>
	<xsl:when test="rss/channel/configs/categorie != 'all'">
		<xsl:variable name="chanelTitre" select="rss/channel/configs/categorie"/>
	</xsl:when>
	<xsl:otherwise>
		<xsl:variable name="chanelTitre" select="rss/channel/title"/>
	</xsl:otherwise>
<xsl:choose>

<xsl:template match="/">
 <html>
	<xsl:call-template name="data"></xsl:call-template>
 </html>
</xsl:template>

<xsl:template name="data">
 <a href="{$chanelLink}"><xsl:value-of select="rss/channel/title"/></a>
</xsl:template>


Et la ça genere une erreur.
Répondre à fras34

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par teebo, le mardi 19 avril 2005 à 17:12:19 Fil de Discussions
Un truc comme ça ne marcherait pas aussi bien?

<xsl:variable name="chanelLink"/>

<xsl:template match="/">
<xsl:variable name="chanelLink" select="rss/channel/link"/>
<html>
<xsl:call-template name="data"></xsl:call-template>
</html>
</xsl:template>

<xsl:template name="data">
<a href="{$chanelLink}"><xsl:value-of select="rss/channel/title"/></a>
</xsl:template>


It is only by not paying one's bills that one can
hope to live in the memory of the commercial classes.
Répondre à teebo

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par fras34, le mardi 19 avril 2005 à 17:25:04 Fil de Discussions
La variable du lien fonctionne, merci.
Mais pas celle du titre. Elle ne prend pas en compte que categorie != 'all'
<!-- le lien : ok -->
<xsl:variable name="chanelLink" select="rss/channel/link"/>
<!-- variable du  titre -->
<xsl:variable name="chanelTitre"/>
<xsl:choose>
	<xsl:when test="rss/channel/configs/categorie != 'all' ">
		<xsl:variable name="chanelTitre" select="rss/channel/configs/categorie"/>
	</xsl:when>
	<xsl:otherwise>
		<xsl:variable name="chanelTitre" select="rss/channel/title"/>
	</xsl:otherwise>
</xsl:choose>
<!-- Masque -->
<xsl:template match="/">
<html>
<head>
	<title><xsl:copy-of select="$chanelTitre"/></title>
</head>
<body>
 <xsl:call-template name="data"></xsl:call-template> 
</body>
 </html>
</xsl:template>

<xsl:template name="data">
<a href="{$chanelLink}"><xsl:value-of select="rss/channel/title"/></a>
</xsl:template> 
Répondre à fras34

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par teebo, le mardi 19 avril 2005 à 17:34:07 Fil de Discussions
Au fait pourquoi tu veux utiliser une variable?
It is only by not paying one's bills that one can
hope to live in the memory of the commercial classes.
Répondre à teebo

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par teebo, le mardi 19 avril 2005 à 17:40:04 Fil de Discussions
Bon sans garantie mais un truc du genre ne marcherait pas?


<xsl:variable name="chanelTitre">
<xsl:choose>
	 <xsl:when test="rss/channel/configs/categorie != 'all' ">
                 rss/channel/configs/categorie
         </xsl:when>
	 <xsl:otherwise>
                 rss/channel/title
         </xsl:otherwise>
</xsl:choose>	
</xsl:variable>


Je me souviens que je m'étais battu avec ce genre de choses aussi...

It is only by not paying one's bills that one can
hope to live in the memory of the commercial classes.
Répondre à teebo

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par fras34, le mardi 19 avril 2005 à 17:55:50 Fil de Discussions 
YESSS

Merci je galère la dessus depuis ce matin

Trop cool
Répondre à fras34
Discussions pertinentes trouvées dans le forum
15/06 14h12[access] Variable dans une requete sqlProgrammation29/06 16h1021
26/02 04h42Page d'accueil variableWebmastering26/02 22h204
22/11 12h08[XSL]Modifier variables globales....Webmastering22/11 15h544
29/08 11h28XSL acces au nom des balisesWebmastering29/08 16h075
Plus de discussions sur « [XSL]: acces au variable » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide