确定XPath查询是否有效

时间:2018-01-26 22:21:50

标签: xpath saxon

Saxon或其他库中是否有一个方法可以告诉我XPath查询是否是有效的语法。如果它将返回某些内容,则不是,如果节点存在于XML文件中,而是它是否有效的语法。

我需要使用它来确定查询是否是XPath与我们自己处理的等式。

谢谢 - 戴夫

1 个答案:

答案 0 :(得分:2)

最好的办法是调用XPathCompiler.compile()并捕获异常。我知道你担心例外的代价,但撒克逊人没有办法在没有例外的情况下这样做。

注意短语"有效语法"需要资格。 compile()方法不仅会检查语法,还会检查其他静态错误,例如对不存在的变量和函数的引用。您可以通过为解析提供合适的静态上下文来影响此检查。