<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://elframework.org/curriculum/elements" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:imsRLI="http://www.imsglobal.org/services/rli/xsd/imsRLIManDataSchema_v1p0" targetNamespace="http://elframework.org/curriculum/elements" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:import namespace="http://purl.org/dc/elements/1.1/" schemaLocation="c:\schemas\dc.xsd"/>
	<xs:import namespace="http://www.imsglobal.org/services/rli/xsd/imsRLIManDataSchema_v1p0" schemaLocation="http://www.imsglobal.org/services/rli/xsd/imsRLIManDataSchema_v1p0.xsd"/>
	<xs:annotation>
		<xs:documentation>Curriculum Service XML Schema</xs:documentation>
		<xs:documentation>Author: Ben Ryan and Mark Stubbs</xs:documentation>
		<xs:documentation>Date: 22, December, 2005</xs:documentation>
		<xs:documentation>Version: 1.0</xs:documentation>
		<xs:documentation>Final Release</xs:documentation>
		<xs:documentation/>
	</xs:annotation>
	<!-- ATTRIBUTE DEFINITIONS -->
	<xs:attributeGroup name="associationConstraintGroup">
		<xs:attribute name="collection" type="collectionTypeDataType" use="optional"/>
		<xs:attribute name="order" type="collectionOrderDataType" use="optional"/>
		<xs:attribute name="selectMin" type="collectionSelectionRangeDataType" use="optional"/>
		<xs:attribute name="selectMax" type="collectionSelectionRangeDataType" use="optional"/>
		<xs:attribute name="selectOn" type="collectionSelectionCriteriaDataType" use="optional"/>
	</xs:attributeGroup>
	<xs:attributeGroup name="calendarEventGroup">
		<xs:attribute name="endTime" use="optional"/>
		<xs:attribute name="date" use="optional"/>
		<xs:attribute name="period" use="optional"/>
		<xs:attribute name="periodType" use="optional"/>
		<xs:attribute name="startTime" use="optional"/>
	</xs:attributeGroup>
	<xs:attributeGroup name="classificationGroup">
		<xs:attribute name="type" type="classificationGroupTypeDataType" use="optional"/>
		<xs:attribute name="scheme" type="classificationGroupSchemeDataType" use="optional"/>
		<xs:attribute name="level" type="classificationGroupLevelDataType" use="optional"/>
	</xs:attributeGroup>
	<xs:attributeGroup name="creditGroup">
		<xs:attribute name="credit" type="creditGroupCreditDataType" use="optional"/>
	</xs:attributeGroup>
	<xs:attributeGroup name="validityConstraintGroup">
		<xs:attribute name="validFrom" type="validFromDataType" use="optional"/>
		<xs:attribute name="validTo" type="validToDataType" use="optional"/>
	</xs:attributeGroup>
	<!-- ELEMENT DEFINITIONS -->
	<xs:element name="accreditation" type="accreditationDataType" substitutionGroup="fragmentWithAssociation"/>
	<xs:element name="accreditationRef" substitutionGroup="fragmentWithAssociationRef"/>
	<xs:element name="accreditations" type="accreditationAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="accreditedFrom" type="fragmentDetailDataType"/>
	<xs:element name="accreditedTo" type="fragmentDetailDataType"/>
	<xs:element name="accreditingBodies" type="organizationAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="activities" type="activityAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="activity" type="activityDataType" substitutionGroup="fragmentWithAssociation"/>
	<xs:element name="activityRef" substitutionGroup="fragmentWithAssociationRef"/>
	<xs:element name="adjustment" type="fragmentDataType"/>
	<xs:element name="admission" type="admissionDataType"/>
	<xs:element name="aim" substitutionGroup="fragmentWithAssociation"/>
	<xs:element name="aimRef" substitutionGroup="fragmentWithAssociationRef"/>
	<xs:element name="aims" substitutionGroup="fragmentAssociation"/>
	<xs:element name="assessment" type="assessmentDataType" substitutionGroup="fragmentWithAssociation"/>
	<xs:element name="assessmentLanguage" type="fragmentDetailDataType"/>
	<xs:element name="assessmentRef" substitutionGroup="fragmentWithAssociationRef"/>
	<xs:element name="assessments" type="assessmentAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="assessmentSubmission" type="fragmentDetailDataType"/>
	<xs:element name="assessmentTariff" type="fragmentDetailDataType"/>
	<xs:element name="assessmentThreshold" type="fragmentDetailDataType"/>
	<xs:element name="assessmentType" type="fragmentDetailDataType"/>
	<xs:element name="assessmentWeighting" type="fragmentDetailDataType"/>
	<xs:element name="fragmentAssociation" type="fragmentAssociationDataType" abstract="true"/>
	<xs:element name="award" type="awardDataType"/>
	<xs:element name="awardCredit" type="awardCreditDataType"/>
	<xs:element name="awardingBodies" type="organizationAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="awardLevel" type="awardLevelDataType"/>
	<xs:element name="awardTitle" type="awardTitleDataType"/>
	<xs:element name="benchmark" type="benchmarkDataType" substitutionGroup="fragmentWithAssociation"/>
	<xs:element name="benchmarkingBodies" type="organizationAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="benchmarkRef" substitutionGroup="fragmentWithAssociationRef"/>
	<xs:element name="benchmarks" type="benchmarkAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="calendarEvent" type="calendarEventDataType" substitutionGroup="fragmentWithAssociation"/>
	<xs:element name="calendarEvents" type="calendarEventAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="career" type="fragmentDataType"/>
	<xs:element name="childOrganizations" type="organizationAssociationDataType"/>
	<xs:element name="code" type="fragmentDetailDataType"/>
	<xs:element name="comment" type="fragmentDetailDataType"/>
	<xs:element name="contact" type="contactDataType" substitutionGroup="fragmentWithAssociation"/>
	<xs:element name="contactHours" type="fragmentDetailDataType"/>
	<xs:element name="contactPattern" type="fragmentDetailDataType"/>
	<xs:element name="contactRef" substitutionGroup="fragmentWithAssociationRef"/>
	<xs:element name="contacts" type="contactAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="corequisiteSpecs" type="specAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="curriculum" type="curriculumDataType"/>
	<xs:element name="description" type="fragmentDetailDataType"/>
	<xs:element name="duration" type="fragmentDetailDataType"/>
	<xs:element name="end" type="fragmentDetailDataType"/>
	<xs:element name="excludedSpecs" type="specAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="extension"/>
	<xs:element name="excludingRequirements" type="requirementAssociationDataType"/>
	<xs:element name="facilities" type="fragmentDataType"/>
	<xs:element name="finance" type="fragmentDataType"/>
	<xs:element name="followOnSpecs" type="specAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="fragment" type="fragmentDataType" abstract="true"/>
	<xs:element name="fragmentWithAssociation" type="fragmentWithAssociationDataType" abstract="true"/>
	<xs:element name="fragmentWithAssociationIdentifier" type="fragmentWithAssociationIdentifierDataType" abstract="true"/>
	<xs:element name="fragmentWithAssociationRef" type="fragmentWithAssociationRefDataType" abstract="true"/>
	<xs:element name="governance" type="fragmentDataType"/>
	<xs:element name="identifier" type="fragmentIdentifierDataType"/>
	<xs:element name="includingRequirements" type="requirementAssociationDataType"/>
	<xs:element name="intake" type="fragmentDetailDataType"/>
	<xs:element name="instructionLanguage" type="fragmentDetailDataType"/>
	<xs:element name="learningOutcome" type="learningOutcomeDataType" substitutionGroup="fragmentWithAssociation"/>
	<xs:element name="learningOutcomeRef" substitutionGroup="fragmentWithAssociationRef"/>
	<xs:element name="learningOutcomes" type="learningOutcomeAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="location" type="fragmentDetailDataType"/>
	<xs:element name="note" type="fragmentDataType"/>
	<xs:element name="offerings" type="offeringAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="offering" type="offeringDataType" substitutionGroup="fragmentWithAssociation"/>
	<xs:element name="offeringPattern" type="offeringPatternDataType"/>
	<xs:element name="offeringRef" substitutionGroup="fragmentWithAssociationRef"/>
	<xs:element name="organization" type="organizationDataType" substitutionGroup="fragmentWithAssociation"/>
	<xs:element name="organizationRef" substitutionGroup="fragmentWithAssociationRef"/>
	<xs:element name="owningBodies" type="organizationAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="parentOrganizations" type="organizationAssociationDataType"/>
	<xs:element name="prerequisiteSpecs" type="specAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="quality" type="fragmentDataType"/>
	<xs:element name="rationale" type="fragmentDataType"/>
	<xs:element name="recognition" type="recognitionDataType" substitutionGroup="fragmentWithAssociation"/>
	<xs:element name="recognitionRef" substitutionGroup="fragmentWithAssociationRef"/>
	<xs:element name="recognitions" type="recognitionAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="registrationDeadline" type="fragmentDetailDataType"/>
	<xs:element name="regulations" type="fragmentDataType"/>
	<xs:element name="relatedAssessments" type="assessmentAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="relatedBenchmarks" type="benchmarkAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="relatedLearningOutcomes" type="learningOutcomeAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="relatedSpecs" type="specAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="requirement" type="requirementDataType" substitutionGroup="fragmentWithAssociation"/>
	<xs:element name="requirementRef" substitutionGroup="fragmentWithAssociationRef"/>
	<xs:element name="requirements" type="requirementAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="resource" type="fragmentDataType"/>
	<xs:element name="spec" type="specDataType" substitutionGroup="fragmentWithAssociation"/>
	<xs:element name="specAssembly" type="specAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="specialFeature" type="fragmentDataType"/>
	<xs:element name="specRef" substitutionGroup="fragmentWithAssociationRef"/>
	<xs:element name="start" type="fragmentDetailDataType"/>
	<xs:element name="strategy" type="fragmentDataType"/>
	<xs:element name="structure" type="fragmentDataType"/>
	<xs:element name="studyHours" type="fragmentDetailDataType"/>
	<xs:element name="studyMode" type="fragmentDetailDataType"/>
	<xs:element name="support" type="fragmentDataType"/>
	<xs:element name="syllabus" type="fragmentDataType"/>
	<xs:element name="teachingBodies" type="organizationAssociationDataType" substitutionGroup="fragmentAssociation"/>
	<xs:element name="termPattern" type="fragmentDetailDataType"/>
	<xs:element name="viableMin" type="fragmentDetailDataType"/>
	<xs:element name="viableMax" type="fragmentDetailDataType"/>
	<xs:group name="fragmentGroup">
		<xs:sequence>
			<xs:element ref="identifier" minOccurs="0"/>
			<xs:element ref="comment" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="dc:any" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="description" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="code" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:group>
	<xs:group name="offeringDetail">
		<xs:sequence>
			<xs:element ref="start" minOccurs="0"/>
			<xs:element ref="end" minOccurs="0"/>
			<xs:element ref="registrationDeadline" minOccurs="0"/>
			<xs:element ref="viableMin" minOccurs="0"/>
			<xs:element ref="viableMax" minOccurs="0"/>
		</xs:sequence>
	</xs:group>
	<xs:group name="offeringOverview">
		<xs:sequence>
			<xs:element ref="code" minOccurs="0"/>
			<xs:element ref="duration" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="studyHours" minOccurs="0"/>
			<xs:element ref="contactHours" minOccurs="0"/>
			<xs:element ref="contactPattern" minOccurs="0"/>
			<xs:element ref="termPattern" minOccurs="0"/>
			<xs:element ref="teachingBodies" minOccurs="0"/>
			<xs:element ref="location" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="intake" minOccurs="0"/>
			<xs:element ref="assessmentLanguage" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="instructionLanguage" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:group>
	<!--TYPE DEFINITIONS -->
	<xs:complexType name="accreditationDataType">
		<xs:complexContent>
			<xs:extension base="fragmentWithAssociationDataType">
				<xs:choice minOccurs="0" maxOccurs="unbounded">
					<xs:element ref="accreditedFrom"/>
					<xs:element ref="accreditedTo"/>
					<xs:element ref="accreditingBodies"/>
				</xs:choice>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="accreditationAssociationDataType">
		<xs:complexContent>
			<xs:restriction base="fragmentAssociationDataType">
				<xs:sequence>
					<xs:group ref="fragmentGroup"/>
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:element ref="accreditation"/>
						<xs:element ref="accreditationRef"/>
					</xs:choice>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="activityDataType">
		<xs:complexContent>
			<xs:extension base="fragmentWithAssociationDataType"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="activityAssociationDataType">
		<xs:complexContent>
			<xs:restriction base="fragmentAssociationDataType">
				<xs:sequence>
					<xs:group ref="fragmentGroup"/>
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:element ref="activity"/>
						<xs:element ref="activityRef"/>
					</xs:choice>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="admissionDataType">
		<xs:complexContent>
			<xs:extension base="fragmentDataType">
				<xs:sequence>
					<xs:element ref="requirements" minOccurs="0"/>
					<xs:element ref="contacts" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="aimAssociationDataType">
		<xs:complexContent>
			<xs:restriction base="fragmentAssociationDataType">
				<xs:sequence>
					<xs:group ref="fragmentGroup"/>
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:element ref="aim"/>
						<xs:element ref="aimRef"/>
					</xs:choice>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="assessmentDataType">
		<xs:complexContent>
			<xs:extension base="fragmentWithAssociationDataType">
				<xs:sequence>
					<xs:element ref="assessmentWeighting" minOccurs="0"/>
					<xs:element ref="assessmentType" minOccurs="0"/>
					<xs:element ref="assessmentThreshold" minOccurs="0"/>
					<xs:element ref="assessmentTariff" minOccurs="0"/>
					<xs:element ref="assessmentSubmission" minOccurs="0"/>
					<xs:element ref="assessmentLanguage" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="relatedLearningOutcomes" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="assessmentAssociationDataType">
		<xs:complexContent>
			<xs:restriction base="fragmentAssociationDataType">
				<xs:sequence>
					<xs:group ref="fragmentGroup"/>
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:element ref="assessment"/>
						<xs:element ref="assessmentRef"/>
					</xs:choice>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="awardDataType">
		<xs:sequence>
			<xs:element ref="awardTitle" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="awardCredit" minOccurs="0"/>
			<xs:element ref="awardLevel" minOccurs="0"/>
			<xs:element ref="awardingBodies" minOccurs="0"/>
		</xs:sequence>
		<xs:attributeGroup ref="classificationGroup"/>
	</xs:complexType>
	<xs:complexType name="awardCreditDataType" mixed="true">
		<xs:complexContent mixed="true">
			<xs:extension base="fragmentDetailDataType"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="awardLevelDataType" mixed="true">
		<xs:complexContent mixed="true">
			<xs:extension base="fragmentDetailDataType"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="awardTitleDataType" mixed="true">
		<xs:complexContent mixed="true">
			<xs:extension base="fragmentDetailDataType"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="benchmarkDataType">
		<xs:complexContent>
			<xs:extension base="fragmentWithAssociationDataType"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="benchmarkAssociationDataType">
		<xs:complexContent>
			<xs:restriction base="fragmentAssociationDataType">
				<xs:sequence>
					<xs:group ref="fragmentGroup"/>
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:element ref="benchmark"/>
						<xs:element ref="benchmarkRef"/>
					</xs:choice>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="calendarEventDataType">
		<xs:complexContent>
			<xs:extension base="fragmentWithAssociationDataType">
				<xs:choice minOccurs="0" maxOccurs="unbounded">
					<xs:element ref="location"/>
					<xs:element ref="activities"/>
					<xs:element ref="resource"/>
				</xs:choice>
				<xs:attributeGroup ref="calendarEventGroup"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="calendarEventAssociationDataType">
		<xs:complexContent>
			<xs:restriction base="fragmentAssociationDataType">
				<xs:sequence>
					<xs:group ref="fragmentGroup"/>
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:element ref="calendarEvent"/>
					</xs:choice>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:simpleType name="classificationGroupLevelDataType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="classificationGroupSchemeDataType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="classificationGroupTypeDataType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="collectionTypeDataType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="equivalents"/>
			<xs:enumeration value="mandatories"/>
			<xs:enumeration value="options"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="collectionOrderDataType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="unimportant"/>
			<xs:enumeration value="sequence"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="collectionSelectionCriteriaDataType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="cardinality"/>
			<xs:enumeration value="credit"/>
			<xs:enumeration value="unimportant"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="collectionSelectionRangeDataType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:complexType name="contactAssociationDataType">
		<xs:complexContent>
			<xs:restriction base="fragmentAssociationDataType">
				<xs:sequence>
					<xs:group ref="fragmentGroup"/>
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:element ref="contact"/>
						<xs:element ref="contactRef"/>
					</xs:choice>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="contactDataType">
		<xs:complexContent>
			<xs:extension base="fragmentWithAssociationDataType"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="curriculumDataType">
		<xs:sequence>
			<xs:choice maxOccurs="unbounded">
				<xs:element ref="fragmentWithAssociation"/>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="creditGroupCreditDataType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:complexType name="extension">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:any/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="fragmentAssociationDataType">
		<xs:complexContent>
			<xs:extension base="fragmentDataType">
				<xs:choice minOccurs="0" maxOccurs="unbounded">
					<xs:element ref="fragmentWithAssociation"/>
					<xs:element ref="fragmentWithAssociationRef"/>
					<xs:element ref="fragmentAssociation"/>
				</xs:choice>
				<xs:attributeGroup ref="associationConstraintGroup"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="fragmentDataType">
		<xs:group ref="fragmentGroup"/>
		<xs:attributeGroup ref="classificationGroup"/>
	</xs:complexType>
	<xs:complexType name="fragmentWithAssociationIdentifierDataType">
		<xs:simpleContent>
			<xs:restriction base="fragmentIdentifierDataType"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="fragmentDetailDataType" mixed="true">
		<xs:complexContent mixed="true">
			<xs:extension base="dc:SimpleLiteral">
				<xs:sequence>
					<xs:any namespace="http://www.w3.org/1999/xhtml" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
				<xs:attributeGroup ref="classificationGroup"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="fragmentIdentifierDataType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="fragmentWithAssociationDataType">
		<xs:complexContent>
			<xs:restriction base="fragmentDataType">
				<xs:sequence>
					<xs:element name="identifier" type="fragmentWithAssociationIdentifierDataType" minOccurs="0"/>
					<xs:element ref="comment" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="dc:any" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="description" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="code" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
				<xs:attributeGroup ref="classificationGroup"/>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="fragmentWithAssociationRefDataType">
		<xs:simpleContent>
			<xs:extension base="fragmentWithAssociationIdentifierDataType">
				<xs:attributeGroup ref="classificationGroup"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="learningOutcomeAssociationDataType">
		<xs:complexContent>
			<xs:restriction base="fragmentAssociationDataType">
				<xs:sequence>
					<xs:group ref="fragmentGroup"/>
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:element ref="learningOutcome"/>
						<xs:element ref="learningOutcomeRef"/>
					</xs:choice>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="learningOutcomeDataType">
		<xs:complexContent>
			<xs:extension base="fragmentWithAssociationDataType">
				<xs:choice minOccurs="0" maxOccurs="unbounded">
					<xs:element ref="relatedAssessments"/>
					<xs:element ref="relatedBenchmarks"/>
					<xs:element ref="relatedLearningOutcomes"/>
					<xs:element ref="relatedSpecs"/>
				</xs:choice>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="offeringAssociationDataType">
		<xs:complexContent>
			<xs:restriction base="fragmentAssociationDataType">
				<xs:sequence>
					<xs:group ref="fragmentGroup"/>
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:element ref="offering"/>
						<xs:element ref="offeringRef"/>
					</xs:choice>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="offeringDataType">
		<xs:complexContent>
			<xs:extension base="fragmentWithAssociationDataType">
				<xs:sequence>
					<xs:element ref="studyMode"/>
					<xs:group ref="offeringDetail"/>
					<xs:group ref="offeringOverview"/>
					<xs:element ref="admission" minOccurs="0"/>
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:element ref="contacts"/>
						<xs:element ref="calendarEvents"/>
					</xs:choice>
					<xs:element ref="extension" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="offeringPatternDataType">
		<xs:sequence>
			<xs:element ref="studyMode" minOccurs="0"/>
			<xs:group ref="offeringOverview"/>
			<xs:element ref="offerings" minOccurs="0"/>
			<xs:element ref="extension" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="organizationAssociationDataType">
		<xs:complexContent>
			<xs:restriction base="fragmentAssociationDataType">
				<xs:sequence>
					<xs:group ref="fragmentGroup"/>
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:element ref="organization"/>
						<xs:element ref="organizationRef"/>
					</xs:choice>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="organizationDataType">
		<xs:complexContent>
			<xs:extension base="fragmentWithAssociationDataType">
				<xs:choice minOccurs="0" maxOccurs="unbounded">
					<xs:element ref="aims"/>
					<xs:element ref="admission"/>
					<xs:element ref="benchmarks"/>
					<xs:element ref="contacts"/>
					<xs:element ref="childOrganizations"/>
					<xs:element ref="parentOrganizations"/>
				</xs:choice>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="recognitionAssociationDataType">
		<xs:complexContent>
			<xs:restriction base="fragmentAssociationDataType">
				<xs:sequence>
					<xs:group ref="fragmentGroup"/>
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:element ref="recognition"/>
						<xs:element ref="recognitionRef"/>
					</xs:choice>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="recognitionDataType">
		<xs:complexContent>
			<xs:extension base="fragmentWithAssociationDataType">
				<xs:choice maxOccurs="unbounded">
					<xs:element ref="award"/>
				</xs:choice>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="requirementDataType">
		<xs:complexContent>
			<xs:extension base="fragmentWithAssociationDataType">
				<xs:choice minOccurs="0">
					<xs:element ref="prerequisiteSpecs"/>
					<xs:element ref="corequisiteSpecs"/>
					<xs:element ref="excludedSpecs"/>
					<xs:element ref="recognitions"/>
					<xs:element ref="requirements"/>
					<xs:sequence>
						<xs:element ref="includingRequirements" minOccurs="0"/>
						<xs:element ref="excludingRequirements" minOccurs="0"/>
					</xs:sequence>
				</xs:choice>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="requirementAssociationDataType">
		<xs:complexContent>
			<xs:restriction base="fragmentAssociationDataType">
				<xs:sequence>
					<xs:group ref="fragmentGroup"/>
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:element ref="requirement"/>
						<xs:element ref="requirementRef"/>
						<xs:element ref="requirements"/>
					</xs:choice>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="resourceDataType">
		<xs:complexContent>
			<xs:extension base="fragmentDataType">
				<xs:sequence>
					<xs:element ref="imsRLI:resourceList" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="extension" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="specAssociationDataType">
		<xs:complexContent>
			<xs:restriction base="fragmentAssociationDataType">
				<xs:sequence>
					<xs:group ref="fragmentGroup"/>
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:element ref="spec"/>
						<xs:element ref="specRef"/>
						<xs:element ref="specAssembly"/>
					</xs:choice>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="specDataType">
		<xs:complexContent>
			<xs:extension base="fragmentWithAssociationDataType">
				<xs:sequence>
					<xs:element ref="owningBodies" minOccurs="0"/>
					<xs:element ref="rationale" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="aims" minOccurs="0"/>
					<xs:element ref="benchmarks" minOccurs="0"/>
					<xs:element ref="learningOutcomes" minOccurs="0"/>
					<xs:element ref="strategy" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="syllabus" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="resource" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="assessments" minOccurs="0"/>
					<xs:element ref="recognitions" minOccurs="0"/>
					<xs:element ref="accreditations" minOccurs="0"/>
					<xs:element ref="structure" minOccurs="0"/>
					<xs:element ref="specAssembly" minOccurs="0"/>
					<xs:element ref="followOnSpecs" minOccurs="0"/>
					<xs:element ref="career" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="specialFeature" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="admission" minOccurs="0"/>
					<xs:element ref="support" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="adjustment" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="regulations" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="facilities" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="finance" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="governance" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="quality" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="offeringPattern" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="calendarEvents" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="contacts" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="extension" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
				<xs:attributeGroup ref="validityConstraintGroup"/>
				<xs:attributeGroup ref="creditGroup"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:simpleType name="validFromDataType">
		<xs:restriction base="xs:date"/>
	</xs:simpleType>
	<xs:simpleType name="validToDataType">
		<xs:restriction base="xs:date"/>
	</xs:simpleType>
</xs:schema>

