Skip to content

Instantly share code, notes, and snippets.

View joewiz's full-sized avatar

Joe Wicentowski joewiz

  • Arlington, Virginia
View GitHub Profile
@apb2006
apb2006 / fib.xq
Created October 9, 2020 19:31
XQuery tail recursive Fibonacci function
declare function local:fib($n as xs:integer, $a as xs:integer, $b as xs:integer){
switch ($n)
case 0 return $a
case 1 return $b
default return local:fib($n - 1, $b, $a + $b)
};
declare function local:fib($n as xs:integer){
local:fib($n,0,1)
};
@benibela
benibela / json-xml.xqm
Last active September 29, 2020 19:22 — forked from joewiz/json-xml.xqm
An implementation of XQuery 3.1's fn:json-to-xml and fn:xml-to-json functions
xquery version "3.1";
(:~
: An implementation of XQuery 3.1"s fn:json-to-xml and fn:xml-to-json functions for eXist, which does not support them natively as of 4.3.0, and Xidel.
:
: @author Joe Wicentowski, Benito van der Zander
: @version 0.6
: @see http://www.w3.org/TR/xpath-functions-31/#json
:)
module namespace jx = "http://joewiz.org/ns/xquery/json-xml";
@jamescummings
jamescummings / tei_minimal-new.odd
Created June 23, 2019 19:13
A proposed new tei_minimal.odd which really is minimal
<?xml version="1.0" encoding="UTF-8"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0">
<teiHeader>
<fileDesc>
<titleStmt>
<title>TEI Minimal</title>
<author>James Cummings</author>
</titleStmt>
<publicationStmt>
<publisher>TEI Consortium</publisher>
@luisenriquecorona
luisenriquecorona / Sales.CustomerOrderSummary.sql
Created May 1, 2019 16:42
To demonstrate the use of the XQuery methods in this chapter, we will create a table in the WideWorldImporters database, called Sales. CustomerOrderSummary. This table can be created using the script
USE WideWorldImporters
GO
CREATE TABLE Sales.CustomerOrderSummary
(
ID INT NOT NULL IDENTITY,
CustomerID INT NOT NULL,
OrderSummary XML
);
INSERT INTO Sales.CustomerOrderSummary (CustomerID,
OrderSummary)
@line-o
line-o / example.xq
Last active June 19, 2019 13:27
xquery implementation to format dateTime in Internet Message Format
xquery version "3.1";
import module namespace imfd='http://existsolutions.com/apps/imfd' at '/db/temp/imfd.xqm';
let $now := current-dateTime()
let $tz := timezone-from-dateTime($now)
let $imfd := imfd:format($now)
let $gmt := imfd:to-dateTime($imfd)
let $reversed := adjust-dateTime-to-timezone($gmt + $tz, $tz)
@adamretter
adamretter / dtx.xqm
Last active January 22, 2020 21:22
Date/Time/DateTime XQuery functions
import module namespace functx = "http://www.functx.com";
(: NOTE -- functx uses 1 to 7 to represent MON-SUN, whereas eXist-db's datetime module used 1 to 7 to represent SUN-SAT :)
declare variable $local:MON := 1;
declare variable $local:TUES := 2;
declare variable $local:WEDS := 3;
declare variable $local:THURS := 4;
declare variable $local:FRI := 5;
declare variable $local:SAT := 6;
@grantmacken
grantmacken / .env
Last active February 19, 2019 21:54
Use prove to get TAP output from running #existdb unit tests
NAME=newBase60
CONTAINER=exDev
PORT=8282
USE_DC_OVERRIDE=yes
DC_OVERRIDE_NETWORK=www
@xquery
xquery / topo.xqy
Created February 8, 2019 09:34
example topo sort in xquery
declare function local:topo-sort($unsorted, $sorted ) {
if (empty($unsorted)) then $sorted
else
let $allnodes := $unsorted [ every $id in depends/@id satisfies $id = $sorted/@id]
return
if ($allnodes) then
local:topo-sort( $unsorted except $allnodes, ($sorted, $allnodes ))
else ()
};
xquery version "3.0";
(: the power of algebraic data types in xquery
This example shows how we can composite up data models
which 'carry' their own operations along with them.
:)
(: using John Snelson's inspirational https://github.com/jpcs/data.xq :)
@adamretter
adamretter / exist-message-digest-algs.txt
Last active November 13, 2018 03:31
MessageDigest algorithms offered by eXist-db
PROVIDER | ALGORITHM
-----------|------------
SUN
MD2
MD5
SHA
SHA-224
SHA-256
SHA-384
SHA-512