moodle2cc 0.1.12 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (479) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +4 -1
  3. data/Changelog +5 -0
  4. data/Gemfile +2 -0
  5. data/Guardfile +6 -0
  6. data/README.md +1 -1
  7. data/Rakefile +14 -1
  8. data/lib/moodle2cc.rb +66 -0
  9. data/lib/moodle2cc/canvas/question.rb +1 -1
  10. data/lib/moodle2cc/canvas_cc/assessment_writer.rb +82 -0
  11. data/lib/moodle2cc/canvas_cc/assignment_writer.rb +67 -0
  12. data/lib/moodle2cc/canvas_cc/calculated_question_writer.rb +61 -0
  13. data/lib/moodle2cc/canvas_cc/canvas_export_writer.rb +18 -0
  14. data/lib/moodle2cc/canvas_cc/cartridge_creator.rb +57 -0
  15. data/lib/moodle2cc/canvas_cc/course_setting_writer.rb +35 -0
  16. data/lib/moodle2cc/canvas_cc/discussion_writer.rb +51 -0
  17. data/lib/moodle2cc/canvas_cc/essay_question_writer.rb +19 -0
  18. data/lib/moodle2cc/canvas_cc/file_meta_writer.rb +38 -0
  19. data/lib/moodle2cc/canvas_cc/ims_manifest_generator.rb +123 -0
  20. data/lib/moodle2cc/canvas_cc/matching_question_writer.rb +41 -0
  21. data/lib/moodle2cc/canvas_cc/models/answer.rb +12 -0
  22. data/lib/moodle2cc/canvas_cc/models/assessment.rb +68 -0
  23. data/lib/moodle2cc/canvas_cc/models/assignment.rb +30 -0
  24. data/lib/moodle2cc/canvas_cc/models/calculated_question.rb +7 -0
  25. data/lib/moodle2cc/canvas_cc/models/canvas_file.rb +22 -0
  26. data/lib/moodle2cc/canvas_cc/models/canvas_module.rb +10 -0
  27. data/lib/moodle2cc/canvas_cc/models/course.rb +46 -0
  28. data/lib/moodle2cc/canvas_cc/models/discussion.rb +36 -0
  29. data/lib/moodle2cc/canvas_cc/models/discussion_topic.rb +5 -0
  30. data/lib/moodle2cc/canvas_cc/models/matching_question.rb +7 -0
  31. data/lib/moodle2cc/canvas_cc/models/module_item.rb +16 -0
  32. data/lib/moodle2cc/canvas_cc/models/numerical_question.rb +7 -0
  33. data/lib/moodle2cc/canvas_cc/models/page.rb +31 -0
  34. data/lib/moodle2cc/canvas_cc/models/question.rb +36 -0
  35. data/lib/moodle2cc/canvas_cc/models/question_bank.rb +27 -0
  36. data/lib/moodle2cc/canvas_cc/models/question_group.rb +10 -0
  37. data/lib/moodle2cc/canvas_cc/models/resource.rb +23 -0
  38. data/lib/moodle2cc/canvas_cc/models/web_content.rb +7 -0
  39. data/lib/moodle2cc/canvas_cc/models/web_link.rb +7 -0
  40. data/lib/moodle2cc/canvas_cc/models/workflow_state.rb +6 -0
  41. data/lib/moodle2cc/canvas_cc/module_meta_writer.rb +52 -0
  42. data/lib/moodle2cc/canvas_cc/multiple_blanks_question_writer.rb +51 -0
  43. data/lib/moodle2cc/canvas_cc/multiple_choice_question_writer.rb +48 -0
  44. data/lib/moodle2cc/canvas_cc/numerical_question_writer.rb +40 -0
  45. data/lib/moodle2cc/canvas_cc/page_writer.rb +38 -0
  46. data/lib/moodle2cc/canvas_cc/question_bank_writer.rb +44 -0
  47. data/lib/moodle2cc/canvas_cc/question_group_writer.rb +23 -0
  48. data/lib/moodle2cc/canvas_cc/question_writer.rb +127 -0
  49. data/lib/moodle2cc/canvas_cc/short_answer_question_writer.rb +42 -0
  50. data/lib/moodle2cc/canvas_cc/text_only_question_writer.rb +19 -0
  51. data/lib/moodle2cc/canvas_cc/true_false_question_writer.rb +38 -0
  52. data/lib/moodle2cc/cli.rb +1 -1
  53. data/lib/moodle2cc/migrator.rb +37 -4
  54. data/lib/moodle2cc/moodle2.rb +9 -0
  55. data/lib/moodle2cc/moodle2/extractor.rb +144 -0
  56. data/lib/moodle2cc/moodle2/models.rb +17 -0
  57. data/lib/moodle2cc/moodle2/models/assignment.rb +10 -0
  58. data/lib/moodle2cc/moodle2/models/book.rb +9 -0
  59. data/lib/moodle2cc/moodle2/models/book_chapter.rb +5 -0
  60. data/lib/moodle2cc/moodle2/models/course.rb +29 -0
  61. data/lib/moodle2cc/moodle2/models/external_url.rb +7 -0
  62. data/lib/moodle2cc/moodle2/models/folder.rb +9 -0
  63. data/lib/moodle2cc/moodle2/models/forum.rb +10 -0
  64. data/lib/moodle2cc/moodle2/models/glossary.rb +13 -0
  65. data/lib/moodle2cc/moodle2/models/glossary_entry.rb +13 -0
  66. data/lib/moodle2cc/moodle2/models/label.rb +6 -0
  67. data/lib/moodle2cc/moodle2/models/moodle2_file.rb +13 -0
  68. data/lib/moodle2cc/moodle2/models/page.rb +9 -0
  69. data/lib/moodle2cc/moodle2/models/quizzes.rb +13 -0
  70. data/lib/moodle2cc/moodle2/models/quizzes/answer.rb +5 -0
  71. data/lib/moodle2cc/moodle2/models/quizzes/calculated_question.rb +11 -0
  72. data/lib/moodle2cc/moodle2/models/quizzes/match_question.rb +11 -0
  73. data/lib/moodle2cc/moodle2/models/quizzes/multianswer_question.rb +23 -0
  74. data/lib/moodle2cc/moodle2/models/quizzes/numerical_question.rb +11 -0
  75. data/lib/moodle2cc/moodle2/models/quizzes/question.rb +33 -0
  76. data/lib/moodle2cc/moodle2/models/quizzes/question_category.rb +18 -0
  77. data/lib/moodle2cc/moodle2/models/quizzes/quiz.rb +20 -0
  78. data/lib/moodle2cc/moodle2/models/quizzes/random_sa_question.rb +6 -0
  79. data/lib/moodle2cc/moodle2/models/quizzes/true_false_question.rb +6 -0
  80. data/lib/moodle2cc/moodle2/models/resource.rb +11 -0
  81. data/lib/moodle2cc/moodle2/models/section.rb +19 -0
  82. data/lib/moodle2cc/moodle2/parsers.rb +19 -0
  83. data/lib/moodle2cc/moodle2/parsers/answer_parser.rb +17 -0
  84. data/lib/moodle2cc/moodle2/parsers/assignment_parser.rb +61 -0
  85. data/lib/moodle2cc/moodle2/parsers/book_parser.rb +52 -0
  86. data/lib/moodle2cc/moodle2/parsers/course_parser.rb +28 -0
  87. data/lib/moodle2cc/moodle2/parsers/external_url_parser.rb +40 -0
  88. data/lib/moodle2cc/moodle2/parsers/file_parser.rb +47 -0
  89. data/lib/moodle2cc/moodle2/parsers/folder_parser.rb +54 -0
  90. data/lib/moodle2cc/moodle2/parsers/forum_parser.rb +53 -0
  91. data/lib/moodle2cc/moodle2/parsers/glossary_parser.rb +78 -0
  92. data/lib/moodle2cc/moodle2/parsers/label_parser.rb +36 -0
  93. data/lib/moodle2cc/moodle2/parsers/page_parser.rb +45 -0
  94. data/lib/moodle2cc/moodle2/parsers/parser_helper.rb +37 -0
  95. data/lib/moodle2cc/moodle2/parsers/question_category_parser.rb +47 -0
  96. data/lib/moodle2cc/moodle2/parsers/question_parsers.rb +13 -0
  97. data/lib/moodle2cc/moodle2/parsers/question_parsers/calculated_parser.rb +43 -0
  98. data/lib/moodle2cc/moodle2/parsers/question_parsers/match_parser.rb +24 -0
  99. data/lib/moodle2cc/moodle2/parsers/question_parsers/multianswer_parser.rb +21 -0
  100. data/lib/moodle2cc/moodle2/parsers/question_parsers/multichoice_parser.rb +16 -0
  101. data/lib/moodle2cc/moodle2/parsers/question_parsers/numerical_parser.rb +24 -0
  102. data/lib/moodle2cc/moodle2/parsers/question_parsers/question_parser.rb +51 -0
  103. data/lib/moodle2cc/moodle2/parsers/question_parsers/random_sa_parser.rb +17 -0
  104. data/lib/moodle2cc/moodle2/parsers/question_parsers/short_answer_parser.rb +16 -0
  105. data/lib/moodle2cc/moodle2/parsers/question_parsers/true_false_parser.rb +20 -0
  106. data/lib/moodle2cc/moodle2/parsers/quiz_parser.rb +87 -0
  107. data/lib/moodle2cc/moodle2/parsers/resource_parser.rb +54 -0
  108. data/lib/moodle2cc/moodle2/parsers/section_parser.rb +48 -0
  109. data/lib/moodle2cc/moodle2converter/assessment_converter.rb +31 -0
  110. data/lib/moodle2cc/moodle2converter/assignment_converter.rb +23 -0
  111. data/lib/moodle2cc/moodle2converter/book_converter.rb +97 -0
  112. data/lib/moodle2cc/moodle2converter/converter_helper.rb +68 -0
  113. data/lib/moodle2cc/moodle2converter/course_converter.rb +18 -0
  114. data/lib/moodle2cc/moodle2converter/discussion_converter.rb +18 -0
  115. data/lib/moodle2cc/moodle2converter/file_converter.rb +14 -0
  116. data/lib/moodle2cc/moodle2converter/folder_converter.rb +50 -0
  117. data/lib/moodle2cc/moodle2converter/glossary_converter.rb +36 -0
  118. data/lib/moodle2cc/moodle2converter/html_converter.rb +96 -0
  119. data/lib/moodle2cc/moodle2converter/migrator.rb +111 -0
  120. data/lib/moodle2cc/moodle2converter/page_converter.rb +16 -0
  121. data/lib/moodle2cc/moodle2converter/question_bank_converter.rb +31 -0
  122. data/lib/moodle2cc/moodle2converter/question_converters.rb +11 -0
  123. data/lib/moodle2cc/moodle2converter/question_converters/calculated_converter.rb +17 -0
  124. data/lib/moodle2cc/moodle2converter/question_converters/matching_converter.rb +22 -0
  125. data/lib/moodle2cc/moodle2converter/question_converters/multiple_blanks_converter.rb +26 -0
  126. data/lib/moodle2cc/moodle2converter/question_converters/numerical_converter.rb +14 -0
  127. data/lib/moodle2cc/moodle2converter/question_converters/question_converter.rb +57 -0
  128. data/lib/moodle2cc/moodle2converter/question_converters/random_sa_converter.rb +18 -0
  129. data/lib/moodle2cc/moodle2converter/question_converters/true_false_converter.rb +20 -0
  130. data/lib/moodle2cc/moodle2converter/section_converter.rb +75 -0
  131. data/lib/moodle2cc/version.rb +1 -1
  132. data/moodle2cc.gemspec +6 -1
  133. data/spec/moodle2cc/canvas_cc/assessment_writer_spec.rb +95 -0
  134. data/spec/moodle2cc/canvas_cc/assignment_writer_spec.rb +72 -0
  135. data/spec/moodle2cc/canvas_cc/calculated_question_writer_spec.rb +81 -0
  136. data/spec/moodle2cc/canvas_cc/canvas_export_writer_spec.rb +26 -0
  137. data/spec/moodle2cc/canvas_cc/cartridge_creator_spec.rb +50 -0
  138. data/spec/moodle2cc/canvas_cc/course_setting_writer_spec.rb +47 -0
  139. data/spec/moodle2cc/canvas_cc/discussion_writer_spec.rb +38 -0
  140. data/spec/moodle2cc/canvas_cc/essay_question_writer_spec.rb +31 -0
  141. data/spec/moodle2cc/canvas_cc/file_meta_writer_spec.rb +57 -0
  142. data/spec/moodle2cc/canvas_cc/ims_manifest_generator_spec.rb +141 -0
  143. data/spec/moodle2cc/canvas_cc/matching_question_writer_spec.rb +51 -0
  144. data/spec/moodle2cc/canvas_cc/models/assessment_spec.rb +78 -0
  145. data/spec/moodle2cc/canvas_cc/models/assignment_spec.rb +45 -0
  146. data/spec/moodle2cc/canvas_cc/models/canvas_file_spec.rb +23 -0
  147. data/spec/moodle2cc/canvas_cc/models/canvas_module_spec.rb +16 -0
  148. data/spec/moodle2cc/canvas_cc/models/course_spec.rb +43 -0
  149. data/spec/moodle2cc/canvas_cc/models/discussion_spec.rb +47 -0
  150. data/spec/moodle2cc/canvas_cc/models/discussion_topic_spec.rb +7 -0
  151. data/spec/moodle2cc/canvas_cc/models/module_item_spec.rb +15 -0
  152. data/spec/moodle2cc/canvas_cc/models/page_spec.rb +28 -0
  153. data/spec/moodle2cc/canvas_cc/models/question_spec.rb +8 -0
  154. data/spec/moodle2cc/canvas_cc/models/resource_spec.rb +17 -0
  155. data/spec/moodle2cc/canvas_cc/models/web_content_spec.rb +7 -0
  156. data/spec/moodle2cc/canvas_cc/models/web_link_spec.rb +9 -0
  157. data/spec/moodle2cc/canvas_cc/module_meta_writer_spec.rb +118 -0
  158. data/spec/moodle2cc/canvas_cc/multiple_blanks_question_writer_spec.rb +77 -0
  159. data/spec/moodle2cc/canvas_cc/multiple_choice_question_writer_spec.rb +69 -0
  160. data/spec/moodle2cc/canvas_cc/numerical_question_writer_spec.rb +69 -0
  161. data/spec/moodle2cc/canvas_cc/page_writer_spec.rb +29 -0
  162. data/spec/moodle2cc/canvas_cc/question_bank_writer_spec.rb +43 -0
  163. data/spec/moodle2cc/canvas_cc/question_writer_spec.rb +129 -0
  164. data/spec/moodle2cc/canvas_cc/short_answer_question_writer_spec.rb +50 -0
  165. data/spec/moodle2cc/canvas_cc/text_only_question_writer_spec.rb +23 -0
  166. data/spec/moodle2cc/canvas_cc/true_false_question_writer_spec.rb +62 -0
  167. data/spec/moodle2cc/moodle2/extractor_spec.rb +175 -0
  168. data/spec/moodle2cc/moodle2/models/assignment_spec.rb +36 -0
  169. data/spec/moodle2cc/moodle2/models/book_chapter_spec.rb +11 -0
  170. data/spec/moodle2cc/moodle2/models/book_spec.rb +13 -0
  171. data/spec/moodle2cc/moodle2/models/course_spec.rb +67 -0
  172. data/spec/moodle2cc/moodle2/models/external_url_spec.rb +18 -0
  173. data/spec/moodle2cc/moodle2/models/folder_spec.rb +16 -0
  174. data/spec/moodle2cc/moodle2/models/forum_spec.rb +30 -0
  175. data/spec/moodle2cc/moodle2/models/glossary_entry_spec.rb +25 -0
  176. data/spec/moodle2cc/moodle2/models/glossary_spec.rb +35 -0
  177. data/spec/moodle2cc/moodle2/models/label_spec.rb +13 -0
  178. data/spec/moodle2cc/moodle2/models/moodle2_file_spec.rb +32 -0
  179. data/spec/moodle2cc/moodle2/models/page_spec.rb +23 -0
  180. data/spec/moodle2cc/moodle2/models/quizzes/answer_spec.rb +14 -0
  181. data/spec/moodle2cc/moodle2/models/quizzes/calculated_question_spec.rb +14 -0
  182. data/spec/moodle2cc/moodle2/models/quizzes/multianswer_question_spec.rb +30 -0
  183. data/spec/moodle2cc/moodle2/models/quizzes/numerical_question_spec.rb +12 -0
  184. data/spec/moodle2cc/moodle2/models/quizzes/question_category_spec.rb +29 -0
  185. data/spec/moodle2cc/moodle2/models/quizzes/question_spec.rb +35 -0
  186. data/spec/moodle2cc/moodle2/models/quizzes/quiz_spec.rb +7 -0
  187. data/spec/moodle2cc/moodle2/models/quizzes/random_sa_question_spec.rb +12 -0
  188. data/spec/moodle2cc/moodle2/models/quizzes/true_false_question_spec.rb +16 -0
  189. data/spec/moodle2cc/moodle2/models/resource_spec.rb +22 -0
  190. data/spec/moodle2cc/moodle2/models/section_spec.rb +57 -0
  191. data/spec/moodle2cc/moodle2/parsers/answer_parser_spec.rb +18 -0
  192. data/spec/moodle2cc/moodle2/parsers/assignment_parser_spec.rb +42 -0
  193. data/spec/moodle2cc/moodle2/parsers/book_parser_spec.rb +35 -0
  194. data/spec/moodle2cc/moodle2/parsers/course_parser_spec.rb +18 -0
  195. data/spec/moodle2cc/moodle2/parsers/external_url_parser_spec.rb +26 -0
  196. data/spec/moodle2cc/moodle2/parsers/file_parser_spec.rb +35 -0
  197. data/spec/moodle2cc/moodle2/parsers/folder_parser_spec.rb +24 -0
  198. data/spec/moodle2cc/moodle2/parsers/forum_parser_spec.rb +38 -0
  199. data/spec/moodle2cc/moodle2/parsers/glossary_parser_spec.rb +60 -0
  200. data/spec/moodle2cc/moodle2/parsers/label_parser_spec.rb +21 -0
  201. data/spec/moodle2cc/moodle2/parsers/page_parser_spec.rb +25 -0
  202. data/spec/moodle2cc/moodle2/parsers/parser_helper_spec.rb +94 -0
  203. data/spec/moodle2cc/moodle2/parsers/question_category_parser_spec.rb +27 -0
  204. data/spec/moodle2cc/moodle2/parsers/question_parsers/calculated_parser_spec.rb +83 -0
  205. data/spec/moodle2cc/moodle2/parsers/question_parsers/match_parser_spec.rb +31 -0
  206. data/spec/moodle2cc/moodle2/parsers/question_parsers/multianswer_parser_spec.rb +16 -0
  207. data/spec/moodle2cc/moodle2/parsers/question_parsers/multichoice_parser_spec.rb +16 -0
  208. data/spec/moodle2cc/moodle2/parsers/question_parsers/numerical_parser_spec.rb +23 -0
  209. data/spec/moodle2cc/moodle2/parsers/question_parsers/question_parser_spec.rb +62 -0
  210. data/spec/moodle2cc/moodle2/parsers/question_parsers/random_sa_parser_spec.rb +18 -0
  211. data/spec/moodle2cc/moodle2/parsers/question_parsers/short_answer_parser_spec.rb +16 -0
  212. data/spec/moodle2cc/moodle2/parsers/question_parsers/true_false_parser_spec.rb +22 -0
  213. data/spec/moodle2cc/moodle2/parsers/quiz_parser_spec.rb +68 -0
  214. data/spec/moodle2cc/moodle2/parsers/resource_parser_spec.rb +29 -0
  215. data/spec/moodle2cc/moodle2/parsers/section_parser_spec.rb +27 -0
  216. data/spec/moodle2cc/moodle2converter/assessment_converter_spec.rb +49 -0
  217. data/spec/moodle2cc/moodle2converter/assignment_converter_spec.rb +34 -0
  218. data/spec/moodle2cc/moodle2converter/book_converter_spec.rb +132 -0
  219. data/spec/moodle2cc/moodle2converter/converter_helper_spec.rb +149 -0
  220. data/spec/moodle2cc/moodle2converter/course_converter_spec.rb +24 -0
  221. data/spec/moodle2cc/moodle2converter/discussion_converter_spec.rb +23 -0
  222. data/spec/moodle2cc/moodle2converter/file_converter_spec.rb +20 -0
  223. data/spec/moodle2cc/moodle2converter/folder_converter_spec.rb +42 -0
  224. data/spec/moodle2cc/moodle2converter/glossary_converter_spec.rb +36 -0
  225. data/spec/moodle2cc/moodle2converter/html_converter_spec.rb +186 -0
  226. data/spec/moodle2cc/moodle2converter/migrator_spec.rb +173 -0
  227. data/spec/moodle2cc/moodle2converter/page_converter_spec.rb +28 -0
  228. data/spec/moodle2cc/moodle2converter/question_bank_converter_spec.rb +44 -0
  229. data/spec/moodle2cc/moodle2converter/question_converters/calculated_converter_spec.rb +30 -0
  230. data/spec/moodle2cc/moodle2converter/question_converters/matching_converter_spec.rb +25 -0
  231. data/spec/moodle2cc/moodle2converter/question_converters/multiple_blanks_converter_spec.rb +37 -0
  232. data/spec/moodle2cc/moodle2converter/question_converters/numerical_converter_spec.rb +19 -0
  233. data/spec/moodle2cc/moodle2converter/question_converters/question_converter_spec.rb +82 -0
  234. data/spec/moodle2cc/moodle2converter/question_converters/random_sa_converter_spec.rb +20 -0
  235. data/spec/moodle2cc/moodle2converter/question_converters/true_false_converter_spec.rb +26 -0
  236. data/spec/moodle2cc/moodle2converter/section_converter_spec.rb +187 -0
  237. data/spec/spec_helper.rb +11 -0
  238. data/spec/support/shared_examples_for_models.rb +26 -0
  239. data/test/acceptance/migrator_test.rb +2 -1
  240. data/test/fixtures/common_cartridge/ims_manifest_simple.xml +45 -0
  241. data/test/fixtures/common_cartridge/schema/cccv1p0.xsd +563 -0
  242. data/test/fixtures/common_cartridge/schema/ccv1p1_imsccauth_v1p1.xsd +203 -0
  243. data/test/fixtures/common_cartridge/schema/ccv1p1_imscp_v1p2_v1p0.xsd +827 -0
  244. data/test/fixtures/common_cartridge/schema/ccv1p1_lommanifest_v1p0.xsd +822 -0
  245. data/test/fixtures/common_cartridge/schema/ccv1p1_lomresource_v1p0.xsd +273 -0
  246. data/test/fixtures/common_cartridge/schema/xml.xsd +286 -0
  247. data/test/fixtures/moodle2/SC.mbz +0 -0
  248. data/test/fixtures/moodle2/backup/activities/assign_12/assign.xml +78 -0
  249. data/test/fixtures/moodle2/backup/activities/assign_12/calendar.xml +21 -0
  250. data/test/fixtures/moodle2/backup/activities/assign_12/comments.xml +3 -0
  251. data/test/fixtures/moodle2/backup/activities/assign_12/completion.xml +3 -0
  252. data/test/fixtures/moodle2/backup/activities/assign_12/filters.xml +7 -0
  253. data/test/fixtures/moodle2/backup/activities/assign_12/grades.xml +38 -0
  254. data/test/fixtures/moodle2/backup/activities/assign_12/grading.xml +9 -0
  255. data/test/fixtures/moodle2/backup/activities/assign_12/inforef.xml +13 -0
  256. data/test/fixtures/moodle2/backup/activities/assign_12/module.xml +25 -0
  257. data/test/fixtures/moodle2/backup/activities/assign_12/roles.xml +7 -0
  258. data/test/fixtures/moodle2/backup/activities/assign_4/assign.xml +78 -0
  259. data/test/fixtures/moodle2/backup/activities/assign_4/calendar.xml +21 -0
  260. data/test/fixtures/moodle2/backup/activities/assign_4/comments.xml +3 -0
  261. data/test/fixtures/moodle2/backup/activities/assign_4/completion.xml +3 -0
  262. data/test/fixtures/moodle2/backup/activities/assign_4/filters.xml +7 -0
  263. data/test/fixtures/moodle2/backup/activities/assign_4/grades.xml +38 -0
  264. data/test/fixtures/moodle2/backup/activities/assign_4/grading.xml +9 -0
  265. data/test/fixtures/moodle2/backup/activities/assign_4/inforef.xml +13 -0
  266. data/test/fixtures/moodle2/backup/activities/assign_4/module.xml +25 -0
  267. data/test/fixtures/moodle2/backup/activities/assign_4/roles.xml +7 -0
  268. data/test/fixtures/moodle2/backup/activities/book_6/book.xml +44 -0
  269. data/test/fixtures/moodle2/backup/activities/book_6/calendar.xml +3 -0
  270. data/test/fixtures/moodle2/backup/activities/book_6/comments.xml +3 -0
  271. data/test/fixtures/moodle2/backup/activities/book_6/completion.xml +3 -0
  272. data/test/fixtures/moodle2/backup/activities/book_6/filters.xml +7 -0
  273. data/test/fixtures/moodle2/backup/activities/book_6/grades.xml +7 -0
  274. data/test/fixtures/moodle2/backup/activities/book_6/inforef.xml +3 -0
  275. data/test/fixtures/moodle2/backup/activities/book_6/module.xml +25 -0
  276. data/test/fixtures/moodle2/backup/activities/book_6/roles.xml +7 -0
  277. data/test/fixtures/moodle2/backup/activities/folder_7/calendar.xml +3 -0
  278. data/test/fixtures/moodle2/backup/activities/folder_7/comments.xml +3 -0
  279. data/test/fixtures/moodle2/backup/activities/folder_7/completion.xml +3 -0
  280. data/test/fixtures/moodle2/backup/activities/folder_7/filters.xml +7 -0
  281. data/test/fixtures/moodle2/backup/activities/folder_7/folder.xml +10 -0
  282. data/test/fixtures/moodle2/backup/activities/folder_7/grades.xml +7 -0
  283. data/test/fixtures/moodle2/backup/activities/folder_7/inforef.xml +20 -0
  284. data/test/fixtures/moodle2/backup/activities/folder_7/module.xml +25 -0
  285. data/test/fixtures/moodle2/backup/activities/folder_7/roles.xml +7 -0
  286. data/test/fixtures/moodle2/backup/activities/forum_1/calendar.xml +3 -0
  287. data/test/fixtures/moodle2/backup/activities/forum_1/comments.xml +3 -0
  288. data/test/fixtures/moodle2/backup/activities/forum_1/completion.xml +3 -0
  289. data/test/fixtures/moodle2/backup/activities/forum_1/filters.xml +7 -0
  290. data/test/fixtures/moodle2/backup/activities/forum_1/forum.xml +34 -0
  291. data/test/fixtures/moodle2/backup/activities/forum_1/grades.xml +7 -0
  292. data/test/fixtures/moodle2/backup/activities/forum_1/inforef.xml +3 -0
  293. data/test/fixtures/moodle2/backup/activities/forum_1/module.xml +25 -0
  294. data/test/fixtures/moodle2/backup/activities/forum_1/roles.xml +7 -0
  295. data/test/fixtures/moodle2/backup/activities/forum_13/calendar.xml +3 -0
  296. data/test/fixtures/moodle2/backup/activities/forum_13/comments.xml +3 -0
  297. data/test/fixtures/moodle2/backup/activities/forum_13/completion.xml +3 -0
  298. data/test/fixtures/moodle2/backup/activities/forum_13/filters.xml +7 -0
  299. data/test/fixtures/moodle2/backup/activities/forum_13/forum.xml +34 -0
  300. data/test/fixtures/moodle2/backup/activities/forum_13/grades.xml +7 -0
  301. data/test/fixtures/moodle2/backup/activities/forum_13/inforef.xml +3 -0
  302. data/test/fixtures/moodle2/backup/activities/forum_13/module.xml +25 -0
  303. data/test/fixtures/moodle2/backup/activities/forum_13/roles.xml +7 -0
  304. data/test/fixtures/moodle2/backup/activities/glossary_8/calendar.xml +3 -0
  305. data/test/fixtures/moodle2/backup/activities/glossary_8/comments.xml +3 -0
  306. data/test/fixtures/moodle2/backup/activities/glossary_8/completion.xml +3 -0
  307. data/test/fixtures/moodle2/backup/activities/glossary_8/filters.xml +7 -0
  308. data/test/fixtures/moodle2/backup/activities/glossary_8/glossary.xml +115 -0
  309. data/test/fixtures/moodle2/backup/activities/glossary_8/grades.xml +7 -0
  310. data/test/fixtures/moodle2/backup/activities/glossary_8/inforef.xml +22 -0
  311. data/test/fixtures/moodle2/backup/activities/glossary_8/module.xml +25 -0
  312. data/test/fixtures/moodle2/backup/activities/glossary_8/roles.xml +7 -0
  313. data/test/fixtures/moodle2/backup/activities/label_11/calendar.xml +3 -0
  314. data/test/fixtures/moodle2/backup/activities/label_11/comments.xml +3 -0
  315. data/test/fixtures/moodle2/backup/activities/label_11/completion.xml +3 -0
  316. data/test/fixtures/moodle2/backup/activities/label_11/filters.xml +7 -0
  317. data/test/fixtures/moodle2/backup/activities/label_11/grades.xml +7 -0
  318. data/test/fixtures/moodle2/backup/activities/label_11/inforef.xml +3 -0
  319. data/test/fixtures/moodle2/backup/activities/label_11/label.xml +9 -0
  320. data/test/fixtures/moodle2/backup/activities/label_11/module.xml +25 -0
  321. data/test/fixtures/moodle2/backup/activities/label_11/roles.xml +7 -0
  322. data/test/fixtures/moodle2/backup/activities/page_10/calendar.xml +3 -0
  323. data/test/fixtures/moodle2/backup/activities/page_10/comments.xml +3 -0
  324. data/test/fixtures/moodle2/backup/activities/page_10/completion.xml +3 -0
  325. data/test/fixtures/moodle2/backup/activities/page_10/filters.xml +7 -0
  326. data/test/fixtures/moodle2/backup/activities/page_10/grades.xml +7 -0
  327. data/test/fixtures/moodle2/backup/activities/page_10/inforef.xml +3 -0
  328. data/test/fixtures/moodle2/backup/activities/page_10/module.xml +25 -0
  329. data/test/fixtures/moodle2/backup/activities/page_10/page.xml +16 -0
  330. data/test/fixtures/moodle2/backup/activities/page_10/roles.xml +7 -0
  331. data/test/fixtures/moodle2/backup/activities/page_2/calendar.xml +3 -0
  332. data/test/fixtures/moodle2/backup/activities/page_2/comments.xml +3 -0
  333. data/test/fixtures/moodle2/backup/activities/page_2/completion.xml +3 -0
  334. data/test/fixtures/moodle2/backup/activities/page_2/filters.xml +7 -0
  335. data/test/fixtures/moodle2/backup/activities/page_2/grades.xml +7 -0
  336. data/test/fixtures/moodle2/backup/activities/page_2/inforef.xml +14 -0
  337. data/test/fixtures/moodle2/backup/activities/page_2/module.xml +25 -0
  338. data/test/fixtures/moodle2/backup/activities/page_2/page.xml +21 -0
  339. data/test/fixtures/moodle2/backup/activities/page_2/roles.xml +7 -0
  340. data/test/fixtures/moodle2/backup/activities/questionnaire_9/calendar.xml +3 -0
  341. data/test/fixtures/moodle2/backup/activities/questionnaire_9/comments.xml +3 -0
  342. data/test/fixtures/moodle2/backup/activities/questionnaire_9/completion.xml +3 -0
  343. data/test/fixtures/moodle2/backup/activities/questionnaire_9/filters.xml +7 -0
  344. data/test/fixtures/moodle2/backup/activities/questionnaire_9/grades.xml +7 -0
  345. data/test/fixtures/moodle2/backup/activities/questionnaire_9/inforef.xml +3 -0
  346. data/test/fixtures/moodle2/backup/activities/questionnaire_9/module.xml +25 -0
  347. data/test/fixtures/moodle2/backup/activities/questionnaire_9/questionnaire.xml +245 -0
  348. data/test/fixtures/moodle2/backup/activities/questionnaire_9/roles.xml +7 -0
  349. data/test/fixtures/moodle2/backup/activities/quiz_5/calendar.xml +21 -0
  350. data/test/fixtures/moodle2/backup/activities/quiz_5/comments.xml +3 -0
  351. data/test/fixtures/moodle2/backup/activities/quiz_5/completion.xml +3 -0
  352. data/test/fixtures/moodle2/backup/activities/quiz_5/filters.xml +7 -0
  353. data/test/fixtures/moodle2/backup/activities/quiz_5/grades.xml +38 -0
  354. data/test/fixtures/moodle2/backup/activities/quiz_5/inforef.xml +21 -0
  355. data/test/fixtures/moodle2/backup/activities/quiz_5/module.xml +25 -0
  356. data/test/fixtures/moodle2/backup/activities/quiz_5/quiz.xml +108 -0
  357. data/test/fixtures/moodle2/backup/activities/quiz_5/roles.xml +7 -0
  358. data/test/fixtures/moodle2/backup/activities/resource_14/calendar.xml +3 -0
  359. data/test/fixtures/moodle2/backup/activities/resource_14/comments.xml +3 -0
  360. data/test/fixtures/moodle2/backup/activities/resource_14/completion.xml +3 -0
  361. data/test/fixtures/moodle2/backup/activities/resource_14/filters.xml +7 -0
  362. data/test/fixtures/moodle2/backup/activities/resource_14/grades.xml +7 -0
  363. data/test/fixtures/moodle2/backup/activities/resource_14/inforef.xml +11 -0
  364. data/test/fixtures/moodle2/backup/activities/resource_14/module.xml +25 -0
  365. data/test/fixtures/moodle2/backup/activities/resource_14/resource.xml +16 -0
  366. data/test/fixtures/moodle2/backup/activities/resource_14/roles.xml +7 -0
  367. data/test/fixtures/moodle2/backup/activities/resource_3/calendar.xml +3 -0
  368. data/test/fixtures/moodle2/backup/activities/resource_3/comments.xml +3 -0
  369. data/test/fixtures/moodle2/backup/activities/resource_3/completion.xml +3 -0
  370. data/test/fixtures/moodle2/backup/activities/resource_3/filters.xml +7 -0
  371. data/test/fixtures/moodle2/backup/activities/resource_3/grades.xml +7 -0
  372. data/test/fixtures/moodle2/backup/activities/resource_3/inforef.xml +11 -0
  373. data/test/fixtures/moodle2/backup/activities/resource_3/module.xml +25 -0
  374. data/test/fixtures/moodle2/backup/activities/resource_3/resource.xml +16 -0
  375. data/test/fixtures/moodle2/backup/activities/resource_3/roles.xml +7 -0
  376. data/test/fixtures/moodle2/backup/activities/url_15/calendar.xml +3 -0
  377. data/test/fixtures/moodle2/backup/activities/url_15/comments.xml +3 -0
  378. data/test/fixtures/moodle2/backup/activities/url_15/completion.xml +3 -0
  379. data/test/fixtures/moodle2/backup/activities/url_15/filters.xml +7 -0
  380. data/test/fixtures/moodle2/backup/activities/url_15/grades.xml +7 -0
  381. data/test/fixtures/moodle2/backup/activities/url_15/inforef.xml +3 -0
  382. data/test/fixtures/moodle2/backup/activities/url_15/module.xml +25 -0
  383. data/test/fixtures/moodle2/backup/activities/url_15/roles.xml +7 -0
  384. data/test/fixtures/moodle2/backup/activities/url_15/url.xml +13 -0
  385. data/test/fixtures/moodle2/backup/completion.xml +3 -0
  386. data/test/fixtures/moodle2/backup/course/blocks/calendar_upcoming_12/block.xml +13 -0
  387. data/test/fixtures/moodle2/backup/course/blocks/calendar_upcoming_12/comments.xml +3 -0
  388. data/test/fixtures/moodle2/backup/course/blocks/calendar_upcoming_12/inforef.xml +3 -0
  389. data/test/fixtures/moodle2/backup/course/blocks/calendar_upcoming_12/roles.xml +7 -0
  390. data/test/fixtures/moodle2/backup/course/blocks/news_items_11/block.xml +13 -0
  391. data/test/fixtures/moodle2/backup/course/blocks/news_items_11/comments.xml +3 -0
  392. data/test/fixtures/moodle2/backup/course/blocks/news_items_11/inforef.xml +3 -0
  393. data/test/fixtures/moodle2/backup/course/blocks/news_items_11/roles.xml +7 -0
  394. data/test/fixtures/moodle2/backup/course/blocks/recent_activity_13/block.xml +13 -0
  395. data/test/fixtures/moodle2/backup/course/blocks/recent_activity_13/comments.xml +3 -0
  396. data/test/fixtures/moodle2/backup/course/blocks/recent_activity_13/inforef.xml +3 -0
  397. data/test/fixtures/moodle2/backup/course/blocks/recent_activity_13/roles.xml +7 -0
  398. data/test/fixtures/moodle2/backup/course/blocks/search_forums_10/block.xml +13 -0
  399. data/test/fixtures/moodle2/backup/course/blocks/search_forums_10/comments.xml +3 -0
  400. data/test/fixtures/moodle2/backup/course/blocks/search_forums_10/inforef.xml +3 -0
  401. data/test/fixtures/moodle2/backup/course/blocks/search_forums_10/roles.xml +7 -0
  402. data/test/fixtures/moodle2/backup/course/calendar.xml +3 -0
  403. data/test/fixtures/moodle2/backup/course/comments.xml +3 -0
  404. data/test/fixtures/moodle2/backup/course/course.xml +37 -0
  405. data/test/fixtures/moodle2/backup/course/enrolments.xml +110 -0
  406. data/test/fixtures/moodle2/backup/course/filters.xml +7 -0
  407. data/test/fixtures/moodle2/backup/course/inforef.xml +13 -0
  408. data/test/fixtures/moodle2/backup/course/roles.xml +7 -0
  409. data/test/fixtures/moodle2/backup/files.xml +531 -0
  410. data/test/fixtures/moodle2/backup/files/50/50bf82ee23d193378b172d6656c08eebb094f006 +0 -0
  411. data/test/fixtures/moodle2/backup/files/51/516ec993971b6e2122b97d15ecc0e08c3eb03828 +0 -0
  412. data/test/fixtures/moodle2/backup/files/64/64643b3bd4274c90e293583030e549e61f4d24fb +0 -0
  413. data/test/fixtures/moodle2/backup/files/67/67859b142e5ba020a84c3166f09d59ef992379a4 +0 -0
  414. data/test/fixtures/moodle2/backup/files/7a/7a647918739d3017a4e272ad97b147b667c00fca +0 -0
  415. data/test/fixtures/moodle2/backup/files/a0/a0f324310c8d8dd9c79458986c4322f5a060a1d9 +0 -0
  416. data/test/fixtures/moodle2/backup/files/a2/a258f0bb582d111a994b35fdc84a71ed1d487310 +0 -0
  417. data/test/fixtures/moodle2/backup/gradebook.xml +57 -0
  418. data/test/fixtures/moodle2/backup/groups.xml +5 -0
  419. data/test/fixtures/moodle2/backup/moodle_backup.xml +530 -0
  420. data/test/fixtures/moodle2/backup/outcomes.xml +3 -0
  421. data/test/fixtures/moodle2/backup/questions.xml +1187 -0
  422. data/test/fixtures/moodle2/backup/roles.xml +11 -0
  423. data/test/fixtures/moodle2/backup/scales.xml +3 -0
  424. data/test/fixtures/moodle2/backup/sections/section_1/inforef.xml +3 -0
  425. data/test/fixtures/moodle2/backup/sections/section_1/section.xml +13 -0
  426. data/test/fixtures/moodle2/backup/sections/section_10/inforef.xml +3 -0
  427. data/test/fixtures/moodle2/backup/sections/section_10/section.xml +13 -0
  428. data/test/fixtures/moodle2/backup/sections/section_2/inforef.xml +3 -0
  429. data/test/fixtures/moodle2/backup/sections/section_2/section.xml +13 -0
  430. data/test/fixtures/moodle2/backup/sections/section_3/inforef.xml +3 -0
  431. data/test/fixtures/moodle2/backup/sections/section_3/section.xml +13 -0
  432. data/test/fixtures/moodle2/backup/sections/section_4/inforef.xml +3 -0
  433. data/test/fixtures/moodle2/backup/sections/section_4/section.xml +13 -0
  434. data/test/fixtures/moodle2/backup/sections/section_5/inforef.xml +3 -0
  435. data/test/fixtures/moodle2/backup/sections/section_5/section.xml +13 -0
  436. data/test/fixtures/moodle2/backup/sections/section_6/inforef.xml +3 -0
  437. data/test/fixtures/moodle2/backup/sections/section_6/section.xml +13 -0
  438. data/test/fixtures/moodle2/backup/sections/section_7/inforef.xml +3 -0
  439. data/test/fixtures/moodle2/backup/sections/section_7/section.xml +13 -0
  440. data/test/fixtures/moodle2/backup/users.xml +104 -0
  441. data/test/fixtures/moodle2/moodle2_shell.mbz +0 -0
  442. data/test/test_helper.rb +71 -0
  443. data/{lib/test → test}/test_question_helper.rb +0 -0
  444. data/{lib/test → test}/test_wiki_helper.rb +0 -0
  445. data/test/unit/canvas/assessment_test.rb +1 -1
  446. data/test/unit/canvas/assignment_test.rb +1 -1
  447. data/test/unit/canvas/converter_test.rb +1 -1
  448. data/test/unit/canvas/course_test.rb +1 -1
  449. data/test/unit/canvas/discussion_topic_test.rb +1 -1
  450. data/test/unit/canvas/label_test.rb +1 -1
  451. data/test/unit/canvas/question_bank_test.rb +1 -1
  452. data/test/unit/canvas/question_group_test.rb +1 -1
  453. data/test/unit/canvas/question_test.rb +2 -2
  454. data/test/unit/canvas/web_content_test.rb +1 -1
  455. data/test/unit/canvas/web_link_test.rb +1 -1
  456. data/test/unit/canvas/wiki_test.rb +2 -2
  457. data/test/unit/cc/assessment_test.rb +1 -1
  458. data/test/unit/cc/assignment_test.rb +1 -1
  459. data/test/unit/cc/cc_helper_test.rb +1 -1
  460. data/test/unit/cc/converter_test.rb +1 -1
  461. data/test/unit/cc/course_test.rb +1 -1
  462. data/test/unit/cc/discussion_topic_test.rb +1 -1
  463. data/test/unit/cc/label_test.rb +1 -1
  464. data/test/unit/cc/question_test.rb +2 -2
  465. data/test/unit/cc/web_content_test.rb +1 -1
  466. data/test/unit/cc/web_link_test.rb +1 -1
  467. data/test/unit/cc/wiki_test.rb +2 -2
  468. data/test/unit/migrator_test.rb +12 -1
  469. data/test/unit/moodle/backup_test.rb +1 -1
  470. data/test/unit/moodle/course_test.rb +1 -1
  471. data/test/unit/moodle/grade_item_test.rb +1 -1
  472. data/test/unit/moodle/info_test.rb +1 -1
  473. data/test/unit/moodle/mod_test.rb +1 -1
  474. data/test/unit/moodle/question_category_test.rb +1 -1
  475. data/test/unit/moodle/question_test.rb +1 -1
  476. data/test/unit/moodle/section_test.rb +1 -1
  477. data/test/unit/resource_factory_test.rb +1 -1
  478. metadata +814 -58
  479. data/lib/test/test_helper.rb +0 -44
@@ -0,0 +1,203 @@
1
+ <?xml version = "1.0" encoding = "UTF-8"?>
2
+ <xs:schema xmlns="http://www.imsglobal.org/xsd/imsccv1p1/imsccauth_v1p1"
3
+ targetNamespace="http://www.imsglobal.org/xsd/imsccv1p1/imsccauth_v1p1"
4
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
5
+ version="IMS CC AUTHZ 1.1"
6
+ elementFormDefault="qualified"
7
+ attributeFormDefault="unqualified">
8
+ <xs:annotation>
9
+ <xs:documentation>
10
+ XSD Data File Information
11
+ -------------------------
12
+ Author: Colin Smythe
13
+ Date: 31st August, 2010
14
+ Version: 1.1
15
+ Status: Final
16
+ Description: This is the IMS GLC Authorization Data Model for the Common Cartridge.
17
+
18
+ History: Version 1.0 - the first release of this data model;
19
+ Version 1.1 - updates made to the namespace.
20
+
21
+ License: IPR, License and Distribution Notices
22
+
23
+ This machine readable file is derived from IMS Global Learning Consortium (GLC) specification IMS [spec name] Version [x.x]
24
+ found at http://www.imsglobal.org/[xxx] and the original IMS GLC schema binding or code base
25
+ http://www.imsglobal.org/[binding document].
26
+
27
+ Recipients of this document are requested to submit, with their comments, notification of any
28
+ relevant patent claims or other intellectual property rights of which they may be aware that might be
29
+ infringed by the schema binding contained in this document.
30
+
31
+ IMS GLC takes no position regarding the validity or scope of any intellectual property or other
32
+ rights that might be claimed to pertain to the implementation or use of the technology described in this
33
+ document or the extent to which any license under such rights might or might not be available; neither
34
+ does it represent that it has made any effort to identify any such rights. Information on IMS GLCs
35
+ procedures with respect to rights in IMS GLC specifications can be found at the IMS GLC Intellectual Property
36
+ Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.
37
+
38
+ Copyright © IMS Global Learning Consortium 1999-2010. All Rights Reserved.
39
+
40
+ License Notice for Users
41
+
42
+ Users of products or services that include this document are hereby granted a worldwide, royalty-free,
43
+ non-exclusive license to use this document.
44
+
45
+ Distribution Notice for Developers
46
+
47
+ Developers of products or services that are not original incorporators of this document and
48
+ have not changed this document, that is, are distributing a software product that incorporates this
49
+ document as is from a third-party source other than IMS, are hereby granted permission to copy,
50
+ display and distribute the contents of this document in any medium for any purpose without fee or
51
+ royalty provided that you include this IPR, License and Distribution notice in its entirety on ALL
52
+ copies, or portions thereof.
53
+
54
+ Developers of products or services that are original incorporators of this document and wish
55
+ to provide distribution of this document as is or with modifications and developers of products and
56
+ services that are not original incorporators of this document and have changed this document, are
57
+ required to register with the IMS GLC community on the IMS GLC website as described in the following two
58
+ paragraphs:-
59
+
60
+ * If you wish to distribute this document as is, with no modifications, you are hereby granted
61
+ permission to copy, display and distribute the contents of this document in any medium for any
62
+ purpose without fee or royalty provided that you include this IPR, License and Distribution notice in
63
+ its entirety on ALL copies, or portions thereof, that you make and you complete a valid license
64
+ registration with IMS and receive an email from IMS granting the license. To register, follow the
65
+ instructions on the IMS website: http://www.imsglobal.org/specificationdownload.cfm. Once
66
+ registered you are granted permission to transfer unlimited distribution rights of this document for the
67
+ purposes of third-party or other distribution of your product or service that incorporates this
68
+ document as long as this IPR, License and Distribution notice remains in place in its entirety;
69
+
70
+ * If you wish to create and distribute a derived work from this document, you are hereby
71
+ granted permission to copy, display and distribute the contents of the derived work in any medium for
72
+ any purpose without fee or royalty provided that you include this IPR, License and Distribution
73
+ notice in its entirety on ALL copies, or portions thereof, that you make and you complete a valid
74
+ profile registration with IMS GLC and receive an email from IMS GLC granting the license. To register, follow
75
+ the instructions on the IMS GLC website: http://www.imsglobal.org/profile/. Once registered you are
76
+ granted permission to transfer unlimited distribution rights of the derived work for the purposes of
77
+ third-party or other distribution of your product or service that incorporates the derived work as long
78
+ as this IPR, License and Distribution notice remains in place in its entirety.
79
+
80
+ The limited permissions granted above are perpetual and will not be revoked by IMS GLC or its
81
+ successors or assigns.
82
+
83
+ THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS
84
+ EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTERS OWN RISK, AND NEITHER THE CONSORTIUM
85
+ NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF
86
+ ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.
87
+
88
+ Source UML File Information
89
+ ---------------------------
90
+ The source file information must be supplied as an XMI file (without diagram layout information).
91
+ The supported UML authoring tools are:
92
+ (a) Poseidon – v6 (and later)
93
+
94
+ Source XSLT File Information
95
+ ----------------------------
96
+ XSL Generator: UMLtoXSDTransformv0p9.xsl
97
+ XSLT Processor: Xalan
98
+ Release: 1.0 Beta 3
99
+ Date: 31st May, 2009
100
+
101
+ IMS GLC Auto-generation Binding Tool-kit (I-BAT)
102
+ ------------------------------------------------
103
+ This file was auto-generated using the IMS GLC Binding Auto-generation Tool-kit (I-BAT). While every
104
+ attempt has been made to ensure that this tool auto-generates the files correctly, users should be aware
105
+ that this is an experimental tool. Permission is given to make use of this tool. IMS GLC makes no
106
+ claim on the materials created by third party users of this tool. Details on how to use this tool
107
+ are contained in the IMS GLC "I-BAT" Documentation available at the IMS GLC web-site.
108
+
109
+ Tool Copyright: 2005-2010 (c) IMS Global Learning Consortium Inc. All Rights Reserved.
110
+ </xs:documentation>
111
+ </xs:annotation>
112
+
113
+ <!-- Generate Global Attributes *********************************************************************** -->
114
+
115
+ <xs:attribute name="protected" type="xs:boolean"/>
116
+
117
+ <!-- ================================================================================================== -->
118
+
119
+ <!-- Generate Namespaced extension Group ************************************************************* -->
120
+
121
+ <xs:group name="grpStrict.any">
122
+ <xs:annotation>
123
+ <xs:documentation>
124
+ Any namespaced element from any namespace may be included within an "any" element.
125
+ The namespace for the imported element must be defined in the instance, and the schema must be imported.
126
+ The extension has a definition of "strict" i.e. they must have their own namespace.
127
+ </xs:documentation>
128
+ </xs:annotation>
129
+ <xs:sequence>
130
+ <xs:any namespace = "##other" processContents = "strict" minOccurs = "0" maxOccurs = "unbounded"/>
131
+ </xs:sequence>
132
+ </xs:group>
133
+
134
+ <!-- ================================================================================================== -->
135
+
136
+ <!-- Generate Special DataTypes ********************************************************************** -->
137
+
138
+ <!-- ================================================================================================== -->
139
+
140
+ <!-- Generate the enumerated simpleType declarations ************************************************** -->
141
+
142
+ <!-- ================================================================================================== -->
143
+
144
+ <!-- Generate the simpleType elements based IMS data-types ******************************************* -->
145
+
146
+ <!-- ================================================================================================== -->
147
+
148
+ <!-- Generate the derived data-type elements based upon simpleType ************************************ -->
149
+
150
+ <!-- ================================================================================================== -->
151
+
152
+ <!-- Generate the derived data-type elements based upon derived simpleType **************************** -->
153
+
154
+ <!-- ================================================================================================== -->
155
+
156
+ <!-- Generate the data-type ComplexTypes ************************************************************** -->
157
+
158
+ <xs:complexType name="Authorizations.Type">
159
+ <xs:annotation>
160
+ <xs:documentation source="umldocumentation">
161
+ The set of authorizations for the associated object.
162
+ </xs:documentation>
163
+ </xs:annotation>
164
+ <xs:sequence>
165
+ <xs:element name="authorization" type="Authorization.Type" minOccurs = "1" maxOccurs = "1"/>
166
+ <xs:group ref="grpStrict.any"/>
167
+ </xs:sequence>
168
+ <xs:attribute name="access" use="required">
169
+ <xs:simpleType>
170
+ <xs:restriction base="xs:string">
171
+ <xs:enumeration value="cartridge"/>
172
+ <xs:enumeration value="resource"/>
173
+ </xs:restriction>
174
+ </xs:simpleType>
175
+ </xs:attribute>
176
+ <xs:attribute name="import" use="optional" default="false" type="xs:boolean"/>
177
+ </xs:complexType>
178
+
179
+ <xs:complexType name="Authorization.Type">
180
+ <xs:annotation>
181
+ <xs:documentation source="umldocumentation">
182
+ The authorization detail for the cartridge in terms of the web service.
183
+ </xs:documentation>
184
+ </xs:annotation>
185
+ <xs:sequence>
186
+ <xs:element name="cartridgeId" type="xs:normalizedString" minOccurs = "1" maxOccurs = "1"/>
187
+ <xs:element name="webservice" type="xs:normalizedString" minOccurs = "0" maxOccurs = "1"/>
188
+ </xs:sequence>
189
+ </xs:complexType>
190
+
191
+ <!-- ================================================================================================== -->
192
+
193
+ <!-- Declaration of the elements ********************************************************************** -->
194
+
195
+ <!-- ================================================================================================== -->
196
+
197
+ <!-- Declaration of the root element(s) *************************************************************** -->
198
+
199
+ <xs:element name="authorizations" type="Authorizations.Type"/>
200
+
201
+ <!-- ================================================================================================== -->
202
+
203
+ </xs:schema>
@@ -0,0 +1,827 @@
1
+ <?xml version = "1.0" encoding = "UTF-8"?>
2
+ <xs:schema xmlns="http://www.imsglobal.org/xsd/imsccv1p1/imscp_v1p1"
3
+ targetNamespace="http://www.imsglobal.org/xsd/imsccv1p1/imscp_v1p1"
4
+ xmlns:autz="http://www.imsglobal.org/xsd/imsccv1p1/imsccauth_v1p1"
5
+ xmlns:lomm="http://ltsc.ieee.org/xsd/imsccv1p1/LOM/manifest"
6
+ xmlns:lomr="http://ltsc.ieee.org/xsd/imsccv1p1/LOM/resource"
7
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
8
+ xmlns:sch="http://purl.oclc.org/dsdl/schematron"
9
+ version="IMS CC 1.1 CP 1.2"
10
+ elementFormDefault="qualified"
11
+ attributeFormDefault="unqualified">
12
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation = "test/fixtures/common_cartridge/schema/xml.xsd"/>
13
+ <xs:import namespace="http://www.imsglobal.org/xsd/imsccv1p1/imsccauth_v1p1" schemaLocation="test/fixtures/common_cartridge/schema/ccv1p1_imsccauth_v1p1.xsd"/>
14
+ <xs:import namespace="http://ltsc.ieee.org/xsd/imsccv1p1/LOM/manifest" schemaLocation="test/fixtures/common_cartridge/schema/ccv1p1_lommanifest_v1p0.xsd"/>
15
+ <xs:import namespace="http://ltsc.ieee.org/xsd/imsccv1p1/LOM/resource" schemaLocation="test/fixtures/common_cartridge/schema/ccv1p1_lomresource_v1p0.xsd"/>
16
+ <xs:annotation>
17
+ <xs:documentation>
18
+ XSD Data File Information
19
+ -------------------------
20
+ Author: Colin Smythe
21
+ Date: 31st January, 2011
22
+ Version: 1.1
23
+ Status: Final Release
24
+ Description: This model forms a part of the IMS GLC Common Catrtridge specification. This model is the profile of the
25
+ IMS GLC Content Package Core specification (v1.2). The changes made to create the profile are:
26
+
27
+ (a) The 'default' characteristic for the 'Organizations' class has been removed;
28
+ (b) The 'isvisible' characteristic for the Item class has been removed;
29
+ (c) The 'parameters' characteristic for the Item class has been removed;
30
+ (d) The 'structure' characteristic for the Organization class has been fixed to 'rooted-hierarchy';
31
+ (e) The 'extension' and 'version' characteristics for the Manifest class have been removed;
32
+ (f) The 'extension' attribute and 'extension' characteristic have been removed the Organizations class;
33
+ (g) The 'extension' attribute and 'extension' characteristic have been removed the Organization class;
34
+ (h) The 'extension' attribute and 'extension' characteristic have been removed from the Resources class;
35
+ (i) The 'extension' attribute and the 'extension' characteristic have been removed from the Resource class;
36
+ (j) The 'extension' attribute and 'extension' characteristic have been removed from the Item class;
37
+ (k) The 'extension' attribute and the 'extension' characteristic have been removed from the File class;
38
+ (l) The 'extension' attribute and 'extension' characteristic have been removed from the Dependency class;
39
+ (m) The 'type' characteristic of the Resource class has a new enumerated list of 'PredfinedContentTypes';
40
+ (n) The 'title' attribute for the Item class has its multiplicity changed to '1' except for the top-level item
41
+ attribute in the Orgaization class where it must not occur;
42
+ (o) Manifests are NO longer allowed to contain sub-manifests;
43
+ (p) The multiplicity of the Organization class in the Organizations class has been made '0..1';
44
+ (q) Only the metadata in the Manifest class is permitted to have the 'schema' and 'schemaversion' attributes;
45
+ (r) The 'schema', 'schemaversion' and 'title' attributes are redefined directly as 'String' primitiveTypes;
46
+ (s) The multiplicity of the 'item' attribute in the Organization class has been made '1';
47
+ (t) The value for the 'schema' attribute has been set as 'IMS Common Cartridge';
48
+ (u) The value for the 'schemaversion' attribute has been set to '1.1.0';
49
+ (v) The authorizations attribute has been added as an imported extension to the manifest;
50
+ (w) The protect attribute has been added as an imported extension to the resource;
51
+ (x) The IEEE LOM attribute has been added as an imported extension to the manifest metadata;
52
+ (y) The 'intendeduse' attribute has been added to the ResourceType complexType.
53
+
54
+ History: This profile is taken from the formal representation in UML of the IMS CP v1.2 core specification.
55
+ This is the second version of the profile for the CCv1.1. The two changes are the addition of the
56
+ ResourceMetadata class and the vocabulary for the permitted resource types.
57
+
58
+ License: IPR, License and Distribution Notices
59
+
60
+ This machine readable file is derived from IMS Global Learning Consortium (GLC) specification IMS [spec name] Version [x.x]
61
+ found at http://www.imsglobal.org/[xxx] and the original IMS GLC schema binding or code base
62
+ http://www.imsglobal.org/[binding document].
63
+
64
+ Recipients of this document are requested to submit, with their comments, notification of any
65
+ relevant patent claims or other intellectual property rights of which they may be aware that might be
66
+ infringed by the schema binding contained in this document.
67
+
68
+ IMS GLC takes no position regarding the validity or scope of any intellectual property or other
69
+ rights that might be claimed to pertain to the implementation or use of the technology described in this
70
+ document or the extent to which any license under such rights might or might not be available; neither
71
+ does it represent that it has made any effort to identify any such rights. Information on IMS GLCs
72
+ procedures with respect to rights in IMS GLC specifications can be found at the IMS GLC Intellectual Property
73
+ Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.
74
+
75
+ Copyright (c) IMS Global Learning Consortium 1999-2011. All Rights Reserved.
76
+
77
+ License Notice for Users
78
+
79
+ Users of products or services that include this document are hereby granted a worldwide, royalty-free,
80
+ non-exclusive license to use this document.
81
+
82
+ Distribution Notice for Developers
83
+
84
+ Developers of products or services that are not original incorporators of this document and
85
+ have not changed this document, that is, are distributing a software product that incorporates this
86
+ document as is from a third-party source other than IMS, are hereby granted permission to copy,
87
+ display and distribute the contents of this document in any medium for any purpose without fee or
88
+ royalty provided that you include this IPR, License and Distribution notice in its entirety on ALL
89
+ copies, or portions thereof.
90
+
91
+ Developers of products or services that are original incorporators of this document and wish
92
+ to provide distribution of this document as is or with modifications and developers of products and
93
+ services that are not original incorporators of this document and have changed this document, are
94
+ required to register with the IMS GLC community on the IMS GLC website as described in the following two
95
+ paragraphs:-
96
+
97
+ * If you wish to distribute this document as is, with no modifications, you are hereby granted
98
+ permission to copy, display and distribute the contents of this document in any medium for any
99
+ purpose without fee or royalty provided that you include this IPR, License and Distribution notice in
100
+ its entirety on ALL copies, or portions thereof, that you make and you complete a valid license
101
+ registration with IMS and receive an email from IMS granting the license. To register, follow the
102
+ instructions on the IMS website: http://www.imsglobal.org/specificationdownload.cfm. Once
103
+ registered you are granted permission to transfer unlimited distribution rights of this document for the
104
+ purposes of third-party or other distribution of your product or service that incorporates this
105
+ document as long as this IPR, License and Distribution notice remains in place in its entirety;
106
+
107
+ * If you wish to create and distribute a derived work from this document, you are hereby
108
+ granted permission to copy, display and distribute the contents of the derived work in any medium for
109
+ any purpose without fee or royalty provided that you include this IPR, License and Distribution
110
+ notice in its entirety on ALL copies, or portions thereof, that you make and you complete a valid
111
+ profile registration with IMS GLC and receive an email from IMS GLC granting the license. To register, follow
112
+ the instructions on the IMS GLC website: http://www.imsglobal.org/profile/. Once registered you are
113
+ granted permission to transfer unlimited distribution rights of the derived work for the purposes of
114
+ third-party or other distribution of your product or service that incorporates the derived work as long
115
+ as this IPR, License and Distribution notice remains in place in its entirety.
116
+
117
+ The limited permissions granted above are perpetual and will not be revoked by IMS GLC or its
118
+ successors or assigns.
119
+
120
+ THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS
121
+ EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTERS OWN RISK, AND NEITHER THE CONSORTIUM
122
+ NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF
123
+ ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.
124
+
125
+ Source UML File Information
126
+ ---------------------------
127
+ The source file information must be supplied as an XMI file (without diagram layout information).
128
+ The supported UML authoring tools are:
129
+ (a) Poseidon - v6 (and later)
130
+
131
+ Source XSLT File Information
132
+ ----------------------------
133
+ XSL Generator: UMLtoXSDTransformv0p9p5.xsl
134
+ XSLT Processor: Xalan
135
+ Release: 1.0 Beta 4
136
+ Date: 31st March, 2011
137
+
138
+ IMS GLC Auto-generation Binding Tool-kit (I-BAT)
139
+ ------------------------------------------------
140
+ This file was auto-generated using the IMS GLC Binding Auto-generation Tool-kit (I-BAT). While every
141
+ attempt has been made to ensure that this tool auto-generates the files correctly, users should be aware
142
+ that this is an experimental tool. Permission is given to make use of this tool. IMS GLC makes no
143
+ claim on the materials created by third party users of this tool. Details on how to use this tool
144
+ are contained in the IMS GLC "I-BAT" Documentation available at the IMS GLC web-site.
145
+
146
+ Tool Copyright: 2005-2011 (c) IMS Global Learning Consortium Inc. All Rights Reserved.
147
+ </xs:documentation>
148
+ </xs:annotation>
149
+
150
+ <xs:annotation>
151
+ <xs:documentation>
152
+ Schematron Validation Rules Information
153
+ ---------------------------------------
154
+ Author: Colin Smythe
155
+ Date: 29th November, 2010
156
+ Version: 1.1
157
+ Status: Final Release
158
+
159
+ Description: This set of schematron rules have been created to increase the validation capability of the CPv1.2 XSD for CCv1.1.
160
+ A total of 10 rule sets have been created to ensure that:
161
+ [1] The set of rules to ensure that resources for Discussion Topics are correctly provided;
162
+ [2] The set of rules to ensure that resources for Web Links are correctly provided;
163
+ [3] The set of rules to ensure that resources for Assessments are correctly provided;
164
+ [4] The set of rules to ensure that resources for Question Banks are correctly provided;
165
+ [5] The set of rules to ensure that resources for Web Content are correctly provided;
166
+ [6] The set of rules to ensure that resources for Associated Content are correctly provided;
167
+ [7] The set of general rules to ensure that Dependencies are used correctly;
168
+ [8] The set of general rules to ensure that Items are defined correctly;
169
+ [9] The set of general rules to ensure that Files are used correctly;
170
+ [10] The set of general rules to ensure that Resources are used correctly;
171
+ [11] The set of rules to ensure that resources for BasicLTI are correctly provided.
172
+
173
+ Rule Set: [1] The set of rules to ensure that resources for Discussion Topics are correctly provided.
174
+ The rules are:
175
+ (a) Detect for the Discussion Topic Resource when the required 'file' element is missing;
176
+ (b) Detect for the Discussion Topic Resource when too many 'file' elements are declared;
177
+ (c) Ensure for the Discussion Topic Resource that the 'href' attribute is not used on the 'resource' element;
178
+ (d) Detect for the Discussion Topic Resource when it has a prohibited dependency on a Discussion Topic;
179
+ (e) Detect for the Discussion Topic Resource when it has a prohibited dependency on a Web Link;
180
+ (f) Detect for the Discussion Topic Resource when it has a prohibited dependency on an Assessment;
181
+ (g) Detect for the Discussion Topic Resource when it has a prohibited dependency on a Question Bank;
182
+ (h) Detect for the Discussion Topic Resource when it has a prohibited dependency on a BasicLTI link;
183
+
184
+ [2] The set of rules to ensure that resources for Web Links are correctly provided.
185
+ The rules are:
186
+ (a) Detect for the Web Links Resource when the required 'file' element is missing;
187
+ (b) Detect for the Web Links Resource when too many 'file' elements are declared;
188
+ (c) Ensure for the Web Links Resource that the 'href' attribute is not used on the 'resource' element;
189
+ (d) Ensure for the Web Links Resource that the 'dependency' element is not used;
190
+
191
+ [3] The set of rules to ensure that resources for Assessments are correctly provided.
192
+ The rules are:
193
+ (a) Detect for the Assessment Resource when the required 'file' element is missing;
194
+ (b) Detect for the Assessment Resource when too many 'file' elements are declared;
195
+ (c) Ensure for the Assessment Resource that the 'href' attribute is not used on the 'resource' element;
196
+ (d) Detect for the Assessment Resource when it has a prohibited dependency on a Discussion Topic;
197
+ (e) Detect for the Assessment Resource when it has a prohibited dependency on a Web Link;
198
+ (f) Detect for the Assessment Resource when it has a prohibited dependency on an Assessment;
199
+ (g) Detect for the Assessment Resource when it has a prohibited dependency on a Question Bank;
200
+ (h) Detect for the Assessment Resource when it has a prohibited dependency on a BasicLTI link;
201
+
202
+ [4] The set of rules to ensure that resources for Question Banks are correctly provided.
203
+ The rules are:
204
+ (a) Ensure that no more than one Qestion Bank is defiend as a resource;
205
+ (b) Detect for the Question Bank Resource when the required 'file' element is missing;
206
+ (c) Detect for the Question Bank Resource when too many 'file' elements are declared;
207
+ (d) Ensure for the Question Bank Resource that the 'href' attribute is not used on the 'resource' element;
208
+ (e) Detect for the Question Bank Resource when it has a prohibited dependency on a Discussion Topic;
209
+ (f) Detect for the Question Bank Resource when it has a prohibited dependency on a Web Link;
210
+ (g) Detect for the Question Bank Resource when it has a prohibited dependency on an Assessment;
211
+ (h) Detect for the Question Bank Resource when it has a prohibited dependency on a Question Bank;
212
+ (i) Detect for the Question Bank Resource when it has a prohibited dependency on a BasicLTI link;
213
+
214
+ [5] The set of rules to ensure that resources for Web Content are correctly provided.
215
+ The rules are:
216
+ (a) Detect for the Web Content Resource when it has a prohibited dependency on a Discussion Topic;
217
+ (b) Detect for the Web Content Resource when it has a prohibited dependency on a Web Link;
218
+ (c) Detect for the Web Content Resource when it has a prohibited dependency on an Assessment;
219
+ (d) Detect for the Web Content Resource when it has a prohibited dependency on a Question Bank;
220
+ (e) Detect for the Web Content Resource when it has a prohibited dependency on a Associated Content;
221
+ (f) Detect for the Web Content Resource when it has a prohibited dependency on a BasicLTI link;
222
+ (g) A Web Content Resource has a missing 'href' attribute (required because the resource is directly referenced by an Item). [TO BE VERIFIED]
223
+
224
+ [6] The set of rules to ensure that resources for Associated Content are correctly provided.
225
+ The rules are:
226
+ (a) Detect for the Associated Content Resource when it has a prohibited dependency on a Discussion Topic;
227
+ (b) Detect for the Associated Content Resource when it has a prohibited dependency on a Web Link;
228
+ (c) Detect for the Associated Content Resource when it has a prohibited dependency on an Assessment;
229
+ (d) Detect for the Associated Content Resource when it has a prohibited dependency on a Question Bank;
230
+ (e) Detect for the Associated Content Resource when it has a prohibited dependency on a Associated Content;
231
+ (f) Detect for the Associated Content Resource when it has a prohibited dependency on a BasicLTI link;
232
+ (g) An Associated Content Resource has a missing 'href' attribute (required because the resource is directly referenced by an Item). [TO BE VERIFIED]
233
+
234
+ [7] The set of general rules to ensure that Dependencies are used correctly.
235
+ The rules are:
236
+ (a) A 'dependency' element has a circular reference to its host 'resource' element with identifier;
237
+ (b) In a 'resource' element at least two 'dependency' elements reference the same 'resource' element.
238
+
239
+ [8] The set of general rules to ensure that Items are defined correctly.
240
+ The rules are:
241
+ (a) An Item has a prohibited reference(s) to a Question Bank Resource;
242
+ (b) A Learning Object Item contains prohibited child Item(s).
243
+
244
+ [9] The set of general rules to ensure that Files are used correctly.
245
+ The rules are:
246
+ (a) In a 'resource' element at least two 'file' elements have the same 'href' attribute;
247
+
248
+ [10] The set of general rules to ensure that Resources are used correctly.
249
+ The rules are:
250
+ (a) For a 'resource' element with the 'href' attribute the 'file' element is missing;
251
+ (b) For a 'resource' element with the 'href' attribute there is no 'file' element with the correct 'href' attribute.
252
+
253
+ [11] The set of rules to ensure that resources for BasicLTI are correctly provided.
254
+ The rules are:
255
+ (a) Detect for the BasicLTI Resource when it has a prohibited dependency on a Discussion Topic;
256
+ (b) Detect for the BasicLTI Resource when it has a prohibited dependency on a Web Link;
257
+ (c) Detect for the BasicLTI Resource when it has a prohibited dependency on an Assessment;
258
+ (d) Detect for the BasicLTI Resource when it has a prohibited dependency on a Question Bank;
259
+ (e) Detect for the BasicLTI Resource when it has a prohibited dependency on a Web Content;
260
+ (f) Detect for the BasicLTI Resource when it has a prohibited dependency on a BasicLTI link.
261
+ </xs:documentation>
262
+
263
+ <xs:appinfo>
264
+ <sch:ns uri="http://www.imsglobal.org/xsd/imsccv1p1/imscp_v1p1" prefix="cp"/>
265
+ <sch:title>Schematron validation rules for the Common Cartridge v1p1 profile of CP v1.1.4/1.2</sch:title>
266
+
267
+ <!-- RULE 1: Discussion Topic Resource Validation -->
268
+ <sch:pattern abstract="false" name="RULE SET 1">
269
+ <sch:title>RULE SET 1: The set of rules to ensure that resources for Discussion Topics are correctly provided</sch:title>
270
+
271
+ <sch:rule abstract="false" context="cp:resource[@type='imsdt_xmlv1p0']">
272
+ <sch:assert test="count(cp:file) &gt; 0">
273
+ [RULE 1a] For the Discussion Topic Resource the required 'file' element is missing.
274
+ </sch:assert>
275
+ <sch:assert test="count(cp:file) &lt; 2">
276
+ [RULE 1b] For the Discussion Topic Resource there are too many 'file' element references: <sch:value-of select="count(cp:file)"/>.
277
+ </sch:assert>
278
+ <sch:assert test="count(@href) = 0">
279
+ [RULE 1c] For the Discussion Topic Resource the 'href' attribute must not be used on the 'resource' element.
280
+ </sch:assert>
281
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsdt_xmlv1p0']/@identifier]) = 0">
282
+ [RULE 1d] The Discussion Topic Resource has a prohibited dependency on a Discussion Topic: <sch:value-of select="cp:dependency/@identifierref"/>
283
+ </sch:assert>
284
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imswl_xmlv1p0']/@identifier]) = 0">
285
+ [RULE 1e] The Discussion Topic Resource has a prohibited dependency on a Web Link: <sch:value-of select="cp:dependency/@identifierref"/>
286
+ </sch:assert>
287
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/assessment']/@identifier]) = 0">
288
+ [RULE 1f] The Discussion Topic Resource has a prohibited dependency on an Assessment: <sch:value-of select="cp:dependency/@identifierref"/>
289
+ </sch:assert>
290
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank']/@identifier]) = 0">
291
+ [RULE 1g] The Discussion Topic Resource has a prohibited dependency on a Question Bank: <sch:value-of select="cp:dependency/@identifierref"/>
292
+ </sch:assert>
293
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsbasiclti_xmlv1p0']/@identifier]) = 0">
294
+ [RULE 1h] The Discussion Topic Resource has a prohibited dependency on a BasicLTI: <sch:value-of select="cp:dependency/@identifierref"/>
295
+ </sch:assert>
296
+ </sch:rule>
297
+
298
+ </sch:pattern>
299
+ <!-- **************************************************************************** -->
300
+
301
+ <!-- RULE 2: Web Links Resource Validation -->
302
+ <sch:pattern abstract="false" name="RULE SET 2">
303
+ <sch:title>RULE SET 2: The set of rules to ensure that resources for Web Links are correctly provided</sch:title>
304
+
305
+ <sch:rule abstract="false" context="cp:resource[@type='imswl_xmlv1p0']">
306
+ <sch:assert test="count(cp:file) &gt; 0">
307
+ [RULE 2a] For the Web Link Resource the required 'file' element is missing.
308
+ </sch:assert>
309
+ <sch:assert test="count(cp:file) &lt; 2">
310
+ [RULE 2b] For the Web Link Resource there are too many 'file' element references: <sch:value-of select="count(cp:file)"/>.
311
+ </sch:assert>
312
+ <sch:assert test="count(@href) = 0">
313
+ [RULE 2c] For the Web Link Resource the 'href' attribute must not be used on the 'resource' element.
314
+ </sch:assert>
315
+ <sch:assert test="count(cp:dependency) = 0">
316
+ [RULE 2d] For the Web Link Resource the prohibited 'dependency' element is used: <sch:value-of select="count(cp:dependency)"/>.
317
+ </sch:assert>
318
+ </sch:rule>
319
+
320
+ </sch:pattern>
321
+ <!-- **************************************************************************** -->
322
+
323
+ <!-- RULE 3: Assessment Resource Validation -->
324
+ <sch:pattern abstract="false" name="RULE SET 3">
325
+ <sch:title>RULE SET 3: The set of rules to ensure that resources for Assessments are correctly provided</sch:title>
326
+
327
+ <sch:rule abstract="false" context="cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/assessment']">
328
+ <sch:assert test="count(cp:file) &gt; 0">
329
+ [RULE 3a] For the Assessments Resource the required 'file' element is missing.
330
+ </sch:assert>
331
+ <sch:assert test="count(cp:file) &lt; 2">
332
+ [RULE 3b] For the Assessments Resource there are too many 'file' element references: <sch:value-of select="count(cp:file)"/>.
333
+ </sch:assert>
334
+ <sch:assert test="count(@href) = 0">
335
+ [RULE 3c] For the Assessments Resource the 'href' attribute must not be used on the 'resource' element.
336
+ </sch:assert>
337
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsdt_xmlv1p0']/@identifier]) = 0">
338
+ [RULE 3d] The Assessment Resource has a prohibited dependency on a Discussion Topic: <sch:value-of select="cp:dependency/@identifierref"/>
339
+ </sch:assert>
340
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imswl_xmlv1p0']/@identifier]) = 0">
341
+ [RULE 3e] The Assessment Resource has a prohibited dependency on a Web Link: <sch:value-of select="cp:dependency/@identifierref"/>
342
+ </sch:assert>
343
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/assessment']/@identifier]) = 0">
344
+ [RULE 3f] The Assessment Resource has a prohibited dependency on an Assessment: <sch:value-of select="cp:dependency/@identifierref"/>
345
+ </sch:assert>
346
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank']/@identifier]) = 0">
347
+ [RULE 3g] The Assessment Resource has a prohibited dependency on a Question Bank: <sch:value-of select="cp:dependency/@identifierref"/>
348
+ </sch:assert>
349
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsbasiclti_xmlv1p0']/@identifier]) = 0">
350
+ [RULE 3h] The Assessment Resource has a prohibited dependency on a BasicLTI: <sch:value-of select="cp:dependency/@identifierref"/>
351
+ </sch:assert>
352
+ </sch:rule>
353
+
354
+ </sch:pattern>
355
+ <!-- **************************************************************************** -->
356
+
357
+ <!-- RULE 4: Question Bank Resource Validation -->
358
+ <sch:pattern abstract="false" name="RULE SET 4">
359
+ <sch:title>RULE SET 4: The set of rules to ensure that resources for Question Banks are correctly provided</sch:title>
360
+
361
+ <sch:rule abstract="false" context="cp:resources">
362
+ <sch:assert test="count(cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank']) &lt; 2">
363
+ [RULE 4a] The are too many Question Bank Resources (a maximum of one is permitted). Number of Question Bank Resources is: <sch:value-of select="count(cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank'])"/>.
364
+ </sch:assert>
365
+ </sch:rule>
366
+
367
+ <sch:rule abstract="false" context="cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank']">
368
+ <sch:assert test="count(cp:file) &gt; 0">
369
+ [RULE 4b] For the Question Bank Resource the required 'file' element is missing.
370
+ </sch:assert>
371
+ <sch:assert test="count(cp:file) &lt; 2">
372
+ [RULE 4c] For the Question Bank Resource there are too many 'file' element references: <sch:value-of select="count(cp:file)"/>.
373
+ </sch:assert>
374
+ <sch:assert test="count(@href) = 0">
375
+ [RULE 4d] For the Question Bank Resource the 'href' attribute must not be used on the 'resource' element.
376
+ </sch:assert>
377
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsdt_xmlv1p0']/@identifier]) = 0">
378
+ [RULE 4e] The Question Bank Resource has a prohibited dependency on a Discussion Topic: <sch:value-of select="cp:dependency/@identifierref"/>
379
+ </sch:assert>
380
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imswl_xmlv1p0']/@identifier]) = 0">
381
+ [RULE 4f] The Question Bank Resource has a prohibited dependency on a Web Link: <sch:value-of select="cp:dependency/@identifierref"/>
382
+ </sch:assert>
383
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/assessment']/@identifier]) = 0">
384
+ [RULE 4g] The Question Bank Resource has a prohibited dependency on an Assessment: <sch:value-of select="cp:dependency/@identifierref"/>
385
+ </sch:assert>
386
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank']/@identifier]) = 0">
387
+ [RULE 4h] The Question Bank Resource has a prohibited dependency on a Question Bank: <sch:value-of select="cp:dependency/@identifierref"/>
388
+ </sch:assert>
389
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsbasiclti_xmlv1p0']/@identifier]) = 0">
390
+ [RULE 4i] The Question Bank Resource has a prohibited dependency on a BasicLTI: <sch:value-of select="cp:dependency/@identifierref"/>
391
+ </sch:assert>
392
+ </sch:rule>
393
+
394
+ </sch:pattern>
395
+ <!-- **************************************************************************** -->
396
+
397
+ <!-- RULE 5: Web Content Resource Validation -->
398
+ <sch:pattern abstract="false" name="RULE SET 5">
399
+ <sch:title>RULE SET 5: The set of rules to ensure that resources for Web Content are correctly provided</sch:title>
400
+
401
+ <sch:rule abstract="false" context="cp:resource[@type='webcontent']">
402
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsdt_xmlv1p0']/@identifier]) = 0">
403
+ [RULE 5a] The Web Content has a prohibited dependency on a Discussion Topic: <sch:value-of select="cp:dependency/@identifierref"/>.
404
+ </sch:assert>
405
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imswl_xmlv1p0']/@identifier]) = 0">
406
+ [RULE 5b] The Web Content has a prohibited dependency on a Web Link: <sch:value-of select="cp:dependency/@identifierref"/>.
407
+ </sch:assert>
408
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/assessment']/@identifier]) = 0">
409
+ [RULE 5c] The Web Content has a prohibited dependency on an Assessment: <sch:value-of select="cp:dependency/@identifierref"/>.
410
+ </sch:assert>
411
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank']/@identifier]) = 0">
412
+ [RULE 5d] The Web Content has a prohibited dependency on a Question Bank: <sch:value-of select="cp:dependency/@identifierref"/>.
413
+ </sch:assert>
414
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='associatedcontent/imscc_xmlv1p0/learning-application-resource']/@identifier]) = 0">
415
+ [RULE 5e] The Web Content has a prohibited dependency on an Associated Content: <sch:value-of select="cp:dependency/@identifierref"/>.
416
+ </sch:assert>
417
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsbasiclti_xmlv1p0']/@identifier]) = 0">
418
+ [RULE 5f] The Web Content has a prohibited dependency on a BasicLTI: <sch:value-of select="cp:dependency/@identifierref"/>.
419
+ </sch:assert>
420
+ </sch:rule>
421
+ <!-- UNDER REVIEW
422
+ <sch:rule abstract="false" context="cp:resources">
423
+ <sch:assert test="cp:resource[@type='webcontent'][@identifier=//cp:item/@identifierref][@href]">
424
+ [RULE 5g] An Web Content resource has a missing 'href' attribute (required because the resource is directly referenced by an Item). Check the following resources: <sch:value-of select="cp:resource[@type='webcontent']/@identifier"/>.
425
+ </sch:assert>
426
+ </sch:rule>
427
+ -->
428
+ </sch:pattern>
429
+ <!-- **************************************************************************** -->
430
+
431
+ <!-- RULE 6: Associated Content Resource Validation -->
432
+ <sch:pattern abstract="false" name="RULE SET 6">
433
+ <sch:title>RULE SET 6: The set of rules to ensure that resources for Associated Content are correctly provided</sch:title>
434
+
435
+ <sch:rule abstract="false" context="cp:resource[@type='associatedcontent/imscc_xmlv1p0/learning-application-resource']">
436
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsdt_xmlv1p0']/@identifier]) = 0">
437
+ [RULE 6a] The Associated Content Resource has a prohibited dependency on a Discussion Topic: <sch:value-of select="cp:dependency/@identifierref"/>.
438
+ </sch:assert>
439
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imswl_xmlv1p0']/@identifier]) = 0">
440
+ [RULE 6b] The Associated Content Resource has a prohibited dependency on a Web Link: <sch:value-of select="cp:dependency/@identifierref"/>.
441
+ </sch:assert>
442
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/assessment']/@identifier]) = 0">
443
+ [RULE 6c] The Associated Content Resource has a prohibited dependency on an Assessment: <sch:value-of select="cp:dependency/@identifierref"/>.
444
+ </sch:assert>
445
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank']/@identifier]) = 0">
446
+ [RULE 6d] The Associated Content Resource has a prohibited dependency on a Question Bank: <sch:value-of select="cp:dependency/@identifierref"/>.
447
+ </sch:assert>
448
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='associatedcontent/imscc_xmlv1p0/learning-application-resource']/@identifier]) = 0">
449
+ [RULE 6e] The Associated Content Resource has a prohibited dependency on an Associated Content: <sch:value-of select="cp:dependency/@identifierref"/>.
450
+ </sch:assert>
451
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsbasiclti_xmlv1p0']/@identifier]) = 0">
452
+ [RULE 6f] The Associated Content Resource has a prohibited dependency on a BasicLTI: <sch:value-of select="cp:dependency/@identifierref"/>.
453
+ </sch:assert>
454
+ </sch:rule>
455
+ <!-- UNDER REVIEW
456
+ <sch:rule abstract="false" context="cp:resources">
457
+ <sch:assert test="cp:resource[@type='associatedcontent/imscc_xmlv1p0/learning-application-resource'][@identifier=//cp:item/@identifierref][@href]">
458
+ [RULE 6g] An Associated Content resource has a missing 'href' attribute (required because the resource is directly referenced by an Item). Check the following resources: <sch:value-of select="cp:resource[@type='associatedcontent/imscc_xmlv1p0/learning-application-resource']/@identifier"/>.
459
+ </sch:assert>
460
+ </sch:rule>
461
+ -->
462
+ </sch:pattern>
463
+ <!-- **************************************************************************** -->
464
+
465
+ <!-- RULE 7: General Dependency Validation -->
466
+ <sch:pattern abstract="false" name="RULE SET 7">
467
+ <sch:title>RULE SET 7: The set of rules to ensure that Dependencies are used correctly.</sch:title>
468
+
469
+ <sch:rule abstract="false" context="cp:dependency">
470
+ <sch:assert test="@identifierref != parent::cp:resource/@identifier">
471
+ [RULE 7a] A 'dependency' element has a circular reference to its host 'resource' element with identifier: <sch:value-of select="@identifierref"/>.
472
+ </sch:assert>
473
+ </sch:rule>
474
+ <sch:rule abstract="false" context="cp:resource">
475
+ <sch:assert test="not(cp:dependency[@identifierref = preceding-sibling::cp:dependency/@identifierref])">
476
+ [RULE 7b] In a 'resource' element at least two 'dependency' elements reference the same 'resource' element. <sch:value-of select="cp:dependency/@identifierref"/>.
477
+ </sch:assert>
478
+ </sch:rule>
479
+
480
+ </sch:pattern>
481
+ <!-- **************************************************************************** -->
482
+
483
+ <!-- RULE 8: General Item Validation -->
484
+ <sch:pattern abstract="false" name="RULE SET 8">
485
+ <sch:title>RULE SET 8: The set of rules to ensure that Items are defined correctly.</sch:title>
486
+
487
+ <sch:rule abstract="false" context="cp:resources">
488
+ <sch:assert test="count(cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank'][@identifier=//cp:item/@identifierref]) = 0">
489
+ [RULE 8a] An Item has a prohibited reference(s) to a Question Bank Resource: <sch:value-of select="cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank']/@identifier"/>.
490
+ </sch:assert>
491
+ </sch:rule>
492
+ <sch:rule abstract="false" context="cp:item/cp:item[@identifierref]">
493
+ <sch:assert test="count(cp:item) = 0">
494
+ [RULE 8b] A Learning Object Item contains prohibited child Item(s): <sch:value-of select="cp:item/@identifier"/>.
495
+ </sch:assert>
496
+ </sch:rule>
497
+
498
+ </sch:pattern>
499
+ <!-- **************************************************************************** -->
500
+
501
+ <!-- RULE 9: General File Validation -->
502
+ <sch:pattern abstract="false" name="RULE SET 9">
503
+ <sch:title>RULE SET 9: The set of rules to ensure that Files are used correctly.</sch:title>
504
+
505
+ <sch:rule abstract="false" context="cp:resource">
506
+ <sch:assert test="not(cp:file[@href = preceding-sibling::cp:file/@href])">
507
+ [RULE 9a] In a 'resource' element at least two 'file' elements have the same 'href' attribute: <sch:value-of select="cp:file/@href"/>.
508
+ </sch:assert>
509
+ </sch:rule>
510
+
511
+ </sch:pattern>
512
+ <!-- **************************************************************************** -->
513
+
514
+ <!-- RULE 10: General Resource Validation -->
515
+ <sch:pattern abstract="false" name="RULE SET 10">
516
+ <sch:title>RULE SET 10: The set of general rules to ensure that Resources are used correctly.</sch:title>
517
+
518
+ <sch:rule abstract="false" context="cp:resource[@href]">
519
+ <sch:assert test="count(cp:file) &gt; 0">
520
+ [RULE 10a] For a 'resource' element with the 'href' attribute the 'file' element is missing: <sch:value-of select="@identifier"/>.
521
+ </sch:assert>
522
+ <sch:assert test="@href=cp:file/@href">
523
+ [RULE 10b] For a 'resource' element with the 'href' attribute there is no 'file' element with the correct 'href' attribute: <sch:value-of select="@identifier"/>.
524
+ </sch:assert>
525
+ </sch:rule>
526
+
527
+ </sch:pattern>
528
+ <!-- **************************************************************************** -->
529
+
530
+ <!-- RULE 11: BasicLTI Resource Validation -->
531
+ <sch:pattern abstract="false" name="RULE SET 11">
532
+ <sch:title>RULE SET 11: The set of rules to ensure that resources for BasicLTI are correctly provided</sch:title>
533
+
534
+ <sch:rule abstract="false" context="cp:resource[@type='imsbasiclti_xmlv1p0']">
535
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsdt_xmlv1p0']/@identifier]) = 0">
536
+ [RULE 11a] The BasicLTI has a prohibited dependency on a Discussion Topic: <sch:value-of select="cp:dependency/@identifierref"/>.
537
+ </sch:assert>
538
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imswl_xmlv1p0']/@identifier]) = 0">
539
+ [RULE 11b] The BasicLTI has a prohibited dependency on a Web Link: <sch:value-of select="cp:dependency/@identifierref"/>.
540
+ </sch:assert>
541
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/assessment']/@identifier]) = 0">
542
+ [RULE 11c] The Web Content has a prohibited dependency on an Assessment: <sch:value-of select="cp:dependency/@identifierref"/>.
543
+ </sch:assert>
544
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank']/@identifier]) = 0">
545
+ [RULE 11d] The Web Content has a prohibited dependency on a Question Bank: <sch:value-of select="cp:dependency/@identifierref"/>.
546
+ </sch:assert>
547
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='webcontent']/@identifier]) = 0">
548
+ [RULE 11e] The Web Content has a prohibited dependency on an Associated Content: <sch:value-of select="cp:dependency/@identifierref"/>.
549
+ </sch:assert>
550
+ <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsbasiclti_xmlv1p0']/@identifier]) = 0">
551
+ [RULE 11f] The Web Content has a prohibited dependency on a BasicLTI: <sch:value-of select="cp:dependency/@identifierref"/>.
552
+ </sch:assert>
553
+ </sch:rule>
554
+
555
+ </sch:pattern>
556
+ <!-- **************************************************************************** -->
557
+
558
+ </xs:appinfo>
559
+
560
+ </xs:annotation>
561
+
562
+ <!-- Generate Global Attributes *********************************************************************** -->
563
+
564
+ <xs:attributeGroup name="protected.Resource.Attr">
565
+ <xs:attribute ref="autz:protected" use="optional" default="false"/>
566
+ </xs:attributeGroup>
567
+
568
+ <!-- ================================================================================================== -->
569
+
570
+ <!-- Generate Global List Types *********************************************************************** -->
571
+
572
+ <!-- ================================================================================================== -->
573
+
574
+ <!-- Generate Namespaced extension Group ************************************************************* -->
575
+
576
+ <xs:group name="grpStrict.any">
577
+ <xs:annotation>
578
+ <xs:documentation>
579
+ Any namespaced element from any namespace may be included within an "any" element.
580
+ The namespace for the imported element must be defined in the instance, and the schema must be imported.
581
+ The extension has a definition of "strict" i.e. they must have their own namespace.
582
+ </xs:documentation>
583
+ </xs:annotation>
584
+ <xs:sequence>
585
+ <xs:any namespace = "##other" processContents = "strict" minOccurs = "0" maxOccurs = "unbounded"/>
586
+ </xs:sequence>
587
+ </xs:group>
588
+
589
+ <!-- ================================================================================================== -->
590
+
591
+ <!-- Generate Special DataTypes ********************************************************************** -->
592
+
593
+ <!-- ================================================================================================== -->
594
+
595
+ <!-- Generate the enumerated simpleType declarations ************************************************** -->
596
+
597
+ <!-- ================================================================================================== -->
598
+
599
+ <!-- Generate the simpleType elements based IMS data-types ******************************************* -->
600
+
601
+ <!-- ================================================================================================== -->
602
+
603
+ <!-- Generate the derived data-type elements based upon simpleType ************************************ -->
604
+
605
+ <!-- ================================================================================================== -->
606
+
607
+ <!-- Generate the derived data-type elements based upon derived simpleType **************************** -->
608
+
609
+ <!-- ================================================================================================== -->
610
+
611
+ <!-- Generate the data-type ComplexTypes ************************************************************** -->
612
+
613
+ <xs:complexType name="Dependency.Type" mixed="false">
614
+ <xs:annotation>
615
+ <xs:documentation source="umldocumentation">
616
+ <p>This identifies a resource whose files this resource depends upon. The reference to an identifier in the resources section is contained in the Identifierref attribute.</p>
617
+ </xs:documentation>
618
+ </xs:annotation>
619
+ <xs:sequence>
620
+ </xs:sequence>
621
+ <xs:attribute name="identifierref" use="required" type="xs:IDREF"/>
622
+ </xs:complexType>
623
+
624
+ <xs:complexType name="File.Type" mixed="false">
625
+ <xs:annotation>
626
+ <xs:documentation source="umldocumentation">
627
+ <p>A listing of file that this resource is dependent on. The href attribute identifies the location of the file. This may have some meta-data.</p>
628
+ </xs:documentation>
629
+ </xs:annotation>
630
+ <xs:sequence>
631
+ <xs:element name="metadata" type="Metadata.Type" minOccurs = "0" maxOccurs = "1"/>
632
+ </xs:sequence>
633
+ <xs:attribute name="href" use="required" type="xs:anyURI"/>
634
+ </xs:complexType>
635
+
636
+ <xs:complexType name="Item.Type" mixed="false">
637
+ <xs:annotation>
638
+ <xs:documentation source="umldocumentation">
639
+ <p>This is the structure that describes the shape of the organization. It is used in a hierarchical organizational scheme by ordering and nesting. Each Item has an identifier that is unique within the Manifest file. Identifierref acts as a reference to an identifier in the resources section. An Item has a title and may have meta-data. The parameters and isvisible attributes have been removed for this profile.</p>
640
+ </xs:documentation>
641
+ </xs:annotation>
642
+ <xs:sequence>
643
+ <xs:element name="title" type="xs:string" minOccurs = "1" maxOccurs = "1"/>
644
+ <xs:element name="item" type="Item.Type" minOccurs = "0" maxOccurs = "unbounded"/>
645
+ <xs:element name="metadata" type="Metadata.Type" minOccurs = "0" maxOccurs = "1"/>
646
+ </xs:sequence>
647
+ <xs:attribute name="identifier" use="required" type="xs:ID"/>
648
+ <xs:attribute name="identifierref" use="optional" type="xs:IDREF"/>
649
+ </xs:complexType>
650
+
651
+ <xs:complexType name="ItemOrg.Type" mixed="false">
652
+ <xs:annotation>
653
+ <xs:documentation source="umldocumentation">
654
+ <p>This is the structure that describes the top-level shape of the organization and so only a single Item is permitted. The top-level has an identifier that is unique within the Manifest file. It may have meta-data but it has not title. It can contain any number of Items. The parameters and isvisible attributes have been removed for this profile</p>
655
+ </xs:documentation>
656
+ </xs:annotation>
657
+ <xs:sequence>
658
+ <xs:element name="item" type="Item.Type" minOccurs = "0" maxOccurs = "unbounded"/>
659
+ <xs:element name="metadata" type="Metadata.Type" minOccurs = "0" maxOccurs = "1"/>
660
+ </xs:sequence>
661
+ <xs:attribute name="identifier" use="required" type="xs:ID"/>
662
+ </xs:complexType>
663
+
664
+ <xs:complexType name="Manifest.Type" mixed="false">
665
+ <xs:annotation>
666
+ <xs:documentation source="umldocumentation">
667
+ <p>A reusable unit of instruction. It encapsulates meta-data, organizations, resource references and authorization.<br/> It must have an identifier that is unique within the Manifest. The version and reference base is optional.<br/> The base provides the relative path offset for the content file(s).</p>
668
+ </xs:documentation>
669
+ </xs:annotation>
670
+ <xs:sequence>
671
+ <xs:element name="metadata" type="ManifestMetadata.Type" minOccurs = "1" maxOccurs = "1"/>
672
+ <xs:element name="organizations" type="Organizations.Type" minOccurs = "1" maxOccurs = "1"/>
673
+ <xs:element name="resources" type="Resources.Type" minOccurs = "1" maxOccurs = "1"/>
674
+ <xs:element ref="autz:authorizations" minOccurs = "0" maxOccurs = "1"/>
675
+ </xs:sequence>
676
+ <xs:attribute name="identifier" use="required" type="xs:ID"/>
677
+ <xs:attribute ref="xml:base" use="optional"/>
678
+ </xs:complexType>
679
+
680
+ <xs:complexType name="ManifestMetadata.Type" mixed="false">
681
+ <xs:annotation>
682
+ <xs:documentation source="umldocumentation">
683
+ <p>This is the meta-data describing the Manifest. The schema describes the schema that defines and controls the Manifest.<br/> Schemaversion describes the version of the above schema (e.g., 1,0, 1.1). In Common Cartridge all of the meta-data is described<br/> using the iEEE LOM standard format. CC manifest metadata is required.</p>
684
+ </xs:documentation>
685
+ </xs:annotation>
686
+ <xs:sequence>
687
+ <xs:element name="schema" minOccurs = "1" maxOccurs = "1">
688
+ <xs:simpleType>
689
+ <xs:annotation>
690
+ <xs:documentation source="umldocumentation">
691
+ <p>This is the meta-data describing the associated class (but not the manifest which has its own meta-data structure). <br/> In Common Cartridge all of the meta-data is described using the IEEE LOM standard format.</p>
692
+ </xs:documentation>
693
+ </xs:annotation>
694
+ <xs:restriction base="xs:string">
695
+ <xs:enumeration value="IMS Common Cartridge"/>
696
+ </xs:restriction>
697
+ </xs:simpleType>
698
+ </xs:element>
699
+ <xs:element name="schemaversion" minOccurs = "1" maxOccurs = "1">
700
+ <xs:simpleType>
701
+ <xs:annotation>
702
+ <xs:documentation source="umldocumentation">
703
+ <p>This is the meta-data describing the associated class (but not the manifest which has its own meta-data structure). <br/> In Common Cartridge all of the meta-data is described using the IEEE LOM standard format.</p>
704
+ </xs:documentation>
705
+ </xs:annotation>
706
+ <xs:restriction base="xs:string">
707
+ <xs:enumeration value="1.1.0"/>
708
+ </xs:restriction>
709
+ </xs:simpleType>
710
+ </xs:element>
711
+ <xs:element ref="lomm:lom" minOccurs = "1" maxOccurs = "1"/>
712
+ </xs:sequence>
713
+ </xs:complexType>
714
+
715
+ <xs:complexType name="Metadata.Type" mixed="false">
716
+ <xs:annotation>
717
+ <xs:documentation source="umldocumentation">
718
+ <p>This is the meta-data describing the associated class (but not the manifest which has its own meta-data structure). <br/> In Common Cartridge all of the meta-data is described using the IEEE LOM standard format.</p>
719
+ </xs:documentation>
720
+ </xs:annotation>
721
+ <xs:sequence>
722
+ <xs:group ref="grpStrict.any"/>
723
+ </xs:sequence>
724
+ </xs:complexType>
725
+
726
+ <xs:complexType name="Organization.Type" mixed="false">
727
+ <xs:annotation>
728
+ <xs:documentation source="umldocumentation">
729
+ <p>Describes a particular hierarchical organization in this profile; this is the only type of oranization that is permitted. The identifier, for the organization, that is unique within the Manifest file. The organization may have meta-data.</p>
730
+ </xs:documentation>
731
+ </xs:annotation>
732
+ <xs:sequence>
733
+ <xs:element name="title" type="xs:string" minOccurs = "0" maxOccurs = "1"/>
734
+ <xs:element name="item" type="ItemOrg.Type" minOccurs = "1" maxOccurs = "1"/>
735
+ <xs:element name="metadata" type="Metadata.Type" minOccurs = "0" maxOccurs = "1"/>
736
+ </xs:sequence>
737
+ <xs:attribute name="identifier" use="required" type="xs:ID"/>
738
+ <xs:attribute name="structure" use="required" fixed="rooted-hierarchy" type="xs:string"/>
739
+ </xs:complexType>
740
+
741
+ <xs:complexType name="Organizations.Type" mixed="false">
742
+ <xs:annotation>
743
+ <xs:documentation source="umldocumentation">
744
+ <p>Describes zero or one structures or organizations for the Cartridge. Only one organization is permitted so the default attribute has been removed for this Profile.</p>
745
+ </xs:documentation>
746
+ </xs:annotation>
747
+ <xs:sequence>
748
+ <xs:element name="organization" type="Organization.Type" minOccurs = "0" maxOccurs = "1"/>
749
+ </xs:sequence>
750
+ </xs:complexType>
751
+
752
+ <xs:complexType name="Resource.Type" mixed="false">
753
+ <xs:annotation>
754
+ <xs:documentation source="umldocumentation">
755
+ <p>A reference to a resource which consists of one or more physical files. The Identifer of the resource is unique within the scope of its containing Manifest file. The Type attribute indicates the type of resource - for the Cartridge this is an enumerated set. The resource may have meta-data, zero or more files references, and zero or more dependencies.</p>
756
+ <p>CCV1.1 PROFILE: The authorizations 'protected' attribute and the 'intendedUse' attribute are added.</p>
757
+ </xs:documentation>
758
+ </xs:annotation>
759
+ <xs:sequence>
760
+ <xs:element name="metadata" type="ResourceMetadata.Type" minOccurs = "0" maxOccurs = "1"/>
761
+ <xs:element name="file" type="File.Type" minOccurs = "0" maxOccurs = "unbounded"/>
762
+ <xs:element name="dependency" type="Dependency.Type" minOccurs = "0" maxOccurs = "unbounded"/>
763
+ </xs:sequence>
764
+ <xs:attribute name="identifier" use="required" type="xs:ID"/>
765
+ <xs:attribute name="type" use="required">
766
+ <xs:simpleType>
767
+ <xs:restriction base="xs:string">
768
+ <xs:enumeration value="webcontent"/>
769
+ <xs:enumeration value="imsqti_xmlv1p2/imscc_xmlv1p1/assessment"/>
770
+ <xs:enumeration value="imsqti_xmlv1p2/imscc_xmlv1p1/question-bank"/>
771
+ <xs:enumeration value="associatedcontent/imscc_xmlv1p1/learning-application-resource"/>
772
+ <xs:enumeration value="imsdt_xmlv1p1"/>
773
+ <xs:enumeration value="imswl_xmlv1p1"/>
774
+ <xs:enumeration value="imsbasiclti_xmlv1p0"/>
775
+ </xs:restriction>
776
+ </xs:simpleType>
777
+ </xs:attribute>
778
+ <xs:attribute name="href" use="optional" type="xs:anyURI"/>
779
+ <xs:attribute ref="xml:base" use="optional"/>
780
+ <xs:attribute name="intendeduse" use="optional">
781
+ <xs:simpleType>
782
+ <xs:restriction base="xs:string">
783
+ <xs:enumeration value="lessonplan"/>
784
+ <xs:enumeration value="syllabus"/>
785
+ <xs:enumeration value="unspecified"/>
786
+ </xs:restriction>
787
+ </xs:simpleType>
788
+ </xs:attribute>
789
+ <xs:attributeGroup ref="protected.Resource.Attr"/>
790
+ </xs:complexType>
791
+
792
+ <xs:complexType name="ResourceMetadata.Type" mixed="false">
793
+ <xs:annotation>
794
+ <xs:documentation source="umldocumentation">
795
+ <p>This is the container for resource specific metadata..</p>
796
+ </xs:documentation>
797
+ </xs:annotation>
798
+ <xs:sequence>
799
+ <xs:element ref="lomr:lom" minOccurs = "1" maxOccurs = "1"/>
800
+ </xs:sequence>
801
+ </xs:complexType>
802
+
803
+ <xs:complexType name="Resources.Type" mixed="false">
804
+ <xs:annotation>
805
+ <xs:documentation source="umldocumentation">
806
+ <p>A collection of references to resources. There is no assumption of order or hierarchy. The base attribute provides the relative path offset for the content file(s).</p>
807
+ </xs:documentation>
808
+ </xs:annotation>
809
+ <xs:sequence>
810
+ <xs:element name="resource" type="Resource.Type" minOccurs = "0" maxOccurs = "unbounded"/>
811
+ </xs:sequence>
812
+ <xs:attribute ref="xml:base" use="optional"/>
813
+ </xs:complexType>
814
+
815
+ <!-- ================================================================================================== -->
816
+
817
+ <!-- Declaration of the elements ********************************************************************** -->
818
+
819
+ <!-- ================================================================================================== -->
820
+
821
+ <!-- Declaration of the root element(s) *************************************************************** -->
822
+
823
+ <xs:element name="manifest" type="Manifest.Type"/>
824
+
825
+ <!-- ================================================================================================== -->
826
+
827
+ </xs:schema>