This repository has been archived by the owner on Mar 16, 2022. It is now read-only.
/
appbuilder.xqy
50 lines (41 loc) · 1.66 KB
/
appbuilder.xqy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
(:
Copyright 2012 MarkLogic Corporation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
:)
xquery version "1.0-ml";
module namespace c = "http://marklogic.com/roxy/controller/appbuilder";
(: the controller helper library provides methods to control which view and template get rendered :)
import module namespace ch = "http://marklogic.com/roxy/controller-helper" at "/roxy/lib/controller-helper.xqy";
(: The request library provides awesome helper methods to abstract get-request-field :)
import module namespace req = "http://marklogic.com/roxy/request" at "/roxy/lib/request.xqy";
import module namespace s = "http://marklogic.com/roxy/models/search" at "/app/models/search-lib.xqy";
declare option xdmp:mapping "false";
(:
: Usage Notes:
:
: use the ch library to pass variables to the view
:
: use the request (req) library to get access to request parameters easily
:
:)
declare function c:main() as item()*
{
let $q as xs:string := req:get("q", "", "type=xs:string")
let $page := req:get("page", 1, "type=xs:int")
return
(
ch:add-value("response", s:search($q, $page)),
ch:add-value("q", $q),
ch:add-value("page", $page)
),
ch:use-view((), "xml"),
ch:use-layout((), "xml")
};