(: : the list of cookies from the request in the form: : : {value} :) define variable $cookies { let $cookies := xdmp:get-request-header("Cookie", ""), $cookie-list := if ($cookies) then tokenize($cookies, "; *") else () return if ($cookie-list) then for $c in $cookie-list return { substring-after($c, "=") } else () } (: : return the value for cookie named $name :) define function get-cookie($name) { $cookies[@name = $name]/text() } (: : set a cookie :) define function set-cookie($name, $value) { xdmp:add-response-header("Set-Cookie", concat($name, "=", $value, "; Version=1; Max-Age=31536000")) } (: : unset a cookie :) define function unset-cookie($name) { xdmp:add-response-header("Set-Cookie", concat($name, '=""; Version=1; Max-Age=0; Expires=Sun, 01-Jan-1900 00:00:00 GMT')) } xdmp:set-session-field("aField", "bananas"), xdmp:set-session-field("anotherField", "coconuts"), set-cookie("aCookie", "oreo"), set-cookie("anotherCookie", "milano"), unset-cookie("cookie"), unset-cookie("xxx"),

The cookies

Session stuff