package Ġorg . xpath qs . driver . cache . evaluator Ċ Ċ import Ġorg . w 3 c . dom . Document Ċ import Ġorg . w 3 c . dom . Node Ċ import Ġorg . w 3 c . dom . NodeList Ċ import Ġorg . xpath qs . driver . log . Log Ċ import Ġjavax . xml . xpath . XPath Constants Ċ import Ġjavax . xml . xpath . XPath Factory Ċ Ċ open Ġclass ĠEvalu ator ( ĊĠĠĠ Ġprivate Ġval Ġdoc : ĠDocument Ċ ) Ġ: ĠI Evaluator Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġeval Nodes ( xpath : ĠString ): ĠCollection < Node > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġres Ġ= ĠArrayList < Node >() ĊĠĠĠĠĠĠĠ Ġval Ġeval Ġ= ĠXPath Factory . newInstance (). new XPath () ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnodes Ġ= Ġeval . evaluate ( xpath , Ġdoc , ĠXPath Constants . NODE SET ) Ġas ĠNode List ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( nodes . length Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġnodes . length ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . add ( nodes . item ( i )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . error (" Evaluation Ġproblem Ġfor : Ġ$ xpath ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} Ċ }