вставка пробела в xslt - PullRequest
       1

вставка пробела в xslt

6 голосов
/ 10 августа 2010

Привет! Я использую xslt, чтобы показывать ссылки на моей веб-части, и я добавил плюс изображение рядом с моей ссылкой. Но я хотел бы добавить некоторое пространство между ними. Я добавил, но это не совсем работает. Я что-то здесь упускаю? Пожалуйста, найдите мой код ниже.

Спасибо.

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

Ответы [ 2 ]

14 голосов
/ 11 августа 2010

Насколько я понимаю, вы хотите создать HTML-код, который бы отображал пробелы в браузере.

Если это так, не использовать пробелы - браузер отображает только один пробел для непрерывной последовательности пробелов.

Использовать неразрывное пространство : &#xA0;

Итак, вместо :

  <xsl:text>   </xsl:text>

использование

  <xsl:text>&#xA0;&#xA0;&#xA0;</xsl:text>
5 голосов
/ 11 августа 2010

Инструкция xsl:text - правильный инструмент для вашего запроса. Как пример, эта таблица стилей:

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

С этим входом:

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

Выход:

<div><a href="#">link1</a> <a href="#">link1</a> <a href="#">link1</a> </div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...