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,402 @@
1
+ <!-- DTD for XML Schemas: Part 1: Structures
2
+ Public Identifier: "-//W3C//DTD XMLSCHEMA 200102//EN"
3
+ Official Location: http://www.w3.org/2001/XMLSchema.dtd -->
4
+ <!-- $Id: XMLSchema.dtd,v 1.1 2004/07/21 18:10:14 BarrettM Exp $ -->
5
+ <!-- Note this DTD is NOT normative, or even definitive. --> <!--d-->
6
+ <!-- prose copy in the structures REC is the definitive version --> <!--d-->
7
+ <!-- (which shouldn't differ from this one except for this --> <!--d-->
8
+ <!-- comment and entity expansions, but just in case) --> <!--d-->
9
+ <!-- With the exception of cases with multiple namespace
10
+ prefixes for the XML Schema namespace, any XML document which is
11
+ not valid per this DTD given redefinitions in its internal subset of the
12
+ 'p' and 's' parameter entities below appropriate to its namespace
13
+ declaration of the XML Schema namespace is almost certainly not
14
+ a valid schema. -->
15
+
16
+ <!-- The simpleType element and its constituent parts
17
+ are defined in XML Schema: Part 2: Datatypes -->
18
+ <!ENTITY % xs-datatypes PUBLIC 'datatypes' 'datatypes.dtd' >
19
+
20
+ <!ENTITY % p 'xs:'> <!-- can be overriden in the internal subset of a
21
+ schema document to establish a different
22
+ namespace prefix -->
23
+ <!ENTITY % s ':xs'> <!-- if %p is defined (e.g. as foo:) then you must
24
+ also define %s as the suffix for the appropriate
25
+ namespace declaration (e.g. :foo) -->
26
+ <!ENTITY % nds 'xmlns%s;'>
27
+
28
+ <!-- Define all the element names, with optional prefix -->
29
+ <!ENTITY % schema "%p;schema">
30
+ <!ENTITY % complexType "%p;complexType">
31
+ <!ENTITY % complexContent "%p;complexContent">
32
+ <!ENTITY % simpleContent "%p;simpleContent">
33
+ <!ENTITY % extension "%p;extension">
34
+ <!ENTITY % element "%p;element">
35
+ <!ENTITY % unique "%p;unique">
36
+ <!ENTITY % key "%p;key">
37
+ <!ENTITY % keyref "%p;keyref">
38
+ <!ENTITY % selector "%p;selector">
39
+ <!ENTITY % field "%p;field">
40
+ <!ENTITY % group "%p;group">
41
+ <!ENTITY % all "%p;all">
42
+ <!ENTITY % choice "%p;choice">
43
+ <!ENTITY % sequence "%p;sequence">
44
+ <!ENTITY % any "%p;any">
45
+ <!ENTITY % anyAttribute "%p;anyAttribute">
46
+ <!ENTITY % attribute "%p;attribute">
47
+ <!ENTITY % attributeGroup "%p;attributeGroup">
48
+ <!ENTITY % include "%p;include">
49
+ <!ENTITY % import "%p;import">
50
+ <!ENTITY % redefine "%p;redefine">
51
+ <!ENTITY % notation "%p;notation">
52
+
53
+ <!-- annotation elements -->
54
+ <!ENTITY % annotation "%p;annotation">
55
+ <!ENTITY % appinfo "%p;appinfo">
56
+ <!ENTITY % documentation "%p;documentation">
57
+
58
+ <!-- Customisation entities for the ATTLIST of each element type.
59
+ Define one of these if your schema takes advantage of the
60
+ anyAttribute='##other' in the schema for schemas -->
61
+
62
+ <!ENTITY % schemaAttrs ''>
63
+ <!ENTITY % complexTypeAttrs ''>
64
+ <!ENTITY % complexContentAttrs ''>
65
+ <!ENTITY % simpleContentAttrs ''>
66
+ <!ENTITY % extensionAttrs ''>
67
+ <!ENTITY % elementAttrs ''>
68
+ <!ENTITY % groupAttrs ''>
69
+ <!ENTITY % allAttrs ''>
70
+ <!ENTITY % choiceAttrs ''>
71
+ <!ENTITY % sequenceAttrs ''>
72
+ <!ENTITY % anyAttrs ''>
73
+ <!ENTITY % anyAttributeAttrs ''>
74
+ <!ENTITY % attributeAttrs ''>
75
+ <!ENTITY % attributeGroupAttrs ''>
76
+ <!ENTITY % uniqueAttrs ''>
77
+ <!ENTITY % keyAttrs ''>
78
+ <!ENTITY % keyrefAttrs ''>
79
+ <!ENTITY % selectorAttrs ''>
80
+ <!ENTITY % fieldAttrs ''>
81
+ <!ENTITY % includeAttrs ''>
82
+ <!ENTITY % importAttrs ''>
83
+ <!ENTITY % redefineAttrs ''>
84
+ <!ENTITY % notationAttrs ''>
85
+ <!ENTITY % annotationAttrs ''>
86
+ <!ENTITY % appinfoAttrs ''>
87
+ <!ENTITY % documentationAttrs ''>
88
+
89
+ <!ENTITY % complexDerivationSet "CDATA">
90
+ <!-- #all or space-separated list drawn from derivationChoice -->
91
+ <!ENTITY % blockSet "CDATA">
92
+ <!-- #all or space-separated list drawn from
93
+ derivationChoice + 'substitution' -->
94
+
95
+ <!ENTITY % mgs '%all; | %choice; | %sequence;'>
96
+ <!ENTITY % cs '%choice; | %sequence;'>
97
+ <!ENTITY % formValues '(qualified|unqualified)'>
98
+
99
+
100
+ <!ENTITY % attrDecls '((%attribute;| %attributeGroup;)*,(%anyAttribute;)?)'>
101
+
102
+ <!ENTITY % particleAndAttrs '((%mgs; | %group;)?, %attrDecls;)'>
103
+
104
+ <!-- This is used in part2 -->
105
+ <!ENTITY % restriction1 '((%mgs; | %group;)?)'>
106
+
107
+ %xs-datatypes;
108
+
109
+ <!-- the duplication below is to produce an unambiguous content model
110
+ which allows annotation everywhere -->
111
+ <!ELEMENT %schema; ((%include; | %import; | %redefine; | %annotation;)*,
112
+ ((%simpleType; | %complexType;
113
+ | %element; | %attribute;
114
+ | %attributeGroup; | %group;
115
+ | %notation; ),
116
+ (%annotation;)*)* )>
117
+ <!ATTLIST %schema;
118
+ targetNamespace %URIref; #IMPLIED
119
+ version CDATA #IMPLIED
120
+ %nds; %URIref; #FIXED 'http://www.w3.org/2001/XMLSchema'
121
+ xmlns CDATA #IMPLIED
122
+ finalDefault %complexDerivationSet; ''
123
+ blockDefault %blockSet; ''
124
+ id ID #IMPLIED
125
+ elementFormDefault %formValues; 'unqualified'
126
+ attributeFormDefault %formValues; 'unqualified'
127
+ xml:lang CDATA #IMPLIED
128
+ %schemaAttrs;>
129
+ <!-- Note the xmlns declaration is NOT in the Schema for Schemas,
130
+ because at the Infoset level where schemas operate,
131
+ xmlns(:prefix) is NOT an attribute! -->
132
+ <!-- The declaration of xmlns is a convenience for schema authors -->
133
+
134
+ <!-- The id attribute here and below is for use in external references
135
+ from non-schemas using simple fragment identifiers.
136
+ It is NOT used for schema-to-schema reference, internal or
137
+ external. -->
138
+
139
+ <!-- a type is a named content type specification which allows attribute
140
+ declarations-->
141
+ <!-- -->
142
+
143
+ <!ELEMENT %complexType; ((%annotation;)?,
144
+ (%simpleContent;|%complexContent;|
145
+ %particleAndAttrs;))>
146
+
147
+ <!ATTLIST %complexType;
148
+ name %NCName; #IMPLIED
149
+ id ID #IMPLIED
150
+ abstract %boolean; #IMPLIED
151
+ final %complexDerivationSet; #IMPLIED
152
+ block %complexDerivationSet; #IMPLIED
153
+ mixed (true|false) 'false'
154
+ %complexTypeAttrs;>
155
+
156
+ <!-- particleAndAttrs is shorthand for a root type -->
157
+ <!-- mixed is disallowed if simpleContent, overriden if complexContent
158
+ has one too. -->
159
+
160
+ <!-- If anyAttribute appears in one or more referenced attributeGroups
161
+ and/or explicitly, the intersection of the permissions is used -->
162
+
163
+ <!ELEMENT %complexContent; (%restriction;|%extension;)>
164
+ <!ATTLIST %complexContent;
165
+ mixed (true|false) #IMPLIED
166
+ id ID #IMPLIED
167
+ %complexContentAttrs;>
168
+
169
+ <!-- restriction should use the branch defined above, not the simple
170
+ one from part2; extension should use the full model -->
171
+
172
+ <!ELEMENT %simpleContent; (%restriction;|%extension;)>
173
+ <!ATTLIST %simpleContent;
174
+ id ID #IMPLIED
175
+ %simpleContentAttrs;>
176
+
177
+ <!-- restriction should use the simple branch from part2, not the
178
+ one defined above; extension should have no particle -->
179
+
180
+ <!ELEMENT %extension; (%particleAndAttrs;)>
181
+ <!ATTLIST %extension;
182
+ base %QName; #REQUIRED
183
+ id ID #IMPLIED
184
+ %extensionAttrs;>
185
+
186
+ <!-- an element is declared by either:
187
+ a name and a type (either nested or referenced via the type attribute)
188
+ or a ref to an existing element declaration -->
189
+
190
+ <!ELEMENT %element; ((%annotation;)?, (%complexType;| %simpleType;)?,
191
+ (%unique; | %key; | %keyref;)*)>
192
+ <!-- simpleType or complexType only if no type|ref attribute -->
193
+ <!-- ref not allowed at top level -->
194
+ <!ATTLIST %element;
195
+ name %NCName; #IMPLIED
196
+ id ID #IMPLIED
197
+ ref %QName; #IMPLIED
198
+ type %QName; #IMPLIED
199
+ minOccurs %nonNegativeInteger; #IMPLIED
200
+ maxOccurs CDATA #IMPLIED
201
+ nillable %boolean; #IMPLIED
202
+ substitutionGroup %QName; #IMPLIED
203
+ abstract %boolean; #IMPLIED
204
+ final %complexDerivationSet; #IMPLIED
205
+ block %blockSet; #IMPLIED
206
+ default CDATA #IMPLIED
207
+ fixed CDATA #IMPLIED
208
+ form %formValues; #IMPLIED
209
+ %elementAttrs;>
210
+ <!-- type and ref are mutually exclusive.
211
+ name and ref are mutually exclusive, one is required -->
212
+ <!-- In the absence of type AND ref, type defaults to type of
213
+ substitutionGroup, if any, else the ur-type, i.e. unconstrained -->
214
+ <!-- default and fixed are mutually exclusive -->
215
+
216
+ <!ELEMENT %group; ((%annotation;)?,(%mgs;)?)>
217
+ <!ATTLIST %group;
218
+ name %NCName; #IMPLIED
219
+ ref %QName; #IMPLIED
220
+ minOccurs %nonNegativeInteger; #IMPLIED
221
+ maxOccurs CDATA #IMPLIED
222
+ id ID #IMPLIED
223
+ %groupAttrs;>
224
+
225
+ <!ELEMENT %all; ((%annotation;)?, (%element;)*)>
226
+ <!ATTLIST %all;
227
+ minOccurs (1) #IMPLIED
228
+ maxOccurs (1) #IMPLIED
229
+ id ID #IMPLIED
230
+ %allAttrs;>
231
+
232
+ <!ELEMENT %choice; ((%annotation;)?, (%element;| %group;| %cs; | %any;)*)>
233
+ <!ATTLIST %choice;
234
+ minOccurs %nonNegativeInteger; #IMPLIED
235
+ maxOccurs CDATA #IMPLIED
236
+ id ID #IMPLIED
237
+ %choiceAttrs;>
238
+
239
+ <!ELEMENT %sequence; ((%annotation;)?, (%element;| %group;| %cs; | %any;)*)>
240
+ <!ATTLIST %sequence;
241
+ minOccurs %nonNegativeInteger; #IMPLIED
242
+ maxOccurs CDATA #IMPLIED
243
+ id ID #IMPLIED
244
+ %sequenceAttrs;>
245
+
246
+ <!-- an anonymous grouping in a model, or
247
+ a top-level named group definition, or a reference to same -->
248
+
249
+ <!-- Note that if order is 'all', group is not allowed inside.
250
+ If order is 'all' THIS group must be alone (or referenced alone) at
251
+ the top level of a content model -->
252
+ <!-- If order is 'all', minOccurs==maxOccurs==1 on element/any inside -->
253
+ <!-- Should allow minOccurs=0 inside order='all' . . . -->
254
+
255
+ <!ELEMENT %any; (%annotation;)?>
256
+ <!ATTLIST %any;
257
+ namespace CDATA '##any'
258
+ processContents (skip|lax|strict) 'strict'
259
+ minOccurs %nonNegativeInteger; '1'
260
+ maxOccurs CDATA '1'
261
+ id ID #IMPLIED
262
+ %anyAttrs;>
263
+
264
+ <!-- namespace is interpreted as follows:
265
+ ##any - - any non-conflicting WFXML at all
266
+
267
+ ##other - - any non-conflicting WFXML from namespace other
268
+ than targetNamespace
269
+
270
+ ##local - - any unqualified non-conflicting WFXML/attribute
271
+ one or - - any non-conflicting WFXML from
272
+ more URI the listed namespaces
273
+ references
274
+
275
+ ##targetNamespace ##local may appear in the above list,
276
+ with the obvious meaning -->
277
+
278
+ <!ELEMENT %anyAttribute; (%annotation;)?>
279
+ <!ATTLIST %anyAttribute;
280
+ namespace CDATA '##any'
281
+ processContents (skip|lax|strict) 'strict'
282
+ id ID #IMPLIED
283
+ %anyAttributeAttrs;>
284
+ <!-- namespace is interpreted as for 'any' above -->
285
+
286
+ <!-- simpleType only if no type|ref attribute -->
287
+ <!-- ref not allowed at top level, name iff at top level -->
288
+ <!ELEMENT %attribute; ((%annotation;)?, (%simpleType;)?)>
289
+ <!ATTLIST %attribute;
290
+ name %NCName; #IMPLIED
291
+ id ID #IMPLIED
292
+ ref %QName; #IMPLIED
293
+ type %QName; #IMPLIED
294
+ use (prohibited|optional|required) #IMPLIED
295
+ default CDATA #IMPLIED
296
+ fixed CDATA #IMPLIED
297
+ form %formValues; #IMPLIED
298
+ %attributeAttrs;>
299
+ <!-- type and ref are mutually exclusive.
300
+ name and ref are mutually exclusive, one is required -->
301
+ <!-- default for use is optional when nested, none otherwise -->
302
+ <!-- default and fixed are mutually exclusive -->
303
+ <!-- type attr and simpleType content are mutually exclusive -->
304
+
305
+ <!-- an attributeGroup is a named collection of attribute decls, or a
306
+ reference thereto -->
307
+ <!ELEMENT %attributeGroup; ((%annotation;)?,
308
+ (%attribute; | %attributeGroup;)*,
309
+ (%anyAttribute;)?) >
310
+ <!ATTLIST %attributeGroup;
311
+ name %NCName; #IMPLIED
312
+ id ID #IMPLIED
313
+ ref %QName; #IMPLIED
314
+ %attributeGroupAttrs;>
315
+
316
+ <!-- ref iff no content, no name. ref iff not top level -->
317
+
318
+ <!-- better reference mechanisms -->
319
+ <!ELEMENT %unique; ((%annotation;)?, %selector;, (%field;)+)>
320
+ <!ATTLIST %unique;
321
+ name %NCName; #REQUIRED
322
+ id ID #IMPLIED
323
+ %uniqueAttrs;>
324
+
325
+ <!ELEMENT %key; ((%annotation;)?, %selector;, (%field;)+)>
326
+ <!ATTLIST %key;
327
+ name %NCName; #REQUIRED
328
+ id ID #IMPLIED
329
+ %keyAttrs;>
330
+
331
+ <!ELEMENT %keyref; ((%annotation;)?, %selector;, (%field;)+)>
332
+ <!ATTLIST %keyref;
333
+ name %NCName; #REQUIRED
334
+ refer %QName; #REQUIRED
335
+ id ID #IMPLIED
336
+ %keyrefAttrs;>
337
+
338
+ <!ELEMENT %selector; ((%annotation;)?)>
339
+ <!ATTLIST %selector;
340
+ xpath %XPathExpr; #REQUIRED
341
+ id ID #IMPLIED
342
+ %selectorAttrs;>
343
+ <!ELEMENT %field; ((%annotation;)?)>
344
+ <!ATTLIST %field;
345
+ xpath %XPathExpr; #REQUIRED
346
+ id ID #IMPLIED
347
+ %fieldAttrs;>
348
+
349
+ <!-- Schema combination mechanisms -->
350
+ <!ELEMENT %include; (%annotation;)?>
351
+ <!ATTLIST %include;
352
+ schemaLocation %URIref; #REQUIRED
353
+ id ID #IMPLIED
354
+ %includeAttrs;>
355
+
356
+ <!ELEMENT %import; (%annotation;)?>
357
+ <!ATTLIST %import;
358
+ namespace %URIref; #IMPLIED
359
+ schemaLocation %URIref; #IMPLIED
360
+ id ID #IMPLIED
361
+ %importAttrs;>
362
+
363
+ <!ELEMENT %redefine; (%annotation; | %simpleType; | %complexType; |
364
+ %attributeGroup; | %group;)*>
365
+ <!ATTLIST %redefine;
366
+ schemaLocation %URIref; #REQUIRED
367
+ id ID #IMPLIED
368
+ %redefineAttrs;>
369
+
370
+ <!ELEMENT %notation; (%annotation;)?>
371
+ <!ATTLIST %notation;
372
+ name %NCName; #REQUIRED
373
+ id ID #IMPLIED
374
+ public CDATA #REQUIRED
375
+ system %URIref; #IMPLIED
376
+ %notationAttrs;>
377
+
378
+ <!-- Annotation is either application information or documentation -->
379
+ <!-- By having these here they are available for datatypes as well
380
+ as all the structures elements -->
381
+
382
+ <!ELEMENT %annotation; (%appinfo; | %documentation;)*>
383
+ <!ATTLIST %annotation; %annotationAttrs;>
384
+
385
+ <!-- User must define annotation elements in internal subset for this
386
+ to work -->
387
+ <!ELEMENT %appinfo; ANY> <!-- too restrictive -->
388
+ <!ATTLIST %appinfo;
389
+ source %URIref; #IMPLIED
390
+ id ID #IMPLIED
391
+ %appinfoAttrs;>
392
+ <!ELEMENT %documentation; ANY> <!-- too restrictive -->
393
+ <!ATTLIST %documentation;
394
+ source %URIref; #IMPLIED
395
+ id ID #IMPLIED
396
+ xml:lang CDATA #IMPLIED
397
+ %documentationAttrs;>
398
+
399
+ <!NOTATION XMLSchemaStructures PUBLIC
400
+ 'structures' 'http://www.w3.org/2001/XMLSchema.xsd' >
401
+ <!NOTATION XML PUBLIC
402
+ 'REC-xml-1998-0210' 'http://www.w3.org/TR/1998/REC-xml-19980210' >
@@ -0,0 +1,111 @@
1
+ <?xml version = "1.0"?>
2
+ <xs:schema targetNamespace = "http://www.adlnet.org/xsd/adlcp_v1p3"
3
+ xmlns:xs = "http://www.w3.org/2001/XMLSchema"
4
+ xmlns = "http://www.adlnet.org/xsd/adlcp_v1p3"
5
+ elementFormDefault = "qualified"
6
+ version = "2.0">
7
+
8
+ <xs:annotation>
9
+ <xs:documentation>
10
+ This file represents the W3C XML Schema Language Binding of the ADL namespaced elements for content packaging extensions.
11
+ </xs:documentation>
12
+ </xs:annotation>
13
+
14
+ <!-- *********************** -->
15
+ <!-- ** Change History ** -->
16
+ <!-- *********************** -->
17
+ <xs:annotation>
18
+ <xs:documentation>
19
+ *************************************************************************
20
+ * Change History *
21
+ *************************************************************************
22
+ 2003-18-09 Initial creation.
23
+ 2003-19-09 Removed the restriction of the 255 character maximum length
24
+ on the dataFromLMS
25
+ 2004-01-06 Added completionThreshold to the ADL CP namespace
26
+ 2004-23-01 Final edits in preparation for release
27
+ 2006-02-06 Removed persistState, change type of the locationType from
28
+ xs:string to xs:anyURI
29
+ 2008-03-12 Removed the 0.0 to 1.0 restrictions from the
30
+ completionThreshold element
31
+ 2008-03-12 Added completedByMeasure, minProgressMeasure, and
32
+ progressWeight attributes to completionThreshold element
33
+ type
34
+ 2009-30-01 Added the data element, map element and sharedDataGlobalToSystem attribute
35
+ *************************************************************************
36
+ </xs:documentation>
37
+ </xs:annotation>
38
+
39
+ <xs:element name = "location" type = "locationType"/>
40
+ <xs:element name = "dataFromLMS" type = "dataFromLMSType"/>
41
+ <xs:element name = "timeLimitAction" type = "timeLimitActionType"/>
42
+ <xs:element name = "completionThreshold" type = "completionThresholdType" />
43
+ <xs:element name = "data" type = "dataType"/>
44
+ <xs:element name = "map" type = "mapType"/>
45
+
46
+ <!-- ADL Extension to the IMS Content Packaging XSD -->
47
+ <xs:attribute name = "scormType">
48
+ <xs:simpleType>
49
+ <xs:restriction base = "xs:string">
50
+ <xs:enumeration value = "sco"/>
51
+ <xs:enumeration value = "asset"/>
52
+ </xs:restriction>
53
+ </xs:simpleType>
54
+ </xs:attribute>
55
+
56
+ <xs:simpleType name = "locationType">
57
+ <xs:restriction base = "xs:anyURI"/>
58
+ </xs:simpleType>
59
+
60
+ <xs:simpleType name = "dataFromLMSType">
61
+ <xs:restriction base = "xs:string"/>
62
+ </xs:simpleType>
63
+
64
+ <xs:simpleType name = "timeLimitActionType">
65
+ <xs:restriction base = "xs:string">
66
+ <xs:enumeration value = "exit,message"/>
67
+ <xs:enumeration value = "exit,no message"/>
68
+ <xs:enumeration value = "continue,message"/>
69
+ <xs:enumeration value = "continue,no message"/>
70
+ </xs:restriction>
71
+ </xs:simpleType>
72
+
73
+ <xs:complexType name = "completionThresholdType">
74
+ <xs:simpleContent>
75
+ <xs:extension base="xs:string">
76
+ <xs:attribute name = "completedByMeasure" default = "false" type = "xs:boolean" />
77
+ <xs:attribute name = "minProgressMeasure" default = "1.0" type = "minProgressMeasureType" />
78
+ <xs:attribute name = "progressWeight" default = "1.0" type = "progressWeightType" />
79
+ </xs:extension>
80
+ </xs:simpleContent>
81
+ </xs:complexType>
82
+
83
+ <xs:simpleType name = "minProgressMeasureType">
84
+ <xs:restriction base = "xs:decimal">
85
+ <xs:minInclusive value = "0.0"/>
86
+ <xs:maxInclusive value = "1.0"/>
87
+ </xs:restriction>
88
+ </xs:simpleType>
89
+
90
+ <xs:simpleType name = "progressWeightType">
91
+ <xs:restriction base = "xs:decimal">
92
+ <xs:minInclusive value = "0.0"/>
93
+ <xs:maxInclusive value = "1.0"/>
94
+ </xs:restriction>
95
+ </xs:simpleType>
96
+
97
+ <xs:complexType name = "dataType">
98
+ <xs:sequence>
99
+ <xs:element ref = "map" minOccurs = "1" maxOccurs = "unbounded"/>
100
+ </xs:sequence>
101
+ </xs:complexType>
102
+
103
+ <xs:complexType name = "mapType">
104
+ <xs:attribute name = "targetID" use = "required" type = "xs:anyURI"/>
105
+ <xs:attribute name = "readSharedData" default = "true" type = "xs:boolean"/>
106
+ <xs:attribute name = "writeSharedData" default = "false" type = "xs:boolean"/>
107
+ </xs:complexType>
108
+
109
+ <xs:attribute name = "sharedDataGlobalToSystem" default = "true" type = "xs:boolean"/>
110
+
111
+ </xs:schema>
@@ -0,0 +1,61 @@
1
+ <?xml version = "1.0"?>
2
+ <xs:schema targetNamespace = "http://www.adlnet.org/xsd/adlnav_v1p3"
3
+ xmlns:xs = "http://www.w3.org/2001/XMLSchema"
4
+ xmlns = "http://www.adlnet.org/xsd/adlnav_v1p3"
5
+ elementFormDefault = "qualified"
6
+ version = "1.0">
7
+
8
+ <xs:annotation>
9
+ <xs:documentation>
10
+ This file represents the W3C XML Schema Language Binding of the ADL namespaced elements for navigation controls.
11
+ </xs:documentation>
12
+ </xs:annotation>
13
+
14
+ <!-- *********************** -->
15
+ <!-- ** Change History ** -->
16
+ <!-- *********************** -->
17
+ <xs:annotation>
18
+ <xs:documentation>
19
+ *************************************************************************
20
+ * Change History *
21
+ *************************************************************************
22
+ 2003-18-09 Initial creation.
23
+ 2004-23-01 Final edits in preparation for release
24
+ 2005-06-06 Added new hideLMSUI vocabulary token suspendAll, exitAll,
25
+ and abandonAll
26
+ *************************************************************************
27
+ </xs:documentation>
28
+ </xs:annotation>
29
+
30
+ <xs:element name = "presentation" type = "presentationType"/>
31
+
32
+ <xs:element name = "navigationInterface" type = "navigationInterfaceType"/>
33
+
34
+ <xs:element name = "hideLMSUI" type = "hideLMSUIType"/>
35
+
36
+ <!-- Navigation Extension -->
37
+ <xs:complexType name = "presentationType">
38
+ <xs:sequence>
39
+ <xs:element ref = "navigationInterface" minOccurs = "0" maxOccurs = "1"/>
40
+ </xs:sequence>
41
+ </xs:complexType>
42
+
43
+ <xs:complexType name = "navigationInterfaceType">
44
+ <xs:sequence>
45
+ <xs:element ref = "hideLMSUI" minOccurs = "0" maxOccurs = "unbounded"/>
46
+ </xs:sequence>
47
+ </xs:complexType>
48
+
49
+ <xs:simpleType name = "hideLMSUIType">
50
+ <xs:restriction base = "xs:token">
51
+ <xs:enumeration value = "abandon"/>
52
+ <xs:enumeration value = "continue"/>
53
+ <xs:enumeration value = "exit"/>
54
+ <xs:enumeration value = "previous"/>
55
+ <xs:enumeration value = "suspendAll"/>
56
+ <xs:enumeration value = "exitAll"/>
57
+ <xs:enumeration value = "abandonAll"/>
58
+ </xs:restriction>
59
+ </xs:simpleType>
60
+
61
+ </xs:schema>
@@ -0,0 +1,93 @@
1
+ <?xml version = "1.0"?>
2
+ <xs:schema targetNamespace = "http://www.adlnet.org/xsd/adlseq_v1p3"
3
+ xmlns:xs = "http://www.w3.org/2001/XMLSchema"
4
+ xmlns = "http://www.adlnet.org/xsd/adlseq_v1p3"
5
+ elementFormDefault = "qualified"
6
+ version = "2.0">
7
+
8
+ <xs:annotation>
9
+ <xs:documentation>
10
+ This file represents the W3C XML Schema Language Binding of the ADL namespaced elements for sequencing extensions.
11
+ </xs:documentation>
12
+ </xs:annotation>
13
+
14
+ <!-- *********************** -->
15
+ <!-- ** Change History ** -->
16
+ <!-- *********************** -->
17
+ <xs:annotation>
18
+ <xs:documentation>
19
+ *************************************************************************
20
+ * Change History *
21
+ *************************************************************************
22
+ 2003-18-09 Initial creation.
23
+ 2004-23-01 Final edits in preparation for release
24
+ 2008-15-12 Added data, map, objectives, objective and mapInfo elements
25
+ and sharedDataGlobalToSystem attribute.
26
+ 2009-30-01 Removed the data element, map element and
27
+ sharedDataGlobalToSystem attribute.
28
+ *************************************************************************
29
+ </xs:documentation>
30
+ </xs:annotation>
31
+
32
+ <xs:element name = "constrainedChoiceConsiderations" type = "constrainChoiceConsiderationsType"/>
33
+
34
+ <xs:element name = "rollupConsiderations" type = "rollupConsiderationsType"/>
35
+
36
+ <xs:element name = "objectives" type = "objectivesType"/>
37
+
38
+ <xs:element name = "objective" type = "objectiveType"/>
39
+
40
+ <xs:element name = "mapInfo" type = "mapInfoType"/>
41
+
42
+ <xs:complexType name = "rollupConsiderationsType">
43
+ <xs:attribute name = "requiredForSatisfied" default = "always" type = "rollupConsiderationType"/>
44
+ <xs:attribute name = "requiredForNotSatisfied" default = "always" type = "rollupConsiderationType"/>
45
+ <xs:attribute name = "requiredForCompleted" default = "always" type = "rollupConsiderationType"/>
46
+ <xs:attribute name = "requiredForIncomplete" default = "always" type = "rollupConsiderationType"/>
47
+ <xs:attribute name = "measureSatisfactionIfActive" default = "true" type = "xs:boolean"/>
48
+ </xs:complexType>
49
+
50
+ <xs:simpleType name = "rollupConsiderationType">
51
+ <xs:restriction base = "xs:token">
52
+ <xs:enumeration value = "always"/>
53
+ <xs:enumeration value = "ifAttempted"/>
54
+ <xs:enumeration value = "ifNotSkipped"/>
55
+ <xs:enumeration value = "ifNotSuspended"/>
56
+ </xs:restriction>
57
+ </xs:simpleType>
58
+
59
+ <xs:complexType name = "constrainChoiceConsiderationsType">
60
+ <xs:attribute name = "preventActivation" default = "false" type = "xs:boolean"/>
61
+ <xs:attribute name = "constrainChoice" default = "false" type = "xs:boolean"/>
62
+ </xs:complexType>
63
+
64
+ <xs:complexType name="objectivesType">
65
+ <xs:sequence>
66
+ <xs:element ref = "objective" minOccurs = "1" maxOccurs = "unbounded"/>
67
+ </xs:sequence>
68
+ </xs:complexType>
69
+
70
+ <xs:complexType name="objectiveType">
71
+ <xs:sequence>
72
+ <xs:element ref = "mapInfo" minOccurs = "1" maxOccurs = "unbounded"/>
73
+ </xs:sequence>
74
+ <xs:attribute name = "objectiveID" use = "required" type = "xs:anyURI"/>
75
+ </xs:complexType>
76
+
77
+ <xs:complexType name="mapInfoType">
78
+ <xs:attribute name="targetObjectiveID" use="required" type="xs:anyURI" />
79
+ <xs:attribute name="readRawScore" default="true" type="xs:boolean" />
80
+ <xs:attribute name="readMinScore" default="true" type="xs:boolean" />
81
+ <xs:attribute name="readMaxScore" default="true" type="xs:boolean" />
82
+ <xs:attribute name="readCompletionStatus" default="true" type="xs:boolean" />
83
+ <xs:attribute name="readProgressMeasure" default="true" type="xs:boolean" />
84
+ <xs:attribute name="writeRawScore" default="false" type="xs:boolean" />
85
+ <xs:attribute name="writeMinScore" default="false" type="xs:boolean" />
86
+ <xs:attribute name="writeMaxScore" default="false" type="xs:boolean" />
87
+ <xs:attribute name="writeCompletionStatus" default="false" type="xs:boolean" />
88
+ <xs:attribute name="writeProgressMeasure" default="false" type="xs:boolean" />
89
+ </xs:complexType>
90
+
91
+ <xs:attribute name = "objectivesGlobalToSystem" default = "true" type = "xs:boolean" />
92
+
93
+ </xs:schema>