解析xpath表达式

时间:2011-06-28 21:02:08

标签: c++ python parsing xpath lexer

我想解析XPath表达式 我正在寻找C ++或Python中的词法分析器/解析器实现

以下是我设法收集的有关XPath解析器的所有信息:

有谁知道其他实施?在C ++中?

PS:我不想评估XPath表达式,而是标记它们

3 个答案:

答案 0 :(得分:2)

基于OP的评论,

  

我正在研究XPath查询重写和等价

他需要的是一个构建抽象语法树的解析器,以及分析这些树并对其进行转换的方法。然后可以通过步行/修改AST在程序上完成分析器和“重写”;这是传统的做法。

但似乎重点应该是OP的目标。为此,他需要分析和重写。但这不一定要以传统的程序方式完成。相反,如果可以使用XPath表示法直接完成分析/重写,那将是很好的。

我建议他查看我们的DMS Software Reengineering Toolkit解析,构建AST,但特别是使用表面语法在AST上“重写”。然后XPath“重写”可以直接写为XPath表达式的等价。如何运作的一个激励示例可以被视为Rewriting algebra equations using DMS。从该示例中可以明显看出,XPath的语法很容易定义。

答案 1 :(得分:0)

答案 2 :(得分:0)

Xerces有一个分支xalan-c,用于执行此操作:

http://xml.apache.org/xalan-c/overview.html