有没有办法在Sonarqube上使用XPath2.0?

有没有办法在Sonarqube上使用XPath2.0?,sonarqube,xpath-2.0,Sonarqube,Xpath 2.0,我需要验证xml上的规则,还需要正则表达式功能,只有在XPath2.0上才能找到。我下载了最新版本的Sonarqube 6.1,但XPath仍然是1.0版。有没有办法使用2.0版?快速查看源代码(org/sonar/api/utils/XpathParser.java),在我看来,应用程序似乎正在使用JAXP服务api实例化XPath解析器。看看如果你 (a) 将Saxon放在类路径上,然后 (b) 将系统属性“javax.xml.xpath.XPathFactory”的值设置为值“net.sf

我需要验证xml上的规则,还需要正则表达式功能,只有在XPath2.0上才能找到。我下载了最新版本的Sonarqube 6.1,但XPath仍然是1.0版。有没有办法使用2.0版?

快速查看源代码(org/sonar/api/utils/XpathParser.java),在我看来,应用程序似乎正在使用JAXP服务api实例化XPath解析器。看看如果你

(a) 将Saxon放在类路径上,然后 (b) 将系统属性“javax.xml.xpath.XPathFactory”的值设置为值“net.sf.saxon.xpath.XPathFactoryImpl”

请注意,单靠步骤(a)是不够的,因为Saxon不再使用META-INF机制将自己命名为XPath解析器——这导致编写为假定使用Xalan的应用程序出现太多问题


这可能成功,也可能失败,如果它确实成功,那么它可能成功,也可能失败。可能还有其他问题-例如,我注意到sonarqube中的XpathParser类创建了一个名称空间感知设置为false的DOM,这不是一个好的开始。

我们决定构建一个插件,避免这种恼人的配置