<?xml version="1.0" encoding="UTF-8"?>
<!--*************************************************************************-->
<!--** This schema has been modified from the original base schema named - **-->
<!--** dataTypes.xsd                                                       **-->
<!--** using the IMS SchemaProf tool. This tool is based on software from  **-->
<!--** the TELCERT Project which was funded in part by the European        **-->
<!--** Commission under contract IST-507128                                **-->
<!--*************************************************************************-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ag="http://ltsc.ieee.org/xsd/imscc/LOM/unique" xmlns:ex="http://ltsc.ieee.org/xsd/imscc/LOM/extend" xmlns="http://ltsc.ieee.org/xsd/imscc/LOM" targetNamespace="http://ltsc.ieee.org/xsd/imscc/LOM" elementFormDefault="qualified" version="IEEE LTSC LOM XML 1.0 localised_Schema_2008_6_30">
	<xsd:include xmlns:xsd="http://www.w3.org/2001/XMLSchema" schemaLocation="imscc_m_definition.xsd" />
	<xs:annotation>
		<xs:documentation>
         This work is licensed under the Creative Commons Attribution-ShareAlike
         License.  To view a copy of this license, see the file license.txt,
         visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
         Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
      </xs:documentation>
		<xs:documentation>
         This component schema defintion defines global schema data type declarations
         for data types defined in the LOMv1.0 base schema.
      </xs:documentation>
      <xs:documentation>
         This file has been modified by the Knowledge Media Institute of the 
         University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
         following changes:
         1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported 
            because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
         2) In all component XSDs the schemaLocation attribute was amended to the 
            xs:import and xs:include statements. This enables the usage of the schemas
            with tools which don't deal well with missing schemaLocation informations.
            
         This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
      </xs:documentation>
	</xs:annotation>
	<xs:import namespace="http://ltsc.ieee.org/xsd/imscc/LOM/unique" schemaLocation="./unique/loose.xsd" />
	<xs:import namespace="http://ltsc.ieee.org/xsd/imscc/LOM/extend" schemaLocation="./extend/custom.xsd" />
	 <xs:include schemaLocation="elementTypes_localised.xsd" />
	<!-- Data type declarations -->
	<!-- CharacterString -->
	<xs:simpleType name="CharacterString">
		<xs:restriction base="xs:string" />
	</xs:simpleType>
	<!-- LanguageId -->
	<xs:complexType name="LanguageId">
		<xs:simpleContent>
			<xs:extension base="xs:token">
				<xs:attributeGroup ref="ex:customAttributes" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!-- VCard -->
	<xs:complexType name="VCard">
		<xs:simpleContent>
			<xs:extension base="CharacterString">
				<xs:attributeGroup ref="ex:customAttributes" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!-- MimeType -->
	<xs:simpleType name="MimeType">
		<xs:restriction base="CharacterString" />
	</xs:simpleType>
	<!-- Size -->
	<xs:simpleType name="Size">
		<xs:restriction base="xs:nonNegativeInteger" />
	</xs:simpleType>
	<!-- LanguageString -->
	<xs:complexType name="LanguageString">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:element name="string" type="LangString" />
			<xs:group ref="ex:customElements" minOccurs="0" maxOccurs="0"><xs:annotation>
                    <xs:documentation xml:lang="en">explanation: No custom elements are allowed.</xs:documentation>
                </xs:annotation>
	</xs:group>
		</xs:choice>
		<xs:attributeGroup ref="ex:customAttributes" />
	</xs:complexType>
	<xs:complexType name="LangString">
		<xs:simpleContent>
			<xs:extension base="CharacterString">
				<xs:attribute name="language" type="xs:token" />
				<xs:attributeGroup ref="ex:customAttributes" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!-- DateTime -->
	<xs:complexType name="DateTime">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:element name="dateTime" type="DateTimeValue" />
			<xs:element name="description" type="description" />
			<xs:group ref="ex:customElements" />
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="DateTimeValue">
		<xs:simpleContent>
			<xs:extension base="DateTimeString">
				<xs:attributeGroup ref="ag:DateTimeValue" />
				<xs:attributeGroup ref="ex:customAttributes" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!-- Regular expresion from Christian Klaue -->
	<xs:simpleType name="DateTimeString">
		<xs:restriction base="CharacterString">
			<xs:pattern value="([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]|[0-9][1-9][0-9]{2}|[1-9][0-9]{3})(\-(0[1-9]|1[0-2])(\-(0[1-9]|[1-2][0-9]|3[0-1])(T([0-1][0-9]|2[0-3])(:[0-5][0-9](:[0-5][0-9](\.[0-9]{1,}(Z|((\+|\-)([0-1][0-9]|2[0-3]):[0-5][0-9]))?)?)?)?)?)?)?" />
		</xs:restriction>
	</xs:simpleType>
	<!-- Duration -->
	<xs:complexType name="Duration">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:element name="duration" type="DurationValue" />
			<xs:element name="description" type="description" />
			<xs:group ref="ex:customElements" />
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="DurationValue">
		<xs:simpleContent>
			<xs:extension base="DurationString">
				<xs:attributeGroup ref="ag:DurationValue" />
				<xs:attributeGroup ref="ex:customAttributes" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!-- Regular expresion from Christian Klaue -->
	<xs:simpleType name="DurationString">
		<xs:restriction base="CharacterString">
			<xs:pattern value="P([0-9]{1,}Y){0,1}([0-9]{1,}M){0,1}([0-9]{1,}D){0,1}(T([0-9]{1,}H){0,1}([0-9]{1,}M){0,1}([0-9]{1,}(\.[0-9]{1,}){0,1}S){0,1}){0,1}" />
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
