qti 0.9.4 → 0.9.5

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 (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>