VTD-XML を使用して Java で次の xpath 式を実行しようとすると、予期しないエラーが発生します。
コード:
..
AutoPilot ap = new AutoPilot(vn);
ap.selectXPath("/a//b[text() = 'apple''banana']");
エラー:
Syntax error after or around the end of ==> /a//b[text() = 'apple'
Caused by: com.ximpleware.XPathParseException: XPath Syntax error: #29
at com.ximpleware.xpath.parser.unrecovered_syntax_error(parser.java:492)
at java_cup.runtime.lr_parser.parse(lr_parser.java:601)
at com.ximpleware.AutoPilot.selectXPath(AutoPilot.java:809)
これはバグではありませんか?XPath 2.0 で一重引用符をエスケープしても問題ないという印象を受けましたか? 同じドキュメントを使用して XML Spy で xpath クエリを実行しようとすると、正常に実行されます。