<?xml version="1.0" encoding="UTF-8"?>
<xs:schema	xmlns:xs="http://www.w3.org/2001/XMLSchema"
				xmlns:members="http://rets.org/xsd/Members/2007-08"
				xmlns:commons="http://rets.org/xsd/RETSCommons/2007-08"
				xmlns:media="http://rets.org/xsd/Media/2007-08"
				xmlns:nrds="http://rets.org/xsd/NRDSCommons/2007-08"
				xmlns:offices="http://rets.org/xsd/Offices/2007-08"
				targetNamespace="http://rets.org/xsd/Members/2007-08"
				elementFormDefault="qualified"
				attributeFormDefault="unqualified">

	<!--
		Tab stops
		:set ts=3

		File History
		======================
		$Header: Members.xsd, 44, 7/26/2007 9:11:15 PM, Paul Stusiak$
		
		$Log:
		 44   055_RETS_Standard1.43        7/26/2007 9:11:15 PM   Paul Stusiak
		      update version timestamp
		 43   055_RETS_Standard1.42        7/26/2007 1:27:02 PM   Gina Accawi     Add
		       systemId to Member.
		 42   055_RETS_Standard1.41        7/24/2007 5:09:01 PM   Paul Stusiak    add
		       keys to Participant and Person, update the entities to support this,
		      make the files have a common pattern.
		 41   055_RETS_Standard1.40        7/24/2007 9:52:50 AM   Gina Accawi
		      Remove ref to ShortOffice. Replace with full Office.
		 40   055_RETS_Standard1.39        7/9/2007 2:00:58 AM    Paul Stusiak
		      Rework of CR 80 to change the way that Role, Team, Person and Member
		      interact as Participants. Person, Member and Team now take on a Role
		      when acting as a Participant for a Listing (or Transaction)
		 39   055_RETS_Standard1.38        7/6/2007 2:29:46 PM    Gina Accawi
		      Rename ids.
		 38   055_RETS_Standard1.37        7/6/2007 11:03:33 AM   Paul Stusiak
		      Standardized enumeration extensibility across Features.xsd.
		 37   055_RETS_Standard1.36        7/5/2007 11:57:08 PM   Paul Stusiak
		      early check in of CR 24, <Property>OtherDescription attribute pattern
		 36   055_RETS_Standard1.35        7/5/2007 2:10:35 PM    Gina Accawi
		      Make member a contactable person. Remove address, since that is now in
		       the contact methods for the contactable person.
		 35   055_RETS_Standard1.34        7/4/2007 7:01:59 PM    Paul Stusiak
		      change Designation to DesignationList
		 34   055_RETS_Standard1.33        7/4/2007 4:09:15 PM    Paul Stusiak    Add
		       county to Member, Licensing, Group Association membership
		      information, create container for MLSMembership.
		 33   055_RETS_Standard1.32        7/2/2007 9:45:32 AM    Gina Accawi
		      Rename ResourceKey to be the actual ResourceNameKey.
		 32   055_RETS_Standard1.31        6/29/2007 1:04:03 PM   Gina Accawi     Add
		       media.
		 31   055_RETS_Standard1.30        6/29/2007 12:34:42 PM  Gina Accawi     Add
		       a key for the resource.
		 30   055_RETS_Standard1.29        6/26/2007 1:05:14 PM   Gina Accawi
		      Rename ContactInformation to ContactMethod.
		 29   055_RETS_Standard1.28        6/26/2007 12:40:31 PM  Gina Accawi
		      Rename Agent to Member. This affects namespaces, element names, type
		      references, and attribute names.
		 28   055_RETS_Standard1.27        6/26/2007 12:12:34 PM  Gina Accawi     
		 27   055_RETS_Standard1.26        6/14/2007 11:10:20 AM  Gina Accawi     Add
		       website URI.
		 26   055_RETS_Standard1.25        6/13/2007 2:43:34 PM   Gina Accawi
		      Make Designation repeatable unbounded. As an alternative, could add
		      Designations container with multiple Designation children. Seemed like
		       overkill, but could prove preferable.
		 25   055_RETS_Standard1.24        6/12/2007 2:10:16 PM   Gina Accawi
		      Indicate NRDSCommons items by renaming elements to include NRDS in the
		       name. As per May meeting suggestion in Rockville.
		 24   055_RETS_Standard1.23        5/14/2007 10:29:25 AM  Gina Accawi     Add
		       xml:lang attribute to root level element type definition.
		 23   055_RETS_Standard1.22        5/2/2007 1:09:48 PM    Paul Stusiak
		      change complex type name to resolve code generation error
		 22   055_RETS_Standard1.21        5/1/2007 3:37:39 PM    Paul Stusiak
		      Update the version timestamp, make the schema relative again.
		 21   055_RETS_Standard1.20        4/3/2007 4:59:27 PM    Paul Stusiak    use
		       url resolution for include, import to test schema validation
		 20   055_RETS_Standard1.19        4/3/2007 1:43:54 AM    Paul Stusiak
		      change namespace to remote location (www.ftc2.com) for testing
		 19   055_RETS_Standard1.18        4/2/2007 11:26:53 AM   Paul Stusiak
		      change namespace to match responding server and to use the URI
		      versioning suggested by both HP and XFront
		 18   055_RETS_Standard1.17        3/30/2007 6:20:18 PM   Paul Stusiak
		      Update of the versionTimestamp and the namespace (namespace to
		      200704). Change formating to a standard format
		 17   055_RETS_Standard1.16        3/21/2007 4:17:39 PM   Paul Stusiak
		      minor reformatting
		 16   055_RETS_Standard1.15        3/19/2007 9:19:23 PM   Paul Stusiak
		      Added some comments. Removed inappropriate fields. Added reference to
		      ShortOffice from RETSCommons.
		 15   055_RETS_Standard1.14        3/19/2007 1:17:24 PM   Gina Accawi
		      Restore top-level Agents complexType. Add appinfo for sample document
		      generation/transformation. 
		 14   055_RETS_Standard1.13        3/8/2007 11:08:44 AM   Gina Accawi
		      Change root element from a global type reference to a local anonymous
		      definition. This will be the pattern for all container (root)
		      elements.
		 13   055_RETS_Standard1.12        3/7/2007 10:45:58 PM   Paul Stusiak
		      Clean up the project information for the purposes of document
		      generation. Change namespace to correctly reference Agents rather than
		       Agency. Added trial annotation format for Gina's review. Made
		      modification to document format.
		 12   055_RETS_Standard1.11        3/6/2007 12:11:12 PM   Paul Stusiak
		      change ID to Id across files, remove redundant id for different
		      temporary member state like President
		 11   055_RETS_Standard1.10        2/28/2007 12:34:29 AM  Paul Stusiak    add
		       standard header and refactoring RETSCommons changes
		 10   055_RETS_Standard1.9         2/22/2007 3:34:44 PM   Gina Accawi
		      Remove all references to the schemaLocation as being
		      http://retsserver.realtors.org:8080/xsd/.  These references have been
		      changed to be relative path (as the current directory). Now,
		      regardless of where they are published, the referential internal
		      integrity will remain. The assumption is that these will all reside as
		       neighbors on the target distribution server.
		 9    055_RETS_Standard1.8         2/22/2007 11:01:24 AM  Paul Stusiak
		      2006-12-12 version with format edits, from Paula O'Brien/Jeff Brush
		 8    055_RETS_Standard1.7         2/22/2007 10:57:42 AM  Paul Stusiak
		      Name change from Agency to Agents
		 7    055_RETS_Standard1.6         12/2/2006 1:12:44 AM   Paul Stusiak
		      various mechanical fixes tho the schema and a re-direct from
		      retsserver.realtors.org to www.ftc2.com
		 6    055_RETS_Standard1.5         11/28/2006 1:41:32 AM  Paul Stusiak
		      updated version per meetings
		 5    055_RETS_Standard1.4         7/31/2006 9:26:01 AM   Jeff Brush
		      updated schemas to have child element of minOccurs="0" allowing for
		      empty root element to be returned in cases where the search results
		      are empty
		 4    055_RETS_Standard1.3         4/7/2006 7:36:38 PM    Jeff Brush
		      renamed version attribute to versionTimestamp for schema versioning
		 3    055_RETS_Standard1.2         4/7/2006 1:37:25 PM    Jeff Brush
		      modified to have schema versioning as datetime, add year month to
		      namespaces, minor corrections
		 2    055_RETS_Standard1.1         4/4/2006 8:05:57 AM    Jeff Brush
		      Updated schemas.  All MLS schemas have extensibility points.  New
		      ObjectReferenceList.xsd
		 1    055_RETS_Standard1.0         3/6/2006 8:13:37 AM    Paul Stusiak    
		$
	-->
	
	<xs:annotation>
		<xs:documentation>
			The real estate agent, or member
		</xs:documentation>
	</xs:annotation>

	<xs:import  namespace="http://www.w3.org/XML/1998/namespace"
					schemaLocation="http://www.w3.org/2001/xml.xsd"/>
	<xs:import	namespace="http://rets.org/xsd/RETSCommons/2007-08"
					schemaLocation="../../../xsd/RETSCommons/2007-08/RETSCommons.xsd"/>
	<xs:import	namespace="http://rets.org/xsd/NRDSCommons/2007-08"
					schemaLocation="../../../xsd/NRDSCommons/2007-08/NRDSCommons.xsd"/>
	<xs:import 	namespace="http://rets.org/xsd/Media/2007-08"
					schemaLocation="../../../xsd/Media/2007-08/Media.xsd"/>
	<xs:import  namespace="http://rets.org/xsd/Offices/2007-08"
					schemaLocation="../../../xsd/Offices/2007-08/Offices.xsd"/>

	<!-- Types -->
	<xs:complexType name="MLSMemberStatusEnum">
		<xs:simpleContent>
			<xs:restriction base="commons:OtherEnumerationDescriptionString">
				<xs:enumeration value="Active">
					<xs:annotation>
						<xs:documentation>
							The member is entitled to access to the
							system or other locally defined definitions
							for full membership.
						</xs:documentation>
					</xs:annotation>
				</xs:enumeration>
				<xs:enumeration value="Associate">
					<xs:annotation>
						<xs:documentation>
							The member is restricted in access to the
							system or other locally defined definitions
							of membership rights.
						</xs:documentation>
					</xs:annotation>
				</xs:enumeration>
				<xs:enumeration value="Inactive">
					<xs:annotation>
						<xs:documentation>
							The member is not active
						</xs:documentation>
					</xs:annotation>
				</xs:enumeration>
				<xs:enumeration value="Pending"/>
				<xs:enumeration value="Suspended"/>
				<xs:enumeration value="Other"/>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>

	<xs:complexType	name="RELicense">
		<xs:sequence>
			<xs:element	name="RELicenseCategory"
							type="commons:SecureString"
							minOccurs="1"
							maxOccurs="1">
				<xs:annotation>
					<xs:documentation>
						The type of real estate license. This will vary
						based on the local types and jurisdictions.
					</xs:documentation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="Jurisdiction"
							type="commons:SecureString"
							minOccurs="1"
							maxOccurs="1">
				<xs:annotation>
					<xs:documentation>
						A string representing the jurisdiction that the
						license issuing body is located.
					</xs:documentation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="LicenseStartDateTime"
							type="commons:SecureDateTime"
							minOccurs="0"
							maxOccurs="1">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="LicenseExpirationDateTime"
							type="commons:SecureDateTime"
							minOccurs="0"
							maxOccurs="1">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="LicenseTransferDateTime"
							type="commons:SecureDateTime"
							minOccurs="0"
							maxOccurs="1">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="MLSMembershipType">
		<xs:sequence>
			<xs:element	name="MLSKey"
							type="commons:resource-key"
							minOccurs="1"
							maxOccurs="1">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="MLSMemberStatus"
							type="members:MLSMemberStatusEnum"
							minOccurs="1"
							maxOccurs="1">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="MLSJoinDateTime"
							type="commons:SecureDateTime"
							minOccurs="0"
							maxOccurs="1">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="MLSSuspendDateTime"
							type="commons:SecureDateTime"
							minOccurs="0"
							maxOccurs="1">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="MLSReinstatedDateTime"
							type="commons:SecureDateTime"
							minOccurs="0"
							maxOccurs="1">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="MLSTerminationDateTime"
							type="commons:SecureDateTime"
							minOccurs="0"
							maxOccurs="1">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="MLSJobDescription"
							type="commons:SecureString"
							minOccurs="0"
							maxOccurs="1">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="MLSRemarks"
							type="commons:SecureRemark"
							minOccurs="0"
							maxOccurs="1">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="HasLicense"
							type="commons:SecureBoolean"
							minOccurs="0"
							maxOccurs="1">
				<xs:annotation>
					<xs:documentation>
						A flag to indicate that the Member has a
						license.
					</xs:documentation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="HasBrokerLicense"
							type="commons:SecureBoolean"
							minOccurs="0"
							maxOccurs="1">
				<xs:annotation>
					<xs:documentation>
						A flag to indicate that the Member has a
						broker license.
					</xs:documentation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="MLSLicensing"
							type="members:RELicense"
							minOccurs="0">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="AssociationMembershipType">
		<xs:sequence>
			<xs:element	name="NRDSMemberType"
							type="nrds:AssociationMemberType"
							minOccurs="0">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
						<example>Realtor</example>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="NRDSStatusCode"
							type="nrds:MemberStatus"
							minOccurs="0">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
						<example>A</example>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="NRDSStatusDate"
							type="nrds:StatusDate"
							minOccurs="0">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
						<example>2001-01-10</example>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="NRDSRealEstateLicense"
							type="nrds:RealEstateLicense"
							minOccurs="0">
				<xs:annotation>
					<xs:documentation>
						The primary real estate license held by the member.
					</xs:documentation>
					<xs:appinfo>
						<retsid></retsid>
						<example>MDR12366878</example>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="NRDSMLSId"
							type="nrds:MLSAssociationId"
							minOccurs="0">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
						<example>1234</example>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="NRDSPrimaryAssociationId"
							type="nrds:AssociationId"
							minOccurs="0">
				<xs:annotation>					
					<xs:appinfo>
						<retsid></retsid>
						<example>5678</example>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="NRDSPrimaryStateAssociationId"
							type="nrds:AssociationId"
							minOccurs="0">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
						<example>9012</example>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="NRDSMemberId"
							type="commons:AssociationMemberId"
							minOccurs="0">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
						<example>12345678</example>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="MemberType">
		<xs:sequence>
			<xs:element name="MemberKey"
							type="commons:resource-key"
							minOccurs="1"
							maxOccurs="1">
				<xs:annotation>
					<xs:documentation>
						This the is the keyfield for the resource.
					</xs:documentation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>				
			</xs:element>
			<xs:element	name="Person"
							type="commons:ContactablePerson"
							minOccurs="0">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="Designations"
							type="commons:Designations"
							minOccurs="0"
							maxOccurs="1">
				<xs:annotation>
					<xs:documentation>
						Any designations or accreditations granted the
						individual following a course of training or other
						program recognized by other real estate professional
						members or the public.
						May be administered and granted to the member by
						regional (State), national (NAR) or other institutes
						with standing. Used to identify specialized skills.
						The designations are a comma separated text list of
						zero or more designations. Usage suggests the
						abbreviations provided by the granting body or other
						representation.
						An example is 'ABR', where ABR is the commonly known
						abbreviation for Accredited Buyers Representitive,
						granted by the Real Estate Buyers Council (REBAC)
					</xs:documentation>
					<xs:appinfo>
						<retsid></retsid>
						<example>ABR</example>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="MemberCounty"
							type="commons:SecureString"
							minOccurs="0">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element name="Website"
							type="xs:anyURI"
							minOccurs="0">
				<xs:annotation>
					<xs:documentation>
						The website URI for the member.
					</xs:documentation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="MLSMembership"
							type="members:MLSMembershipType"
							minOccurs="0">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="AssociationMembership"
							type="members:AssociationMembershipType"
							minOccurs="0"
							maxOccurs="5">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="Office"
							type="offices:Office"
							minOccurs="0">
				<xs:annotation>
					<xs:appinfo>
						<retsid></retsid>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:element	name="ModificationTimestamp"
							type="commons:ModificationTimestamp"
							minOccurs="0">
				<xs:annotation>
					<xs:documentation>
						A timestamp for the most recent modification of this
						record.
					</xs:documentation>
					<xs:appinfo>
						<retsid></retsid>
						<example>2007-01-15T11:23:09Z</example>
					</xs:appinfo>
				</xs:annotation>
			</xs:element>
			<xs:any		namespace="##other"
							minOccurs="0"
							maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute	name="memberId"
							type="xs:string"
							use="required">
			<xs:annotation>
				<xs:documentation>
					The local, well-known identifier for the member.
				</xs:documentation>
				<xs:appinfo>
					<retsid></retsid>
					<example>12345890</example>
				</xs:appinfo>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute	name="systemId"
			use="optional">
			<xs:annotation>
				<xs:documentation>
					An identifier of the system that a member
					'belongs' to.
				</xs:documentation>
				<xs:appinfo>
					<retsid></retsid>
				</xs:appinfo>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="MembersType">
		<xs:sequence>
			<xs:element	name="Member"
							type="members:MemberType"
							minOccurs="0"
							maxOccurs="unbounded">
			<xs:annotation>
				<xs:appinfo>
					<retsid></retsid>
				</xs:appinfo>
			</xs:annotation>
		</xs:element>
		</xs:sequence>
		<xs:attribute	ref="xml:lang"
							use="optional">
			<xs:annotation>
				<xs:documentation>
					The preferred locale/language of this Member.

					The values are formed using the language tags
					defined in RFC 3066, using the lang code and
					country code from ISO 639 and ISO 3166
					http://www.loc.gov/standards/iso639-2/php/code_list.php
					http://www.iso.org/iso/en/prods-services/iso3166ma/index.html

					This form is <!-- <ISOLangCode>[-<ISOCountryCode>] -->
					(ignore the xml comment tags)

					Note that the separator is the dash '-' and not the
					underscore character.
					
					Valid values include en, en-US and other combinations of
					the code sets.

					If omitted, the lang values is assumed to be en.

					Further note that like the xml:lang attribute, this
					element should be treated as case-insensitive. That is,
					the values en-us, en-US, En-us and any other case
					combination should be treated as identical.
				</xs:documentation>
				<xs:appinfo>
					<example>en-US</example>
					<retsid></retsid>
				</xs:appinfo>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute	name="systemId"
							use="optional">
			<xs:annotation>
				<xs:documentation>
					An identifier of the system that a participant
					'belongs' to when the event involves more than
					one system.
				</xs:documentation>
				<xs:appinfo>
					<retsid></retsid>
				</xs:appinfo>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute	name="versionTimestamp"
							type="xs:dateTime"
							use="required"
							fixed="2007-07-26T20:26:00Z">
			<xs:annotation>
				<xs:appinfo>
					<retsid></retsid>
				</xs:appinfo>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<!-- Elements -->
	<xs:element	name="Members" type="members:MembersType"/>
</xs:schema>