xquery version "3.0"; (: For cleaning up the debug logs via a trigger :) import module namespace biocase-settings = "http://exist-db.org/xquery/rebind/biocase-settings" at "biocase_settings.xql"; declare namespace biocase = "http://www.biocase.org/schemas/protocol/1.3"; let $debug-doc := doc($biocase-settings:debug-file) let $now := current-dateTime() let $duration := xs:dayTimeDuration($biocase-settings:debug-log-time-span) let $dateTimeLimit := $now - $duration let $old-count := count($debug-doc/biocase:root/biocase:diagnostics) let $update := update delete $debug-doc/biocase:root/biocase:diagnostics[xs:dateTime(@date) lt $dateTimeLimit] let $new-count := count($debug-doc/biocase:root/biocase:diagnostics) let $deleted-count := $old-count - $new-count return {if($deleted-count eq 1)then("One old debug entry was deleted. ")else($deleted-count || " old debug entries were deleted. ")} {if($new-count eq 1)then("One entry is")else($new-count || " entries are")} still remaining