xquery version "1.0";
declare namespace session="http://exist-db.org/xquery/session";
declare namespace request="http://exist-db.org/xquery/request";
declare namespace util="http://exist-db.org/xquery/util";
declare namespace i18n="http://apache.org/cocoon/i18n/2.1";
declare function local:get-doc($lang as xs:string) as xs:string
{
let $doc := concat('/db/ordbase/terms/SD-terms/terms-',$lang,'.xml')
return $doc
};
(: Save an edited entry, the grammar part common to all senses: :)
declare function local:saveentry() as element()
{
let $id := request:get-parameter("id", ""),
$lang := request:get-parameter("lang", ""),
$entry := request:get-parameter("entry", ""),
$pos := request:get-parameter("pos", ""),
$orth := request:get-parameter("orthstatus", ""),
$checked := request:get-parameter("commonchecked", ""),
$inflmajor := request:get-parameter("inflmajor", ""),
$inflminor := request:get-parameter("inflminor", ""),
$inflexmpl := request:get-parameter("inflexmpl", "")
let $user := session:get-attribute("user") ,
$pass := session:get-attribute("password"),
$coll := "/db/ordbase/terms/SD-terms",
$doc := local:get-doc($lang),
$db := concat('xmldb:exist://',$coll)
let $checkeddate := if ($checked eq "true") then
current-date()
else ()
let $paramters := request:get-parameter-names()
(: $collection should refer to the collection, not the
document in the collecion! :)
let $collection := xmldb:collection( $db, $user, $pass)
(: The document reference needs to include the collection
path even though it is given in the $collection argument in
the xmldb:update command (below). :)
let $xupdate :=
Parameter: {$paramters}
Database: {$db}
ID: {$id}
Oppslag: {$entry}
XUpdate: {$xupdate}
Result: {$dummy}
Lagra!
WARNING: There was an error with this request! Please check with the webmaster. Cause: No request record value.
else let $query := local:build-query($entry, $entrylang), $saveresult := if ($inputtype = 'savecommon') then local:saveentry() elseNothing saved!
, $hits := util:eval( $query ) return if (empty($hits)) then (ERROR! Record {$record} not found!
,Your language: {$entrylang}
,Your request: {$record}
,Your entry: {$entry}
,Your search query:
Your search query:
The input type: {$inputtype}
,The save result: {$saveresult}
, :) local:display($entrylang, $hits) ) };