XSL测试一个值

时间:2014-08-13 19:30:00

标签: regex xslt

我想在XSLT 1.0中进行测试,以查看变量是否包含Web链接。我以为我可以做某种正则表达式,但似乎1.0不能做到这一点。现在,代码假定该属性没有http://myserver.com。我希望能够看到变量是否包含http://someotherserver.com/

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
.........
<xsl:for-each select="links/link">
<li>
   <xsl:text a href=&#34;http://myserver.com/</xsl:text> <xsl:value-of select="@link" disable-output-escaping="yes"/>
</li>
</xsl:for-each>

1 个答案:

答案 0 :(得分:1)

  

我希望能够看到变量是否包含   http://someotherserver.com/

XSLT 1.0中没有正则表达式。您的代码中没有变量,因此很难具体 - 但通常情况下,您可以使用contains() function来确定字符串是否包含其他字符串。


例如:

<xsl:for-each select="links/link"> 
    <xsl:choose>
        <xsl:when test="contains(@link, 'http://someotherserver.com/')">
            <!-- do something here -->
        </xsl:when>
        <xsl:otherwise>
            <!-- do something else -->
        </xsl:otherwise>
    </xsl:choose>
</xsl:for-each>