qti 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +28 -0
  3. data/Rakefile +1 -0
  4. data/lib/qti.rb +62 -0
  5. data/lib/qti/models/base.rb +80 -0
  6. data/lib/qti/models/manifest.rb +20 -0
  7. data/lib/qti/v1/models/assessment.rb +17 -0
  8. data/lib/qti/v1/models/assessment_item.rb +59 -0
  9. data/lib/qti/v1/models/base.rb +13 -0
  10. data/lib/qti/v1/models/choices/logical_identifier_choice.rb +26 -0
  11. data/lib/qti/v1/models/interactions/logical_identifier_interaction.rb +32 -0
  12. data/lib/qti/v2/models/assessment_item.rb +62 -0
  13. data/lib/qti/v2/models/assessment_test.rb +32 -0
  14. data/lib/qti/v2/models/base.rb +70 -0
  15. data/lib/qti/v2/models/choices/simple_choice.rb +28 -0
  16. data/lib/qti/v2/models/interactions.rb +25 -0
  17. data/lib/qti/v2/models/interactions/choice_interaction.rb +50 -0
  18. data/spec/fixtures/items_1.2/multiple_answer.xml +105 -0
  19. data/spec/fixtures/items_1.2/multiple_choice.xml +83 -0
  20. data/spec/fixtures/items_1.2/true_false.xml +50 -0
  21. data/spec/fixtures/items_2.1/Example01-modalFeedback.xml +79 -0
  22. data/spec/fixtures/items_2.1/Example02-feedbackInline.xml +67 -0
  23. data/spec/fixtures/items_2.1/Example03-feedbackBlock-solution-random.xml +223 -0
  24. data/spec/fixtures/items_2.1/Example03-feedbackBlock-solution.xml +238 -0
  25. data/spec/fixtures/items_2.1/Example04-feedbackBlock-templateBlock.xml +582 -0
  26. data/spec/fixtures/items_2.1/Example05-feedbackBlock-adaptive.xml +397 -0
  27. data/spec/fixtures/items_2.1/adaptive.xml +286 -0
  28. data/spec/fixtures/items_2.1/adaptive_template.xml +350 -0
  29. data/spec/fixtures/items_2.1/associate.xml +33 -0
  30. data/spec/fixtures/items_2.1/audio-video.xml +46 -0
  31. data/spec/fixtures/items_2.1/choice.xml +31 -0
  32. data/spec/fixtures/items_2.1/choice_aria.xml +42 -0
  33. data/spec/fixtures/items_2.1/choice_fixed.xml +33 -0
  34. data/spec/fixtures/items_2.1/choice_multiple.xml +31 -0
  35. data/spec/fixtures/items_2.1/choice_multiple_chocolade.xml +74 -0
  36. data/spec/fixtures/items_2.1/choice_multiple_rtl.xml +33 -0
  37. data/spec/fixtures/items_2.1/choice_ruby.xml +39 -0
  38. data/spec/fixtures/items_2.1/choice_t_f.xml +30 -0
  39. data/spec/fixtures/items_2.1/choice_true_false.xml +30 -0
  40. data/spec/fixtures/items_2.1/data-attributes.xml +61 -0
  41. data/spec/fixtures/items_2.1/drawing.xml +16 -0
  42. data/spec/fixtures/items_2.1/essay.xml +14 -0
  43. data/spec/fixtures/items_2.1/extended_text.xml +24 -0
  44. data/spec/fixtures/items_2.1/extended_text_rubric.xml +36 -0
  45. data/spec/fixtures/items_2.1/feedback_adaptive.xml +142 -0
  46. data/spec/fixtures/items_2.1/figures.xml +32 -0
  47. data/spec/fixtures/items_2.1/gap_match.xml +33 -0
  48. data/spec/fixtures/items_2.1/graphic_associate.xml +36 -0
  49. data/spec/fixtures/items_2.1/graphic_gap_match.xml +54 -0
  50. data/spec/fixtures/items_2.1/graphic_gap_match_text.xml +50 -0
  51. data/spec/fixtures/items_2.1/graphic_order.xml +32 -0
  52. data/spec/fixtures/items_2.1/hint.xml +85 -0
  53. data/spec/fixtures/items_2.1/hotspot.xml +26 -0
  54. data/spec/fixtures/items_2.1/hottext.xml +33 -0
  55. data/spec/fixtures/items_2.1/images/CBG.png +0 -0
  56. data/spec/fixtures/items_2.1/images/EBG.png +0 -0
  57. data/spec/fixtures/items_2.1/images/EDI.png +0 -0
  58. data/spec/fixtures/items_2.1/images/GLA.png +0 -0
  59. data/spec/fixtures/items_2.1/images/MAN.png +0 -0
  60. data/spec/fixtures/items_2.1/images/MCH.png +0 -0
  61. data/spec/fixtures/items_2.1/images/airport.png +0 -0
  62. data/spec/fixtures/items_2.1/images/blueStar.png +0 -0
  63. data/spec/fixtures/items_2.1/images/blue_door.png +0 -0
  64. data/spec/fixtures/items_2.1/images/bus.png +0 -0
  65. data/spec/fixtures/items_2.1/images/castle.png +0 -0
  66. data/spec/fixtures/items_2.1/images/greenTriangle.png +0 -0
  67. data/spec/fixtures/items_2.1/images/green_door.png +0 -0
  68. data/spec/fixtures/items_2.1/images/house.png +0 -0
  69. data/spec/fixtures/items_2.1/images/open_car.png +0 -0
  70. data/spec/fixtures/items_2.1/images/open_goat.png +0 -0
  71. data/spec/fixtures/items_2.1/images/plane.png +0 -0
  72. data/spec/fixtures/items_2.1/images/postcard.eps +3581 -0
  73. data/spec/fixtures/items_2.1/images/postcard.png +0 -0
  74. data/spec/fixtures/items_2.1/images/rectangle.svg +1 -0
  75. data/spec/fixtures/items_2.1/images/redCircle.png +0 -0
  76. data/spec/fixtures/items_2.1/images/red_door.png +0 -0
  77. data/spec/fixtures/items_2.1/images/sign.png +0 -0
  78. data/spec/fixtures/items_2.1/images/survey.jpg +0 -0
  79. data/spec/fixtures/items_2.1/images/train.png +0 -0
  80. data/spec/fixtures/items_2.1/images/uk.png +0 -0
  81. data/spec/fixtures/items_2.1/images/ukair.png +0 -0
  82. data/spec/fixtures/items_2.1/images/ukairtags.png +0 -0
  83. data/spec/fixtures/items_2.1/imsmanifest.xml +227 -0
  84. data/spec/fixtures/items_2.1/inline_choice.xml +26 -0
  85. data/spec/fixtures/items_2.1/inline_choice_math.xml +68 -0
  86. data/spec/fixtures/items_2.1/likert.xml +21 -0
  87. data/spec/fixtures/items_2.1/match.xml +41 -0
  88. data/spec/fixtures/items_2.1/math.xml +35 -0
  89. data/spec/fixtures/items_2.1/mc_calc3.xml +164 -0
  90. data/spec/fixtures/items_2.1/mc_calc5.xml +211 -0
  91. data/spec/fixtures/items_2.1/mc_stat2.xml +219 -0
  92. data/spec/fixtures/items_2.1/media_coords.xml +33 -0
  93. data/spec/fixtures/items_2.1/multi-input.xml +271 -0
  94. data/spec/fixtures/items_2.1/nested_object.xml +26 -0
  95. data/spec/fixtures/items_2.1/order.xml +25 -0
  96. data/spec/fixtures/items_2.1/order_partial_scoring.xml +55 -0
  97. data/spec/fixtures/items_2.1/order_rtl.xml +27 -0
  98. data/spec/fixtures/items_2.1/orkney1.xml +34 -0
  99. data/spec/fixtures/items_2.1/orkney2.xml +34 -0
  100. data/spec/fixtures/items_2.1/position_object.xml +34 -0
  101. data/spec/fixtures/items_2.1/select_point.xml +23 -0
  102. data/spec/fixtures/items_2.1/shared/orkney.css +1 -0
  103. data/spec/fixtures/items_2.1/shared/orkney.html +20 -0
  104. data/spec/fixtures/items_2.1/slider.xml +35 -0
  105. data/spec/fixtures/items_2.1/svg.xml +28 -0
  106. data/spec/fixtures/items_2.1/template.xml +88 -0
  107. data/spec/fixtures/items_2.1/template_image.xml +74 -0
  108. data/spec/fixtures/items_2.1/text_entry.xml +27 -0
  109. data/spec/fixtures/items_2.1/upload.xml +18 -0
  110. data/spec/fixtures/items_2.1/upload_composite.xml +24 -0
  111. data/spec/fixtures/test_qti_1.2.zip +0 -0
  112. data/spec/fixtures/test_qti_1.2/contact info.png +0 -0
  113. data/spec/fixtures/test_qti_1.2/exam1/my_files/org0/images/image.png +0 -0
  114. data/spec/fixtures/test_qti_1.2/exam1/my_files/org1/images/image.png +0 -0
  115. data/spec/fixtures/test_qti_1.2/image.png +0 -0
  116. data/spec/fixtures/test_qti_1.2/imsmanifest.xml +37 -0
  117. data/spec/fixtures/test_qti_1.2/quiz.xml +216 -0
  118. data/spec/fixtures/test_qti_2.1.zip +0 -0
  119. data/spec/fixtures/test_qti_2.1/assessment.xml +77 -0
  120. data/spec/fixtures/test_qti_2.1/imsmanifest.xml +211 -0
  121. data/spec/fixtures/test_qti_2.1/mathassess.xsd +54 -0
  122. data/spec/fixtures/test_qti_2.1/multiple-answer/multiple-answer.xml +31 -0
  123. data/spec/fixtures/test_qti_2.1/multiple-choice/multiple-choice.xml +31 -0
  124. data/spec/fixtures/test_qti_2.1/text-entry/text-entry.xml +330 -0
  125. data/spec/fixtures/test_qti_2.1/true-false/true-false.xml +55 -0
  126. data/spec/fixtures/tests/feedbackTest/assessment.xml +252 -0
  127. data/spec/fixtures/tests/feedbackTest/id-38d47747fb30/Example02-feedbackInline.xml +51 -0
  128. data/spec/fixtures/tests/feedbackTest/id-5e216df10030/Example03-feedbackBlock-solution.xml +199 -0
  129. data/spec/fixtures/tests/feedbackTest/id-9c33d141576e/Example05-feedbackBlock-adaptive.xml +330 -0
  130. data/spec/fixtures/tests/feedbackTest/id-aaa0bbf5da1d/Example03-feedbackBlock-solution-random.xml +223 -0
  131. data/spec/fixtures/tests/feedbackTest/id-d599169403d2/Example04-feedbackBlock-templateBlock.xml +534 -0
  132. data/spec/fixtures/tests/feedbackTest/id-fa3ee5852723/Example01-modalFeedback.xml +55 -0
  133. data/spec/fixtures/tests/feedbackTest/imsmanifest.xml +239 -0
  134. data/spec/fixtures/tests/interactionmix_saxony_v3/Choicemultiple_2014410822.xml +110 -0
  135. data/spec/fixtures/tests/interactionmix_saxony_v3/Choicemultiple_871212949.xml +208 -0
  136. data/spec/fixtures/tests/interactionmix_saxony_v3/Choicesingle_853928446.xml +159 -0
  137. data/spec/fixtures/tests/interactionmix_saxony_v3/Choicetruefalse_176040516.xml +98 -0
  138. data/spec/fixtures/tests/interactionmix_saxony_v3/Hotspot_278940407.xml +109 -0
  139. data/spec/fixtures/tests/interactionmix_saxony_v3/Hottext_801974120.xml +106 -0
  140. data/spec/fixtures/tests/interactionmix_saxony_v3/InteractionMixSachsen_1901710679.xml +54 -0
  141. data/spec/fixtures/tests/interactionmix_saxony_v3/Matchmultiple_1038910213.xml +139 -0
  142. data/spec/fixtures/tests/interactionmix_saxony_v3/Matchsingle_143114773.xml +133 -0
  143. data/spec/fixtures/tests/interactionmix_saxony_v3/Order_913967682.xml +117 -0
  144. data/spec/fixtures/tests/interactionmix_saxony_v3/TextEntry_883368511.xml +114 -0
  145. data/spec/fixtures/tests/interactionmix_saxony_v3/TextEntrynumeric_2040297025.xml +154 -0
  146. data/spec/fixtures/tests/interactionmix_saxony_v3/TextEntrynumeric_770468849.xml +124 -0
  147. data/spec/fixtures/tests/interactionmix_saxony_v3/TextEntrysubset_806481421.xml +227 -0
  148. data/spec/fixtures/tests/interactionmix_saxony_v3/imsmanifest.xml +278 -0
  149. data/spec/fixtures/tests/interactionmix_saxony_v3/media/03c5e2f774db49598deb3ac7d05b53f9.jpg +0 -0
  150. data/spec/fixtures/tests/interactionmix_saxony_v3/media/0563e67fb1bb48ad882e0a5abf2a2686.jpg +0 -0
  151. data/spec/fixtures/tests/interactionmix_saxony_v3/media/2f44366716474a5d8e2a2e32346cbc05.jpg +0 -0
  152. data/spec/fixtures/tests/interactionmix_saxony_v3/media/71a299b50b5e4b1492f8ee51ce25be7d.jpg +0 -0
  153. data/spec/fixtures/tests/interactionmix_saxony_v3/media/a439b702d5034ca38f6df26a12835db3.jpg +0 -0
  154. data/spec/fixtures/tests/interactionmix_saxony_v3/media/b660fc9f268c4ef688d8606116c70160.jpg +0 -0
  155. data/spec/fixtures/tests/interactionmix_saxony_v3/media/c2f541343b9b4bfdba9fc90c7a18403e.jpg +0 -0
  156. data/spec/fixtures/tests/interactionmix_saxony_v3/media/e18b5a2eb8104d0994a182ee0176a05c.jpg +0 -0
  157. data/spec/fixtures/tests/interactionmix_saxony_v3/media/f88c5aa2c6724a388fdbadc7133eb757.jpg +0 -0
  158. data/spec/fixtures/tests/interactionmix_saxony_v3/media/ffe337505ef74334a0cecb33310f99c1.jpg +0 -0
  159. data/spec/fixtures/tests/tests/complete.xml +33 -0
  160. data/spec/fixtures/tests/tests/report.xml +70 -0
  161. data/spec/fixtures/tests/tests/rtest01-fragment.xml +12 -0
  162. data/spec/fixtures/tests/tests/rtest01-set01.xml +17 -0
  163. data/spec/fixtures/tests/tests/rtest01-set02.xml +17 -0
  164. data/spec/fixtures/tests/tests/rtest01-set03.xml +17 -0
  165. data/spec/fixtures/tests/tests/rtest01.xml +16 -0
  166. data/spec/fixtures/tests/tests/rtest02.xml +48 -0
  167. data/spec/fixtures/tests/tests/rtest03.xml +38 -0
  168. data/spec/fixtures/tests/tests/rtest04.xml +50 -0
  169. data/spec/fixtures/tests/tests/rtest06.xml +34 -0
  170. data/spec/fixtures/tests/tests/rtest08.xml +38 -0
  171. data/spec/fixtures/tests/tests/rtest09.xml +33 -0
  172. data/spec/fixtures/tests/tests/rtest10.xml +48 -0
  173. data/spec/fixtures/tests/tests/rtest12.xml +38 -0
  174. data/spec/fixtures/tests/tests/rtest13.xml +62 -0
  175. data/spec/fixtures/tests/tests/rtest22.xml +41 -0
  176. data/spec/fixtures/tests/tests/rtest24.xml +37 -0
  177. data/spec/fixtures/tests/tests/rtest25.xml +62 -0
  178. data/spec/fixtures/tests/tests/rtest26.xml +38 -0
  179. data/spec/fixtures/tests/tests/rtest27.xml +46 -0
  180. data/spec/qti/models/base_spec.rb +71 -0
  181. data/spec/qti/models/manifest_spec.rb +19 -0
  182. data/spec/qti/v1/models/assessment_item_spec.rb +49 -0
  183. data/spec/qti/v1/models/assessment_spec.rb +18 -0
  184. data/spec/qti/v1/models/choices/logical_identifier_choice_spec.rb +23 -0
  185. data/spec/qti/v1/models/interactions/logical_identifier_interaction_spec.rb +20 -0
  186. data/spec/qti/v2/models/assessment_item_spec.rb +67 -0
  187. data/spec/qti/v2/models/assessment_test_spec.rb +60 -0
  188. data/spec/qti/v2/models/choices/simple_choice_spec.rb +22 -0
  189. data/spec/qti/v2/models/interactions/choice_interaction_spec.rb +27 -0
  190. data/spec/qti_spec.rb +38 -0
  191. data/spec/spec_helper.rb +10 -0
  192. metadata +506 -0
@@ -0,0 +1,142 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
5
+ identifier="feedbackAdaptive" title="Mexican President with adaptive feedback" adaptive="true"
6
+ timeDependent="false">
7
+ <responseDeclaration identifier="RESPONSE" cardinality="single" baseType="identifier">
8
+ <correctResponse>
9
+ <value>MGH001C</value>
10
+ </correctResponse>
11
+ </responseDeclaration>
12
+ <outcomeDeclaration identifier="PREVIOUSRESPONSES" cardinality="multiple" baseType="identifier"/>
13
+ <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
14
+ <outcomeDeclaration identifier="FEEDBACK" cardinality="multiple" baseType="identifier"/>
15
+ <itemBody>
16
+ <choiceInteraction responseIdentifier="RESPONSE" shuffle="false" maxChoices="1">
17
+ <prompt>Who is the President of Mexico?</prompt>
18
+ <simpleChoice identifier="MGH001A"> George W Bush <feedbackInline
19
+ outcomeIdentifier="FEEDBACK" identifier="MGH001A" showHide="show">No, he is the
20
+ President of the USA.</feedbackInline>
21
+ </simpleChoice>
22
+ <simpleChoice identifier="MGH001B"> Tony Blair <feedbackInline
23
+ outcomeIdentifier="FEEDBACK" identifier="MGH001B" showHide="show">No, he is the
24
+ Prime Minister of England.</feedbackInline>
25
+ </simpleChoice>
26
+ <simpleChoice identifier="MGH001C"> Vicente Fox <feedbackInline
27
+ outcomeIdentifier="FEEDBACK" identifier="MGH001C" showHide="show"
28
+ >Yes.</feedbackInline>
29
+ </simpleChoice>
30
+ <simpleChoice identifier="MGH001D"> Ariel Sharon <feedbackInline
31
+ outcomeIdentifier="FEEDBACK" identifier="MGH001D" showHide="show">No, he is the
32
+ Prime Minister of Israel.</feedbackInline>
33
+ </simpleChoice>
34
+ </choiceInteraction>
35
+ <feedbackBlock outcomeIdentifier="FEEDBACK" showHide="show" identifier="again">
36
+ <p>You already tried that option!</p>
37
+ </feedbackBlock>
38
+ </itemBody>
39
+ <responseProcessing>
40
+ <setOutcomeValue identifier="completionStatus">
41
+ <baseValue baseType="identifier">incomplete</baseValue>
42
+ </setOutcomeValue>
43
+ <responseCondition>
44
+ <responseIf>
45
+ <lt>
46
+ <variable identifier="numAttempts"/>
47
+ <baseValue baseType="integer">3</baseValue>
48
+ </lt>
49
+ <setOutcomeValue identifier="FEEDBACK">
50
+ <multiple>
51
+ <baseValue baseType="identifier">tryAgain</baseValue>
52
+ </multiple>
53
+ </setOutcomeValue>
54
+ </responseIf>
55
+ <responseElseIf>
56
+ <lt>
57
+ <variable identifier="numAttempts"/>
58
+ <baseValue baseType="integer">4</baseValue>
59
+ </lt>
60
+ <setOutcomeValue identifier="FEEDBACK">
61
+ <multiple>
62
+ <baseValue baseType="identifier">oneMore</baseValue>
63
+ </multiple>
64
+ </setOutcomeValue>
65
+ </responseElseIf>
66
+ <responseElse>
67
+ <setOutcomeValue identifier="FEEDBACK">
68
+ <multiple>
69
+ <baseValue baseType="identifier">giveUp</baseValue>
70
+ </multiple>
71
+ </setOutcomeValue>
72
+ <setOutcomeValue identifier="completionStatus">
73
+ <baseValue baseType="identifier">completed</baseValue>
74
+ </setOutcomeValue>
75
+ </responseElse>
76
+ </responseCondition>
77
+ <responseCondition>
78
+ <responseIf>
79
+ <match>
80
+ <variable identifier="RESPONSE"/>
81
+ <correct identifier="RESPONSE"/>
82
+ </match>
83
+ <setOutcomeValue identifier="SCORE">
84
+ <baseValue baseType="float">1</baseValue>
85
+ </setOutcomeValue>
86
+ <setOutcomeValue identifier="completionStatus">
87
+ <baseValue baseType="identifier">completed</baseValue>
88
+ </setOutcomeValue>
89
+ <setOutcomeValue identifier="FEEDBACK">
90
+ <variable identifier="RESPONSE"/>
91
+ </setOutcomeValue>
92
+ </responseIf>
93
+ <responseElse>
94
+ <setOutcomeValue identifier="SCORE">
95
+ <baseValue baseType="float">0</baseValue>
96
+ </setOutcomeValue>
97
+ <setOutcomeValue identifier="FEEDBACK">
98
+ <multiple>
99
+ <variable identifier="FEEDBACK"/>
100
+ <variable identifier="RESPONSE"/>
101
+ </multiple>
102
+ </setOutcomeValue>
103
+ </responseElse>
104
+ </responseCondition>
105
+ <responseCondition>
106
+ <responseIf>
107
+ <member>
108
+ <variable identifier="PREVIOUSRESPONSES"/>
109
+ <variable identifier="RESPONSE"/>
110
+ </member>
111
+ <setOutcomeValue identifier="FEEDBACK">
112
+ <multiple>
113
+ <variable identifier="FEEDBACK"/>
114
+ <baseValue baseType="identifier">again</baseValue>
115
+ </multiple>
116
+ </setOutcomeValue>
117
+ </responseIf>
118
+ <responseElse>
119
+ <setOutcomeValue identifier="PREVIOUSRESPONSES">
120
+ <multiple>
121
+ <variable identifier="PREVIOUSRESPONSES"/>
122
+ <variable identifier="RESPONSE"/>
123
+ </multiple>
124
+ </setOutcomeValue>
125
+ <setOutcomeValue identifier="FEEDBACK">
126
+ <delete>
127
+ <variable identifier="FEEDBACK"/>
128
+ <baseValue baseType="identifier">again</baseValue>
129
+ </delete>
130
+ </setOutcomeValue>
131
+ </responseElse>
132
+ </responseCondition>
133
+ </responseProcessing>
134
+ <modalFeedback outcomeIdentifier="FEEDBACK" identifier="MGH001C" showHide="show">Yes, that is
135
+ correct.</modalFeedback>
136
+ <modalFeedback outcomeIdentifier="FEEDBACK" identifier="tryAgain" showHide="show">No, that is
137
+ not correct.</modalFeedback>
138
+ <modalFeedback outcomeIdentifier="FEEDBACK" identifier="oneMore" showHide="show">No, that is not
139
+ correct, try one more time.</modalFeedback>
140
+ <modalFeedback outcomeIdentifier="FEEDBACK" identifier="giveUp" showHide="show">No, the correct
141
+ answer is Vicente Fox.</modalFeedback>
142
+ </assessmentItem>
@@ -0,0 +1,32 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xmlns:qh5="http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0"
5
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
6
+ identifier="figures" title="Castles" adaptive="false" timeDependent="false">
7
+ <responseDeclaration identifier="RESPONSE" cardinality="single" baseType="identifier">
8
+ <correctResponse>
9
+ <value>ChoiceA</value>
10
+ </correctResponse>
11
+ </responseDeclaration>
12
+ <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float">
13
+ <defaultValue>
14
+ <value>0</value>
15
+ </defaultValue>
16
+ </outcomeDeclaration>
17
+ <itemBody>
18
+ <div>
19
+ <qh5:figure>
20
+ <img src="images/castle.png" alt="A castle" height="250" width="200"/>
21
+ <qh5:figcaption>Figure 1: A beautiful castle.</qh5:figcaption>
22
+ </qh5:figure>
23
+ </div>
24
+ <choiceInteraction responseIdentifier="RESPONSE" shuffle="true" maxChoices="1">
25
+ <prompt>What is the name of the castle above?</prompt>
26
+ <simpleChoice identifier="ChoiceA">Neuschwanstein Castle</simpleChoice>
27
+ <simpleChoice identifier="ChoiceB">Fortress of Knights</simpleChoice>
28
+ <simpleChoice identifier="ChoiceC">Edinburgh Castle</simpleChoice>
29
+ </choiceInteraction>
30
+ </itemBody>
31
+ <responseProcessing template="http://www.imsglobal.org/question/qti_v2p2/rptemplates/match_correct"/>
32
+ </assessmentItem>
@@ -0,0 +1,33 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
5
+ identifier="gapMatch" title="Richard III (Take 1)" adaptive="false" timeDependent="false">
6
+ <responseDeclaration identifier="RESPONSE" cardinality="multiple" baseType="directedPair">
7
+ <correctResponse>
8
+ <value>W G1</value>
9
+ <value>Su G2</value>
10
+ </correctResponse>
11
+ <mapping defaultValue="-1" lowerBound="0">
12
+ <mapEntry mapKey="W G1" mappedValue="1"/>
13
+ <mapEntry mapKey="Su G2" mappedValue="2"/>
14
+ </mapping>
15
+ </responseDeclaration>
16
+ <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
17
+ <itemBody>
18
+ <gapMatchInteraction responseIdentifier="RESPONSE" shuffle="false">
19
+ <prompt>Identify the missing words in this famous quote from Shakespeare's Richard III.</prompt>
20
+ <gapText identifier="W" matchMax="1">winter</gapText>
21
+ <gapText identifier="Sp" matchMax="1">spring</gapText>
22
+ <gapText identifier="Su" matchMax="1">summer</gapText>
23
+ <gapText identifier="A" matchMax="1">autumn</gapText>
24
+ <blockquote>
25
+ <p>Now is the <gap identifier="G1"/> of our discontent<br/> Made glorious <gap
26
+ identifier="G2"/> by this sun of York;<br/> And all the clouds that lour'd
27
+ upon our house<br/> In the deep bosom of the ocean buried.</p>
28
+ </blockquote>
29
+ </gapMatchInteraction>
30
+ </itemBody>
31
+ <responseProcessing
32
+ template="http://www.imsglobal.org/question/qti_v2p2/rptemplates/map_response"/>
33
+ </assessmentItem>
@@ -0,0 +1,36 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
5
+ identifier="graphicAssociate" title="Low-cost Flying" adaptive="false" timeDependent="false">
6
+ <responseDeclaration identifier="RESPONSE" cardinality="multiple" baseType="pair">
7
+ <correctResponse>
8
+ <value>C B</value>
9
+ <value>C D</value>
10
+ </correctResponse>
11
+ <mapping lowerBound="0" defaultValue="0">
12
+ <mapEntry mapKey="A B" mappedValue="-1"/>
13
+ <mapEntry mapKey="A C" mappedValue="-1"/>
14
+ <mapEntry mapKey="A D" mappedValue="-1"/>
15
+ <mapEntry mapKey="B C" mappedValue="1"/>
16
+ <mapEntry mapKey="B D" mappedValue="-1"/>
17
+ <mapEntry mapKey="C D" mappedValue="1"/>
18
+ </mapping>
19
+ </responseDeclaration>
20
+ <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
21
+ <itemBody>
22
+ <p>Frizz, a new low cost airline, already operates a service connecting Manchester and
23
+ Edinburgh but has recently opened two new routes: a service between London and Edinburgh
24
+ and one between London and Manchester.</p>
25
+ <graphicAssociateInteraction responseIdentifier="RESPONSE" maxAssociations="3">
26
+ <prompt>Mark the airline's new routes on the airport map:</prompt>
27
+ <object type="image/png" width="206" height="280" data="images/ukair.png">UK Map</object>
28
+ <associableHotspot shape="circle" coords="77,115,8" identifier="A" matchMax="3"/>
29
+ <associableHotspot shape="circle" coords="118,184,8" identifier="B" matchMax="3"/>
30
+ <associableHotspot shape="circle" coords="150,235,8" identifier="C" matchMax="3"/>
31
+ <associableHotspot shape="circle" coords="96,114,8" identifier="D" matchMax="3"/>
32
+ </graphicAssociateInteraction>
33
+ </itemBody>
34
+ <responseProcessing
35
+ template="http://www.imsglobal.org/question/qti_v2p2/rptemplates/map_response"/>
36
+ </assessmentItem>
@@ -0,0 +1,54 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
5
+ identifier="graphicGapfill" title="Airport Tags" adaptive="false" timeDependent="false">
6
+ <responseDeclaration identifier="RESPONSE" cardinality="multiple" baseType="directedPair">
7
+ <correctResponse>
8
+ <value>GLA A</value>
9
+ <value>EDI B</value>
10
+ <value>MAN C</value>
11
+ </correctResponse>
12
+ <mapping lowerBound="0" defaultValue="-1">
13
+ <mapEntry mapKey="GLA A" mappedValue="1"/>
14
+ <mapEntry mapKey="EDI B" mappedValue="1"/>
15
+ <mapEntry mapKey="MAN C" mappedValue="1"/>
16
+ </mapping>
17
+ </responseDeclaration>
18
+ <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
19
+ <itemBody>
20
+ <p>The International Air Transport Association assigns three-letter codes to identify
21
+ airports worldwide. For example, London Heathrow has code LHR.</p>
22
+ <graphicGapMatchInteraction responseIdentifier="RESPONSE">
23
+ <prompt>Some of the labels on the following diagram are missing: can you identify the
24
+ correct three-letter codes for the unlabelled airports?</prompt>
25
+ <object type="image/png" data="images/ukairtags.png" width="206" height="280"/>
26
+ <gapImg identifier="CBG" matchMax="1">
27
+ <object type="image/png" data="images/CBG.png" width="20" height="9"/>
28
+ </gapImg>
29
+ <gapImg identifier="EBG" matchMax="1">
30
+ <object type="image/png" data="images/EBG.png" width="18" height="9"/>
31
+ </gapImg>
32
+ <gapImg identifier="EDI" matchMax="1">
33
+ <object type="image/png" data="images/EDI.png" width="14" height="9"/>
34
+ </gapImg>
35
+ <gapImg identifier="GLA" matchMax="1">
36
+ <object type="image/png" data="images/GLA.png" width="17" height="9"/>
37
+ </gapImg>
38
+ <gapImg identifier="MAN" matchMax="1">
39
+ <object type="image/png" data="images/MAN.png" width="21" height="9"/>
40
+ </gapImg>
41
+ <gapImg identifier="MCH" matchMax="1">
42
+ <object type="image/png" data="images/MCH.png" width="22" height="9"/>
43
+ </gapImg>
44
+ <associableHotspot identifier="A" matchMax="1" shape="rect" coords="12,108,39,121"/>
45
+ <associableHotspot identifier="B" matchMax="1" shape="rect" coords="128,103,155,126"/>
46
+ <associableHotspot identifier="C" matchMax="1" shape="rect" coords="66,165,93,178"/>
47
+ <!--
48
+ <associableHotspot identifier="D" matchMax="1" shape="rect" coords="121,209,148,222"/>
49
+ -->
50
+ </graphicGapMatchInteraction>
51
+ </itemBody>
52
+ <responseProcessing
53
+ template="http://www.imsglobal.org/question/qti_v2p2/rptemplates/map_response"/>
54
+ </assessmentItem>
@@ -0,0 +1,50 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
5
+ identifier="graphicGapMatchText" title="Airport Tags Using Text" adaptive="false" timeDependent="false">
6
+ <responseDeclaration identifier="RESPONSE" cardinality="multiple" baseType="directedPair">
7
+ <correctResponse>
8
+ <value>GLA A</value>
9
+ <value>EDI B</value>
10
+ <value>MAN C</value>
11
+ </correctResponse>
12
+ <mapping lowerBound="0" defaultValue="-1">
13
+ <mapEntry mapKey="GLA A" mappedValue="1"/>
14
+ <mapEntry mapKey="EDI B" mappedValue="1"/>
15
+ <mapEntry mapKey="MAN C" mappedValue="1"/>
16
+ </mapping>
17
+ </responseDeclaration>
18
+ <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
19
+ <itemBody>
20
+ <p>The International Air Transport Association assigns three-letter codes to identify
21
+ airports worldwide. For example, London Heathrow has code LHR.</p>
22
+ <graphicGapMatchInteraction responseIdentifier="RESPONSE">
23
+ <prompt>Some of the labels on the following diagram are missing: can you identify the
24
+ correct three-letter codes for the unlabelled airports?</prompt>
25
+ <object type="image/png" data="images/ukairtags.png" width="206" height="280"/>
26
+ <gapText identifier="CBG" matchMax="1">
27
+ <strong>CBG</strong>
28
+ </gapText>
29
+ <gapText identifier="EBG" matchMax="1">
30
+ <strong>EBG</strong>
31
+ </gapText>
32
+ <gapText identifier="EDI" matchMax="1">
33
+ <strong>EDI</strong>
34
+ </gapText>
35
+ <gapText identifier="GLA" matchMax="1">
36
+ <strong>GLA</strong>
37
+ </gapText>
38
+ <gapText identifier="MAN" matchMax="1">
39
+ <strong>MAN</strong>
40
+ </gapText>
41
+ <gapText identifier="MCH" matchMax="1">
42
+ <strong>MCH</strong>
43
+ </gapText>
44
+ <associableHotspot identifier="A" matchMax="1" shape="rect" coords="12,108,39,121"/>
45
+ <associableHotspot identifier="B" matchMax="1" shape="rect" coords="128,103,155,126"/>
46
+ <associableHotspot identifier="C" matchMax="1" shape="rect" coords="66,165,93,178"/>
47
+ </graphicGapMatchInteraction>
48
+ </itemBody>
49
+ <responseProcessing template="http://www.imsglobal.org/question/qti_v2p2/rptemplates/map_response"/>
50
+ </assessmentItem>
@@ -0,0 +1,32 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
5
+ identifier="graphicOrder" title="Flying Home" adaptive="false" timeDependent="false">
6
+ <responseDeclaration identifier="RESPONSE" cardinality="ordered" baseType="identifier">
7
+ <correctResponse>
8
+ <value>A</value>
9
+ <value>D</value>
10
+ <value>C</value>
11
+ <value>B</value>
12
+ </correctResponse>
13
+ </responseDeclaration>
14
+ <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
15
+ <itemBody>
16
+ <p>Lorna is flying back home to the UK. Ideally, she would like to fly in directly to her
17
+ home town of Glasgow. Edinburgh is her second choice and, if necessary, she could fly
18
+ into London and pick up an internal connecting flight. Although she has been offered a
19
+ cheap flight to Manchester it remains her least favourite option as connecting flights
20
+ to Glasgow are not very reliable from there.</p>
21
+ <graphicOrderInteraction responseIdentifier="RESPONSE">
22
+ <prompt>Mark the airports shown on the map according to Lorna's preferences.</prompt>
23
+ <object type="image/png" width="206" height="280" data="images/ukair.png">UK Map</object>
24
+ <hotspotChoice shape="circle" coords="77,115,8" identifier="A"/>
25
+ <hotspotChoice shape="circle" coords="118,184,8" identifier="B"/>
26
+ <hotspotChoice shape="circle" coords="150,235,8" identifier="C"/>
27
+ <hotspotChoice shape="circle" coords="96,114,8" identifier="D"/>
28
+ </graphicOrderInteraction>
29
+ </itemBody>
30
+ <responseProcessing
31
+ template="http://www.imsglobal.org/question/qti_v2p2/rptemplates/match_correct"/>
32
+ </assessmentItem>
@@ -0,0 +1,85 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
5
+ identifier="hint" title="Mexican President (Take 2)" adaptive="true" timeDependent="false">
6
+ <responseDeclaration identifier="RESPONSE" cardinality="single" baseType="identifier">
7
+ <correctResponse>
8
+ <value>MGH001C</value>
9
+ </correctResponse>
10
+ </responseDeclaration>
11
+ <responseDeclaration identifier="HINTREQUEST" cardinality="single" baseType="boolean"/>
12
+ <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
13
+ <outcomeDeclaration identifier="FEEDBACK" cardinality="single" baseType="identifier"/>
14
+ <outcomeDeclaration identifier="END_FEEDBACK" cardinality="single" baseType="identifier"/>
15
+ <itemBody>
16
+ <choiceInteraction responseIdentifier="RESPONSE" shuffle="false" maxChoices="1">
17
+ <prompt>Who is the President of Mexico?</prompt>
18
+ <simpleChoice identifier="MGH001A"> George W Bush <feedbackInline
19
+ outcomeIdentifier="FEEDBACK" identifier="MGH001A" showHide="show">No, he is the
20
+ President of the USA.</feedbackInline>
21
+ </simpleChoice>
22
+ <simpleChoice identifier="MGH001B"> Tony Blair <feedbackInline
23
+ outcomeIdentifier="FEEDBACK" identifier="MGH001B" showHide="show">No, he is the
24
+ Prime Minister of England.</feedbackInline>
25
+ </simpleChoice>
26
+ <simpleChoice identifier="MGH001C"> Vicente Fox <feedbackInline
27
+ outcomeIdentifier="FEEDBACK" identifier="MGH001C" showHide="show"
28
+ >Yes.</feedbackInline>
29
+ </simpleChoice>
30
+ <simpleChoice identifier="MGH001D"> Ariel Sharon <feedbackInline
31
+ outcomeIdentifier="FEEDBACK" identifier="MGH001D" showHide="show">No, he is the
32
+ Prime Minister of Israel.</feedbackInline>
33
+ </simpleChoice>
34
+ </choiceInteraction>
35
+ <p>
36
+ <endAttemptInteraction responseIdentifier="HINTREQUEST" title="Show Hint"/>
37
+ </p>
38
+ </itemBody>
39
+ <responseProcessing>
40
+ <responseCondition>
41
+ <responseIf>
42
+ <variable identifier="HINTREQUEST"/>
43
+ <setOutcomeValue identifier="FEEDBACK">
44
+ <baseValue baseType="identifier">HINT</baseValue>
45
+ </setOutcomeValue>
46
+ <setOutcomeValue identifier="END_FEEDBACK">
47
+ <baseValue baseType="identifier">NONE</baseValue>
48
+ </setOutcomeValue>
49
+ </responseIf>
50
+ <responseElse>
51
+ <responseCondition>
52
+ <responseIf>
53
+ <match>
54
+ <variable identifier="RESPONSE"/>
55
+ <correct identifier="RESPONSE"/>
56
+ </match>
57
+ <setOutcomeValue identifier="SCORE">
58
+ <baseValue baseType="float">1</baseValue>
59
+ </setOutcomeValue>
60
+ <setOutcomeValue identifier="END_FEEDBACK">
61
+ <baseValue baseType="identifier">CORRECT</baseValue>
62
+ </setOutcomeValue>
63
+ </responseIf>
64
+ <responseElse>
65
+ <setOutcomeValue identifier="SCORE">
66
+ <baseValue baseType="float">0</baseValue>
67
+ </setOutcomeValue>
68
+ <setOutcomeValue identifier="END_FEEDBACK">
69
+ <baseValue baseType="identifier">INCORRECT</baseValue>
70
+ </setOutcomeValue>
71
+ </responseElse>
72
+ </responseCondition>
73
+ <setOutcomeValue identifier="FEEDBACK">
74
+ <variable identifier="RESPONSE"/>
75
+ </setOutcomeValue>
76
+ </responseElse>
77
+ </responseCondition>
78
+ </responseProcessing>
79
+ <modalFeedback outcomeIdentifier="FEEDBACK" identifier="HINT" showHide="show">Tony lives in the
80
+ United Kingdom and George lives in Washington.</modalFeedback>
81
+ <modalFeedback outcomeIdentifier="END_FEEDBACK" identifier="CORRECT" showHide="show">Yes, that
82
+ is correct.</modalFeedback>
83
+ <modalFeedback outcomeIdentifier="END_FEEDBACK" identifier="INCORRECT" showHide="show">No, the
84
+ correct answer is Vicente Fox.</modalFeedback>
85
+ </assessmentItem>