<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema	xmlns:xs="http://www.w3.org/2001/XMLSchema"	elementFormDefault="qualified"	attributeFormDefault="qualified">
	<xs:simpleType name="phoneNumber">
		<xs:restriction base="xs:string">
			<xs:minLength 	value="10"	/>
			<xs:maxLength 	value="25"	/>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="computerKnowledge">
		<xs:sequence>
			<xs:element	name="package"	minOccurs="2"	maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="type">
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:enumeration value="language"	/>
									<xs:enumeration value="software"	/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
						<xs:element	ref="name"	/>
						<xs:element	name="abbreviation"	type="xs:string"	minOccurs="0"	/>
						<xs:element	name="expertise">
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:enumeration value="Expert"		/>
									<xs:enumeration value="Advanced"	/>
									<xs:enumeration	value="Intermediate"	/>
									<xs:enumeration value="Beginner"	/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
						<xs:element	name="familiarity"	type="xs:string"	/>
						<xs:element	name="lastused"		type="xs:string"	/>
						<xs:element	name="note"		type="xs:string"	minOccurs="0"	/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>


	<xs:element	name="name"	type="xs:string"	/>

	<xs:element	name="address">
		<xs:complexType>
			<xs:sequence>
				<xs:element	name="street"	type="xs:string"	minOccurs="0"	maxOccurs="3"	/>
				<xs:element	name="city"	type="xs:string"	/>
				<xs:element	name="state"	type="xs:string"	/>
				<xs:element	name="zip"	type="xs:string"	minOccurs="0"	/>
				<xs:element	name="county"	type="xs:string"	minOccurs="0"	/>
				<xs:element	name="country"	type="xs:string"	minOccurs="0"	/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element	name="phone">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="phoneNumber">
					<xs:attribute	name="type"	type="xs:string"	default="work"	/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>

	<xs:element	name="email"	type="xs:string"	/>
	<xs:element	name="homepage"	type="xs:string"	/>

	<xs:element	name="dates">
		<xs:complexType>
			<xs:sequence>
				<xs:element	name="start"	type="xs:string"	/>
				<xs:element	name="end"	type="xs:string"	/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element	name="accomplishments">
		<xs:complexType>
			<xs:sequence>
				<xs:element	name="accomplishment"	type="xs:string"	minOccurs="1"	maxOccurs="unbounded"	/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element	name="company"	type="xs:string"	/>
	<xs:element	name="title"	type="xs:string"	/>

	<xs:element	name="resume">
		<xs:annotation>
			<xs:documentation>root element</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:all>
				<xs:element	name="personal">
					<xs:complexType>
						<xs:sequence>
							<xs:element	ref="name"	/>
							<xs:element	ref="address"	/>
							<xs:element	ref="phone"	maxOccurs="3"	/>
							<xs:element	ref="email"	/>
							<xs:element	ref="homepage"	minOccurs="0"	/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element	name="objective"	type="xs:string"	minOccurs="0"	/>
				<xs:element	name="experience">
					<xs:complexType>
						<xs:sequence>
							<xs:element	name="job"	minOccurs="1"	maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element	ref="company"	/>
										<xs:element	ref="title"	/>
										<xs:element	ref="address"	minOccurs="0"	/>
										<xs:element	ref="dates"	minOccurs="0"	maxOccurs="3"	/>
										<xs:element	ref="accomplishments"	/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element	name="education">
					<xs:complexType>
						<xs:sequence>
							<xs:element	name="school"	minOccurs="1"	maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element	ref="name"	/>
										<xs:element	ref="address"	/>
										<xs:element	name="degree"	type="xs:string"	/>
										<xs:element	name="major"	type="xs:string"	maxOccurs="3"	/>
										<xs:element name="minor"	type="xs:string"	minOccurs="0"	maxOccurs="4"	/>
										<xs:element	name="GPA"	type="xs:string"	minOccurs="0"	/>
										<xs:element	ref="dates"		minOccurs="0"	/>
										<xs:element	ref="accomplishments"	minOccurs="0"	/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element	name="languages"	minOccurs="0"	type="computerKnowledge"	/>
				<xs:element	name="software"		minOccurs="0"	type="computerKnowledge"	/>
				<xs:element	name="writing"		minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element	name="sample"	minOccurs="2"	maxOccurs="unbounded">
								<xs:complexType>
									<xs:simpleContent>
										<xs:extension	base="xs:string">
											<xs:attribute	name="url"	type="xs:string"	use="required"	/>
										</xs:extension>
									</xs:simpleContent>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element	name="references"	minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element	name="reference"	minOccurs="2"	maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element	ref="name"	/>
										<xs:element	ref="company"	/>
										<xs:element	ref="title"	/>
										<xs:element	ref="address"	/>
										<xs:element	ref="phone"	minOccurs="0"	maxOccurs="3"	/>
										<xs:element	ref="email"	minOccurs="0"	/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:all>
		</xs:complexType>
	</xs:element>
</xs:schema>