From e3166d1ea40d88ccf7b00ed7f2101c9a9de48ce9 Mon Sep 17 00:00:00 2001 From: Dario Kampkaspar Date: Wed, 25 Mar 2026 01:44:17 +0100 Subject: [PATCH] Improve date-time handling in parameters.xql Handle non-castable dateTime values by parsing IETF date format. --- content/parameters.xql | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/content/parameters.xql b/content/parameters.xql index cdf9d8b..6688fb8 100644 --- a/content/parameters.xql +++ b/content/parameters.xql @@ -232,7 +232,9 @@ declare %private function parameters:cast-value ($value as item()?, $schema as m case "date" return xs:date($value) case "date-time" return - xs:dateTime($value) + if ( $value castable as xs:dateTime ) + then xs:dateTime($value) + else parse-ietf-date($value) (: Headers like If-Modified-Since are formatted as IETF date which is not castable as xs:dateTime :) case "binary" return xs:base64Binary($value) case "byte" return @@ -243,4 +245,4 @@ declare %private function parameters:cast-value ($value as item()?, $schema as m default return string($value) -}; \ No newline at end of file +};