Views
Release 1.0 Curriculum Schema
Release 1.0 of the E-Framework Curriculum XML Schema
Size
30.9 kB
-
File type
text/xml
File contents
<?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="http://dublincore.org/schemas/xmls/qdc/2003/04/02/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: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" substitutionGroup="fragmentWithAssociation" type="accreditationDataType"/> <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" substitutionGroup="fragmentAssociation" type="activityAssociationDataType"/> <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" substitutionGroup="fragmentAssociation" type="organizationAssociationDataType"/> <xs:element name="benchmarkRef" substitutionGroup="fragmentWithAssociationRef"/> <xs:element name="benchmarks" substitutionGroup="fragmentAssociation" type="benchmarkAssociationDataType"/> <xs:element name="calendarEvent" type="calendarEventDataType" substitutionGroup="fragmentWithAssociation"/> <xs:element name="calendarEvents" substitutionGroup="fragmentAssociation" type="calendarEventAssociationDataType"/> <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" maxOccurs="1"/> <xs:element ref="end" minOccurs="0" maxOccurs="1"/> <xs:element ref="registrationDeadline" minOccurs="0" maxOccurs="1"/> <xs:element ref="viableMin" minOccurs="0" maxOccurs="1"/> <xs:element ref="viableMax" minOccurs="0" maxOccurs="1"/> </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:extension> </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" maxOccurs="1"/> <xs:element ref="contacts" minOccurs="0" maxOccurs="1"/> </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"> <xs:complexContent mixed="true"> <xs:extension base="fragmentDetailDataType" /> </xs:complexContent> </xs:complexType> <xs:complexType name="awardLevelDataType"> <xs:complexContent mixed="true"> <xs:extension base="fragmentDetailDataType" /> </xs:complexContent> </xs:complexType> <xs:complexType name="awardTitleDataType"> <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:extension> </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" maxOccurs="1"/> <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" maxOccurs="1"> <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>


