1<xs:schema xmlns="https://w3id.org/xapi/profiles/cmi5/v1/CourseStructure.xsd" 2 xmlns:xs="http://www.w3.org/2001/XMLSchema" 3 targetNamespace="https://w3id.org/xapi/profiles/cmi5/v1/CourseStructure.xsd" elementFormDefault="qualified" 4 id="cmi5CourseStructure"> 5 <xs:element name="courseStructure" type="courseType"/> 6 <xs:complexType name="courseType"> 7 <xs:sequence> 8 <xs:element name="course"> 9 <xs:complexType> 10 <xs:sequence> 11 <xs:element name="title" type="textType"/> 12 <xs:element name="description" type="textType"/> 13 <xs:group ref="anyElement"/> 14 </xs:sequence> 15 <xs:attributeGroup ref="anyAttribute"/> 16 <xs:attribute name="id" type="xs:anyURI" use="required"/> 17 </xs:complexType> 18 </xs:element> 19 <xs:element name="objectives" type="objectivesType" minOccurs="0"/> 20 <xs:choice minOccurs="1" maxOccurs="unbounded"> 21 <xs:element name="au" type="auType"/> 22 <xs:element name="block" type="blockType"/> 23 </xs:choice> 24 <xs:group ref="anyElement"/> 25 </xs:sequence> 26 <xs:attributeGroup ref="anyAttribute"/> 27 </xs:complexType> 28 <xs:complexType name="blockType"> 29 <xs:sequence> 30 <xs:element name="title" type="textType"/> 31 <xs:element name="description" type="textType"/> 32 <xs:element name="objectives" type="referencesObjectivesType" minOccurs="0"/> 33 <xs:choice minOccurs="1" maxOccurs="unbounded"> 34 <xs:element name="au" type="auType"/> 35 <xs:element name="block" type="blockType"/> 36 </xs:choice> 37 <xs:group ref="anyElement"/> 38 </xs:sequence> 39 <xs:attributeGroup ref="anyAttribute"/> 40 <xs:attribute name="id" type="xs:anyURI" use="required"/> 41 </xs:complexType> 42 <xs:complexType name="auType"> 43 <xs:sequence> 44 <xs:element name="title" type="textType"/> 45 <xs:element name="description" type="textType"/> 46 <xs:element name="objectives" type="referencesObjectivesType" minOccurs="0"/> 47 <xs:element name="url"> 48 <xs:simpleType> 49 <xs:restriction base="xs:anyURI"> 50 <xs:minLength value="1"/> 51 </xs:restriction> 52 </xs:simpleType> 53 </xs:element> 54 <xs:element name="launchParameters" minOccurs="0"/> 55 <xs:element name="entitlementKey" minOccurs="0"/> 56 <xs:group ref="anyElement"/> 57 </xs:sequence> 58 <xs:attributeGroup ref="anyAttribute"/> 59 <xs:attribute name="id" type="xs:anyURI" use="required"/> 60 <xs:attribute name="moveOn" default="NotApplicable"> 61 <xs:simpleType> 62 <xs:restriction base="xs:string"> 63 <xs:enumeration value="NotApplicable"/> 64 <xs:enumeration value="Passed"/> 65 <xs:enumeration value="Completed"/> 66 <xs:enumeration value="CompletedAndPassed"/> 67 <xs:enumeration value="CompletedOrPassed"/> 68 </xs:restriction> 69 </xs:simpleType> 70 </xs:attribute> 71 <xs:attribute name="masteryScore" use="optional"> 72 <xs:simpleType> 73 <xs:restriction base="xs:decimal"> 74 <xs:minInclusive value="0"/> 75 <xs:maxInclusive value="1"/> 76 </xs:restriction> 77 </xs:simpleType> 78 </xs:attribute> 79 <xs:attribute name="launchMethod" default="AnyWindow"> 80 <xs:simpleType> 81 <xs:restriction base="xs:string"> 82 <xs:enumeration value="AnyWindow"/> 83 <xs:enumeration value="OwnWindow"/> 84 </xs:restriction> 85 </xs:simpleType> 86 </xs:attribute> 87 <xs:attribute name="activityType" use="optional" type="xs:string"/> 88 </xs:complexType> 89 <xs:complexType name="objectivesType"> 90 <xs:sequence> 91 <xs:element name="objective" minOccurs="1" maxOccurs="unbounded"> 92 <xs:complexType> 93 <xs:all> 94 <xs:element name="title" type="textType"/> 95 <xs:element name="description" type="textType"/> 96 </xs:all> 97 <xs:attribute name="id" type="xs:anyURI" use="required"/> 98 </xs:complexType> 99 </xs:element> 100 <xs:group ref="anyElement"/> 101 </xs:sequence> 102 <xs:attributeGroup ref="anyAttribute"/> 103 </xs:complexType> 104 <xs:complexType name="referencesObjectivesType"> 105 <xs:sequence> 106 <xs:element name="objective" maxOccurs="unbounded"> 107 <xs:complexType> 108 <xs:attribute name="idref" type="xs:anyURI"></xs:attribute> 109 </xs:complexType> 110 </xs:element> 111 <xs:group ref="anyElement"/> 112 </xs:sequence> 113 <xs:attributeGroup ref="anyAttribute"/> 114 </xs:complexType> 115 <xs:complexType name="textType"> 116 <xs:sequence> 117 <xs:element name="langstring" maxOccurs="unbounded" minOccurs="1"> 118 <xs:complexType> 119 <xs:simpleContent> 120 <xs:extension base="xs:string"> 121 <xs:attribute name="lang" type="xs:language"/> 122 <xs:attributeGroup ref="anyAttribute"/> 123 </xs:extension> 124 </xs:simpleContent> 125 </xs:complexType> 126 </xs:element> 127 <xs:group ref="anyElement"/> 128 </xs:sequence> 129 <xs:attributeGroup ref="anyAttribute"/> 130 </xs:complexType> 131 <xs:simpleType name="baseLanguagesType"> 132 <xs:list itemType="xs:language"></xs:list> 133 </xs:simpleType> 134 <xs:complexType name="languagesType"> 135 <xs:simpleContent> 136 <xs:extension base="baseLanguagesType"> 137 <xs:attributeGroup ref="anyAttribute"/> 138 </xs:extension> 139 </xs:simpleContent> 140 </xs:complexType> 141 142 <xs:group name="anyElement"> 143 <xs:sequence> 144 <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> 145 </xs:sequence> 146 </xs:group> 147 <xs:attributeGroup name="anyAttribute"> 148 <xs:anyAttribute namespace="##other" processContents="lax"/> 149 </xs:attributeGroup> 150</xs:schema> 151 152