我想在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="http://myserver.com/</xsl:text> <xsl:value-of select="@link" disable-output-escaping="yes"/>
</li>
</xsl:for-each>
答案 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>