<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<xsd:element name="Monster">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="Errors" type="ErrorsType" minOccurs="0" />
				<xsd:element name="Txn" minOccurs="0" />
				<xsd:element name="Resumes" type="ResumesType" minOccurs="0" />
				<xsd:element name="DebugInfo" type="DebugInfoType" minOccurs="0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:complexType name="ErrorsType">
		<xsd:sequence>
			<xsd:element name="Error" type="ErrorType" minOccurs="0" maxOccurs="unbounded" />
			<xsd:element name="DebugInfo" type="DebugInfoType" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="ErrorType">
		<xsd:sequence>
			<xsd:element name="Message" type="xsd:string" minOccurs="0"/>
			<xsd:element name="Exception" type="xsd:string" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="Number" type="ErrorEnum" use="required" />
	</xsd:complexType>

	<xsd:complexType name="ResumesType">
		<xsd:sequence>
			<xsd:element name="Resume" type="ResumeType" minOccurs="0" maxOccurs="unbounded" />
		</xsd:sequence>
		<xsd:attribute name="Found" type="xsd:unsignedInt" use="required" />
		<xsd:attribute name="Returned" type="xsd:unsignedInt" use="required" />
		<xsd:attribute name="Status" type="xsd:unsignedInt" use="required"/>
	</xsd:complexType>

	<xsd:complexType name="ResumeType">
		<xsd:sequence>
			<xsd:element name="Relevance" type="xsd:float" minOccurs="0"/>
			<xsd:element name="SeekerActivityIndexScoreID" type="xsd:unsignedByte" minOccurs="0"/>
			<xsd:element name="Distance" type="xsd:float" minOccurs="0"/>
			<xsd:element name="UserID" type="xsd:unsignedInt" minOccurs="0"/>
			<xsd:element name="ChannelID" type="xsd:unsignedShort" minOccurs="0"/>
			<xsd:element name="ResumeTitle" minOccurs="0" />
			<xsd:element name="DateModified" type="DateType" />
			<xsd:element name="DateCreated" type="DateType" />
			<xsd:element name="GlobalSecurityClearance" type="GlobalSecurityType" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="GlobalMilitaryInvolvement" type="GlobalMilitaryInvolvementType" minOccurs="0"/>
			<xsd:element name="PersonalData" type="PersonalDataType" minOccurs="0" />
			<xsd:element name="Target" type="TargetType" minOccurs="0" />
			<xsd:element name="Educations" type="EducationsType" minOccurs="0" />
			<xsd:element name="Experiences" type="ExperiencesType" minOccurs="0" />
			<xsd:element name="WorkAuths" type="WorkAuthsType" minOccurs="0" />
			<xsd:element name="Boards" type="BoardsType" minOccurs="0"/>
			<xsd:element name="Icons" type="IconsType" minOccurs="0"/>
			<xsd:element name="CustomFields" type="CustomFieldsType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="ID" type="xsd:string" use="optional"/> <!-- This will be deprecated as of Jan 10, 2008 and was changed to "optional" from "required"-->
        	<xsd:attribute name="Value" type="xsd:string" use="optional" />
        	<xsd:attribute name="SID" type="xsd:string" use="optional" />
	</xsd:complexType>

	<xsd:complexType name="AddressType">
		<xsd:sequence>
			<xsd:element name="Country" type="LIDType" minOccurs="0" />
			<xsd:element name="State" type="LIDType" minOccurs="0" />
			<xsd:element name="City" type="xsd:string" minOccurs="0" />
			<xsd:element name="PostalCode" type="xsd:string" minOccurs="0" />
			<xsd:element name="Location" type="xsd:string" minOccurs="0" />
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:complexType name="BoardsType">
		<xsd:sequence>
			<xsd:element name="Board" type="RequiredIDType" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="CompanyType">
		<xsd:sequence>
			<xsd:element name="Name" />
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:complexType name="CustomFieldsType">
		<xsd:sequence>
			<xsd:element name="CustomField" type="CustomFieldType" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:complexType name="CustomFieldType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="ID" type="xsd:unsignedInt" use="optional"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>

	<xsd:complexType name="ExperiencesType">
		<xsd:sequence>
			<xsd:element name="Experience" type="ExperienceType" minOccurs="0" maxOccurs="unbounded" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="ExperienceType">
		<xsd:sequence>
			<xsd:element name="Company" type="CompanyType" minOccurs="0" />
			<xsd:element name="Job" type="JobType" minOccurs="0" />
			<xsd:element name="DateFrom" type="DateType" minOccurs="0" />
			<xsd:element name="DateTo" type="DateType" minOccurs="0" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="EducationsType">
		<xsd:sequence>
			<xsd:element name="Education" type="EducationType" minOccurs="0" maxOccurs="unbounded" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="EducationType">
		<xsd:sequence>
			<xsd:element name="Level" type="EducationLevelType" minOccurs="0" />
			<xsd:element name="School" type="SchoolType" minOccurs="0" />
			<xsd:element name="DateTo" type="DateType" minOccurs="0" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="EducationLevelType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="ID" type="EducationLevelEnum" use="required" />
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>

	<xsd:complexType name="SchoolType">
		<xsd:sequence>
			<xsd:element name="Name" minOccurs="0" />
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:complexType name="GlobalSecurityType">
		<xsd:sequence>
			<xsd:element name="SecurityClearance" type="SecurityClearanceType" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:complexType name="GlobalMilitaryInvolvementType">
		<xsd:sequence>
			<xsd:element name="MilitaryInvolvement" type="MilitaryInvolvementType" minOccurs="0" maxOccurs="unbounded"/>
			<!-- Added for 11.0 -->
			<xsd:element name="MilitaryInvolvementID" type="xsd:string" minOccurs="0"/>
			<xsd:element name="DeferredDate" type="xsd:string" minOccurs="0"/>
			<!-- End add -->
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:complexType name="IconsType">
		<xsd:sequence>
			<xsd:element name="Icon" type="RequiredIDType" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:complexType name="MilitaryInvolvementType">
		<xsd:sequence>
			<xsd:element name="Country" type="CountryType" minOccurs="0"/>
			<xsd:element name="MilitaryInvolvementType" type="RequiredIDType" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:complexType name="SecurityClearanceType">
		<xsd:sequence>
			<xsd:element name="Country" type="CountryType"/>
			<xsd:element name="SecurityClearanceType">
				<xsd:complexType>
					<xsd:attribute name="ID" type="SecurityClearanceIDType" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="OptionalIDType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="ID" type="xsd:unsignedInt" use="optional"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	
	<xsd:complexType name="RequiredIDType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="ID" type="xsd:unsignedInt" use="required"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>


	<xsd:complexType name="JobType">
		<xsd:sequence>
			<xsd:element name="Title" />
			<xsd:element name="Description"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="JobTypesType">
		<xsd:sequence>
			<xsd:element name="JobType" type="JobTypeType" minOccurs="0" maxOccurs="unbounded" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="JobTypeType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="ID" type="JobTypeEnum" use="required" />
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>

	<xsd:complexType name="LIDType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="LID" type="LocationIDType" use="optional" />
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	
	<xsd:complexType name="CountryType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="ID" type="LocationIDType" use="required" />
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>

	<xsd:simpleType name="LocationIDType">
		<xsd:restriction base="xsd:unsignedInt" />
	</xsd:simpleType>

	<xsd:annotation><xsd:documentation>
		EmailAddress in Personal Data is only available with the proper licence obtained from Monster.
	</xsd:documentation></xsd:annotation>
	
	<xsd:complexType name="PersonalDataType">
		<xsd:sequence>
			<xsd:element name="DriversLicenseTypes" type="DriversLicenseType" minOccurs="0"/>
			<xsd:element name="Confidential" type="xsd:boolean" minOccurs="0" />
			<xsd:element name="EmailAddress" minOccurs="0" />
			<xsd:element name="Name" type="NameType" minOccurs="0" />
			<xsd:element name="Address" type="AddressType" minOccurs="0" />
			<xsd:element name="MilitaryExperience" type="MilitaryExperienceType" minOccurs="0" />
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:complexType name="DriversLicenseType">
		<xsd:sequence>
			<xsd:element name="DriversLicenseTypeID" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:complexType name="MilitaryExperienceType">
		<xsd:sequence>
			<xsd:element name="ServiceFlag" type="xsd:unsignedByte" />
			<xsd:element name="MilitaryInvolvement" type="xsd:unsignedByte" />
			<!-- Added for 11.0 -->
			<xsd:element name="GlobalMIlitaryInvolvement" type="GlobalMilitaryInvolvementType" minOccurs="0"/>
			<xsd:element name="DutyLocations" type="xsd:string" minOccurs="0"/>
			<!-- End add -->
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="NameType">
		<xsd:sequence>
			<xsd:element name="First" minOccurs="0" />
			<xsd:element name="Middle" minOccurs="0" />
			<xsd:element name="Last" minOccurs="0" />
		</xsd:sequence>
	</xsd:complexType>

<!--	<xsd:complexType name="RelocationType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="ID" type="xsd:boolean" use="optional" />
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType> -->

	<xsd:complexType name="SalaryType">
		<xsd:sequence>
			<xsd:element name="Min" type="xsd:integer" minOccurs="0" />
			<xsd:element name="Max" type="xsd:integer" minOccurs="0" />
			<xsd:element name="Type" type="OptionalIDType" minOccurs="0" />
			<xsd:element name="Currency" type="CurrencyType" minOccurs="0" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="TargetType">
		<xsd:sequence>
			<xsd:element name="JobTitle" type="xsd:string" minOccurs="0"/>
			<xsd:element name="Relocation" type="OptionalIDType" minOccurs="0" />
			<xsd:element name="Salary" type="SalaryType" minOccurs="0" />
			<xsd:element name="JobTypes" type="JobTypesType" minOccurs="0" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="WorkAuthType">
		<xsd:sequence>
			<xsd:element name="Country" type="CountryType" />
			<xsd:element name="AuthType">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:string">
							<xsd:attribute name="ID" type="WorkAuthEnum" use="required" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="WorkAuthsType">
		<xsd:sequence>
			<xsd:element name="WorkAuth" type="WorkAuthType" minOccurs="0" maxOccurs="unbounded" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="DateType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="Date" type="xsd:dateTime" use="optional" />
				<xsd:attribute name="Year" type="xsd:unsignedInt" use="optional" />
				<xsd:attribute name="Month" type="xsd:unsignedInt" use="optional" />
				<xsd:attribute name="Day" type="xsd:unsignedInt" use="optional" />
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>

	<xsd:simpleType name="JobTypeEnum">
		<xsd:restriction base="xsd:positiveInteger">
			<xsd:enumeration value="1" />
			<xsd:enumeration value="2" />
			<xsd:enumeration value="3" />
			<xsd:enumeration value="4" />
			<xsd:enumeration value="5" />
			<xsd:enumeration value="6" />
			<xsd:enumeration value="7" />
			<xsd:enumeration value="20" />
			<xsd:enumeration value="26" />
			<xsd:enumeration value="33" />
			<xsd:enumeration value="34" />
			<xsd:enumeration value="35" />
			<xsd:enumeration value="41" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="WorkAuthEnum">
		<xsd:restriction base="xsd:positiveInteger">
			<xsd:enumeration value="1" />
			<xsd:enumeration value="2" />
			<xsd:enumeration value="3" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="EducationLevelEnum">
		<xsd:restriction base="xsd:integer">
			<xsd:enumeration value="-1" /> <!-- unknown -->
			<xsd:enumeration value="1" />
			<xsd:enumeration value="2" />
			<xsd:enumeration value="3" />
			<xsd:enumeration value="4" />
			<xsd:enumeration value="5" />
			<xsd:enumeration value="6" />
			<xsd:enumeration value="7" />
			<xsd:enumeration value="8" />
			<xsd:enumeration value="9" />
			<xsd:enumeration value="10" />
			<xsd:enumeration value="11" />
			<xsd:enumeration value="12" /> <!-- Some High School Coursework -->
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="ErrorEnum">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="0xA0000999"/>
			<xsd:enumeration value="0xA0000000"/>
			<xsd:enumeration value="0xA0001000"/>
			<xsd:enumeration value="0xA0001001"/>
			<xsd:enumeration value="0xA0001002"/>
			<xsd:enumeration value="0xA0001003"/>
			<xsd:enumeration value="0xA0001004"/>
			<xsd:enumeration value="0xA0002000"/>
			<xsd:enumeration value="0xA0003000"/>
			<xsd:enumeration value="0xA0003001"/>
			<xsd:enumeration value="0xA0003002"/>
			<xsd:enumeration value="0xA0003003"/>
			<xsd:enumeration value="0xA0003004"/>
			<xsd:enumeration value="0xA0003005"/>
			<xsd:enumeration value="0xA0003006"/>
			<xsd:enumeration value="0xA0003007"/>
			<xsd:enumeration value="0xA0003008"/>
			<xsd:enumeration value="0xA0003009"/>
			<xsd:enumeration value="0xA0003999"/>
			<xsd:enumeration value="0xA0004000"/>
			<xsd:enumeration value="0xA0005000"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:simpleType name="SecurityClearanceIDType">
		<xsd:restriction base="xsd:unsignedInt">
			<xsd:minInclusive value="0"/>
			<xsd:maxInclusive value="21"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:complexType name="CurrencyType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="ID" type="xsd:unsignedInt"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>

	<xsd:simpleType name="CurrencyIDType">
		<xsd:restriction base="xsd:positiveInteger">
			<xsd:minInclusive value="1"/>
			<xsd:maxInclusive value="60"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:complexType name="DebugInfoType">
		<xsd:sequence>
			<xsd:element name="RequestTime" type="xsd:string"/>
			<xsd:element name="MachineName" type="xsd:string"/>
			<xsd:element name="Timers" type="xsd:string"/>
			<xsd:element name="CAT" type="xsd:string" minOccurs="0"/>
			<xsd:element name="ClientTimers" type="xsd:string"/>
			<xsd:element name="UserLicensesActive" type="xsd:string" minOccurs="0"/>
			<xsd:element name="UserLicensesExpired" type="xsd:string" minOccurs="0"/>
			<xsd:element name="DisplayColumns" type="xsd:string"/>
			<xsd:element name="NativeFormatQuery" type="xsd:string"/>
			<xsd:element name="NativeFormatResponse" type="xsd:string"/>
			<xsd:element name="NativeFormatDocuments" type="xsd:string" minOccurs="0"/>
			<xsd:element name="ServerFederationInfo" type="xsd:string" minOccurs="0"/>
			<xsd:element name="ServerDebugInfo" type="xsd:string" minOccurs="0"/>
			<xsd:element name="SearchResultError" type="xsd:string" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
</xsd:schema>
