coursecode 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +322 -0
  3. package/THIRD_PARTY_NOTICES.md +22 -0
  4. package/bin/cli.js +331 -0
  5. package/framework/assets/logo-coursecode-black.svg +14 -0
  6. package/framework/assets/logo-coursecode-white.svg +14 -0
  7. package/framework/assets/logo-coursecode.svg +14 -0
  8. package/framework/css/01-base.css +160 -0
  9. package/framework/css/02-layout.css +499 -0
  10. package/framework/css/accessibility.css +834 -0
  11. package/framework/css/components/accordions.css +710 -0
  12. package/framework/css/components/assessments.css +520 -0
  13. package/framework/css/components/audio-player.css +570 -0
  14. package/framework/css/components/badges.css +80 -0
  15. package/framework/css/components/breadcrumbs.css +87 -0
  16. package/framework/css/components/buttons.css +707 -0
  17. package/framework/css/components/callouts.css +1280 -0
  18. package/framework/css/components/cards.css +475 -0
  19. package/framework/css/components/carousel.css +193 -0
  20. package/framework/css/components/checkbox-group.css +123 -0
  21. package/framework/css/components/checklist.css +203 -0
  22. package/framework/css/components/collapse.css +96 -0
  23. package/framework/css/components/comparison.css +33 -0
  24. package/framework/css/components/content-image.css +36 -0
  25. package/framework/css/components/document-gallery.css +425 -0
  26. package/framework/css/components/dropdown.css +115 -0
  27. package/framework/css/components/embed-frame.css +142 -0
  28. package/framework/css/components/engagement.css +412 -0
  29. package/framework/css/components/features.css +35 -0
  30. package/framework/css/components/flip-cards.css +253 -0
  31. package/framework/css/components/footer.css +353 -0
  32. package/framework/css/components/forms.css +294 -0
  33. package/framework/css/components/hero.css +216 -0
  34. package/framework/css/components/images.css +528 -0
  35. package/framework/css/components/interactive-timeline.css +274 -0
  36. package/framework/css/components/intro-cards.css +30 -0
  37. package/framework/css/components/lightbox.css +666 -0
  38. package/framework/css/components/loading.css +65 -0
  39. package/framework/css/components/modals.css +235 -0
  40. package/framework/css/components/notifications.css +107 -0
  41. package/framework/css/components/quote.css +150 -0
  42. package/framework/css/components/sidebar.css +684 -0
  43. package/framework/css/components/slide-header.css +52 -0
  44. package/framework/css/components/spinner.css +62 -0
  45. package/framework/css/components/stats.css +44 -0
  46. package/framework/css/components/steps.css +232 -0
  47. package/framework/css/components/tables.css +90 -0
  48. package/framework/css/components/tabs.css +347 -0
  49. package/framework/css/components/timeline.css +154 -0
  50. package/framework/css/components/toggle.css +95 -0
  51. package/framework/css/components/tooltip.css +226 -0
  52. package/framework/css/components/video-player.css +438 -0
  53. package/framework/css/design-tokens.css +707 -0
  54. package/framework/css/framework.css +86 -0
  55. package/framework/css/interactions/accessibility.css +75 -0
  56. package/framework/css/interactions/base.css +92 -0
  57. package/framework/css/interactions/drag-drop.css +295 -0
  58. package/framework/css/interactions/fill-in-the-blank.css +236 -0
  59. package/framework/css/interactions/hotspots.css +69 -0
  60. package/framework/css/interactions/index.css +45 -0
  61. package/framework/css/interactions/interactive-image.css +359 -0
  62. package/framework/css/interactions/likert.css +126 -0
  63. package/framework/css/interactions/matching.css +354 -0
  64. package/framework/css/interactions/numeric-input.css +78 -0
  65. package/framework/css/interactions/sequencing.css +378 -0
  66. package/framework/css/interactions/true-false.css +177 -0
  67. package/framework/css/layouts/article.css +258 -0
  68. package/framework/css/layouts/base.css +30 -0
  69. package/framework/css/layouts/canvas.css +38 -0
  70. package/framework/css/layouts/focused.css +236 -0
  71. package/framework/css/layouts/index.css +29 -0
  72. package/framework/css/layouts/presentation.css +191 -0
  73. package/framework/css/layouts/traditional.css +52 -0
  74. package/framework/css/responsive.css +439 -0
  75. package/framework/css/utilities/accessibility-utils.css +59 -0
  76. package/framework/css/utilities/animations.css +419 -0
  77. package/framework/css/utilities/borders.css +72 -0
  78. package/framework/css/utilities/colors.css +76 -0
  79. package/framework/css/utilities/container.css +46 -0
  80. package/framework/css/utilities/decorative.css +442 -0
  81. package/framework/css/utilities/display.css +257 -0
  82. package/framework/css/utilities/flexbox.css +80 -0
  83. package/framework/css/utilities/grid.css +69 -0
  84. package/framework/css/utilities/icons.css +534 -0
  85. package/framework/css/utilities/lists.css +190 -0
  86. package/framework/css/utilities/spacing.css +167 -0
  87. package/framework/css/utilities/tables.css +81 -0
  88. package/framework/css/utilities/typography.css +159 -0
  89. package/framework/css/utilities/visibility.css +117 -0
  90. package/framework/docs/COURSE_AUTHORING_GUIDE.md +1773 -0
  91. package/framework/docs/COURSE_OUTLINE_GUIDE.md +725 -0
  92. package/framework/docs/COURSE_OUTLINE_TEMPLATE.md +161 -0
  93. package/framework/docs/DATA_MODEL.md +409 -0
  94. package/framework/docs/FRAMEWORK_GUIDE.md +1088 -0
  95. package/framework/docs/USER_GUIDE.md +583 -0
  96. package/framework/docs/examples/cloudflare-channel-relay.js +169 -0
  97. package/framework/docs/examples/cloudflare-data-worker.js +102 -0
  98. package/framework/docs/examples/cloudflare-error-worker.js +228 -0
  99. package/framework/index.html +175 -0
  100. package/framework/js/app/AppActions.js +410 -0
  101. package/framework/js/app/AppState.js +225 -0
  102. package/framework/js/app/AppUI.js +616 -0
  103. package/framework/js/assessment/AssessmentActions.js +615 -0
  104. package/framework/js/assessment/AssessmentFactory.js +471 -0
  105. package/framework/js/assessment/AssessmentState.js +322 -0
  106. package/framework/js/assessment/AssessmentUI.js +451 -0
  107. package/framework/js/automation/api-engagement.js +196 -0
  108. package/framework/js/automation/api-interactions.js +167 -0
  109. package/framework/js/automation/api.js +242 -0
  110. package/framework/js/automation/index.js +41 -0
  111. package/framework/js/components/interactions/drag-drop.js +884 -0
  112. package/framework/js/components/interactions/fill-in.js +535 -0
  113. package/framework/js/components/interactions/hotspot.js +702 -0
  114. package/framework/js/components/interactions/interaction-base.js +511 -0
  115. package/framework/js/components/interactions/likert.js +301 -0
  116. package/framework/js/components/interactions/matching.js +699 -0
  117. package/framework/js/components/interactions/multiple-choice.js +377 -0
  118. package/framework/js/components/interactions/numeric.js +271 -0
  119. package/framework/js/components/interactions/sequencing.js +423 -0
  120. package/framework/js/components/interactions/true-false.js +241 -0
  121. package/framework/js/components/ui-components/accordion.js +442 -0
  122. package/framework/js/components/ui-components/alert.js +88 -0
  123. package/framework/js/components/ui-components/audio-player.js +1193 -0
  124. package/framework/js/components/ui-components/callout.js +121 -0
  125. package/framework/js/components/ui-components/carousel.js +145 -0
  126. package/framework/js/components/ui-components/checkbox-group.js +87 -0
  127. package/framework/js/components/ui-components/checklist.js +40 -0
  128. package/framework/js/components/ui-components/collapse.js +114 -0
  129. package/framework/js/components/ui-components/comparison.js +30 -0
  130. package/framework/js/components/ui-components/conditional-display.js +150 -0
  131. package/framework/js/components/ui-components/content-image.js +41 -0
  132. package/framework/js/components/ui-components/dropdown.js +262 -0
  133. package/framework/js/components/ui-components/embed-frame.js +274 -0
  134. package/framework/js/components/ui-components/features.js +33 -0
  135. package/framework/js/components/ui-components/flip-card.js +230 -0
  136. package/framework/js/components/ui-components/form-validator.js +76 -0
  137. package/framework/js/components/ui-components/hero.js +49 -0
  138. package/framework/js/components/ui-components/index.js +12 -0
  139. package/framework/js/components/ui-components/interactive-image.js +235 -0
  140. package/framework/js/components/ui-components/interactive-timeline.js +285 -0
  141. package/framework/js/components/ui-components/intro-cards.js +35 -0
  142. package/framework/js/components/ui-components/lightbox.js +652 -0
  143. package/framework/js/components/ui-components/modal.js +386 -0
  144. package/framework/js/components/ui-components/notifications.js +145 -0
  145. package/framework/js/components/ui-components/progress.js +88 -0
  146. package/framework/js/components/ui-components/quote.js +41 -0
  147. package/framework/js/components/ui-components/stats.js +33 -0
  148. package/framework/js/components/ui-components/steps.js +41 -0
  149. package/framework/js/components/ui-components/tabs.js +255 -0
  150. package/framework/js/components/ui-components/timeline.js +42 -0
  151. package/framework/js/components/ui-components/toggle-group.js +73 -0
  152. package/framework/js/components/ui-components/tooltip.js +458 -0
  153. package/framework/js/components/ui-components/value-display.js +133 -0
  154. package/framework/js/components/ui-components/video-player.js +686 -0
  155. package/framework/js/core/component-catalog.js +121 -0
  156. package/framework/js/core/event-bus.js +178 -0
  157. package/framework/js/core/interaction-catalog.js +149 -0
  158. package/framework/js/dev/runtime-linter.js +1725 -0
  159. package/framework/js/drivers/cmi5-driver.js +768 -0
  160. package/framework/js/drivers/driver-factory.js +77 -0
  161. package/framework/js/drivers/driver-interface.js +110 -0
  162. package/framework/js/drivers/http-driver-base.js +241 -0
  163. package/framework/js/drivers/lti-driver.js +508 -0
  164. package/framework/js/drivers/proxy-driver.js +444 -0
  165. package/framework/js/drivers/scorm-12-driver.js +560 -0
  166. package/framework/js/drivers/scorm-2004-driver.js +775 -0
  167. package/framework/js/drivers/scorm-driver-base.js +112 -0
  168. package/framework/js/engagement/engagement-manager.js +404 -0
  169. package/framework/js/engagement/engagement-progress.js +191 -0
  170. package/framework/js/engagement/engagement-trackers.js +215 -0
  171. package/framework/js/engagement/requirement-strategies.js +268 -0
  172. package/framework/js/main.js +727 -0
  173. package/framework/js/managers/accessibility-manager.js +499 -0
  174. package/framework/js/managers/assessment-manager.js +230 -0
  175. package/framework/js/managers/audio-manager.js +944 -0
  176. package/framework/js/managers/comment-manager.js +88 -0
  177. package/framework/js/managers/flag-manager.js +86 -0
  178. package/framework/js/managers/interaction-manager.js +254 -0
  179. package/framework/js/managers/interaction-registry.js +96 -0
  180. package/framework/js/managers/objective-manager.js +423 -0
  181. package/framework/js/managers/score-manager.js +441 -0
  182. package/framework/js/managers/video-manager.js +536 -0
  183. package/framework/js/navigation/Breadcrumbs.js +234 -0
  184. package/framework/js/navigation/NavigationActions.js +1132 -0
  185. package/framework/js/navigation/NavigationState.js +276 -0
  186. package/framework/js/navigation/NavigationUI.js +574 -0
  187. package/framework/js/navigation/document-gallery.js +357 -0
  188. package/framework/js/navigation/navigation-helpers.js +175 -0
  189. package/framework/js/navigation/navigation-validators.js +174 -0
  190. package/framework/js/state/index.js +8 -0
  191. package/framework/js/state/lms-connection.js +482 -0
  192. package/framework/js/state/lms-error-utils.js +58 -0
  193. package/framework/js/state/state-commits.js +200 -0
  194. package/framework/js/state/state-domains.js +86 -0
  195. package/framework/js/state/state-manager.js +502 -0
  196. package/framework/js/state/state-validation.js +311 -0
  197. package/framework/js/state/transaction-log.js +41 -0
  198. package/framework/js/state/xapi-statement-service.js +325 -0
  199. package/framework/js/utilities/access-control.js +99 -0
  200. package/framework/js/utilities/breakpoint-manager.js +315 -0
  201. package/framework/js/utilities/canvas-slide.js +35 -0
  202. package/framework/js/utilities/conditional-display.js +388 -0
  203. package/framework/js/utilities/course-channel.js +214 -0
  204. package/framework/js/utilities/course-helpers.js +420 -0
  205. package/framework/js/utilities/data-reporter.js +273 -0
  206. package/framework/js/utilities/error-reporter.js +313 -0
  207. package/framework/js/utilities/hotspot-helper.js +341 -0
  208. package/framework/js/utilities/icons.js +348 -0
  209. package/framework/js/utilities/logger.js +92 -0
  210. package/framework/js/utilities/markdown-renderer.js +45 -0
  211. package/framework/js/utilities/scroll-tracker.js +68 -0
  212. package/framework/js/utilities/ui-initializer.js +146 -0
  213. package/framework/js/utilities/utilities.js +293 -0
  214. package/framework/js/utilities/view-manager.js +227 -0
  215. package/framework/js/validation/html-validators.js +422 -0
  216. package/framework/js/validation/scorm-validators.js +438 -0
  217. package/framework/js/vendor/pipwerks.js +931 -0
  218. package/framework/scripts/generate-narration.js +629 -0
  219. package/framework/scripts/tts-providers/azure-provider.js +178 -0
  220. package/framework/scripts/tts-providers/base-provider.js +81 -0
  221. package/framework/scripts/tts-providers/deepgram-provider.js +135 -0
  222. package/framework/scripts/tts-providers/elevenlabs-provider.js +148 -0
  223. package/framework/scripts/tts-providers/google-provider.js +272 -0
  224. package/framework/scripts/tts-providers/index.js +158 -0
  225. package/framework/scripts/tts-providers/openai-provider.js +143 -0
  226. package/framework/version.json +63 -0
  227. package/lib/authoring-api.js +919 -0
  228. package/lib/build-linter.js +450 -0
  229. package/lib/build-packaging.js +186 -0
  230. package/lib/build.js +88 -0
  231. package/lib/cloud.js +691 -0
  232. package/lib/convert.js +341 -0
  233. package/lib/course-parser.js +936 -0
  234. package/lib/course-writer.js +258 -0
  235. package/lib/create.js +248 -0
  236. package/lib/css-index.js +237 -0
  237. package/lib/dev.js +51 -0
  238. package/lib/export-content.js +1246 -0
  239. package/lib/headless-browser.js +413 -0
  240. package/lib/import.js +377 -0
  241. package/lib/index.js +80 -0
  242. package/lib/info.js +79 -0
  243. package/lib/interaction-formatters.js +568 -0
  244. package/lib/manifest/cmi5-manifest.js +63 -0
  245. package/lib/manifest/lti-tool-config.js +53 -0
  246. package/lib/manifest/manifest-factory.js +99 -0
  247. package/lib/manifest/scorm-12-manifest.js +61 -0
  248. package/lib/manifest/scorm-2004-manifest.js +94 -0
  249. package/lib/manifest/scorm-proxy-manifest.js +104 -0
  250. package/lib/manifest-parser.js +96 -0
  251. package/lib/mcp-prompts.js +753 -0
  252. package/lib/mcp-server.js +316 -0
  253. package/lib/narration.js +53 -0
  254. package/lib/pdf-structure.js +142 -0
  255. package/lib/preview-export.js +231 -0
  256. package/lib/preview-routes-api.js +662 -0
  257. package/lib/preview-routes-editing.js +159 -0
  258. package/lib/preview-routes-lms.js +230 -0
  259. package/lib/preview-server.js +564 -0
  260. package/lib/project-utils.js +269 -0
  261. package/lib/proxy-templates/proxy.html +68 -0
  262. package/lib/proxy-templates/scorm-bridge.js +112 -0
  263. package/lib/scaffold.js +193 -0
  264. package/lib/schema-extractor.js +361 -0
  265. package/lib/slide-source-editor.js +586 -0
  266. package/lib/stub-player/app-viewer.js +195 -0
  267. package/lib/stub-player/app.js +370 -0
  268. package/lib/stub-player/catalog-panel.js +312 -0
  269. package/lib/stub-player/config-panel.js +1303 -0
  270. package/lib/stub-player/content-generator.js +586 -0
  271. package/lib/stub-player/content-viewer.js +173 -0
  272. package/lib/stub-player/debug-panel.js +420 -0
  273. package/lib/stub-player/edit-mode.js +922 -0
  274. package/lib/stub-player/edit-utils.js +400 -0
  275. package/lib/stub-player/header-bar.js +354 -0
  276. package/lib/stub-player/interaction-editor.js +210 -0
  277. package/lib/stub-player/interactions-panel.js +565 -0
  278. package/lib/stub-player/lms-api.js +1094 -0
  279. package/lib/stub-player/login-screen.js +74 -0
  280. package/lib/stub-player/outline-mode.js +689 -0
  281. package/lib/stub-player/styles/_assessments-panel.css +245 -0
  282. package/lib/stub-player/styles/_base.css +89 -0
  283. package/lib/stub-player/styles/_catalog-icons.css +96 -0
  284. package/lib/stub-player/styles/_catalog-panel.css +291 -0
  285. package/lib/stub-player/styles/_config-panel.css +636 -0
  286. package/lib/stub-player/styles/_content-viewer.css +834 -0
  287. package/lib/stub-player/styles/_debug-panel.css +576 -0
  288. package/lib/stub-player/styles/_edit-mode.css +128 -0
  289. package/lib/stub-player/styles/_header-bar.css +343 -0
  290. package/lib/stub-player/styles/_interaction-editor.css +140 -0
  291. package/lib/stub-player/styles/_interactions-panel.css +1038 -0
  292. package/lib/stub-player/styles/_login-screen.css +102 -0
  293. package/lib/stub-player/styles/_outline-mode.css +752 -0
  294. package/lib/stub-player/styles.css +15 -0
  295. package/lib/stub-player.js +160 -0
  296. package/lib/test-data-reporting.js +176 -0
  297. package/lib/test-error-reporting.js +146 -0
  298. package/lib/token.js +86 -0
  299. package/lib/upgrade.js +257 -0
  300. package/lib/validation-rules.js +517 -0
  301. package/lib/vite-plugin-content-discovery.js +296 -0
  302. package/package.json +108 -0
  303. package/schemas/XMLSchema.dtd +402 -0
  304. package/schemas/adlcp_v1p3.xsd +111 -0
  305. package/schemas/adlnav_v1p3.xsd +61 -0
  306. package/schemas/adlseq_v1p3.xsd +93 -0
  307. package/schemas/common/anyElement.xsd +27 -0
  308. package/schemas/common/dataTypes.xsd +138 -0
  309. package/schemas/common/elementNames.xsd +767 -0
  310. package/schemas/common/elementTypes.xsd +786 -0
  311. package/schemas/common/rootElement.xsd +31 -0
  312. package/schemas/common/vocabTypes.xsd +345 -0
  313. package/schemas/common/vocabValues.xsd +257 -0
  314. package/schemas/datatypes.dtd +203 -0
  315. package/schemas/ims_xml.xsd +35 -0
  316. package/schemas/imscp_v1p1.xsd +368 -0
  317. package/schemas/imsss_v1p0.xsd +67 -0
  318. package/schemas/imsss_v1p0auxresource.xsd +19 -0
  319. package/schemas/imsss_v1p0control.xsd +20 -0
  320. package/schemas/imsss_v1p0delivery.xsd +17 -0
  321. package/schemas/imsss_v1p0limit.xsd +47 -0
  322. package/schemas/imsss_v1p0objective.xsd +67 -0
  323. package/schemas/imsss_v1p0random.xsd +16 -0
  324. package/schemas/imsss_v1p0rollup.xsd +46 -0
  325. package/schemas/imsss_v1p0seqrule.xsd +108 -0
  326. package/schemas/imsss_v1p0util.xsd +94 -0
  327. package/schemas/license.txt +17 -0
  328. package/schemas/lom.xsd +102 -0
  329. package/schemas/lomCustom.xsd +62 -0
  330. package/schemas/lomLoose.xsd +62 -0
  331. package/schemas/lomStrict.xsd +62 -0
  332. package/schemas/xml.xsd +81 -0
  333. package/template/.env.example +92 -0
  334. package/template/course/assets/audio/example-intro.mp3 +0 -0
  335. package/template/course/assets/audio/example-ui-demo--compact-player.mp3 +0 -0
  336. package/template/course/assets/audio/example-ui-demo--demo-modal.mp3 +0 -0
  337. package/template/course/assets/audio/example-ui-demo--full-player.mp3 +0 -0
  338. package/template/course/assets/docs/example_md_1.md +39 -0
  339. package/template/course/assets/docs/example_md_2.md +41 -0
  340. package/template/course/assets/docs/example_pdf_1_thumbnail.png +0 -0
  341. package/template/course/assets/docs/example_pdf_2.pdf +0 -0
  342. package/template/course/assets/images/course-architecture.svg +36 -0
  343. package/template/course/assets/images/logo.svg +14 -0
  344. package/template/course/assets/widgets/counter-demo.html +190 -0
  345. package/template/course/assets/widgets/gravity-painter.html +384 -0
  346. package/template/course/course-config.js +539 -0
  347. package/template/course/icons.js +19 -0
  348. package/template/course/interactions/PLUGIN_GUIDE.md +97 -0
  349. package/template/course/slides/example-course-structure.js +138 -0
  350. package/template/course/slides/example-final-exam.js +144 -0
  351. package/template/course/slides/example-finishing.js +127 -0
  352. package/template/course/slides/example-interactions-showcase.js +615 -0
  353. package/template/course/slides/example-preview-tour.js +129 -0
  354. package/template/course/slides/example-remedial.js +143 -0
  355. package/template/course/slides/example-summary.js +103 -0
  356. package/template/course/slides/example-ui-showcase.js +1805 -0
  357. package/template/course/slides/example-welcome.js +123 -0
  358. package/template/course/slides/example-workflow.js +140 -0
  359. package/template/course/theme.css +165 -0
  360. package/template/eslint.config.js +47 -0
  361. package/template/package.json +28 -0
  362. package/template/vite.config.js +339 -0
@@ -0,0 +1,19 @@
1
+ <?xml version = "1.0" encoding = "UTF-8"?>
2
+ <!--Generated by Turbo XML 2.3.1.100. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
3
+ <xs:schema xmlns = "http://www.imsglobal.org/xsd/imsss"
4
+ targetNamespace = "http://www.imsglobal.org/xsd/imsss"
5
+ xmlns:xs = "http://www.w3.org/2001/XMLSchema"
6
+ elementFormDefault = "qualified"
7
+ attributeFormDefault = "unqualified">
8
+ <xs:include schemaLocation = "imsss_v1p0util.xsd"/>
9
+ <xs:complexType name = "auxiliaryResourceType">
10
+ <xs:attribute name = "auxiliaryResourceID" use = "required" type = "xs:anyURI"/>
11
+ <xs:attribute name = "purpose" use = "required" type = "xs:string"/>
12
+ </xs:complexType>
13
+ <xs:complexType name = "auxiliaryResourcesType">
14
+ <xs:sequence>
15
+ <xs:element name = "auxiliaryResource" type = "auxiliaryResourceType"
16
+ block = "#all" minOccurs = "0" maxOccurs = "unbounded"/>
17
+ </xs:sequence>
18
+ </xs:complexType>
19
+ </xs:schema>
@@ -0,0 +1,20 @@
1
+ <?xml version = "1.0" encoding = "UTF-8"?>
2
+ <!--Generated by Turbo XML 2.3.1.100. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
3
+ <xs:schema xmlns = "http://www.imsglobal.org/xsd/imsss"
4
+ targetNamespace = "http://www.imsglobal.org/xsd/imsss"
5
+ xmlns:xs = "http://www.w3.org/2001/XMLSchema"
6
+ elementFormDefault = "qualified"
7
+ attributeFormDefault = "unqualified">
8
+
9
+ <xs:complexType name = "controlModeType">
10
+ <xs:annotation>
11
+ <xs:documentation>The type associated with a control-mode element (see the element controlMode)</xs:documentation>
12
+ </xs:annotation>
13
+ <xs:attribute name = "choice" default = "true" type = "xs:boolean"/>
14
+ <xs:attribute name = "choiceExit" default = "true" type = "xs:boolean"/>
15
+ <xs:attribute name = "flow" default = "false" type = "xs:boolean"/>
16
+ <xs:attribute name = "forwardOnly" default = "false" type = "xs:boolean"/>
17
+ <xs:attribute name = "useCurrentAttemptObjectiveInfo" default = "true" type = "xs:boolean"/>
18
+ <xs:attribute name = "useCurrentAttemptProgressInfo" default = "true" type = "xs:boolean"/>
19
+ </xs:complexType>
20
+ </xs:schema>
@@ -0,0 +1,17 @@
1
+ <?xml version = "1.0" encoding = "UTF-8"?>
2
+ <!--Generated by Turbo XML 2.3.1.100. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
3
+ <xs:schema xmlns = "http://www.imsglobal.org/xsd/imsss"
4
+ targetNamespace = "http://www.imsglobal.org/xsd/imsss"
5
+ xmlns:xs = "http://www.w3.org/2001/XMLSchema"
6
+ elementFormDefault = "qualified"
7
+ attributeFormDefault = "unqualified">
8
+
9
+ <xs:complexType name = "deliveryControlsType">
10
+ <xs:annotation>
11
+ <xs:documentation>The type that describes any element which fullfills a delivery control semantic</xs:documentation>
12
+ </xs:annotation>
13
+ <xs:attribute name = "tracked" default = "true" type = "xs:boolean"/>
14
+ <xs:attribute name = "completionSetByContent" default = "false" type = "xs:boolean"/>
15
+ <xs:attribute name = "objectiveSetByContent" default = "false" type = "xs:boolean"/>
16
+ </xs:complexType>
17
+ </xs:schema>
@@ -0,0 +1,47 @@
1
+ <?xml version = "1.0" encoding = "UTF-8"?>
2
+ <!--Generated by Turbo XML 2.3.1.100. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
3
+ <xs:schema xmlns = "http://www.imsglobal.org/xsd/imsss"
4
+ targetNamespace = "http://www.imsglobal.org/xsd/imsss"
5
+ xmlns:xs = "http://www.w3.org/2001/XMLSchema"
6
+ elementFormDefault = "qualified"
7
+ attributeFormDefault = "unqualified">
8
+
9
+ <xs:complexType name = "limitConditionsType">
10
+ <xs:attribute name = "attemptLimit" type = "xs:nonNegativeInteger">
11
+ <xs:annotation>
12
+ <xs:documentation>Limit Condition Attempt Limit</xs:documentation>
13
+ </xs:annotation>
14
+ </xs:attribute>
15
+ <xs:attribute name = "attemptAbsoluteDurationLimit" type = "xs:duration" >
16
+ <xs:annotation>
17
+ <xs:documentation>Limit Condition Activity Attempt Absolute Duration Limit. Typed as xs:duration: see http://www.w3.org/TR/xmlschema-2/#duration</xs:documentation>
18
+ </xs:annotation>
19
+ </xs:attribute>
20
+ <xs:attribute name = "attemptExperiencedDurationLimit" type = "xs:duration">
21
+ <xs:annotation>
22
+ <xs:documentation>Limit Condition Activity Attempt Experienced Duration Limit. Typed as xs:duration: see http://www.w3.org/TR/xmlschema-2/#duration</xs:documentation>
23
+ </xs:annotation>
24
+ </xs:attribute>
25
+ <xs:attribute name = "activityAbsoluteDurationLimit" type = "xs:duration">
26
+ <xs:annotation>
27
+ <xs:documentation>Limit Condition Activity Absolute Duration Limit. Typed as xs:duration: see http://www.w3.org/TR/xmlschema-2/#duration</xs:documentation>
28
+ </xs:annotation>
29
+ </xs:attribute>
30
+ <xs:attribute name = "activityExperiencedDurationLimit" type = "xs:duration" >
31
+ <xs:annotation>
32
+ <xs:documentation>Limit Condition Activity Experienced Duration Limit. Typed as xs:duration: see http://www.w3.org/TR/xmlschema-2/#duration</xs:documentation>
33
+ </xs:annotation>
34
+ </xs:attribute>
35
+ <xs:attribute name = "beginTimeLimit" type = "xs:dateTime">
36
+ <xs:annotation>
37
+ <xs:documentation>Limit Condition Begin Time Limit</xs:documentation>
38
+ </xs:annotation>
39
+ </xs:attribute>
40
+ <xs:attribute name = "endTimeLimit" type = "xs:dateTime">
41
+ <xs:annotation>
42
+ <xs:documentation>Limit Condition End Time Limit</xs:documentation>
43
+ </xs:annotation>
44
+ </xs:attribute>
45
+
46
+ </xs:complexType>
47
+ </xs:schema>
@@ -0,0 +1,67 @@
1
+ <?xml version = "1.0" encoding = "UTF-8"?>
2
+ <!--Generated by Turbo XML 2.3.1.100. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
3
+ <xs:schema xmlns = "http://www.imsglobal.org/xsd/imsss"
4
+ targetNamespace = "http://www.imsglobal.org/xsd/imsss"
5
+ xmlns:xs = "http://www.w3.org/2001/XMLSchema"
6
+ elementFormDefault = "qualified"
7
+ attributeFormDefault = "unqualified">
8
+ <xs:include schemaLocation = "imsss_v1p0util.xsd"/>
9
+ <xs:complexType name = "objectiveType">
10
+ <xs:sequence>
11
+ <xs:element name = "minNormalizedMeasure" type = "measureType"
12
+ block = "#all" default = "1.00000" minOccurs = "0"/>
13
+ <xs:element name = "mapInfo"
14
+ block = "#all" minOccurs = "0" maxOccurs = "unbounded">
15
+ <xs:complexType>
16
+ <xs:complexContent>
17
+ <xs:extension base = "objectiveMappingType"/>
18
+ </xs:complexContent>
19
+ </xs:complexType>
20
+ </xs:element>
21
+ </xs:sequence>
22
+ <xs:attribute name = "satisfiedByMeasure" default = "false" type = "xs:boolean"/>
23
+ </xs:complexType>
24
+ <xs:complexType name = "objectivesType">
25
+ <xs:annotation>
26
+ <xs:documentation>The specification states: "Each activity must have one and only one objective that contributes to rollup". The following type describes an unbounded set of elements all named "objective" that do not contribute to rollup, and one element called "primaryObjective" that contributes to rollup.</xs:documentation>
27
+ </xs:annotation>
28
+ <xs:sequence>
29
+ <xs:element name = "primaryObjective"
30
+ block = "#all">
31
+ <xs:annotation>
32
+ <xs:documentation>Contributes to rollup of the activity. </xs:documentation>
33
+ </xs:annotation>
34
+ <xs:complexType>
35
+ <xs:complexContent>
36
+ <xs:extension base = "objectiveType">
37
+ <xs:attribute name = "objectiveID" type = "xs:anyURI"/>
38
+ </xs:extension>
39
+ </xs:complexContent>
40
+ </xs:complexType>
41
+ </xs:element>
42
+ <xs:element name = "objective"
43
+ block = "#all" minOccurs = "0" maxOccurs = "unbounded">
44
+ <xs:annotation>
45
+ <xs:documentation>Does not contribute to the rollup of the activity.</xs:documentation>
46
+ </xs:annotation>
47
+ <xs:complexType>
48
+ <xs:complexContent>
49
+ <xs:extension base = "objectiveType">
50
+ <xs:attribute name = "objectiveID" use = "required" type = "xs:anyURI"/>
51
+ </xs:extension>
52
+ </xs:complexContent>
53
+ </xs:complexType>
54
+ </xs:element>
55
+ </xs:sequence>
56
+ </xs:complexType>
57
+ <xs:complexType name = "objectiveMappingType">
58
+ <xs:annotation>
59
+ <xs:documentation>The type that describes an individual objective mapping. Mapping one local objective GUID to one global objective GUID</xs:documentation>
60
+ </xs:annotation>
61
+ <xs:attribute name = "targetObjectiveID" use = "required" type = "xs:anyURI"/>
62
+ <xs:attribute name = "readSatisfiedStatus" default = "true" type = "xs:boolean"/>
63
+ <xs:attribute name = "readNormalizedMeasure" default = "true" type = "xs:boolean"/>
64
+ <xs:attribute name = "writeSatisfiedStatus" default = "false" type = "xs:boolean"/>
65
+ <xs:attribute name = "writeNormalizedMeasure" default = "false" type = "xs:boolean"/>
66
+ </xs:complexType>
67
+ </xs:schema>
@@ -0,0 +1,16 @@
1
+ <?xml version = "1.0" encoding = "UTF-8"?>
2
+ <!--Generated by Turbo XML 2.3.1.100. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
3
+ <xs:schema xmlns = "http://www.imsglobal.org/xsd/imsss"
4
+ targetNamespace = "http://www.imsglobal.org/xsd/imsss"
5
+ xmlns:xs = "http://www.w3.org/2001/XMLSchema"
6
+ elementFormDefault = "qualified"
7
+ attributeFormDefault = "unqualified">
8
+ <xs:include schemaLocation = "imsss_v1p0util.xsd"/>
9
+
10
+ <xs:complexType name = "randomizationType">
11
+ <xs:attribute name = "randomizationTiming" default = "never" type = "randomTimingType"/>
12
+ <xs:attribute name = "selectCount" type = "xs:nonNegativeInteger"/>
13
+ <xs:attribute name = "reorderChildren" default = "false" type = "xs:boolean"/>
14
+ <xs:attribute name = "selectionTiming" default = "never" type = "randomTimingType"/>
15
+ </xs:complexType>
16
+ </xs:schema>
@@ -0,0 +1,46 @@
1
+ <?xml version = "1.0" encoding = "UTF-8"?>
2
+ <!--Generated by Turbo XML 2.3.1.100. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
3
+ <xs:schema xmlns = "http://www.imsglobal.org/xsd/imsss"
4
+ targetNamespace = "http://www.imsglobal.org/xsd/imsss"
5
+ xmlns:xs = "http://www.w3.org/2001/XMLSchema"
6
+ elementFormDefault = "qualified"
7
+ attributeFormDefault = "unqualified">
8
+ <xs:include schemaLocation = "imsss_v1p0util.xsd"/>
9
+ <xs:complexType name = "rollupRuleType">
10
+ <xs:sequence>
11
+ <xs:element name = "rollupConditions"
12
+ block = "#all">
13
+ <xs:complexType>
14
+ <xs:sequence>
15
+ <xs:element name = "rollupCondition"
16
+ block = "#all" maxOccurs = "unbounded">
17
+ <xs:complexType>
18
+ <xs:attribute name = "operator" default = "noOp" type = "conditionOperatorType"/>
19
+ <xs:attribute name = "condition" use = "required" type = "rollupRuleConditionType"/>
20
+ </xs:complexType>
21
+ </xs:element>
22
+ </xs:sequence>
23
+ <xs:attribute name = "conditionCombination" default = "any" type = "conditionCombinationType"/>
24
+ </xs:complexType>
25
+ </xs:element>
26
+ <xs:element name = "rollupAction"
27
+ block = "#all">
28
+ <xs:complexType>
29
+ <xs:attribute name = "action" use = "required" type = "rollupActionType"/>
30
+ </xs:complexType>
31
+ </xs:element>
32
+ </xs:sequence>
33
+ <xs:attribute name = "childActivitySet" default = "all" type = "childActivityType"/>
34
+ <xs:attribute name = "minimumCount" default = "0" type = "xs:nonNegativeInteger"/>
35
+ <xs:attribute name = "minimumPercent" default = "0" type = "percentType"/>
36
+ </xs:complexType>
37
+ <xs:complexType name = "rollupRulesType">
38
+ <xs:sequence>
39
+ <xs:element name = "rollupRule" type = "rollupRuleType"
40
+ block = "#all" minOccurs = "0" maxOccurs = "unbounded"/>
41
+ </xs:sequence>
42
+ <xs:attribute name = "rollupObjectiveSatisfied" default = "true" type = "xs:boolean"/>
43
+ <xs:attribute name = "rollupProgressCompletion" default = "true" type = "xs:boolean"/>
44
+ <xs:attribute name = "objectiveMeasureWeight" default = "1.0000" type = "weightType"/>
45
+ </xs:complexType>
46
+ </xs:schema>
@@ -0,0 +1,108 @@
1
+ <?xml version = "1.0" encoding = "UTF-8"?>
2
+ <!--Generated by Turbo XML 2.3.1.100. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
3
+ <xs:schema xmlns = "http://www.imsglobal.org/xsd/imsss"
4
+ targetNamespace = "http://www.imsglobal.org/xsd/imsss"
5
+ xmlns:xs = "http://www.w3.org/2001/XMLSchema"
6
+ elementFormDefault = "qualified"
7
+ attributeFormDefault = "unqualified">
8
+ <xs:include schemaLocation = "imsss_v1p0util.xsd"/>
9
+ <xs:complexType name = "exitConditionRuleType">
10
+ <xs:complexContent>
11
+ <xs:extension base = "sequencingRuleType">
12
+ <xs:sequence>
13
+ <xs:element name = "ruleAction"
14
+ block = "#all">
15
+ <xs:complexType>
16
+ <xs:attribute name = "action" use = "required" type = "exitConditionRuleActionType"/>
17
+ </xs:complexType>
18
+ </xs:element>
19
+ </xs:sequence>
20
+ </xs:extension>
21
+ </xs:complexContent>
22
+ </xs:complexType>
23
+ <xs:complexType name = "postConditionRuleType">
24
+ <xs:annotation>
25
+ <xs:documentation>postConditionSequencingRuleType is derived by extension from sequencingRuleType. It adds an element ruleAction that is a simpleType constrained to a vocabulary relevant to post-Condition sequencing rules</xs:documentation>
26
+ </xs:annotation>
27
+ <xs:complexContent>
28
+ <xs:extension base = "sequencingRuleType">
29
+ <xs:sequence>
30
+ <xs:element name = "ruleAction"
31
+ block = "#all">
32
+ <xs:complexType>
33
+ <xs:attribute name = "action" use = "required" type = "postConditionRuleActionType"/>
34
+ </xs:complexType>
35
+ </xs:element>
36
+ </xs:sequence>
37
+ </xs:extension>
38
+ </xs:complexContent>
39
+ </xs:complexType>
40
+ <xs:complexType name = "preConditionRuleType">
41
+ <xs:complexContent>
42
+ <xs:extension base = "sequencingRuleType">
43
+ <xs:sequence>
44
+ <xs:element name = "ruleAction"
45
+ block = "#all">
46
+ <xs:complexType>
47
+ <xs:attribute name = "action" use = "required" type = "preConditionRuleActionType"/>
48
+ </xs:complexType>
49
+ </xs:element>
50
+ </xs:sequence>
51
+ </xs:extension>
52
+ </xs:complexContent>
53
+ </xs:complexType>
54
+ <xs:complexType name = "sequencingRuleType" abstract = "true">
55
+ <xs:sequence>
56
+ <xs:element name = "ruleConditions"
57
+ block = "#all" minOccurs = "0">
58
+ <xs:complexType>
59
+ <xs:sequence>
60
+ <xs:element name = "ruleCondition"
61
+ block = "#all" maxOccurs = "unbounded">
62
+ <xs:complexType>
63
+ <xs:attribute name = "referencedObjective" type = "xs:anyURI"/>
64
+ <xs:attribute name = "measureThreshold" type = "measureType"/>
65
+ <xs:attribute name = "operator" default = "noOp" type = "conditionOperatorType"/>
66
+ <xs:attribute name = "condition" use = "required" type = "sequencingRuleConditionType"/>
67
+ </xs:complexType>
68
+ </xs:element>
69
+ </xs:sequence>
70
+ <xs:attribute name = "conditionCombination" default = "all" type = "conditionCombinationType"/>
71
+ </xs:complexType>
72
+ </xs:element>
73
+ </xs:sequence>
74
+ </xs:complexType>
75
+ <xs:complexType name = "sequencingRulesType">
76
+ <xs:sequence>
77
+ <xs:element name = "preConditionRule" type = "preConditionRuleType"
78
+ block = "#all" minOccurs = "0" maxOccurs = "unbounded"/>
79
+ <xs:element name = "exitConditionRule" type = "exitConditionRuleType"
80
+ block = "#all" minOccurs = "0" maxOccurs = "unbounded"/>
81
+ <xs:element name = "postConditionRule" type = "postConditionRuleType"
82
+ block = "#all" minOccurs = "0" maxOccurs = "unbounded"/>
83
+ </xs:sequence>
84
+ </xs:complexType>
85
+ <xs:simpleType name = "exitConditionRuleActionType">
86
+ <xs:restriction base = "xs:token">
87
+ <xs:enumeration value = "exit"/>
88
+ </xs:restriction>
89
+ </xs:simpleType>
90
+ <xs:simpleType name = "postConditionRuleActionType">
91
+ <xs:restriction base = "xs:token">
92
+ <xs:enumeration value = "exitParent"/>
93
+ <xs:enumeration value = "exitAll"/>
94
+ <xs:enumeration value = "retry"/>
95
+ <xs:enumeration value = "retryAll"/>
96
+ <xs:enumeration value = "continue"/>
97
+ <xs:enumeration value = "previous"/>
98
+ </xs:restriction>
99
+ </xs:simpleType>
100
+ <xs:simpleType name = "preConditionRuleActionType">
101
+ <xs:restriction base = "xs:token">
102
+ <xs:enumeration value = "skip"/>
103
+ <xs:enumeration value = "disabled"/>
104
+ <xs:enumeration value = "hiddenFromChoice"/>
105
+ <xs:enumeration value = "stopForwardTraversal"/>
106
+ </xs:restriction>
107
+ </xs:simpleType>
108
+ </xs:schema>
@@ -0,0 +1,94 @@
1
+ <?xml version = "1.0" encoding = "UTF-8"?>
2
+ <!--Generated by Turbo XML 2.3.1.100. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
3
+ <xs:schema xmlns = "http://www.imsglobal.org/xsd/imsss"
4
+ targetNamespace = "http://www.imsglobal.org/xsd/imsss"
5
+ xmlns:xs = "http://www.w3.org/2001/XMLSchema"
6
+ elementFormDefault = "qualified"
7
+ attributeFormDefault = "unqualified">
8
+ <xs:simpleType name = "childActivityType">
9
+ <xs:restriction base = "xs:token">
10
+ <xs:enumeration value = "all"/>
11
+ <xs:enumeration value = "any"/>
12
+ <xs:enumeration value = "none"/>
13
+ <xs:enumeration value = "atLeastCount"/>
14
+ <xs:enumeration value = "atLeastPercent"/>
15
+ </xs:restriction>
16
+ </xs:simpleType>
17
+ <xs:simpleType name = "conditionCombinationType">
18
+ <xs:restriction base = "xs:token">
19
+ <xs:enumeration value = "all"/>
20
+ <xs:enumeration value = "any"/>
21
+ </xs:restriction>
22
+ </xs:simpleType>
23
+ <xs:simpleType name = "conditionOperatorType">
24
+ <xs:restriction base = "xs:token">
25
+ <xs:enumeration value = "not"/>
26
+ <xs:enumeration value = "noOp"/>
27
+ </xs:restriction>
28
+ </xs:simpleType>
29
+ <xs:simpleType name = "measureType">
30
+ <xs:annotation>
31
+ <xs:documentation>A decimal value with AT LEAST 4 significant decimal digits between -1 and 1</xs:documentation>
32
+ </xs:annotation>
33
+ <xs:restriction base = "xs:decimal">
34
+ <xs:maxInclusive value = "1"/>
35
+ <xs:minInclusive value = "-1"/>
36
+ </xs:restriction>
37
+ </xs:simpleType>
38
+ <xs:simpleType name = "percentType">
39
+ <xs:restriction base = "xs:decimal">
40
+ <xs:maxInclusive value = "1"/>
41
+ <xs:minInclusive value = "0"/>
42
+ </xs:restriction>
43
+ </xs:simpleType>
44
+ <xs:simpleType name = "rollupRuleConditionType">
45
+ <xs:restriction base = "xs:token">
46
+ <xs:enumeration value = "satisfied"/>
47
+ <xs:enumeration value = "objectiveStatusKnown"/>
48
+ <xs:enumeration value = "objectiveMeasureKnown"/>
49
+ <xs:enumeration value = "completed"/>
50
+ <xs:enumeration value = "activityProgressKnown"/>
51
+ <xs:enumeration value = "attempted"/>
52
+ <xs:enumeration value = "attemptLimitExceeded"/>
53
+ <xs:enumeration value = "timeLimitExceeded"/>
54
+ <xs:enumeration value = "outsideAvailableTimeRange"/>
55
+ </xs:restriction>
56
+ </xs:simpleType>
57
+ <xs:simpleType name = "rollupActionType">
58
+ <xs:restriction base = "xs:token">
59
+ <xs:enumeration value = "satisfied"/>
60
+ <xs:enumeration value = "notSatisfied"/>
61
+ <xs:enumeration value = "completed"/>
62
+ <xs:enumeration value = "incomplete"/>
63
+ </xs:restriction>
64
+ </xs:simpleType>
65
+ <xs:simpleType name = "sequencingRuleConditionType">
66
+ <xs:restriction base = "xs:token">
67
+ <xs:enumeration value = "satisfied"/>
68
+ <xs:enumeration value = "objectiveStatusKnown"/>
69
+ <xs:enumeration value = "objectiveMeasureKnown"/>
70
+ <xs:enumeration value = "objectiveMeasureGreaterThan"/>
71
+ <xs:enumeration value = "objectiveMeasureLessThan"/>
72
+ <xs:enumeration value = "completed"/>
73
+ <xs:enumeration value = "activityProgressKnown"/>
74
+ <xs:enumeration value = "attempted"/>
75
+ <xs:enumeration value = "attemptLimitExceeded"/>
76
+ <xs:enumeration value = "timeLimitExceeded"/>
77
+ <xs:enumeration value = "outsideAvailableTimeRange"/>
78
+ <xs:enumeration value = "always"/>
79
+ </xs:restriction>
80
+ </xs:simpleType>
81
+ <xs:simpleType name = "weightType">
82
+ <xs:restriction base = "xs:decimal">
83
+ <xs:maxInclusive value = "1"/>
84
+ <xs:minInclusive value = "0"/>
85
+ </xs:restriction>
86
+ </xs:simpleType>
87
+ <xs:simpleType name = "randomTimingType">
88
+ <xs:restriction base = "xs:token">
89
+ <xs:enumeration value = "never"/>
90
+ <xs:enumeration value = "once"/>
91
+ <xs:enumeration value = "onEachNewAttempt"/>
92
+ </xs:restriction>
93
+ </xs:simpleType>
94
+ </xs:schema>
@@ -0,0 +1,17 @@
1
+ Creative Commons Attribution-ShareAlike 1.0 Generic (CC BY-SA 1.0)
2
+
3
+ This file is provided to satisfy the "see the file license.txt" reference
4
+ embedded in the IEEE LOM/SCORM schema files in this directory.
5
+
6
+ License deed:
7
+ https://creativecommons.org/licenses/by-sa/1.0/
8
+
9
+ Full legal code:
10
+ https://creativecommons.org/licenses/by-sa/1.0/legalcode
11
+
12
+ Summary of key terms:
13
+ - Attribution required.
14
+ - ShareAlike required for adaptations.
15
+ - No additional restrictions beyond the license terms.
16
+
17
+ For authoritative terms, refer to the legal code URL above.
@@ -0,0 +1,102 @@
1
+ <xs:schema targetNamespace="http://ltsc.ieee.org/xsd/LOM"
2
+ xmlns="http://ltsc.ieee.org/xsd/LOM"
3
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
4
+ elementFormDefault="qualified"
5
+ version="IEEE LTSC LOM XML 1.0">
6
+
7
+ <xs:annotation>
8
+ <xs:documentation>
9
+ This work is licensed under the Creative Commons Attribution-ShareAlike
10
+ License. To view a copy of this license, see the file license.txt,
11
+ visit http://creativecommons.org/licenses/by-sa/1.0 or send a letter to
12
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
13
+ </xs:documentation>
14
+ <xs:documentation>
15
+ This file represents a composite schema for validating
16
+ LOM V1.0 instances. This file is built by default to represent a
17
+ composite schema for validation of the following:
18
+
19
+ 1) The use of LOM Base Schema vocabulary source/value pairs only
20
+ 2) Uniqueness constraints defined by 1484.12.1-2002
21
+ 3) No existenace of any defined extensions
22
+
23
+ Alternative composite schemas can be assembled by selecting
24
+ from the various alternative component schema listed below.
25
+ </xs:documentation>
26
+ <xs:documentation>
27
+ *****************************************************************************
28
+ ** CHANGE HISTORY **
29
+ *****************************************************************************
30
+ ** 11/14/2003: 1)Updated comment describing vocab/strict.xsd. Indicated **
31
+ ** that the strict.xsd is used to validate vocabularies **
32
+ ** defined in the LOM V1.0 Base Schema. **
33
+ ** 2)Moved included schema elementNames.xsd just before **
34
+ ** elementTypes.xsd. **
35
+ ** 3)Moved the element declaration for the top-level lom **
36
+ ** metadata element to a separate file (rootElement.xsd) **
37
+ ** and included this file just after elementTypes.xsd. **
38
+ ** 4)Moved the XML Schema import statements before the XML **
39
+ ** Schema include statements. **
40
+ ** 5)Moved the element group declaration named **
41
+ ** lom:customElements to a separate file (anyElement.xsd) **
42
+ ** and included this new file just before the XML Schema **
43
+ ** import statments. **
44
+ ** **
45
+ ** 03/15/2004: 1)Switched which vocabulary vaidation approach is the **
46
+ ** default to be used by this template from vocab/loose.xsd **
47
+ ** to vocab/strict.xsd. Base on ballot resolution comment **
48
+ ** addressed on 03/15/2004 **
49
+ ** 2)Switched the extension validation approach to use **
50
+ ** extend/strict.xsd. The XSD now is reprsentative of **
51
+ ** a schema that can be used to validate strictly **
52
+ ** conforming LOM XML Instances. **
53
+ *****************************************************************************
54
+ </xs:documentation>
55
+ </xs:annotation>
56
+
57
+ <!-- Learning Object Metadata -->
58
+
59
+ <xs:include schemaLocation="common/anyElement.xsd"/>
60
+
61
+ <!-- Element uniqueness: use one of the following -->
62
+ <!-- Use unique/loose.xsd to relax element uniqueness constraints -->
63
+ <!-- Use unique/strict.xsd to enforce element uniqueness constraints -->
64
+
65
+ <!-- <xs:import namespace="http://ltsc.ieee.org/xsd/LOM/unique"
66
+ schemaLocation="unique/loose.xsd"/> -->
67
+
68
+ <xs:import namespace="http://ltsc.ieee.org/xsd/LOM/unique"
69
+ schemaLocation="unique/strict.xsd"/>
70
+
71
+ <!-- Vocabulary checking: use one of the following -->
72
+ <!-- Use vocab/loose.xsd to relax vocabulary enumeration constraints -->
73
+ <!-- Use vocab/strict.xsd to enforce the LOM V1.0 Base Schema vocabulary values -->
74
+ <!-- Use vocab/custom.xsd to enforce custom vocabulary values -->
75
+
76
+ <!--<xs:import namespace="http://ltsc.ieee.org/xsd/LOM/vocab"
77
+ schemaLocation="vocab/loose.xsd"/> -->
78
+
79
+ <xs:import namespace="http://ltsc.ieee.org/xsd/LOM/vocab"
80
+ schemaLocation="vocab/strict.xsd"/>
81
+
82
+ <!-- <xs:import namespace="http://ltsc.ieee.org/xsd/LOM/vocab"
83
+ schemaLocation="vocab/custom.xsd"/> -->
84
+
85
+ <!-- Custom elements: use one of the following -->
86
+ <!-- Use extend/strict.xsd to enforce strictly conforming elements -->
87
+ <!-- Use extend/custom.xsd to allow custom metadata elements -->
88
+
89
+ <xs:import namespace="http://ltsc.ieee.org/xsd/LOM/extend"
90
+ schemaLocation="extend/strict.xsd"/>
91
+
92
+ <!--<xs:import namespace="http://ltsc.ieee.org/xsd/LOM/extend"
93
+ schemaLocation="extend/custom.xsd"/> -->
94
+
95
+ <xs:include schemaLocation="common/dataTypes.xsd"/>
96
+ <xs:include schemaLocation="common/elementNames.xsd"/>
97
+ <xs:include schemaLocation="common/elementTypes.xsd"/>
98
+ <xs:include schemaLocation="common/rootElement.xsd"/>
99
+ <xs:include schemaLocation="common/vocabValues.xsd"/>
100
+ <xs:include schemaLocation="common/vocabTypes.xsd"/>
101
+
102
+ </xs:schema>
@@ -0,0 +1,62 @@
1
+ <xs:schema targetNamespace="http://ltsc.ieee.org/xsd/LOM"
2
+ xmlns="http://ltsc.ieee.org/xsd/LOM"
3
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
4
+ elementFormDefault="qualified"
5
+ version="IEEE LTSC LOM XML 1.0">
6
+
7
+ <xs:annotation>
8
+ <xs:documentation>
9
+ This work is licensed under the Creative Commons Attribution-ShareAlike
10
+ License. To view a copy of this license, see the file license.txt,
11
+ visit http://creativecommons.org/licenses/by-sa/1.0 or send a letter to
12
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
13
+ </xs:documentation>
14
+ <xs:documentation>
15
+ This file represents a composite schema for validation of the following:
16
+ 1) The use of custom vocabulary source/value pairs and LOM Base Schema vocabulary source/value pairs
17
+ 2) Uniqueness constraints defined by 1484.12.1-2002
18
+ 3) The use of custom extensions to the LOM Base Schema
19
+ </xs:documentation>
20
+ <xs:documentation>
21
+ ****************************************************************************
22
+ ** CHANGE HISTORY **
23
+ ****************************************************************************
24
+ ** 11/14/2003: 1)Updated comment describing vocab/strict.xsd. Indicated **
25
+ ** that the strict.xsd is used to validate vocabularies **
26
+ ** defined in the LOM V1.0 Base Schema. **
27
+ ** 2)Moved included schema elementNames.xsd just before **
28
+ ** elementTypes.xsd. **
29
+ ** 3)Moved the element declaration for the top-level lom **
30
+ ** metadata element to a separate file (rootElement.xsd) **
31
+ ** and included this file just after elementTypes.xsd. **
32
+ ** 4)Moved the XML Schema import statements before the XML **
33
+ ** Schema include statements. **
34
+ ** 5)Moved the element group declaration named **
35
+ ** lom:customElements to a separate file (anyElement.xsd) **
36
+ ** and included this new file just before the XML Schema **
37
+ ** import statments. **
38
+ ****************************************************************************
39
+ </xs:documentation>
40
+ </xs:annotation>
41
+
42
+ <!-- Learning Object Metadata -->
43
+
44
+ <xs:include schemaLocation="common/anyElement.xsd"/>
45
+
46
+ <xs:import namespace="http://ltsc.ieee.org/xsd/LOM/unique"
47
+ schemaLocation="unique/strict.xsd"/>
48
+
49
+ <xs:import namespace="http://ltsc.ieee.org/xsd/LOM/vocab"
50
+ schemaLocation="vocab/custom.xsd"/>
51
+
52
+ <xs:import namespace="http://ltsc.ieee.org/xsd/LOM/extend"
53
+ schemaLocation="extend/custom.xsd"/>
54
+
55
+ <xs:include schemaLocation="common/dataTypes.xsd"/>
56
+ <xs:include schemaLocation="common/elementNames.xsd"/>
57
+ <xs:include schemaLocation="common/elementTypes.xsd"/>
58
+ <xs:include schemaLocation="common/rootElement.xsd"/>
59
+ <xs:include schemaLocation="common/vocabValues.xsd"/>
60
+ <xs:include schemaLocation="common/vocabTypes.xsd"/>
61
+
62
+ </xs:schema>