String 测试字符串中的值

String 测试字符串中的值,string,testing,xslt,parameters,String,Testing,Xslt,Parameters,假设我有一个字符串“2004200520062000720082009”,它被分配给参数“show” 现在,这确实起作用了: <xsl:if test="$show='2004'"> //stuff </xsl:if> //东西 这不起作用: <xsl:if test="$show='2005'"> //stuff </xsl:if> //东西 我不知道如何测试像那样的字符串的一部分。有什么想法吗?使用包含 <xs

假设我有一个字符串“2004200520062000720082009”,它被分配给参数“show”

现在,这确实起作用了:

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

//东西
这不起作用:

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

//东西

我不知道如何测试像那样的字符串的一部分。有什么想法吗?

使用
包含

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

//东西
更详细的示例,将打印

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

对
不

您需要contains()XPath函数。您可以这样使用它:

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

//东西
Dup of我有以下内容:
我正在这样检查:
。我一直发现XPath语法错误。你能帮忙吗。我想为每个
grp#