Smarty templates used for new qti export feature.
This commit is contained in:
Executable
+70
@@ -0,0 +1,70 @@
|
||||
{if $courselevelexport}<?xml version="1.0" encoding="UTF-8"?>{/if}
|
||||
<assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_item_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_item_v2p0 ./imsqti_item_v2p0.xsd" identifier="{$assessmentitemidentifier}" title="{$assessmentitemtitle}" adaptive="false" timeDependent="false">
|
||||
<responseDeclaration identifier="{$questionid}" cardinality="single" baseType="identifier">
|
||||
<correctResponse>
|
||||
<value>{$correctresponse.id}</value>
|
||||
</correctResponse>
|
||||
<mapping defaultValue="0">
|
||||
<mapEntry mapKey="{$correctresponse.id}" mappedValue="{$correctresponse.fraction}"/>
|
||||
</mapping>
|
||||
|
||||
</responseDeclaration>
|
||||
<outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float">
|
||||
<defaultValue>
|
||||
<value>0</value>
|
||||
</defaultValue>
|
||||
</outcomeDeclaration>
|
||||
<itemBody>
|
||||
<p>{$questionText}</p>
|
||||
<div class="intreactive.choiceSimple">
|
||||
<choiceInteraction responseIdentifier="{$questionid}" shuffle="false" maxChoices="1">
|
||||
{section name=answer loop=$answers}
|
||||
<simpleChoice identifier="{$answers[answer].id}">{$answers[answer].answer}
|
||||
{if $answers[answer].feedback != ''}
|
||||
{if $answers[answer].answer != $correctresponse.answer}
|
||||
<feedbackInline identifier="{$answers[answer].id}" outcomeIdentifier="FEEDBACK" showHide="hide">{$answers[answer].feedback}</feedbackInline>
|
||||
{/if}
|
||||
{/if}
|
||||
</simpleChoice>
|
||||
{/section}
|
||||
</choiceInteraction>
|
||||
{if $question_has_image == 1}
|
||||
<div class="media">
|
||||
{if $hassize == 1}
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" width="{$question->mediax}" height="{$question->mediay}" />
|
||||
{else}
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" />
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</itemBody>
|
||||
<responseProcessing xmlns="http://www.imsglobal.org/xsd/imsqti_item_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_item_v2p0 ../imsqti_item_v2p0.xsd">
|
||||
<responseCondition>
|
||||
<responseIf>
|
||||
|
||||
<match>
|
||||
<variable identifier="{$questionid}"/>
|
||||
<correct identifier="{$questionid}"/>
|
||||
</match>
|
||||
<setOutcomeValue identifier="SCORE">
|
||||
<baseValue baseType="float">1</baseValue>
|
||||
</setOutcomeValue>
|
||||
</responseIf>
|
||||
|
||||
<responseElse>
|
||||
<setOutcomeValue identifier="SCORE">
|
||||
<baseValue baseType="float">0</baseValue>
|
||||
</setOutcomeValue>
|
||||
</responseElse>
|
||||
</responseCondition>
|
||||
<setOutcomeValue identifier="FEEDBACK">
|
||||
<variable identifier="{$questionid}"/>
|
||||
</setOutcomeValue>
|
||||
</responseProcessing>
|
||||
{section name=answer loop=$answers}
|
||||
{if $answers[answer].feedback != ''}
|
||||
<modalFeedback outcomeIdentifier="FEEDBACK" identifier="{$answers[answer].id}" showHide="hide">{$answers[answer].feedback}</modalFeedback>
|
||||
{/if}
|
||||
{/section}
|
||||
</assessmentItem>
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
{if $courselevelexport}<?xml version="1.0" encoding="UTF-8"?>{/if}
|
||||
<assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_item_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_item_v2p0 ./imsqti_item_v2p0.xsd" identifier="{$assessmentitemidentifier}" title="{$assessmentitemtitle}" adaptive="false" timeDependent="false">
|
||||
<responseDeclaration identifier="{$questionid}" cardinality="{$responsedeclarationcardinality}" baseType="identifier">
|
||||
<correctResponse>
|
||||
{section name=answer loop=$correctresponses}
|
||||
<value>{$correctresponses[answer].id}</value>
|
||||
{/section}
|
||||
</correctResponse>
|
||||
<mapping lowerBound="0" upperBound="1" defaultValue="-1">
|
||||
{section name=answer loop=$answers}
|
||||
{if $answers[answer].fraction != 0}
|
||||
<mapEntry mapKey="{$answers[answer].id}" mappedValue="{$answers[answer].fraction}" />
|
||||
{/if}
|
||||
{/section}
|
||||
</mapping>
|
||||
</responseDeclaration>
|
||||
<outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float" />
|
||||
<itemBody>
|
||||
<div class="assesmentItemBody">
|
||||
<p>{$questionText}</p>
|
||||
</div>
|
||||
<div class="interactive.choiceMultiple">
|
||||
<choiceInteraction responseIdentifier="{$questionid}" shuffle="false" maxChoices="{$maxChoices}">
|
||||
{section name=answer loop=$answers}
|
||||
<simpleChoice identifier="{$answers[answer].id}" fixed="false">{$answers[answer].answer}</simpleChoice>
|
||||
{/section}
|
||||
</choiceInteraction>
|
||||
</div>
|
||||
{if $question_has_image == 1}
|
||||
<div class="media">
|
||||
{if $hassize == 1}
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" width="{$question->mediax}" height="{$question->mediay}" />
|
||||
{else}
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" />
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
</itemBody>
|
||||
<responseProcessing xmlns="http://www.imsglobal.org/xsd/imsqti_item_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_item_v2p0 ../imsqti_item_v2p0.xsd">
|
||||
<responseCondition>
|
||||
<responseIf>
|
||||
<isNull>
|
||||
<variable identifier="{$questionid}"/>
|
||||
</isNull>
|
||||
<setOutcomeValue identifier="SCORE">
|
||||
<baseValue baseType="float">0</baseValue>
|
||||
</setOutcomeValue>
|
||||
</responseIf>
|
||||
<responseElse>
|
||||
<setOutcomeValue identifier="SCORE">
|
||||
<mapResponse identifier="{$questionid}"/>
|
||||
</setOutcomeValue>
|
||||
</responseElse>
|
||||
</responseCondition>
|
||||
<setOutcomeValue identifier="FEEDBACK">
|
||||
<variable identifier="{$questionid}"/>
|
||||
</setOutcomeValue>
|
||||
</responseProcessing>
|
||||
{section name=answer loop=$answers}
|
||||
{if $answers[answer].feedback != ''}
|
||||
<modalFeedback outcomeIdentifier="FEEDBACK" identifier="{$answers[answer].id}" showHide="show">{$answers[answer].feedback}</modalFeedback>
|
||||
{/if}
|
||||
{/section}
|
||||
</assessmentItem>
|
||||
Executable
+101
@@ -0,0 +1,101 @@
|
||||
{if $courselevelexport}<?xml version="1.0" encoding="UTF-8"?>{/if}
|
||||
<assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_item_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_item_v2p0 ./imsqti_item_v2p0.xsd" identifier="{$assessmentitemidentifier}" title="{$assessmentitemtitle}" adaptive="false" timeDependent="false">
|
||||
{section name=aid loop=$answers}
|
||||
{if $answers[aid].answertype == 3}
|
||||
<responseDeclaration identifier="{$questionid}{$answers[aid].id}" cardinality="single" baseType="identifier">
|
||||
<correctResponse>
|
||||
{section name=subanswer loop=$answers[aid].subanswers}
|
||||
{if $answers[aid].subanswers[subanswer].fraction > 0}
|
||||
<value>{$answers[aid].subanswers[subanswer].id}</value>
|
||||
{/if}
|
||||
{/section}
|
||||
</correctResponse>
|
||||
<mapping defaultValue="0">
|
||||
{section name=subanswer loop=$answers[aid].subanswers}
|
||||
{if $answers[aid].subanswers[subanswer].fraction != 0}
|
||||
<mapEntry mapKey="{$answers[aid].subanswers[subanswer].id}" mappedValue="{$answers[aid].subanswers[subanswer].fraction}"/>
|
||||
{/if}
|
||||
{/section}
|
||||
</mapping>
|
||||
</responseDeclaration>
|
||||
{elseif $answers[aid].answertype == 1}
|
||||
<responseDeclaration identifier="{$questionid}{$answers[aid].id}" cardinality="single" baseType="string">
|
||||
<correctResponse>
|
||||
{section name=subanswer loop=$answers[aid].subanswers}
|
||||
{if $answers[aid].subanswers[subanswer].fraction > 0}
|
||||
<value>{$answers[aid].subanswers[subanswer].answer}</value>
|
||||
{/if}
|
||||
{/section}
|
||||
</correctResponse>
|
||||
<mapping lowerBound="0" upperBound="1" defaultValue="0">
|
||||
{section name=subanswer loop=$answers[aid].subanswers}
|
||||
{if $answers[aid].subanswers[subanswer].fraction != 0}
|
||||
<mapEntry mapKey="{$answers[aid].subanswers[subanswer].answer}" mappedValue="{$answers[aid].subanswers[subanswer].fraction}" />
|
||||
{/if}
|
||||
{/section}
|
||||
</mapping>
|
||||
</responseDeclaration>
|
||||
{/if}
|
||||
{/section}
|
||||
<outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
|
||||
<itemBody>
|
||||
{if $questionText != ''}
|
||||
<div class="assesmentItemBody">
|
||||
<p>{$questionText}</p>
|
||||
</div>
|
||||
{/if}
|
||||
<div class="interactive.cloze"><p>
|
||||
{section name=qid loop=$questions.question}
|
||||
{$questions.text[qid]}
|
||||
{if $questions.question[qid].id != $cloze_trailing_text_id}
|
||||
{if $questions.question[qid].answertype == 3}
|
||||
<inlineChoiceInteraction responseIdentifier="{$questionid}{$questions.question[qid].id}" shuffle="false">
|
||||
{section name=aid loop=$questions.question[qid].subanswers}
|
||||
<inlineChoice identifier="{$questions.question[qid].subanswers[aid].id}">{$questions.question[qid].subanswers[aid].answer}</inlineChoice>
|
||||
{/section}
|
||||
</inlineChoiceInteraction>
|
||||
{elseif $questions.question[qid].answertype == 1}
|
||||
<textEntryInteraction responseIdentifier="{$questionid}{$questions.question[qid].id}" expectedLength="15"/>
|
||||
{/if}
|
||||
{/if}
|
||||
{/section}</p></div>
|
||||
{if $question_has_image == 1}
|
||||
<div class="media">
|
||||
{if $hassize == 1}
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" width="{$question->mediax}" height="{$question->mediay}" />
|
||||
{else}
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" />
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
</itemBody>
|
||||
<responseProcessing xmlns="http://www.imsglobal.org/xsd/imsqti_item_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_item_v2p0 ../imsqti_item_v2p0.xsd">
|
||||
{section name=answer loop=$answers}{if $answers[answer].answertype == 1 || $answers[answer].answertype == 3}
|
||||
<responseCondition>
|
||||
<responseIf>
|
||||
<isNull>
|
||||
<variable identifier="{$questionid}{$answers[answer].id}"/>
|
||||
</isNull>
|
||||
<setOutcomeValue identifier="SCORE{$questionid}{$answers[answer].id}">
|
||||
<baseValue baseType="float">0</baseValue>
|
||||
</setOutcomeValue>
|
||||
</responseIf>
|
||||
<responseElse>
|
||||
<setOutcomeValue identifier="SCORE{$questionid}{$answers[answer].id}">
|
||||
<mapResponse identifier="{$questionid}{$answers[answer].id}"/>
|
||||
</setOutcomeValue>
|
||||
</responseElse>
|
||||
</responseCondition>
|
||||
<setOutcomeValue identifier="FEEDBACK">
|
||||
<variable identifier="{$questionid}{$answers[answer].id}"/>
|
||||
</setOutcomeValue>
|
||||
{/if}{/section}
|
||||
</responseProcessing>
|
||||
{section name=answer loop=$answers}{if $answers[answer].answertype == 1 || $answers[answer].answertype == 3}
|
||||
{section name=subanswer loop=$answers[answer].subanswers}
|
||||
{if $answers[answer].subanswers[subanswer].feedback != ''}
|
||||
<modalFeedback outcomeIdentifier="FEEDBACK" identifier="{$answers[answer].subanswers[subanswer].id}" showHide="show">{$answers[answer].subanswers[subanswer].feedback}</modalFeedback>
|
||||
{/if}{/section}
|
||||
{/if}
|
||||
{/section}
|
||||
</assessmentItem>
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
{if $courselevelexport}<?xml version="1.0" encoding="UTF-8"?>{/if}
|
||||
<assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_item_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_item_v2p0 ./imsqti_item_v2p0.xsd" identifier="{$assessmentitemidentifier}" title="{$assessmentitemtitle}" adaptive="false" timeDependent="false">
|
||||
<responseDeclaration identifier="{$questionid}" cardinality="single" baseType="string"/>
|
||||
<outcomeDeclaration identifier="SCORE" cardinality="single" baseType="integer"/>
|
||||
<itemBody>
|
||||
<p>{$questionText}</p>
|
||||
{if $question_has_image == 1}
|
||||
<div class="media">
|
||||
{if $hassize == 1}
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" width="{$question->mediax}" height="{$question->mediay}" />
|
||||
{else}
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" />
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
</itemBody>
|
||||
</assessmentItem>
|
||||
@@ -0,0 +1,27 @@
|
||||
{if $courselevelexport}<?xml version="1.0" encoding="UTF-8"?>{/if}
|
||||
<assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_item_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_item_v2p0 ./imsqti_item_v2p0.xsd" identifier="{$assessmentitemidentifier}" title="{$assessmentitemtitle}" adaptive="false" timeDependent="false">
|
||||
<responseDeclaration identifier="{$questionid}" cardinality="single" baseType="string"/>
|
||||
<outcomeDeclaration identifier="SCORE" cardinality="single" baseType="integer"/>
|
||||
<itemBody>
|
||||
<div class="assesmentItemBody">
|
||||
<p>{$questionText}</p>
|
||||
</div>
|
||||
<div class="interactive.extendedText">
|
||||
<extendedTextInteraction responseIdentifier="{$questionid}" expectedLength="600">
|
||||
</extendedTextInteraction>
|
||||
</div>
|
||||
{if $question_has_image == 1}
|
||||
<div class="media">
|
||||
{if $hassize == 1}
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" width="{$question->mediax}" height="{$question->mediay}" />
|
||||
{else}
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" />
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
</itemBody>
|
||||
{if $question->feedback != ''}
|
||||
<modalFeedback outcomeIdentifier="FEEDBACK" identifier="{$questionid}" showHide="hide">{$question->feedback}</modalFeedback>
|
||||
<modalFeedback outcomeIdentifier="FEEDBACK" identifier="{$questionid}" showHide="show">{$question->feedback}</modalFeedback>
|
||||
{/if}
|
||||
</assessmentItem>
|
||||
@@ -0,0 +1,33 @@
|
||||
{if $courselevelexport}<?xml version="1.0" encoding="UTF-8"?>{/if}
|
||||
<assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_item_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_item_v2p0 ../imsqti_item_v2p0.xsd" identifier="{$assessmentitemidentifier}" title="{$assessmentitemtitle}" adaptive="false" timeDependent="false">
|
||||
<responseDeclaration identifier="{$questionid}" cardinality="multiple" baseType="directedPair">
|
||||
<correctResponse>
|
||||
{section name=item loop=$gapitems}
|
||||
<value>{$gapitems[item].id} {$gapitems[item].id}</value>
|
||||
{/section}
|
||||
</correctResponse>
|
||||
<mapping defaultValue="1">
|
||||
{section name=item loop=$gapitems}
|
||||
<mapEntry mapKey="{$gapitems[item].id} {$gapitems[item].id}" mappedValue="1" />
|
||||
{/section}
|
||||
</mapping>
|
||||
</responseDeclaration>
|
||||
<outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
|
||||
<itemBody>
|
||||
<div class="assesmentItemBody"><p>{$questionText}</p></div>
|
||||
<div class="interactive.graphicGapMatch">
|
||||
<graphicGapMatchInteraction responseIdentifier="{$questionid}">
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" width="{$question->mediax}" height="{$question->mediay}"/>
|
||||
{section name=item loop=$gapitems}
|
||||
<gapImg identifier="{$gapitems[item].id}" matchMax="1">
|
||||
<object type="{$gapitems[item].mediamimetype}" data="{$gapitems[item].media}" width="{$gapitems[item].snaptowidth}" height="{$gapitems[item].snaptoheight}" label="{$gapitems[item].questiontext}"/>
|
||||
</gapImg>
|
||||
{/section}
|
||||
{section name=item loop=$gapitems}
|
||||
<associableHotspot identifier="{$gapitems[item].id}" matchMax="{$hotspotmaxmatch}" shape="rect" coords="{$gapitems[item].targetx},{$gapitems[item].targety},{$gapitems[item].targetrx},{$gapitems[item].targetby}"/>
|
||||
{/section}
|
||||
</graphicGapMatchInteraction>
|
||||
</div>
|
||||
</itemBody>
|
||||
<responseProcessing template="http://www.imsglobal.org/xml/imsqti_item_v2p0/rpMapResponse" templateLocation="../RPTemplates/rpMapResponse.xml"/>
|
||||
</assessmentItem>
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<manifest xmlns="http://www.imsglobal.org/xsd/imscp_v1p1" xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_v1p2" xmlns:imsqti="http://www.imsglobal.org/xsd/imsqti_item_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" identifier="{$manifestidentifier}" xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 imscp_v1p1.xsd http://www.imsglobal.org/xsd/imsmd_v1p2 imsmd_v1p2p2.xsd http://www.imsglobal.org/xsd/imsqti_item_v2p0 ./imsqti_item_v2p0.xsd">
|
||||
<metadata>
|
||||
<schema>ADL SCORM</schema>
|
||||
<schemaversion>1.2</schemaversion>
|
||||
<lom xmlns="http://www.imsglobal.org/xsd/imsmd_v1p2"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.imsglobal.org/xsd/imsmd_v1p2 imsmd_v1p2p2.xsd">
|
||||
<general>
|
||||
<title><langstring xml:lang="{$lang}">{$quiztitle}</langstring></title>
|
||||
<description><langstring xml:lang="{$lang}">{$quizinfo}</langstring></description>
|
||||
<keyword><langstring xml:lang="{$lang}">{$quizkeywords}</langstring></keyword>
|
||||
</general>
|
||||
</lom>
|
||||
{if $quiz_level_export == 1}
|
||||
<imsqti:var id="submiturl">{$submiturl}</imsqti:var>
|
||||
<imsqti:var id="userid">{$userid}</imsqti:var>
|
||||
<imsqti:var id="username">{$username}</imsqti:var>
|
||||
<imsqti:var id="id">{$quiz->id}</imsqti:var>
|
||||
<imsqti:var id="course">{$quiz->course}</imsqti:var>
|
||||
<imsqti:var id="timeopen">{$quiztimeopen}</imsqti:var>
|
||||
<imsqti:var id="timeclose">{$quiztimeclose}</imsqti:var>
|
||||
<imsqti:var id="timelimit">{$quiz->timelimit}</imsqti:var>
|
||||
<imsqti:var id="shufflequestions">{$quiz->shufflequestions}</imsqti:var>
|
||||
<imsqti:var id="shuffleanswers">{$quiz->shuffleanswers}</imsqti:var>
|
||||
<imsqti:var id="attempts">{$quiz->attempts}</imsqti:var>
|
||||
<imsqti:var id="attemptbuildsonlast">{$quiz->attemptonlast}</imsqti:var>
|
||||
<imsqti:var id="grademethod">{$grademethod}</imsqti:var>
|
||||
<imsqti:var id="feedback">{$quiz->feedback}</imsqti:var>
|
||||
<imsqti:var id="feedbackcorrectanswers">{$quiz->correctanswers}</imsqti:var>
|
||||
<imsqti:var id="maxgrade">{$quiz->grade}</imsqti:var>
|
||||
<imsqti:var id="rawpointspossible">{$quiz->sumgrades}</imsqti:var>
|
||||
<imsqti:var id="password">{$quiz->password}</imsqti:var>
|
||||
<imsqti:var id="subnet">{$quiz->subnet}</imsqti:var>
|
||||
<imsqti:var id="coursefullname">{$course->fullname}</imsqti:var>
|
||||
<imsqti:var id="courseshortname">{$course->shortname}</imsqti:var>
|
||||
{/if}
|
||||
</metadata>
|
||||
<organizations/>
|
||||
<resources>
|
||||
{section name=question loop=$questions}
|
||||
<resource identifier="category{$questions[question].category}-question{$questions[question].id}" type="imsqti_item_xmlv2p0" {if $externalfiles == 1}href="./category{$questions[question].category}-question{$questions[question].id}.xml"{/if}>
|
||||
<metadata>
|
||||
<schema>IMS QTI Item</schema>
|
||||
<schemaversion>2.0</schemaversion>
|
||||
<imsmd:lom>
|
||||
<imsmd:general>
|
||||
<imsmd:identifier>category{$questions[question].category}-question{$questions[question].id}</imsmd:identifier>
|
||||
<imsmd:title>
|
||||
<imsmd:langstring xml:lang="{$lang}">{$questions[question].name}</imsmd:langstring>
|
||||
</imsmd:title>
|
||||
<imsmd:description>
|
||||
<imsmd:langstring xml:lang="en">Question {$questions[question].id} from category {$questions[question].category}</imsmd:langstring>
|
||||
</imsmd:description>
|
||||
</imsmd:general>
|
||||
<imsmd:lifecycle>
|
||||
<imsmd:version>
|
||||
<imsmd:langstring xml:lang="en">1.0</imsmd:langstring>
|
||||
</imsmd:version>
|
||||
<imsmd:status>
|
||||
<imsmd:source>
|
||||
<imsmd:langstring xml:lang="en">LOMv1.0</imsmd:langstring>
|
||||
</imsmd:source>
|
||||
<imsmd:value>
|
||||
<imsmd:langstring xml:lang="en">Draft</imsmd:langstring>
|
||||
</imsmd:value>
|
||||
</imsmd:status>
|
||||
</imsmd:lifecycle>
|
||||
</imsmd:lom>
|
||||
<imsqti:qtiMetadata>
|
||||
<imsqti:timeDependent>false</imsqti:timeDependent>
|
||||
<imsqti:interactionType>{$questions[question].qtiinteractiontype}</imsqti:interactionType>
|
||||
<imsqti:canComputerScore>{$questions[question].qtiscoreable}</imsqti:canComputerScore>
|
||||
<imsqti:feedbackType>nonadaptive</imsqti:feedbackType>
|
||||
<imsqti:solutionAvailable>{$questions[question].qtisolutionavailable}</imsqti:solutionAvailable>
|
||||
</imsqti:qtiMetadata>
|
||||
</metadata>
|
||||
{if $questions[question].image != ''}
|
||||
<file href="{$questions[question].mediaurl}" />
|
||||
{/if}
|
||||
{$questions[question].exporttext}
|
||||
</resource>
|
||||
{/section}
|
||||
</resources>
|
||||
</manifest>
|
||||
@@ -0,0 +1,62 @@
|
||||
<assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_item_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_item_v2p0 ./imsqti_item_v2p0.xsd" identifier="{$assessmentitemidentifier}" title="{$assessmentitemtitle}" adaptive="false" timeDependent="false">
|
||||
<responseDeclaration identifier="{$questionid}" cardinality="multiple" baseType="directedPair">
|
||||
<correctResponse>
|
||||
{section name=set loop=$matchsets}
|
||||
<value>q{$matchsets[set].id} a{$matchsets[set].id}</value>
|
||||
{/section}
|
||||
</correctResponse>
|
||||
|
||||
<mapping defaultValue="0">
|
||||
{section name=set loop=$matchsets}
|
||||
<mapEntry mapKey="q{$matchsets[set].id} a{$matchsets[set].id}" mappedValue="1"/>
|
||||
{/section}
|
||||
</mapping>
|
||||
</responseDeclaration>
|
||||
<outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
|
||||
|
||||
<itemBody>
|
||||
<p>{$questionText}</p>
|
||||
<div class="interactive.match">
|
||||
<matchInteraction responseIdentifier="{$questionid}" shuffle="false" maxAssociations="{$setcount}">
|
||||
<simpleMatchSet>
|
||||
{section name=set loop=$matchsets}
|
||||
<simpleAssociableChoice identifier="q{$matchsets[set].id}" matchMax="1">{$matchsets[set].questiontext}</simpleAssociableChoice>
|
||||
{/section}
|
||||
</simpleMatchSet>
|
||||
<simpleMatchSet>
|
||||
{section name=set loop=$matchsets}
|
||||
<simpleAssociableChoice identifier="a{$matchsets[set].id}" matchMax="{$setcount}">{$matchsets[set].answertext}</simpleAssociableChoice>
|
||||
{/section}
|
||||
</simpleMatchSet>
|
||||
</matchInteraction>
|
||||
</div>
|
||||
{if $question_has_image == 1}
|
||||
<div class="media">
|
||||
{if $hassize == 1}
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" width="{$question->mediax}" height="{$question->mediay}" />
|
||||
{else}
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" />
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
</itemBody>
|
||||
<responseProcessing xmlns="http://www.imsglobal.org/xsd/imsqti_item_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_item_v2p0 ../imsqti_item_v2p0.xsd">
|
||||
<responseCondition>
|
||||
|
||||
<responseIf>
|
||||
<isNull>
|
||||
<variable identifier="{$questionid}"/>
|
||||
</isNull>
|
||||
<setOutcomeValue identifier="SCORE">
|
||||
<baseValue baseType="integer">0</baseValue>
|
||||
</setOutcomeValue>
|
||||
</responseIf>
|
||||
|
||||
<responseElse>
|
||||
<setOutcomeValue identifier="SCORE">
|
||||
<mapResponse identifier="{$questionid}"/>
|
||||
</setOutcomeValue>
|
||||
</responseElse>
|
||||
</responseCondition>
|
||||
</responseProcessing>
|
||||
</assessmentItem>
|
||||
+88
@@ -0,0 +1,88 @@
|
||||
{if $courselevelexport}<?xml version="1.0" encoding="UTF-8"?>{/if}
|
||||
<assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_item_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_item_v2p0 ./imsqti_item_v2p0.xsd" identifier="{$assessmentitemidentifier}" title="{$assessmentitemtitle}" adaptive="false" timeDependent="false">
|
||||
<responseDeclaration identifier="{$questionid}" cardinality="{$responsedeclarationcardinality}" baseType="identifier">
|
||||
<correctResponse>
|
||||
{section name=answer loop=$correctresponses}
|
||||
<value>{$correctresponses[answer].id}</value>
|
||||
{/section}
|
||||
</correctResponse>
|
||||
<mapping lowerBound="0" upperBound="1" defaultValue="{$defaultvalue}">
|
||||
{section name=answer loop=$answers}
|
||||
{if $answers[answer].fraction != 0}
|
||||
<mapEntry mapKey="{$answers[answer].id}" mappedValue="{$answers[answer].fraction}" />
|
||||
{/if}
|
||||
{/section}
|
||||
</mapping>
|
||||
</responseDeclaration>
|
||||
<outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float" />
|
||||
<itemBody>
|
||||
<div class="assesmentItemBody">
|
||||
<p>{$questionText}</p>
|
||||
</div>
|
||||
<div class="interactive.choiceMultiple">
|
||||
<choiceInteraction responseIdentifier="{$questionid}" shuffle="false" maxChoices="{$maxChoices}">
|
||||
{section name=answer loop=$answers}
|
||||
<simpleChoice identifier="{$answers[answer].id}" fixed="false"><p>{$answers[answer].choice}
|
||||
{if $answers[answer].media != ''}
|
||||
<object type="{$answers[answer].mediamimetype}" data="{$answers[answer].media}" width="{$answers[answer].mediax}" height="{$answers[answer].mediay}" />
|
||||
{/if}</p>
|
||||
{if $answers[answer].feedback != ''}
|
||||
<feedbackInline identifier="{$answers[answer].id}" outcomeIdentifier="FEEDBACK" showHide="show">{$answers[answer].feedback}</feedbackInline>
|
||||
{/if}
|
||||
{if $answers[answer].altfeedback != ''}
|
||||
<feedbackInline identifier="{$answers[answer].id}" outcomeIdentifier="ALTFEEDBACK" showHide="hide">{$answers[answer].altfeedback}</feedbackInline>
|
||||
{/if}
|
||||
</simpleChoice>
|
||||
{/section}
|
||||
</choiceInteraction>
|
||||
</div>
|
||||
{if $question_has_image == 1}
|
||||
<div class="media">
|
||||
{if $hassize == 1}
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" width="{$question->mediax}" height="{$question->mediay}" />
|
||||
{else}
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" />
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
</itemBody>
|
||||
<responseProcessing xmlns="http://www.imsglobal.org/xsd/imsqti_item_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_item_v2p0 ../imsqti_item_v2p0.xsd">
|
||||
<responseCondition>
|
||||
<responseIf>
|
||||
<isNull>
|
||||
<variable identifier="{$questionid}"/>
|
||||
</isNull>
|
||||
<setOutcomeValue identifier="SCORE">
|
||||
<baseValue baseType="float">0</baseValue>
|
||||
</setOutcomeValue>
|
||||
</responseIf>
|
||||
<responseElse>
|
||||
<setOutcomeValue identifier="SCORE">
|
||||
<mapResponse identifier="{$questionid}"/>
|
||||
</setOutcomeValue>
|
||||
</responseElse>
|
||||
</responseCondition>
|
||||
<responseCondition>
|
||||
<responseIf>
|
||||
<gte>
|
||||
<variable identifier="SCORE"/>
|
||||
<baseValue baseType="float">{$question->feedbackfraction}</baseValue>
|
||||
</gte>
|
||||
<setOutcomeValue identifier="FEEDBACK">
|
||||
<variable identifier="feedbackok"/>
|
||||
</setOutcomeValue>
|
||||
</responseIf>
|
||||
<responseElse>
|
||||
<setOutcomeValue identifier="FEEDBACK">
|
||||
<variable identifier="feedbackmissed"/>
|
||||
</setOutcomeValue>
|
||||
</responseElse>
|
||||
</responseCondition>
|
||||
</responseProcessing>
|
||||
{if $question->feedbackok != ''}
|
||||
<modalFeedback outcomeIdentifier="FEEDBACK" identifier="feedbackok" showHide="show">{$question->feedbackok}</modalFeedback>
|
||||
{/if}
|
||||
{if $question->feedbackmissed != ''}
|
||||
<modalFeedback outcomeIdentifier="FEEDBACK" identifier="feedbackmissed" showHide="hide">{$question->feedbackmissed}</modalFeedback>
|
||||
{/if}
|
||||
</assessmentItem>
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
{if $courselevelexport}<?xml version="1.0" encoding="UTF-8"?>{/if}
|
||||
<assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_item_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_item_v2p0 ./imsqti_item_v2p0.xsd" identifier="{$assessmentitemidentifier}" title="{$assessmentitemtitle}" adaptive="false" timeDependent="false">
|
||||
<responseDeclaration identifier="{$questionid}" cardinality="single" baseType="string"/>
|
||||
<outcomeDeclaration identifier="SCORE" cardinality="single" baseType="integer"/>
|
||||
<itemBody>
|
||||
<p>{$questionText}</p>
|
||||
<div class="interactive.textEntry">
|
||||
<textEntryInteraction responseIdentifier="{$questionid}" expectedLength="200"></textEntryInteraction>
|
||||
</div>
|
||||
{if $question_has_image == 1}
|
||||
<div class="media">
|
||||
{if $hassize == 1}
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" width="{$question->mediax}" height="{$question->mediay}" />
|
||||
{else}
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" />
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
</itemBody>
|
||||
</assessmentItem>
|
||||
Executable
+65
@@ -0,0 +1,65 @@
|
||||
{if $courselevelexport}<?xml version="1.0" encoding="UTF-8"?>{/if}
|
||||
<assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_item_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_item_v2p0 ./imsqti_item_v2p0.xsd" identifier="{$assessmentitemidentifier}" title="{$assessmentitemtitle}" adaptive="false" timeDependent="false">
|
||||
<responseDeclaration identifier="{$questionid}" cardinality="single" baseType="float">
|
||||
<correctResponse>
|
||||
<value>{$answer->answer}</value>
|
||||
</correctResponse>
|
||||
<mapping defaultValue="0">
|
||||
<mapEntry mapKey="{$answer->answer}" mappedValue="{$answer->fraction}" />
|
||||
</mapping>
|
||||
</responseDeclaration>
|
||||
<outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
|
||||
<itemBody>
|
||||
<p>{$questionText}</p>
|
||||
<div class="interactive.textEntry">
|
||||
<textEntryInteraction responseIdentifier="{$questionid}" expectedLength="10"/>
|
||||
</div>
|
||||
{if $question_has_image == 1}
|
||||
<div class="media">
|
||||
{if $hassize == 1}
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" width="{$question->mediax}" height="{$question->mediay}" />
|
||||
{else}
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" />
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
</itemBody>
|
||||
<responseProcessing xmlns="http://www.imsglobal.org/xsd/imsqti_item_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_item_v2p0 ../imsqti_item_v2p0.xsd">
|
||||
<responseCondition>
|
||||
<responseIf>
|
||||
<and>
|
||||
<not>
|
||||
<isNull>
|
||||
<variable identifier="{$questionid}" />
|
||||
</isNull>
|
||||
</not>
|
||||
<gte>
|
||||
<baseValue baseType="float">{$lowerbound}</baseValue>
|
||||
<variable identifier="{$questionid}" />
|
||||
</gte>
|
||||
<lte>
|
||||
<baseValue baseType="float">{$upperbound}</baseValue>
|
||||
<variable identifier="{$questionid}" />
|
||||
</lte>
|
||||
</and>
|
||||
<setOutcomeValue identifier="SCORE">
|
||||
<baseValue baseType="integer">1</baseValue>
|
||||
</setOutcomeValue>
|
||||
</responseIf>
|
||||
<responseElse>
|
||||
<setOutcomeValue identifier="SCORE">
|
||||
<baseValue baseType="integer">0</baseValue>
|
||||
</setOutcomeValue>
|
||||
</responseElse>
|
||||
</responseCondition>
|
||||
<setOutcomeValue identifier="FEEDBACK">
|
||||
<variable identifier="{$questionid}"/>
|
||||
</setOutcomeValue>
|
||||
</responseProcessing>
|
||||
{if $answer->feedback != ''}
|
||||
<modalFeedback outcomeIdentifier="FEEDBACK" identifier="{$answer->id}" showHide="show">{$answer->feedback}</modalFeedback>
|
||||
{/if}
|
||||
{if $answer->altfeedback != ''}
|
||||
<modalFeedback outcomeIdentifier="FEEDBACK" identifier="{$answer->id}" showHide="hide">{$answer->altfeedback}</modalFeedback>
|
||||
{/if}
|
||||
</assessmentItem>
|
||||
Executable
+50
@@ -0,0 +1,50 @@
|
||||
{if $courselevelexport}<?xml version="1.0" encoding="UTF-8"?>{/if}
|
||||
<assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_item_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_item_v2p0 ./imsqti_item_v2p0.xsd" identifier="{$assessmentitemidentifier}" title="{$assessmentitemtitle}" adaptive="false" timeDependent="false">
|
||||
<responseDeclaration identifier="{$questionid}" cardinality="{$responsedeclarationcardinality}" baseType="string">
|
||||
<correctResponse>
|
||||
{section name=answer loop=$correctresponses}
|
||||
<value>{$correctresponses[answer].answer}</value>
|
||||
{/section}
|
||||
</correctResponse>
|
||||
<mapping lowerBound="0" upperBound="1" defaultValue="0">
|
||||
{section name=answer loop=$answers}
|
||||
{if $answers[answer].fraction != 0}
|
||||
<mapEntry mapKey="{$answers[answer].answer}" mappedValue="{$answers[answer].fraction}" />
|
||||
{/if}
|
||||
{/section}
|
||||
</mapping>
|
||||
</responseDeclaration>
|
||||
<outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
|
||||
<itemBody>
|
||||
<p>{$questionText}</p>
|
||||
<div class="interactive.textEntry">
|
||||
<textEntryInteraction responseIdentifier="{$questionid}" expectedLength="15"/>
|
||||
</div>
|
||||
{if $question_has_image == 1}
|
||||
<div class="media">
|
||||
{if $hassize == 1}
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" width="{$question->mediax}" height="{$question->mediay}" />
|
||||
{else}
|
||||
<object type="{$question->mediamimetype}" data="{$question->mediaurl}" />
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
</itemBody>
|
||||
<responseProcessing xmlns="http://www.imsglobal.org/xsd/imsqti_item_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_item_v2p0 ../imsqti_item_v2p0.xsd">
|
||||
<responseCondition>
|
||||
<responseIf>
|
||||
<isNull>
|
||||
<variable identifier="{$questionid}"/>
|
||||
</isNull>
|
||||
<setOutcomeValue identifier="SCORE">
|
||||
<baseValue baseType="integer">0</baseValue>
|
||||
</setOutcomeValue>
|
||||
</responseIf>
|
||||
<responseElse>
|
||||
<setOutcomeValue identifier="SCORE">
|
||||
<mapResponse identifier="{$questionid}"/>
|
||||
</setOutcomeValue>
|
||||
</responseElse>
|
||||
</responseCondition>
|
||||
</responseProcessing>
|
||||
</assessmentItem>
|
||||
Reference in New Issue
Block a user