2010-08-10 25 views
5

Witam Używam xslt do wyświetlania linków na mojej witrynie i dodałem plus obok mojego linku. Ale chciałbym dodać trochę miejsca między nimi. Dodałem, ale tak naprawdę nie działa. Czy tu czegoś brakuje? Proszę znaleźć mój kod poniżej.wstawianie spacji w xslt

Dzięki.

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

Odpowiedz

13

Moje zrozumienie jest, że chcesz, aby produkować HTML, który będzie wyświetlany spacje w przeglądarce .

Jeśli tak, to nie używaj spacji - brouser wyświetla tylko jedną pojedynczą spację dla ciągłej sekwencji spacji.

Zastosowanie Spacja twarda: &#xA0;

Więc zamiast:

<xsl:text> </xsl:text> 

użycie:

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

Great! To zadziałało dla mnie. Bardzo dziękuję za Twoją pomoc. – user346514

5

Instrukcja jest odpowiednim narzędziem do Twoich wymagań. Jako przykład arkusz stylów:

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

Z tego wejścia:

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

wyjściowa:

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