source: MDRepository/trunk/xquery/cmd-model.xql @ 727

Last change on this file since 727 was 727, checked in by vronk, 14 years ago

bugfix search-retrieve params-type-casting

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.7 KB
Line 
1xquery version "1.0";
2
3(:
4 $Id: cmd-model.xql 727 2010-09-28 11:44:03Z vronk $
5:)
6import module namespace request="http://exist-db.org/xquery/request";
7(: import module namespace json="http://www.json.org"; :)
8
9import module namespace cmd-model = "http://spraakbanken.gu.se/clarin/xquery/model"
10at "xmldb:exist:///db/clarin/cmd-model.xqm";
11
12
13declare function local:cmd-model() as item()* {
14  let $operation :=  request:get-parameter("operation", $cmd-model:queryModel),
15    $cmd-index := request:get-parameter("q", "MDGroup/Actors/Actor"),
16    $cmd-index-path := 
17    if (fn:contains($cmd-index, ".")) then
18      fn:translate($cmd-index, ".", "/") 
19    else
20      $cmd-index,
21    $format := request:get-parameter("format", $cmd-model:responseFormatXml),
22    $collection-params := request:get-parameter("collection", $cmd-model:collectionRoot),
23    $query-collections := 
24    if (matches($collection-params, "^root$") or $collection-params eq "") then 
25      $cmd-model:collectionRoot
26    else
27      $collection-params,
28    $max-depth as xs:integer := xs:integer(request:get-parameter("maxdepth", 1))
29    return
30      if ($operation eq $cmd-model:getCollections) then
31        cmd-model:get-collections($query-collections, $format, $max-depth)
32      else if ($operation eq $cmd-model:queryModel) then
33        cmd-model:query-model($cmd-index-path, $query-collections, $format, $max-depth)
34    else if ($operation eq $cmd-model:searchRetrieve) then
35      let $cql-query := request:get-parameter("query", "MDGroup/Actors/Actor"),
36        $start-item := request:get-parameter("startRecord", 1),
37        $end-item := request:get-parameter("iend", 50)
38       
39      return cmd-model:search-retrieve($cql-query, $query-collections, $format, xs:integer($start-item), xs:integer($end-item))
40    else 
41      <error>Unknown operation</error>
42
43};
44
45local:cmd-model()
Note: See TracBrowser for help on using the repository browser.