declare option exist:serialize "method=xhtml media-type=text/html";
let $doc := doc("/db/Wiki/Ham/Element2-2010-mod.xml")
let $group := request:get-parameter("group",())
let $answers :=
{
for $param in request:get-parameter-names()
where starts-with($param,"R-")
return
let $p := tokenize($param,"-")
return
{request:get-parameter($param,())}
}
let $correctAnswers :=
for $question in $doc//group[@id=$group]/question
let $response := $answers/response[@question = $question/@id]
return
if (index-of($question/response,$question/response[@correct] ) = $response)
then $question/@id else ()
let $mark := count($correctAnswers)
let $ss := doc("/db/Wiki/Ham/group-mark.xsl")
let $params :=
return
transform:transform (
{$doc}
{if ($answers/response)
then $answers
else ()
}
,
$ss,
$params
)