Add JSONiq support

This commit is contained in:
William Candillon
2014-04-21 21:58:41 +02:00
parent 0c6f4383a7
commit a949338a91
3 changed files with 32 additions and 0 deletions

View File

@@ -868,6 +868,12 @@ JSONLD:
lexer: JavaScript
primary_extension: .jsonld
JSONiq:
type: programming
ace_mode: jsoniq
lexer: XQuery
primary_extension: .jq
Jade:
group: HTML
type: markup

9
samples/JSONiq/detail.jq Normal file
View File

@@ -0,0 +1,9 @@
(: Query for returning one database entry :)
import module namespace req = "http://www.28msec.com/modules/http-request";
import module namespace catalog = "http://guide.com/catalog";
variable $id := (req:param-values("id"), "London")[1];
variable $part := (req:param-values("part"), "main")[1];
catalog:get-data-by-key($id, $part)

17
samples/JSONiq/query.jq Normal file
View File

@@ -0,0 +1,17 @@
(: Query for searching the database for keywords :)
import module namespace index = "http://guide.com/index";
import module namespace catalog = "http://guide.com/catalog";
import module namespace req = "http://www.28msec.com/modules/http-request";
variable $phrase := (req:param-values("q"), "London")[1];
variable $limit := integer((req:param-values("limit"), 5)[1]);
[
for $result at $idx in index:index-search($phrase)
where $idx le $limit
let $data := catalog:get-data-by-id($result.s, $result.p)
return
{| { score : $result.r } , $data |}
]