From: Rosenberg, E. <eri...@ng...> - 2007-02-28 17:15:41
|
I see eXist offers a mechanism to compile a query and then reuse the compiled expression. I was wondering if there is a way to include bind variables in my query that could then be specified at execution time, similar to a Prepared Statement in a RDBMS.=20 =20 I execute the same basic query many times but the values I'm using in my selectors change. =20 I'm using exist-newcore-1.1.1 embedded into my application and the xmldb API. =20 Thanks, Eric |
From: Pierrick B. <pie...@fr...> - 2007-02-28 17:25:06
|
Hi, Rosenberg, Eric a écrit : > I see eXist offers a mechanism to compile a query and then reuse the > compiled expression. I was wondering if there is a way to include bind > variables in my query that could then be specified at execution time, > similar to a Prepared Statement in a RDBMS. That's what external veriables have been designed for in the XQuery specs. See http://exist.sourceforge.net/api/org/exist/xquery/XQueryContext.html#declareVariable(java.lang.String,%20java.lang.Object) ... and how this is used in, say, XQueryUpdateTest Cheers, p.b. |
From: Rosenberg, E. <eri...@ng...> - 2007-02-28 19:21:39
|
Is it possible to utilize this mechanism via the xmldb API?=20 I'm currently using an XQueryService obtained from a call to = Collection.getService("XQueryService", "1.0"); to perform the query. When I pass the following to XQueryService.compile I get an error that = $keyval_0 is not bound. declare variable $keyval_0 as xs:string external;=20 declare variable $keyname_0 as xs:string external; =20 for $x in collection('/db/COLLECTION_1')/EntityInstance [Attribute[fn:matches(AttributeName, $keyname_0)] and = Attribute/AttributeValue[fn:matches(Value, $keyvalue_0)]]=20 return $x Thanks, Eric P.S. I'm working on an app that will embed exist. Is the XMLDB API not = the best way to work with eXist? -----Original Message----- From: Pierrick Brihaye [mailto:pie...@fr...]=20 Sent: Wednesday, February 28, 2007 12:25 PM To: Rosenberg, Eric Cc: exi...@li... Subject: Re: [Exist-open] Compiled Queries Hi, Rosenberg, Eric a =E9crit : > I see eXist offers a mechanism to compile a query and then reuse the=20 > compiled expression. I was wondering if there is a way to include bind = > variables in my query that could then be specified at execution time,=20 > similar to a Prepared Statement in a RDBMS. That's what external veriables have been designed for in the XQuery = specs. See=20 http://exist.sourceforge.net/api/org/exist/xquery/XQueryContext.html#decl= areVariable(java.lang.String,%20java.lang.Object) ... and how this is used in, say, XQueryUpdateTest Cheers, p.b. |
From: Pierrick B. <pie...@fr...> - 2007-02-28 19:35:37
|
Hi, Rosenberg, Eric a écrit : > Is it possible to utilize this mechanism via the xmldb API? Study XQueryUpdateTest just like I told you. > P.S. I'm working on an app that will embed exist. Is the XMLDB API not the best way to work with eXist? Depends of what you want to do. eXist source code provides examples of many other ways to access the database. <last_netiquette_snip/> Cheers, p.b. |