| 1 | <?xml version="1.0" encoding="UTF-8"?>
|
|---|
| 2 | <list>
|
|---|
| 3 | <item type="dictionary">
|
|---|
| 4 | <dictionary>
|
|---|
| 5 | <item key="key"><![CDATA[SCORMexQExternal]]></item>
|
|---|
| 6 | <item key="value" type="dictionary">
|
|---|
| 7 | <dictionary>
|
|---|
| 8 | <item key="__obj_attrs__" type="list">
|
|---|
| 9 | <list>
|
|---|
| 10 | <item type="dictionary">
|
|---|
| 11 | <dictionary>
|
|---|
| 12 | <item key="id"><![CDATA[titlealt]]></item>
|
|---|
| 13 | <item key="mandatory" type="int">1</item>
|
|---|
| 14 | <item key="multilang" type="int">1</item>
|
|---|
| 15 | <item key="name"><![CDATA[Title.Alt]]></item>
|
|---|
| 16 | <item key="repetitive" type="int">0</item>
|
|---|
| 17 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 18 | </dictionary>
|
|---|
| 19 | </item>
|
|---|
| 20 | <item type="dictionary">
|
|---|
| 21 | <dictionary>
|
|---|
| 22 | <item key="id"><![CDATA[title]]></item>
|
|---|
| 23 | <item key="mandatory" type="int">1</item>
|
|---|
| 24 | <item key="multilang" type="int">1</item>
|
|---|
| 25 | <item key="name"><![CDATA[Title]]></item>
|
|---|
| 26 | <item key="repetitive" type="int">0</item>
|
|---|
| 27 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 28 | </dictionary>
|
|---|
| 29 | </item>
|
|---|
| 30 | <item type="dictionary">
|
|---|
| 31 | <dictionary>
|
|---|
| 32 | <item key="custom">
|
|---|
| 33 | <data content_type="image/gif" filename="exam.gif" type="file">47494638396112001000f700000432bc7c828cc4c2c44c4e4c0c46bce4e2e46c8acc3c66bc94aad4c4f2fc94cafc2456bc346ad4bccae44c8afc7ca6f41c56ccd4e2f4acaeacf4f2ecccd6e46c6e6c849acccceafcfcfeecacb6cc547ed4547ac43c6ed4ccdaf4bcc6dc144ac42c5ec4245ecc6c86c4648edc3466cc94aadcb4b2b47c7e7ce4eaf4fcfafc9c9a9cc4cacc5c5a5c144eb4acd6fc1c56c484aeece4e6f4ecf2fc6c727c749ae43472e4ccdefc3c6ecc0c4abca4b2cc2c66e4c4d2e46c9af41456d4dce6f494a6c4ecf2f4d4deec747674fcfaf4a4bae4d4def42c62cc7492dc346acce4eefc949aa4245ac474b2fcfc02fcbcc2cc545254dce2ec5c86dc9caed49ccefc346adcc4cee44c8efc245accdce2f4acaeb4d4daec7472747c9ed4dceafcb4bacc5c7ec44472d4d4daf4c4cadc144ec43462c42c5ecc6c8edc9caedcbcbabceceef4fcfefccccacc646264acdefc2456c494aeec7c9ee43c72e4144abcf4f2f4fcfef43c6acc9c9ea47700002000f80000620000150000002000000000000000140000000c10850000f40e00f4000077a40000c30000d60000770000180000c200001200140000000000850000f40000f400007700f0a100c2f40012f40000770200087f0006000014000000283c08c2f9001212b200000000c601004300001800007e00788701c44300121800007e008d20784ad0c4d11b12777e00a44896c34939d614e577007702ed9e7f3a390018e5007e7760840cc4930012d1b20077000d601c09c339ded6e50c77772a3800048c00926c000000002371f804836200d11500770000ec0800d20000d1b2007700acd0010a04000059000000004000480000c4000012000000904f3cdb00f9140012000000002a3c1404f916921200000000c80900c3480012e70000770700380000300000e6000077a800ff0100ff1400ff0000fff8009e1300391600e5000077002ae20004e700924100000000c8b800c3ed00121400000000d0d90004570059e500007790b81c5ec3394412e5000077345dafc2a179d6d1d177777790002a5e000444009200000006820000000000000000000021f9040100004d002c00000000120010000708fb009b081c58248c968241062a248822859a872962145948f06182365314b8785864c5c2226a2e308101650296070e6ca829b246a18c2e0ea260484144cd90383564c4505291870e11693400e0a266440f1a6ac448105824091506655e401853450d982b375204a9c0b4430806248cbcc8a0860b04232080047922104b911724485c11a106c607232140cc29c2b64991216442900861c0c78d2b245e6c48516500d31425e4183152c74c19b438c4a050c286209d2f04c6fc5073640c010b6ab0b050319042173a165a1c38b3608194d433b62c74822545811c083c4c0012e144053414b3548910010b96085e586c314151a0800a4f06687f72626140003b</data>
|
|---|
| 34 | </item>
|
|---|
| 35 | <item key="id"><![CDATA[icon]]></item>
|
|---|
| 36 | <item key="mandatory" type="int">0</item>
|
|---|
| 37 | <item key="multilang" type="int">0</item>
|
|---|
| 38 | <item key="name"><![CDATA[Icon]]></item>
|
|---|
| 39 | <item key="repetitive" type="int">0</item>
|
|---|
| 40 | <item key="type"><![CDATA[resource]]></item>
|
|---|
| 41 | </dictionary>
|
|---|
| 42 | </item>
|
|---|
| 43 | <item type="dictionary">
|
|---|
| 44 | <dictionary>
|
|---|
| 45 | <item key="id"><![CDATA[attr_dc_description]]></item>
|
|---|
| 46 | <item key="mandatory" type="int">0</item>
|
|---|
| 47 | <item key="multilang" type="int">1</item>
|
|---|
| 48 | <item key="name"><![CDATA[DC.Description]]></item>
|
|---|
| 49 | <item key="repetitive" type="int">0</item>
|
|---|
| 50 | <item key="type"><![CDATA[text]]></item>
|
|---|
| 51 | </dictionary>
|
|---|
| 52 | </item>
|
|---|
| 53 | <item type="dictionary">
|
|---|
| 54 | <dictionary>
|
|---|
| 55 | <item key="id"><![CDATA[SCORM_Interaction_Set]]></item>
|
|---|
| 56 | <item key="mandatory" type="int">0</item>
|
|---|
| 57 | <item key="multilang" type="int">0</item>
|
|---|
| 58 | <item key="name"><![CDATA[SCORM Interaction-Set]]></item>
|
|---|
| 59 | <item key="repetitive" type="int">0</item>
|
|---|
| 60 | <item key="type"><![CDATA[delimiter]]></item>
|
|---|
| 61 | </dictionary>
|
|---|
| 62 | </item>
|
|---|
| 63 | <item type="dictionary">
|
|---|
| 64 | <dictionary>
|
|---|
| 65 | <item key="id"><![CDATA[url]]></item>
|
|---|
| 66 | <item key="mandatory" type="int">1</item>
|
|---|
| 67 | <item key="multilang" type="int">0</item>
|
|---|
| 68 | <item key="name"><![CDATA[URL]]></item>
|
|---|
| 69 | <item key="repetitive" type="int">0</item>
|
|---|
| 70 | <item key="type"><![CDATA[url]]></item>
|
|---|
| 71 | </dictionary>
|
|---|
| 72 | </item>
|
|---|
| 73 | <item type="dictionary">
|
|---|
| 74 | <dictionary>
|
|---|
| 75 | <item key="id"><![CDATA[dSCORMseq]]></item>
|
|---|
| 76 | <item key="mandatory" type="int">0</item>
|
|---|
| 77 | <item key="multilang" type="int">0</item>
|
|---|
| 78 | <item key="name"><![CDATA[Sequencing-Rules]]></item>
|
|---|
| 79 | <item key="repetitive" type="int">0</item>
|
|---|
| 80 | <item key="type"><![CDATA[delimiter]]></item>
|
|---|
| 81 | </dictionary>
|
|---|
| 82 | </item>
|
|---|
| 83 | <item type="dictionary">
|
|---|
| 84 | <dictionary>
|
|---|
| 85 | <item key="id"><![CDATA[SCORMseq]]></item>
|
|---|
| 86 | <item key="mandatory" type="int">0</item>
|
|---|
| 87 | <item key="multilang" type="int">0</item>
|
|---|
| 88 | <item key="name"><![CDATA[SCORM-Preconditions]]></item>
|
|---|
| 89 | <item key="repetitive" type="int">0</item>
|
|---|
| 90 | <item key="type"><![CDATA[SCORMseq]]></item>
|
|---|
| 91 | </dictionary>
|
|---|
| 92 | </item>
|
|---|
| 93 | <item type="dictionary">
|
|---|
| 94 | <dictionary>
|
|---|
| 95 | <item key="custom"><![CDATA[<!-- BO bodyContentZMSCustom_SCORMexQExternal -->
|
|---|
| 96 | <!-- EO bodyContentZMSCustom_SCORMexQExternal -->]]>
|
|---|
| 97 | </item>
|
|---|
| 98 | <item key="id"><![CDATA[bodyContentZMSCustom_SCORMexQExternal]]></item>
|
|---|
| 99 | <item key="mandatory" type="int">0</item>
|
|---|
| 100 | <item key="multilang" type="int">0</item>
|
|---|
| 101 | <item key="name"><![CDATA[Template: Exam (External Link)]]></item>
|
|---|
| 102 | <item key="repetitive" type="int">0</item>
|
|---|
| 103 | <item key="type"><![CDATA[DTML Method]]></item>
|
|---|
| 104 | </dictionary>
|
|---|
| 105 | </item>
|
|---|
| 106 | </list>
|
|---|
| 107 | </item>
|
|---|
| 108 | <item key="enabled" type="int">1</item>
|
|---|
| 109 | <item key="id"><![CDATA[SCORMexQExternal]]></item>
|
|---|
| 110 | <item key="name"><![CDATA[Exam (External Link)]]></item>
|
|---|
| 111 | <item key="package"><![CDATA[com.zms.elc.lcms]]></item>
|
|---|
| 112 | <item key="revision"><![CDATA[0.0.0]]></item>
|
|---|
| 113 | <item key="type"><![CDATA[ZMSDocument]]></item>
|
|---|
| 114 | </dictionary>
|
|---|
| 115 | </item>
|
|---|
| 116 | </dictionary>
|
|---|
| 117 | </item>
|
|---|
| 118 | <item type="dictionary">
|
|---|
| 119 | <dictionary>
|
|---|
| 120 | <item key="key"><![CDATA[SCORMexQFlashMX]]></item>
|
|---|
| 121 | <item key="value" type="dictionary">
|
|---|
| 122 | <dictionary>
|
|---|
| 123 | <item key="__obj_attrs__" type="list">
|
|---|
| 124 | <list>
|
|---|
| 125 | <item type="dictionary">
|
|---|
| 126 | <dictionary>
|
|---|
| 127 | <item key="id"><![CDATA[titlealt]]></item>
|
|---|
| 128 | <item key="mandatory" type="int">1</item>
|
|---|
| 129 | <item key="multilang" type="int">1</item>
|
|---|
| 130 | <item key="name"><![CDATA[Title.Alt]]></item>
|
|---|
| 131 | <item key="repetitive" type="int">0</item>
|
|---|
| 132 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 133 | </dictionary>
|
|---|
| 134 | </item>
|
|---|
| 135 | <item type="dictionary">
|
|---|
| 136 | <dictionary>
|
|---|
| 137 | <item key="id"><![CDATA[title]]></item>
|
|---|
| 138 | <item key="mandatory" type="int">1</item>
|
|---|
| 139 | <item key="multilang" type="int">1</item>
|
|---|
| 140 | <item key="name"><![CDATA[Title]]></item>
|
|---|
| 141 | <item key="repetitive" type="int">0</item>
|
|---|
| 142 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 143 | </dictionary>
|
|---|
| 144 | </item>
|
|---|
| 145 | <item type="dictionary">
|
|---|
| 146 | <dictionary>
|
|---|
| 147 | <item key="custom">
|
|---|
| 148 | <data content_type="image/gif" filename="exam.gif" type="file">47494638396112001000f700000432bc7c828cc4c2c44c4e4c0c46bce4e2e46c8acc3c66bc94aad4c4f2fc94cafc2456bc346ad4bccae44c8afc7ca6f41c56ccd4e2f4acaeacf4f2ecccd6e46c6e6c849acccceafcfcfeecacb6cc547ed4547ac43c6ed4ccdaf4bcc6dc144ac42c5ec4245ecc6c86c4648edc3466cc94aadcb4b2b47c7e7ce4eaf4fcfafc9c9a9cc4cacc5c5a5c144eb4acd6fc1c56c484aeece4e6f4ecf2fc6c727c749ae43472e4ccdefc3c6ecc0c4abca4b2cc2c66e4c4d2e46c9af41456d4dce6f494a6c4ecf2f4d4deec747674fcfaf4a4bae4d4def42c62cc7492dc346acce4eefc949aa4245ac474b2fcfc02fcbcc2cc545254dce2ec5c86dc9caed49ccefc346adcc4cee44c8efc245accdce2f4acaeb4d4daec7472747c9ed4dceafcb4bacc5c7ec44472d4d4daf4c4cadc144ec43462c42c5ecc6c8edc9caedcbcbabceceef4fcfefccccacc646264acdefc2456c494aeec7c9ee43c72e4144abcf4f2f4fcfef43c6acc9c9ea47700002000f80000620000150000002000000000000000140000000c10850000f40e00f4000077a40000c30000d60000770000180000c200001200140000000000850000f40000f400007700f0a100c2f40012f40000770200087f0006000014000000283c08c2f9001212b200000000c601004300001800007e00788701c44300121800007e008d20784ad0c4d11b12777e00a44896c34939d614e577007702ed9e7f3a390018e5007e7760840cc4930012d1b20077000d601c09c339ded6e50c77772a3800048c00926c000000002371f804836200d11500770000ec0800d20000d1b2007700acd0010a04000059000000004000480000c4000012000000904f3cdb00f9140012000000002a3c1404f916921200000000c80900c3480012e70000770700380000300000e6000077a800ff0100ff1400ff0000fff8009e1300391600e5000077002ae20004e700924100000000c8b800c3ed00121400000000d0d90004570059e500007790b81c5ec3394412e5000077345dafc2a179d6d1d177777790002a5e000444009200000006820000000000000000000021f9040100004d002c00000000120010000708fb009b081c58248c968241062a248822859a872962145948f06182365314b8785864c5c2226a2e308101650296070e6ca829b246a18c2e0ea260484144cd90383564c4505291870e11693400e0a266440f1a6ac448105824091506655e401853450d982b375204a9c0b4430806248cbcc8a0860b04232080047922104b911724485c11a106c607232140cc29c2b64991216442900861c0c78d2b245e6c48516500d31425e4183152c74c19b438c4a050c286209d2f04c6fc5073640c010b6ab0b050319042173a165a1c38b3608194d433b62c74822545811c083c4c0012e144053414b3548910010b96085e586c314151a0800a4f06687f72626140003b</data>
|
|---|
| 149 | </item>
|
|---|
| 150 | <item key="id"><![CDATA[icon]]></item>
|
|---|
| 151 | <item key="mandatory" type="int">0</item>
|
|---|
| 152 | <item key="multilang" type="int">0</item>
|
|---|
| 153 | <item key="name"><![CDATA[Icon]]></item>
|
|---|
| 154 | <item key="repetitive" type="int">0</item>
|
|---|
| 155 | <item key="type"><![CDATA[resource]]></item>
|
|---|
| 156 | </dictionary>
|
|---|
| 157 | </item>
|
|---|
| 158 | <item type="dictionary">
|
|---|
| 159 | <dictionary>
|
|---|
| 160 | <item key="id"><![CDATA[attr_dc_description]]></item>
|
|---|
| 161 | <item key="mandatory" type="int">0</item>
|
|---|
| 162 | <item key="multilang" type="int">1</item>
|
|---|
| 163 | <item key="name"><![CDATA[DC.Description]]></item>
|
|---|
| 164 | <item key="repetitive" type="int">0</item>
|
|---|
| 165 | <item key="type"><![CDATA[text]]></item>
|
|---|
| 166 | </dictionary>
|
|---|
| 167 | </item>
|
|---|
| 168 | <item type="dictionary">
|
|---|
| 169 | <dictionary>
|
|---|
| 170 | <item key="id"><![CDATA[SCORM_Interaction_Set]]></item>
|
|---|
| 171 | <item key="mandatory" type="int">0</item>
|
|---|
| 172 | <item key="multilang" type="int">0</item>
|
|---|
| 173 | <item key="name"><![CDATA[SCORM Interaction-Set]]></item>
|
|---|
| 174 | <item key="repetitive" type="int">0</item>
|
|---|
| 175 | <item key="type"><![CDATA[delimiter]]></item>
|
|---|
| 176 | </dictionary>
|
|---|
| 177 | </item>
|
|---|
| 178 | <item type="dictionary">
|
|---|
| 179 | <dictionary>
|
|---|
| 180 | <item key="id"><![CDATA[xqHtmlPage]]></item>
|
|---|
| 181 | <item key="mandatory" type="int">1</item>
|
|---|
| 182 | <item key="multilang" type="int">0</item>
|
|---|
| 183 | <item key="name"><![CDATA[Html]]></item>
|
|---|
| 184 | <item key="repetitive" type="int">0</item>
|
|---|
| 185 | <item key="type"><![CDATA[file]]></item>
|
|---|
| 186 | </dictionary>
|
|---|
| 187 | </item>
|
|---|
| 188 | <item type="dictionary">
|
|---|
| 189 | <dictionary>
|
|---|
| 190 | <item key="id"><![CDATA[xqFlashMX]]></item>
|
|---|
| 191 | <item key="mandatory" type="int">1</item>
|
|---|
| 192 | <item key="multilang" type="int">0</item>
|
|---|
| 193 | <item key="name"><![CDATA[FlashMX]]></item>
|
|---|
| 194 | <item key="repetitive" type="int">0</item>
|
|---|
| 195 | <item key="type"><![CDATA[file]]></item>
|
|---|
| 196 | </dictionary>
|
|---|
| 197 | </item>
|
|---|
| 198 | <item type="dictionary">
|
|---|
| 199 | <dictionary>
|
|---|
| 200 | <item key="id"><![CDATA[dSCORMseq]]></item>
|
|---|
| 201 | <item key="mandatory" type="int">0</item>
|
|---|
| 202 | <item key="multilang" type="int">0</item>
|
|---|
| 203 | <item key="name"><![CDATA[Sequencing-Rules]]></item>
|
|---|
| 204 | <item key="repetitive" type="int">0</item>
|
|---|
| 205 | <item key="type"><![CDATA[delimiter]]></item>
|
|---|
| 206 | </dictionary>
|
|---|
| 207 | </item>
|
|---|
| 208 | <item type="dictionary">
|
|---|
| 209 | <dictionary>
|
|---|
| 210 | <item key="id"><![CDATA[SCORMseq]]></item>
|
|---|
| 211 | <item key="mandatory" type="int">0</item>
|
|---|
| 212 | <item key="multilang" type="int">0</item>
|
|---|
| 213 | <item key="name"><![CDATA[SCORM-Preconditions]]></item>
|
|---|
| 214 | <item key="repetitive" type="int">0</item>
|
|---|
| 215 | <item key="type"><![CDATA[SCORMseq]]></item>
|
|---|
| 216 | </dictionary>
|
|---|
| 217 | </item>
|
|---|
| 218 | <item type="dictionary">
|
|---|
| 219 | <dictionary>
|
|---|
| 220 | <item key="custom"><![CDATA[<!-- BO bodyContentZMSCustom_SCORMexQFlashMX -->
|
|---|
| 221 |
|
|---|
| 222 | <dtml-let actionId="'ACTION%s'%meta_id"
|
|---|
| 223 | templateUrl="'%s/bodyContentZMSCustom_%s'%(absolute_url(),meta_id)">
|
|---|
| 224 |
|
|---|
| 225 | <dtml-call f_standard_html_request>
|
|---|
| 226 |
|
|---|
| 227 | <dtml-if "REQUEST.get(actionId,'')=='start_exam'">
|
|---|
| 228 | <dtml-var "getObjProperty('xqHtmlPage',REQUEST).getData()">
|
|---|
| 229 | <dtml-else>
|
|---|
| 230 | <dtml-call "RESPONSE.redirect(templateUrl+'?'+actionId+'=start_exam')">
|
|---|
| 231 | </dtml-if>
|
|---|
| 232 |
|
|---|
| 233 | </dtml-let>
|
|---|
| 234 |
|
|---|
| 235 | <!-- EO bodyContentZMSCustom_SCORMexQFlashMX -->]]>
|
|---|
| 236 | </item>
|
|---|
| 237 | <item key="id"><![CDATA[bodyContentZMSCustom_SCORMexQFlashMX]]></item>
|
|---|
| 238 | <item key="mandatory" type="int">0</item>
|
|---|
| 239 | <item key="multilang" type="int">0</item>
|
|---|
| 240 | <item key="name"><![CDATA[Template: Exam (FlashMX Upload)]]></item>
|
|---|
| 241 | <item key="repetitive" type="int">0</item>
|
|---|
| 242 | <item key="type"><![CDATA[DTML Method]]></item>
|
|---|
| 243 | </dictionary>
|
|---|
| 244 | </item>
|
|---|
| 245 | </list>
|
|---|
| 246 | </item>
|
|---|
| 247 | <item key="enabled" type="int">1</item>
|
|---|
| 248 | <item key="id"><![CDATA[SCORMexQFlashMX]]></item>
|
|---|
| 249 | <item key="name"><![CDATA[Exam (FlashMX Upload)]]></item>
|
|---|
| 250 | <item key="package"><![CDATA[com.zms.elc.lcms]]></item>
|
|---|
| 251 | <item key="revision"><![CDATA[0.0.0]]></item>
|
|---|
| 252 | <item key="type"><![CDATA[ZMSDocument]]></item>
|
|---|
| 253 | </dictionary>
|
|---|
| 254 | </item>
|
|---|
| 255 | </dictionary>
|
|---|
| 256 | </item>
|
|---|
| 257 | <item type="dictionary">
|
|---|
| 258 | <dictionary>
|
|---|
| 259 | <item key="key"><![CDATA[SCORMexQZMS]]></item>
|
|---|
| 260 | <item key="value" type="dictionary">
|
|---|
| 261 | <dictionary>
|
|---|
| 262 | <item key="__obj_attrs__" type="list">
|
|---|
| 263 | <list>
|
|---|
| 264 | <item type="dictionary">
|
|---|
| 265 | <dictionary>
|
|---|
| 266 | <item key="id"><![CDATA[titlealt]]></item>
|
|---|
| 267 | <item key="mandatory" type="int">1</item>
|
|---|
| 268 | <item key="multilang" type="int">1</item>
|
|---|
| 269 | <item key="name"><![CDATA[Title.Alt]]></item>
|
|---|
| 270 | <item key="repetitive" type="int">0</item>
|
|---|
| 271 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 272 | </dictionary>
|
|---|
| 273 | </item>
|
|---|
| 274 | <item type="dictionary">
|
|---|
| 275 | <dictionary>
|
|---|
| 276 | <item key="id"><![CDATA[title]]></item>
|
|---|
| 277 | <item key="mandatory" type="int">1</item>
|
|---|
| 278 | <item key="multilang" type="int">1</item>
|
|---|
| 279 | <item key="name"><![CDATA[Title]]></item>
|
|---|
| 280 | <item key="repetitive" type="int">0</item>
|
|---|
| 281 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 282 | </dictionary>
|
|---|
| 283 | </item>
|
|---|
| 284 | <item type="dictionary">
|
|---|
| 285 | <dictionary>
|
|---|
| 286 | <item key="custom">
|
|---|
| 287 | <data content_type="image/gif" filename="exam.gif" type="file">47494638396112001000f700000432bc7c828cc4c2c44c4e4c0c46bce4e2e46c8acc3c66bc94aad4c4f2fc94cafc2456bc346ad4bccae44c8afc7ca6f41c56ccd4e2f4acaeacf4f2ecccd6e46c6e6c849acccceafcfcfeecacb6cc547ed4547ac43c6ed4ccdaf4bcc6dc144ac42c5ec4245ecc6c86c4648edc3466cc94aadcb4b2b47c7e7ce4eaf4fcfafc9c9a9cc4cacc5c5a5c144eb4acd6fc1c56c484aeece4e6f4ecf2fc6c727c749ae43472e4ccdefc3c6ecc0c4abca4b2cc2c66e4c4d2e46c9af41456d4dce6f494a6c4ecf2f4d4deec747674fcfaf4a4bae4d4def42c62cc7492dc346acce4eefc949aa4245ac474b2fcfc02fcbcc2cc545254dce2ec5c86dc9caed49ccefc346adcc4cee44c8efc245accdce2f4acaeb4d4daec7472747c9ed4dceafcb4bacc5c7ec44472d4d4daf4c4cadc144ec43462c42c5ecc6c8edc9caedcbcbabceceef4fcfefccccacc646264acdefc2456c494aeec7c9ee43c72e4144abcf4f2f4fcfef43c6acc9c9ea47700002000f80000620000150000002000000000000000140000000c10850000f40e00f4000077a40000c30000d60000770000180000c200001200140000000000850000f40000f400007700f0a100c2f40012f40000770200087f0006000014000000283c08c2f9001212b200000000c601004300001800007e00788701c44300121800007e008d20784ad0c4d11b12777e00a44896c34939d614e577007702ed9e7f3a390018e5007e7760840cc4930012d1b20077000d601c09c339ded6e50c77772a3800048c00926c000000002371f804836200d11500770000ec0800d20000d1b2007700acd0010a04000059000000004000480000c4000012000000904f3cdb00f9140012000000002a3c1404f916921200000000c80900c3480012e70000770700380000300000e6000077a800ff0100ff1400ff0000fff8009e1300391600e5000077002ae20004e700924100000000c8b800c3ed00121400000000d0d90004570059e500007790b81c5ec3394412e5000077345dafc2a179d6d1d177777790002a5e000444009200000006820000000000000000000021f9040100004d002c00000000120010000708fb009b081c58248c968241062a248822859a872962145948f06182365314b8785864c5c2226a2e308101650296070e6ca829b246a18c2e0ea260484144cd90383564c4505291870e11693400e0a266440f1a6ac448105824091506655e401853450d982b375204a9c0b4430806248cbcc8a0860b04232080047922104b911724485c11a106c607232140cc29c2b64991216442900861c0c78d2b245e6c48516500d31425e4183152c74c19b438c4a050c286209d2f04c6fc5073640c010b6ab0b050319042173a165a1c38b3608194d433b62c74822545811c083c4c0012e144053414b3548910010b96085e586c314151a0800a4f06687f72626140003b</data>
|
|---|
| 288 | </item>
|
|---|
| 289 | <item key="id"><![CDATA[icon]]></item>
|
|---|
| 290 | <item key="mandatory" type="int">0</item>
|
|---|
| 291 | <item key="multilang" type="int">0</item>
|
|---|
| 292 | <item key="name"><![CDATA[Icon]]></item>
|
|---|
| 293 | <item key="repetitive" type="int">0</item>
|
|---|
| 294 | <item key="type"><![CDATA[resource]]></item>
|
|---|
| 295 | </dictionary>
|
|---|
| 296 | </item>
|
|---|
| 297 | <item type="dictionary">
|
|---|
| 298 | <dictionary>
|
|---|
| 299 | <item key="id"><![CDATA[attr_dc_description]]></item>
|
|---|
| 300 | <item key="mandatory" type="int">0</item>
|
|---|
| 301 | <item key="multilang" type="int">1</item>
|
|---|
| 302 | <item key="name"><![CDATA[DC.Description]]></item>
|
|---|
| 303 | <item key="repetitive" type="int">0</item>
|
|---|
| 304 | <item key="type"><![CDATA[text]]></item>
|
|---|
| 305 | </dictionary>
|
|---|
| 306 | </item>
|
|---|
| 307 | <item type="dictionary">
|
|---|
| 308 | <dictionary>
|
|---|
| 309 | <item key="id"><![CDATA[learningresourcetype]]></item>
|
|---|
| 310 | <item key="keys" type="list">
|
|---|
| 311 | <list>
|
|---|
| 312 | <item><![CDATA[Exam]]></item>
|
|---|
| 313 | <item><![CDATA[Self Assessment]]></item>
|
|---|
| 314 | </list>
|
|---|
| 315 | </item>
|
|---|
| 316 | <item key="mandatory" type="int">1</item>
|
|---|
| 317 | <item key="multilang" type="int">0</item>
|
|---|
| 318 | <item key="name"><![CDATA[Type]]></item>
|
|---|
| 319 | <item key="repetitive" type="int">0</item>
|
|---|
| 320 | <item key="type"><![CDATA[select]]></item>
|
|---|
| 321 | </dictionary>
|
|---|
| 322 | </item>
|
|---|
| 323 | <item type="dictionary">
|
|---|
| 324 | <dictionary>
|
|---|
| 325 | <item key="default"><![CDATA[70]]></item>
|
|---|
| 326 | <item key="id"><![CDATA[score]]></item>
|
|---|
| 327 | <item key="mandatory" type="int">1</item>
|
|---|
| 328 | <item key="multilang" type="int">0</item>
|
|---|
| 329 | <item key="name"><![CDATA[Score to pass [%]]]></item>
|
|---|
| 330 | <item key="repetitive" type="int">0</item>
|
|---|
| 331 | <item key="type"><![CDATA[int]]></item>
|
|---|
| 332 | </dictionary>
|
|---|
| 333 | </item>
|
|---|
| 334 | <item type="dictionary">
|
|---|
| 335 | <dictionary>
|
|---|
| 336 | <item key="id"><![CDATA[SCORM_Interaction_Set]]></item>
|
|---|
| 337 | <item key="mandatory" type="int">0</item>
|
|---|
| 338 | <item key="multilang" type="int">0</item>
|
|---|
| 339 | <item key="name"><![CDATA[SCORM Interaction-Set]]></item>
|
|---|
| 340 | <item key="repetitive" type="int">0</item>
|
|---|
| 341 | <item key="type"><![CDATA[delimiter]]></item>
|
|---|
| 342 | </dictionary>
|
|---|
| 343 | </item>
|
|---|
| 344 | <item type="dictionary">
|
|---|
| 345 | <dictionary>
|
|---|
| 346 | <item key="id"><![CDATA[exQuestions]]></item>
|
|---|
| 347 | <item key="keys" type="list">
|
|---|
| 348 | <list>
|
|---|
| 349 | <item><![CDATA[examQFillBlank]]></item>
|
|---|
| 350 | <item><![CDATA[examQImageHotspot]]></item>
|
|---|
| 351 | <item><![CDATA[examQMultipleChoice]]></item>
|
|---|
| 352 | <item><![CDATA[examQTrueFalse]]></item>
|
|---|
| 353 | <item><![CDATA[examQExplanation]]></item>
|
|---|
| 354 | </list>
|
|---|
| 355 | </item>
|
|---|
| 356 | <item key="mandatory" type="int">0</item>
|
|---|
| 357 | <item key="multilang" type="int">0</item>
|
|---|
| 358 | <item key="name"><![CDATA[Questions]]></item>
|
|---|
| 359 | <item key="repetitive" type="int">1</item>
|
|---|
| 360 | <item key="type"><![CDATA[*]]></item>
|
|---|
| 361 | </dictionary>
|
|---|
| 362 | </item>
|
|---|
| 363 | <item type="dictionary">
|
|---|
| 364 | <dictionary>
|
|---|
| 365 | <item key="id"><![CDATA[Layout]]></item>
|
|---|
| 366 | <item key="mandatory" type="int">0</item>
|
|---|
| 367 | <item key="multilang" type="int">0</item>
|
|---|
| 368 | <item key="name"><![CDATA[Layout properties]]></item>
|
|---|
| 369 | <item key="repetitive" type="int">0</item>
|
|---|
| 370 | <item key="type"><![CDATA[delimiter]]></item>
|
|---|
| 371 | </dictionary>
|
|---|
| 372 | </item>
|
|---|
| 373 | <item type="dictionary">
|
|---|
| 374 | <dictionary>
|
|---|
| 375 | <item key="id"><![CDATA[layout_sco_single_page]]></item>
|
|---|
| 376 | <item key="mandatory" type="int">0</item>
|
|---|
| 377 | <item key="multilang" type="int">1</item>
|
|---|
| 378 | <item key="name"><![CDATA[Display each SCO on single page]]></item>
|
|---|
| 379 | <item key="repetitive" type="int">0</item>
|
|---|
| 380 | <item key="type"><![CDATA[boolean]]></item>
|
|---|
| 381 | </dictionary>
|
|---|
| 382 | </item>
|
|---|
| 383 | <item type="dictionary">
|
|---|
| 384 | <dictionary>
|
|---|
| 385 | <item key="id"><![CDATA[dSCORMseq]]></item>
|
|---|
| 386 | <item key="mandatory" type="int">0</item>
|
|---|
| 387 | <item key="multilang" type="int">0</item>
|
|---|
| 388 | <item key="name"><![CDATA[Sequencing-Rules]]></item>
|
|---|
| 389 | <item key="repetitive" type="int">0</item>
|
|---|
| 390 | <item key="type"><![CDATA[delimiter]]></item>
|
|---|
| 391 | </dictionary>
|
|---|
| 392 | </item>
|
|---|
| 393 | <item type="dictionary">
|
|---|
| 394 | <dictionary>
|
|---|
| 395 | <item key="id"><![CDATA[SCORMseq]]></item>
|
|---|
| 396 | <item key="mandatory" type="int">0</item>
|
|---|
| 397 | <item key="multilang" type="int">0</item>
|
|---|
| 398 | <item key="name"><![CDATA[SCORM-Preconditions]]></item>
|
|---|
| 399 | <item key="repetitive" type="int">0</item>
|
|---|
| 400 | <item key="type"><![CDATA[SCORMseq]]></item>
|
|---|
| 401 | </dictionary>
|
|---|
| 402 | </item>
|
|---|
| 403 | <item type="dictionary">
|
|---|
| 404 | <dictionary>
|
|---|
| 405 | <item key="custom"><![CDATA[<!--// BO scoSingleFrameset //-->
|
|---|
| 406 | <dtml-var f_standard_html_request>
|
|---|
| 407 | <html>
|
|---|
| 408 | <head>
|
|---|
| 409 | <script language="JavaScript">
|
|---|
| 410 | <!--//
|
|---|
| 411 | var rawScore = 0;
|
|---|
| 412 | //-->
|
|---|
| 413 | </script>
|
|---|
| 414 | <title><dtml-var "getTitle(REQUEST)"></title>
|
|---|
| 415 | </head>
|
|---|
| 416 | <frameset rows="100,*" border="0" frameborder="0" framespacing="0">
|
|---|
| 417 | <frame id="scoSingleFrameTop" name="scoSingleFrameTop" src="<dtml-var "REQUEST['templateUrl']">?<dtml-var actionId>=scoSingleFrameTop" scrolling="no">
|
|---|
| 418 | <frame id="scoSingleFrameBottom" name="scoSingleFrameBottom" src="<dtml-var "REQUEST['templateUrl']">?<dtml-var actionId>=scoSingleFrameBottom" scrolling="yes">
|
|---|
| 419 | </frameset>
|
|---|
| 420 | </html>
|
|---|
| 421 | <!--// EO scoSingleFrameset //-->]]>
|
|---|
| 422 | </item>
|
|---|
| 423 | <item key="id"><![CDATA[scoSingleFrameset]]></item>
|
|---|
| 424 | <item key="mandatory" type="int">0</item>
|
|---|
| 425 | <item key="multilang" type="int">0</item>
|
|---|
| 426 | <item key="name"><![CDATA[Frameset]]></item>
|
|---|
| 427 | <item key="repetitive" type="int">0</item>
|
|---|
| 428 | <item key="type"><![CDATA[method]]></item>
|
|---|
| 429 | </dictionary>
|
|---|
| 430 | </item>
|
|---|
| 431 | <item type="dictionary">
|
|---|
| 432 | <dictionary>
|
|---|
| 433 | <item key="custom"><![CDATA[<!--// BO scoSingleFrameTop //-->
|
|---|
| 434 |
|
|---|
| 435 | <dtml-var f_standard_html_request>
|
|---|
| 436 | <head>
|
|---|
| 437 | <dtml-var headCSS>
|
|---|
| 438 | <dtml-var headMeta>
|
|---|
| 439 | <dtml-var headScript>
|
|---|
| 440 | <dtml-var headScript_SCORM>
|
|---|
| 441 | </head>
|
|---|
| 442 | <dtml-var bodyTag>
|
|---|
| 443 | <dtml-var bodyTop>
|
|---|
| 444 | <h1>
|
|---|
| 445 | <dtml-var "getObjProperty('title',REQUEST)">
|
|---|
| 446 | </h1>
|
|---|
| 447 | <p>
|
|---|
| 448 | Fragen:
|
|---|
| 449 | <dtml-in "getObjChildren('exQuestions',REQUEST)">
|
|---|
| 450 | [<a href="<dtml-var "url_append_params(REQUEST['URL'],{actionId:'scoSingleFrameBottom','cmiCurrInteractionNo:int':_['sequence-index']})">" target="scoSingleFrameBottom" class="navMicro"><dtml-var "_['sequence-index']+1"></a>]
|
|---|
| 451 | </dtml-in>
|
|---|
| 452 | </p>
|
|---|
| 453 | </body>
|
|---|
| 454 | </html>
|
|---|
| 455 |
|
|---|
| 456 | <!--// EO scoSingleFrameTop //-->]]>
|
|---|
| 457 | </item>
|
|---|
| 458 | <item key="id"><![CDATA[scoSingleFrameTop]]></item>
|
|---|
| 459 | <item key="mandatory" type="int">0</item>
|
|---|
| 460 | <item key="multilang" type="int">0</item>
|
|---|
| 461 | <item key="name"><![CDATA[Frame (Top)]]></item>
|
|---|
| 462 | <item key="repetitive" type="int">0</item>
|
|---|
| 463 | <item key="type"><![CDATA[method]]></item>
|
|---|
| 464 | </dictionary>
|
|---|
| 465 | </item>
|
|---|
| 466 | <item type="dictionary">
|
|---|
| 467 | <dictionary>
|
|---|
| 468 | <item key="custom"><![CDATA[<!--// BO scoSingleFrameBottom //-->
|
|---|
| 469 |
|
|---|
| 470 | <dtml-var f_standard_html_request>
|
|---|
| 471 | <head>
|
|---|
| 472 | <dtml-var headCSS>
|
|---|
| 473 | <dtml-var headMeta>
|
|---|
| 474 | <dtml-var headScript>
|
|---|
| 475 | <dtml-var headScript_SCORM>
|
|---|
| 476 |
|
|---|
| 477 | <script language="JavaScript">
|
|---|
| 478 | <!--//
|
|---|
| 479 |
|
|---|
| 480 | var numQuestions = <dtml-var "len(getObjChildren('exQuestions',REQUEST))">;
|
|---|
| 481 | var currQuestion = <dtml-var "REQUEST.get('cmiCurrInteractionNo',0)">;
|
|---|
| 482 | var rawScore = window.parent.rawScore;
|
|---|
| 483 | var actualScore = 0;
|
|---|
| 484 |
|
|---|
| 485 | /**********************************************************************
|
|---|
| 486 | * function calcRawScore():
|
|---|
| 487 | *
|
|---|
| 488 | * Gets the students answer to each of the questions. and checks if the
|
|---|
| 489 | * students answers are correct and increments the rawScore value
|
|---|
| 490 | **********************************************************************/
|
|---|
| 491 | function calcRawScore()
|
|---|
| 492 | {
|
|---|
| 493 | <dtml-call "REQUEST.set('cmiInteractionNo',0)">
|
|---|
| 494 | <dtml-in "getObjChildren('exQuestions',REQUEST)">
|
|---|
| 495 | <dtml-if "_['sequence-index']==REQUEST.get('cmiCurrInteractionNo',0)">
|
|---|
| 496 | <dtml-var "getObjProperty('js_calcRawScore',REQUEST)">
|
|---|
| 497 | <dtml-else>
|
|---|
| 498 | <dtml-call "REQUEST.set('s',getObjProperty('js_calcRawScore',REQUEST))">
|
|---|
| 499 | </dtml-if>
|
|---|
| 500 | </dtml-in>
|
|---|
| 501 | window.parent.rawScore = rawScore;
|
|---|
| 502 | }
|
|---|
| 503 |
|
|---|
| 504 | /**********************************************************************
|
|---|
| 505 | * calcScore():
|
|---|
| 506 | **********************************************************************/
|
|---|
| 507 | function calcScore()
|
|---|
| 508 | {
|
|---|
| 509 | calcRawScore();
|
|---|
| 510 | // Finish exam.
|
|---|
| 511 | if(currQuestion+1==numQuestions) {
|
|---|
| 512 | exitPageStatus = true;
|
|---|
| 513 | computeTime(); // the student has stopped here.
|
|---|
| 514 | calcRawScore();
|
|---|
| 515 | actualScore = ( rawScore / numQuestions ) * 100;
|
|---|
| 516 | doSetValue( "cmi.score.raw", rawScore );
|
|---|
| 517 | var mode = doGetValue( "cmi.mode" );
|
|---|
| 518 | if ( mode != "review" && mode != "browse" )
|
|---|
| 519 | {
|
|---|
| 520 | if ( actualScore < <dtml-var "getObjProperty('score',REQUEST)"> )
|
|---|
| 521 | {
|
|---|
| 522 | doSetValue( "cmi.success_status", "failed" );
|
|---|
| 523 | }
|
|---|
| 524 | else
|
|---|
| 525 | {
|
|---|
| 526 | doSetValue( "cmi.success_status", "passed" );
|
|---|
| 527 | }
|
|---|
| 528 | doSetValue( "cmi.completion_status", "completed" );
|
|---|
| 529 | doSetValue( "cmi.exit", "" );
|
|---|
| 530 | }
|
|---|
| 531 | doCommit();
|
|---|
| 532 | doTerminate();
|
|---|
| 533 | }
|
|---|
| 534 | // Display next question.
|
|---|
| 535 | else {
|
|---|
| 536 | doSetValue( "cmi.completion_status", "incomplete" );
|
|---|
| 537 | window.location.href = "<dtml-var templateUrl>?<dtml-var actionId>=<dtml-var "REQUEST[actionId]">&cmiCurrInteractionNo:int=" + (currQuestion+1);
|
|---|
| 538 | }
|
|---|
| 539 | }
|
|---|
| 540 |
|
|---|
| 541 | //-->
|
|---|
| 542 | </script>
|
|---|
| 543 |
|
|---|
| 544 | </head>
|
|---|
| 545 | <body>
|
|---|
| 546 |
|
|---|
| 547 | <form name="examForm">
|
|---|
| 548 | <table cellspacing="8" cellpadding="0" border="0">
|
|---|
| 549 | <dtml-call "REQUEST.set('cmiInteractionNo',0)">
|
|---|
| 550 | <dtml-in "getObjChildren('exQuestions',REQUEST)">
|
|---|
| 551 | <dtml-if "_['sequence-index']==REQUEST.get('cmiCurrInteractionNo',0)">
|
|---|
| 552 | <tr>
|
|---|
| 553 | <td>
|
|---|
| 554 | <dtml-var "getBodyContent(REQUEST)"><br/>
|
|---|
| 555 | </td>
|
|---|
| 556 | </tr>
|
|---|
| 557 | <dtml-else>
|
|---|
| 558 | <dtml-call "REQUEST.set('s',getBodyContent(REQUEST))">
|
|---|
| 559 | </dtml-if>
|
|---|
| 560 | </dtml-in>
|
|---|
| 561 | <tr>
|
|---|
| 562 | <td>
|
|---|
| 563 | <script language="JavaScript">
|
|---|
| 564 | <!--//
|
|---|
| 565 | var mode = doGetValue("cmi.mode");
|
|---|
| 566 | if (mode=="normal") {
|
|---|
| 567 | document.write("<hr size=\"1\">");
|
|---|
| 568 | document.write("<input type=\"button\" class=\"buttonScorm\" value=\" <dtml-var "getLangStr('BTN_SUBMIT_ANSWERS',lang)"> \" onclick=\"calcScore()\">");
|
|---|
| 569 | document.write("<br/>");
|
|---|
| 570 | }
|
|---|
| 571 | else if (mode=="browse") {
|
|---|
| 572 | document.write("<hr size=\"1\">");
|
|---|
| 573 | if ( currQuestion > 0)
|
|---|
| 574 | document.write("[<a href=\"<dtml-var templateUrl>?<dtml-var actionId>=<dtml-var "REQUEST[actionId]">&cmiCurrInteractionNo:int="+(currQuestion-1)+"\"><dtml-var "getLangStr('ATTR_PREVIOUS',lang)"></a>]");
|
|---|
| 575 | if ( currQuestion+1<numQuestions)
|
|---|
| 576 | document.write("[<a href=\"<dtml-var templateUrl>?<dtml-var actionId>=<dtml-var "REQUEST[actionId]">&cmiCurrInteractionNo:int="+(currQuestion+1)+"\"><dtml-var "getLangStr('ATTR_NEXT',lang)"></a>]");
|
|---|
| 577 | document.write("<br/>");
|
|---|
| 578 | }
|
|---|
| 579 | //-->
|
|---|
| 580 | </script>
|
|---|
| 581 | </td>
|
|---|
| 582 | </tr>
|
|---|
| 583 | </table>
|
|---|
| 584 | </form>
|
|---|
| 585 |
|
|---|
| 586 | </body>
|
|---|
| 587 | </html>
|
|---|
| 588 |
|
|---|
| 589 | <!--// EO scoSingleFrameBottom //-->]]>
|
|---|
| 590 | </item>
|
|---|
| 591 | <item key="id"><![CDATA[scoSingleFrameBottom]]></item>
|
|---|
| 592 | <item key="mandatory" type="int">0</item>
|
|---|
| 593 | <item key="multilang" type="int">0</item>
|
|---|
| 594 | <item key="name"><![CDATA[Frame (Bottom)]]></item>
|
|---|
| 595 | <item key="repetitive" type="int">0</item>
|
|---|
| 596 | <item key="type"><![CDATA[method]]></item>
|
|---|
| 597 | </dictionary>
|
|---|
| 598 | </item>
|
|---|
| 599 | <item type="dictionary">
|
|---|
| 600 | <dictionary>
|
|---|
| 601 | <item key="custom"><![CDATA[<!--// BO imsmanifestScore //-->
|
|---|
| 602 |
|
|---|
| 603 | <dtml-call "REQUEST.set('s_xml',[])">
|
|---|
| 604 |
|
|---|
| 605 | <dtml-call "s_xml.append('<imsss:sequencing>\n')">
|
|---|
| 606 | <dtml-call "s_xml.append('<imsss:objectives>\n')">
|
|---|
| 607 | <dtml-call "s_xml.append('<imsss:primaryObjective')">
|
|---|
| 608 | <dtml-call "s_xml.append(' objectiveID='+QUOT+id+'_primaryobj'+QUOT)">
|
|---|
| 609 | <dtml-call "s_xml.append(' satisfiedByMeasure='+QUOT+'true'+QUOT)">
|
|---|
| 610 | <dtml-call "s_xml.append('>\n')">
|
|---|
| 611 | <dtml-call "s_xml.append('<imsss:minNormalizedMeasure>'+str(getObjProperty('score',REQUEST)/100.0)+'</imsss:minNormalizedMeasure>\n')">
|
|---|
| 612 | <dtml-call "s_xml.append('</imsss:primaryObjective>\n')">
|
|---|
| 613 | <dtml-call "s_xml.append('</imsss:objectives>\n')">
|
|---|
| 614 | <dtml-call "s_xml.append('</imsss:sequencing>\n')">
|
|---|
| 615 |
|
|---|
| 616 | <dtml-call "REQUEST.set('s_xml',''.join(s_xml))">
|
|---|
| 617 | <dtml-return s_xml>
|
|---|
| 618 |
|
|---|
| 619 | <!--// EO imsmanifestScore //-->]]>
|
|---|
| 620 | </item>
|
|---|
| 621 | <item key="id"><![CDATA[imsmanifestScore]]></item>
|
|---|
| 622 | <item key="mandatory" type="int">0</item>
|
|---|
| 623 | <item key="multilang" type="int">0</item>
|
|---|
| 624 | <item key="name"><![CDATA[imsmanifest.score]]></item>
|
|---|
| 625 | <item key="repetitive" type="int">0</item>
|
|---|
| 626 | <item key="type"><![CDATA[method]]></item>
|
|---|
| 627 | </dictionary>
|
|---|
| 628 | </item>
|
|---|
| 629 | <item type="dictionary">
|
|---|
| 630 | <dictionary>
|
|---|
| 631 | <item key="custom"><![CDATA[<!-- BO bodyContentZMSCustom_SCORMexQZMS -->
|
|---|
| 632 |
|
|---|
| 633 | <dtml-call "REQUEST.set('templateUrl','%s/bodyContentZMSCustom_%s'%(absolute_url(),meta_id))">
|
|---|
| 634 | <dtml-call "REQUEST.set('actionId','ACTION%s'%meta_id)">
|
|---|
| 635 |
|
|---|
| 636 | <!-- ### Display each Interaction on single page -->
|
|---|
| 637 | <dtml-if "getObjProperty('layout_sco_single_page', REQUEST)">
|
|---|
| 638 | <dtml-if "REQUEST.get(actionId,'')==''">
|
|---|
| 639 | <dtml-call "RESPONSE.redirect(url_append_params(templateUrl,{actionId:'scoSingleFrameset'}))">
|
|---|
| 640 | <dtml-else>
|
|---|
| 641 | <dtml-var "getObjProperty(REQUEST.get(actionId),REQUEST)">
|
|---|
| 642 | </dtml-if>
|
|---|
| 643 |
|
|---|
| 644 | <!-- ### Display all Interactions on one page -->
|
|---|
| 645 | <dtml-else>
|
|---|
| 646 |
|
|---|
| 647 | <script language="JavaScript">
|
|---|
| 648 | <!--//
|
|---|
| 649 |
|
|---|
| 650 | <dtml-call "REQUEST.set('cmiQuestionNo',0)">
|
|---|
| 651 | <dtml-call "REQUEST.set('examFormSubmit',[])">
|
|---|
| 652 | <dtml-in "getObjChildren('exQuestions',REQUEST)">
|
|---|
| 653 | <dtml-let js_formSubmit="getObjProperty('js_formSubmit',REQUEST)">
|
|---|
| 654 | <dtml-if js_formSubmit>
|
|---|
| 655 | <dtml-call "examFormSubmit.append(js_formSubmit+'\n')">
|
|---|
| 656 | </dtml-if>
|
|---|
| 657 | </dtml-let>
|
|---|
| 658 | </dtml-in>
|
|---|
| 659 | <dtml-call "REQUEST.set('cmiQuestionNo',0)">
|
|---|
| 660 | <dtml-call "REQUEST.set('calcRawScore',[])">
|
|---|
| 661 | <dtml-in "getObjChildren('exQuestions',REQUEST)">
|
|---|
| 662 | <dtml-let js_calcRawScore="getObjProperty('js_calcRawScore',REQUEST)">
|
|---|
| 663 | <dtml-if js_calcRawScore>
|
|---|
| 664 | <dtml-call "calcRawScore.append(js_calcRawScore+'\n')">
|
|---|
| 665 | </dtml-if>
|
|---|
| 666 | </dtml-let>
|
|---|
| 667 | </dtml-in>
|
|---|
| 668 |
|
|---|
| 669 | /**********************************************************************
|
|---|
| 670 | * function examFormSubmit():
|
|---|
| 671 | **********************************************************************/
|
|---|
| 672 | function examFormSubmit()
|
|---|
| 673 | {
|
|---|
| 674 | // Include function formSubmit for every question of the exam.
|
|---|
| 675 | var fmName = 'examForm';
|
|---|
| 676 | var obj;
|
|---|
| 677 | var msg;
|
|---|
| 678 | <dtml-call "REQUEST.set('cmiInteractionNo',0)">
|
|---|
| 679 | <dtml-var "''.join(examFormSubmit)">
|
|---|
| 680 | return true;
|
|---|
| 681 | }
|
|---|
| 682 |
|
|---|
| 683 | var numQuestions = <dtml-var "len(calcRawScore)">;
|
|---|
| 684 | var currQuestion = <dtml-if "REQUEST.get('cmiCurrInteractionNo')"><dtml-var "int(REQUEST.get('cmiCurrInteractionNo'))"><dtml-else>0</dtml-if>;
|
|---|
| 685 | var rawScore = 0;
|
|---|
| 686 | var actualScore = 0;
|
|---|
| 687 |
|
|---|
| 688 | /**********************************************************************
|
|---|
| 689 | * function calcRawScore():
|
|---|
| 690 | *
|
|---|
| 691 | * Gets the students answer to each of the questions. and checks if the
|
|---|
| 692 | * students answers are correct and increments the rawScore value
|
|---|
| 693 | **********************************************************************/
|
|---|
| 694 | function calcRawScore()
|
|---|
| 695 | {
|
|---|
| 696 | // Include function calcRawScore for every question of the exam.
|
|---|
| 697 | <dtml-call "REQUEST.set('cmiInteractionNo',0)">
|
|---|
| 698 | <dtml-var "''.join(calcRawScore)">
|
|---|
| 699 | }
|
|---|
| 700 |
|
|---|
| 701 | /**********************************************************************
|
|---|
| 702 | * calcScore():
|
|---|
| 703 | **********************************************************************/
|
|---|
| 704 | function calcScore()
|
|---|
| 705 | {
|
|---|
| 706 | exitPageStatus = true;
|
|---|
| 707 | computeTime(); // the student has stopped here.
|
|---|
| 708 | calcRawScore();
|
|---|
| 709 | actualScore = ( rawScore / numQuestions ) * 100;
|
|---|
| 710 | doSetValue( "cmi.score.raw", rawScore );
|
|---|
| 711 | var mode = doGetValue( "cmi.mode" );
|
|---|
| 712 | if ( mode != "review" && mode != "browse" )
|
|---|
| 713 | {
|
|---|
| 714 | if ( actualScore < <dtml-var "getObjProperty('score',REQUEST)"> )
|
|---|
| 715 | {
|
|---|
| 716 | doSetValue( "cmi.success_status", "failed" );
|
|---|
| 717 | }
|
|---|
| 718 | else
|
|---|
| 719 | {
|
|---|
| 720 | doSetValue( "cmi.success_status", "passed" );
|
|---|
| 721 | }
|
|---|
| 722 | doSetValue( "cmi.completion_status", "completed" );
|
|---|
| 723 | doSetValue( "cmi.exit", "" );
|
|---|
| 724 | }
|
|---|
| 725 | doCommit();
|
|---|
| 726 | doTerminate();
|
|---|
| 727 | }
|
|---|
| 728 |
|
|---|
| 729 | //-->
|
|---|
| 730 | </script>
|
|---|
| 731 | <h1 class="title"><dtml-var "getObjProperty('title',REQUEST)"></h1>
|
|---|
| 732 |
|
|---|
| 733 | <script language="JavaScript">
|
|---|
| 734 | <!--//
|
|---|
| 735 | var mode = doGetValue("cmi.mode");
|
|---|
| 736 | if (mode=="normal")
|
|---|
| 737 | {
|
|---|
| 738 | <dtml-comment>
|
|---|
| 739 | <!-- Fox: JavaScript zur Anzeige feedback_text falls cmi.Mode==normal -->
|
|---|
| 740 | <!-- Bei Kombi DTML innerhalb von JavaScript muss Textattribut zeilenweise herausgelesen und geschrieben werden. -->
|
|---|
| 741 | <!-- Und: Bei Verwendung von HTML duerfen nur 'Single Quotes' benutzt werden! -->
|
|---|
| 742 | </dtml-comment>
|
|---|
| 743 | <dtml-if "getObjProperty('attr_dc_description',REQUEST)">
|
|---|
| 744 | document.write("<p class=\"description\">");
|
|---|
| 745 | <dtml-in "string_list(getObjProperty('attr_dc_description',REQUEST))">
|
|---|
| 746 | document.write("<dtml-var sequence-item><br />\n");
|
|---|
| 747 | </dtml-in>
|
|---|
| 748 | document.write("</p>");
|
|---|
| 749 | </dtml-if>
|
|---|
| 750 | }
|
|---|
| 751 | else
|
|---|
| 752 | {
|
|---|
| 753 | <dtml-if "getObjProperty('feedback_text',REQUEST)">
|
|---|
| 754 | document.write("<p>");
|
|---|
| 755 | <dtml-in "string_list(getObjProperty('feedback_text',REQUEST))">
|
|---|
| 756 | document.write("<dtml-var sequence-item><br />\n");
|
|---|
| 757 | </dtml-in>
|
|---|
| 758 | document.write("</p>");
|
|---|
| 759 | </dtml-if>
|
|---|
| 760 | }
|
|---|
| 761 | //-->
|
|---|
| 762 | </script>
|
|---|
| 763 | <form name="examForm">
|
|---|
| 764 | <table cellspacing="8" cellpadding="0" border="0">
|
|---|
| 765 | <dtml-call "REQUEST.set('cmiInteractionNo',0)">
|
|---|
| 766 | <dtml-in "getObjChildren('exQuestions',REQUEST)">
|
|---|
| 767 | <tr>
|
|---|
| 768 | <td>
|
|---|
| 769 | <dtml-var "getBodyContent(REQUEST)"><br/>
|
|---|
| 770 | </td>
|
|---|
| 771 | </tr>
|
|---|
| 772 | </dtml-in>
|
|---|
| 773 | <tr>
|
|---|
| 774 | <td>
|
|---|
| 775 | <script language="JavaScript">
|
|---|
| 776 | <!--//
|
|---|
| 777 | document.write("<hr size=\"1\"/>");
|
|---|
| 778 | var mode = doGetValue("cmi.mode");
|
|---|
| 779 | if (mode=="normal") {
|
|---|
| 780 | document.write("<input type=\"button\" class=\"buttonScorm\" value=\" <dtml-var "getLangStr('BTN_SUBMIT_ANSWERS',lang)"> \" onclick=\"if (examFormSubmit()) calcScore()\">");
|
|---|
| 781 | }
|
|---|
| 782 | else {
|
|---|
| 783 | document.write("<input type=\"button\" class=\"buttonScorm\" value=\" <dtml-var "getLangStr('BTN_CONTINUE',lang)"> \" onclick=\"doContinue('completed')\">");
|
|---|
| 784 | }
|
|---|
| 785 | //-->
|
|---|
| 786 | </script>
|
|---|
| 787 | </td>
|
|---|
| 788 | </tr>
|
|---|
| 789 | </table>
|
|---|
| 790 | </form>
|
|---|
| 791 |
|
|---|
| 792 | </dtml-if>
|
|---|
| 793 |
|
|---|
| 794 | <!-- EO bodyContentZMSCustom_SCORMexQZMS -->]]>
|
|---|
| 795 | </item>
|
|---|
| 796 | <item key="id"><![CDATA[bodyContentZMSCustom_SCORMexQZMS]]></item>
|
|---|
| 797 | <item key="mandatory" type="int">0</item>
|
|---|
| 798 | <item key="multilang" type="int">0</item>
|
|---|
| 799 | <item key="name"><![CDATA[Template: Exam (ZMS Generated)]]></item>
|
|---|
| 800 | <item key="repetitive" type="int">0</item>
|
|---|
| 801 | <item key="type"><![CDATA[DTML Method]]></item>
|
|---|
| 802 | </dictionary>
|
|---|
| 803 | </item>
|
|---|
| 804 | </list>
|
|---|
| 805 | </item>
|
|---|
| 806 | <item key="enabled" type="int">1</item>
|
|---|
| 807 | <item key="id"><![CDATA[SCORMexQZMS]]></item>
|
|---|
| 808 | <item key="name"><![CDATA[Exam (ZMS Generated)]]></item>
|
|---|
| 809 | <item key="package"><![CDATA[com.zms.elc.lcms]]></item>
|
|---|
| 810 | <item key="revision"><![CDATA[0.0.0]]></item>
|
|---|
| 811 | <item key="type"><![CDATA[ZMSDocument]]></item>
|
|---|
| 812 | </dictionary>
|
|---|
| 813 | </item>
|
|---|
| 814 | </dictionary>
|
|---|
| 815 | </item>
|
|---|
| 816 | <item type="dictionary">
|
|---|
| 817 | <dictionary>
|
|---|
| 818 | <item key="key"><![CDATA[SCORMmetaset]]></item>
|
|---|
| 819 | <item key="value" type="dictionary">
|
|---|
| 820 | <dictionary>
|
|---|
| 821 | <item key="__obj_attrs__" type="list">
|
|---|
| 822 | <list>
|
|---|
| 823 | <item type="dictionary">
|
|---|
| 824 | <dictionary>
|
|---|
| 825 | <item key="id"><![CDATA[SCORM_General]]></item>
|
|---|
| 826 | <item key="mandatory" type="int">0</item>
|
|---|
| 827 | <item key="multilang" type="int">0</item>
|
|---|
| 828 | <item key="name"><![CDATA[General]]></item>
|
|---|
| 829 | <item key="repetitive" type="int">0</item>
|
|---|
| 830 | <item key="type"><![CDATA[delimiter]]></item>
|
|---|
| 831 | </dictionary>
|
|---|
| 832 | </item>
|
|---|
| 833 | <item type="dictionary">
|
|---|
| 834 | <dictionary>
|
|---|
| 835 | <item key="id"><![CDATA[SCORM_General_Title]]></item>
|
|---|
| 836 | <item key="mandatory" type="int">0</item>
|
|---|
| 837 | <item key="multilang" type="int">1</item>
|
|---|
| 838 | <item key="name"><![CDATA[Title]]></item>
|
|---|
| 839 | <item key="repetitive" type="int">0</item>
|
|---|
| 840 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 841 | </dictionary>
|
|---|
| 842 | </item>
|
|---|
| 843 | <item type="dictionary">
|
|---|
| 844 | <dictionary>
|
|---|
| 845 | <item key="id"><![CDATA[SCORM_General_Description]]></item>
|
|---|
| 846 | <item key="mandatory" type="int">0</item>
|
|---|
| 847 | <item key="multilang" type="int">1</item>
|
|---|
| 848 | <item key="name"><![CDATA[Description]]></item>
|
|---|
| 849 | <item key="repetitive" type="int">0</item>
|
|---|
| 850 | <item key="type"><![CDATA[text]]></item>
|
|---|
| 851 | </dictionary>
|
|---|
| 852 | </item>
|
|---|
| 853 | <item type="dictionary">
|
|---|
| 854 | <dictionary>
|
|---|
| 855 | <item key="id"><![CDATA[SCORM_General_Keyword]]></item>
|
|---|
| 856 | <item key="mandatory" type="int">0</item>
|
|---|
| 857 | <item key="multilang" type="int">1</item>
|
|---|
| 858 | <item key="name"><![CDATA[Keyword]]></item>
|
|---|
| 859 | <item key="repetitive" type="int">0</item>
|
|---|
| 860 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 861 | </dictionary>
|
|---|
| 862 | </item>
|
|---|
| 863 | <item type="dictionary">
|
|---|
| 864 | <dictionary>
|
|---|
| 865 | <item key="id"><![CDATA[SCORM_General_Identifier_Catalog]]></item>
|
|---|
| 866 | <item key="mandatory" type="int">0</item>
|
|---|
| 867 | <item key="multilang" type="int">1</item>
|
|---|
| 868 | <item key="name"><![CDATA[ID-Catalog]]></item>
|
|---|
| 869 | <item key="repetitive" type="int">0</item>
|
|---|
| 870 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 871 | </dictionary>
|
|---|
| 872 | </item>
|
|---|
| 873 | <item type="dictionary">
|
|---|
| 874 | <dictionary>
|
|---|
| 875 | <item key="id"><![CDATA[SCORM_General_Identifier_Entry]]></item>
|
|---|
| 876 | <item key="mandatory" type="int">0</item>
|
|---|
| 877 | <item key="multilang" type="int">1</item>
|
|---|
| 878 | <item key="name"><![CDATA[ID-Entry]]></item>
|
|---|
| 879 | <item key="repetitive" type="int">0</item>
|
|---|
| 880 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 881 | </dictionary>
|
|---|
| 882 | </item>
|
|---|
| 883 | <item type="dictionary">
|
|---|
| 884 | <dictionary>
|
|---|
| 885 | <item key="id"><![CDATA[SCORM_Lifecycle]]></item>
|
|---|
| 886 | <item key="mandatory" type="int">0</item>
|
|---|
| 887 | <item key="multilang" type="int">0</item>
|
|---|
| 888 | <item key="name"><![CDATA[Lifecyle]]></item>
|
|---|
| 889 | <item key="repetitive" type="int">0</item>
|
|---|
| 890 | <item key="type"><![CDATA[delimiter]]></item>
|
|---|
| 891 | </dictionary>
|
|---|
| 892 | </item>
|
|---|
| 893 | <item type="dictionary">
|
|---|
| 894 | <dictionary>
|
|---|
| 895 | <item key="id"><![CDATA[SCORM_Lifecycle_Version]]></item>
|
|---|
| 896 | <item key="mandatory" type="int">0</item>
|
|---|
| 897 | <item key="multilang" type="int">1</item>
|
|---|
| 898 | <item key="name"><![CDATA[Version]]></item>
|
|---|
| 899 | <item key="repetitive" type="int">0</item>
|
|---|
| 900 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 901 | </dictionary>
|
|---|
| 902 | </item>
|
|---|
| 903 | <item type="dictionary">
|
|---|
| 904 | <dictionary>
|
|---|
| 905 | <item key="id"><![CDATA[SCORM_Lifecycle_Status]]></item>
|
|---|
| 906 | <item key="mandatory" type="int">0</item>
|
|---|
| 907 | <item key="multilang" type="int">1</item>
|
|---|
| 908 | <item key="name"><![CDATA[Status]]></item>
|
|---|
| 909 | <item key="repetitive" type="int">0</item>
|
|---|
| 910 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 911 | </dictionary>
|
|---|
| 912 | </item>
|
|---|
| 913 | <item type="dictionary">
|
|---|
| 914 | <dictionary>
|
|---|
| 915 | <item key="id"><![CDATA[SCORM_Metametadata]]></item>
|
|---|
| 916 | <item key="mandatory" type="int">0</item>
|
|---|
| 917 | <item key="multilang" type="int">0</item>
|
|---|
| 918 | <item key="name"><![CDATA[Metametadata]]></item>
|
|---|
| 919 | <item key="repetitive" type="int">0</item>
|
|---|
| 920 | <item key="type"><![CDATA[delimiter]]></item>
|
|---|
| 921 | </dictionary>
|
|---|
| 922 | </item>
|
|---|
| 923 | <item type="dictionary">
|
|---|
| 924 | <dictionary>
|
|---|
| 925 | <item key="id"><![CDATA[SCORM_Metametadata_Identifier_Catalog]]></item>
|
|---|
| 926 | <item key="mandatory" type="int">0</item>
|
|---|
| 927 | <item key="multilang" type="int">0</item>
|
|---|
| 928 | <item key="name"><![CDATA[ID-Catalog]]></item>
|
|---|
| 929 | <item key="repetitive" type="int">0</item>
|
|---|
| 930 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 931 | </dictionary>
|
|---|
| 932 | </item>
|
|---|
| 933 | <item type="dictionary">
|
|---|
| 934 | <dictionary>
|
|---|
| 935 | <item key="id"><![CDATA[SCORM_Metametadata_Identifier_Entry]]></item>
|
|---|
| 936 | <item key="mandatory" type="int">0</item>
|
|---|
| 937 | <item key="multilang" type="int">0</item>
|
|---|
| 938 | <item key="name"><![CDATA[ID-Entry]]></item>
|
|---|
| 939 | <item key="repetitive" type="int">0</item>
|
|---|
| 940 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 941 | </dictionary>
|
|---|
| 942 | </item>
|
|---|
| 943 | <item type="dictionary">
|
|---|
| 944 | <dictionary>
|
|---|
| 945 | <item key="id"><![CDATA[SCORM_Metametadata_Scheme]]></item>
|
|---|
| 946 | <item key="mandatory" type="int">0</item>
|
|---|
| 947 | <item key="multilang" type="int">0</item>
|
|---|
| 948 | <item key="name"><![CDATA[Scheme]]></item>
|
|---|
| 949 | <item key="repetitive" type="int">0</item>
|
|---|
| 950 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 951 | </dictionary>
|
|---|
| 952 | </item>
|
|---|
| 953 | <item type="dictionary">
|
|---|
| 954 | <dictionary>
|
|---|
| 955 | <item key="id"><![CDATA[SCORM_Technical_Format]]></item>
|
|---|
| 956 | <item key="mandatory" type="int">0</item>
|
|---|
| 957 | <item key="multilang" type="int">1</item>
|
|---|
| 958 | <item key="name"><![CDATA[Format]]></item>
|
|---|
| 959 | <item key="repetitive" type="int">0</item>
|
|---|
| 960 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 961 | </dictionary>
|
|---|
| 962 | </item>
|
|---|
| 963 | <item type="dictionary">
|
|---|
| 964 | <dictionary>
|
|---|
| 965 | <item key="id"><![CDATA[SCORM_Technical_Location]]></item>
|
|---|
| 966 | <item key="mandatory" type="int">0</item>
|
|---|
| 967 | <item key="multilang" type="int">1</item>
|
|---|
| 968 | <item key="name"><![CDATA[Location/DOI]]></item>
|
|---|
| 969 | <item key="repetitive" type="int">0</item>
|
|---|
| 970 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 971 | </dictionary>
|
|---|
| 972 | </item>
|
|---|
| 973 | <item type="dictionary">
|
|---|
| 974 | <dictionary>
|
|---|
| 975 | <item key="id"><![CDATA[SCORM_Rights]]></item>
|
|---|
| 976 | <item key="mandatory" type="int">0</item>
|
|---|
| 977 | <item key="multilang" type="int">0</item>
|
|---|
| 978 | <item key="name"><![CDATA[Rights]]></item>
|
|---|
| 979 | <item key="repetitive" type="int">0</item>
|
|---|
| 980 | <item key="type"><![CDATA[delimiter]]></item>
|
|---|
| 981 | </dictionary>
|
|---|
| 982 | </item>
|
|---|
| 983 | <item type="dictionary">
|
|---|
| 984 | <dictionary>
|
|---|
| 985 | <item key="id"><![CDATA[SCORM_Rights_Cost]]></item>
|
|---|
| 986 | <item key="keys" type="list">
|
|---|
| 987 | <list>
|
|---|
| 988 | <item><![CDATA[no]]></item>
|
|---|
| 989 | <item><![CDATA[yes]]></item>
|
|---|
| 990 | </list>
|
|---|
| 991 | </item>
|
|---|
| 992 | <item key="mandatory" type="int">0</item>
|
|---|
| 993 | <item key="multilang" type="int">1</item>
|
|---|
| 994 | <item key="name"><![CDATA[Cost]]></item>
|
|---|
| 995 | <item key="repetitive" type="int">0</item>
|
|---|
| 996 | <item key="type"><![CDATA[select]]></item>
|
|---|
| 997 | </dictionary>
|
|---|
| 998 | </item>
|
|---|
| 999 | <item type="dictionary">
|
|---|
| 1000 | <dictionary>
|
|---|
| 1001 | <item key="id"><![CDATA[SCORM_Rights_Copyright]]></item>
|
|---|
| 1002 | <item key="keys" type="list">
|
|---|
| 1003 | <list>
|
|---|
| 1004 | <item><![CDATA[no]]></item>
|
|---|
| 1005 | <item><![CDATA[yes]]></item>
|
|---|
| 1006 | </list>
|
|---|
| 1007 | </item>
|
|---|
| 1008 | <item key="mandatory" type="int">0</item>
|
|---|
| 1009 | <item key="multilang" type="int">1</item>
|
|---|
| 1010 | <item key="name"><![CDATA[Copyright]]></item>
|
|---|
| 1011 | <item key="repetitive" type="int">0</item>
|
|---|
| 1012 | <item key="type"><![CDATA[select]]></item>
|
|---|
| 1013 | </dictionary>
|
|---|
| 1014 | </item>
|
|---|
| 1015 | <item type="dictionary">
|
|---|
| 1016 | <dictionary>
|
|---|
| 1017 | <item key="id"><![CDATA[SCORM_Classification]]></item>
|
|---|
| 1018 | <item key="mandatory" type="int">0</item>
|
|---|
| 1019 | <item key="multilang" type="int">0</item>
|
|---|
| 1020 | <item key="name"><![CDATA[Classification]]></item>
|
|---|
| 1021 | <item key="repetitive" type="int">0</item>
|
|---|
| 1022 | <item key="type"><![CDATA[delimiter]]></item>
|
|---|
| 1023 | </dictionary>
|
|---|
| 1024 | </item>
|
|---|
| 1025 | <item type="dictionary">
|
|---|
| 1026 | <dictionary>
|
|---|
| 1027 | <item key="id"><![CDATA[SCORM_Classification_Purpose]]></item>
|
|---|
| 1028 | <item key="keys" type="list">
|
|---|
| 1029 | <list>
|
|---|
| 1030 | <item><![CDATA[discipline]]></item>
|
|---|
| 1031 | <item><![CDATA[idea]]></item>
|
|---|
| 1032 | <item><![CDATA[prerequisite]]></item>
|
|---|
| 1033 | <item><![CDATA[educational objective]]></item>
|
|---|
| 1034 | <item><![CDATA[accessibility]]></item>
|
|---|
| 1035 | <item><![CDATA[restrictions]]></item>
|
|---|
| 1036 | <item><![CDATA[educational level]]></item>
|
|---|
| 1037 | <item><![CDATA[skill level]]></item>
|
|---|
| 1038 | <item><![CDATA[security level]]></item>
|
|---|
| 1039 | <item><![CDATA[competency]]></item>
|
|---|
| 1040 | </list>
|
|---|
| 1041 | </item>
|
|---|
| 1042 | <item key="mandatory" type="int">0</item>
|
|---|
| 1043 | <item key="multilang" type="int">1</item>
|
|---|
| 1044 | <item key="name"><![CDATA[Purpose]]></item>
|
|---|
| 1045 | <item key="repetitive" type="int">0</item>
|
|---|
| 1046 | <item key="type"><![CDATA[select]]></item>
|
|---|
| 1047 | </dictionary>
|
|---|
| 1048 | </item>
|
|---|
| 1049 | <item type="dictionary">
|
|---|
| 1050 | <dictionary>
|
|---|
| 1051 | <item key="id"><![CDATA[SCORM_Classification_Description]]></item>
|
|---|
| 1052 | <item key="mandatory" type="int">0</item>
|
|---|
| 1053 | <item key="multilang" type="int">1</item>
|
|---|
| 1054 | <item key="name"><![CDATA[Description]]></item>
|
|---|
| 1055 | <item key="repetitive" type="int">0</item>
|
|---|
| 1056 | <item key="type"><![CDATA[text]]></item>
|
|---|
| 1057 | </dictionary>
|
|---|
| 1058 | </item>
|
|---|
| 1059 | <item type="dictionary">
|
|---|
| 1060 | <dictionary>
|
|---|
| 1061 | <item key="id"><![CDATA[SCORM_Classification_Keyword]]></item>
|
|---|
| 1062 | <item key="mandatory" type="int">0</item>
|
|---|
| 1063 | <item key="multilang" type="int">1</item>
|
|---|
| 1064 | <item key="name"><![CDATA[Keyword]]></item>
|
|---|
| 1065 | <item key="repetitive" type="int">0</item>
|
|---|
| 1066 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 1067 | </dictionary>
|
|---|
| 1068 | </item>
|
|---|
| 1069 | <item type="dictionary">
|
|---|
| 1070 | <dictionary>
|
|---|
| 1071 | <item key="custom"><![CDATA[<!--// BO imsmanifest.xml ( DTML Method ) //-->
|
|---|
| 1072 |
|
|---|
| 1073 | <dtml-call "RESPONSE.setHeader('Content-Type','text/xml')">
|
|---|
| 1074 | <dtml-call "RESPONSE.setHeader('Content-Disposition','inline;filename=imsmanifest.xml')">
|
|---|
| 1075 | <dtml-return "getIMSManifest(REQUEST)">
|
|---|
| 1076 |
|
|---|
| 1077 | <!--// EO imsmanifest.xml ( DTML Method ) //-->]]>
|
|---|
| 1078 | </item>
|
|---|
| 1079 | <item key="id"><![CDATA[imsmanifest.xml]]></item>
|
|---|
| 1080 | <item key="mandatory" type="int">0</item>
|
|---|
| 1081 | <item key="multilang" type="int">0</item>
|
|---|
| 1082 | <item key="name"><![CDATA[Template: SCORM IMS Manifest XML]]></item>
|
|---|
| 1083 | <item key="repetitive" type="int">0</item>
|
|---|
| 1084 | <item key="type"><![CDATA[DTML Method]]></item>
|
|---|
| 1085 | </dictionary>
|
|---|
| 1086 | </item>
|
|---|
| 1087 | <item type="dictionary">
|
|---|
| 1088 | <dictionary>
|
|---|
| 1089 | <item key="custom"><![CDATA[<?xml version = "1.0"?>
|
|---|
| 1090 | <xs:schema targetNamespace = "http://www.adlnet.org/xsd/adlcp_v1p3"
|
|---|
| 1091 | xmlns:xs = "http://www.w3.org/2001/XMLSchema"
|
|---|
| 1092 | xmlns = "http://www.adlnet.org/xsd/adlcp_v1p3"
|
|---|
| 1093 | elementFormDefault = "qualified"
|
|---|
| 1094 | version = "1.0">
|
|---|
| 1095 |
|
|---|
| 1096 | <xs:annotation>
|
|---|
| 1097 | <xs:documentation>
|
|---|
| 1098 | This file represents the W3C XML Schema Language Binding of the ADL namespaced elements for content packaging extensions.
|
|---|
| 1099 | </xs:documentation>
|
|---|
| 1100 | </xs:annotation>
|
|---|
| 1101 |
|
|---|
| 1102 | <!-- *********************** -->
|
|---|
| 1103 | <!-- ** Change History ** -->
|
|---|
| 1104 | <!-- *********************** -->
|
|---|
| 1105 | <xs:annotation>
|
|---|
| 1106 | <xs:documentation>
|
|---|
| 1107 | *************************************************************************
|
|---|
| 1108 | * Change History *
|
|---|
| 1109 | *************************************************************************
|
|---|
| 1110 | 2003-18-09 Initial creation.
|
|---|
| 1111 | 2003-19-09 Removed the restriction of the 255 character maximum length
|
|---|
| 1112 | on the dataFromLMS
|
|---|
| 1113 | 2004-01-06 Added completionThreshold to the ADL CP namespace
|
|---|
| 1114 | 2004-23-01 Final edits in preparation for release
|
|---|
| 1115 | *************************************************************************
|
|---|
| 1116 | </xs:documentation>
|
|---|
| 1117 | </xs:annotation>
|
|---|
| 1118 |
|
|---|
| 1119 | <xs:element name = "location" type = "locationType"/>
|
|---|
| 1120 | <xs:element name = "dataFromLMS" type = "dataFromLMSType"/>
|
|---|
| 1121 | <xs:element name = "timeLimitAction" type = "timeLimitActionType"/>
|
|---|
| 1122 | <xs:element name = "completionThreshold" type = "completionThresholdType" />
|
|---|
| 1123 |
|
|---|
| 1124 | <!-- ADL Extension to the IMS Content Packaging XSD -->
|
|---|
| 1125 | <xs:attribute name = "scormType">
|
|---|
| 1126 | <xs:simpleType>
|
|---|
| 1127 | <xs:restriction base = "xs:string">
|
|---|
| 1128 | <xs:enumeration value = "sco"/>
|
|---|
| 1129 | <xs:enumeration value = "asset"/>
|
|---|
| 1130 | </xs:restriction>
|
|---|
| 1131 | </xs:simpleType>
|
|---|
| 1132 | </xs:attribute>
|
|---|
| 1133 |
|
|---|
| 1134 | <xs:attribute name = "persistState" default = "false" type = "xs:boolean" />
|
|---|
| 1135 |
|
|---|
| 1136 | <xs:simpleType name = "locationType">
|
|---|
| 1137 | <xs:restriction base = "xs:string"/>
|
|---|
| 1138 | </xs:simpleType>
|
|---|
| 1139 |
|
|---|
| 1140 | <xs:simpleType name = "dataFromLMSType">
|
|---|
| 1141 | <xs:restriction base = "xs:string"/>
|
|---|
| 1142 | </xs:simpleType>
|
|---|
| 1143 |
|
|---|
| 1144 | <xs:simpleType name = "timeLimitActionType">
|
|---|
| 1145 | <xs:restriction base = "xs:string">
|
|---|
| 1146 | <xs:enumeration value = "exit,message"/>
|
|---|
| 1147 | <xs:enumeration value = "exit,no message"/>
|
|---|
| 1148 | <xs:enumeration value = "continue,message"/>
|
|---|
| 1149 | <xs:enumeration value = "continue,no message"/>
|
|---|
| 1150 | </xs:restriction>
|
|---|
| 1151 | </xs:simpleType>
|
|---|
| 1152 |
|
|---|
| 1153 | <xs:simpleType name = "completionThresholdType">
|
|---|
| 1154 | <xs:restriction base = "xs:decimal">
|
|---|
| 1155 | <xs:minInclusive value = "0.0"/>
|
|---|
| 1156 | <xs:maxInclusive value = "1.0"/>
|
|---|
| 1157 | </xs:restriction>
|
|---|
| 1158 | </xs:simpleType>
|
|---|
| 1159 |
|
|---|
| 1160 | </xs:schema>]]>
|
|---|
| 1161 | </item>
|
|---|
| 1162 | <item key="id"><![CDATA[adlcp_v1p3.xsd]]></item>
|
|---|
| 1163 | <item key="mandatory" type="int">0</item>
|
|---|
| 1164 | <item key="multilang" type="int">0</item>
|
|---|
| 1165 | <item key="name"><![CDATA[Template: SCORM Schema]]></item>
|
|---|
| 1166 | <item key="repetitive" type="int">0</item>
|
|---|
| 1167 | <item key="type"><![CDATA[DTML Method]]></item>
|
|---|
| 1168 | </dictionary>
|
|---|
| 1169 | </item>
|
|---|
| 1170 | <item type="dictionary">
|
|---|
| 1171 | <dictionary>
|
|---|
| 1172 | <item key="custom"><![CDATA[<?xml version = "1.0" encoding = "UTF-8"?>
|
|---|
| 1173 | <!--Generated by Turbo XML 2.3.1.100. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
|
|---|
| 1174 | <xsd:schema xmlns = "http://www.imsglobal.org/xsd/imscp_v1p1"
|
|---|
| 1175 | targetNamespace = "http://www.imsglobal.org/xsd/imscp_v1p1"
|
|---|
| 1176 | xmlns:xsd = "http://www.w3.org/2001/XMLSchema"
|
|---|
| 1177 | version = "IMS CP 1.1.3"
|
|---|
| 1178 | elementFormDefault = "unqualified">
|
|---|
| 1179 | <xsd:import namespace = "http://www.w3.org/XML/1998/namespace" schemaLocation = "http://www.w3.org/2001/03/xml.xsd"/>
|
|---|
| 1180 | <xsd:annotation>
|
|---|
| 1181 | <xsd:documentation xml:lang = "en">DRAFT XSD for IMS Content Packaging version 1.1 DRAFT </xsd:documentation>
|
|---|
| 1182 | <xsd:documentation> Copyright (c) 2001 IMS GLC, Inc. </xsd:documentation>
|
|---|
| 1183 | <xsd:documentation>2000-04-21, Adjustments by T.D. Wason from CP 1.0. </xsd:documentation>
|
|---|
| 1184 | <xsd:documentation>2001-02-22, T.D.Wason: Modify for 2000-10-24 XML-Schema version. </xsd:documentation>
|
|---|
| 1185 | <xsd:documentation> Modified to support extension. </xsd:documentation>
|
|---|
| 1186 | <xsd:documentation>2001-03-12, T.D.Wason: Change filename, target and meta-data namespaces </xsd:documentation>
|
|---|
| 1187 | <xsd:documentation> and meta-data filename. </xsd:documentation>
|
|---|
| 1188 | <xsd:documentation> Add meta-data to itemType, fileType and organizationType. </xsd:documentation>
|
|---|
| 1189 | <xsd:documentation> Do not define namespaces for xml in XML instances generated from this xsd. </xsd:documentation>
|
|---|
| 1190 | <xsd:documentation> Imports IMS meta-data xsd, lower case element names. </xsd:documentation>
|
|---|
| 1191 | <xsd:documentation> This XSD provides a reference to the IMS meta-data root element as imsmd:record </xsd:documentation>
|
|---|
| 1192 | <xsd:documentation> If the IMS meta-data is to be used in the XML instance then the instance </xsd:documentation>
|
|---|
| 1193 | <xsd:documentation> must definean IMS meta-data prefix with a namespace. </xsd:documentation>
|
|---|
| 1194 | <xsd:documentation> The meta-data targetNamespace should be used. </xsd:documentation>
|
|---|
| 1195 | <xsd:documentation>2001-03-20, Thor Anderson: Remove manifestref, change resourceref back to </xsd:documentation>
|
|---|
| 1196 | <xsd:documentation> identifierref, change manifest back to contained by manifest. </xsd:documentation>
|
|---|
| 1197 | <xsd:documentation> --Tom Wason: manifest may contain _none_ or more manifests. </xsd:documentation>
|
|---|
| 1198 | <xsd:documentation>2001-04-13 Tom Wason: corrected attirbute name structure. Was misnamed type. </xsd:documentation>
|
|---|
| 1199 | <xsd:documentation>2001-05-14 Schawn Thropp: Made all complexType extensible with the group.any </xsd:documentation>
|
|---|
| 1200 | <xsd:documentation> Added the anyAttribute to all complexTypes. </xsd:documentation>
|
|---|
| 1201 | <xsd:documentation> Changed the href attribute on the fileType and resourceType to xsd:string </xsd:documentation>
|
|---|
| 1202 | <xsd:documentation> Changed the maxLength of the href, identifierref, parameters, structure </xsd:documentation>
|
|---|
| 1203 | <xsd:documentation> attributes to match the Information model. </xsd:documentation>
|
|---|
| 1204 | <xsd:documentation>2001-07-25 Schawn Thropp: Changed the namespace for the Schema of Schemas to </xsd:documentation>
|
|---|
| 1205 | <xsd:documentation> the 5/2/2001 W3C XML Schema Recommendation. </xsd:documentation>
|
|---|
| 1206 | <xsd:documentation> attributeGroup attr.imsmd deleted, was not used anywhere. </xsd:documentation>
|
|---|
| 1207 | <xsd:documentation> Any attribute declarations that have use = "default" </xsd:documentation>
|
|---|
| 1208 | <xsd:documentation> changed to use="optional" - attr.structure.req. </xsd:documentation>
|
|---|
| 1209 | <xsd:documentation> Any attribute declarations that have value="somevalue" changed to </xsd:documentation>
|
|---|
| 1210 | <xsd:documentation> default="somevalue" - attr.structure.req (hierarchical). </xsd:documentation>
|
|---|
| 1211 | <xsd:documentation> Removed references to IMS MD Version 1.1. </xsd:documentation>
|
|---|
| 1212 | <xsd:documentation> Modified attribute group "attr.resourcetype.req" to change use from optional </xsd:documentation>
|
|---|
| 1213 | <xsd:documentation> to required to match the information model. As a result the default value </xsd:documentation>
|
|---|
| 1214 | <xsd:documentation> also needed to be removed </xsd:documentation>
|
|---|
| 1215 | <xsd:documentation> Name change for XSD. Changed to match version of CP Spec </xsd:documentation>
|
|---|
| 1216 | <xsd:documentation> 2001-11-04 Chris Moffatt: </xsd:documentation>
|
|---|
| 1217 | <xsd:documentation> 1. Refer to the xml namespace using the "x" abbreviation instead of "xml". </xsd:documentation>
|
|---|
| 1218 | <xsd:documentation> This changes enables the schema to work with commercial XML Tools </xsd:documentation>
|
|---|
| 1219 | <xsd:documentation> 2. Revert to original IMS CP version 1.1 namespace. </xsd:documentation>
|
|---|
| 1220 | <xsd:documentation> i.e. "http://www.imsglobal.org/xsd/imscp_v1p1" </xsd:documentation>
|
|---|
| 1221 | <xsd:documentation> This change done to support the decision to only change the XML namespace with </xsd:documentation>
|
|---|
| 1222 | <xsd:documentation> major revisions of the specification i.e. where the information model or binding</xsd:documentation>
|
|---|
| 1223 | <xsd:documentation> changes (as opposed to addressing bugs or omissions). A stable namespace is </xsd:documentation>
|
|---|
| 1224 | <xsd:documentation> necessary to the increasing number of implementors. </xsd:documentation>
|
|---|
| 1225 | <xsd:documentation> 3. Changed name of schema file to "imscp_v1p1p3.xsd" and </xsd:documentation>
|
|---|
| 1226 | <xsd:documentation> version attribute to "IMS CP 1.1.3" to reflect minor version change </xsd:documentation>
|
|---|
| 1227 | <xsd:documentation>Inclusions and Imports </xsd:documentation>
|
|---|
| 1228 | <xsd:documentation>Attribute Declarations </xsd:documentation>
|
|---|
| 1229 | <xsd:documentation>element groups </xsd:documentation>
|
|---|
| 1230 | <xsd:documentation>
|
|---|
| 1231 |
|
|---|
| 1232 | </xsd:documentation>
|
|---|
| 1233 | <xsd:documentation>2003-03-21 Schawn Thropp </xsd:documentation>
|
|---|
| 1234 | <xsd:documentation>The following updates were made to the Version 1.1.3 "Public Draft" version: </xsd:documentation>
|
|---|
| 1235 | <xsd:documentation> 1. Updated name of schema file (imscp_v1p1.xsd) to match to IMS naming guideance </xsd:documentation>
|
|---|
| 1236 | <xsd:documentation> 2. Updated the import statement to reference the xml.xsd found at </xsd:documentation>
|
|---|
| 1237 | <xsd:documentation> "http://www.w3.org/2001/03/xml.xsd". This is the current W3C schema </xsd:documentation>
|
|---|
| 1238 | <xsd:documentation> recommended by the W3C to reference. </xsd:documentation>
|
|---|
| 1239 | <xsd:documentation> 3. Removed all maxLength's facets. The maxLength facets was an incorrect binding </xsd:documentation>
|
|---|
| 1240 | <xsd:documentation> implementation. These lengths were supposed, according to the information </xsd:documentation>
|
|---|
| 1241 | <xsd:documentation> model, to be treated as smallest permitted maximums. </xsd:documentation>
|
|---|
| 1242 | <xsd:documentation> 4. Added the variations content model to support the addition in the information </xsd:documentation>
|
|---|
| 1243 | <xsd:documentation> model. </xsd:documentation>
|
|---|
| 1244 | </xsd:annotation>
|
|---|
| 1245 | <xsd:group name = "grp.any">
|
|---|
| 1246 | <xsd:annotation>
|
|---|
| 1247 | <xsd:documentation>Any namespaced element from any namespace may be included within an "any" element. The namespace for the imported element must be defined in the instance, and the schema must be imported. </xsd:documentation>
|
|---|
| 1248 | </xsd:annotation>
|
|---|
| 1249 | <xsd:sequence>
|
|---|
| 1250 | <xsd:any namespace = "##other" processContents = "strict" minOccurs = "0" maxOccurs = "unbounded"/>
|
|---|
| 1251 | </xsd:sequence>
|
|---|
| 1252 | </xsd:group>
|
|---|
| 1253 | <xsd:attributeGroup name = "attr.version">
|
|---|
| 1254 | <xsd:attribute name = "version" type = "xsd:string"/>
|
|---|
| 1255 | </xsd:attributeGroup>
|
|---|
| 1256 | <xsd:attributeGroup name = "attr.structure.req">
|
|---|
| 1257 | <xsd:attribute name = "structure" default = "hierarchical" type = "xsd:string"/>
|
|---|
| 1258 | </xsd:attributeGroup>
|
|---|
| 1259 | <xsd:attributeGroup name = "attr.resourcetype.req">
|
|---|
| 1260 | <xsd:attribute name = "type" use = "required" type = "xsd:string"/>
|
|---|
| 1261 | </xsd:attributeGroup>
|
|---|
| 1262 | <xsd:attributeGroup name = "attr.identifierref.req">
|
|---|
| 1263 | <xsd:attribute name = "identifierref" use = "required" type = "xsd:string"/>
|
|---|
| 1264 | </xsd:attributeGroup>
|
|---|
| 1265 | <xsd:attributeGroup name = "attr.identifierref">
|
|---|
| 1266 | <xsd:attribute name = "identifierref" type = "xsd:string"/>
|
|---|
| 1267 | </xsd:attributeGroup>
|
|---|
| 1268 | <xsd:attributeGroup name = "attr.parameters">
|
|---|
| 1269 | <xsd:attribute name = "parameters" type = "xsd:string"/>
|
|---|
| 1270 | </xsd:attributeGroup>
|
|---|
| 1271 | <xsd:attributeGroup name = "attr.isvisible">
|
|---|
| 1272 | <xsd:attribute name = "isvisible" type = "xsd:boolean"/>
|
|---|
| 1273 | </xsd:attributeGroup>
|
|---|
| 1274 | <xsd:attributeGroup name = "attr.identifier">
|
|---|
| 1275 | <xsd:attribute name = "identifier" type = "xsd:ID"/>
|
|---|
| 1276 | </xsd:attributeGroup>
|
|---|
| 1277 | <xsd:attributeGroup name = "attr.identifier.req">
|
|---|
| 1278 | <xsd:attribute name = "identifier" use = "required" type = "xsd:ID"/>
|
|---|
| 1279 | </xsd:attributeGroup>
|
|---|
| 1280 | <xsd:attributeGroup name = "attr.href.req">
|
|---|
| 1281 | <xsd:attribute name = "href" use = "required" type = "xsd:anyURI"/>
|
|---|
| 1282 | </xsd:attributeGroup>
|
|---|
| 1283 | <xsd:attributeGroup name = "attr.href">
|
|---|
| 1284 | <xsd:attribute name = "href" type = "xsd:anyURI"/>
|
|---|
| 1285 | </xsd:attributeGroup>
|
|---|
| 1286 | <xsd:attributeGroup name = "attr.default">
|
|---|
| 1287 | <xsd:attribute name = "default" type = "xsd:IDREF"/>
|
|---|
| 1288 | </xsd:attributeGroup>
|
|---|
| 1289 | <xsd:attributeGroup name = "attr.base">
|
|---|
| 1290 | <xsd:attribute ref = "xml:base"/>
|
|---|
| 1291 | </xsd:attributeGroup>
|
|---|
| 1292 |
|
|---|
| 1293 | <!-- Copyright (2) 2003 IMS Global Learning Consortium, Inc. -->
|
|---|
| 1294 |
|
|---|
| 1295 |
|
|---|
| 1296 | <!-- ******************** -->
|
|---|
| 1297 |
|
|---|
| 1298 |
|
|---|
| 1299 | <!-- ** Change History ** -->
|
|---|
| 1300 |
|
|---|
| 1301 |
|
|---|
| 1302 | <!-- ******************** -->
|
|---|
| 1303 |
|
|---|
| 1304 |
|
|---|
| 1305 | <!-- **************************** -->
|
|---|
| 1306 |
|
|---|
| 1307 |
|
|---|
| 1308 | <!-- ** Attribute Declarations ** -->
|
|---|
| 1309 |
|
|---|
| 1310 |
|
|---|
| 1311 | <!-- **************************** -->
|
|---|
| 1312 |
|
|---|
| 1313 |
|
|---|
| 1314 | <!-- ************************** -->
|
|---|
| 1315 |
|
|---|
| 1316 |
|
|---|
| 1317 | <!-- ** Element Declarations ** -->
|
|---|
| 1318 |
|
|---|
| 1319 |
|
|---|
| 1320 | <!-- ************************** -->
|
|---|
| 1321 |
|
|---|
| 1322 | <xsd:element name = "dependency" type = "dependencyType"/>
|
|---|
| 1323 | <xsd:element name = "file" type = "fileType"/>
|
|---|
| 1324 | <xsd:element name = "item" type = "itemType"/>
|
|---|
| 1325 | <xsd:element name = "manifest" type = "manifestType"/>
|
|---|
| 1326 | <xsd:element name = "metadata" type = "metadataType"/>
|
|---|
| 1327 | <xsd:element name = "organization" type = "organizationType"/>
|
|---|
| 1328 | <xsd:element name = "organizations" type = "organizationsType"/>
|
|---|
| 1329 | <xsd:element name = "resource" type = "resourceType"/>
|
|---|
| 1330 | <xsd:element name = "resources" type = "resourcesType"/>
|
|---|
| 1331 | <xsd:element name = "schema" type = "schemaType"/>
|
|---|
| 1332 | <xsd:element name = "schemaversion" type = "schemaversionType"/>
|
|---|
| 1333 | <xsd:element name = "title" type = "titleType"/>
|
|---|
| 1334 |
|
|---|
| 1335 | <!-- ******************* -->
|
|---|
| 1336 |
|
|---|
| 1337 |
|
|---|
| 1338 | <!-- ** Complex Types ** -->
|
|---|
| 1339 |
|
|---|
| 1340 |
|
|---|
| 1341 | <!-- ******************* -->
|
|---|
| 1342 |
|
|---|
| 1343 |
|
|---|
| 1344 | <!-- **************** -->
|
|---|
| 1345 |
|
|---|
| 1346 |
|
|---|
| 1347 | <!-- ** dependency ** -->
|
|---|
| 1348 |
|
|---|
| 1349 |
|
|---|
| 1350 | <!-- **************** -->
|
|---|
| 1351 |
|
|---|
| 1352 | <xsd:complexType name = "dependencyType">
|
|---|
| 1353 | <xsd:sequence>
|
|---|
| 1354 | <xsd:group ref = "grp.any"/>
|
|---|
| 1355 | </xsd:sequence>
|
|---|
| 1356 | <xsd:attributeGroup ref = "attr.identifierref.req"/>
|
|---|
| 1357 | <xsd:anyAttribute namespace = "##other" processContents = "strict"/>
|
|---|
| 1358 | </xsd:complexType>
|
|---|
| 1359 |
|
|---|
| 1360 | <!-- ********** -->
|
|---|
| 1361 |
|
|---|
| 1362 |
|
|---|
| 1363 | <!-- ** file ** -->
|
|---|
| 1364 |
|
|---|
| 1365 |
|
|---|
| 1366 | <!-- ********** -->
|
|---|
| 1367 |
|
|---|
| 1368 | <xsd:complexType name = "fileType">
|
|---|
| 1369 | <xsd:sequence>
|
|---|
| 1370 | <xsd:element ref = "metadata" minOccurs = "0"/>
|
|---|
| 1371 | <xsd:group ref = "grp.any"/>
|
|---|
| 1372 | </xsd:sequence>
|
|---|
| 1373 | <xsd:attributeGroup ref = "attr.href.req"/>
|
|---|
| 1374 | <xsd:anyAttribute namespace = "##other" processContents = "strict"/>
|
|---|
| 1375 | </xsd:complexType>
|
|---|
| 1376 |
|
|---|
| 1377 | <!-- ********** -->
|
|---|
| 1378 |
|
|---|
| 1379 |
|
|---|
| 1380 | <!-- ** item ** -->
|
|---|
| 1381 |
|
|---|
| 1382 |
|
|---|
| 1383 | <!-- ********** -->
|
|---|
| 1384 |
|
|---|
| 1385 | <xsd:complexType name = "itemType">
|
|---|
| 1386 | <xsd:sequence>
|
|---|
| 1387 | <xsd:element ref = "title" minOccurs = "0"/>
|
|---|
| 1388 | <xsd:element ref = "item" minOccurs = "0" maxOccurs = "unbounded"/>
|
|---|
| 1389 | <xsd:element ref = "metadata" minOccurs = "0"/>
|
|---|
| 1390 | <xsd:group ref = "grp.any"/>
|
|---|
| 1391 | </xsd:sequence>
|
|---|
| 1392 | <xsd:attributeGroup ref = "attr.identifier.req"/>
|
|---|
| 1393 | <xsd:attributeGroup ref = "attr.identifierref"/>
|
|---|
| 1394 | <xsd:attributeGroup ref = "attr.isvisible"/>
|
|---|
| 1395 | <xsd:attributeGroup ref = "attr.parameters"/>
|
|---|
| 1396 | <xsd:anyAttribute namespace = "##other" processContents = "strict"/>
|
|---|
| 1397 | </xsd:complexType>
|
|---|
| 1398 |
|
|---|
| 1399 | <!-- ************** -->
|
|---|
| 1400 |
|
|---|
| 1401 |
|
|---|
| 1402 | <!-- ** manifest ** -->
|
|---|
| 1403 |
|
|---|
| 1404 |
|
|---|
| 1405 | <!-- ************** -->
|
|---|
| 1406 |
|
|---|
| 1407 | <xsd:complexType name = "manifestType">
|
|---|
| 1408 | <xsd:sequence>
|
|---|
| 1409 | <xsd:element ref = "metadata" minOccurs = "0"/>
|
|---|
| 1410 | <xsd:element ref = "organizations"/>
|
|---|
| 1411 | <xsd:element ref = "resources"/>
|
|---|
| 1412 | <xsd:element ref = "manifest" minOccurs = "0" maxOccurs = "unbounded"/>
|
|---|
| 1413 | <xsd:group ref = "grp.any"/>
|
|---|
| 1414 | </xsd:sequence>
|
|---|
| 1415 | <xsd:attributeGroup ref = "attr.identifier.req"/>
|
|---|
| 1416 | <xsd:attributeGroup ref = "attr.version"/>
|
|---|
| 1417 | <xsd:attribute ref = "xml:base"/>
|
|---|
| 1418 | <xsd:anyAttribute namespace = "##other" processContents = "strict"/>
|
|---|
| 1419 | </xsd:complexType>
|
|---|
| 1420 |
|
|---|
| 1421 | <!-- ************** -->
|
|---|
| 1422 |
|
|---|
| 1423 |
|
|---|
| 1424 | <!-- ** metadata ** -->
|
|---|
| 1425 |
|
|---|
| 1426 |
|
|---|
| 1427 | <!-- ************** -->
|
|---|
| 1428 |
|
|---|
| 1429 | <xsd:complexType name = "metadataType">
|
|---|
| 1430 | <xsd:sequence>
|
|---|
| 1431 | <xsd:element ref = "schema" minOccurs = "0"/>
|
|---|
| 1432 | <xsd:element ref = "schemaversion" minOccurs = "0"/>
|
|---|
| 1433 | <xsd:group ref = "grp.any"/>
|
|---|
| 1434 | </xsd:sequence>
|
|---|
| 1435 | </xsd:complexType>
|
|---|
| 1436 |
|
|---|
| 1437 | <!-- ******************* -->
|
|---|
| 1438 |
|
|---|
| 1439 |
|
|---|
| 1440 | <!-- ** organizations ** -->
|
|---|
| 1441 |
|
|---|
| 1442 |
|
|---|
| 1443 | <!-- ******************* -->
|
|---|
| 1444 |
|
|---|
| 1445 | <xsd:complexType name = "organizationsType">
|
|---|
| 1446 | <xsd:sequence>
|
|---|
| 1447 | <xsd:element ref = "organization" minOccurs = "0" maxOccurs = "unbounded"/>
|
|---|
| 1448 | <xsd:group ref = "grp.any"/>
|
|---|
| 1449 | </xsd:sequence>
|
|---|
| 1450 | <xsd:attributeGroup ref = "attr.default"/>
|
|---|
| 1451 | <xsd:anyAttribute namespace = "##other" processContents = "strict"/>
|
|---|
| 1452 | </xsd:complexType>
|
|---|
| 1453 |
|
|---|
| 1454 | <!-- ****************** -->
|
|---|
| 1455 |
|
|---|
| 1456 |
|
|---|
| 1457 | <!-- ** organization ** -->
|
|---|
| 1458 |
|
|---|
| 1459 |
|
|---|
| 1460 | <!-- ****************** -->
|
|---|
| 1461 |
|
|---|
| 1462 | <xsd:complexType name = "organizationType">
|
|---|
| 1463 | <xsd:sequence>
|
|---|
| 1464 | <xsd:element ref = "title" minOccurs = "0"/>
|
|---|
| 1465 | <xsd:element ref = "item" minOccurs = "0" maxOccurs = "unbounded"/>
|
|---|
| 1466 | <xsd:element ref = "metadata" minOccurs = "0"/>
|
|---|
| 1467 | <xsd:group ref = "grp.any"/>
|
|---|
| 1468 | </xsd:sequence>
|
|---|
| 1469 | <xsd:attributeGroup ref = "attr.identifier.req"/>
|
|---|
| 1470 | <xsd:attributeGroup ref = "attr.structure.req"/>
|
|---|
| 1471 | <xsd:anyAttribute namespace = "##other" processContents = "strict"/>
|
|---|
| 1472 | </xsd:complexType>
|
|---|
| 1473 |
|
|---|
| 1474 | <!-- *************** -->
|
|---|
| 1475 |
|
|---|
| 1476 |
|
|---|
| 1477 | <!-- ** resources ** -->
|
|---|
| 1478 |
|
|---|
| 1479 |
|
|---|
| 1480 | <!-- *************** -->
|
|---|
| 1481 |
|
|---|
| 1482 | <xsd:complexType name = "resourcesType">
|
|---|
| 1483 | <xsd:sequence>
|
|---|
| 1484 | <xsd:element ref = "resource" minOccurs = "0" maxOccurs = "unbounded"/>
|
|---|
| 1485 | <xsd:group ref = "grp.any"/>
|
|---|
| 1486 | </xsd:sequence>
|
|---|
| 1487 | <xsd:attributeGroup ref = "attr.base"/>
|
|---|
| 1488 | <xsd:anyAttribute namespace = "##other" processContents = "strict"/>
|
|---|
| 1489 | </xsd:complexType>
|
|---|
| 1490 |
|
|---|
| 1491 | <!-- ************** -->
|
|---|
| 1492 |
|
|---|
| 1493 |
|
|---|
| 1494 | <!-- ** resource ** -->
|
|---|
| 1495 |
|
|---|
| 1496 |
|
|---|
| 1497 | <!-- ************** -->
|
|---|
| 1498 |
|
|---|
| 1499 | <xsd:complexType name = "resourceType">
|
|---|
| 1500 | <xsd:sequence>
|
|---|
| 1501 | <xsd:element ref = "metadata" minOccurs = "0"/>
|
|---|
| 1502 | <xsd:element ref = "file" minOccurs = "0" maxOccurs = "unbounded"/>
|
|---|
| 1503 | <xsd:element ref = "dependency" minOccurs = "0" maxOccurs = "unbounded"/>
|
|---|
| 1504 | <xsd:group ref = "grp.any"/>
|
|---|
| 1505 | </xsd:sequence>
|
|---|
| 1506 | <xsd:attributeGroup ref = "attr.identifier.req"/>
|
|---|
| 1507 | <xsd:attributeGroup ref = "attr.resourcetype.req"/>
|
|---|
| 1508 | <xsd:attributeGroup ref = "attr.base"/>
|
|---|
| 1509 | <xsd:attributeGroup ref = "attr.href"/>
|
|---|
| 1510 | <xsd:anyAttribute namespace = "##other" processContents = "strict"/>
|
|---|
| 1511 | </xsd:complexType>
|
|---|
| 1512 |
|
|---|
| 1513 | <!-- *************** -->
|
|---|
| 1514 |
|
|---|
| 1515 |
|
|---|
| 1516 | <!-- ** variation ** -->
|
|---|
| 1517 |
|
|---|
| 1518 |
|
|---|
| 1519 | <!-- *************** -->
|
|---|
| 1520 |
|
|---|
| 1521 |
|
|---|
| 1522 | <!-- ****************** -->
|
|---|
| 1523 |
|
|---|
| 1524 |
|
|---|
| 1525 | <!-- ** Simple Types ** -->
|
|---|
| 1526 |
|
|---|
| 1527 |
|
|---|
| 1528 | <!-- ****************** -->
|
|---|
| 1529 |
|
|---|
| 1530 | <xsd:simpleType name = "schemaType">
|
|---|
| 1531 | <xsd:restriction base = "xsd:string"/>
|
|---|
| 1532 | </xsd:simpleType>
|
|---|
| 1533 | <xsd:simpleType name = "schemaversionType">
|
|---|
| 1534 | <xsd:restriction base = "xsd:string"/>
|
|---|
| 1535 | </xsd:simpleType>
|
|---|
| 1536 | <xsd:simpleType name = "titleType">
|
|---|
| 1537 | <xsd:restriction base = "xsd:string"/>
|
|---|
| 1538 | </xsd:simpleType>
|
|---|
| 1539 | </xsd:schema>]]>
|
|---|
| 1540 | </item>
|
|---|
| 1541 | <item key="id"><![CDATA[imscp_v1p1.xsd]]></item>
|
|---|
| 1542 | <item key="mandatory" type="int">0</item>
|
|---|
| 1543 | <item key="multilang" type="int">0</item>
|
|---|
| 1544 | <item key="name"><![CDATA[Template: SCORM Schema]]></item>
|
|---|
| 1545 | <item key="repetitive" type="int">0</item>
|
|---|
| 1546 | <item key="type"><![CDATA[DTML Method]]></item>
|
|---|
| 1547 | </dictionary>
|
|---|
| 1548 | </item>
|
|---|
| 1549 | <item type="dictionary">
|
|---|
| 1550 | <dictionary>
|
|---|
| 1551 | <item key="custom"><![CDATA[<?xml version = "1.0" encoding = "UTF-8"?>
|
|---|
| 1552 | <!--Generated by Turbo XML 2.3.1.100. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
|
|---|
| 1553 | <xs:schema xmlns = "http://www.imsglobal.org/xsd/imsss"
|
|---|
| 1554 | targetNamespace = "http://www.imsglobal.org/xsd/imsss"
|
|---|
| 1555 | xmlns:xs = "http://www.w3.org/2001/XMLSchema"
|
|---|
| 1556 | elementFormDefault = "qualified"
|
|---|
| 1557 | attributeFormDefault = "unqualified">
|
|---|
| 1558 | <xs:include schemaLocation = "imsss_v1p0seqrule.xsd"/>
|
|---|
| 1559 | <xs:include schemaLocation = "imsss_v1p0objective.xsd"/>
|
|---|
| 1560 | <xs:include schemaLocation = "imsss_v1p0delivery.xsd"/>
|
|---|
| 1561 | <xs:include schemaLocation = "imsss_v1p0random.xsd"/>
|
|---|
| 1562 | <xs:include schemaLocation = "imsss_v1p0rollup.xsd"/>
|
|---|
| 1563 | <xs:include schemaLocation = "imsss_v1p0control.xsd"/>
|
|---|
| 1564 | <xs:include schemaLocation = "imsss_v1p0limit.xsd"/>
|
|---|
| 1565 | <xs:include schemaLocation = "imsss_v1p0auxresource.xsd"/>
|
|---|
| 1566 | <xs:element name = "sequencing" type = "sequencingType"
|
|---|
| 1567 | block = "#all">
|
|---|
| 1568 | <xs:annotation>
|
|---|
| 1569 | <xs:documentation>The root element for all sequencing tags. This tag will usually appear as a child element to an IMS CP item tag.</xs:documentation>
|
|---|
| 1570 | </xs:annotation>
|
|---|
| 1571 | </xs:element>
|
|---|
| 1572 | <xs:complexType name = "sequencingType">
|
|---|
| 1573 | <xs:annotation>
|
|---|
| 1574 | <xs:documentation>The type associated with any top-level sequencing tag</xs:documentation>
|
|---|
| 1575 | </xs:annotation>
|
|---|
| 1576 | <xs:sequence>
|
|---|
| 1577 | <xs:element name = "controlMode" type = "controlModeType"
|
|---|
| 1578 | block = "#all" minOccurs = "0">
|
|---|
| 1579 | <xs:annotation>
|
|---|
| 1580 | <xs:documentation>non-exclusive definition of acceptable control-modes</xs:documentation>
|
|---|
| 1581 | </xs:annotation>
|
|---|
| 1582 | </xs:element>
|
|---|
| 1583 | <xs:element name = "sequencingRules" type = "sequencingRulesType"
|
|---|
| 1584 | block = "#all" minOccurs = "0"/>
|
|---|
| 1585 | <xs:element name = "limitConditions" type = "limitConditionsType"
|
|---|
| 1586 | block = "#all" minOccurs = "0"/>
|
|---|
| 1587 | <xs:element name = "auxiliaryResources" type = "auxiliaryResourcesType"
|
|---|
| 1588 | block = "#all" minOccurs = "0"/>
|
|---|
| 1589 | <xs:element name = "rollupRules" type = "rollupRulesType"
|
|---|
| 1590 | block = "#all" minOccurs = "0"/>
|
|---|
| 1591 | <xs:element name = "objectives" type = "objectivesType"
|
|---|
| 1592 | block = "#all" minOccurs = "0">
|
|---|
| 1593 | <!--
|
|---|
| 1594 | <xs:unique name = "uniqueGlobalObjective">
|
|---|
| 1595 | <xs:selector xpath = ".//imsss:mapInfo[@writeSatisfiedStatus = 'true' or @writeNormalizedMeasure = 'true']"/>
|
|---|
| 1596 | <xs:field xpath = "@targetObjectiveID"/>
|
|---|
| 1597 | </xs:unique>
|
|---|
| 1598 | -->
|
|---|
| 1599 | </xs:element>
|
|---|
| 1600 | <xs:element name = "randomizationControls" type = "randomizationType"
|
|---|
| 1601 | block = "#all" minOccurs = "0"/>
|
|---|
| 1602 | <xs:element name = "deliveryControls" type = "deliveryControlsType"
|
|---|
| 1603 | block = "#all" minOccurs = "0"/>
|
|---|
| 1604 | <xs:any namespace = "##other" processContents = "strict" minOccurs = "0" maxOccurs = "unbounded"/>
|
|---|
| 1605 | </xs:sequence>
|
|---|
| 1606 | <xs:attribute name = "ID" type = "xs:ID"/>
|
|---|
| 1607 | <xs:attribute name = "IDRef" type = "xs:IDREF"/>
|
|---|
| 1608 | </xs:complexType>
|
|---|
| 1609 | <xs:element name = "sequencingCollection"
|
|---|
| 1610 | block = "#all">
|
|---|
| 1611 | <xs:complexType>
|
|---|
| 1612 | <xs:sequence>
|
|---|
| 1613 | <xs:element ref = "sequencing" maxOccurs = "unbounded"/>
|
|---|
| 1614 | </xs:sequence>
|
|---|
| 1615 | </xs:complexType>
|
|---|
| 1616 | </xs:element>
|
|---|
| 1617 | </xs:schema>]]>
|
|---|
| 1618 | </item>
|
|---|
| 1619 | <item key="id"><![CDATA[imsss_v1p0.xsd]]></item>
|
|---|
| 1620 | <item key="mandatory" type="int">0</item>
|
|---|
| 1621 | <item key="multilang" type="int">0</item>
|
|---|
| 1622 | <item key="name"><![CDATA[Template: SCORM Schema]]></item>
|
|---|
| 1623 | <item key="repetitive" type="int">0</item>
|
|---|
| 1624 | <item key="type"><![CDATA[DTML Method]]></item>
|
|---|
| 1625 | </dictionary>
|
|---|
| 1626 | </item>
|
|---|
| 1627 | <item type="dictionary">
|
|---|
| 1628 | <dictionary>
|
|---|
| 1629 | <item key="custom"><![CDATA[<!-- BO bodyContentZMSCustom_SCORMmetaset -->
|
|---|
| 1630 |
|
|---|
| 1631 | <dtml-in "getMetaobjAttrIds(meta_id)">
|
|---|
| 1632 | <dtml-let metaObjAttr="getMetaobjAttr(meta_id,_['sequence-item'])">
|
|---|
| 1633 | <dtml-if "getObjProperty(metaObjAttr['id'],REQUEST)">
|
|---|
| 1634 | <meta name="<dtml-var "metaObjAttr['id']">" value="<dtml-var "getObjProperty(metaObjAttr['id'],REQUEST)">">
|
|---|
| 1635 | </dtml-if>
|
|---|
| 1636 | </dtml-let>
|
|---|
| 1637 | </dtml-in>
|
|---|
| 1638 |
|
|---|
| 1639 | <!-- EO bodyContentZMSCustom_SCORMmetaset -->]]>
|
|---|
| 1640 | </item>
|
|---|
| 1641 | <item key="id"><![CDATA[bodyContentZMSCustom_SCORMmetaset]]></item>
|
|---|
| 1642 | <item key="mandatory" type="int">0</item>
|
|---|
| 1643 | <item key="multilang" type="int">0</item>
|
|---|
| 1644 | <item key="name"><![CDATA[Template: SCORM Metaset]]></item>
|
|---|
| 1645 | <item key="repetitive" type="int">0</item>
|
|---|
| 1646 | <item key="type"><![CDATA[DTML Method]]></item>
|
|---|
| 1647 | </dictionary>
|
|---|
| 1648 | </item>
|
|---|
| 1649 | </list>
|
|---|
| 1650 | </item>
|
|---|
| 1651 | <item key="enabled" type="int">0</item>
|
|---|
| 1652 | <item key="id"><![CDATA[SCORMmetaset]]></item>
|
|---|
| 1653 | <item key="name"><![CDATA[SCORM Metaset]]></item>
|
|---|
| 1654 | <item key="package"><![CDATA[com.zms.elc.lcms]]></item>
|
|---|
| 1655 | <item key="revision"><![CDATA[0.0.0]]></item>
|
|---|
| 1656 | <item key="type"><![CDATA[ZMSResource]]></item>
|
|---|
| 1657 | </dictionary>
|
|---|
| 1658 | </item>
|
|---|
| 1659 | </dictionary>
|
|---|
| 1660 | </item>
|
|---|
| 1661 | <item type="dictionary">
|
|---|
| 1662 | <dictionary>
|
|---|
| 1663 | <item key="key"><![CDATA[SCORMseq]]></item>
|
|---|
| 1664 | <item key="value" type="dictionary">
|
|---|
| 1665 | <dictionary>
|
|---|
| 1666 | <item key="__obj_attrs__" type="list">
|
|---|
| 1667 | <list>
|
|---|
| 1668 | <item type="dictionary">
|
|---|
| 1669 | <dictionary>
|
|---|
| 1670 | <item key="id"><![CDATA[records]]></item>
|
|---|
| 1671 | <item key="mandatory" type="int">1</item>
|
|---|
| 1672 | <item key="multilang" type="int">0</item>
|
|---|
| 1673 | <item key="name"><![CDATA[DatensÀtze]]></item>
|
|---|
| 1674 | <item key="repetitive" type="int">0</item>
|
|---|
| 1675 | <item key="type"><![CDATA[list]]></item>
|
|---|
| 1676 | </dictionary>
|
|---|
| 1677 | </item>
|
|---|
| 1678 | <item type="dictionary">
|
|---|
| 1679 | <dictionary>
|
|---|
| 1680 | <item key="custom" type="int">1</item>
|
|---|
| 1681 | <item key="id"><![CDATA[seqCondition]]></item>
|
|---|
| 1682 | <item key="keys" type="list">
|
|---|
| 1683 | <list>
|
|---|
| 1684 | <item><![CDATA[attempted]]></item>
|
|---|
| 1685 | <item><![CDATA[satisfied]]></item>
|
|---|
| 1686 | <item><![CDATA[completed]]></item>
|
|---|
| 1687 | <item><![CDATA[always]]></item>
|
|---|
| 1688 | </list>
|
|---|
| 1689 | </item>
|
|---|
| 1690 | <item key="mandatory" type="int">1</item>
|
|---|
| 1691 | <item key="multilang" type="int">0</item>
|
|---|
| 1692 | <item key="name"><![CDATA[Condition]]></item>
|
|---|
| 1693 | <item key="repetitive" type="int">0</item>
|
|---|
| 1694 | <item key="type"><![CDATA[select]]></item>
|
|---|
| 1695 | </dictionary>
|
|---|
| 1696 | </item>
|
|---|
| 1697 | <item type="dictionary">
|
|---|
| 1698 | <dictionary>
|
|---|
| 1699 | <item key="custom" type="int">1</item>
|
|---|
| 1700 | <item key="id"><![CDATA[seqOperator]]></item>
|
|---|
| 1701 | <item key="keys" type="list">
|
|---|
| 1702 | <list>
|
|---|
| 1703 | <item><![CDATA[-]]></item>
|
|---|
| 1704 | <item><![CDATA[not]]></item>
|
|---|
| 1705 | </list>
|
|---|
| 1706 | </item>
|
|---|
| 1707 | <item key="mandatory" type="int">1</item>
|
|---|
| 1708 | <item key="multilang" type="int">0</item>
|
|---|
| 1709 | <item key="name"><![CDATA[Operator]]></item>
|
|---|
| 1710 | <item key="repetitive" type="int">0</item>
|
|---|
| 1711 | <item key="type"><![CDATA[select]]></item>
|
|---|
| 1712 | </dictionary>
|
|---|
| 1713 | </item>
|
|---|
| 1714 | <item type="dictionary">
|
|---|
| 1715 | <dictionary>
|
|---|
| 1716 | <item key="custom" type="int">1</item>
|
|---|
| 1717 | <item key="id"><![CDATA[seqReferencedObjective]]></item>
|
|---|
| 1718 | <item key="mandatory" type="int">1</item>
|
|---|
| 1719 | <item key="multilang" type="int">0</item>
|
|---|
| 1720 | <item key="name"><![CDATA[Referenced Objective]]></item>
|
|---|
| 1721 | <item key="repetitive" type="int">0</item>
|
|---|
| 1722 | <item key="type"><![CDATA[url]]></item>
|
|---|
| 1723 | </dictionary>
|
|---|
| 1724 | </item>
|
|---|
| 1725 | <item type="dictionary">
|
|---|
| 1726 | <dictionary>
|
|---|
| 1727 | <item key="custom"><![CDATA[<!--// BO imsmanifest //-->
|
|---|
| 1728 |
|
|---|
| 1729 | <dtml-call "REQUEST.set('s_xml',[])">
|
|---|
| 1730 | <dtml-call "REQUEST.set('i_count',0)">
|
|---|
| 1731 |
|
|---|
| 1732 | <dtml-in "getObjProperty('records',REQUEST)" mapping>
|
|---|
| 1733 | <dtml-let ob="getLinkObj(seqReferencedObjective)">
|
|---|
| 1734 | <dtml-if ob>
|
|---|
| 1735 | <dtml-unless i_count>
|
|---|
| 1736 | <dtml-call "s_xml.append('<imsss:sequencing>\n')">
|
|---|
| 1737 | <dtml-call "s_xml.append('<imsss:sequencingRules>\n')">
|
|---|
| 1738 | </dtml-unless>
|
|---|
| 1739 | <dtml-call "s_xml.append('<imsss:preConditionRule>\n')">
|
|---|
| 1740 | <dtml-call "s_xml.append('<imsss:ruleConditions>\n')">
|
|---|
| 1741 | <dtml-call "s_xml.append('<imsss:ruleCondition')">
|
|---|
| 1742 | <dtml-call "REQUEST.set( 'lCondition' ,seqCondition)">
|
|---|
| 1743 | <dtml-call "REQUEST.set( 'lOperator' ,seqOperator)">
|
|---|
| 1744 | <dtml-if "lCondition.lower() == 'completed' and lOperator.lower() == '-'">
|
|---|
| 1745 | <dtml-call "REQUEST.set( 'lCondition' ,'satisfied')">
|
|---|
| 1746 | <dtml-call "REQUEST.set( 'lOperator' ,'-')">
|
|---|
| 1747 | <dtml-elif "lCondition.lower() == 'failed' and lOperator.lower() == '-'">
|
|---|
| 1748 | <dtml-call "REQUEST.set( 'lCondition' ,'satisfied')">
|
|---|
| 1749 | <dtml-call "REQUEST.set( 'lOperator' ,'not')">
|
|---|
| 1750 | </dtml-if>
|
|---|
| 1751 | <dtml-call "s_xml.append(' condition='+QUOT+lCondition.lower()+QUOT)">
|
|---|
| 1752 | <dtml-if "lOperator != '-'">
|
|---|
| 1753 | <dtml-call "s_xml.append(' operator='+QUOT+lOperator.lower()+QUOT)">
|
|---|
| 1754 | </dtml-if>
|
|---|
| 1755 | <dtml-call "s_xml.append(' referencedObjective='+QUOT+ob.id+QUOT)">
|
|---|
| 1756 | <dtml-call "s_xml.append('>')">
|
|---|
| 1757 | <dtml-call "s_xml.append('</imsss:ruleCondition>\n')">
|
|---|
| 1758 | <dtml-call "s_xml.append('</imsss:ruleConditions>\n')">
|
|---|
| 1759 | <dtml-call "s_xml.append('<imsss:ruleAction action='+QUOT+'skip'+QUOT+'>')">
|
|---|
| 1760 | <dtml-call "s_xml.append('</imsss:ruleAction>\n')">
|
|---|
| 1761 | <dtml-call "s_xml.append('</imsss:preConditionRule>\n')">
|
|---|
| 1762 | <dtml-call "REQUEST.set('i_count',i_count+1)">
|
|---|
| 1763 | </dtml-if>
|
|---|
| 1764 | </dtml-let>
|
|---|
| 1765 | </dtml-in>
|
|---|
| 1766 | <dtml-if i_count>
|
|---|
| 1767 | <dtml-call "s_xml.append('</imsss:sequencingRules>\n')">
|
|---|
| 1768 | <dtml-call "s_xml.append('</imsss:sequencing>\n')">
|
|---|
| 1769 | </dtml-if>
|
|---|
| 1770 |
|
|---|
| 1771 | <dtml-call "REQUEST.set('s_xml',''.join(s_xml))">
|
|---|
| 1772 | <dtml-return s_xml>
|
|---|
| 1773 |
|
|---|
| 1774 | <!--// EO imsmanifest //-->]]>
|
|---|
| 1775 | </item>
|
|---|
| 1776 | <item key="id"><![CDATA[imsmanifest]]></item>
|
|---|
| 1777 | <item key="mandatory" type="int">0</item>
|
|---|
| 1778 | <item key="multilang" type="int">0</item>
|
|---|
| 1779 | <item key="name"><![CDATA[imsmanifest.xml]]></item>
|
|---|
| 1780 | <item key="repetitive" type="int">0</item>
|
|---|
| 1781 | <item key="type"><![CDATA[method]]></item>
|
|---|
| 1782 | </dictionary>
|
|---|
| 1783 | </item>
|
|---|
| 1784 | <item type="dictionary">
|
|---|
| 1785 | <dictionary>
|
|---|
| 1786 | <item key="custom"><![CDATA[<!-- BO bodyContentZMSCustom_SCORMseq -->
|
|---|
| 1787 |
|
|---|
| 1788 | <div class="form-text" style="padding:8px">
|
|---|
| 1789 | <dtml-let recordAttrId="getMetaobj(meta_id)['attrs'][0]['id']" recordAttr="getObjProperty(recordAttrId,REQUEST)">
|
|---|
| 1790 | <dtml-if recordAttr>
|
|---|
| 1791 | <table cellspacing="1" cellpadding="1" border="0" class="neutralColorStrong0">
|
|---|
| 1792 | <tr>
|
|---|
| 1793 | <td class="form-small"><b>#</b></td>
|
|---|
| 1794 | <td class="form-small"><b>Condition</b></td>
|
|---|
| 1795 | <td class="form-small"><b>Referenced Objective</b></td>
|
|---|
| 1796 | </tr>
|
|---|
| 1797 | <dtml-in recordAttr mapping>
|
|---|
| 1798 | <dtml-let ob="getLinkObj(seqReferencedObjective,REQUEST)">
|
|---|
| 1799 | <dtml-if ob>
|
|---|
| 1800 | <tr class="<dtml-if sequence-odd>zmiTableRowOdd<dtml-else>zmiTableRowEven</dtml-if>">
|
|---|
| 1801 | <td class="neutralColorStrong0" align="right"><div class="form-small"><dtml-var "_['sequence-index']+1">.</div></td>
|
|---|
| 1802 | <td class="form-small">
|
|---|
| 1803 | <i>
|
|---|
| 1804 | <dtml-unless "seqOperator == '-'"><dtml-var seqOperator></dtml-unless>
|
|---|
| 1805 | <dtml-var seqCondition>
|
|---|
| 1806 | </i>
|
|---|
| 1807 | </td>
|
|---|
| 1808 | <td class="form-small">
|
|---|
| 1809 | <a href="<dtml-var "ob.absolute_url()">/manage_main?lang=<dtml-var lang>" target="_blank" class="zmi"><img src="<dtml-var "ob.display_icon(REQUEST)">" title="<dtml-var "ob.display_type(REQUEST)">" border="0" align="absmiddle"/></a>
|
|---|
| 1810 | <a href="<dtml-var "ob.absolute_url()">/manage_main?lang=<dtml-var lang>" target="_blank" class="zmi"><dtml-var "ob.getTitlealt(REQUEST)"></a>
|
|---|
| 1811 | </td>
|
|---|
| 1812 | </tr>
|
|---|
| 1813 | </dtml-if>
|
|---|
| 1814 | </dtml-let>
|
|---|
| 1815 | </dtml-in>
|
|---|
| 1816 | </table>
|
|---|
| 1817 | <dtml-else>
|
|---|
| 1818 | <dtml-var "getZMILangStr('ATTR_NONE')">
|
|---|
| 1819 | </dtml-if>
|
|---|
| 1820 | </dtml-let>
|
|---|
| 1821 | </div>
|
|---|
| 1822 |
|
|---|
| 1823 | <!-- EO bodyContentZMSCustom_SCORMseq -->]]>
|
|---|
| 1824 | </item>
|
|---|
| 1825 | <item key="id"><![CDATA[bodyContentZMSCustom_SCORMseq]]></item>
|
|---|
| 1826 | <item key="mandatory" type="int">0</item>
|
|---|
| 1827 | <item key="multilang" type="int">0</item>
|
|---|
| 1828 | <item key="name"><![CDATA[Template: SCORM-Preconditions]]></item>
|
|---|
| 1829 | <item key="repetitive" type="int">0</item>
|
|---|
| 1830 | <item key="type"><![CDATA[DTML Method]]></item>
|
|---|
| 1831 | </dictionary>
|
|---|
| 1832 | </item>
|
|---|
| 1833 | </list>
|
|---|
| 1834 | </item>
|
|---|
| 1835 | <item key="enabled" type="int">0</item>
|
|---|
| 1836 | <item key="id"><![CDATA[SCORMseq]]></item>
|
|---|
| 1837 | <item key="name"><![CDATA[SCORM-Preconditions]]></item>
|
|---|
| 1838 | <item key="package"><![CDATA[com.zms.elc.lcms]]></item>
|
|---|
| 1839 | <item key="revision"><![CDATA[0.0.0]]></item>
|
|---|
| 1840 | <item key="type"><![CDATA[ZMSRecordSet]]></item>
|
|---|
| 1841 | </dictionary>
|
|---|
| 1842 | </item>
|
|---|
| 1843 | </dictionary>
|
|---|
| 1844 | </item>
|
|---|
| 1845 | <item type="dictionary">
|
|---|
| 1846 | <dictionary>
|
|---|
| 1847 | <item key="key"><![CDATA[com.zms.elc.lcms]]></item>
|
|---|
| 1848 | <item key="value" type="dictionary">
|
|---|
| 1849 | <dictionary>
|
|---|
| 1850 | <item key="__obj_attrs__" type="list">
|
|---|
| 1851 | <list>
|
|---|
| 1852 | </list>
|
|---|
| 1853 | </item>
|
|---|
| 1854 | <item key="enabled" type="int">1</item>
|
|---|
| 1855 | <item key="id"><![CDATA[com.zms.elc.lcms]]></item>
|
|---|
| 1856 | <item key="name"><![CDATA[com.zms.elc.lcms]]></item>
|
|---|
| 1857 | <item key="package"/>
|
|---|
| 1858 | <item key="revision"><![CDATA[0.0.0]]></item>
|
|---|
| 1859 | <item key="type"><![CDATA[ZMSPackage]]></item>
|
|---|
| 1860 | </dictionary>
|
|---|
| 1861 | </item>
|
|---|
| 1862 | </dictionary>
|
|---|
| 1863 | </item>
|
|---|
| 1864 | <item type="dictionary">
|
|---|
| 1865 | <dictionary>
|
|---|
| 1866 | <item key="key"><![CDATA[examQExplanation]]></item>
|
|---|
| 1867 | <item key="value" type="dictionary">
|
|---|
| 1868 | <dictionary>
|
|---|
| 1869 | <item key="__obj_attrs__" type="list">
|
|---|
| 1870 | <list>
|
|---|
| 1871 | <item type="dictionary">
|
|---|
| 1872 | <dictionary>
|
|---|
| 1873 | <item key="custom">
|
|---|
| 1874 | <data content_type="image/gif" filename="explanation.gif" type="file">47494638396112001000b30000fc02fc7c88b8c4cedcdcedfc88a7d6f7fbfcc4e2fceeeefbb2b9c67c7bac8498c8b1d9fcd8e0eed0d8ece4e3fc8daedc21f90401000000002c000000001200100003045e10c849ab7d38634b5ff91f533c080710e0d7140ec9a1a9580cc49b168c8020b5a51ca901a3d150707e1fe0607930fa06a025d3590928670383e110e004a44b87d6d1b5041c62ad61b1207bd35a76bb5c49a0eff80427c1effbf526811411003b</data>
|
|---|
| 1875 | </item>
|
|---|
| 1876 | <item key="id"><![CDATA[icon]]></item>
|
|---|
| 1877 | <item key="mandatory" type="int">0</item>
|
|---|
| 1878 | <item key="multilang" type="int">0</item>
|
|---|
| 1879 | <item key="name"><![CDATA[Icon]]></item>
|
|---|
| 1880 | <item key="repetitive" type="int">0</item>
|
|---|
| 1881 | <item key="type"><![CDATA[resource]]></item>
|
|---|
| 1882 | </dictionary>
|
|---|
| 1883 | </item>
|
|---|
| 1884 | <item type="dictionary">
|
|---|
| 1885 | <dictionary>
|
|---|
| 1886 | <item key="id"><![CDATA[xqItems]]></item>
|
|---|
| 1887 | <item key="keys" type="list">
|
|---|
| 1888 | <list>
|
|---|
| 1889 | <item><![CDATA[ZMSGraphic]]></item>
|
|---|
| 1890 | <item><![CDATA[ZMSTable]]></item>
|
|---|
| 1891 | <item><![CDATA[ZMSTextarea]]></item>
|
|---|
| 1892 | </list>
|
|---|
| 1893 | </item>
|
|---|
| 1894 | <item key="mandatory" type="int">0</item>
|
|---|
| 1895 | <item key="multilang" type="int">0</item>
|
|---|
| 1896 | <item key="name"><![CDATA[Items]]></item>
|
|---|
| 1897 | <item key="repetitive" type="int">1</item>
|
|---|
| 1898 | <item key="type"><![CDATA[*]]></item>
|
|---|
| 1899 | </dictionary>
|
|---|
| 1900 | </item>
|
|---|
| 1901 | <item type="dictionary">
|
|---|
| 1902 | <dictionary>
|
|---|
| 1903 | <item key="custom"><![CDATA[//-- BO examQExplanation::js_calcRawScore --
|
|---|
| 1904 |
|
|---|
| 1905 | // ############################################################
|
|---|
| 1906 | // Explanation #<dtml-var "REQUEST.get('cmiInteractionNo',0)">
|
|---|
| 1907 | // ############################################################
|
|---|
| 1908 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.id","<dtml-var id>");
|
|---|
| 1909 |
|
|---|
| 1910 | // Get correct_responses.
|
|---|
| 1911 | // ----------------------
|
|---|
| 1912 | question = "";
|
|---|
| 1913 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.correct_responses.0.pattern",question);
|
|---|
| 1914 |
|
|---|
| 1915 | // Get learner_response.
|
|---|
| 1916 | // ---------------------
|
|---|
| 1917 | key = "";
|
|---|
| 1918 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.learner_response",key);
|
|---|
| 1919 |
|
|---|
| 1920 | // Compare correct_responses with learner_responses.
|
|---|
| 1921 | // -------------------------------------------------
|
|---|
| 1922 | var b = question.toLowerCase()==key.toLowerCase();
|
|---|
| 1923 | if (b)
|
|---|
| 1924 | {
|
|---|
| 1925 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.result","correct");
|
|---|
| 1926 | rawScore++;
|
|---|
| 1927 | }
|
|---|
| 1928 | else
|
|---|
| 1929 | {
|
|---|
| 1930 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.result","incorrect");
|
|---|
| 1931 | }
|
|---|
| 1932 |
|
|---|
| 1933 | <dtml-call "REQUEST.set('cmiInteractionNo',REQUEST.get('cmiInteractionNo',0)+1)">
|
|---|
| 1934 |
|
|---|
| 1935 | //-- EO examQExplanation::js_calcRawScore --]]>
|
|---|
| 1936 | </item>
|
|---|
| 1937 | <item key="id"><![CDATA[js_calcRawScore]]></item>
|
|---|
| 1938 | <item key="mandatory" type="int">0</item>
|
|---|
| 1939 | <item key="multilang" type="int">0</item>
|
|---|
| 1940 | <item key="name"><![CDATA[JavaScript: calcRawScore]]></item>
|
|---|
| 1941 | <item key="repetitive" type="int">0</item>
|
|---|
| 1942 | <item key="type"><![CDATA[method]]></item>
|
|---|
| 1943 | </dictionary>
|
|---|
| 1944 | </item>
|
|---|
| 1945 | <item type="dictionary">
|
|---|
| 1946 | <dictionary>
|
|---|
| 1947 | <item key="custom"><![CDATA[<!-- BO bodyContentZMSCustom_examQExplanation -->
|
|---|
| 1948 |
|
|---|
| 1949 | <h1><dtml-var "getObjProperty('xqTitle',REQUEST)"></h1>
|
|---|
| 1950 | <dtml-in "getObjChildren('xqItems',REQUEST)">
|
|---|
| 1951 | <dtml-var "getBodyContent(REQUEST)">
|
|---|
| 1952 | </dtml-in>
|
|---|
| 1953 | <dtml-call "REQUEST.set('cmiInteractionNo',REQUEST.get('cmiInteractionNo',0)+1)">
|
|---|
| 1954 |
|
|---|
| 1955 | <!-- EO bodyContentZMSCustom_examQExplanation -->]]>
|
|---|
| 1956 | </item>
|
|---|
| 1957 | <item key="id"><![CDATA[bodyContentZMSCustom_examQExplanation]]></item>
|
|---|
| 1958 | <item key="mandatory" type="int">0</item>
|
|---|
| 1959 | <item key="multilang" type="int">0</item>
|
|---|
| 1960 | <item key="name"><![CDATA[Template: Explanation]]></item>
|
|---|
| 1961 | <item key="repetitive" type="int">0</item>
|
|---|
| 1962 | <item key="type"><![CDATA[DTML Method]]></item>
|
|---|
| 1963 | </dictionary>
|
|---|
| 1964 | </item>
|
|---|
| 1965 | </list>
|
|---|
| 1966 | </item>
|
|---|
| 1967 | <item key="enabled" type="int">1</item>
|
|---|
| 1968 | <item key="id"><![CDATA[examQExplanation]]></item>
|
|---|
| 1969 | <item key="name"><![CDATA[Explanation]]></item>
|
|---|
| 1970 | <item key="package"><![CDATA[com.zms.elc.lcms]]></item>
|
|---|
| 1971 | <item key="revision"><![CDATA[0.0.0]]></item>
|
|---|
| 1972 | <item key="type"><![CDATA[ZMSObject]]></item>
|
|---|
| 1973 | </dictionary>
|
|---|
| 1974 | </item>
|
|---|
| 1975 | </dictionary>
|
|---|
| 1976 | </item>
|
|---|
| 1977 | <item type="dictionary">
|
|---|
| 1978 | <dictionary>
|
|---|
| 1979 | <item key="key"><![CDATA[examQFillBlank]]></item>
|
|---|
| 1980 | <item key="value" type="dictionary">
|
|---|
| 1981 | <dictionary>
|
|---|
| 1982 | <item key="__obj_attrs__" type="list">
|
|---|
| 1983 | <list>
|
|---|
| 1984 | <item type="dictionary">
|
|---|
| 1985 | <dictionary>
|
|---|
| 1986 | <item key="custom">
|
|---|
| 1987 | <data content_type="image/gif" filename="fillinl.gif" type="file">47494638396114001400b300004c4e4cb4b6b4fc02fcc4c6c4060a7f5303a1d1c9d1770177270000070000d30000000000501c68e3c30114124500000121f90401000002002c000000001400140003043950c849abbdb8829de50613d77920399ae8280a6bb7b6d95b0e8340db752a0e81ddf3a1124be812c230b2d330a84c9e9c2ae35133555aafca08003b</data>
|
|---|
| 1988 | </item>
|
|---|
| 1989 | <item key="id"><![CDATA[icon]]></item>
|
|---|
| 1990 | <item key="mandatory" type="int">0</item>
|
|---|
| 1991 | <item key="multilang" type="int">0</item>
|
|---|
| 1992 | <item key="name"><![CDATA[Icon]]></item>
|
|---|
| 1993 | <item key="repetitive" type="int">0</item>
|
|---|
| 1994 | <item key="type"><![CDATA[resource]]></item>
|
|---|
| 1995 | </dictionary>
|
|---|
| 1996 | </item>
|
|---|
| 1997 | <item type="dictionary">
|
|---|
| 1998 | <dictionary>
|
|---|
| 1999 | <item key="id"><![CDATA[xqText]]></item>
|
|---|
| 2000 | <item key="mandatory" type="int">1</item>
|
|---|
| 2001 | <item key="multilang" type="int">1</item>
|
|---|
| 2002 | <item key="name"><![CDATA[Text]]></item>
|
|---|
| 2003 | <item key="repetitive" type="int">0</item>
|
|---|
| 2004 | <item key="type"><![CDATA[text]]></item>
|
|---|
| 2005 | </dictionary>
|
|---|
| 2006 | </item>
|
|---|
| 2007 | <item type="dictionary">
|
|---|
| 2008 | <dictionary>
|
|---|
| 2009 | <item key="id"><![CDATA[xqItems]]></item>
|
|---|
| 2010 | <item key="mandatory" type="int">0</item>
|
|---|
| 2011 | <item key="multilang" type="int">0</item>
|
|---|
| 2012 | <item key="name"><![CDATA[Items]]></item>
|
|---|
| 2013 | <item key="repetitive" type="int">1</item>
|
|---|
| 2014 | <item key="type"><![CDATA[examQFillBlankItem]]></item>
|
|---|
| 2015 | </dictionary>
|
|---|
| 2016 | </item>
|
|---|
| 2017 | <item type="dictionary">
|
|---|
| 2018 | <dictionary>
|
|---|
| 2019 | <item key="id"><![CDATA[cmi_interactions]]></item>
|
|---|
| 2020 | <item key="mandatory" type="int">0</item>
|
|---|
| 2021 | <item key="multilang" type="int">0</item>
|
|---|
| 2022 | <item key="name"><![CDATA[CMI Interactions]]></item>
|
|---|
| 2023 | <item key="repetitive" type="int">0</item>
|
|---|
| 2024 | <item key="type"><![CDATA[delimiter]]></item>
|
|---|
| 2025 | </dictionary>
|
|---|
| 2026 | </item>
|
|---|
| 2027 | <item type="dictionary">
|
|---|
| 2028 | <dictionary>
|
|---|
| 2029 | <item key="default"><![CDATA[1.0]]></item>
|
|---|
| 2030 | <item key="id"><![CDATA[cmi_interactions_weighting]]></item>
|
|---|
| 2031 | <item key="mandatory" type="int">1</item>
|
|---|
| 2032 | <item key="multilang" type="int">0</item>
|
|---|
| 2033 | <item key="name"><![CDATA[Weighting]]></item>
|
|---|
| 2034 | <item key="repetitive" type="int">0</item>
|
|---|
| 2035 | <item key="type"><![CDATA[float]]></item>
|
|---|
| 2036 | </dictionary>
|
|---|
| 2037 | </item>
|
|---|
| 2038 | <item type="dictionary">
|
|---|
| 2039 | <dictionary>
|
|---|
| 2040 | <item key="custom"><![CDATA[fill_in]]></item>
|
|---|
| 2041 | <item key="id"><![CDATA[cmi_interactions_type]]></item>
|
|---|
| 2042 | <item key="mandatory" type="int">1</item>
|
|---|
| 2043 | <item key="multilang" type="int">0</item>
|
|---|
| 2044 | <item key="name"><![CDATA[Type]]></item>
|
|---|
| 2045 | <item key="repetitive" type="int">0</item>
|
|---|
| 2046 | <item key="type"><![CDATA[constant]]></item>
|
|---|
| 2047 | </dictionary>
|
|---|
| 2048 | </item>
|
|---|
| 2049 | <item type="dictionary">
|
|---|
| 2050 | <dictionary>
|
|---|
| 2051 | <item key="custom"><![CDATA[//-- BO examQFillBlank::js_calcRawScore --
|
|---|
| 2052 |
|
|---|
| 2053 | <dtml-let cmiInteractionType="getObjProperty('cmi_interactions_type',REQUEST)"
|
|---|
| 2054 | cmiInteractionWeighting="getObjProperty('cmi_interactions_weighting',REQUEST)">
|
|---|
| 2055 | <dtml-in "getObjChildren('xqItems',REQUEST)">
|
|---|
| 2056 |
|
|---|
| 2057 | // ############################################################
|
|---|
| 2058 | // Fill-In-Blank #<dtml-var "REQUEST.get('cmiInteractionNo',0)">
|
|---|
| 2059 | // ############################################################
|
|---|
| 2060 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.id","<dtml-var id>");
|
|---|
| 2061 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.type","<dtml-var cmiInteractionType>");
|
|---|
| 2062 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.weighting","<dtml-var cmiInteractionWeighting>");
|
|---|
| 2063 |
|
|---|
| 2064 | // Get correct_responses.
|
|---|
| 2065 | // ----------------------
|
|---|
| 2066 | question = "<dtml-var "getObjProperty('xqiValue',REQUEST)">";
|
|---|
| 2067 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.correct_responses.0.pattern",question);
|
|---|
| 2068 |
|
|---|
| 2069 | // Get learner_response.
|
|---|
| 2070 | // ---------------------
|
|---|
| 2071 | key = document.examForm.elements['inp_<dtml-var id>'].value;
|
|---|
| 2072 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.learner_response",key);
|
|---|
| 2073 |
|
|---|
| 2074 | // Compare correct_responses with learner_responses.
|
|---|
| 2075 | // -------------------------------------------------
|
|---|
| 2076 | var b = question.toLowerCase()==key.toLowerCase();
|
|---|
| 2077 | if (b)
|
|---|
| 2078 | {
|
|---|
| 2079 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.result","correct");
|
|---|
| 2080 | rawScore++;
|
|---|
| 2081 | }
|
|---|
| 2082 | else
|
|---|
| 2083 | {
|
|---|
| 2084 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.result","incorrect");
|
|---|
| 2085 | }
|
|---|
| 2086 |
|
|---|
| 2087 | <dtml-call "REQUEST.set('cmiInteractionNo',REQUEST.get('cmiInteractionNo',0)+1)">
|
|---|
| 2088 |
|
|---|
| 2089 | </dtml-in>
|
|---|
| 2090 | </dtml-let>
|
|---|
| 2091 |
|
|---|
| 2092 | //-- EO examQFillBlank::js_calcRawScore --]]>
|
|---|
| 2093 | </item>
|
|---|
| 2094 | <item key="id"><![CDATA[js_calcRawScore]]></item>
|
|---|
| 2095 | <item key="mandatory" type="int">0</item>
|
|---|
| 2096 | <item key="multilang" type="int">0</item>
|
|---|
| 2097 | <item key="name"><![CDATA[JavaScript: calcRawScore]]></item>
|
|---|
| 2098 | <item key="repetitive" type="int">0</item>
|
|---|
| 2099 | <item key="type"><![CDATA[method]]></item>
|
|---|
| 2100 | </dictionary>
|
|---|
| 2101 | </item>
|
|---|
| 2102 | <item type="dictionary">
|
|---|
| 2103 | <dictionary>
|
|---|
| 2104 | <item key="custom"><![CDATA[//-- BO examQFillBlank::js_formSubmit --//
|
|---|
| 2105 |
|
|---|
| 2106 | <dtml-let thisId="id"
|
|---|
| 2107 | thisXqType="getObjProperty('xqType',REQUEST)">
|
|---|
| 2108 | <dtml-call "REQUEST.set('cmiQuestionNo',REQUEST.get('cmiQuestionNo',0)+1)">
|
|---|
| 2109 | </dtml-let>
|
|---|
| 2110 |
|
|---|
| 2111 | //-- EO examQFillBlank::js_formSubmit --//]]>
|
|---|
| 2112 | </item>
|
|---|
| 2113 | <item key="id"><![CDATA[js_formSubmit]]></item>
|
|---|
| 2114 | <item key="mandatory" type="int">0</item>
|
|---|
| 2115 | <item key="multilang" type="int">0</item>
|
|---|
| 2116 | <item key="name"><![CDATA[JavaScript: formSubmit]]></item>
|
|---|
| 2117 | <item key="repetitive" type="int">0</item>
|
|---|
| 2118 | <item key="type"><![CDATA[method]]></item>
|
|---|
| 2119 | </dictionary>
|
|---|
| 2120 | </item>
|
|---|
| 2121 | <item type="dictionary">
|
|---|
| 2122 | <dictionary>
|
|---|
| 2123 | <item key="custom"><![CDATA[<!-- BO bodyContentZMSCustom_examQFillBlank -->
|
|---|
| 2124 |
|
|---|
| 2125 | <dtml-call "REQUEST.set('cmiQuestionNo',REQUEST.get('cmiQuestionNo',0)+1)">
|
|---|
| 2126 | <h3><dtml-var "REQUEST.get('cmiQuestionNo')">. <dtml-var "getLangStr('LMS_CMI_QUESTION',lang)"></h3>
|
|---|
| 2127 | <div class="form-label">
|
|---|
| 2128 | <i><dtml-var "getObjProperty('xqText',REQUEST)"></i>
|
|---|
| 2129 | </div>
|
|---|
| 2130 | <br/>
|
|---|
| 2131 | <div class="form-text">
|
|---|
| 2132 | <dtml-in "getObjChildren('xqItems',REQUEST)">
|
|---|
| 2133 | <dtml-var "getObjProperty('xqiTextPre',REQUEST)">
|
|---|
| 2134 | <script language="JavaScript">
|
|---|
| 2135 | <!--
|
|---|
| 2136 | var sResult = "";
|
|---|
| 2137 | var sType = "text";
|
|---|
| 2138 | var sClass = "form-element";
|
|---|
| 2139 | var sName = "inp_<dtml-var id>";
|
|---|
| 2140 | var sTitle = "<dtml-var "getObjProperty('xqiHint',REQUEST)">";
|
|---|
| 2141 | var sValue = "";
|
|---|
| 2142 | try {
|
|---|
| 2143 | var learner_response = doGetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.learner_response");
|
|---|
| 2144 | var correct_responses = doGetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.correct_responses.0.pattern");
|
|---|
| 2145 | sValue = learner_response;
|
|---|
| 2146 | var b = (learner_response.toLowerCase()==correct_responses.toLowerCase());
|
|---|
| 2147 | if (b) {
|
|---|
| 2148 | sResult += "<font style='color:green'><b>"+correct_responses+"</b></font> ";
|
|---|
| 2149 | }
|
|---|
| 2150 | else {
|
|---|
| 2151 | sResult += "<font style='color:red'><s>"+learner_response+"</s></font> ";
|
|---|
| 2152 | sResult += "<font style='color:green'>"+correct_responses+"</font> ";
|
|---|
| 2153 | }
|
|---|
| 2154 | } catch (e) { }
|
|---|
| 2155 |
|
|---|
| 2156 | var sInput = "";
|
|---|
| 2157 | if (sValue.length==0)
|
|---|
| 2158 | sInput = "<input class='"+sClass+"' name='"+sName+"' value='"+sValue+"' size='8' title='"+sTitle+"'>";
|
|---|
| 2159 | document.write(sInput);
|
|---|
| 2160 | document.write(sResult);
|
|---|
| 2161 | -->
|
|---|
| 2162 | </script>
|
|---|
| 2163 | <dtml-var "getObjProperty('xqiTextPost',REQUEST)">
|
|---|
| 2164 | <dtml-call "REQUEST.set('cmiInteractionNo',REQUEST.get('cmiInteractionNo',0)+1)">
|
|---|
| 2165 | </dtml-in>
|
|---|
| 2166 | </div>
|
|---|
| 2167 |
|
|---|
| 2168 | <!-- EO bodyContentZMSCustom_examQFillBlank -->]]>
|
|---|
| 2169 | </item>
|
|---|
| 2170 | <item key="id"><![CDATA[bodyContentZMSCustom_examQFillBlank]]></item>
|
|---|
| 2171 | <item key="mandatory" type="int">0</item>
|
|---|
| 2172 | <item key="multilang" type="int">0</item>
|
|---|
| 2173 | <item key="name"><![CDATA[Template: Interaction (fill-in)]]></item>
|
|---|
| 2174 | <item key="repetitive" type="int">0</item>
|
|---|
| 2175 | <item key="type"><![CDATA[DTML Method]]></item>
|
|---|
| 2176 | </dictionary>
|
|---|
| 2177 | </item>
|
|---|
| 2178 | </list>
|
|---|
| 2179 | </item>
|
|---|
| 2180 | <item key="enabled" type="int">0</item>
|
|---|
| 2181 | <item key="id"><![CDATA[examQFillBlank]]></item>
|
|---|
| 2182 | <item key="name"><![CDATA[Interaction (fill-in)]]></item>
|
|---|
| 2183 | <item key="package"><![CDATA[com.zms.elc.lcms]]></item>
|
|---|
| 2184 | <item key="revision"><![CDATA[0.0.0]]></item>
|
|---|
| 2185 | <item key="type"><![CDATA[ZMSObject]]></item>
|
|---|
| 2186 | </dictionary>
|
|---|
| 2187 | </item>
|
|---|
| 2188 | </dictionary>
|
|---|
| 2189 | </item>
|
|---|
| 2190 | <item type="dictionary">
|
|---|
| 2191 | <dictionary>
|
|---|
| 2192 | <item key="key"><![CDATA[examQFillBlankItem]]></item>
|
|---|
| 2193 | <item key="value" type="dictionary">
|
|---|
| 2194 | <dictionary>
|
|---|
| 2195 | <item key="__obj_attrs__" type="list">
|
|---|
| 2196 | <list>
|
|---|
| 2197 | <item type="dictionary">
|
|---|
| 2198 | <dictionary>
|
|---|
| 2199 | <item key="custom">
|
|---|
| 2200 | <data content_type="image/gif" filename="fillinl.gif" type="file">47494638396114001400b300004c4e4cb4b6b4fc02fcc4c6c4060a7f5303a1d1c9d1770177270000070000d30000000000501c68e3c30114124500000121f90401000002002c000000001400140003043950c849abbdb8829de50613d77920399ae8280a6bb7b6d95b0e8340db752a0e81ddf3a1124be812c230b2d330a84c9e9c2ae35133555aafca08003b</data>
|
|---|
| 2201 | </item>
|
|---|
| 2202 | <item key="id"><![CDATA[icon]]></item>
|
|---|
| 2203 | <item key="mandatory" type="int">0</item>
|
|---|
| 2204 | <item key="multilang" type="int">0</item>
|
|---|
| 2205 | <item key="name"><![CDATA[Icon]]></item>
|
|---|
| 2206 | <item key="repetitive" type="int">0</item>
|
|---|
| 2207 | <item key="type"><![CDATA[resource]]></item>
|
|---|
| 2208 | </dictionary>
|
|---|
| 2209 | </item>
|
|---|
| 2210 | <item type="dictionary">
|
|---|
| 2211 | <dictionary>
|
|---|
| 2212 | <item key="id"><![CDATA[xqiTextPre]]></item>
|
|---|
| 2213 | <item key="mandatory" type="int">0</item>
|
|---|
| 2214 | <item key="multilang" type="int">1</item>
|
|---|
| 2215 | <item key="name"><![CDATA[Text (Pre)]]></item>
|
|---|
| 2216 | <item key="repetitive" type="int">0</item>
|
|---|
| 2217 | <item key="type"><![CDATA[text]]></item>
|
|---|
| 2218 | </dictionary>
|
|---|
| 2219 | </item>
|
|---|
| 2220 | <item type="dictionary">
|
|---|
| 2221 | <dictionary>
|
|---|
| 2222 | <item key="id"><![CDATA[xqiValue]]></item>
|
|---|
| 2223 | <item key="mandatory" type="int">1</item>
|
|---|
| 2224 | <item key="multilang" type="int">1</item>
|
|---|
| 2225 | <item key="name"><![CDATA[Value]]></item>
|
|---|
| 2226 | <item key="repetitive" type="int">0</item>
|
|---|
| 2227 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 2228 | </dictionary>
|
|---|
| 2229 | </item>
|
|---|
| 2230 | <item type="dictionary">
|
|---|
| 2231 | <dictionary>
|
|---|
| 2232 | <item key="id"><![CDATA[xqiHint]]></item>
|
|---|
| 2233 | <item key="mandatory" type="int">0</item>
|
|---|
| 2234 | <item key="multilang" type="int">1</item>
|
|---|
| 2235 | <item key="name"><![CDATA[Hint]]></item>
|
|---|
| 2236 | <item key="repetitive" type="int">0</item>
|
|---|
| 2237 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 2238 | </dictionary>
|
|---|
| 2239 | </item>
|
|---|
| 2240 | <item type="dictionary">
|
|---|
| 2241 | <dictionary>
|
|---|
| 2242 | <item key="id"><![CDATA[xqiTextPost]]></item>
|
|---|
| 2243 | <item key="mandatory" type="int">0</item>
|
|---|
| 2244 | <item key="multilang" type="int">1</item>
|
|---|
| 2245 | <item key="name"><![CDATA[Text (Post)]]></item>
|
|---|
| 2246 | <item key="repetitive" type="int">0</item>
|
|---|
| 2247 | <item key="type"><![CDATA[text]]></item>
|
|---|
| 2248 | </dictionary>
|
|---|
| 2249 | </item>
|
|---|
| 2250 | <item type="dictionary">
|
|---|
| 2251 | <dictionary>
|
|---|
| 2252 | <item key="id"><![CDATA[xqiFeedback]]></item>
|
|---|
| 2253 | <item key="mandatory" type="int">0</item>
|
|---|
| 2254 | <item key="multilang" type="int">1</item>
|
|---|
| 2255 | <item key="name"><![CDATA[Feedback zur Aussage]]></item>
|
|---|
| 2256 | <item key="repetitive" type="int">0</item>
|
|---|
| 2257 | <item key="type"><![CDATA[text]]></item>
|
|---|
| 2258 | </dictionary>
|
|---|
| 2259 | </item>
|
|---|
| 2260 | <item type="dictionary">
|
|---|
| 2261 | <dictionary>
|
|---|
| 2262 | <item key="custom"><![CDATA[<!-- BO bodyContentZMSCustom_examQFillBlankItem -->
|
|---|
| 2263 |
|
|---|
| 2264 | <div class="form-text">
|
|---|
| 2265 | <dtml-var "getObjProperty('xqiTextPre',REQUEST)">
|
|---|
| 2266 | <em><dtml-var "getObjProperty('xqiValue',REQUEST)"></em>
|
|---|
| 2267 | <dtml-if "getObjProperty('xqiHint',REQUEST)">
|
|---|
| 2268 | <i>(<dtml-var "getObjProperty('xqiHint',REQUEST)">)</i>
|
|---|
| 2269 | </dtml-if>
|
|---|
| 2270 | <dtml-var "getObjProperty('xqiTextPost',REQUEST)">
|
|---|
| 2271 | </div>
|
|---|
| 2272 |
|
|---|
| 2273 | <!-- EO bodyContentZMSCustom_examQFillBlankItem -->]]>
|
|---|
| 2274 | </item>
|
|---|
| 2275 | <item key="id"><![CDATA[bodyContentZMSCustom_examQFillBlankItem]]></item>
|
|---|
| 2276 | <item key="mandatory" type="int">0</item>
|
|---|
| 2277 | <item key="multilang" type="int">0</item>
|
|---|
| 2278 | <item key="name"><![CDATA[Template: Fill-in-Blank Item]]></item>
|
|---|
| 2279 | <item key="repetitive" type="int">0</item>
|
|---|
| 2280 | <item key="type"><![CDATA[DTML Method]]></item>
|
|---|
| 2281 | </dictionary>
|
|---|
| 2282 | </item>
|
|---|
| 2283 | </list>
|
|---|
| 2284 | </item>
|
|---|
| 2285 | <item key="enabled" type="int">0</item>
|
|---|
| 2286 | <item key="id"><![CDATA[examQFillBlankItem]]></item>
|
|---|
| 2287 | <item key="name"><![CDATA[Fill-in-Blank Item]]></item>
|
|---|
| 2288 | <item key="package"><![CDATA[com.zms.elc.lcms]]></item>
|
|---|
| 2289 | <item key="revision"><![CDATA[0.0.0]]></item>
|
|---|
| 2290 | <item key="type"><![CDATA[ZMSObject]]></item>
|
|---|
| 2291 | </dictionary>
|
|---|
| 2292 | </item>
|
|---|
| 2293 | </dictionary>
|
|---|
| 2294 | </item>
|
|---|
| 2295 | <item type="dictionary">
|
|---|
| 2296 | <dictionary>
|
|---|
| 2297 | <item key="key"><![CDATA[examQImageHotspot]]></item>
|
|---|
| 2298 | <item key="value" type="dictionary">
|
|---|
| 2299 | <dictionary>
|
|---|
| 2300 | <item key="__obj_attrs__" type="list">
|
|---|
| 2301 | <list>
|
|---|
| 2302 | <item type="dictionary">
|
|---|
| 2303 | <dictionary>
|
|---|
| 2304 | <item key="custom">
|
|---|
| 2305 | <data content_type="image/gif" filename="hotspotl.gif" type="file">47494638396114001400b300008c0204fcae94b4dafcdceefcfc02fc7c8abcf7fbfc8ca6d4fc32047c7aace45e64849acce4e2fcc4e2fc8caedceceefc21f90401000004002c000000001400140003046f90c849abbd38ebecbaefc7e17046691acf736487192025bc62ad8904068c20b48d283bc422b3789880a5d7ee522c290000a782382801140128e087291807b8ac4251e05a0a833418da080408bc3383d16800020201039029d0eb0d797a0519097387880985098c8d8e1b9091929311003b</data>
|
|---|
| 2306 | </item>
|
|---|
| 2307 | <item key="id"><![CDATA[icon]]></item>
|
|---|
| 2308 | <item key="mandatory" type="int">0</item>
|
|---|
| 2309 | <item key="multilang" type="int">0</item>
|
|---|
| 2310 | <item key="name"><![CDATA[Icon]]></item>
|
|---|
| 2311 | <item key="repetitive" type="int">0</item>
|
|---|
| 2312 | <item key="type"><![CDATA[resource]]></item>
|
|---|
| 2313 | </dictionary>
|
|---|
| 2314 | </item>
|
|---|
| 2315 | <item type="dictionary">
|
|---|
| 2316 | <dictionary>
|
|---|
| 2317 | <item key="id"><![CDATA[xqText]]></item>
|
|---|
| 2318 | <item key="mandatory" type="int">1</item>
|
|---|
| 2319 | <item key="multilang" type="int">1</item>
|
|---|
| 2320 | <item key="name"><![CDATA[Text]]></item>
|
|---|
| 2321 | <item key="repetitive" type="int">0</item>
|
|---|
| 2322 | <item key="type"><![CDATA[text]]></item>
|
|---|
| 2323 | </dictionary>
|
|---|
| 2324 | </item>
|
|---|
| 2325 | <item type="dictionary">
|
|---|
| 2326 | <dictionary>
|
|---|
| 2327 | <item key="id"><![CDATA[xqImage]]></item>
|
|---|
| 2328 | <item key="mandatory" type="int">1</item>
|
|---|
| 2329 | <item key="multilang" type="int">1</item>
|
|---|
| 2330 | <item key="name"><![CDATA[Image]]></item>
|
|---|
| 2331 | <item key="repetitive" type="int">0</item>
|
|---|
| 2332 | <item key="type"><![CDATA[image]]></item>
|
|---|
| 2333 | </dictionary>
|
|---|
| 2334 | </item>
|
|---|
| 2335 | <item type="dictionary">
|
|---|
| 2336 | <dictionary>
|
|---|
| 2337 | <item key="id"><![CDATA[xqItems]]></item>
|
|---|
| 2338 | <item key="mandatory" type="int">0</item>
|
|---|
| 2339 | <item key="multilang" type="int">0</item>
|
|---|
| 2340 | <item key="name"><![CDATA[Items]]></item>
|
|---|
| 2341 | <item key="repetitive" type="int">1</item>
|
|---|
| 2342 | <item key="type"><![CDATA[examQImageHotspotItem]]></item>
|
|---|
| 2343 | </dictionary>
|
|---|
| 2344 | </item>
|
|---|
| 2345 | <item type="dictionary">
|
|---|
| 2346 | <dictionary>
|
|---|
| 2347 | <item key="id"><![CDATA[cmi_interactions]]></item>
|
|---|
| 2348 | <item key="mandatory" type="int">0</item>
|
|---|
| 2349 | <item key="multilang" type="int">0</item>
|
|---|
| 2350 | <item key="name"><![CDATA[CMI Interactions]]></item>
|
|---|
| 2351 | <item key="repetitive" type="int">0</item>
|
|---|
| 2352 | <item key="type"><![CDATA[delimiter]]></item>
|
|---|
| 2353 | </dictionary>
|
|---|
| 2354 | </item>
|
|---|
| 2355 | <item type="dictionary">
|
|---|
| 2356 | <dictionary>
|
|---|
| 2357 | <item key="default"><![CDATA[1.0]]></item>
|
|---|
| 2358 | <item key="id"><![CDATA[cmi_interactions_weighting]]></item>
|
|---|
| 2359 | <item key="mandatory" type="int">1</item>
|
|---|
| 2360 | <item key="multilang" type="int">0</item>
|
|---|
| 2361 | <item key="name"><![CDATA[Weighting]]></item>
|
|---|
| 2362 | <item key="repetitive" type="int">0</item>
|
|---|
| 2363 | <item key="type"><![CDATA[float]]></item>
|
|---|
| 2364 | </dictionary>
|
|---|
| 2365 | </item>
|
|---|
| 2366 | <item type="dictionary">
|
|---|
| 2367 | <dictionary>
|
|---|
| 2368 | <item key="custom"><![CDATA[choice]]></item>
|
|---|
| 2369 | <item key="id"><![CDATA[cmi_interactions_type]]></item>
|
|---|
| 2370 | <item key="mandatory" type="int">1</item>
|
|---|
| 2371 | <item key="multilang" type="int">0</item>
|
|---|
| 2372 | <item key="name"><![CDATA[Type]]></item>
|
|---|
| 2373 | <item key="repetitive" type="int">0</item>
|
|---|
| 2374 | <item key="type"><![CDATA[constant]]></item>
|
|---|
| 2375 | </dictionary>
|
|---|
| 2376 | </item>
|
|---|
| 2377 | <item type="dictionary">
|
|---|
| 2378 | <dictionary>
|
|---|
| 2379 | <item key="custom"><![CDATA[//-- BO examQImageHotspot::js_calcRawScore --
|
|---|
| 2380 |
|
|---|
| 2381 | <dtml-let cmiInteractionType="getObjProperty('cmi_interactions_type',REQUEST)"
|
|---|
| 2382 | cmiInteractionWeighting="getObjProperty('cmi_interactions_weighting',REQUEST)">
|
|---|
| 2383 |
|
|---|
| 2384 | // ############################################################
|
|---|
| 2385 | // Image-Hotspot #<dtml-var "REQUEST.get('cmiInteractionNo',0)">
|
|---|
| 2386 | // ############################################################
|
|---|
| 2387 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.id","<dtml-var id>");
|
|---|
| 2388 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.type","<dtml-var cmiInteractionType>");
|
|---|
| 2389 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.weighting","<dtml-var cmiInteractionWeighting>");
|
|---|
| 2390 |
|
|---|
| 2391 | // Get correct_responses.
|
|---|
| 2392 | // ----------------------
|
|---|
| 2393 | var questions = new Array();
|
|---|
| 2394 | <dtml-in "getObjChildren('xqItems',REQUEST)">
|
|---|
| 2395 | <dtml-if "getObjProperty('xqiValue',REQUEST)">
|
|---|
| 2396 | questions[questions.length] = "<dtml-var "_.chr(65+_['sequence-index'])">";
|
|---|
| 2397 | </dtml-if>
|
|---|
| 2398 | </dtml-in>
|
|---|
| 2399 | question = "{";
|
|---|
| 2400 | for (i=0; i<questions.length; i++)
|
|---|
| 2401 | {
|
|---|
| 2402 | if (i>0)
|
|---|
| 2403 | question += ",";
|
|---|
| 2404 | question += questions[i];
|
|---|
| 2405 | }
|
|---|
| 2406 | question += "}";
|
|---|
| 2407 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.correct_responses.0.pattern",question);
|
|---|
| 2408 |
|
|---|
| 2409 | // Get learner_response.
|
|---|
| 2410 | // ---------------------
|
|---|
| 2411 | var keys = new Array();
|
|---|
| 2412 | var fm = document.examForm;
|
|---|
| 2413 | for (i=0; i<fm.elements.length; i++)
|
|---|
| 2414 | {
|
|---|
| 2415 | var el = fm.elements[i];
|
|---|
| 2416 | <dtml-in "getObjChildren('xqItems',REQUEST)">
|
|---|
| 2417 | if (el.name=="inp_<dtml-var id>:int")
|
|---|
| 2418 | if (el.value=='1')
|
|---|
| 2419 | keys[keys.length] = "<dtml-var "_.chr(65+_['sequence-index'])">";
|
|---|
| 2420 | </dtml-in>
|
|---|
| 2421 | }
|
|---|
| 2422 | key = "{";
|
|---|
| 2423 | for (i=0; i<keys.length; i++)
|
|---|
| 2424 | {
|
|---|
| 2425 | if (i>0)
|
|---|
| 2426 | key += ",";
|
|---|
| 2427 | key += keys[i];
|
|---|
| 2428 | }
|
|---|
| 2429 | key += "}";
|
|---|
| 2430 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.learner_response",key);
|
|---|
| 2431 |
|
|---|
| 2432 | // Compare correct_responses with learner_responses.
|
|---|
| 2433 | // -------------------------------------------------
|
|---|
| 2434 | var b = true;
|
|---|
| 2435 | for (i=0; i<questions.length; i++)
|
|---|
| 2436 | {
|
|---|
| 2437 | var found = false;
|
|---|
| 2438 | for (j=0; j<keys.length; j++)
|
|---|
| 2439 | found |= questions[i]==keys[j];
|
|---|
| 2440 | b &= found;
|
|---|
| 2441 | }
|
|---|
| 2442 | for (j=0; j<keys.length; j++)
|
|---|
| 2443 | {
|
|---|
| 2444 | var found = false;
|
|---|
| 2445 | for (i=0; i<questions.length; i++)
|
|---|
| 2446 | found |= questions[i]==keys[j];
|
|---|
| 2447 | b &= found;
|
|---|
| 2448 | }
|
|---|
| 2449 | if (b)
|
|---|
| 2450 | {
|
|---|
| 2451 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.result","correct");
|
|---|
| 2452 | rawScore++;
|
|---|
| 2453 | }
|
|---|
| 2454 | else
|
|---|
| 2455 | {
|
|---|
| 2456 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.result","incorrect");
|
|---|
| 2457 | }
|
|---|
| 2458 |
|
|---|
| 2459 | <dtml-call "REQUEST.set('cmiInteractionNo',REQUEST.get('cmiInteractionNo',0)+1)">
|
|---|
| 2460 |
|
|---|
| 2461 | </dtml-let>
|
|---|
| 2462 |
|
|---|
| 2463 | //-- EO examQImageHotspot::js_calcRawScore --]]>
|
|---|
| 2464 | </item>
|
|---|
| 2465 | <item key="id"><![CDATA[js_calcRawScore]]></item>
|
|---|
| 2466 | <item key="mandatory" type="int">0</item>
|
|---|
| 2467 | <item key="multilang" type="int">0</item>
|
|---|
| 2468 | <item key="name"><![CDATA[JavaScript: calcRawScore]]></item>
|
|---|
| 2469 | <item key="repetitive" type="int">0</item>
|
|---|
| 2470 | <item key="type"><![CDATA[method]]></item>
|
|---|
| 2471 | </dictionary>
|
|---|
| 2472 | </item>
|
|---|
| 2473 | <item type="dictionary">
|
|---|
| 2474 | <dictionary>
|
|---|
| 2475 | <item key="custom"><![CDATA[<!-- BO bodyContentZMSCustom_examQImageHotspot -->
|
|---|
| 2476 |
|
|---|
| 2477 | <script language="JavaScript">
|
|---|
| 2478 | <!--//
|
|---|
| 2479 | <dtml-call "REQUEST.set('cmiQuestionNo',REQUEST.get('cmiQuestionNo',0)+1)">
|
|---|
| 2480 | document.write( "<h3><dtml-var "REQUEST.get('cmiQuestionNo')">. <dtml-var "getLangStr('LMS_CMI_QUESTION',lang)"></h3>");
|
|---|
| 2481 | function map_<dtml-var id>_Click(id) {
|
|---|
| 2482 | var learner_response = doGetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.learner_response");
|
|---|
| 2483 | if(learner_response=='')
|
|---|
| 2484 | {
|
|---|
| 2485 | fm = document.examForm;
|
|---|
| 2486 | el = fm.elements['inp_'+id+':int'];
|
|---|
| 2487 | el.value = 1;
|
|---|
| 2488 | confirm("<dtml-var "getLangStr('LMS_CMI_CLICK_REGISTERED',lang)">!");
|
|---|
| 2489 | }
|
|---|
| 2490 | else
|
|---|
| 2491 | {
|
|---|
| 2492 | confirm("<dtml-var "getLangStr('LMS_CMI_QUESTION_ALREADY_ANSWERED',lang)">.");
|
|---|
| 2493 | }
|
|---|
| 2494 | return;
|
|---|
| 2495 | }
|
|---|
| 2496 | //-->
|
|---|
| 2497 | </script>
|
|---|
| 2498 | <div class="form-label">
|
|---|
| 2499 | <dtml-var "getObjProperty('xqText',REQUEST)">
|
|---|
| 2500 | </div>
|
|---|
| 2501 | <div class="form-element">
|
|---|
| 2502 | <dtml-in "getObjChildren('xqItems',REQUEST)">
|
|---|
| 2503 | <dtml-let ch="_.chr(65+_['sequence-index']).upper()">
|
|---|
| 2504 | <script language="JavaScript">
|
|---|
| 2505 | <!--
|
|---|
| 2506 | var sType = "hidden";
|
|---|
| 2507 | var sName = "inp_<dtml-var id>:int";
|
|---|
| 2508 | var sValue = "0";
|
|---|
| 2509 | var sResult = "";
|
|---|
| 2510 | try {
|
|---|
| 2511 | var learner_response = doGetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.learner_response");
|
|---|
| 2512 | var correct_responses = doGetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.correct_responses.0.pattern");
|
|---|
| 2513 | if (learner_response.indexOf("<dtml-var ch>")>=0)
|
|---|
| 2514 | sValue = "1";
|
|---|
| 2515 | var b = ((learner_response.indexOf("<dtml-var ch>")>=0 && correct_responses.indexOf("<dtml-var ch>")>=0) ||
|
|---|
| 2516 | (learner_response.indexOf("<dtml-var ch>")<0 && correct_responses.indexOf("<dtml-var ch>")<0));
|
|---|
| 2517 | if (learner_response.indexOf("<dtml-var ch>")>=0 && correct_responses.indexOf("<dtml-var ch>")>=0) {
|
|---|
| 2518 | sResult += "<font style='color:green'><b>"+"<dtml-var ch>"+"</b></font> ";
|
|---|
| 2519 | }
|
|---|
| 2520 | else if (learner_response.indexOf("<dtml-var ch>")>=0 && correct_responses.indexOf("<dtml-var ch>")<0) {
|
|---|
| 2521 | sResult += "<font style='color:red'><s>"+"<dtml-var ch>"+"</s></font> ";
|
|---|
| 2522 | }
|
|---|
| 2523 | else if (correct_responses.indexOf("<dtml-var ch>")>=0) {
|
|---|
| 2524 | sResult += "<font style='color:green'>"+"<dtml-var ch>"+"</font> ";
|
|---|
| 2525 | }
|
|---|
| 2526 | } catch (e) { }
|
|---|
| 2527 | var sInput = "<input type='" + sType + "' name='"+sName+"' value='"+sValue+"'>";
|
|---|
| 2528 | document.write(sInput);
|
|---|
| 2529 | document.write(sResult);
|
|---|
| 2530 | -->
|
|---|
| 2531 | </script>
|
|---|
| 2532 | </dtml-let>
|
|---|
| 2533 | </dtml-in>
|
|---|
| 2534 | <map name="map_<dtml-var id>">
|
|---|
| 2535 | <dtml-in "getObjChildren('xqItems',REQUEST)">
|
|---|
| 2536 | <area shape=rect coords="<dtml-var "getObjProperty('xqiCoords',REQUEST)">" href="javascript:map_<dtml-var "aq_parent.id">_Click('<dtml-var id>');">
|
|---|
| 2537 | </dtml-in>
|
|---|
| 2538 | </map>
|
|---|
| 2539 | <dtml-let xqImage="getObjProperty('xqImage',REQUEST)">
|
|---|
| 2540 | <br/><img src="<dtml-var "xqImage.getHref(REQUEST)">" usemap="#map_<dtml-var id>" border="0"><br/>
|
|---|
| 2541 | </dtml-let>
|
|---|
| 2542 | </div>
|
|---|
| 2543 | <dtml-call "REQUEST.set('cmiInteractionNo',REQUEST.get('cmiInteractionNo',0)+1)">
|
|---|
| 2544 |
|
|---|
| 2545 | <!-- EO bodyContentZMSCustom_examQImageHotspot -->]]>
|
|---|
| 2546 | </item>
|
|---|
| 2547 | <item key="id"><![CDATA[bodyContentZMSCustom_examQImageHotspot]]></item>
|
|---|
| 2548 | <item key="mandatory" type="int">0</item>
|
|---|
| 2549 | <item key="multilang" type="int">0</item>
|
|---|
| 2550 | <item key="name"><![CDATA[Template: Interaction (hot-spot)]]></item>
|
|---|
| 2551 | <item key="repetitive" type="int">0</item>
|
|---|
| 2552 | <item key="type"><![CDATA[DTML Method]]></item>
|
|---|
| 2553 | </dictionary>
|
|---|
| 2554 | </item>
|
|---|
| 2555 | </list>
|
|---|
| 2556 | </item>
|
|---|
| 2557 | <item key="enabled" type="int">0</item>
|
|---|
| 2558 | <item key="id"><![CDATA[examQImageHotspot]]></item>
|
|---|
| 2559 | <item key="name"><![CDATA[Interaction (hot-spot)]]></item>
|
|---|
| 2560 | <item key="package"><![CDATA[com.zms.elc.lcms]]></item>
|
|---|
| 2561 | <item key="revision"><![CDATA[0.0.0]]></item>
|
|---|
| 2562 | <item key="type"><![CDATA[ZMSObject]]></item>
|
|---|
| 2563 | </dictionary>
|
|---|
| 2564 | </item>
|
|---|
| 2565 | </dictionary>
|
|---|
| 2566 | </item>
|
|---|
| 2567 | <item type="dictionary">
|
|---|
| 2568 | <dictionary>
|
|---|
| 2569 | <item key="key"><![CDATA[examQImageHotspotItem]]></item>
|
|---|
| 2570 | <item key="value" type="dictionary">
|
|---|
| 2571 | <dictionary>
|
|---|
| 2572 | <item key="__obj_attrs__" type="list">
|
|---|
| 2573 | <list>
|
|---|
| 2574 | <item type="dictionary">
|
|---|
| 2575 | <dictionary>
|
|---|
| 2576 | <item key="custom">
|
|---|
| 2577 | <data content_type="image/gif" filename="hotspotl.gif" type="file">47494638396114001400b300008c0204fcae94fc02fcfc3204f4fafce45e64d11ad1770277270000070000d30000000000501c8ee3c3011412d200000021f90401000002002c000000001400140003043e50c849abbd38ebcdbb9fc12089df1008e2406a6aa1ae9c4b10a1ba15003017450714811c60d0db9c823c5451130408022718067092383fd8ac76cbdd4600003b</data>
|
|---|
| 2578 | </item>
|
|---|
| 2579 | <item key="id"><![CDATA[icon]]></item>
|
|---|
| 2580 | <item key="mandatory" type="int">0</item>
|
|---|
| 2581 | <item key="multilang" type="int">0</item>
|
|---|
| 2582 | <item key="name"><![CDATA[Icon]]></item>
|
|---|
| 2583 | <item key="repetitive" type="int">0</item>
|
|---|
| 2584 | <item key="type"><![CDATA[resource]]></item>
|
|---|
| 2585 | </dictionary>
|
|---|
| 2586 | </item>
|
|---|
| 2587 | <item type="dictionary">
|
|---|
| 2588 | <dictionary>
|
|---|
| 2589 | <item key="id"><![CDATA[xqiCoords]]></item>
|
|---|
| 2590 | <item key="mandatory" type="int">1</item>
|
|---|
| 2591 | <item key="multilang" type="int">1</item>
|
|---|
| 2592 | <item key="name"><![CDATA[Koordinaten (x1,y1,x2,y2)]]></item>
|
|---|
| 2593 | <item key="repetitive" type="int">0</item>
|
|---|
| 2594 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 2595 | </dictionary>
|
|---|
| 2596 | </item>
|
|---|
| 2597 | <item type="dictionary">
|
|---|
| 2598 | <dictionary>
|
|---|
| 2599 | <item key="id"><![CDATA[xqiValue]]></item>
|
|---|
| 2600 | <item key="mandatory" type="int">1</item>
|
|---|
| 2601 | <item key="multilang" type="int">0</item>
|
|---|
| 2602 | <item key="name"><![CDATA[True?]]></item>
|
|---|
| 2603 | <item key="repetitive" type="int">0</item>
|
|---|
| 2604 | <item key="type"><![CDATA[boolean]]></item>
|
|---|
| 2605 | </dictionary>
|
|---|
| 2606 | </item>
|
|---|
| 2607 | <item type="dictionary">
|
|---|
| 2608 | <dictionary>
|
|---|
| 2609 | <item key="id"><![CDATA[xqiFeedback]]></item>
|
|---|
| 2610 | <item key="mandatory" type="int">0</item>
|
|---|
| 2611 | <item key="multilang" type="int">1</item>
|
|---|
| 2612 | <item key="name"><![CDATA[Feedback fÃÂŒr Koordinaten]]></item>
|
|---|
| 2613 | <item key="repetitive" type="int">0</item>
|
|---|
| 2614 | <item key="type"><![CDATA[text]]></item>
|
|---|
| 2615 | </dictionary>
|
|---|
| 2616 | </item>
|
|---|
| 2617 | <item type="dictionary">
|
|---|
| 2618 | <dictionary>
|
|---|
| 2619 | <item key="custom"><![CDATA[<!-- BO bodyContentZMSCustom_examQImageHotspotItem -->
|
|---|
| 2620 |
|
|---|
| 2621 | <div class="form-text">
|
|---|
| 2622 | <code>(<dtml-var "getObjProperty('xqiCoords',REQUEST)">)</code>
|
|---|
| 2623 | </div>
|
|---|
| 2624 |
|
|---|
| 2625 | <!-- EO bodyContentZMSCustom_examQImageHotspotItem -->]]>
|
|---|
| 2626 | </item>
|
|---|
| 2627 | <item key="id"><![CDATA[bodyContentZMSCustom_examQImageHotspotItem]]></item>
|
|---|
| 2628 | <item key="mandatory" type="int">0</item>
|
|---|
| 2629 | <item key="multilang" type="int">0</item>
|
|---|
| 2630 | <item key="name"><![CDATA[Template: Image-Hotspot Item]]></item>
|
|---|
| 2631 | <item key="repetitive" type="int">0</item>
|
|---|
| 2632 | <item key="type"><![CDATA[DTML Method]]></item>
|
|---|
| 2633 | </dictionary>
|
|---|
| 2634 | </item>
|
|---|
| 2635 | </list>
|
|---|
| 2636 | </item>
|
|---|
| 2637 | <item key="enabled" type="int">0</item>
|
|---|
| 2638 | <item key="id"><![CDATA[examQImageHotspotItem]]></item>
|
|---|
| 2639 | <item key="name"><![CDATA[Image-Hotspot Item]]></item>
|
|---|
| 2640 | <item key="package"><![CDATA[com.zms.elc.lcms]]></item>
|
|---|
| 2641 | <item key="revision"><![CDATA[0.0.0]]></item>
|
|---|
| 2642 | <item key="type"><![CDATA[ZMSObject]]></item>
|
|---|
| 2643 | </dictionary>
|
|---|
| 2644 | </item>
|
|---|
| 2645 | </dictionary>
|
|---|
| 2646 | </item>
|
|---|
| 2647 | <item type="dictionary">
|
|---|
| 2648 | <dictionary>
|
|---|
| 2649 | <item key="key"><![CDATA[examQMultipleChoice]]></item>
|
|---|
| 2650 | <item key="value" type="dictionary">
|
|---|
| 2651 | <dictionary>
|
|---|
| 2652 | <item key="__obj_attrs__" type="list">
|
|---|
| 2653 | <list>
|
|---|
| 2654 | <item type="dictionary">
|
|---|
| 2655 | <dictionary>
|
|---|
| 2656 | <item key="custom">
|
|---|
| 2657 | <data content_type="image/gif" filename="multiplechoicel.gif" type="file">47494638396114001400b300004c4e4cb4b6b4fcfefcc4c6c4fc02fcbcbebccccecc770077270000070000d30000000000081ce0ebc30614126500000021f90401000004002c000000001400140003044c90c849abbd38ebcdf530a0318c9c219c68e185e228a899899ec58bb1a201bcf625a3805d2d70db9d824201d11714208781a545874c4a2f03675319f51c5157cca0402e44c39db47acdc64400003b</data>
|
|---|
| 2658 | </item>
|
|---|
| 2659 | <item key="id"><![CDATA[icon]]></item>
|
|---|
| 2660 | <item key="mandatory" type="int">0</item>
|
|---|
| 2661 | <item key="multilang" type="int">0</item>
|
|---|
| 2662 | <item key="name"><![CDATA[Icon]]></item>
|
|---|
| 2663 | <item key="repetitive" type="int">0</item>
|
|---|
| 2664 | <item key="type"><![CDATA[resource]]></item>
|
|---|
| 2665 | </dictionary>
|
|---|
| 2666 | </item>
|
|---|
| 2667 | <item type="dictionary">
|
|---|
| 2668 | <dictionary>
|
|---|
| 2669 | <item key="id"><![CDATA[xqText]]></item>
|
|---|
| 2670 | <item key="mandatory" type="int">1</item>
|
|---|
| 2671 | <item key="multilang" type="int">1</item>
|
|---|
| 2672 | <item key="name"><![CDATA[Text]]></item>
|
|---|
| 2673 | <item key="repetitive" type="int">0</item>
|
|---|
| 2674 | <item key="type"><![CDATA[text]]></item>
|
|---|
| 2675 | </dictionary>
|
|---|
| 2676 | </item>
|
|---|
| 2677 | <item type="dictionary">
|
|---|
| 2678 | <dictionary>
|
|---|
| 2679 | <item key="id"><![CDATA[xqType]]></item>
|
|---|
| 2680 | <item key="keys" type="list">
|
|---|
| 2681 | <list>
|
|---|
| 2682 | <item><![CDATA[single]]></item>
|
|---|
| 2683 | <item><![CDATA[multiple]]></item>
|
|---|
| 2684 | </list>
|
|---|
| 2685 | </item>
|
|---|
| 2686 | <item key="mandatory" type="int">1</item>
|
|---|
| 2687 | <item key="multilang" type="int">1</item>
|
|---|
| 2688 | <item key="name"><![CDATA[Type]]></item>
|
|---|
| 2689 | <item key="repetitive" type="int">0</item>
|
|---|
| 2690 | <item key="type"><![CDATA[select]]></item>
|
|---|
| 2691 | </dictionary>
|
|---|
| 2692 | </item>
|
|---|
| 2693 | <item type="dictionary">
|
|---|
| 2694 | <dictionary>
|
|---|
| 2695 | <item key="id"><![CDATA[xqItems]]></item>
|
|---|
| 2696 | <item key="mandatory" type="int">0</item>
|
|---|
| 2697 | <item key="multilang" type="int">0</item>
|
|---|
| 2698 | <item key="name"><![CDATA[Items]]></item>
|
|---|
| 2699 | <item key="repetitive" type="int">1</item>
|
|---|
| 2700 | <item key="type"><![CDATA[examQMultipleChoiceItem]]></item>
|
|---|
| 2701 | </dictionary>
|
|---|
| 2702 | </item>
|
|---|
| 2703 | <item type="dictionary">
|
|---|
| 2704 | <dictionary>
|
|---|
| 2705 | <item key="id"><![CDATA[cmi_interactions]]></item>
|
|---|
| 2706 | <item key="mandatory" type="int">0</item>
|
|---|
| 2707 | <item key="multilang" type="int">0</item>
|
|---|
| 2708 | <item key="name"><![CDATA[CMI Interactions]]></item>
|
|---|
| 2709 | <item key="repetitive" type="int">0</item>
|
|---|
| 2710 | <item key="type"><![CDATA[delimiter]]></item>
|
|---|
| 2711 | </dictionary>
|
|---|
| 2712 | </item>
|
|---|
| 2713 | <item type="dictionary">
|
|---|
| 2714 | <dictionary>
|
|---|
| 2715 | <item key="default"><![CDATA[1.0]]></item>
|
|---|
| 2716 | <item key="id"><![CDATA[cmi_interactions_weighting]]></item>
|
|---|
| 2717 | <item key="mandatory" type="int">1</item>
|
|---|
| 2718 | <item key="multilang" type="int">0</item>
|
|---|
| 2719 | <item key="name"><![CDATA[Weighting]]></item>
|
|---|
| 2720 | <item key="repetitive" type="int">0</item>
|
|---|
| 2721 | <item key="type"><![CDATA[float]]></item>
|
|---|
| 2722 | </dictionary>
|
|---|
| 2723 | </item>
|
|---|
| 2724 | <item type="dictionary">
|
|---|
| 2725 | <dictionary>
|
|---|
| 2726 | <item key="custom"><![CDATA[multiple_choice]]></item>
|
|---|
| 2727 | <item key="id"><![CDATA[cmi_interactions_type]]></item>
|
|---|
| 2728 | <item key="mandatory" type="int">1</item>
|
|---|
| 2729 | <item key="multilang" type="int">0</item>
|
|---|
| 2730 | <item key="name"><![CDATA[Type]]></item>
|
|---|
| 2731 | <item key="repetitive" type="int">0</item>
|
|---|
| 2732 | <item key="type"><![CDATA[constant]]></item>
|
|---|
| 2733 | </dictionary>
|
|---|
| 2734 | </item>
|
|---|
| 2735 | <item type="dictionary">
|
|---|
| 2736 | <dictionary>
|
|---|
| 2737 | <item key="custom"><![CDATA[//-- BO examQMultipleChoice::js_calcRawScore --
|
|---|
| 2738 |
|
|---|
| 2739 | <dtml-let cmiInteractionType="getObjProperty('cmi_interactions_type',REQUEST)"
|
|---|
| 2740 | cmiInteractionWeighting="getObjProperty('cmi_interactions_weighting',REQUEST)"
|
|---|
| 2741 | thisId="id"
|
|---|
| 2742 | thisXqType="getObjProperty('xqType',REQUEST)">
|
|---|
| 2743 |
|
|---|
| 2744 | // ############################################################
|
|---|
| 2745 | // Multiple-Choice #<dtml-var "REQUEST.get('cmiInteractionNo',0)">
|
|---|
| 2746 | // ############################################################
|
|---|
| 2747 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.id","<dtml-var id>");
|
|---|
| 2748 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.type","<dtml-var cmiInteractionType>");
|
|---|
| 2749 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.weighting","<dtml-var cmiInteractionWeighting>");
|
|---|
| 2750 |
|
|---|
| 2751 | // Get correct_responses.
|
|---|
| 2752 | // ----------------------
|
|---|
| 2753 | var questions = new Array();
|
|---|
| 2754 | <dtml-in "getObjChildren('xqItems',REQUEST)">
|
|---|
| 2755 | <dtml-if "getObjProperty('xqiValue',REQUEST)">
|
|---|
| 2756 | questions[questions.length] = "<dtml-var "_.chr(65+_['sequence-index'])">";
|
|---|
| 2757 | </dtml-if>
|
|---|
| 2758 | </dtml-in>
|
|---|
| 2759 | question = "";
|
|---|
| 2760 | <dtml-if "thisXqType=='single'">
|
|---|
| 2761 | if (questions.length==1) question += questions[0];
|
|---|
| 2762 | <dtml-else>
|
|---|
| 2763 | question += "{";
|
|---|
| 2764 | for (i=0; i<questions.length; i++)
|
|---|
| 2765 | {
|
|---|
| 2766 | if (i>0)
|
|---|
| 2767 | question += ",";
|
|---|
| 2768 | question += questions[i];
|
|---|
| 2769 | }
|
|---|
| 2770 | question += "}";
|
|---|
| 2771 | </dtml-if>
|
|---|
| 2772 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.correct_responses.0.pattern",question);
|
|---|
| 2773 |
|
|---|
| 2774 | // Get learner_response.
|
|---|
| 2775 | // ---------------------
|
|---|
| 2776 | var keys = new Array();
|
|---|
| 2777 | var fm = document.examForm;
|
|---|
| 2778 | for (i=0; i<fm.elements.length; i++)
|
|---|
| 2779 | {
|
|---|
| 2780 | var el = fm.elements[i];
|
|---|
| 2781 | <dtml-in "getObjChildren('xqItems',REQUEST)">
|
|---|
| 2782 | <dtml-if "thisXqType=='single'">
|
|---|
| 2783 | if (el.name=="inp_<dtml-var thisId>")
|
|---|
| 2784 | if (el.checked && el.value=='<dtml-var id>')
|
|---|
| 2785 | keys[keys.length] = "<dtml-var "_.chr(65+_['sequence-index'])">";
|
|---|
| 2786 | <dtml-else>
|
|---|
| 2787 | if (el.name=="inp_<dtml-var thisId>:list")
|
|---|
| 2788 | if (el.checked && el.value=='<dtml-var id>')
|
|---|
| 2789 | keys[keys.length] = "<dtml-var "_.chr(65+_['sequence-index'])">";
|
|---|
| 2790 | </dtml-if>
|
|---|
| 2791 | </dtml-in>
|
|---|
| 2792 | }
|
|---|
| 2793 | key = "";
|
|---|
| 2794 | <dtml-if "thisXqType=='single'">
|
|---|
| 2795 | if (keys.length==1) key += keys[0];
|
|---|
| 2796 | <dtml-else>
|
|---|
| 2797 | key += "{";
|
|---|
| 2798 | for (i=0; i<keys.length; i++)
|
|---|
| 2799 | {
|
|---|
| 2800 | if (i>0)
|
|---|
| 2801 | key += ",";
|
|---|
| 2802 | key += keys[i];
|
|---|
| 2803 | }
|
|---|
| 2804 | key += "}";
|
|---|
| 2805 | </dtml-if>
|
|---|
| 2806 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.learner_response",key);
|
|---|
| 2807 |
|
|---|
| 2808 | // Compare correct_responses with learner_responses.
|
|---|
| 2809 | // -------------------------------------------------
|
|---|
| 2810 | var b = true;
|
|---|
| 2811 | for (i=0; i<questions.length; i++)
|
|---|
| 2812 | {
|
|---|
| 2813 | var found = false;
|
|---|
| 2814 | for (j=0; j<keys.length; j++)
|
|---|
| 2815 | found |= questions[i]==keys[j];
|
|---|
| 2816 | b &= found;
|
|---|
| 2817 | }
|
|---|
| 2818 | for (j=0; j<keys.length; j++)
|
|---|
| 2819 | {
|
|---|
| 2820 | var found = false;
|
|---|
| 2821 | for (i=0; i<questions.length; i++)
|
|---|
| 2822 | found |= questions[i]==keys[j];
|
|---|
| 2823 | b &= found;
|
|---|
| 2824 | }
|
|---|
| 2825 | if (b)
|
|---|
| 2826 | {
|
|---|
| 2827 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.result","correct");
|
|---|
| 2828 | rawScore++;
|
|---|
| 2829 | }
|
|---|
| 2830 | else
|
|---|
| 2831 | {
|
|---|
| 2832 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.result","incorrect");
|
|---|
| 2833 | }
|
|---|
| 2834 |
|
|---|
| 2835 | <dtml-call "REQUEST.set('cmiInteractionNo',REQUEST.get('cmiInteractionNo',0)+1)">
|
|---|
| 2836 |
|
|---|
| 2837 | </dtml-let>
|
|---|
| 2838 |
|
|---|
| 2839 | //-- EO examQMultipleChoice::js_calcRawScore --]]>
|
|---|
| 2840 | </item>
|
|---|
| 2841 | <item key="id"><![CDATA[js_calcRawScore]]></item>
|
|---|
| 2842 | <item key="mandatory" type="int">0</item>
|
|---|
| 2843 | <item key="multilang" type="int">0</item>
|
|---|
| 2844 | <item key="name"><![CDATA[JavaScript: calcRawScore]]></item>
|
|---|
| 2845 | <item key="repetitive" type="int">0</item>
|
|---|
| 2846 | <item key="type"><![CDATA[method]]></item>
|
|---|
| 2847 | </dictionary>
|
|---|
| 2848 | </item>
|
|---|
| 2849 | <item type="dictionary">
|
|---|
| 2850 | <dictionary>
|
|---|
| 2851 | <item key="custom"><![CDATA[//-- BO examQMultipleChoice::js_formSubmit --//
|
|---|
| 2852 |
|
|---|
| 2853 | <dtml-let thisId="id"
|
|---|
| 2854 | thisXqType="getObjProperty('xqType',REQUEST)">
|
|---|
| 2855 | <dtml-call "REQUEST.set('cmiQuestionNo',REQUEST.get('cmiQuestionNo',0)+1)">
|
|---|
| 2856 | <dtml-if "thisXqType=='single'">
|
|---|
| 2857 | obj = document.forms[fmName].elements["inp_<dtml-var id>"];
|
|---|
| 2858 | msg = "<dtml-var "getZMILangStr('MSG_REQUIRED')%'%i. %s'%(REQUEST.get('cmiQuestionNo'),getLangStr('LMS_CMI_QUESTION',lang))">";
|
|---|
| 2859 | dofocus = true;
|
|---|
| 2860 | if ( disallowBlank(obj,msg,dofocus)) return false;
|
|---|
| 2861 | </dtml-if>
|
|---|
| 2862 | </dtml-let>
|
|---|
| 2863 |
|
|---|
| 2864 | //-- EO examQMultipleChoice::js_formSubmit --//]]>
|
|---|
| 2865 | </item>
|
|---|
| 2866 | <item key="id"><![CDATA[js_formSubmit]]></item>
|
|---|
| 2867 | <item key="mandatory" type="int">0</item>
|
|---|
| 2868 | <item key="multilang" type="int">0</item>
|
|---|
| 2869 | <item key="name"><![CDATA[JavaScript: formSubmit]]></item>
|
|---|
| 2870 | <item key="repetitive" type="int">0</item>
|
|---|
| 2871 | <item key="type"><![CDATA[method]]></item>
|
|---|
| 2872 | </dictionary>
|
|---|
| 2873 | </item>
|
|---|
| 2874 | <item type="dictionary">
|
|---|
| 2875 | <dictionary>
|
|---|
| 2876 | <item key="custom"><![CDATA[<!-- BO bodyContentZMSCustom_examQMultipleChoice -->
|
|---|
| 2877 |
|
|---|
| 2878 | <dtml-let thisId="id"
|
|---|
| 2879 | thisXqType="getObjProperty('xqType',REQUEST)">
|
|---|
| 2880 | <script language="JavaScript">
|
|---|
| 2881 | <!--
|
|---|
| 2882 | <dtml-call "REQUEST.set('cmiQuestionNo',REQUEST.get('cmiQuestionNo',0)+1)">
|
|---|
| 2883 | document.write( "<h3><dtml-var "REQUEST.get('cmiQuestionNo')">. <dtml-var "getLangStr('LMS_CMI_QUESTION',lang)"></h3>");
|
|---|
| 2884 | document.write( "<table cellspacing=0 cellpadding=1 border=1>\n");
|
|---|
| 2885 | document.write( "<tr>\n");
|
|---|
| 2886 | document.write( "<td class=\"form-label\" colspan=\"2\"><b><dtml-var "getObjProperty('xqText',REQUEST)" html_quote></b></td>\n");
|
|---|
| 2887 | document.write( "</tr>\n");
|
|---|
| 2888 | <dtml-in "getObjChildren('xqItems',REQUEST)">
|
|---|
| 2889 | <dtml-let ch="_.chr(65+_['sequence-index']).upper()">
|
|---|
| 2890 | var sPre = '<tr>';
|
|---|
| 2891 | sPre += "<td class=\"form-text\"><dtml-var "getObjProperty('xqiText',REQUEST)" html_quote></td>";
|
|---|
| 2892 | sPre += "<td class=\"form-element\">";
|
|---|
| 2893 | var sPost = '</td></tr>';
|
|---|
| 2894 | <dtml-if "thisXqType=='single'">
|
|---|
| 2895 | var sType = "radio";
|
|---|
| 2896 | var sClass = "form-element";
|
|---|
| 2897 | var sName = "inp_<dtml-var thisId>";
|
|---|
| 2898 | var sValue = "<dtml-var id>";
|
|---|
| 2899 | var sInput = "<input type='" + sType + "' class='"+sClass+"' name='"+sName+"' value='"+sValue+"'>";
|
|---|
| 2900 | var sResult = "";
|
|---|
| 2901 | try {
|
|---|
| 2902 | var success_status = doGetValue("cmi.success_status");
|
|---|
| 2903 | var completion_status = doGetValue("cmi.completion_status");
|
|---|
| 2904 | if ( completion_status == "completed")
|
|---|
| 2905 | {
|
|---|
| 2906 | sInput = "";
|
|---|
| 2907 | var learner_response = doGetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.learner_response");
|
|---|
| 2908 | var correct_responses = doGetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.correct_responses.0.pattern");
|
|---|
| 2909 | var b = ((learner_response.indexOf("<dtml-var ch>")>=0 && correct_responses.indexOf("<dtml-var ch>")>=0) ||
|
|---|
| 2910 | (learner_response.indexOf("<dtml-var ch>")<0 && correct_responses.indexOf("<dtml-var ch>")<0));
|
|---|
| 2911 | if (learner_response.indexOf("<dtml-var ch>")>=0 && correct_responses.indexOf("<dtml-var ch>")>=0)
|
|---|
| 2912 | sResult += "<font style='color:green'><b>√</b></font> ";
|
|---|
| 2913 | else if (learner_response.indexOf("<dtml-var ch>")>=0 && correct_responses.indexOf("<dtml-var ch>")<0)
|
|---|
| 2914 | sResult += "<font style='color:red'>f</font> ";
|
|---|
| 2915 | // else if (learner_response.indexOf("<dtml-var ch>")<0 && correct_responses.indexOf("<dtml-var ch>")>=0)
|
|---|
| 2916 | // sResult += "● ";
|
|---|
| 2917 | else {
|
|---|
| 2918 | sPre = "";
|
|---|
| 2919 | sResult = "";
|
|---|
| 2920 | sPost = "";
|
|---|
| 2921 | }
|
|---|
| 2922 | if ( sResult.length > 0) {
|
|---|
| 2923 | sResult += "<dtml-var "getObjProperty('xqiFeedback',REQUEST)">";
|
|---|
| 2924 | }
|
|---|
| 2925 | }
|
|---|
| 2926 | } catch (e) { }
|
|---|
| 2927 | <dtml-else>
|
|---|
| 2928 | var sType = "checkbox";
|
|---|
| 2929 | var sClass = "form-element";
|
|---|
| 2930 | var sName = "inp_<dtml-var thisId>:list";
|
|---|
| 2931 | var sValue = "<dtml-var id>";
|
|---|
| 2932 | var sChecked = "";
|
|---|
| 2933 | var sResult = "";
|
|---|
| 2934 | try {
|
|---|
| 2935 | var learner_response = doGetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.learner_response");
|
|---|
| 2936 | var correct_responses = doGetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.correct_responses.0.pattern");
|
|---|
| 2937 | if (learner_response.indexOf("<dtml-var ch>")>=0)
|
|---|
| 2938 | sChecked = " checked";
|
|---|
| 2939 | var b = ((learner_response.indexOf("<dtml-var ch>")>=0 && correct_responses.indexOf("<dtml-var ch>")>=0) ||
|
|---|
| 2940 | (learner_response.indexOf("<dtml-var ch>")<0 && correct_responses.indexOf("<dtml-var ch>")<0));
|
|---|
| 2941 | if (learner_response.indexOf("<dtml-var ch>")>=0 && correct_responses.indexOf("<dtml-var ch>")>=0)
|
|---|
| 2942 | sResult += "<font style='color:green'><b>√</b></font> ";
|
|---|
| 2943 | else if (learner_response.indexOf("<dtml-var ch>")>=0 && correct_responses.indexOf("<dtml-var ch>")<0)
|
|---|
| 2944 | sResult += "<font style='color:red'>f</font> ";
|
|---|
| 2945 | // else if (learner_response.indexOf("<dtml-var ch>")<0 && correct_responses.indexOf("<dtml-var ch>")>=0)
|
|---|
| 2946 | // sResult += "● ";
|
|---|
| 2947 | else
|
|---|
| 2948 | sResult += ""
|
|---|
| 2949 | } catch (e) { }
|
|---|
| 2950 | if ( sResult.length > 0) {
|
|---|
| 2951 | sResult += "<dtml-var "getObjProperty('xqiFeedback',REQUEST)">";
|
|---|
| 2952 | }
|
|---|
| 2953 | var sInput = "<input type='"+sType+"' class='"+sClass+"' name='"+sName+"' value='"+sValue+"'"+sChecked+">";
|
|---|
| 2954 | </dtml-if>
|
|---|
| 2955 | document.write( sPre);
|
|---|
| 2956 | document.write( sResult);
|
|---|
| 2957 | document.write( sInput);
|
|---|
| 2958 | document.write( sPost);
|
|---|
| 2959 | </dtml-let>
|
|---|
| 2960 | </dtml-in>
|
|---|
| 2961 | document.write( "</table>\n");
|
|---|
| 2962 | -->
|
|---|
| 2963 | </script>
|
|---|
| 2964 | <dtml-call "REQUEST.set('cmiInteractionNo',REQUEST.get('cmiInteractionNo',0)+1)">
|
|---|
| 2965 | </dtml-let>
|
|---|
| 2966 |
|
|---|
| 2967 | <!-- EO bodyContentZMSCustom_examQMultipleChoice -->]]>
|
|---|
| 2968 | </item>
|
|---|
| 2969 | <item key="id"><![CDATA[bodyContentZMSCustom_examQMultipleChoice]]></item>
|
|---|
| 2970 | <item key="mandatory" type="int">0</item>
|
|---|
| 2971 | <item key="multilang" type="int">0</item>
|
|---|
| 2972 | <item key="name"><![CDATA[Template: Interaction (multiple-choice)]]></item>
|
|---|
| 2973 | <item key="repetitive" type="int">0</item>
|
|---|
| 2974 | <item key="type"><![CDATA[DTML Method]]></item>
|
|---|
| 2975 | </dictionary>
|
|---|
| 2976 | </item>
|
|---|
| 2977 | </list>
|
|---|
| 2978 | </item>
|
|---|
| 2979 | <item key="enabled" type="int">0</item>
|
|---|
| 2980 | <item key="id"><![CDATA[examQMultipleChoice]]></item>
|
|---|
| 2981 | <item key="name"><![CDATA[Interaction (multiple-choice)]]></item>
|
|---|
| 2982 | <item key="package"><![CDATA[com.zms.elc.lcms]]></item>
|
|---|
| 2983 | <item key="revision"><![CDATA[0.0.0]]></item>
|
|---|
| 2984 | <item key="type"><![CDATA[ZMSObject]]></item>
|
|---|
| 2985 | </dictionary>
|
|---|
| 2986 | </item>
|
|---|
| 2987 | </dictionary>
|
|---|
| 2988 | </item>
|
|---|
| 2989 | <item type="dictionary">
|
|---|
| 2990 | <dictionary>
|
|---|
| 2991 | <item key="key"><![CDATA[examQMultipleChoiceItem]]></item>
|
|---|
| 2992 | <item key="value" type="dictionary">
|
|---|
| 2993 | <dictionary>
|
|---|
| 2994 | <item key="__obj_attrs__" type="list">
|
|---|
| 2995 | <list>
|
|---|
| 2996 | <item type="dictionary">
|
|---|
| 2997 | <dictionary>
|
|---|
| 2998 | <item key="custom">
|
|---|
| 2999 | <data content_type="image/gif" filename="multiplechoicel.gif" type="file">47494638396114001400b300004c4e4cb4b6b4fcfefcc4c6c4fc02fcbcbebccccecc770077270000070000d30000000000081ce0ebc30614126500000021f90401000004002c000000001400140003044c90c849abbd38ebcdf530a0318c9c219c68e185e228a899899ec58bb1a201bcf625a3805d2d70db9d824201d11714208781a545874c4a2f03675319f51c5157cca0402e44c39db47acdc64400003b</data>
|
|---|
| 3000 | </item>
|
|---|
| 3001 | <item key="id"><![CDATA[icon]]></item>
|
|---|
| 3002 | <item key="mandatory" type="int">0</item>
|
|---|
| 3003 | <item key="multilang" type="int">0</item>
|
|---|
| 3004 | <item key="name"><![CDATA[Icon]]></item>
|
|---|
| 3005 | <item key="repetitive" type="int">0</item>
|
|---|
| 3006 | <item key="type"><![CDATA[resource]]></item>
|
|---|
| 3007 | </dictionary>
|
|---|
| 3008 | </item>
|
|---|
| 3009 | <item type="dictionary">
|
|---|
| 3010 | <dictionary>
|
|---|
| 3011 | <item key="id"><![CDATA[xqiText]]></item>
|
|---|
| 3012 | <item key="mandatory" type="int">1</item>
|
|---|
| 3013 | <item key="multilang" type="int">1</item>
|
|---|
| 3014 | <item key="name"><![CDATA[Aussage]]></item>
|
|---|
| 3015 | <item key="repetitive" type="int">0</item>
|
|---|
| 3016 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 3017 | </dictionary>
|
|---|
| 3018 | </item>
|
|---|
| 3019 | <item type="dictionary">
|
|---|
| 3020 | <dictionary>
|
|---|
| 3021 | <item key="id"><![CDATA[xqiValue]]></item>
|
|---|
| 3022 | <item key="mandatory" type="int">1</item>
|
|---|
| 3023 | <item key="multilang" type="int">0</item>
|
|---|
| 3024 | <item key="name"><![CDATA[True?]]></item>
|
|---|
| 3025 | <item key="repetitive" type="int">0</item>
|
|---|
| 3026 | <item key="type"><![CDATA[boolean]]></item>
|
|---|
| 3027 | </dictionary>
|
|---|
| 3028 | </item>
|
|---|
| 3029 | <item type="dictionary">
|
|---|
| 3030 | <dictionary>
|
|---|
| 3031 | <item key="id"><![CDATA[xqiFeedback]]></item>
|
|---|
| 3032 | <item key="mandatory" type="int">0</item>
|
|---|
| 3033 | <item key="multilang" type="int">1</item>
|
|---|
| 3034 | <item key="name"><![CDATA[Feedback zur Aussage]]></item>
|
|---|
| 3035 | <item key="repetitive" type="int">0</item>
|
|---|
| 3036 | <item key="type"><![CDATA[text]]></item>
|
|---|
| 3037 | </dictionary>
|
|---|
| 3038 | </item>
|
|---|
| 3039 | <item type="dictionary">
|
|---|
| 3040 | <dictionary>
|
|---|
| 3041 | <item key="custom"><![CDATA[<!-- BO bodyContentZMSCustom_examQMultipleChoiceItem -->
|
|---|
| 3042 |
|
|---|
| 3043 | <div class="form-text">
|
|---|
| 3044 | <input class="form-checkbox" type="checkbox" disabled="disabled" <dtml-if "getObjProperty('xqiValue',REQUEST)">checked="checked"</dtml-if>/>
|
|---|
| 3045 | <dtml-var "getObjProperty('xqiText',REQUEST)">
|
|---|
| 3046 | </div>
|
|---|
| 3047 |
|
|---|
| 3048 | <!-- EO bodyContentZMSCustom_examQMultipleChoiceItem -->]]>
|
|---|
| 3049 | </item>
|
|---|
| 3050 | <item key="id"><![CDATA[bodyContentZMSCustom_examQMultipleChoiceItem]]></item>
|
|---|
| 3051 | <item key="mandatory" type="int">0</item>
|
|---|
| 3052 | <item key="multilang" type="int">0</item>
|
|---|
| 3053 | <item key="name"><![CDATA[Template: Multiple Choice Item]]></item>
|
|---|
| 3054 | <item key="repetitive" type="int">0</item>
|
|---|
| 3055 | <item key="type"><![CDATA[DTML Method]]></item>
|
|---|
| 3056 | </dictionary>
|
|---|
| 3057 | </item>
|
|---|
| 3058 | </list>
|
|---|
| 3059 | </item>
|
|---|
| 3060 | <item key="enabled" type="int">0</item>
|
|---|
| 3061 | <item key="id"><![CDATA[examQMultipleChoiceItem]]></item>
|
|---|
| 3062 | <item key="name"><![CDATA[Multiple Choice Item]]></item>
|
|---|
| 3063 | <item key="package"><![CDATA[com.zms.elc.lcms]]></item>
|
|---|
| 3064 | <item key="revision"><![CDATA[0.0.0]]></item>
|
|---|
| 3065 | <item key="type"><![CDATA[ZMSObject]]></item>
|
|---|
| 3066 | </dictionary>
|
|---|
| 3067 | </item>
|
|---|
| 3068 | </dictionary>
|
|---|
| 3069 | </item>
|
|---|
| 3070 | <item type="dictionary">
|
|---|
| 3071 | <dictionary>
|
|---|
| 3072 | <item key="key"><![CDATA[examQTrueFalse]]></item>
|
|---|
| 3073 | <item key="value" type="dictionary">
|
|---|
| 3074 | <dictionary>
|
|---|
| 3075 | <item key="__obj_attrs__" type="list">
|
|---|
| 3076 | <list>
|
|---|
| 3077 | <item type="dictionary">
|
|---|
| 3078 | <dictionary>
|
|---|
| 3079 | <item key="custom">
|
|---|
| 3080 | <data content_type="image/gif" filename="truefalsel.gif" type="file">47494638396114001400b300004c4e4c848284c4c6c4b4b6b4fcfefcfc02fcccceccbcbebc270000070000d30000000000b01c98e5c3021412f000000021f90401000005002c0000000014001400030448b0c849abbd38ebcdbbff93210a95689025a1126861ac2cf506001010870babb9f4d6359c6ed7d30101c217712220d06c8441a1b9933261d629d672e86625ddc317442e9bcfe84c04003b</data>
|
|---|
| 3081 | </item>
|
|---|
| 3082 | <item key="id"><![CDATA[icon]]></item>
|
|---|
| 3083 | <item key="mandatory" type="int">0</item>
|
|---|
| 3084 | <item key="multilang" type="int">0</item>
|
|---|
| 3085 | <item key="name"><![CDATA[Icon]]></item>
|
|---|
| 3086 | <item key="repetitive" type="int">0</item>
|
|---|
| 3087 | <item key="type"><![CDATA[resource]]></item>
|
|---|
| 3088 | </dictionary>
|
|---|
| 3089 | </item>
|
|---|
| 3090 | <item type="dictionary">
|
|---|
| 3091 | <dictionary>
|
|---|
| 3092 | <item key="id"><![CDATA[xqText]]></item>
|
|---|
| 3093 | <item key="mandatory" type="int">1</item>
|
|---|
| 3094 | <item key="multilang" type="int">1</item>
|
|---|
| 3095 | <item key="name"><![CDATA[Text]]></item>
|
|---|
| 3096 | <item key="repetitive" type="int">0</item>
|
|---|
| 3097 | <item key="type"><![CDATA[text]]></item>
|
|---|
| 3098 | </dictionary>
|
|---|
| 3099 | </item>
|
|---|
| 3100 | <item type="dictionary">
|
|---|
| 3101 | <dictionary>
|
|---|
| 3102 | <item key="id"><![CDATA[xqItems]]></item>
|
|---|
| 3103 | <item key="mandatory" type="int">0</item>
|
|---|
| 3104 | <item key="multilang" type="int">0</item>
|
|---|
| 3105 | <item key="name"><![CDATA[Items]]></item>
|
|---|
| 3106 | <item key="repetitive" type="int">1</item>
|
|---|
| 3107 | <item key="type"><![CDATA[examQTrueFalseItem]]></item>
|
|---|
| 3108 | </dictionary>
|
|---|
| 3109 | </item>
|
|---|
| 3110 | <item type="dictionary">
|
|---|
| 3111 | <dictionary>
|
|---|
| 3112 | <item key="id"><![CDATA[cmi_interactions]]></item>
|
|---|
| 3113 | <item key="mandatory" type="int">0</item>
|
|---|
| 3114 | <item key="multilang" type="int">0</item>
|
|---|
| 3115 | <item key="name"><![CDATA[CMI Interactions]]></item>
|
|---|
| 3116 | <item key="repetitive" type="int">0</item>
|
|---|
| 3117 | <item key="type"><![CDATA[delimiter]]></item>
|
|---|
| 3118 | </dictionary>
|
|---|
| 3119 | </item>
|
|---|
| 3120 | <item type="dictionary">
|
|---|
| 3121 | <dictionary>
|
|---|
| 3122 | <item key="default"><![CDATA[1.0]]></item>
|
|---|
| 3123 | <item key="id"><![CDATA[cmi_interactions_weighting]]></item>
|
|---|
| 3124 | <item key="mandatory" type="int">1</item>
|
|---|
| 3125 | <item key="multilang" type="int">0</item>
|
|---|
| 3126 | <item key="name"><![CDATA[Weighting]]></item>
|
|---|
| 3127 | <item key="repetitive" type="int">0</item>
|
|---|
| 3128 | <item key="type"><![CDATA[float]]></item>
|
|---|
| 3129 | </dictionary>
|
|---|
| 3130 | </item>
|
|---|
| 3131 | <item type="dictionary">
|
|---|
| 3132 | <dictionary>
|
|---|
| 3133 | <item key="custom"><![CDATA[true_false]]></item>
|
|---|
| 3134 | <item key="id"><![CDATA[cmi_interactions_type]]></item>
|
|---|
| 3135 | <item key="mandatory" type="int">1</item>
|
|---|
| 3136 | <item key="multilang" type="int">0</item>
|
|---|
| 3137 | <item key="name"><![CDATA[Type]]></item>
|
|---|
| 3138 | <item key="repetitive" type="int">0</item>
|
|---|
| 3139 | <item key="type"><![CDATA[constant]]></item>
|
|---|
| 3140 | </dictionary>
|
|---|
| 3141 | </item>
|
|---|
| 3142 | <item type="dictionary">
|
|---|
| 3143 | <dictionary>
|
|---|
| 3144 | <item key="custom"><![CDATA[//-- BO examQTrueFalse::js_calcRawScore --
|
|---|
| 3145 |
|
|---|
| 3146 | <dtml-let cmiInteractionType="getObjProperty('cmi_interactions_type',REQUEST)"
|
|---|
| 3147 | cmiInteractionWeighting="getObjProperty('cmi_interactions_weighting',REQUEST)">
|
|---|
| 3148 |
|
|---|
| 3149 | // ############################################################
|
|---|
| 3150 | // True/False #<dtml-var "REQUEST.get('cmiInteractionNo',0)">
|
|---|
| 3151 | // ############################################################
|
|---|
| 3152 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.id","<dtml-var id>");
|
|---|
| 3153 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.type","<dtml-var cmiInteractionType>");
|
|---|
| 3154 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.weighting","<dtml-var cmiInteractionWeighting>");
|
|---|
| 3155 |
|
|---|
| 3156 | // Get correct_responses.
|
|---|
| 3157 | // ----------------------
|
|---|
| 3158 | var questions = new Array();
|
|---|
| 3159 | <dtml-in "getObjChildren('xqItems',REQUEST)">
|
|---|
| 3160 | <dtml-if "getObjProperty('xqiValue',REQUEST)">
|
|---|
| 3161 | questions[questions.length] = "<dtml-var "_.chr(65+_['sequence-index'])">";
|
|---|
| 3162 | </dtml-if>
|
|---|
| 3163 | </dtml-in>
|
|---|
| 3164 | question = "{";
|
|---|
| 3165 | for (i=0; i<questions.length; i++)
|
|---|
| 3166 | {
|
|---|
| 3167 | if (i>0)
|
|---|
| 3168 | question += ",";
|
|---|
| 3169 | question += questions[i];
|
|---|
| 3170 | }
|
|---|
| 3171 | question += "}";
|
|---|
| 3172 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.correct_responses.0.pattern",question);
|
|---|
| 3173 |
|
|---|
| 3174 | // Get learner_response.
|
|---|
| 3175 | // ---------------------
|
|---|
| 3176 | var keys = new Array();
|
|---|
| 3177 | var fm = document.examForm;
|
|---|
| 3178 | for (i=0; i<fm.elements.length; i++)
|
|---|
| 3179 | {
|
|---|
| 3180 | var el = fm.elements[i];
|
|---|
| 3181 | <dtml-in "getObjChildren('xqItems',REQUEST)">
|
|---|
| 3182 | if (el.name=="inp_<dtml-var id>:int")
|
|---|
| 3183 | if (el.checked && el.value=='1')
|
|---|
| 3184 | keys[keys.length] = "<dtml-var "_.chr(65+_['sequence-index'])">";
|
|---|
| 3185 | </dtml-in>
|
|---|
| 3186 | }
|
|---|
| 3187 | key = "{";
|
|---|
| 3188 | for (i=0; i<keys.length; i++)
|
|---|
| 3189 | {
|
|---|
| 3190 | if (i>0)
|
|---|
| 3191 | key += ",";
|
|---|
| 3192 | key += keys[i];
|
|---|
| 3193 | }
|
|---|
| 3194 | key += "}";
|
|---|
| 3195 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.learner_response",key);
|
|---|
| 3196 |
|
|---|
| 3197 | // Compare correct_responses with learner_responses.
|
|---|
| 3198 | // -------------------------------------------------
|
|---|
| 3199 | var b = true;
|
|---|
| 3200 | for (i=0; i<questions.length; i++)
|
|---|
| 3201 | {
|
|---|
| 3202 | var found = false;
|
|---|
| 3203 | for (j=0; j<keys.length; j++)
|
|---|
| 3204 | found |= questions[i]==keys[j];
|
|---|
| 3205 | b &= found;
|
|---|
| 3206 | }
|
|---|
| 3207 | for (j=0; j<keys.length; j++)
|
|---|
| 3208 | {
|
|---|
| 3209 | var found = false;
|
|---|
| 3210 | for (i=0; i<questions.length; i++)
|
|---|
| 3211 | found |= questions[i]==keys[j];
|
|---|
| 3212 | b &= found;
|
|---|
| 3213 | }
|
|---|
| 3214 | if (b)
|
|---|
| 3215 | {
|
|---|
| 3216 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.result","correct");
|
|---|
| 3217 | rawScore++;
|
|---|
| 3218 | }
|
|---|
| 3219 | else
|
|---|
| 3220 | {
|
|---|
| 3221 | doSetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.result","incorrect");
|
|---|
| 3222 | }
|
|---|
| 3223 |
|
|---|
| 3224 | <dtml-call "REQUEST.set('cmiInteractionNo',REQUEST.get('cmiInteractionNo',0)+1)">
|
|---|
| 3225 |
|
|---|
| 3226 | </dtml-let>
|
|---|
| 3227 |
|
|---|
| 3228 | //-- BO examQTrueFalse::js_calcRawScore --]]>
|
|---|
| 3229 | </item>
|
|---|
| 3230 | <item key="id"><![CDATA[js_calcRawScore]]></item>
|
|---|
| 3231 | <item key="mandatory" type="int">0</item>
|
|---|
| 3232 | <item key="multilang" type="int">0</item>
|
|---|
| 3233 | <item key="name"><![CDATA[JavaScript: calcRawScore]]></item>
|
|---|
| 3234 | <item key="repetitive" type="int">0</item>
|
|---|
| 3235 | <item key="type"><![CDATA[method]]></item>
|
|---|
| 3236 | </dictionary>
|
|---|
| 3237 | </item>
|
|---|
| 3238 | <item type="dictionary">
|
|---|
| 3239 | <dictionary>
|
|---|
| 3240 | <item key="custom"><![CDATA[//-- BO examQTrueFalse::js_formSubmit --//
|
|---|
| 3241 |
|
|---|
| 3242 | <dtml-let thisId="id"
|
|---|
| 3243 | thisXqType="getObjProperty('xqType',REQUEST)">
|
|---|
| 3244 | <dtml-call "REQUEST.set('cmiQuestionNo',REQUEST.get('cmiQuestionNo',0)+1)">
|
|---|
| 3245 | </dtml-let>
|
|---|
| 3246 |
|
|---|
| 3247 | //-- EO examQTrueFalse::js_formSubmit --//]]>
|
|---|
| 3248 | </item>
|
|---|
| 3249 | <item key="id"><![CDATA[js_formSubmit]]></item>
|
|---|
| 3250 | <item key="mandatory" type="int">0</item>
|
|---|
| 3251 | <item key="multilang" type="int">0</item>
|
|---|
| 3252 | <item key="name"><![CDATA[JavaScript: formSubmit]]></item>
|
|---|
| 3253 | <item key="repetitive" type="int">0</item>
|
|---|
| 3254 | <item key="type"><![CDATA[method]]></item>
|
|---|
| 3255 | </dictionary>
|
|---|
| 3256 | </item>
|
|---|
| 3257 | <item type="dictionary">
|
|---|
| 3258 | <dictionary>
|
|---|
| 3259 | <item key="custom"><![CDATA[<!-- BO bodyContentZMSCustom_examQTrueFalse -->
|
|---|
| 3260 |
|
|---|
| 3261 | <dtml-call "REQUEST.set('cmiQuestionNo',REQUEST.get('cmiQuestionNo',0)+1)">
|
|---|
| 3262 | <h3><dtml-var "REQUEST.get('cmiQuestionNo')">. <dtml-var "getLangStr('LMS_CMI_QUESTION',lang)"></h3>
|
|---|
| 3263 | <table cellspacing="0" cellpadding="1" border="0">
|
|---|
| 3264 | <tr>
|
|---|
| 3265 | <td class="form-label" colspan="3"><dtml-var "getObjProperty('xqText',REQUEST)"></td>
|
|---|
| 3266 | </tr>
|
|---|
| 3267 | <tr>
|
|---|
| 3268 | <td class="form-label"> </td>
|
|---|
| 3269 | <td class="form-label" width="50" align="center">Falsch</td>
|
|---|
| 3270 | <td class="form-label" width="50" align="center">Richtig</td>
|
|---|
| 3271 | </tr>
|
|---|
| 3272 | <dtml-in "getObjChildren('xqItems',REQUEST)">
|
|---|
| 3273 | <dtml-let ch="_.chr(65+_['sequence-index']).upper()">
|
|---|
| 3274 | <tr>
|
|---|
| 3275 | <td class="form-text"><dtml-var "getObjProperty('xqiText',REQUEST)"></td>
|
|---|
| 3276 | <td class="form-element" width="50" align="right">
|
|---|
| 3277 | <script language="JavaScript">
|
|---|
| 3278 | <!--
|
|---|
| 3279 | var sType = "radio";
|
|---|
| 3280 | var sClass = "form-element";
|
|---|
| 3281 | var sName = "inp_<dtml-var id>:int";
|
|---|
| 3282 | var sValue = "0";
|
|---|
| 3283 | var sInput = "<input type='" + sType + "' class='"+sClass+"' name='"+sName+"' value='"+sValue+"'>";
|
|---|
| 3284 | var sResult = "";
|
|---|
| 3285 | try {
|
|---|
| 3286 | var success_status = doGetValue("cmi.success_status");
|
|---|
| 3287 | var completion_status = doGetValue("cmi.completion_status");
|
|---|
| 3288 | if ( completion_status == "completed")
|
|---|
| 3289 | {
|
|---|
| 3290 | sInput = "";
|
|---|
| 3291 | var learner_response = doGetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.learner_response");
|
|---|
| 3292 | var correct_responses = doGetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.correct_responses.0.pattern");
|
|---|
| 3293 | var b = ((learner_response.indexOf("<dtml-var ch>")>=0 && correct_responses.indexOf("<dtml-var ch>")>=0) ||
|
|---|
| 3294 | (learner_response.indexOf("<dtml-var ch>")<0 && correct_responses.indexOf("<dtml-var ch>")<0));
|
|---|
| 3295 | if (learner_response.indexOf("<dtml-var ch>")>=0 && correct_responses.indexOf("<dtml-var ch>")<0)
|
|---|
| 3296 | sResult += "<font style='color:green'>»</font> ";
|
|---|
| 3297 | else if (learner_response.indexOf("<dtml-var ch>")<0 && correct_responses.indexOf("<dtml-var ch>")<0)
|
|---|
| 3298 | sResult += "<font style='color:green'><b>»</b></font> ";
|
|---|
| 3299 | else if (learner_response.indexOf("<dtml-var ch>")<0 && correct_responses.indexOf("<dtml-var ch>")>=0)
|
|---|
| 3300 | sResult += "<font style='color:red'>f</font> ";
|
|---|
| 3301 | else
|
|---|
| 3302 | sResult += " ";
|
|---|
| 3303 | }
|
|---|
| 3304 | } catch (e) { }
|
|---|
| 3305 | document.write(sResult);
|
|---|
| 3306 | document.write(sInput);
|
|---|
| 3307 | -->
|
|---|
| 3308 | </script>
|
|---|
| 3309 |
|
|---|
| 3310 | </td>
|
|---|
| 3311 | <td class="form-element" width="50" align="right">
|
|---|
| 3312 | <script language="JavaScript">
|
|---|
| 3313 | <!--
|
|---|
| 3314 | var sType = "radio";
|
|---|
| 3315 | var sClass = "form-element";
|
|---|
| 3316 | var sName = "inp_<dtml-var id>:int";
|
|---|
| 3317 | var sValue = "1";
|
|---|
| 3318 | var sInput = "<input type='" + sType + "' class='"+sClass+"' name='"+sName+"' value='"+sValue+"'>";
|
|---|
| 3319 | var sResult = "";
|
|---|
| 3320 | try {
|
|---|
| 3321 | var success_status = doGetValue("cmi.success_status");
|
|---|
| 3322 | var completion_status = doGetValue("cmi.completion_status");
|
|---|
| 3323 | if ( completion_status == "completed")
|
|---|
| 3324 | {
|
|---|
| 3325 | sInput = "";
|
|---|
| 3326 | var learner_response = doGetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.learner_response");
|
|---|
| 3327 | var correct_responses = doGetValue("cmi.interactions.<dtml-var "REQUEST.get('cmiInteractionNo',0)">.correct_responses.0.pattern");
|
|---|
| 3328 | var b = ((learner_response.indexOf("<dtml-var ch>")>=0 && correct_responses.indexOf("<dtml-var ch>")>=0) ||
|
|---|
| 3329 | (learner_response.indexOf("<dtml-var ch>")<0 && correct_responses.indexOf("<dtml-var ch>")<0));
|
|---|
| 3330 | if (learner_response.indexOf("<dtml-var ch>")>=0 && correct_responses.indexOf("<dtml-var ch>")>=0)
|
|---|
| 3331 | sResult += "<font style='color:green'><b>»</b></font> ";
|
|---|
| 3332 | else if (learner_response.indexOf("<dtml-var ch>")>=0 && correct_responses.indexOf("<dtml-var ch>")<0)
|
|---|
| 3333 | sResult += "<font style='color:red'>f</font> ";
|
|---|
| 3334 | else if (learner_response.indexOf("<dtml-var ch>")<0 && correct_responses.indexOf("<dtml-var ch>")>=0)
|
|---|
| 3335 | sResult += "<font style='color:green'>»</font> ";
|
|---|
| 3336 | else
|
|---|
| 3337 | sResult += " "
|
|---|
| 3338 | }
|
|---|
| 3339 | } catch (e) { }
|
|---|
| 3340 | document.write(sResult);
|
|---|
| 3341 | document.write(sInput);
|
|---|
| 3342 | -->
|
|---|
| 3343 | </script>
|
|---|
| 3344 |
|
|---|
| 3345 | </td>
|
|---|
| 3346 | </tr>
|
|---|
| 3347 | </dtml-let>
|
|---|
| 3348 | </dtml-in>
|
|---|
| 3349 | </table>
|
|---|
| 3350 | <dtml-call "REQUEST.set('cmiInteractionNo',REQUEST.get('cmiInteractionNo',0)+1)">
|
|---|
| 3351 |
|
|---|
| 3352 | <!-- EO bodyContentZMSCustom_examQTrueFalse -->]]>
|
|---|
| 3353 | </item>
|
|---|
| 3354 | <item key="id"><![CDATA[bodyContentZMSCustom_examQTrueFalse]]></item>
|
|---|
| 3355 | <item key="mandatory" type="int">0</item>
|
|---|
| 3356 | <item key="multilang" type="int">0</item>
|
|---|
| 3357 | <item key="name"><![CDATA[Template: Interaction (true-false)]]></item>
|
|---|
| 3358 | <item key="repetitive" type="int">0</item>
|
|---|
| 3359 | <item key="type"><![CDATA[DTML Method]]></item>
|
|---|
| 3360 | </dictionary>
|
|---|
| 3361 | </item>
|
|---|
| 3362 | </list>
|
|---|
| 3363 | </item>
|
|---|
| 3364 | <item key="enabled" type="int">0</item>
|
|---|
| 3365 | <item key="id"><![CDATA[examQTrueFalse]]></item>
|
|---|
| 3366 | <item key="name"><![CDATA[Interaction (true-false)]]></item>
|
|---|
| 3367 | <item key="package"><![CDATA[com.zms.elc.lcms]]></item>
|
|---|
| 3368 | <item key="revision"><![CDATA[0.0.0]]></item>
|
|---|
| 3369 | <item key="type"><![CDATA[ZMSObject]]></item>
|
|---|
| 3370 | </dictionary>
|
|---|
| 3371 | </item>
|
|---|
| 3372 | </dictionary>
|
|---|
| 3373 | </item>
|
|---|
| 3374 | <item type="dictionary">
|
|---|
| 3375 | <dictionary>
|
|---|
| 3376 | <item key="key"><![CDATA[examQTrueFalseItem]]></item>
|
|---|
| 3377 | <item key="value" type="dictionary">
|
|---|
| 3378 | <dictionary>
|
|---|
| 3379 | <item key="__obj_attrs__" type="list">
|
|---|
| 3380 | <list>
|
|---|
| 3381 | <item type="dictionary">
|
|---|
| 3382 | <dictionary>
|
|---|
| 3383 | <item key="custom">
|
|---|
| 3384 | <data content_type="image/gif" filename="truefalsel.gif" type="file">47494638396114001400b300004c4e4c848284c4c6c4b4b6b4fcfefcfc02fcccceccbcbebc270000070000d30000000000b01c98e5c3021412f000000021f90401000005002c0000000014001400030448b0c849abbd38ebcdbbff93210a95689025a1126861ac2cf506001010870babb9f4d6359c6ed7d30101c217712220d06c8441a1b9933261d629d672e86625ddc317442e9bcfe84c04003b</data>
|
|---|
| 3385 | </item>
|
|---|
| 3386 | <item key="id"><![CDATA[icon]]></item>
|
|---|
| 3387 | <item key="mandatory" type="int">0</item>
|
|---|
| 3388 | <item key="multilang" type="int">0</item>
|
|---|
| 3389 | <item key="name"><![CDATA[Icon]]></item>
|
|---|
| 3390 | <item key="repetitive" type="int">0</item>
|
|---|
| 3391 | <item key="type"><![CDATA[resource]]></item>
|
|---|
| 3392 | </dictionary>
|
|---|
| 3393 | </item>
|
|---|
| 3394 | <item type="dictionary">
|
|---|
| 3395 | <dictionary>
|
|---|
| 3396 | <item key="id"><![CDATA[xqiText]]></item>
|
|---|
| 3397 | <item key="mandatory" type="int">1</item>
|
|---|
| 3398 | <item key="multilang" type="int">1</item>
|
|---|
| 3399 | <item key="name"><![CDATA[Aussage]]></item>
|
|---|
| 3400 | <item key="repetitive" type="int">0</item>
|
|---|
| 3401 | <item key="type"><![CDATA[string]]></item>
|
|---|
| 3402 | </dictionary>
|
|---|
| 3403 | </item>
|
|---|
| 3404 | <item type="dictionary">
|
|---|
| 3405 | <dictionary>
|
|---|
| 3406 | <item key="id"><![CDATA[xqiValue]]></item>
|
|---|
| 3407 | <item key="mandatory" type="int">1</item>
|
|---|
| 3408 | <item key="multilang" type="int">0</item>
|
|---|
| 3409 | <item key="name"><![CDATA[True?]]></item>
|
|---|
| 3410 | <item key="repetitive" type="int">0</item>
|
|---|
| 3411 | <item key="type"><![CDATA[boolean]]></item>
|
|---|
| 3412 | </dictionary>
|
|---|
| 3413 | </item>
|
|---|
| 3414 | <item type="dictionary">
|
|---|
| 3415 | <dictionary>
|
|---|
| 3416 | <item key="id"><![CDATA[xqiFeedback]]></item>
|
|---|
| 3417 | <item key="mandatory" type="int">0</item>
|
|---|
| 3418 | <item key="multilang" type="int">1</item>
|
|---|
| 3419 | <item key="name"><![CDATA[Feedback zur Aussage]]></item>
|
|---|
| 3420 | <item key="repetitive" type="int">0</item>
|
|---|
| 3421 | <item key="type"><![CDATA[text]]></item>
|
|---|
| 3422 | </dictionary>
|
|---|
| 3423 | </item>
|
|---|
| 3424 | <item type="dictionary">
|
|---|
| 3425 | <dictionary>
|
|---|
| 3426 | <item key="custom"><![CDATA[<!-- BO bodyContentZMSCustom_examQTrueFalseItem -->
|
|---|
| 3427 |
|
|---|
| 3428 | <div class="form-text">
|
|---|
| 3429 | <input class="form-checkbox" type="checkbox" disabled="disabled" <dtml-if "getObjProperty('xqiValue',REQUEST)">checked="checked"</dtml-if>/>
|
|---|
| 3430 | <dtml-var "getObjProperty('xqiText',REQUEST)">
|
|---|
| 3431 | </div>
|
|---|
| 3432 |
|
|---|
| 3433 | <!-- EO bodyContentZMSCustom_examQTrueFalseItem -->]]>
|
|---|
| 3434 | </item>
|
|---|
| 3435 | <item key="id"><![CDATA[bodyContentZMSCustom_examQTrueFalseItem]]></item>
|
|---|
| 3436 | <item key="mandatory" type="int">0</item>
|
|---|
| 3437 | <item key="multilang" type="int">0</item>
|
|---|
| 3438 | <item key="name"><![CDATA[Template: True/False Item]]></item>
|
|---|
| 3439 | <item key="repetitive" type="int">0</item>
|
|---|
| 3440 | <item key="type"><![CDATA[DTML Method]]></item>
|
|---|
| 3441 | </dictionary>
|
|---|
| 3442 | </item>
|
|---|
| 3443 | </list>
|
|---|
| 3444 | </item>
|
|---|
| 3445 | <item key="enabled" type="int">0</item>
|
|---|
| 3446 | <item key="id"><![CDATA[examQTrueFalseItem]]></item>
|
|---|
| 3447 | <item key="name"><![CDATA[True/False Item]]></item>
|
|---|
| 3448 | <item key="package"><![CDATA[com.zms.elc.lcms]]></item>
|
|---|
| 3449 | <item key="revision"><![CDATA[0.0.0]]></item>
|
|---|
| 3450 | <item key="type"><![CDATA[ZMSObject]]></item>
|
|---|
| 3451 | </dictionary>
|
|---|
| 3452 | </item>
|
|---|
| 3453 | </dictionary>
|
|---|
| 3454 | </item>
|
|---|
| 3455 | </list> |
|---|