qti 0.9.4 → 0.9.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. checksums.yaml +4 -4
  2. data/lib/qti/models/manifest.rb +2 -1
  3. data/lib/qti/v2/models/non_assessment_test.rb +9 -1
  4. data/lib/qti/version.rb +1 -1
  5. data/spec/fixtures/items_2.1/Example02-feedbackInline.xml +1 -3
  6. data/spec/fixtures/items_2.1/categorization.xml +1 -1
  7. data/spec/fixtures/items_2.1/choice.xml +25 -28
  8. data/spec/fixtures/items_2.1/essay.xml +1 -4
  9. data/spec/fixtures/items_2.1/extended_text_rubric.xml +33 -36
  10. data/spec/fixtures/items_2.1/gap_match.xml +1 -4
  11. data/spec/fixtures/items_2.1/match2.xml +1 -1
  12. data/spec/fixtures/items_2.1/order.xml +20 -23
  13. data/spec/fixtures/items_2.1/text_entry.xml +1 -1
  14. data/spec/fixtures/{items_2.1 → items_2.2}/Example01-modalFeedback.xml +0 -0
  15. data/spec/fixtures/items_2.2/Example02-feedbackInline.xml +67 -0
  16. data/spec/fixtures/{items_2.1 → items_2.2}/Example03-feedbackBlock-solution-random.xml +0 -0
  17. data/spec/fixtures/{items_2.1 → items_2.2}/Example03-feedbackBlock-solution.xml +0 -0
  18. data/spec/fixtures/{items_2.1 → items_2.2}/Example04-feedbackBlock-templateBlock.xml +0 -0
  19. data/spec/fixtures/{items_2.1 → items_2.2}/Example05-feedbackBlock-adaptive.xml +0 -0
  20. data/spec/fixtures/{items_2.1 → items_2.2}/adaptive.xml +0 -0
  21. data/spec/fixtures/{items_2.1 → items_2.2}/adaptive_template.xml +0 -0
  22. data/spec/fixtures/{items_2.1 → items_2.2}/associate.xml +0 -0
  23. data/spec/fixtures/{items_2.1 → items_2.2}/audio-video.xml +0 -0
  24. data/spec/fixtures/items_2.2/categorization.xml +35 -0
  25. data/spec/fixtures/items_2.2/choice.xml +31 -0
  26. data/spec/fixtures/{items_2.1 → items_2.2}/choice_aria.xml +0 -0
  27. data/spec/fixtures/{items_2.1 → items_2.2}/choice_fixed.xml +0 -0
  28. data/spec/fixtures/{items_2.1 → items_2.2}/choice_multiple.xml +0 -0
  29. data/spec/fixtures/{items_2.1 → items_2.2}/choice_multiple_chocolade.xml +0 -0
  30. data/spec/fixtures/{items_2.1 → items_2.2}/choice_multiple_rtl.xml +0 -0
  31. data/spec/fixtures/{items_2.1 → items_2.2}/choice_ruby.xml +0 -0
  32. data/spec/fixtures/{items_2.1 → items_2.2}/choice_t_f.xml +0 -0
  33. data/spec/fixtures/{items_2.1 → items_2.2}/choice_true_false.xml +0 -0
  34. data/spec/fixtures/{items_2.1 → items_2.2}/data-attributes.xml +0 -0
  35. data/spec/fixtures/{items_2.1 → items_2.2}/drawing.xml +0 -0
  36. data/spec/fixtures/items_2.2/essay.xml +14 -0
  37. data/spec/fixtures/{items_2.1 → items_2.2}/extended_text.xml +0 -0
  38. data/spec/fixtures/items_2.2/extended_text_rubric.xml +36 -0
  39. data/spec/fixtures/{items_2.1 → items_2.2}/feedback_adaptive.xml +0 -0
  40. data/spec/fixtures/{items_2.1 → items_2.2}/figures.xml +0 -0
  41. data/spec/fixtures/items_2.2/gap_match.xml +33 -0
  42. data/spec/fixtures/{items_2.1 → items_2.2}/graphic_associate.xml +0 -0
  43. data/spec/fixtures/{items_2.1 → items_2.2}/graphic_gap_match.xml +0 -0
  44. data/spec/fixtures/{items_2.1 → items_2.2}/graphic_gap_match_text.xml +0 -0
  45. data/spec/fixtures/{items_2.1 → items_2.2}/graphic_order.xml +0 -0
  46. data/spec/fixtures/{items_2.1 → items_2.2}/hint.xml +0 -0
  47. data/spec/fixtures/{items_2.1 → items_2.2}/hotspot.xml +0 -0
  48. data/spec/fixtures/{items_2.1 → items_2.2}/hottext.xml +0 -0
  49. data/spec/fixtures/{items_2.1 → items_2.2}/images/CBG.png +0 -0
  50. data/spec/fixtures/{items_2.1 → items_2.2}/images/EBG.png +0 -0
  51. data/spec/fixtures/{items_2.1 → items_2.2}/images/EDI.png +0 -0
  52. data/spec/fixtures/{items_2.1 → items_2.2}/images/GLA.png +0 -0
  53. data/spec/fixtures/{items_2.1 → items_2.2}/images/MAN.png +0 -0
  54. data/spec/fixtures/{items_2.1 → items_2.2}/images/MCH.png +0 -0
  55. data/spec/fixtures/{items_2.1 → items_2.2}/images/airport.png +0 -0
  56. data/spec/fixtures/{items_2.1 → items_2.2}/images/blueStar.png +0 -0
  57. data/spec/fixtures/{items_2.1 → items_2.2}/images/blue_door.png +0 -0
  58. data/spec/fixtures/{items_2.1 → items_2.2}/images/bus.png +0 -0
  59. data/spec/fixtures/{items_2.1 → items_2.2}/images/castle.png +0 -0
  60. data/spec/fixtures/{items_2.1 → items_2.2}/images/greenTriangle.png +0 -0
  61. data/spec/fixtures/{items_2.1 → items_2.2}/images/green_door.png +0 -0
  62. data/spec/fixtures/{items_2.1 → items_2.2}/images/house.png +0 -0
  63. data/spec/fixtures/{items_2.1 → items_2.2}/images/open_car.png +0 -0
  64. data/spec/fixtures/{items_2.1 → items_2.2}/images/open_goat.png +0 -0
  65. data/spec/fixtures/{items_2.1 → items_2.2}/images/plane.png +0 -0
  66. data/spec/fixtures/{items_2.1 → items_2.2}/images/postcard.eps +0 -0
  67. data/spec/fixtures/{items_2.1 → items_2.2}/images/postcard.png +0 -0
  68. data/spec/fixtures/{items_2.1 → items_2.2}/images/rectangle.svg +0 -0
  69. data/spec/fixtures/{items_2.1 → items_2.2}/images/redCircle.png +0 -0
  70. data/spec/fixtures/{items_2.1 → items_2.2}/images/red_door.png +0 -0
  71. data/spec/fixtures/{items_2.1 → items_2.2}/images/sign.png +0 -0
  72. data/spec/fixtures/{items_2.1 → items_2.2}/images/survey.jpg +0 -0
  73. data/spec/fixtures/{items_2.1 → items_2.2}/images/train.png +0 -0
  74. data/spec/fixtures/{items_2.1 → items_2.2}/images/uk.png +0 -0
  75. data/spec/fixtures/{items_2.1 → items_2.2}/images/ukair.png +0 -0
  76. data/spec/fixtures/{items_2.1 → items_2.2}/images/ukairtags.png +0 -0
  77. data/spec/fixtures/{items_2.1 → items_2.2}/inline_choice.xml +0 -0
  78. data/spec/fixtures/{items_2.1 → items_2.2}/inline_choice_math.xml +0 -0
  79. data/spec/fixtures/{items_2.1 → items_2.2}/likert.xml +0 -0
  80. data/spec/fixtures/items_2.2/match.xml +28 -0
  81. data/spec/fixtures/items_2.2/match2.xml +119 -0
  82. data/spec/fixtures/{items_2.1 → items_2.2}/math.xml +0 -0
  83. data/spec/fixtures/{items_2.1 → items_2.2}/mc_calc3.xml +0 -0
  84. data/spec/fixtures/{items_2.1 → items_2.2}/mc_calc5.xml +0 -0
  85. data/spec/fixtures/{items_2.1 → items_2.2}/mc_stat2.xml +0 -0
  86. data/spec/fixtures/{items_2.1 → items_2.2}/media_coords.xml +0 -0
  87. data/spec/fixtures/{items_2.1 → items_2.2}/multi-input.xml +0 -0
  88. data/spec/fixtures/{items_2.1 → items_2.2}/nested_object.xml +0 -0
  89. data/spec/fixtures/items_2.2/order.xml +25 -0
  90. data/spec/fixtures/{items_2.1 → items_2.2}/order_partial_scoring.xml +0 -0
  91. data/spec/fixtures/{items_2.1 → items_2.2}/order_rtl.xml +0 -0
  92. data/spec/fixtures/{items_2.1 → items_2.2}/orkney1.xml +0 -0
  93. data/spec/fixtures/{items_2.1 → items_2.2}/orkney2.xml +0 -0
  94. data/spec/fixtures/{items_2.1 → items_2.2}/position_object.xml +0 -0
  95. data/spec/fixtures/{items_2.1 → items_2.2}/select_point.xml +0 -0
  96. data/spec/fixtures/{items_2.1 → items_2.2}/shared/orkney.css +0 -0
  97. data/spec/fixtures/{items_2.1 → items_2.2}/shared/orkney.html +0 -0
  98. data/spec/fixtures/{items_2.1 → items_2.2}/slider.xml +0 -0
  99. data/spec/fixtures/{items_2.1 → items_2.2}/svg.xml +0 -0
  100. data/spec/fixtures/{items_2.1 → items_2.2}/template.xml +0 -0
  101. data/spec/fixtures/{items_2.1 → items_2.2}/template_image.xml +0 -0
  102. data/spec/fixtures/items_2.2/text_entry.xml +23 -0
  103. data/spec/fixtures/{items_2.1 → items_2.2}/upload.xml +0 -0
  104. data/spec/fixtures/{items_2.1 → items_2.2}/upload_composite.xml +0 -0
  105. data/spec/fixtures/no_assessment_xml/choice.xml +12 -0
  106. data/spec/fixtures/no_assessment_xml/imsmanifest.xml +17 -0
  107. data/spec/fixtures/unsupported_version/imsmanifest.xml +25 -0
  108. data/spec/gemfiles/nokogiri-1.8.gemfile.lock +7 -6
  109. data/spec/lib/qti/models/manifest_spec.rb +6 -6
  110. data/spec/lib/qti/v2/models/non_assessment_test_spec.rb +25 -23
  111. data/spec/lib/qti_spec.rb +1 -1
  112. metadata +190 -166
  113. data/spec/fixtures/items_2.1/imsmanifest.xml +0 -227
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d51f4bd587bfd6376071ce44076e39971368094c
4
- data.tar.gz: 0f3c5d39da9365f039513b7af35df510bcbb68e2
3
+ metadata.gz: de684c7b536b54f0d000744e4a03fc3a494f079c
4
+ data.tar.gz: 56c2f6785e80667f0cc03a60cc5320f4510427dd
5
5
  SHA512:
6
- metadata.gz: 8f8afa0da62554274a7bbbde226102d001c688f6287c2385a7f3b7808499923793b4e205f7e348425ec5a1c47d766e819549814aa9bf7751d2a959f9b48e1ae6
7
- data.tar.gz: c3d584cad2cfca642863fbb78cb1e413e9573066371f50e2d12e0a2066b13c975e7256e1140f6818adf029267eea8f8acb2d861dd07f2192d26ee1d31920d590
6
+ metadata.gz: 2b8550bb9fda07b6c28ed06b41af6ccfdd41b7f32eff9eb8debc504bea21f752760177bd30a10c6cf6bfda9d4a6bdb324fa20f3dd700b7622e04939cb8206609
7
+ data.tar.gz: 58af2b57565082b646a19ecaa55e6eb1a59e7946f6b5b32034395b5d377764d6a6b3678b10fa96acd88869dd7f0b6a281543550912e18314ac159d328f16da2c
@@ -28,7 +28,8 @@ module Qti
28
28
  end
29
29
 
30
30
  def qti_2_non_assessment_href
31
- item_path = @doc.at_xpath("//xmlns:resources/xmlns:resource[@type='imsqti_item_xmlv2p1']/@href")&.content
31
+ item_path = @doc.at_xpath("//xmlns:resources/xmlns:resource[@type='imsqti_item_xmlv2p1']/@href")&.content ||
32
+ @doc.at_xpath("//xmlns:resources/xmlns:resource[@type='imsqti_item_xmlv2p2']/@href")
32
33
  Qti::V2::Models::NonAssessmentTest.from_path!(@path, @package_root) if item_path
33
34
  end
34
35
 
@@ -7,7 +7,7 @@ module Qti
7
7
  def assessment_items
8
8
  # Return the xml files we should be parsing
9
9
  @assessment_item_reference_hrefs ||= begin
10
- @doc.xpath("//xmlns:resource[@type='imsqti_item_xmlv2p1']/@href").map do |href|
10
+ hrefs.map do |href|
11
11
  remap_href_path(href)
12
12
  end
13
13
  end
@@ -20,6 +20,14 @@ module Qti
20
20
  href = xpath_with_single_check("//xmlns:resource[@identifier='#{dependencies.first}']/@href")
21
21
  remap_href_path(href)
22
22
  end
23
+
24
+ def hrefs
25
+ if xpath_with_single_check("//xmlns:resource[@type='imsqti_item_xmlv2p1']/@href")&.value
26
+ @doc.xpath("//xmlns:resource[@type='imsqti_item_xmlv2p1']/@href")
27
+ else xpath_with_single_check("//xmlns:resource[@type='imsqti_item_xmlv2p2']/@href")&.value
28
+ @doc.xpath("//xmlns:resource[@type='imsqti_item_xmlv2p2']/@href")
29
+ end
30
+ end
23
31
  end
24
32
  end
25
33
  end
data/lib/qti/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Qti
2
- VERSION = '0.9.4'.freeze
2
+ VERSION = '0.9.5'.freeze
3
3
  end
@@ -1,8 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <!-- This item is a true/false question with inline feedback, adapted from the CC question QUE_102010.xml -->
3
- <assessmentItem 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
- xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2" identifier="Example02-feedbackInline"
3
+ <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p1 http://www.imsglobal.org/xsd/qti/qtiv2p1/imsqti_v2p1p2.xsd" identifier="Example02-feedbackInline"
6
4
  title="Example 2 - inline feedback" adaptive="false" timeDependent="false">
7
5
  <responseDeclaration identifier="RESPONSE" cardinality="single" baseType="identifier">
8
6
  <correctResponse>
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd" identifier="match" title="Characters and Plays" adaptive="false" timeDependent="false">
2
+ <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p1 http://www.imsglobal.org/xsd/qti/qtiv2p1/imsqti_v2p1p2.xsd" identifier="match" title="Characters and Plays" adaptive="false" timeDependent="false">
3
3
  <responseDeclaration identifier="RESPONSE" cardinality="multiple" baseType="directedPair">
4
4
  <correctResponse>
5
5
  <value>C R</value>
@@ -1,31 +1,28 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <!-- Thie example adapted from the PET Handbook, copyright University of Cambridge ESOL Examinations -->
3
- <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
4
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5
- xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
6
- identifier="choice" title="Unattended Luggage" 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
- <p>Look at the text in the picture.</p>
19
- <p>
20
- <img src="images/sign.png" alt="NEVER LEAVE LUGGAGE UNATTENDED"/>
21
- </p>
22
- <choiceInteraction responseIdentifier="RESPONSE" shuffle="TRUE" maxChoices="1">
23
- <prompt>What does it say?</prompt>
24
- <simpleChoice identifier="ChoiceA">You must stay with your luggage at all times.</simpleChoice>
25
- <simpleChoice identifier="ChoiceB">Do not let someone else look after your luggage.</simpleChoice>
26
- <simpleChoice identifier="ChoiceC">Remember your luggage when you leave.</simpleChoice>
27
- </choiceInteraction>
28
- </itemBody>
29
- <responseProcessing
30
- template="http://www.imsglobal.org/question/qti_v2p2/rptemplates/match_correct"/>
3
+ <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p1 http://www.imsglobal.org/xsd/qti/qtiv2p1/imsqti_v2p1p2.xsd" identifier="choice" title="Unattended Luggage" adaptive="false" timeDependent="false">
4
+ <responseDeclaration identifier="RESPONSE" cardinality="single" baseType="identifier">
5
+ <correctResponse>
6
+ <value>ChoiceA</value>
7
+ </correctResponse>
8
+ </responseDeclaration>
9
+ <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float">
10
+ <defaultValue>
11
+ <value>0</value>
12
+ </defaultValue>
13
+ </outcomeDeclaration>
14
+ <itemBody>
15
+ <p>Look at the text in the picture.</p>
16
+ <p>
17
+ <img src="images/sign.png" alt="NEVER LEAVE LUGGAGE UNATTENDED"/>
18
+ </p>
19
+ <choiceInteraction responseIdentifier="RESPONSE" shuffle="TRUE" maxChoices="1">
20
+ <prompt>What does it say?</prompt>
21
+ <simpleChoice identifier="ChoiceA">You must stay with your luggage at all times.</simpleChoice>
22
+ <simpleChoice identifier="ChoiceB">Do not let someone else look after your luggage.</simpleChoice>
23
+ <simpleChoice identifier="ChoiceC">Remember your luggage when you leave.</simpleChoice>
24
+ </choiceInteraction>
25
+ </itemBody>
26
+ <responseProcessing
27
+ template="http://www.imsglobal.org/question/qti_v2p2/rptemplates/match_correct"/>
31
28
  </assessmentItem>
@@ -1,8 +1,5 @@
1
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="essay" title="Write an essay" adaptive="false" timeDependent="false">
2
+ <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p1 http://www.imsglobal.org/xsd/qti/qtiv2p1/imsqti_v2p1p2.xsd" identifier="essay" title="Write an essay" adaptive="false" timeDependent="false">
6
3
  <responseDeclaration identifier="RESPONSE" cardinality="single" baseType="string"/>
7
4
  <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float" externalScored="human" normalMaximum="25"/>
8
5
  <itemBody>
@@ -1,36 +1,33 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!-- Thie example adapted from the PET Handbook, copyright University of Cambridge ESOL Examinations -->
3
- <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
4
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5
- xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
6
- identifier="extendedText" title="Writing a Postcard with rubric" adaptive="false" timeDependent="false">
7
- <responseDeclaration identifier="RESPONSE" cardinality="single" baseType="string"/>
8
- <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
9
- <itemBody>
10
- <p>Read this postcard from your English pen-friend, Sam.</p>
11
- <div>
12
- <object type="image/png" data="images/postcard.png">
13
- <blockquote class="postcard">
14
- <p>Here is a postcard of my town. Please send me<br/> a postcard from your town.
15
- What size is your<br/> town? What is the nicest part of your town?<br/>
16
- Where do you go in the evenings?<br/> Sam.</p>
17
- </blockquote>
18
- </object>
19
- </div>
20
- <extendedTextInteraction responseIdentifier="RESPONSE" expectedLength="200">
21
- <prompt>Write Sam a postcard. Answer the questions. Write 25-35 words.</prompt>
22
- </extendedTextInteraction>
23
- <rubricBlock view="scorer">
24
- <h1>Scoring Guidelines</h1>
25
- <div>
26
- <p><b>Max Score:</b> 3.0 points</p>
27
- <p><b>Scoring:</b></p>
28
- <ul>
29
- <li>When not all 3 questions are answered in the response: -1 for each missing.</li>
30
- <li>Check for gramatical errors: -0.1 per error.</li>
31
- <li>Possibly add in .1 increments extra bonus points for extra good answers.</li>
32
- </ul>
33
- </div>
34
- </rubricBlock>
35
- </itemBody>
36
- </assessmentItem>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Thie example adapted from the PET Handbook, copyright University of Cambridge ESOL Examinations -->
3
+ <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p1 http://www.imsglobal.org/xsd/qti/qtiv2p1/imsqti_v2p1p2.xsd" identifier="extendedText" title="Writing a Postcard with rubric" adaptive="false" timeDependent="false">
4
+ <responseDeclaration identifier="RESPONSE" cardinality="single" baseType="string"/>
5
+ <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
6
+ <itemBody>
7
+ <p>Read this postcard from your English pen-friend, Sam.</p>
8
+ <div>
9
+ <object type="image/png" data="images/postcard.png">
10
+ <blockquote class="postcard">
11
+ <p>Here is a postcard of my town. Please send me<br/> a postcard from your town.
12
+ What size is your<br/> town? What is the nicest part of your town?<br/>
13
+ Where do you go in the evenings?<br/> Sam.</p>
14
+ </blockquote>
15
+ </object>
16
+ </div>
17
+ <extendedTextInteraction responseIdentifier="RESPONSE" expectedLength="200">
18
+ <prompt>Write Sam a postcard. Answer the questions. Write 25-35 words.</prompt>
19
+ </extendedTextInteraction>
20
+ <rubricBlock view="scorer">
21
+ <h1>Scoring Guidelines</h1>
22
+ <div>
23
+ <p><b>Max Score:</b> 3.0 points</p>
24
+ <p><b>Scoring:</b></p>
25
+ <ul>
26
+ <li>When not all 3 questions are answered in the response: -1 for each missing.</li>
27
+ <li>Check for gramatical errors: -0.1 per error.</li>
28
+ <li>Possibly add in .1 increments extra bonus points for extra good answers.</li>
29
+ </ul>
30
+ </div>
31
+ </rubricBlock>
32
+ </itemBody>
33
+ </assessmentItem>
@@ -1,8 +1,5 @@
1
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">
2
+ <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p1 http://www.imsglobal.org/xsd/qti/qtiv2p1/imsqti_v2p1p2.xsd" identifier="gapMatch" title="Richard III (Take 1)" adaptive="false" timeDependent="false">
6
3
  <responseDeclaration identifier="RESPONSE" cardinality="multiple" baseType="directedPair">
7
4
  <correctResponse>
8
5
  <value>W G1</value>
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <!--This file was created using: Onyx Editor, Version 3.4.3 (Full, licensed version), (c)2012 BPS Bildungsportal Sachsen GmbH-->
3
- <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd" identifier="Matchsingle_143114773" title="match (single)" adaptive="false" timeDependent="false">
3
+ <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p1 http://www.imsglobal.org/xsd/qti/qtiv2p1/imsqti_v2p1p2.xsd" identifier="Matchsingle_143114773" title="match (single)" adaptive="false" timeDependent="false">
4
4
  <responseDeclaration identifier="RESPONSE" cardinality="multiple" baseType="directedPair">
5
5
  <correctResponse>
6
6
  <value>Match28433682 Match2675678</value>
@@ -1,25 +1,22 @@
1
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="order" title="Grand Prix of Bahrain" adaptive="false" timeDependent="false">
6
- <responseDeclaration identifier="RESPONSE" cardinality="ordered" baseType="identifier">
7
- <correctResponse>
8
- <value>DriverC</value>
9
- <value>DriverA</value>
10
- <value>DriverB</value>
11
- </correctResponse>
12
- </responseDeclaration>
13
- <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
14
- <itemBody>
15
- <orderInteraction responseIdentifier="RESPONSE" shuffle="true">
16
- <prompt>The following F1 drivers finished on the podium in the first ever Grand Prix of
17
- Bahrain. Can you rearrange them into the correct finishing order?</prompt>
18
- <simpleChoice identifier="DriverA">Rubens Barrichello</simpleChoice>
19
- <simpleChoice identifier="DriverB">Jenson Button</simpleChoice>
20
- <simpleChoice identifier="DriverC" fixed="true">Michael Schumacher</simpleChoice>
21
- </orderInteraction>
22
- </itemBody>
23
- <responseProcessing
24
- template="http://www.imsglobal.org/question/qti_v2p2/rptemplates/match_correct"/>
2
+ <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p1 http://www.imsglobal.org/xsd/qti/qtiv2p1/imsqti_v2p1p2.xsd" identifier="order" title="Grand Prix of Bahrain" adaptive="false" timeDependent="false">
3
+ <responseDeclaration identifier="RESPONSE" cardinality="ordered" baseType="identifier">
4
+ <correctResponse>
5
+ <value>DriverC</value>
6
+ <value>DriverA</value>
7
+ <value>DriverB</value>
8
+ </correctResponse>
9
+ </responseDeclaration>
10
+ <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
11
+ <itemBody>
12
+ <orderInteraction responseIdentifier="RESPONSE" shuffle="true">
13
+ <prompt>The following F1 drivers finished on the podium in the first ever Grand Prix of
14
+ Bahrain. Can you rearrange them into the correct finishing order?</prompt>
15
+ <simpleChoice identifier="DriverA">Rubens Barrichello</simpleChoice>
16
+ <simpleChoice identifier="DriverB">Jenson Button</simpleChoice>
17
+ <simpleChoice identifier="DriverC" fixed="true">Michael Schumacher</simpleChoice>
18
+ </orderInteraction>
19
+ </itemBody>
20
+ <responseProcessing
21
+ template="http://www.imsglobal.org/question/qti_v2p2/rptemplates/match_correct"/>
25
22
  </assessmentItem>
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd" identifier="textEntry" title="Richard III (Take 3)" adaptive="false" timeDependent="false">
2
+ <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p1 http://www.imsglobal.org/xsd/qti/qtiv2p1/imsqti_v2p1p2.xsd" identifier="textEntry" title="Richard III (Take 3)" adaptive="false" timeDependent="false">
3
3
  <responseDeclaration identifier="RESPONSE" cardinality="single" baseType="string">
4
4
  <correctResponse>
5
5
  <value>York</value>
@@ -0,0 +1,67 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- This item is a true/false question with inline feedback, adapted from the CC question QUE_102010.xml -->
3
+ <assessmentItem 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
+ xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2" identifier="Example02-feedbackInline"
6
+ title="Example 2 - inline feedback" adaptive="false" timeDependent="false">
7
+ <responseDeclaration identifier="RESPONSE" cardinality="single" baseType="identifier">
8
+ <correctResponse>
9
+ <value>true</value>
10
+ </correctResponse>
11
+ </responseDeclaration>
12
+
13
+ <!--Define a feedback variable; its baseType is "identifier" so that it can contain the identifier
14
+ of the feedback message-->
15
+
16
+ <outcomeDeclaration identifier="FEEDBACK" cardinality="single" baseType="identifier"/>
17
+ <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"
18
+ normalMaximum="10.0">
19
+ <defaultValue>
20
+ <value>0</value>
21
+ </defaultValue>
22
+ </outcomeDeclaration>
23
+ <outcomeDeclaration identifier="MAXSCORE" cardinality="single" baseType="float">
24
+ <defaultValue>
25
+ <value>10.0</value>
26
+ </defaultValue>
27
+ </outcomeDeclaration>
28
+ <itemBody>
29
+
30
+ <!--The response variable RESPONSE will hold the candidate's input-->
31
+
32
+ <choiceInteraction responseIdentifier="RESPONSE" shuffle="false" maxChoices="1">
33
+ <prompt>Sigmund Freud and Carl Jung both belong to the psychoanalytic school of
34
+ psychology.</prompt>
35
+ <simpleChoice identifier="true" fixed="true">True
36
+
37
+ <!--The feedbackInline elements are each given the same identifier as the
38
+ corresponding option.-->
39
+
40
+ <feedbackInline
41
+ outcomeIdentifier="FEEDBACK" identifier="true" showHide="show">That's
42
+ correct</feedbackInline></simpleChoice>
43
+ <simpleChoice identifier="false" fixed="true">False <feedbackInline
44
+ outcomeIdentifier="FEEDBACK" identifier="false" showHide="show">That's not
45
+ correct</feedbackInline></simpleChoice>
46
+ </choiceInteraction>
47
+ </itemBody>
48
+ <responseProcessing>
49
+
50
+ <!--This time, FEEDBACK is given the value of the identifier of the option which was selected.-->
51
+
52
+ <setOutcomeValue identifier="FEEDBACK">
53
+ <variable identifier="RESPONSE"/>
54
+ </setOutcomeValue>
55
+ <responseCondition>
56
+ <responseIf>
57
+ <match>
58
+ <variable identifier="RESPONSE"/>
59
+ <correct identifier="RESPONSE"/>
60
+ </match>
61
+ <setOutcomeValue identifier="SCORE">
62
+ <variable identifier="MAXSCORE"/>
63
+ </setOutcomeValue>
64
+ </responseIf>
65
+ </responseCondition>
66
+ </responseProcessing>
67
+ </assessmentItem>
File without changes
@@ -0,0 +1,35 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd" identifier="match" title="Characters and Plays" adaptive="false" timeDependent="false">
3
+ <responseDeclaration identifier="RESPONSE" cardinality="multiple" baseType="directedPair">
4
+ <correctResponse>
5
+ <value>C R</value>
6
+ <value>D M</value>
7
+ <value>L M</value>
8
+ <value>P T</value>
9
+ </correctResponse>
10
+ <mapping defaultValue="0">
11
+ <mapEntry mapKey="C R" mappedValue="1"/>
12
+ <mapEntry mapKey="D M" mappedValue="0.5"/>
13
+ <mapEntry mapKey="L M" mappedValue="0.5"/>
14
+ <mapEntry mapKey="P T" mappedValue="1"/>
15
+ </mapping>
16
+ </responseDeclaration>
17
+ <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
18
+ <itemBody>
19
+ <matchInteraction responseIdentifier="RESPONSE" shuffle="true" maxAssociations="4">
20
+ <prompt>Match the following characters to the Shakespeare play they appeared in:</prompt>
21
+ <simpleMatchSet>
22
+ <simpleAssociableChoice identifier="C" matchMax="1">Capulet</simpleAssociableChoice>
23
+ <simpleAssociableChoice identifier="D" matchMax="1">Demetrius</simpleAssociableChoice>
24
+ <simpleAssociableChoice identifier="L" matchMax="1">Lysander</simpleAssociableChoice>
25
+ <simpleAssociableChoice identifier="P" matchMax="1">Prospero</simpleAssociableChoice>
26
+ </simpleMatchSet>
27
+ <simpleMatchSet>
28
+ <simpleAssociableChoice identifier="M" matchMax="4">A Midsummer-Night's Dream</simpleAssociableChoice>
29
+ <simpleAssociableChoice identifier="R" matchMax="4">Romeo and Juliet</simpleAssociableChoice>
30
+ <simpleAssociableChoice identifier="T" matchMax="4">The Tempest</simpleAssociableChoice>
31
+ </simpleMatchSet>
32
+ </matchInteraction>
33
+ </itemBody>
34
+ <responseProcessing template="http://www.imsglobal.org/question/qti_v2p2/rptemplates/map_response"/>
35
+ </assessmentItem>
@@ -0,0 +1,31 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Thie example adapted from the PET Handbook, copyright University of Cambridge ESOL Examinations -->
3
+ <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
4
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
6
+ identifier="choice" title="Unattended Luggage" 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
+ <p>Look at the text in the picture.</p>
19
+ <p>
20
+ <img src="images/sign.png" alt="NEVER LEAVE LUGGAGE UNATTENDED"/>
21
+ </p>
22
+ <choiceInteraction responseIdentifier="RESPONSE" shuffle="TRUE" maxChoices="1">
23
+ <prompt>What does it say?</prompt>
24
+ <simpleChoice identifier="ChoiceA">You must stay with your luggage at all times.</simpleChoice>
25
+ <simpleChoice identifier="ChoiceB">Do not let someone else look after your luggage.</simpleChoice>
26
+ <simpleChoice identifier="ChoiceC">Remember your luggage when you leave.</simpleChoice>
27
+ </choiceInteraction>
28
+ </itemBody>
29
+ <responseProcessing
30
+ template="http://www.imsglobal.org/question/qti_v2p2/rptemplates/match_correct"/>
31
+ </assessmentItem>