如何在xslt中使用通配符来比较字符串?

时间:2012-10-30 09:10:00

标签: xslt

我在xslt工作,我必须用另一个字符串测试一个字符串,如下所示:

<xsl:if test="$mesg = 'this is message of method add*'">
    ....
    ....
    .....
</xsl:if>

我必须使用我在上面的代码中添加的文本测试“mesg”变量内容以及字符串后面的任何内容,目前我尝试使用“*”通配符。但它不起作用。

谢谢和问候, BSalunke

1 个答案:

答案 0 :(得分:1)

XSLT 1.0没有任何“通配符支持”,但XSLT 2.0引入了正则表达式支持。 正如已经指出的那样,对于使用XSLT 1.0的简单检查,测试

就足够了
<xsl:if test="starts-with($mesg, 'this is a message of method add')">

如果切换到XSLT 2.0(使用像Saxon 9这样的XSLT 2.0处理器或类似AltovaXML),可以使用the matches function和正则表达式,例如。

<xsl:if test="matches($mesg, '^this is a message of method add.*')">