2010-08-10 26 views
5

Hola, estoy usando xslt para mostrar los enlaces en mi webpart y he agregado más una imagen al lado de mi enlace. Pero me gustaría agregar algo de espacio entre ellos. He agregado, pero esto no está funcionando realmente. ¿Me falta algo aquí? Por favor encuentra mi código a continuación.insertando espacio en xslt

Gracias.

<xsl:choose> 
     <!-- do _self --> 
     <xsl:when test="contains(Link,'xxx')"> 
      <a target="_self"> 
      <xsl:attribute name="href"> 
       <xsl:value-of select="URL"/> 
      </xsl:attribute> 
       <xsl:value-of select="Title"/> 
      </a> 
     </xsl:when> 
     <!-- use _blank (new browser window) --> 
    <xsl:otherwise> 
     <a target="_blank"> 
     <xsl:attribute name="href"> 
      <xsl:value-of select="URL"/> 
     </xsl:attribute> 
      <xsl:value-of select="Title"/> 
     </a> 
    </xsl:otherwise> 
    </xsl:choose> 
    <xsl:text> </xsl:text> 
    <xsl:choose> 
     <xsl:when test="Description !=' ' "> 
      <img class="imageclass" src="/images/plus.gif"></img> 
     </xsl:when> 
    </xsl:choose> 

Respuesta

13

Mi entendimiento es que se quiere producir HTML que mostrará el espacio en blanco en el navegador .

Si esto es así, no use espacios - el brouser solo muestra un espacio para una secuencia continua de espacios.

Uso espacio de no separación: &#xA0;

Así, en lugar de:

<xsl:text> </xsl:text> 

uso:

<xsl:text>&#xA0;&#xA0;&#xA0;</xsl:text> 
+0

Gran! Funcionó para mí Muchas gracias por tu ayuda. – user346514

5

La instrucción xsl:text es la herramienta adecuada para su requerimiento. Como ejemplo, esta hoja de estilo:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:template match="@*|node()" name="identity"> 
     <xsl:copy> 
      <xsl:apply-templates select="@*|node()"/> 
     </xsl:copy> 
    </xsl:template> 
    <xsl:template match="a"> 
     <xsl:call-template name="identity"/> 
     <xsl:text> </xsl:text> 
    </xsl:template> 
</xsl:stylesheet> 

Con esta entrada:

<div> 
    <a href="#">link1</a> 
    <a href="#">link1</a> 
    <a href="#">link1</a> 
</div> 

Salida:

<div><a href="#">link1</a> <a href="#">link1</a> <a href="#">link1</a> </div> 
Cuestiones relacionadas