<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="resume">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="person" type="personType"/>
				<xs:element name="summary" type="xs:string" minOccurs="0">
					<xs:annotation>
						<xs:documentation>This can be used for objectives or for a description of what type of role you are seeking.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="educationHistory" minOccurs="0">
					<xs:complexType>
						<xs:sequence maxOccurs="unbounded">
							<xs:element name="educationItem">
								<xs:complexType>
									<xs:sequence>
										<xs:element ref="organization"/>
										<xs:choice>
											<xs:element ref="dateRange"/>
											<xs:element name="graduationDate" type="dateType"/>
										</xs:choice>
										<xs:element name="coursework" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="course" type="xs:string" maxOccurs="unbounded"/>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="degreeName" type="xs:string"/>
										<xs:element name="gpa" type="xs:decimal" minOccurs="0"/>
										<xs:element name="acknowledgements" minOccurs="0">
											<xs:annotation>
												<xs:documentation>This can be used for awards such as Deans List or Cum Laude.</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="acknowledgement" type="xs:string" maxOccurs="unbounded"/>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="employmentHistory" minOccurs="0">
					<xs:complexType>
						<xs:sequence maxOccurs="unbounded">
							<xs:element name="employmentItem">
								<xs:complexType>
									<xs:sequence>
										<xs:element ref="organization"/>
										<xs:element ref="dateRange" maxOccurs="unbounded"/>
										<xs:element name="jobTitle" type="xs:string"/>
										<xs:element name="responsibilities" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="responsibility" type="xs:string" maxOccurs="unbounded"/>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="facts" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Use this section as a catch-all for your skills, interests, activities, awards and publications.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence minOccurs="0" maxOccurs="unbounded">
							<xs:element name="fact">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="acquired" minOccurs="0" maxOccurs="unbounded">
											<xs:annotation>
												<xs:documentation>This element contains references to ids of educationItem or employmentItem elements, indicating where something has been achieved. It is allowed to have multiple references, for example if C programming has been used in two companies.</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:attribute name="id"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="item">
											<xs:complexType>
												<xs:simpleContent>
													<xs:extension base="xs:string">
														<xs:attribute name="type" default="skill">
															<xs:simpleType>
																<xs:restriction base="xs:string">
																	<xs:enumeration value="skill"/>
																	<xs:enumeration value="interest"/>
																	<xs:enumeration value="publication"/>
																	<xs:enumeration value="activity"/>
																	<xs:enumeration value="award"/>
																</xs:restriction>
															</xs:simpleType>
														</xs:attribute>
													</xs:extension>
												</xs:simpleContent>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="addressType">
		<xs:sequence>
			<xs:element name="street" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="city" type="xs:string" minOccurs="0"/>
			<xs:element name="stateOrProvince" type="xs:string" minOccurs="0"/>
			<xs:element name="postalCode" type="xs:string" minOccurs="0"/>
			<xs:element name="country" type="xs:string" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="personType">
		<xs:sequence>
			<xs:element name="name">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="firstName" type="xs:token"/>
						<xs:element name="middleName" type="xs:token" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="lastName" type="xs:token"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="contactInformation" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="address" type="addressType" minOccurs="0"/>
						<xs:element name="email" type="emailType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="telephone" type="telephoneType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="website" type="websiteType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="telephoneType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="type" default="home">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="home"/>
							<xs:enumeration value="mobile"/>
							<xs:enumeration value="office"/>
							<xs:enumeration value="fax"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="organizationType">
		<xs:sequence>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="address" type="addressType" minOccurs="0"/>
			<xs:element name="website" type="websiteType" minOccurs="0"/>
			<xs:element name="reference" type="personType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>This should be used to identify persons inside an organization which could be contacted as references.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id"/>
	</xs:complexType>
	<xs:complexType name="dateRangeType">
		<xs:sequence>
			<xs:element name="startDate" type="dateType"/>
			<xs:element name="endDate" type="dateType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="dateType">
		<xs:sequence>
			<xs:element name="day" minOccurs="0">
				<xs:simpleType>
					<xs:restriction base="xs:positiveInteger">
						<xs:totalDigits value="2"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="month" minOccurs="0">
				<xs:simpleType>
					<xs:restriction base="xs:integer">
						<xs:totalDigits value="2"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="year">
				<xs:simpleType>
					<xs:restriction base="xs:integer">
						<xs:totalDigits value="4"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="websiteType">
		<xs:restriction base="xs:string">
			<xs:pattern value="http://.*\.[a-z]{2,5}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="emailType">
		<xs:restriction base="xs:string">
			<xs:pattern value=".*@.*\.[a-z]{2,5}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:element name="organization" type="organizationType"/>
	<xs:element name="dateRange" type="dateRangeType"/>
</xs:schema>
