<?xml version="1.0" encoding="UTF-8"?>
<xs:schema	xmlns:xs="http://www.w3.org/2001/XMLSchema"
				xmlns:sys="http://rets.org/xsd/RETSSystem/2007-08"
				targetNamespace="http://rets.org/xsd/RETSSystem/2007-08"
				elementFormDefault="qualified"
				attributeFormDefault="unqualified">

	<!--
		Tab stops
		:set ts=3

		File History
		======================
		$Header: Vocabulary.xsd, 15, 7/25/2007 12:09:40 AM, Paul Stusiak$
		
		$Log:
		 15   055_RETS_Standard 1.14        7/25/2007 12:09:40 AM  Paul Stusiak
		      move to common container of retssystem
		 14   055_RETS_Standard 1.13        7/24/2007 10:47:26 PM  Paul Stusiak
		      rename DataTypeList to VocabularyDataTypeEnum
		 13   055_RETS_Standard 1.12        5/2/2007 1:35:58 PM    Paul Stusiak
		      change namespace reference, update version time stamp
		 12   055_RETS_Standard 1.11        4/3/2007 1:43:04 AM    Paul Stusiak
		      change namespace to remote location (www.ftc2.com) for testing
		 11   055_RETS_Standard 1.10        4/2/2007 11:26:59 AM   Paul Stusiak
		      change namespace to match responding server and to use the URI
		      versioning suggested by both HP and XFront
		 10   055_RETS_Standard 1.9         3/30/2007 6:19:07 PM   Paul Stusiak
		      Update of the versionTimestamp and the namespace (namespace to
		      200704). Change formating to a standard format
		 9    055_RETS_Standard 1.8         3/7/2007 11:06:03 PM   Paul Stusiak
		      Added standard document header.
		 8    055_RETS_Standard 1.7         12/2/2006 1:12:46 AM   Paul Stusiak
		      various mechanical fixes tho the schema and a re-direct from
		      retsserver.realtors.org to www.ftc2.com
		 7    055_RETS_Standard 1.6         7/31/2006 9:26:03 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
		 6    055_RETS_Standard 1.5         7/11/2006 9:04:56 PM   Jeff Brush
		      Updated examples and Vocabulary.xsd to support addition of
		      isSearchable and isSelectable Vocabulary attributes, and moving the
		      SearchRequest vocabulary attribute to the SearchRequest element from
		      the Query and Select elements.
		 5    055_RETS_Standard 1.4         5/13/2006 8:52:40 PM   Jeff Brush
		      Updated example documents and schemas to reflect RC3
		 4    055_RETS_Standard 1.3         5/9/2006 7:47:21 AM    Jeff Brush
		      changed all Field-related element's types to string
		 3    055_RETS_Standard 1.2         4/7/2006 7:36:41 PM    Jeff Brush
		      renamed version attribute to versionTimestamp for schema versioning
		 2    055_RETS_Standard 1.1         4/7/2006 1:37:45 PM    Jeff Brush
		      modified to have schema versioning as datetime, add year month to
		      namespaces, minor corrections
		 1    055_RETS_Standard 1.0         4/4/2006 8:06:10 AM    Jeff Brush
		      Updated schemas.  All MLS schemas have extensibility points.  New
		      ObjectReferenceList.xsd
		$
		======================
	-->

	<xs:annotation>
		<xs:documentation>
			Elements related to the RETS2 Vocabulary.
		</xs:documentation>
	</xs:annotation>

	<!-- Elements -->
	<xs:simpleType name="VocabularyDataTypeEnum">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Boolean"/>
			<xs:enumeration value="Character"/>
			<xs:enumeration value="Date"/>
			<xs:enumeration value="DateTime"/>
			<xs:enumeration value="Integer"/>
			<xs:enumeration value="Long"/>
			<xs:enumeration value="Decimal"/>
			<xs:enumeration value="Lookup"/>
			<xs:enumeration value="LookupMult"/>
			<xs:enumeration value="Time"/>
			<xs:enumeration value="Decimal"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="Vocabulary">
		<xs:sequence>
			<xs:element name="Fields">
				<xs:complexType>
					<xs:sequence>
						<xs:element	name="Field"
										minOccurs="0"
										maxOccurs="unbounded">
							<xs:complexType>
								<xs:sequence>
									<xs:element	name="MetaEntryId"
													type="xs:string"
													minOccurs="0"/>
									<xs:element	name="Name"
													type="xs:string"/>
									<xs:element	name="DataType"
													type="sys:VocabularyDataTypeEnum"/>
									<xs:element	name="LookupName"
													type="xs:string"
													minOccurs="0"/>
								</xs:sequence>
								<xs:attribute	name="isSearchable"
													type="xs:boolean"
													use="optional"
													default="true"/>
								<xs:attribute	name="isSelectable"
													type="xs:boolean"
													use="optional"
													default="true"/>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
					<xs:attribute	name="version"
										type="xs:anyURI"
										use="required"/>
					<xs:attribute	name="timestamp"
										type="xs:dateTime"
										use="required"/>
				</xs:complexType>
			</xs:element>
			<xs:element	name="RequiredGroups"
							minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element	name="RequiredGroup"
										maxOccurs="unbounded">
							<xs:complexType>
								<xs:sequence>
									<xs:element	name="Id"
													type="xs:string"/>
									<xs:element	name="DisplayName"
													type="xs:string"/>
									<xs:element	name="FieldList"
													type="xs:string"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
					<xs:attribute	name="version"
										type="xs:anyURI"
										use="required"/>
					<xs:attribute	name="timestamp"
										type="xs:dateTime"
										use="required"/>
				</xs:complexType>
			</xs:element>
			<xs:element	name="DisplayGroups"
							minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element	name="DisplayGroup"
										maxOccurs="unbounded">
							<xs:complexType>
								<xs:sequence>
									<xs:element	name="Id"
													type="xs:string"/>
									<xs:element	name="DisplayName"
													type="xs:string"/>
									<xs:element	name="FieldList"
													type="xs:string"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
					<xs:attribute	name="version"
										type="xs:anyURI"
										use="required"/>
					<xs:attribute	name="timestamp"
										type="xs:dateTime"
										use="required"/>
				</xs:complexType>
			</xs:element>
			<xs:any	namespace="##other"
						minOccurs="0"
						maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute	name="name"
							type="xs:NMTOKEN"
							use="required"/>
		<xs:attribute	name="keyField"
							type="xs:string"
							use="required"/>
		<xs:attribute	name="versionTimestamp"
							type="xs:dateTime"
							use="required"
							fixed="2007-07-25T06:18:00Z"/>
	</xs:complexType>

	<!-- Elements -->
	<xs:element	name="Vocabulary"
					type="sys:Vocabulary"/>
</xs:schema>