<?xml version = "1.0" encoding = "UTF-8"?>
	<!-- filename=ims_lip_commonv1p0.xsd -->
	<!-- Copyright (c) 2001 IMS Global Learning Consortium -->
	<!-- 2001-03-15 edited by Thomas Wason -->
	<!-- Conforms to w3c http://www.w3.org/2000/10/XMLSchema-->
<xsd:schema xmlns:xsd = "http://www.w3.org/2000/10/XMLSchema"
	 version = "LIP 1.0 Schema 1.0"
	 elementFormDefault = "qualified">
	<xsd:include schemaLocation = "ims_lip_attributesv1p0.xsd"/>
	<xsd:include schemaLocation = "ims_lip_extensionv1p0.xsd"/>
	<xsd:include schemaLocation = "ims_lip_descriptionv1p0.xsd"/>
	<xsd:element name = "contentype" type = "contentypeType">
		<xsd:annotation>
			<xsd:documentation>Meta-data about a structure or substructure within this 
instance. </xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "date" type = "dateType">
		<xsd:annotation>
			<xsd:documentation>Calandar Date.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "datetime" type = "datetimeType">
		<xsd:annotation>
			<xsd:documentation>SO8601 date/time entry.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "ext_contentype" type = "extensionType">
		<xsd:annotation>
			<xsd:documentation>extension</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "ext_date" type = "extensionType">
		<xsd:annotation>
			<xsd:documentation>extension</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "ext_product" type = "extensionType">
		<xsd:annotation>
			<xsd:documentation>extension</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "fielddata" type = "fielddataType">
		<xsd:annotation>
			<xsd:documentation>The data value for the declared field</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "fieldlabel" type = "fieldlabelType">
		<xsd:annotation>
			<xsd:documentation>Typing information for field name vocabulary.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "id" type = "idType">
		<xsd:annotation>
			<xsd:documentation>Identifier</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "indexid" type = "indexidType">
		<xsd:annotation>
			<xsd:documentation>The record unique reference mechanism.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	
	<!--xsd:element name="material" type="materialType">
		<xsd:annotation>
			<xsd:documentation/>
		</xsd:annotation>
	</xsd:element-->
	
	
	<!--xsd:element name="metadata" type="metadataType">
		<xsd:annotation>
			<xsd:documentation/>
		</xsd:annotation>
	</xsd:element-->
	
	<xsd:element name = "privacy" type = "privacyType">
		<xsd:annotation>
			<xsd:documentation>Privacy categories</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "privacyfield" type = "datafieldType">
		<xsd:annotation>
			<xsd:documentation>A container for the privacy information.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "product" type = "productType">
		<xsd:annotation>
			<xsd:documentation>Something produced by the learner.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "referential" type = "referentialType">
		<xsd:annotation>
			<xsd:documentation>Globally unique and record unique referencing mechanism.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "source" type = "sourceType">
		<xsd:annotation>
			<xsd:documentation>Source of an adjacent element's contents</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "sourcedid" type = "sourcedidType">
		<xsd:annotation>
			<xsd:documentation>An identification provided by a specified source.  Presumed, 
but not required, to be unique.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "status" type = "statusType">
		<xsd:annotation>
			<xsd:documentation>State or progress.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "temporal" type = "temporalType">
		<xsd:annotation>
			<xsd:documentation>Time meta-data e.g. expiry date of the information.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "typename" type = "typenameType"/>
	<xsd:element name = "temporalfield" type = "datafieldType">
		<xsd:annotation>
			<xsd:documentation>The container for the temporal information.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "tysource" type = "tysourceType"/>
	<xsd:element name = "tyvalue" type = "tyvalueType"/>
	<xsd:element name = "vocab" type = "vocabType">
		<xsd:annotation>
			<xsd:documentation>A vocabulary term from a defined vocabulary.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "vsource" type = "vsourceType">
		<xsd:annotation>
			<xsd:documentation>The source of a vocabulary's term.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "vvalue" type = "vvalueType">
		<xsd:annotation>
			<xsd:documentation>The vocabulary value term.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name = "contentypeType">
		<xsd:sequence>
			<xsd:element ref = "comment" minOccurs = "0"/>
			<xsd:choice maxOccurs = "unbounded">
				<xsd:element ref = "referential"/>
				<xsd:element ref = "temporal"/>
				<xsd:element ref = "privacy"/>
			</xsd:choice>
			<xsd:element ref = "ext_contentype" minOccurs = "0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "datafieldType">
		<xsd:sequence>
			<xsd:element ref = "fieldlabel"/>
			<xsd:element ref = "fielddata"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "dateType">
		<xsd:sequence>
			<xsd:element ref = "typename" minOccurs = "0"/>
			<xsd:element ref = "datetime"/>
			<xsd:element ref = "description" minOccurs = "0"/>
			<xsd:element ref = "ext_date" minOccurs = "0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "fieldlabelType">
		<xsd:sequence>
			<xsd:element ref = "typename" minOccurs = "0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "idType">
		<xsd:simpleContent>
			<xsd:extension base = "xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	
	<!--xsd:complexType name="materialType">
		<xsd:sequence>
			<xsd:element ref="comment" minOccurs="0"/>
			<xsd:choice maxOccurs="unbounded">
				<xsd:element ref="media"/>
				<xsd:element ref="contentref"/>
				<xsd:element ref="extension"/>
			</xsd:choice>
		</xsd:sequence>
	</xsd:complexType-->
	
	
	<!--xsd:complexType name="metadataType">
		<xsd:sequence>
			<xsd:element ref="comment" minOccurs="0"/>
			<xsd:element ref="extension" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType-->
	
	<xsd:complexType name = "privacyType">
		<xsd:sequence>
			<xsd:element ref = "typename" minOccurs = "0"/>
			<xsd:element ref = "privacyfield" maxOccurs = "unbounded"/>
			<xsd:element ref = "date" minOccurs = "0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "productType">
		<xsd:sequence>
			<xsd:element ref = "typename" minOccurs = "0"/>
			<xsd:element ref = "comment" minOccurs = "0"/>
			<xsd:element ref = "contentype" minOccurs = "0"/>
			<xsd:element ref = "date" minOccurs = "0"/>
			<xsd:element ref = "description" minOccurs = "0"/>
			<xsd:element ref = "ext_product" minOccurs = "0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "referentialType">
		<xsd:choice>
			<xsd:element ref = "sourcedid"/>
			<xsd:element ref = "indexid"/>
			<xsd:sequence>
				<xsd:element ref = "sourcedid"/>
				<xsd:element ref = "indexid"/>
			</xsd:sequence>
		</xsd:choice>
	</xsd:complexType>
	<xsd:complexType name = "sourcedidType">
		<xsd:sequence>
			<xsd:element ref = "source"/>
			<xsd:element ref = "id"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "sourceType">
		<xsd:simpleContent>
			<xsd:extension base = "xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name = "statusType">
		<xsd:sequence>
			<xsd:element ref = "typename" minOccurs = "0"/>
			<xsd:element ref = "date" minOccurs = "0"/>
			<xsd:element ref = "description" minOccurs = "0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "typenameType">
		<xsd:sequence>
			<xsd:element ref = "tysource" minOccurs = "0"/>
			<xsd:element ref = "tyvalue"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "tysourceType">
		<xsd:simpleContent>
			<xsd:extension base = "xsd:string">
				<xsd:attribute name = "sourcetype" use = "default" value = "imsdefault">
					<xsd:simpleType>
						<xsd:restriction base = "xsd:string">
							<xsd:enumeration value = "imsdefault"/>
							<xsd:enumeration value = "list"/>
							<xsd:enumeration value = "proprietary"/>
							<xsd:enumeration value = "standard"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:attribute>
				<xsd:attributeGroup ref = "attr.lang"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name = "tyvalueType">
		<xsd:simpleContent>
			<xsd:extension base = "xsd:string">
				<xsd:attributeGroup ref = "attr.lang"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name = "temporalType">
		<xsd:sequence>
			<xsd:element ref = "typename"/>
			<xsd:element ref = "temporalfield" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "vocabType">
		<xsd:sequence>
			<xsd:element ref = "vsource" minOccurs = "0"/>
			<xsd:element ref = "vvalue"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "vsourceType">
		<xsd:simpleContent>
			<xsd:extension base = "xsd:string">
				<xsd:attributeGroup ref = "attr.source"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name = "vvalueType">
		<xsd:simpleContent>
			<xsd:extension base = "xsd:string">
				<xsd:attributeGroup ref = "attr.lang"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name = "datetimeType">
		<xsd:simpleContent>
			<xsd:extension base = "xsd:date"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:simpleType name = "fielddataType">
		<xsd:restriction base = "xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name = "indexidType">
		<xsd:restriction base = "xsd:string"/>
	</xsd:simpleType>
</xsd:schema>