Skip to content

Instantly share code, notes, and snippets.

View wcandillon's full-sized avatar

William Candillon wcandillon

View GitHub Profile
This file has been truncated, but you can view the full file.
Using worker: worker-linux-11-2.bb.travis-ci.org:travis-linux-9
$ export CXX=g++
$ export CC=gcc
travis_fold:start:git.1
$ git clone --depth=50 --branch=w3c_tests git://github.com/28msec/zorba.git 28msec/zorba
Cloning into '28msec/zorba'...
remote: Counting objects: 45396, done.
remote: Compressing objects: 0% (1/14615) 
remote: Compressing objects: 1% (147/14615) 
@wcandillon
wcandillon / gist:c9eaed1e9e9762a6b9a8
Created October 19, 2014 16:40
Convert a fact to OData
declare function conversion:facts-to-odata($facts as object*) as node()*
{
for $f at $y in $facts
return
<entry xmlns='http://www.w3.org/2005/Atom'
xmlns:m='http://schemas.microsoft.com/ado/2007/08/dataservices/metadata'
xmlns:d='http://schemas.microsoft.com/ado/2007/08/dataservices'
xml:base='http://www.xbrlsite.com/2014/Demos/OData/SECXBRLinfo.svc/'>
<id>{"http://secxbrl.info/odata/" || current-date() || "/" || $y}</id>
<category term='SEC.FundamentalAccountingConcepts' scheme='http://schemas.microsoft.com/ado/2007/08/dataservices/scheme'/>
declare function local:is_in_date_range($index_entry, $date_filter) {
let $now := if ($date_filter!='')
then $date_filter
else current-date() - xs:dayTimeDuration(concat('P',14,'D'))
return
let $results :=
for $program in $index_entry/program
return
if (not($program/@end_dt castable as xs:date))
then true()
@wcandillon
wcandillon / s3-xml.jq
Last active August 29, 2015 14:24
XML processing from S3
import module namespace s3 = "http://www.28msec.com/modules/s3";
import module namespace p = "http://zorba.io/modules/xml";
import schema namespace opt = "http://zorba.io/modules/xml-options";
(: In this example the XML files contains DTD declarations :)
let $parse-options := <opt:options>
<opt:DTD-validate/>
</opt:options>
let $manifest := s3:read-text({
[
{
"category": "MongoDB",
"name": "xbrl",
"credentials": {
"conn-string": "xxx.28.io",
"db": "japan",
"user": "xbrl",
"pass": "hello"
}
(: The "news-data" Library Module :)
module namespace news-data = "http://www.news.org/lib/data";
import schema namespace news-schemas = "http://www.news.org/schemas/schemas";
declare collection news-data:employees as schema-element(news-schemas:employee)*;
declare collection news-data:articles as node()*;
declare variable $news-data:employees := xs:QName("news-data:employees");
let $x := "Value of X"
return trace($x,"I'm tracing $x: ") (: still returns: "Value of X" :)
http:set-status(400);
(: with the content-type "application/json" the json xml is automatically serialized to JSON :)
http:set-content-type("application/json");
(: this is the xml representation of JSON which makes it easy to generate it, and work with it within sausalito :)
<json type="object">
<pair name="status" type="number">400</pair>
<pair name="statusmessage" type="string">Bad Request</pair>
<pair name="message" type="string">Please, enter a search term</pair>
(: The "news-data" Library Module :)
module namespace news-data = "http://www.news.org/lib/data";
import schema namespace news-schemas = "http://www.news.org/schemas/schemas";
declare collection news-data:employees as schema-element(news-schema:employee)*;
declare collection news-data:articles as node()*;
(: The "no-probe-2" query :)
import module namespace xqddf = "http://www.zorba-xquery.com/modules/xqddf";
import module namespace news-data = "http://www.news.org/data" at "news_data.xqlib";
for $emp in xqddf:collection($news-data:employees)/employee[./position/@kind eq "journalist"]
where 100 <= count(for $art in xqddf:collection(xs:QName("news-data:articles"))//article
where $art/empid eq $emp/id
return $art)
return $emp