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 )