<?xml version="1.0" encoding="UTF-8"?>
<!-- this XSD intended to correspond to the application profile in eCOTOOL D3.5 -->
<!-- hand edited by Simon Grant starting from KION's XSD for eCOTOOL D2.3 -->
<xs:schema xmlns="http://www.competencetools.eu/ecotool"
	xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns:dcmitype="http://purl.org/dc/dcmitype/"
	xmlns:dcterms="http://purl.org/dc/terms/"
	targetNamespace="http://www.competencetools.eu/ecotool"
	elementFormDefault="qualified"
	version="1.0">
	<xs:import namespace="http://purl.org/dc/terms/" schemaLocation="http://dublincore.org/schemas/xmls/qdc/dcterms.xsd"/>
	<xs:import namespace="http://purl.org/dc/dcmitype/" schemaLocation="http://dublincore.org/schemas/xmls/qdc/dcmitype.xsd"/>
	<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
	<xs:element name="europassCS">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="documentMetadata" type="documentMetadataType">
					<xs:annotation>
						<xs:documentation>Information about the document as a whole</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="originalTitle">
					<xs:complexType>
						<xs:simpleContent>
							<xs:extension base="xs:string">
								<xs:attribute ref="xml:lang"/>
							</xs:extension>
						</xs:simpleContent>
					</xs:complexType>
				</xs:element>
				<xs:element name="translatedTitle" type="xs:string" minOccurs="0"/>
				<xs:element name="abilityProfile" type="abilityProfileType">
					<xs:annotation>
						<xs:documentation>profile of skills and competences (ref. #3)</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="occupationRange" type="occupationRangeType" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Range of accessible occupations (ref. #4)</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="awardingBody" type="EntityReference">
					<xs:annotation>
						<xs:documentation>Awarding body (ref. #5.1)</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="nationalRegionalAuthority" type="EntityReference" minOccurs="0">
					<xs:annotation>
						<xs:documentation>National / regional authority (ref. #5.2)</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="certificateLevel" type="certificateLevelType" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Level of the certificate (ref. #5.3)</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="gradingScale" type="gradingScaleType" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Grading scale / Pass requirement (ref. #5.4)</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="accessNextLevel" type="xhtmlType" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Access to next level (ref. #5.5)</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="internationalAgreements" type="internationalAgreementsType" minOccurs="0">
					<xs:annotation>
						<xs:documentation>International agreements (ref. #5.6)</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="legalBasis" type="xhtmlType" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Legal basis (ref. #5.7)</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="acquisitionWays" type="xhtmlType">
					<xs:annotation>
						<xs:documentation>Officially recognised ways of acquiring certificate (ref. #6)</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="accessRequirements" type="xhtmlType" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Entry/access requirements (ref. #7)</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="additionalInformation" type="xhtmlType" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Additional information (ref. #8)</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="nationalReferencePoint" type="xhtmlType">
					<xs:annotation>
						<xs:documentation>National reference point (ref. #9)</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
			<xs:attribute ref="xml:lang" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="documentMetadataType">
		<xs:sequence>
			<xs:element ref="dcterms:identifier"/>
			<xs:element name="originalIdentifier" minOccurs="0"/>
			<xs:element ref="dcterms:contributor" minOccurs="0"/>
			<xs:element ref="dcterms:creator" minOccurs="0"/>
			<xs:element ref="dcterms:created" minOccurs="0"/>
			<xs:element ref="dcterms:contributor" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="dcterms:modified" minOccurs="0"/>
			<xs:element name="sectorClassification" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="EntityReference">
		<xs:all>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="address" type="CDataString" minOccurs="0"/>
			<xs:element name="phone" type="xs:string" minOccurs="0"/>
			<xs:element name="email" type="xs:string" minOccurs="0"/>
			<xs:element name="website" type="xs:string" minOccurs="0"/>
			<xs:element name="status" type="xs:string" minOccurs="0"/>
		</xs:all>
	</xs:complexType>
	<xs:complexType name="abilityType">
		<xs:sequence minOccurs="0" maxOccurs="unbounded">
			<xs:element name="abilityName" type="xs:string"/>
			<xs:element name="abilityURI" type="uriType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="abilityProfileType">
		<xs:sequence>
			<xs:element name="abilityURI" type="uriType" minOccurs="0"/>
			<xs:element name="freeText" type="xhtmlType" minOccurs="0"/>
			<xs:element name="ability" type="abilityType" minOccurs="1" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="occupationRangeType">
		<xs:sequence>
			<xs:element name="freeText" type="xhtmlType" minOccurs="0"/>
			<xs:element name="occupation" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>accessible occupation (ref. #4.2)</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence minOccurs="0" maxOccurs="unbounded">
						<xs:element name="occupationName" type="xs:string"/>
						<xs:element name="occupationIdentifier" minOccurs="0">
							<xs:complexType>
								<xs:sequence maxOccurs="unbounded">
									<xs:element name="occupationScheme"/>
									<xs:element name="occupationCode"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="note" type="xs:string" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="certificateLevelType">
		<xs:sequence>
			<xs:element name="framework" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>frameworks and levels (ref. #5.3.1)</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="fwName" type="xs:string"/>
						<xs:element name="fwURI" type="uriType"/>
						<xs:element name="fwLevel" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="freeText" type="xhtmlType" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>other unstructured level information (ref. #5.3.2)</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="gradingScaleType">
		<xs:sequence>
			<xs:element name="freeText" type="xhtmlType" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>other unstructured grade information (ref. #5.4.1)</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="grade" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>grades and their explanations (ref. #5.4.2)</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="label" type="xs:string"/>
						<xs:element name="explanation" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="internationalAgreementsType">
		<xs:sequence>
			<xs:element name="freeText" type="xhtmlType" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>unstructured international agreements information (ref. #5.6.1)</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="relatedQualification" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>related qualifications (ref. #5.6.2)</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="qualificationURI" type="xs:string"/>
						<xs:element name="qualificationRelation" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="CDataString">
		<xs:annotation>
			<xs:documentation>original had something with jaxb - now removed</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="uriType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:complexType name="xhtmlType" mixed="true">
<!-- this is not what is really wanted - it should allow a single real XHTML div, complete with contents, but nothing else -->
		<xs:sequence>
			<xs:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
