大きなXMLファイルを処理する必要があるため、DOMパーサーからVTD-XMLに移行することにしました。
JavaのDOMパーサーを使用した場合、ルートからではなく、任意のノードからXPathクエリを評価できました。XPath.evaluateプロトタイプを見てください。
Object evaluate(String expression,
Object item,
QName returnType)
throws XPathExpressionException
Object item
開始コンテキスト(たとえば、ノード)です。これはとても便利です。
しかし、VTD-XMLで同じことを行う方法を見つけることができません。私はそのAPIを読み、多くの例を読みました。たとえば、これですが、どこでもクエリはルートから実行されます。
どうやってするか?