2010-03-08 10 views
7

Creo que puede tener una mala interpretación de <xsl:variable\> y <xsl:value-of\> así que tal vez alguien me puede corregir!valor de Salida de xsl: variable, con xsl: value-of problema

Estoy intentando ajustar algunas banderas codificadas a ser un poco más limpio así que pensé que sería una buena idea para crear un <xsl:variable> que contiene el acoplamiento de la bandera y el código de la imagen, a continuación, utilizar <xml:value-of> en los distintos lugares en los que la bandera es necesario. Por ejemplo:

<!-- 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> 

Pero esto no está produciendo la salida que esperaba. La ruta de las imágenes, etc. es válida, pero esto simplemente no arroja nada en absoluto. Cualquier texto agregado antes o después de la etiqueta <a> aparece correctamente, pero nada entre las etiquetas <a> Ellos Mismos.

¿Qué he entendido mal acerca de <xsl:variable> y cómo podría hacerlo mejor (que no sea hacerlo "correctamente" y sacar anuncios de una base de datos, etc. que preferiría ...).

Respuesta

7

El valor que está seleccionando con xsl: value-of es el valor de cadena de la variable.

Quiere <xsl:copy-of select='$banner1' /> para copiar el resultado tree fragment.

+0

¡Muchísimas gracias! Muy nuevo para xsl y no estaba viendo lo que debería haber estado haciendo de manera diferente. ¡Aclamaciones! – xan