1<xs:schema targetNamespace="http://ltsc.ieee.org/xsd/LOM" 2 xmlns="http://ltsc.ieee.org/xsd/LOM" 3 xmlns:ag="http://ltsc.ieee.org/xsd/LOM/unique" 4 xmlns:ex="http://ltsc.ieee.org/xsd/LOM/extend" 5 xmlns:voc="http://ltsc.ieee.org/xsd/LOM/vocab" 6 xmlns:xs="http://www.w3.org/2001/XMLSchema" 7 elementFormDefault="qualified" 8 version="IEEE LTSC LOM XML 1.0"> 9 10 <xs:annotation> 11 <xs:documentation> 12 This work is licensed under the Creative Commons Attribution-ShareAlike 13 License. To view a copy of this license, see the file license.txt, 14 visit http://creativecommons.org/licenses/by-sa/1.0 or send a letter to 15 Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. 16 </xs:documentation> 17 18 <xs:documentation> 19 This component schema provides global type declarations for those metadata 20 elements whose values are taken from a vocabulary datatype. 21 </xs:documentation> 22 </xs:annotation> 23 24 <xs:import namespace="http://ltsc.ieee.org/xsd/LOM/unique"/> 25 <xs:import namespace="http://ltsc.ieee.org/xsd/LOM/extend"/> 26 <xs:import namespace="http://ltsc.ieee.org/xsd/LOM/vocab"/> 27 28 <!-- Vocabulary type declarations --> 29 30 <!-- Source --> 31 <xs:complexType name="sourceValue"> 32 <xs:simpleContent> 33 <xs:extension base="voc:source"> 34 <xs:attributeGroup ref="ag:source"/> 35 </xs:extension> 36 </xs:simpleContent> 37 </xs:complexType> 38 39 <!-- 1.7 Structure --> 40 <xs:complexType name="structureVocab"> 41 <xs:choice minOccurs="0" maxOccurs="unbounded"> 42 <xs:element name="source" type="sourceValue"/> 43 <xs:element name="value" type="structureValue"/> 44 <xs:group ref="ex:customElements"/> 45 </xs:choice> 46 </xs:complexType> 47 48 <xs:complexType name="structureValue"> 49 <xs:simpleContent> 50 <xs:extension base="voc:structure"> 51 <xs:attributeGroup ref="ag:value"/> 52 </xs:extension> 53 </xs:simpleContent> 54 </xs:complexType> 55 56 <!-- 1.8 Aggregation Level --> 57 <xs:complexType name="aggregationLevelVocab"> 58 <xs:choice minOccurs="0" maxOccurs="unbounded"> 59 <xs:element name="source" type="sourceValue"/> 60 <xs:element name="value" type="aggregationLevelValue"/> 61 <xs:group ref="ex:customElements"/> 62 </xs:choice> 63 </xs:complexType> 64 65 <xs:complexType name="aggregationLevelValue"> 66 <xs:simpleContent> 67 <xs:extension base="voc:aggregationLevel"> 68 <xs:attributeGroup ref="ag:value"/> 69 </xs:extension> 70 </xs:simpleContent> 71 </xs:complexType> 72 73 <!-- 2.2 Status --> 74 <xs:complexType name="statusVocab"> 75 <xs:choice minOccurs="0" maxOccurs="unbounded"> 76 <xs:element name="source" type="sourceValue"/> 77 <xs:element name="value" type="statusValue"/> 78 <xs:group ref="ex:customElements"/> 79 </xs:choice> 80 </xs:complexType> 81 82 <xs:complexType name="statusValue"> 83 <xs:simpleContent> 84 <xs:extension base="voc:status"> 85 <xs:attributeGroup ref="ag:value"/> 86 </xs:extension> 87 </xs:simpleContent> 88 </xs:complexType> 89 90 <!-- 2.3.1 Role --> 91 <xs:complexType name="roleVocab"> 92 <xs:choice minOccurs="0" maxOccurs="unbounded"> 93 <xs:element name="source" type="sourceValue"/> 94 <xs:element name="value" type="roleValue"/> 95 <xs:group ref="ex:customElements"/> 96 </xs:choice> 97 </xs:complexType> 98 99 <xs:complexType name="roleValue"> 100 <xs:simpleContent> 101 <xs:extension base="voc:role"> 102 <xs:attributeGroup ref="ag:value"/> 103 </xs:extension> 104 </xs:simpleContent> 105 </xs:complexType> 106 107 <!-- 3.2.1 Role --> 108 <xs:complexType name="roleMetaVocab"> 109 <xs:choice minOccurs="0" maxOccurs="unbounded"> 110 <xs:element name="source" type="sourceValue"/> 111 <xs:element name="value" type="roleMetaValue"/> 112 <xs:group ref="ex:customElements"/> 113 </xs:choice> 114 </xs:complexType> 115 116 <xs:complexType name="roleMetaValue"> 117 <xs:simpleContent> 118 <xs:extension base="voc:roleMeta"> 119 <xs:attributeGroup ref="ag:value"/> 120 </xs:extension> 121 </xs:simpleContent> 122 </xs:complexType> 123 124 <!-- 4.4.1.1 Type --> 125 <xs:complexType name="typeVocab"> 126 <xs:choice minOccurs="0" maxOccurs="unbounded"> 127 <xs:element name="source" type="sourceValue"/> 128 <xs:element name="value" type="typeValue"/> 129 <xs:group ref="ex:customElements"/> 130 </xs:choice> 131 </xs:complexType> 132 133 <xs:complexType name="typeValue"> 134 <xs:simpleContent> 135 <xs:extension base="voc:type"> 136 <xs:attributeGroup ref="ag:value"/> 137 </xs:extension> 138 </xs:simpleContent> 139 </xs:complexType> 140 141 <!-- 4.4.1.2 Name --> 142 <xs:complexType name="nameVocab"> 143 <xs:choice minOccurs="0" maxOccurs="unbounded"> 144 <xs:element name="source" type="sourceValue"/> 145 <xs:element name="value" type="nameValue"/> 146 <xs:group ref="ex:customElements"/> 147 </xs:choice> 148 </xs:complexType> 149 150 <xs:complexType name="nameValue"> 151 <xs:simpleContent> 152 <xs:extension base="voc:name"> 153 <xs:attributeGroup ref="ag:value"/> 154 </xs:extension> 155 </xs:simpleContent> 156 </xs:complexType> 157 158 <!-- 5.1 Interactivity Type --> 159 <xs:complexType name="interactivityTypeVocab"> 160 <xs:choice minOccurs="0" maxOccurs="unbounded"> 161 <xs:element name="source" type="sourceValue"/> 162 <xs:element name="value" type="interactivityTypeValue"/> 163 <xs:group ref="ex:customElements"/> 164 </xs:choice> 165 </xs:complexType> 166 167 <xs:complexType name="interactivityTypeValue"> 168 <xs:simpleContent> 169 <xs:extension base="voc:interactivityType"> 170 <xs:attributeGroup ref="ag:value"/> 171 </xs:extension> 172 </xs:simpleContent> 173 </xs:complexType> 174 175 <!-- 5.2 Learning Resource Type --> 176 <xs:complexType name="learningResourceTypeVocab"> 177 <xs:choice minOccurs="0" maxOccurs="unbounded"> 178 <xs:element name="source" type="sourceValue"/> 179 <xs:element name="value" type="learningResourceTypeValue"/> 180 <xs:group ref="ex:customElements"/> 181 </xs:choice> 182 </xs:complexType> 183 184 <xs:complexType name="learningResourceTypeValue"> 185 <xs:simpleContent> 186 <xs:extension base="voc:learningResourceType"> 187 <xs:attributeGroup ref="ag:value"/> 188 </xs:extension> 189 </xs:simpleContent> 190 </xs:complexType> 191 192 <!-- 5.3 Interactivity Level --> 193 <xs:complexType name="interactivityLevelVocab"> 194 <xs:choice minOccurs="0" maxOccurs="unbounded"> 195 <xs:element name="source" type="sourceValue"/> 196 <xs:element name="value" type="interactivityLevelValue"/> 197 <xs:group ref="ex:customElements"/> 198 </xs:choice> 199 </xs:complexType> 200 201 <xs:complexType name="interactivityLevelValue"> 202 <xs:simpleContent> 203 <xs:extension base="voc:interactivityLevel"> 204 <xs:attributeGroup ref="ag:value"/> 205 </xs:extension> 206 </xs:simpleContent> 207 </xs:complexType> 208 209 <!-- 5.4 Semantic Density --> 210 <xs:complexType name="semanticDensityVocab"> 211 <xs:choice minOccurs="0" maxOccurs="unbounded"> 212 <xs:element name="source" type="sourceValue"/> 213 <xs:element name="value" type="semanticDensityValue"/> 214 <xs:group ref="ex:customElements"/> 215 </xs:choice> 216 </xs:complexType> 217 218 <xs:complexType name="semanticDensityValue"> 219 <xs:simpleContent> 220 <xs:extension base="voc:semanticDensity"> 221 <xs:attributeGroup ref="ag:value"/> 222 </xs:extension> 223 </xs:simpleContent> 224 </xs:complexType> 225 226 <!-- 5.5 Intended End User Role --> 227 <xs:complexType name="intendedEndUserRoleVocab"> 228 <xs:choice minOccurs="0" maxOccurs="unbounded"> 229 <xs:element name="source" type="sourceValue"/> 230 <xs:element name="value" type="intendedEndUserRoleValue"/> 231 <xs:group ref="ex:customElements"/> 232 </xs:choice> 233 </xs:complexType> 234 235 <xs:complexType name="intendedEndUserRoleValue"> 236 <xs:simpleContent> 237 <xs:extension base="voc:intendedEndUserRole"> 238 <xs:attributeGroup ref="ag:value"/> 239 </xs:extension> 240 </xs:simpleContent> 241 </xs:complexType> 242 243 <!-- 5.6 Context --> 244 <xs:complexType name="contextVocab"> 245 <xs:choice minOccurs="0" maxOccurs="unbounded"> 246 <xs:element name="source" type="sourceValue"/> 247 <xs:element name="value" type="contextValue"/> 248 <xs:group ref="ex:customElements"/> 249 </xs:choice> 250 </xs:complexType> 251 252 <xs:complexType name="contextValue"> 253 <xs:simpleContent> 254 <xs:extension base="voc:context"> 255 <xs:attributeGroup ref="ag:value"/> 256 </xs:extension> 257 </xs:simpleContent> 258 </xs:complexType> 259 260 <!-- 5.8 Difficulty --> 261 <xs:complexType name="difficultyVocab"> 262 <xs:choice minOccurs="0" maxOccurs="unbounded"> 263 <xs:element name="source" type="sourceValue"/> 264 <xs:element name="value" type="difficultyValue"/> 265 <xs:group ref="ex:customElements"/> 266 </xs:choice> 267 </xs:complexType> 268 269 <xs:complexType name="difficultyValue"> 270 <xs:simpleContent> 271 <xs:extension base="voc:difficulty"> 272 <xs:attributeGroup ref="ag:value"/> 273 </xs:extension> 274 </xs:simpleContent> 275 </xs:complexType> 276 277 <!-- 6.1 Cost --> 278 <xs:complexType name="costVocab"> 279 <xs:choice minOccurs="0" maxOccurs="unbounded"> 280 <xs:element name="source" type="sourceValue"/> 281 <xs:element name="value" type="costValue"/> 282 <xs:group ref="ex:customElements"/> 283 </xs:choice> 284 </xs:complexType> 285 286 <xs:complexType name="costValue"> 287 <xs:simpleContent> 288 <xs:extension base="voc:cost"> 289 <xs:attributeGroup ref="ag:value"/> 290 </xs:extension> 291 </xs:simpleContent> 292 </xs:complexType> 293 294 <!-- 6.2 Copyright and Other Restrictions --> 295 <xs:complexType name="copyrightAndOtherRestrictionsVocab"> 296 <xs:choice minOccurs="0" maxOccurs="unbounded"> 297 <xs:element name="source" type="sourceValue"/> 298 <xs:element name="value" type="copyrightAndOtherRestrictionsValue"/> 299 <xs:group ref="ex:customElements"/> 300 </xs:choice> 301 </xs:complexType> 302 303 <xs:complexType name="copyrightAndOtherRestrictionsValue"> 304 <xs:simpleContent> 305 <xs:extension base="voc:copyrightAndOtherRestrictions"> 306 <xs:attributeGroup ref="ag:value"/> 307 </xs:extension> 308 </xs:simpleContent> 309 </xs:complexType> 310 311 <!-- 7.1 Kind --> 312 <xs:complexType name="kindVocab"> 313 <xs:choice minOccurs="0" maxOccurs="unbounded"> 314 <xs:element name="source" type="sourceValue"/> 315 <xs:element name="value" type="kindValue"/> 316 <xs:group ref="ex:customElements"/> 317 </xs:choice> 318 </xs:complexType> 319 320 <xs:complexType name="kindValue"> 321 <xs:simpleContent> 322 <xs:extension base="voc:kind"> 323 <xs:attributeGroup ref="ag:value"/> 324 </xs:extension> 325 </xs:simpleContent> 326 </xs:complexType> 327 328 <!-- 9.1 Purpose --> 329 <xs:complexType name="purposeVocab"> 330 <xs:choice minOccurs="0" maxOccurs="unbounded"> 331 <xs:element name="source" type="sourceValue"/> 332 <xs:element name="value" type="purposeValue"/> 333 <xs:group ref="ex:customElements"/> 334 </xs:choice> 335 </xs:complexType> 336 337 <xs:complexType name="purposeValue"> 338 <xs:simpleContent> 339 <xs:extension base="voc:purpose"> 340 <xs:attributeGroup ref="ag:value"/> 341 </xs:extension> 342 </xs:simpleContent> 343 </xs:complexType> 344 345</xs:schema> 346