package jp.co.ulsystems.xmldb.logic import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import ListInput; import com.neocore.httpclient.SessionManagedNeoConnection; public class SelectListLogic { private String queryResultsXml = null; SelectListInput input = null; public ListSearchLogic(HttpServletRequest request,HttpServletResponse response) throws Exception { queryResultsXml = null; input.evaluateParams(request); } public void execute(){ SessionManagedNeoConnection session = null; try{ //XQuery式の構築 String query = "for $data in /ND/document-content/body/presentation sortby (integer(root(.)//DocID/text()))" + " let $customer := $data//frame[@name='お客様名']//text()" + ",$title := $data//frame[@name='提案タイトル']//text()" + ",$date := $data//frame[@name='提案日']//text()" + ",$location := $data//frame[@name='営業拠点']//text()" + ",$charge := $data//frame[@name='担当営業名']//text()" + ",$system := $data//frame[@name='提案機種']//text()" + ",$estimate := $data//frame[@name='見積もり金額']//text()" + input.createWhere() + " return" + "<result>" + "<customer>{string($customer)}</customer>" + "<title>{string($title)}</title>" + "<date>{string($date)}</date>" + "<location>{string($location)}</location>" + "<charge>{string($charge)}</charge>" + "<system>{string($system)}</system>" + "<estimate>{string($estimate)}</estimate>" + "</result>"; // XQueryを使用し検索を実行する // XMLDBとのセッションを確立 SessionManagedNeoConnection session = new SessionManagedNeoConnection("localhost",7701); session.login("Administrator","admin"); // 検索の実行 queryResultsXml = session.queryXML(query); // XMLDBからログアウト session.logout (); } catch (Exception e) { e.printStackTrace(); } } }