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,822 @@
1
+ <?xml version = "1.0" encoding = "UTF-8"?>
2
+ <xs:schema xmlns="http://ltsc.ieee.org/xsd/imsccv1p1/LOM/manifest"
3
+ targetNamespace="http://ltsc.ieee.org/xsd/imsccv1p1/LOM/manifest"
4
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
5
+ xmlns:sch="http://purl.oclc.org/dsdl/schematron"
6
+ version="IMS CC MD 1.3 MAN 1.1"
7
+ elementFormDefault="qualified"
8
+ attributeFormDefault="unqualified">
9
+ <xs:annotation>
10
+ <xs:documentation>
11
+ XSD Data File Information
12
+ -------------------------
13
+ Author: Colin Smythe
14
+ Date: 31st January, 2011
15
+ Version: 1.1
16
+ Status: Final
17
+ Description: This is the IMS GLC Meta-data v1.3 binding of the IEEE LOMv1.0 for the
18
+ Common Cartridge v1.1 Manifest Metadata. This is based on the LOM Strict bindings.
19
+ The core changes are:
20
+ a) MetaMetadata complexType is removed;
21
+ b) Annotation complexType is removed;
22
+ c) In the Technical complexType only the format element is permitted;
23
+ d) In the Educational complexType only the 'learningResourceType' element and
24
+ 'intendedEndUserRole' are permitted;
25
+ e) In the General complexType the 'structure' and 'aggregationLevel' elements are prohibited;
26
+ f) Only the 'contribute' element in the 'LifeCycle' complexType are permitted;
27
+
28
+ History: Version 1.1: The first usage of this XSD for the CC Manifest Profile.
29
+
30
+ License: IPR, License and Distribution Notices
31
+
32
+ This machine readable file is derived from IMS Global Learning Consortium (GLC) specification IMS [spec name] Version [x.x]
33
+ found at http://www.imsglobal.org/[xxx] and the original IMS GLC schema binding or code base
34
+ http://www.imsglobal.org/[binding document].
35
+
36
+ Recipients of this document are requested to submit, with their comments, notification of any
37
+ relevant patent claims or other intellectual property rights of which they may be aware that might be
38
+ infringed by the schema binding contained in this document.
39
+
40
+ IMS GLC takes no position regarding the validity or scope of any intellectual property or other
41
+ rights that might be claimed to pertain to the implementation or use of the technology described in this
42
+ document or the extent to which any license under such rights might or might not be available; neither
43
+ does it represent that it has made any effort to identify any such rights. Information on IMS GLCs
44
+ procedures with respect to rights in IMS GLC specifications can be found at the IMS GLC Intellectual Property
45
+ Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.
46
+
47
+ Copyright (c) IMS Global Learning Consortium 1999-2011. All Rights Reserved.
48
+
49
+ License Notice for Users
50
+
51
+ Users of products or services that include this document are hereby granted a worldwide, royalty-free,
52
+ non-exclusive license to use this document.
53
+
54
+ Distribution Notice for Developers
55
+
56
+ Developers of products or services that are not original incorporators of this document and
57
+ have not changed this document, that is, are distributing a software product that incorporates this
58
+ document as is from a third-party source other than IMS, are hereby granted permission to copy,
59
+ display and distribute the contents of this document in any medium for any purpose without fee or
60
+ royalty provided that you include this IPR, License and Distribution notice in its entirety on ALL
61
+ copies, or portions thereof.
62
+
63
+ Developers of products or services that are original incorporators of this document and wish
64
+ to provide distribution of this document as is or with modifications and developers of products and
65
+ services that are not original incorporators of this document and have changed this document, are
66
+ required to register with the IMS GLC community on the IMS GLC website as described in the following two
67
+ paragraphs:-
68
+
69
+ * If you wish to distribute this document as is, with no modifications, you are hereby granted
70
+ permission to copy, display and distribute the contents of this document in any medium for any
71
+ purpose without fee or royalty provided that you include this IPR, License and Distribution notice in
72
+ its entirety on ALL copies, or portions thereof, that you make and you complete a valid license
73
+ registration with IMS and receive an email from IMS granting the license. To register, follow the
74
+ instructions on the IMS website: http://www.imsglobal.org/specificationdownload.cfm. Once
75
+ registered you are granted permission to transfer unlimited distribution rights of this document for the
76
+ purposes of third-party or other distribution of your product or service that incorporates this
77
+ document as long as this IPR, License and Distribution notice remains in place in its entirety;
78
+
79
+ * If you wish to create and distribute a derived work from this document, you are hereby
80
+ granted permission to copy, display and distribute the contents of the derived work in any medium for
81
+ any purpose without fee or royalty provided that you include this IPR, License and Distribution
82
+ notice in its entirety on ALL copies, or portions thereof, that you make and you complete a valid
83
+ profile registration with IMS GLC and receive an email from IMS GLC granting the license. To register, follow
84
+ the instructions on the IMS GLC website: http://www.imsglobal.org/profile/. Once registered you are
85
+ granted permission to transfer unlimited distribution rights of the derived work for the purposes of
86
+ third-party or other distribution of your product or service that incorporates the derived work as long
87
+ as this IPR, License and Distribution notice remains in place in its entirety.
88
+
89
+ The limited permissions granted above are perpetual and will not be revoked by IMS GLC or its
90
+ successors or assigns.
91
+
92
+ THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS
93
+ EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTERS OWN RISK, AND NEITHER THE CONSORTIUM
94
+ NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF
95
+ ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.
96
+
97
+ Source UML File Information
98
+ ---------------------------
99
+ The source file information must be supplied as an XMI file (without diagram layout information).
100
+ The supported UML authoring tools are:
101
+ (a) Poseidon – v6 (and later)
102
+
103
+ Source XSLT File Information
104
+ ----------------------------
105
+ XSL Generator: UMLtoXSDTransformv0p9.xsl
106
+ XSLT Processor: Xalan
107
+ Release: 1.0 Beta 3
108
+ Date: 31st May, 2009
109
+
110
+ IMS GLC Auto-generation Binding Tool-kit (I-BAT)
111
+ ------------------------------------------------
112
+ This file was auto-generated using the IMS GLC Binding Auto-generation Tool-kit (I-BAT). While every
113
+ attempt has been made to ensure that this tool auto-generates the files correctly, users should be aware
114
+ that this is an experimental tool. Permission is given to make use of this tool. IMS GLC makes no
115
+ claim on the materials created by third party users of this tool. Details on how to use this tool
116
+ are contained in the IMS GLC "I-BAT" Documentation available at the IMS GLC web-site.
117
+
118
+ Tool Copyright: 2005-2011 (c) IMS Global Learning Consortium Inc. All Rights Reserved.
119
+ </xs:documentation>
120
+ </xs:annotation>
121
+
122
+ <xs:annotation>
123
+ <xs:documentation>
124
+ Schematron Strict Selection Validation Rules
125
+ --------------------------------------------
126
+ This is the set of Schematron rules that have been created to enforce the use of the "Unordered" stereotype.
127
+ These rules ensure that the number of entries in an unordered complexType of an element obey the multiplicity constraints.
128
+ This is required so that any-order/any-multiplicity complexTypes can be constructed and validated.
129
+ </xs:documentation>
130
+ <xs:appinfo>
131
+ <sch:ns uri="http://ltsc.ieee.org/xsd/imsccv1p1/LOM/manifest" prefix="lom"/>
132
+ <sch:title>Schematron validation rules for the enforcement of the Unordered stereotype.</sch:title>
133
+
134
+ <!-- RULESET ******************************************************************* -->
135
+ <sch:pattern abstract="false" id="LOM.Type">
136
+ <sch:title>[RULESET] For the LOM.Type complexType.</sch:title>
137
+
138
+ <sch:rule abstract="false" context="lom:lom">
139
+
140
+ <sch:assert test="count(lom:general) = 0 or count(lom:general) = 1">
141
+ [RULE for Root Class Attribute 1] Invalid number of "general" elements: <sch:value-of select="count(lom:general)"/>.
142
+ </sch:assert>
143
+
144
+ <sch:assert test="count(lom:lifeCycle) = 0 or count(lom:lifeCycle) = 1">
145
+ [RULE for Root Class Attribute 2] Invalid number of "lifeCycle" elements: <sch:value-of select="count(lom:lifeCycle)"/>.
146
+ </sch:assert>
147
+
148
+ <sch:assert test="count(lom:technical) = 0 or count(lom:technical) = 1">
149
+ [RULE for Root Class Attribute 3] Invalid number of "technical" elements: <sch:value-of select="count(lom:technical)"/>.
150
+ </sch:assert>
151
+
152
+ <sch:assert test="count(lom:rights) = 0 or count(lom:rights) = 1">
153
+ [RULE for Root Class Attribute 5] Invalid number of "rights" elements: <sch:value-of select="count(lom:rights)"/>.
154
+ </sch:assert>
155
+
156
+ </sch:rule>
157
+
158
+ </sch:pattern>
159
+ <!-- *************************************************************************** -->
160
+
161
+ <!-- RULESET ******************************************************************* -->
162
+ <sch:pattern abstract="false" id="Rights.Type">
163
+ <sch:title>[RULESET] For the Rights.Type complexType.</sch:title>
164
+
165
+ <sch:rule abstract="false" context="lom:lom/lom:rights">
166
+
167
+ <sch:assert test="count(lom:cost) = 0 or count(lom:cost) = 1">
168
+ [RULE for Local Attribute 1] Invalid number of "cost" elements: <sch:value-of select="count(lom:cost)"/>.
169
+ </sch:assert>
170
+
171
+ <sch:assert test="count(lom:copyrightAndOtherRestrictions) = 0 or count(lom:copyrightAndOtherRestrictions) = 1">
172
+ [RULE for Local Attribute 2] Invalid number of "copyrightAndOtherRestrictions" elements: <sch:value-of select="count(lom:copyrightAndOtherRestrictions)"/>.
173
+ </sch:assert>
174
+
175
+ <sch:assert test="count(lom:description) = 0 or count(lom:description) = 1">
176
+ [RULE for Local Attribute 3] Invalid number of "description" elements: <sch:value-of select="count(lom:description)"/>.
177
+ </sch:assert>
178
+
179
+ </sch:rule>
180
+
181
+ </sch:pattern>
182
+ <!-- *************************************************************************** -->
183
+
184
+ <!-- RULESET ******************************************************************* -->
185
+ <sch:pattern abstract="false" id="General.Type">
186
+ <sch:title>[RULESET] For the General.Type complexType.</sch:title>
187
+
188
+ <sch:rule abstract="false" context="lom:lom/lom:general">
189
+
190
+ <sch:assert test="count(lom:title) = 0 or count(lom:title) = 1">
191
+ [RULE for Local Attribute 2] Invalid number of "title" elements: <sch:value-of select="count(lom:title)"/>.
192
+ </sch:assert>
193
+
194
+ </sch:rule>
195
+
196
+ </sch:pattern>
197
+ <!-- *************************************************************************** -->
198
+
199
+ <!-- RULESET ******************************************************************* -->
200
+ <sch:pattern abstract="false" id="ContributeLifeCycle.Type">
201
+ <sch:title>[RULESET] For the ContributeLifeCycle.Type complexType.</sch:title>
202
+
203
+ <sch:rule abstract="false" context="lom:lom/lom:lifeCycle/lom:contribute">
204
+
205
+ <sch:assert test="count(lom:role) = 0 or count(lom:role) = 1">
206
+ [RULE for Local Attribute 1] Invalid number of "role" elements: <sch:value-of select="count(lom:role)"/>.
207
+ </sch:assert>
208
+
209
+ <sch:assert test="count(lom:date) = 0 or count(lom:date) = 1">
210
+ [RULE for Local Attribute 3] Invalid number of "date" elements: <sch:value-of select="count(lom:date)"/>.
211
+ </sch:assert>
212
+
213
+ </sch:rule>
214
+
215
+ </sch:pattern>
216
+ <!-- *************************************************************************** -->
217
+
218
+ <!-- RULESET ******************************************************************* -->
219
+ <sch:pattern abstract="false" id="Relation.Type">
220
+ <sch:title>[RULESET] For the Relation.Type complexType.</sch:title>
221
+
222
+ <sch:rule abstract="false" context="lom:lom/lom:relation">
223
+
224
+ <sch:assert test="count(lom:kind) = 0 or count(lom:kind) = 1">
225
+ [RULE for Local Attribute 1] Invalid number of "kind" elements: <sch:value-of select="count(lom:kind)"/>.
226
+ </sch:assert>
227
+
228
+ <sch:assert test="count(lom:resource) = 0 or count(lom:resource) = 1">
229
+ [RULE for Local Attribute 2] Invalid number of "resource" elements: <sch:value-of select="count(lom:resource)"/>.
230
+ </sch:assert>
231
+
232
+ </sch:rule>
233
+
234
+ </sch:pattern>
235
+ <!-- *************************************************************************** -->
236
+
237
+ <!-- RULESET ******************************************************************* -->
238
+ <sch:pattern abstract="false" id="Resource.Type">
239
+ <sch:title>[RULESET] For the Resource.Type complexType.</sch:title>
240
+
241
+ <sch:rule abstract="false" context="lom:lom/lom:relation/lom:resource">
242
+
243
+ </sch:rule>
244
+
245
+ </sch:pattern>
246
+ <!-- *************************************************************************** -->
247
+
248
+ <!-- RULESET ******************************************************************* -->
249
+ <sch:pattern abstract="false" id="Classification.Type">
250
+ <sch:title>[RULESET] For the Classification.Type complexType.</sch:title>
251
+
252
+ <sch:rule abstract="false" context="lom:lom/lom:classification">
253
+
254
+ <sch:assert test="count(lom:purpose) = 0 or count(lom:purpose) = 1">
255
+ [RULE for Local Attribute 1] Invalid number of "purpose" elements: <sch:value-of select="count(lom:purpose)"/>.
256
+ </sch:assert>
257
+
258
+ <sch:assert test="count(lom:description) = 0 or count(lom:description) = 1">
259
+ [RULE for Local Attribute 3] Invalid number of "description" elements: <sch:value-of select="count(lom:description)"/>.
260
+ </sch:assert>
261
+
262
+ </sch:rule>
263
+
264
+ </sch:pattern>
265
+ <!-- *************************************************************************** -->
266
+
267
+ <!-- RULESET ******************************************************************* -->
268
+ <sch:pattern abstract="false" id="Taxon.Type">
269
+ <sch:title>[RULESET] For the Taxon.Type complexType.</sch:title>
270
+
271
+ <sch:rule abstract="false" context="lom:lom/lom:classification/lom:taxonPath/lom:taxon">
272
+
273
+ <sch:assert test="count(lom:id) = 0 or count(lom:id) = 1">
274
+ [RULE for Local Attribute 1] Invalid number of "id" elements: <sch:value-of select="count(lom:id)"/>.
275
+ </sch:assert>
276
+
277
+ <sch:assert test="count(lom:entry) = 0 or count(lom:entry) = 1">
278
+ [RULE for Local Attribute 2] Invalid number of "entry" elements: <sch:value-of select="count(lom:entry)"/>.
279
+ </sch:assert>
280
+
281
+ </sch:rule>
282
+
283
+ </sch:pattern>
284
+ <!-- *************************************************************************** -->
285
+
286
+ <!-- RULESET ******************************************************************* -->
287
+ <sch:pattern abstract="false" id="DateTime.Type">
288
+ <sch:title>[RULESET] For the DateTime.Type complexType.</sch:title>
289
+
290
+ <sch:rule abstract="false" context="lom:lom/lom:lifeCycle/lom:contribute/lom:date">
291
+
292
+ <sch:assert test="count(lom:dateTime) = 0 or count(lom:dateTime) = 1">
293
+ [RULE for Local Attribute 1] Invalid number of "dateTime" elements: <sch:value-of select="count(lom:dateTime)"/>.
294
+ </sch:assert>
295
+
296
+ <sch:assert test="count(lom:description) = 0 or count(lom:description) = 1">
297
+ [RULE for Local Attribute 2] Invalid number of "description" elements: <sch:value-of select="count(lom:description)"/>.
298
+ </sch:assert>
299
+
300
+ </sch:rule>
301
+
302
+ </sch:pattern>
303
+ <!-- *************************************************************************** -->
304
+
305
+ <!-- RULESET ******************************************************************* -->
306
+ <sch:pattern abstract="false" id="Identifier.Type">
307
+ <sch:title>[RULESET] For the Identifier.Type complexType.</sch:title>
308
+
309
+ <sch:rule abstract="false" context="lom:lom/lom:general/lom:identifier">
310
+
311
+ <sch:assert test="count(lom:catalog) = 0 or count(lom:catalog) = 1">
312
+ [RULE for Local Attribute 1] Invalid number of "catalog" elements: <sch:value-of select="count(lom:catalog)"/>.
313
+ </sch:assert>
314
+
315
+ <sch:assert test="count(lom:entry) = 0 or count(lom:entry) = 1">
316
+ [RULE for Local Attribute 2] Invalid number of "entry" elements: <sch:value-of select="count(lom:entry)"/>.
317
+ </sch:assert>
318
+
319
+ </sch:rule>
320
+
321
+ <sch:rule abstract="false" context="lom:lom/lom:relation/lom:resource/lom:identifier">
322
+
323
+ <sch:assert test="count(lom:catalog) = 0 or count(lom:catalog) = 1">
324
+ [RULE for Local Attribute 1] Invalid number of "catalog" elements: <sch:value-of select="count(lom:catalog)"/>.
325
+ </sch:assert>
326
+
327
+ <sch:assert test="count(lom:entry) = 0 or count(lom:entry) = 1">
328
+ [RULE for Local Attribute 2] Invalid number of "entry" elements: <sch:value-of select="count(lom:entry)"/>.
329
+ </sch:assert>
330
+
331
+ </sch:rule>
332
+
333
+ </sch:pattern>
334
+ <!-- *************************************************************************** -->
335
+
336
+ </xs:appinfo>
337
+ </xs:annotation>
338
+
339
+ <!-- Generate Global Attributes *********************************************************************** -->
340
+
341
+ <!-- ================================================================================================== -->
342
+
343
+ <!-- Generate Global List Types *********************************************************************** -->
344
+
345
+ <!-- ================================================================================================== -->
346
+
347
+ <!-- Generate Namespaced extension Group ************************************************************* -->
348
+
349
+ <!-- ================================================================================================== -->
350
+
351
+ <!-- Generate Special DataTypes ********************************************************************** -->
352
+
353
+ <!-- ================================================================================================== -->
354
+
355
+ <!-- Generate the enumerated simpleType declarations ************************************************** -->
356
+
357
+ <!-- ================================================================================================== -->
358
+
359
+ <!-- Generate the simpleType elements based IMS data-types ******************************************* -->
360
+
361
+ <!-- ================================================================================================== -->
362
+
363
+ <!-- Generate the derived data-type elements based upon simpleType ************************************ -->
364
+
365
+ <xs:simpleType name="CharacterString.Type">
366
+ <xs:restriction base="xs:string"/>
367
+ </xs:simpleType>
368
+
369
+ <!-- ================================================================================================== -->
370
+
371
+ <!-- Generate the derived data-type elements based upon derived simpleType **************************** -->
372
+
373
+ <!-- ================================================================================================== -->
374
+
375
+ <!-- Generate the data-type ComplexTypes ************************************************************** -->
376
+
377
+ <xs:complexType name="Classification.Type" mixed="false">
378
+ <xs:annotation>
379
+ <xs:documentation source="umldocumentation">
380
+ The Classification complexType is the container for information which describes where this learning
381
+ object falls within a particular classification system. To define multiple classifications, there may be
382
+ multiple instances of this category.
383
+ </xs:documentation>
384
+ </xs:annotation>
385
+ <xs:choice minOccurs = "0" maxOccurs = "unbounded">
386
+ <xs:element name="purpose" type="Purpose.Type" minOccurs = "0" maxOccurs = "1"/>
387
+ <xs:element name="taxonPath" type="TaxonPath.Type" minOccurs = "0" maxOccurs = "unbounded"/>
388
+ <xs:element name="description" type="LangString.Type" minOccurs = "0" maxOccurs = "1"/>
389
+ <xs:element name="keyword" type="LangString.Type" minOccurs = "0" maxOccurs = "unbounded"/>
390
+ </xs:choice>
391
+ </xs:complexType>
392
+
393
+ <xs:complexType name="Context.Type" mixed="false">
394
+ <xs:annotation>
395
+ <xs:documentation source="umldocumentation">
396
+ The Context complexType is the container for the information about the principal environment within which the learning and use of this learning object is intended to take place. Suggested good practice is to use one of the values of the value space and to use an additional instance of this data element for further refinement.
397
+ </xs:documentation>
398
+ </xs:annotation>
399
+ <xs:sequence>
400
+ <xs:element name="source" minOccurs = "1" maxOccurs = "1">
401
+ <xs:simpleType>
402
+ <xs:restriction base="xs:string">
403
+ <xs:enumeration value="LOMv1.0"/>
404
+ </xs:restriction>
405
+ </xs:simpleType>
406
+ </xs:element>
407
+ <xs:element name="value" minOccurs = "1" maxOccurs = "1">
408
+ <xs:simpleType>
409
+ <xs:restriction base="xs:string">
410
+ <xs:enumeration value="higher education"/>
411
+ <xs:enumeration value="school"/>
412
+ <xs:enumeration value="training"/>
413
+ <xs:enumeration value="other"/>
414
+ </xs:restriction>
415
+ </xs:simpleType>
416
+ </xs:element>
417
+ </xs:sequence>
418
+ </xs:complexType>
419
+
420
+ <xs:complexType name="ContributeLifeCycle.Type" mixed="false">
421
+ <xs:annotation>
422
+ <xs:documentation source="umldocumentation">
423
+ The Contribute complexType is the container for the entities (i.e. people, organizations) that have
424
+ contributed to the state of the learning object.
425
+ </xs:documentation>
426
+ </xs:annotation>
427
+ <xs:choice minOccurs = "0" maxOccurs = "unbounded">
428
+ <xs:element name="role" type="RoleLifeCycle.Type" minOccurs = "0" maxOccurs = "1"/>
429
+ <xs:element name="entity" type="CharacterString.Type" minOccurs = "0" maxOccurs = "unbounded"/>
430
+ <xs:element name="date" type="DateTime.Type" minOccurs = "0" maxOccurs = "1"/>
431
+ </xs:choice>
432
+ </xs:complexType>
433
+
434
+ <xs:complexType name="CopyrightAndOtherRestrictions.Type" mixed="false">
435
+ <xs:annotation>
436
+ <xs:documentation source="umldocumentation">
437
+ The CopyrightAndOtherRestrictions complexType defines whether copyright or other restrictions apply
438
+ to the use of this learning object.
439
+ </xs:documentation>
440
+ </xs:annotation>
441
+ <xs:sequence>
442
+ <xs:element name="value" minOccurs = "1" maxOccurs = "1">
443
+ <xs:simpleType>
444
+ <xs:restriction base="xs:string">
445
+ <xs:enumeration value="yes"/>
446
+ <xs:enumeration value="no"/>
447
+ </xs:restriction>
448
+ </xs:simpleType>
449
+ </xs:element>
450
+ </xs:sequence>
451
+ </xs:complexType>
452
+
453
+ <xs:complexType name="Cost.Type" mixed="false">
454
+ <xs:annotation>
455
+ <xs:documentation source="umldocumentation">
456
+ The Cost complexType is the container for whether use of this learning object requires payment.
457
+ </xs:documentation>
458
+ </xs:annotation>
459
+ <xs:sequence>
460
+ <xs:element name="value" minOccurs = "1" maxOccurs = "1">
461
+ <xs:simpleType>
462
+ <xs:restriction base="xs:string">
463
+ <xs:enumeration value="yes"/>
464
+ <xs:enumeration value="no"/>
465
+ </xs:restriction>
466
+ </xs:simpleType>
467
+ </xs:element>
468
+ </xs:sequence>
469
+ </xs:complexType>
470
+
471
+ <xs:complexType name="DateTime.Type" mixed="false">
472
+ <xs:annotation>
473
+ <xs:documentation source="umldocumentation">
474
+ The DateTime abstract complexType is the container for the annotated date/time. An accuracy
475
+ of at least one second is supported. The ISO 8601 format is used. An associated description is also provided.
476
+ </xs:documentation>
477
+ </xs:annotation>
478
+ <xs:choice minOccurs = "0" maxOccurs = "unbounded">
479
+ <xs:element name="dateTime" type="CharacterString.Type" minOccurs = "0" maxOccurs = "1"/>
480
+ <xs:element name="description" type="LangString.Type" minOccurs = "0" maxOccurs = "1"/>
481
+ </xs:choice>
482
+ </xs:complexType>
483
+
484
+ <xs:complexType name="Educational.Type" mixed="false">
485
+ <xs:annotation>
486
+ <xs:documentation source="umldocumentation">
487
+ The Educational complexType is the container for the information that describes the key educational or pedagogic characteristics of this learning object. This is pedagogical informtion essential to those involved in achieving a quality learning experience. The audience for this metadata includes teachers, managers, authors and learners. CC MANIFEST PROFILE Only a single instance of the 'learningResourceType' and multple instances of the 'ntendedEnduserRole' are permitted.
488
+ </xs:documentation>
489
+ </xs:annotation>
490
+ <xs:sequence>
491
+ <xs:element name="learningResourceType" type="LearningResourceType.Type" minOccurs = "1" maxOccurs = "1"/>
492
+ <xs:element name="context" type="Context.Type" minOccurs = "0" maxOccurs = "1"/>
493
+ <xs:element name="intendedEndUserRole" type="IntendedEndUserRole.Type" minOccurs = "0" maxOccurs = "unbounded"/>
494
+ </xs:sequence>
495
+ </xs:complexType>
496
+
497
+ <xs:complexType name="General.Type" mixed="false">
498
+ <xs:annotation>
499
+ <xs:documentation source="umldocumentation">
500
+ CC AMANIFEST PROFILE
501
+
502
+ The 'structure' and aggregationLevel' elements are prohibited.
503
+ </xs:documentation>
504
+ </xs:annotation>
505
+ <xs:choice minOccurs = "0" maxOccurs = "unbounded">
506
+ <xs:element name="identifier" type="Identifier.Type" minOccurs = "0" maxOccurs = "unbounded"/>
507
+ <xs:element name="title" type="LangString.Type" minOccurs = "0" maxOccurs = "1"/>
508
+ <xs:element name="language" type="CharacterString.Type" minOccurs = "0" maxOccurs = "unbounded"/>
509
+ <xs:element name="description" type="LangString.Type" minOccurs = "0" maxOccurs = "unbounded"/>
510
+ <xs:element name="keyword" type="LangString.Type" minOccurs = "0" maxOccurs = "unbounded"/>
511
+ <xs:element name="coverage" type="LangString.Type" minOccurs = "0" maxOccurs = "unbounded"/>
512
+ </xs:choice>
513
+ </xs:complexType>
514
+
515
+ <xs:complexType name="Identifier.Type" mixed="false">
516
+ <xs:annotation>
517
+ <xs:documentation source="umldocumentation">
518
+ The Identifier complexType is the container for the globally unique idenitifer that identifies
519
+ the associated parent object.
520
+ </xs:documentation>
521
+ </xs:annotation>
522
+ <xs:choice minOccurs = "0" maxOccurs = "unbounded">
523
+ <xs:element name="catalog" type="CharacterString.Type" minOccurs = "0" maxOccurs = "1"/>
524
+ <xs:element name="entry" type="CharacterString.Type" minOccurs = "0" maxOccurs = "1"/>
525
+ </xs:choice>
526
+ </xs:complexType>
527
+
528
+ <xs:complexType name="IntendedEndUserRole.Type" mixed="false">
529
+ <xs:annotation>
530
+ <xs:documentation source="umldocumentation">
531
+ The IntendedEndUserRole complexType is the container for the information about the principal user(s) for which this learning object was designed, most dominant first. For Strict LOM binding this has an enumerated vocabulary. The Classification element can be used to describe the role through the skills the user is intended to master, or the tasks he or she is intended to be able to accomplish. CC Manifest Profile: Only the Iinstructor' 'Mentor' and 'Teacher' vocab values are permitted.
532
+ </xs:documentation>
533
+ </xs:annotation>
534
+ <xs:sequence>
535
+ <xs:element name="source" minOccurs = "1" maxOccurs = "1">
536
+ <xs:simpleType>
537
+ <xs:restriction base="xs:string">
538
+ <xs:enumeration value="IMSGLC_CC_Rolesv1p1"/>
539
+ </xs:restriction>
540
+ </xs:simpleType>
541
+ </xs:element>
542
+ <xs:element name="value" minOccurs = "1" maxOccurs = "1">
543
+ <xs:simpleType>
544
+ <xs:restriction base="xs:string">
545
+ <xs:enumeration value="Instructor"/>
546
+ <xs:enumeration value="Learner"/>
547
+ <xs:enumeration value="Mentor"/>
548
+ </xs:restriction>
549
+ </xs:simpleType>
550
+ </xs:element>
551
+ </xs:sequence>
552
+ </xs:complexType>
553
+
554
+ <xs:complexType name="Kind.Type" mixed="false">
555
+ <xs:annotation>
556
+ <xs:documentation source="umldocumentation">
557
+ The Kind complexType is the container for the nature of the relationship between this learning object and the
558
+ target learning object, identified by information in the associated Resource complexType. In LOMv1.0 (Strict) this is an
559
+ enumerated vocabulary.
560
+
561
+ CC MANIFEST PROFILE
562
+
563
+ Only the 'value' element is permitted.
564
+ </xs:documentation>
565
+ </xs:annotation>
566
+ <xs:sequence>
567
+ <xs:element name="value" minOccurs = "1" maxOccurs = "1">
568
+ <xs:simpleType>
569
+ <xs:restriction base="xs:string">
570
+ <xs:enumeration value="ispartof"/>
571
+ <xs:enumeration value="haspart"/>
572
+ <xs:enumeration value="isversionof"/>
573
+ <xs:enumeration value="hasversion"/>
574
+ <xs:enumeration value="isformatof"/>
575
+ <xs:enumeration value="hasformat"/>
576
+ <xs:enumeration value="references"/>
577
+ <xs:enumeration value="isreferencedby"/>
578
+ <xs:enumeration value="isbasedon"/>
579
+ <xs:enumeration value="isbasisfor"/>
580
+ <xs:enumeration value="requires"/>
581
+ <xs:enumeration value="isrequiredby"/>
582
+ </xs:restriction>
583
+ </xs:simpleType>
584
+ </xs:element>
585
+ </xs:sequence>
586
+ </xs:complexType>
587
+
588
+ <xs:complexType name="LangString.Type" mixed="false">
589
+ <xs:annotation>
590
+ <xs:documentation source="umldocumentation">
591
+ The LangString complexType is the container for a group of language specific characterstrings.
592
+ </xs:documentation>
593
+ </xs:annotation>
594
+ <xs:sequence>
595
+ <xs:element name="string" type="LanguageString.Type" minOccurs = "0" maxOccurs = "unbounded"/>
596
+ </xs:sequence>
597
+ </xs:complexType>
598
+
599
+ <xs:complexType name="LearningResourceType.Type" mixed="false">
600
+ <xs:annotation>
601
+ <xs:documentation source="umldocumentation">
602
+ The LearningResourceType complexType is the container for the information about the specific kind of learning object. The most dominant kind shall be first. The vocabulary terms are defined as in OED:1989 and as used by any educational communties of practice. CC MANIFEST PROFILE Only 'value' is permited and this is fixed as 'IMS Common Cartridge'.
603
+ </xs:documentation>
604
+ </xs:annotation>
605
+ <xs:sequence>
606
+ <xs:element name="value" minOccurs = "1" maxOccurs = "1">
607
+ <xs:simpleType>
608
+ <xs:restriction base="xs:string">
609
+ <xs:enumeration value="IMS Common Cartridge"/>
610
+ </xs:restriction>
611
+ </xs:simpleType>
612
+ </xs:element>
613
+ </xs:sequence>
614
+ </xs:complexType>
615
+
616
+ <xs:complexType name="LifeCycle.Type" mixed="false">
617
+ <xs:annotation>
618
+ <xs:documentation source="umldocumentation">
619
+ The LifeCycle complexType is the container for the history and current state of this
620
+ learning object and those entities that have affected this learning object during its evolution.
621
+
622
+ CC MANIFEST PROFILE
623
+
624
+ Only the 'contribite' element is permitted.
625
+ </xs:documentation>
626
+ </xs:annotation>
627
+ <xs:sequence>
628
+ <xs:element name="contribute" type="ContributeLifeCycle.Type" minOccurs = "1" maxOccurs = "unbounded"/>
629
+ </xs:sequence>
630
+ </xs:complexType>
631
+
632
+ <xs:complexType name="LOM.Type" mixed="false">
633
+ <xs:annotation>
634
+ <xs:documentation source="umldocumentation">
635
+ The LOM complexType is the container for the metadata instance.
636
+
637
+ CC MANIFEST PROFILE
638
+
639
+ The MetaMetadata and Annotation complexTypes are prohibited.
640
+ </xs:documentation>
641
+ </xs:annotation>
642
+ <xs:choice minOccurs = "0" maxOccurs = "unbounded">
643
+ <xs:element name="general" type="General.Type" minOccurs = "0" maxOccurs = "1"/>
644
+ <xs:element name="lifeCycle" type="LifeCycle.Type" minOccurs = "0" maxOccurs = "1"/>
645
+ <xs:element name="technical" type="Technical.Type" minOccurs = "0" maxOccurs = "1"/>
646
+ <xs:element name="educational" type="Educational.Type" minOccurs = "0" maxOccurs = "unbounded"/>
647
+ <xs:element name="rights" type="Rights.Type" minOccurs = "0" maxOccurs = "1"/>
648
+ <xs:element name="relation" type="Relation.Type" minOccurs = "0" maxOccurs = "unbounded"/>
649
+ <xs:element name="classification" type="Classification.Type" minOccurs = "0" maxOccurs = "unbounded"/>
650
+ </xs:choice>
651
+ </xs:complexType>
652
+
653
+ <xs:complexType name="Purpose.Type" mixed="false">
654
+ <xs:annotation>
655
+ <xs:documentation source="umldocumentation">
656
+ The Purpose complexType is the container for the information on the purpose of
657
+ classifying this learning obect. For the Strict LOM binding this is an enumerated vocabulary.
658
+ </xs:documentation>
659
+ </xs:annotation>
660
+ <xs:sequence>
661
+ <xs:element name="value" minOccurs = "1" maxOccurs = "1">
662
+ <xs:simpleType>
663
+ <xs:restriction base="xs:string">
664
+ <xs:enumeration value="discipline"/>
665
+ <xs:enumeration value="idea"/>
666
+ <xs:enumeration value="prerequisite"/>
667
+ <xs:enumeration value="educational objective"/>
668
+ <xs:enumeration value="accessibility restrictions"/>
669
+ <xs:enumeration value="educational level"/>
670
+ <xs:enumeration value="skill level"/>
671
+ <xs:enumeration value="security level"/>
672
+ <xs:enumeration value="competency"/>
673
+ </xs:restriction>
674
+ </xs:simpleType>
675
+ </xs:element>
676
+ </xs:sequence>
677
+ </xs:complexType>
678
+
679
+ <xs:complexType name="Relation.Type" mixed="false">
680
+ <xs:annotation>
681
+ <xs:documentation source="umldocumentation">
682
+ The Relation complexType is the container for the information that defines the relationship between this
683
+ learning object and other learning objects, if any. To define multiple relationships, there may be multiple
684
+ instances of this category. If there is more than one target learning object the each object shall have a new
685
+ relationship instance.
686
+ </xs:documentation>
687
+ </xs:annotation>
688
+ <xs:choice minOccurs = "0" maxOccurs = "unbounded">
689
+ <xs:element name="kind" type="Kind.Type" minOccurs = "0" maxOccurs = "1"/>
690
+ <xs:element name="resource" type="Resource.Type" minOccurs = "0" maxOccurs = "1"/>
691
+ </xs:choice>
692
+ </xs:complexType>
693
+
694
+ <xs:complexType name="Resource.Type" mixed="false">
695
+ <xs:annotation>
696
+ <xs:documentation source="umldocumentation">
697
+ The Resource complexType is the container for the information about the target learning object that this relationship references.
698
+ </xs:documentation>
699
+ </xs:annotation>
700
+ <xs:choice minOccurs = "0" maxOccurs = "unbounded">
701
+ <xs:element name="identifier" type="Identifier.Type" minOccurs = "0" maxOccurs = "unbounded"/>
702
+ <xs:element name="description" type="LangString.Type" minOccurs = "0" maxOccurs = "unbounded"/>
703
+ </xs:choice>
704
+ </xs:complexType>
705
+
706
+ <xs:complexType name="Rights.Type" mixed="false">
707
+ <xs:annotation>
708
+ <xs:documentation source="umldocumentation">
709
+ The Rights complexType describes the intellectual property rights and conditions of use for this learning object.
710
+ NOTE: The intent is to reuse results of ongoing work in the Intellectual Property Rights and e-commerce
711
+ communities. This category currently provides the absolute minimum level of detail only.
712
+ </xs:documentation>
713
+ </xs:annotation>
714
+ <xs:choice minOccurs = "0" maxOccurs = "unbounded">
715
+ <xs:element name="cost" type="Cost.Type" minOccurs = "0" maxOccurs = "1"/>
716
+ <xs:element name="copyrightAndOtherRestrictions" type="CopyrightAndOtherRestrictions.Type" minOccurs = "0" maxOccurs = "1"/>
717
+ <xs:element name="description" type="LangString.Type" minOccurs = "0" maxOccurs = "1"/>
718
+ </xs:choice>
719
+ </xs:complexType>
720
+
721
+ <xs:complexType name="RoleLifeCycle.Type" mixed="false">
722
+ <xs:annotation>
723
+ <xs:documentation source="umldocumentation">
724
+ The Role complexType is the container for the kind of contribution.
725
+
726
+ CC MANIFEST PROFILE
727
+
728
+ Only the 'value' elemet is permitted.
729
+ </xs:documentation>
730
+ </xs:annotation>
731
+ <xs:sequence>
732
+ <xs:element name="value" minOccurs = "1" maxOccurs = "1">
733
+ <xs:simpleType>
734
+ <xs:restriction base="xs:string">
735
+ <xs:enumeration value="author"/>
736
+ <xs:enumeration value="publisher"/>
737
+ <xs:enumeration value="unknown"/>
738
+ <xs:enumeration value="initiator"/>
739
+ <xs:enumeration value="terminator"/>
740
+ <xs:enumeration value="validator"/>
741
+ <xs:enumeration value="editor"/>
742
+ <xs:enumeration value="graphical designer"/>
743
+ <xs:enumeration value="technical implementor"/>
744
+ <xs:enumeration value="content provider"/>
745
+ <xs:enumeration value="technical validator"/>
746
+ <xs:enumeration value="educational validator"/>
747
+ <xs:enumeration value="script writer"/>
748
+ <xs:enumeration value="instructional designer"/>
749
+ <xs:enumeration value="subject matter expert"/>
750
+ </xs:restriction>
751
+ </xs:simpleType>
752
+ </xs:element>
753
+ </xs:sequence>
754
+ </xs:complexType>
755
+
756
+ <xs:complexType name="Taxon.Type" mixed="false">
757
+ <xs:annotation>
758
+ <xs:documentation source="umldocumentation">
759
+ The Taxon complexType is the container for the information about a particular term within a
760
+ taxonomy. A taxon is a node that has a defined label or term. A taxon may also have an alphanumeric
761
+ designation or identifier for standardized reference. Either or both the label and the entry may be used
762
+ to designate a particular taxon. An ordered list of taxons creates a taxonomic path i.e. 'taxononomic
763
+ stairway': this is a path from a more general to more specific entry in a classification.
764
+ </xs:documentation>
765
+ </xs:annotation>
766
+ <xs:choice minOccurs = "0" maxOccurs = "unbounded">
767
+ <xs:element name="id" type="CharacterString.Type" minOccurs = "0" maxOccurs = "1"/>
768
+ <xs:element name="entry" type="LangString.Type" minOccurs = "0" maxOccurs = "1"/>
769
+ </xs:choice>
770
+ </xs:complexType>
771
+
772
+ <xs:complexType name="TaxonPath.Type" mixed="false">
773
+ <xs:annotation>
774
+ <xs:documentation source="umldocumentation">
775
+ The TaxonPath complexType is the container for the information about the taxonomic path in a
776
+ specific classification system. Each succeeding level is a refinement in the definition of the
777
+ preceding level. There may be different paths in the same or different classifications, which
778
+ describe the same characteristic.
779
+ </xs:documentation>
780
+ </xs:annotation>
781
+ <xs:sequence>
782
+ <xs:element name="taxon" type="Taxon.Type" minOccurs = "1" maxOccurs = "1"/>
783
+ </xs:sequence>
784
+ </xs:complexType>
785
+
786
+ <xs:complexType name="Technical.Type" mixed="false">
787
+ <xs:annotation>
788
+ <xs:documentation source="umldocumentation">
789
+ The Technical complexType is the container for the information that describes the technical requirements and
790
+ characteristics of this learning object.
791
+
792
+ CC MANIFEST PROFILE
793
+
794
+ Only the 'format' element is permitted.
795
+ </xs:documentation>
796
+ </xs:annotation>
797
+ <xs:sequence>
798
+ <xs:element name="format" type="CharacterString.Type" minOccurs = "1" maxOccurs = "unbounded"/>
799
+ </xs:sequence>
800
+ </xs:complexType>
801
+
802
+ <xs:complexType name="LanguageString.Type">
803
+ <xs:simpleContent>
804
+ <xs:extension base="xs:string">
805
+ <xs:attribute name="language" use="optional" type="CharacterString.Type"/>
806
+ </xs:extension>
807
+ </xs:simpleContent>
808
+ </xs:complexType>
809
+
810
+ <!-- ================================================================================================== -->
811
+
812
+ <!-- Declaration of the elements ********************************************************************** -->
813
+
814
+ <!-- ================================================================================================== -->
815
+
816
+ <!-- Declaration of the root element(s) *************************************************************** -->
817
+
818
+ <xs:element name="lom" type="LOM.Type"/>
819
+
820
+ <!-- ================================================================================================== -->
821
+
822
+ </xs:schema>