模式匹配与XSLT
我尝试使用matches函数将模式匹配到XSLT/XPath中的字符串中,如下所示:模式匹配与XSLT,xslt,xpath,pattern-matching,xslt-2.0,Xslt,Xpath,Pattern Matching,Xslt 2.0,我尝试使用matches函数将模式匹配到XSLT/XPath中的字符串中,如下所示: <xsl:when test="matches('awesome','awe')"> ... </xsl:when> ... 然而,在Firefox3.5.9和IE8中,它都没有出现。IE8告诉我,“'matches'不是有效的XSLT或XPath函数。”这是因为XSLT 2.0不受支持,有没有办法解决这个问题?只有XSLT 2.x/XPath 2.x才支持正则表达式 到目前
<xsl:when test="matches('awesome','awe')">
...
</xsl:when>
...
然而,在Firefox3.5.9和IE8中,它都没有出现。IE8告诉我,“'matches'不是有效的XSLT或XPath函数。”这是因为XSLT 2.0不受支持,有没有办法解决这个问题?只有XSLT 2.x/XPath 2.x才支持正则表达式 到目前为止,还没有公开的浏览器支持XSLT 2.x/XPath 2.x 在具体案例中,您可以使用:
starts-with('awesome','awe')
其他有用的XPath 1.0函数有:
contains()
substring()
substring-before()
substring-after()
normalize-space()
translate()
string-length()
除了正确的提示,浏览器不支持XSLT /XPath 2:注意Firefox(因为我认为版本3)支持一些ExSLT函数,特别是对于正则表达式:所以使用Firefox可以考虑EXSLT函数。对于使用MSXML的IE,可以使用msxsl:script元素合并实现EXSLT匹配函数的
好问题(+1)。请参阅我的答案以获得解释,并查看一些有用的函数以获得替代解决方案。谢谢!fn:匹配本来会很好,但我想我必须处理contains和自定义字符串。