source: MDService/trunk/xquery/cmd-model.xql @ 300

Last change on this file since 300 was 300, checked in by ljo, 14 years ago

A somewhat stable version for Wien.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.9 KB
Line 
1xquery version "1.0";
2
3(:
4 $Id: cmd-model.xql 300 2010-03-28 22:45:52Z ljo $
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(: path="olac/OLAC/The_LINGUIST_List_Language_Resources", q="MDGroup.Actors.Actor", maxdepth=4 :)
13
14declare function local:cmd-model() as item()* {
15  let $operation :=  request:get-parameter("operation", $cmd-model:queryModel),
16    $cmd-index := request:get-parameter("q", "MDGroup/Actors/Actor"),
17    $cmd-index-path := 
18    if (fn:contains($cmd-index, ".")) then
19      fn:translate($cmd-index, ".", "/") 
20    else
21      $cmd-index,
22    $format := request:get-parameter("format", $cmd-model:responseFormatXml),
23    $collection := "/db/cmdi-mirror",
24    $query-model-collection := fn:concat($collection, "/", if (fn:empty(request:get-parameter("collection", ()))) then "silang_data" else ""),
25    $query-collection := fn:concat($collection, if (fn:empty(request:get-parameter("collection", ()))) then "" else fn:concat("/", request:get-parameter("collection", ()))),
26    $max-depth as xs:integer := xs:integer(request:get-parameter("maxdepth", 1))
27    return
28      if ($operation eq $cmd-model:getCollections) then
29        cmd-model:get-collections($query-collection, $format, $max-depth)
30      else if ($operation eq $cmd-model:queryModel) then
31        cmd-model:query-model($cmd-index-path, $query-model-collection, $format, $max-depth)
32    else if ($operation eq $cmd-model:searchRetrieve) then
33      let $cql-query := request:get-parameter("query", "MDGroup/Actors/Actor"),
34        $start-item := request:get-parameter("startRecord", 1),
35        $end-item := request:get-parameter("iend", 50)
36       
37      return cmd-model:search-retrieve($cql-query, $query-collection, $format, $start-item, $end-item)
38    else 
39      <error>Unknown operation</error>
40
41};
42
43local:cmd-model()
Note: See TracBrowser for help on using the repository browser.