2010-03-08 16 views
7

Je pense que je peux avoir un malentendu de <xsl:variable\> et <xsl:value-of\> alors peut-être que quelqu'un peut me corriger!Sortie de la valeur de xsl: variable avec xsl: valeur-du problème

je tente de modifier quelques bannières hardcoded être un peu plus propre, donc je pensais que ce serait une bonne idée de créer un <xsl:variable> contenant le lien de la bannière et le code d'image, puis utilisez <xml:value-of> aux différents endroits où la bannière est nécessaire. Par exemple:

<!-- Global variable in my xslt file. There are a bunch of these... --> 
<xsl:variable name="banner1"> 
    <a href="http://www.link.com/" title="Title" target="_blank"> 
     <img width="120" height="506" src="/images/banners/image.gif" alt="alt" /> 
    </a> 
</xsl:variable> 

<!-- Then when used: --> 
<xsl:when test="blah'"> 
    <xsl:value-of select="$banner1"/> 
</xsl:when> 

Mais ce ne produit pas de la sortie, je pense. Le chemin d'images etc est valide, mais cela ne crache rien du tout. Tout texte ajouté avant ou après la balise <a> s'affiche correctement, mais rien entre les balises <a> Eux-mêmes. Qu'est-ce que j'ai mal compris à propos de <xsl:variable> et comment pourrais-je faire mieux (autre que de le faire "correctement" et de tirer des publicités d'une base de données etc. que je préférerais ...).

Répondre

7

La valeur que vous sélectionnez avec xsl: value-of est la valeur de chaîne de la variable.

Vous souhaitez que <xsl:copy-of select='$banner1' /> copie le fragment de l'arborescence des résultats.

+0

Merci beaucoup! Assez nouveau pour xsl et je ne voyais pas ce que j'aurais dû faire différemment. À votre santé! – xan