Проверьте значение внутри строки - PullRequest
5 голосов
/ 17 июля 2009

Допустим, у меня есть строка «2004,2005,2006,2007,2008,2009», которая назначена параметру «show».

Теперь это работает:

<xsl:if test="$show='2004'">
    //stuff
</xsl:if>

Это не работает:

<xsl:if test="$show='2005'">
    //stuff
</xsl:if>

Я не уверен, как проверить часть такой строки. Есть идеи?

Ответы [ 2 ]

19 голосов
/ 17 июля 2009

Использование contains.

<xsl:if test="contains($show, '2004')">
    //stuff
</xsl:if>

Более подробный пример, который напечатает yes .

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <xsl:variable name="show" select="'2004,2005,2006,2007,2008,2009'"/>
        <xsl:if test="contains($show, '2004')">yes</xsl:if>
        <xsl:if test="not(contains($show, '2004'))">no</xsl:if>
    </xsl:template>
</xsl:stylesheet>
3 голосов
/ 17 июля 2009

Вам нужна XPath-функция contains (). Вы можете использовать это так:

<xsl:if test="contains($show,'2005')">
  //stuff
</xsl:if>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...