在浏览器控制台中搜索元素时,我希望在XPath表达式中使用regexp名称空间,但SyntaxError: The expression is not a legal expression.尝试这样做。
我将http://help.dottoro.com/ljspsvcs.php作为创建名称空间解析器的教程。
下面是我的代码:
function nsResolver (nsPrefix) {
if (nsPrefix == "regexp") {
return "http://exslt.org/regular-expressions";
}
return null;
}
document.evaluate('//a[regexp:test(@href, "qwerty-[\d]+$")]', document.documentElement, nsResolver, XPathResult.ANY_TYPE, null);我在这里做错了什么?
发布于 2019-10-16 15:40:02
有人在特定的名称空间中定义了一组扩展函数,这并不意味着每个XSLT处理器都支持这些函数。这里的问题是,您使用的是一个多年未升级的旧XSLT处理器(因为浏览器供应商对XML用户社区失去了兴趣)。
考虑安装Saxon-JS,它提供在浏览器中运行的XSLT3.0,并根据W3C规范提供内置的正则表达式支持。(免责声明:这是我公司的产品)。
https://stackoverflow.com/questions/58397010
复制相似问题