======eXist Command: query====== invokes an 'ad-hoc' query supplied locally ====Synopsis==== query [exist options] [options] query-uri ====Description==== Invokes an ad-hoc query supplied locally and executed on the eXist server. ====Options==== The query command accepts all [[ExistCommonOptions eXist Common Options]] in addition to ||-start #||Start at result row # (default 1)|| ||-max #||Return at most # results (default no limit)|| ||-q query||Specifies the query to execute as an argument|| ||-f query_file||Specifies the name of the file containing the query|| ||-t,-text||Outputs the result as text. Equivalent to -contentType text/plain|| ||-b,-binary||Outputs the result as binary. Equivilent to -contentType application/octet-stream|| ||-x,-xml||(default) Outputs the result as xml. Equivalent to -contentType text/xml|| ||-raw||Outputs the results without any parsing.|| ||-session sessionid||Associates a session with this query|| ||-p property=value, -prop property=value||Assigns a property with the query|| ||-v||Specifies that external variables are supplied as argument pairs at the end of the command line - NOT IMPLEMENTED IN CURRENT VERSION of eXist Server|| ||-m,-meta||Outputs the meta data returned with the query as the first element of the result sequence as well as the results|| If no -f or -q is specified then the first argument is taken to be the query. ====Example==== Assuming the prefix "e" is imported as the exist, invokes the query '"Hello World"' %% e:query "'Hello World'" %% Result %% Hello World %% Execute the query '1 to 5,"hello",world' %% e:query -q '1 to 5,"hello",world' %% Result %% 1 2 3 4 5 hello world %% The same query stored in a variable then outputting the 6th element %% e:query -q '1 to 5,"hello",world' >{result} echo ${result[6]} %% Result %% hello %% The same query but include the meta data returned as the first element %% e:query -m -q '1 to 5,"hello",world' %% Result %% 1 2 3 4 5 hello world %% The same query without any processing returning exactly what the eXist server returns. %% e:query -raw -q '1 to 5,"hello",world' %% Result %% 1 2 3 4 5 hello world %% ====Implementation==== query is implemented using the REST protocol POST methods. Currently the -v option is unimplmented until eXist support for external variables makes it into a release branch. See [[http://exist.sourceforge.net/devguide_rest.html]] ---- [[ModuleExist eXist Extension Module]]