Schema Name: DataDictionary.xsd
Target Namespace: http://rets.org/xsd/RETSSystem/2007-08
Documentation:
Elements related to the data dictionary for a system.
Collapse XSD Schema Code:

<xs:schema	xmlns:xs="http://www.w3.org/2001/XMLSchema"
				xmlns:commons="http://rets.org/xsd/RETSCommons/2007-08"
				xmlns:sys="http://rets.org/xsd/RETSSystem/2007-08"
				targetNamespace="http://rets.org/xsd/RETSSystem/2007-08"
				elementFormDefault="qualified"
				attributeFormDefault="unqualified">

	<!--
		(C)2007 National Association of REALTORS(R). All Rights Reserved

		Tab stops
		:set ts=3

		File History
		======================
		$Header: DataDictionary.xsd, 20, 1/24/08 2:30:32 PM EST, Paul Stusiak$
		
		$Log:
		 20   055_RETS_Standard 1.19        1/24/08 2:30:32 PM EST Paul Stusiak
		      correct copyright notice language
		 19   055_RETS_Standard 1.18        10/8/07 4:22:12 PM EDT Paul Stusiak
		      Update version timestamp
		 18   055_RETS_Standard 1.17        7/25/07 3:09:39 AM EDT Paul Stusiak
		      move to common container of retssystem
		 17   055_RETS_Standard 1.16        5/2/07 4:11:01 PM EDT  Paul Stusiak
		      change namespace reference, clean up some comments, update version
		      time stamp
		 16   055_RETS_Standard 1.15        4/3/07 7:59:28 PM EDT  Paul Stusiak
		      use url resolution for include, import to test schema validation
		 15   055_RETS_Standard 1.14        4/3/07 4:43:55 AM EDT  Paul Stusiak
		      change namespace to remote location (www.ftc2.com) for testing
		 14   055_RETS_Standard 1.13        4/2/07 2:26:54 PM EDT  Paul Stusiak
		      change namespace to match responding server and to use the URI
		      versioning suggested by both HP and XFront
		 13   055_RETS_Standard 1.12        3/30/07 9:20:20 PM EDT Paul Stusiak
		      Update of the versionTimestamp and the namespace (namespace to
		      200704). Change formating to a standard format
		 12   055_RETS_Standard 1.11        3/27/07 6:01:30 PM EDT Gina Accawi
		      Renamed timestamp (on Fields element) attribute to
		      modificationTimestamp. Added modificationTimestamp to Field element.
		      Added documentation for version and timestamp attributes.
		 11   055_RETS_Standard 1.10        3/27/07 3:56:10 PM EDT Gina Accawi
		      Change Searchable to IsSearchable. Add documentation indicating
		      assumption of true when element of type boolean is absent. Made short
		      and long name both required elements.
		 10   055_RETS_Standard 1.9         3/26/07 9:43:42 PM EDT Paul Stusiak
		      additional annotations added and some minor corrections
		 9    055_RETS_Standard 1.8         2/22/07 6:54:36 PM EST Gina Accawi
		      Added namespace prefix for XMLSchema as xs: to be consistent with the
		      naming conventions from all the RETS schemas.
		 8    055_RETS_Standard 1.7         12/2/06 4:12:44 AM EST 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/06 12:26:01 PM EDTJeff 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         5/14/06 2:07:42 AM EDT Jeff Brush
		      updated to include new elements of charset and locale and expanded
		      datatypelist
		 5    055_RETS_Standard 1.4         5/13/06 11:52:40 PM EDTJeff Brush
		      Updated example documents and schemas to reflect RC3
		 4    055_RETS_Standard 1.3         5/9/06 10:47:20 AM EDT Jeff Brush
		      changed all Field-related element's types to string
		 3    055_RETS_Standard 1.2         4/7/06 10:36:38 PM EDT Jeff Brush
		      renamed version attribute to versionTimestamp for schema versioning
		 2    055_RETS_Standard 1.1         4/7/06 4:37:26 PM EDT  Jeff Brush
		      modified to have schema versioning as datetime, add year month to
		      namespaces, minor corrections
		 1    055_RETS_Standard 1.0         4/4/06 11:06:06 AM EDT Jeff Brush
		      Updated schemas.  All MLS schemas have extensibility points.  New
		      ObjectReferenceList.xsd
		$
		======================
	-->
	
	<xs:annotation>
		<xs:documentation>
			Elements related to the data dictionary for a system.
		</xs:documentation>
	</xs:annotation>

	<xs:import	namespace="http://rets.org/xsd/RETSCommons/2007-08"
					schemaLocation="../../../xsd/RETSCommons/2007-08/RETSCommons.xsd"/>

	<!-- Types -->
	<xs:simpleType name="DataTypeList">
		<xs:restriction base="xs:string">
			<xs:enumeration value="String" />
			<xs:enumeration value="Base64Binary" />
			<xs:enumeration value="Boolean" />
			<xs:enumeration value="Currency" />
			<xs:enumeration value="Date" />
			<xs:enumeration value="DateTime" />
			<xs:enumeration value="HexBinary" />
			<xs:enumeration value="Time" />
			<xs:enumeration value="Number" />
			<xs:enumeration value="UnsignedNumber" />
			<xs:enumeration value="Lookup" />
			<xs:enumeration value="LookupMulti" />
			<xs:enumeration value="Decimal" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="Alignment">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Left"/>
			<xs:enumeration value="Center"/>
			<xs:enumeration value="Right"/>
			<xs:enumeration value="Justify"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="DataDictionary">
		<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" >
										<xs:annotation>
											<xs:documentation>
												A value that never changes as long
												as the semantic definition of this
												field remains unchanged. In
												particular, it should be managed
												to allow the client to detect
												changes to the name.
											</xs:documentation>
											<xs:appinfo>
												uid789987979
											</xs:appinfo>
										</xs:annotation>
									</xs:element>
									<xs:element	name="LongName"
													type="xs:string"
													minOccurs="1">
										<xs:annotation>
											<xs:documentation>
												The name of this field as it is
												known to the user. This is a
												localized, human-readable string.
												Use of this element is
												implementation defined; it is
												expected that clients will use
												this value as the title for this
												datum when it appears on a report.
											</xs:documentation>
											<xs:appinfo>
												Listing Price
											</xs:appinfo>
										</xs:annotation>
									</xs:element>
									<xs:element	name="ShortName"
													type="xs:string"
													minOccurs="1">
										<xs:annotation>
											<xs:documentation>
												An abbreviated field name that is
												also localized and human-readable.
												Use of this field is
												implementation defined. It is
												expected that clients will use
												this field in human-interface
												elements such as field labels and
												pick lists.
											</xs:documentation>
											<xs:appinfo>
												ListPrice
											</xs:appinfo>
										</xs:annotation>
									</xs:element>
									<xs:element	name="Description"
													type="xs:string"
													minOccurs="0" />
									<xs:element	name="MaximumLength"
													type="xs:long"
													minOccurs="0">
										<xs:annotation>
											<xs:documentation>
												The maximum length of the field,
												in characters. For numeric fields,
												this is the display length rather
												than the storage length and
												includes all formatting such as
												the sign, decimal point, commas or
												other information. Numeric fields
												include Currency, Number,
												UnsignedNumber and Decimal.
											</xs:documentation>
											<xs:appinfo>
												24
											</xs:appinfo>
										</xs:annotation>
									</xs:element>
									<xs:element	name="DataType"
													type="sys:DataTypeList">
										<xs:annotation>
											<xs:documentation>
												A value defined in the
												DataTypeList above
											</xs:documentation>
											<xs:appinfo>
												Decimal
											</xs:appinfo>
										</xs:annotation>
									</xs:element>
									<xs:element	name="Precision"
													type="xs:decimal"
													minOccurs="0">
										<xs:annotation>
											<xs:documentation>
												The number of digits to the right
												of the decimal mark when
												formatted.
											</xs:documentation>
											<xs:appinfo>
												3
											</xs:appinfo>
										</xs:annotation>
									</xs:element>
									<xs:element	name="Alignment"
													type="sys:Alignment"
													minOccurs="0">
										<xs:annotation>
											<xs:documentation>
												A display hint that MAY be used to
												provide text justification in
												applications.
											</xs:documentation>
											<xs:appinfo>
												Left
											</xs:appinfo>
										</xs:annotation>
									</xs:element>
									<xs:element	name="UseSeparator"
													type="xs:boolean"
													minOccurs="0">
										<xs:annotation>
											<xs:documentation>
												A boolean value that indicates
												that the numeric value MAY be
												displayed with a thousands
												separator.
											</xs:documentation>
											<xs:appinfo>
												true
											</xs:appinfo>
										</xs:annotation>
									</xs:element>
									<xs:element	name="Units"
													type="xs:boolean"
													minOccurs="0">
										<xs:annotation>
											<!-- +++ PS this appears to be
											defined wrong. -->
											<xs:documentation>
												+++
											</xs:documentation>
											<xs:appinfo>
											</xs:appinfo>
										</xs:annotation>
									</xs:element>
									<xs:element	name="IsSearchable"
													type="xs:boolean"
													minOccurs="0">
										<xs:annotation>
											<xs:documentation>
												A boolean indicator that this
												field is searchable. If absent,
												applications should assume true.
											</xs:documentation>
											<xs:appinfo>
												true
											</xs:appinfo>
										</xs:annotation>
									</xs:element>
									<xs:element	name="IsUnique"
													type="xs:boolean"
													minOccurs="0">
										<xs:annotation>
											<xs:documentation>
												A boolean indicator that indicates
												that this field is a unique
												identifier for the record in which
												it appears.	If absent,
												applications should assume true.
											</xs:documentation>
											<xs:appinfo>
												false
											</xs:appinfo>
										</xs:annotation>
									</xs:element>
									<xs:element	name="LookupName"
													type="xs:string"
													minOccurs="0">
										<xs:annotation>
											<xs:documentation>
												The name of the METADATA-LOOKUP
												containing the lookup data for
												this field. This element is
												required when the data
												type is either "Lookup" or
												"LookupMulti".
											</xs:documentation>
											<xs:appinfo>
											</xs:appinfo>
										</xs:annotation>
									</xs:element>
									<xs:element	name="Charset"
													type="xs:string"
													minOccurs="0">
										<xs:annotation>
											<xs:documentation>
												The native character set for
												representing the datum.
												See the IANA Character set
												registry.

												Most systems will respond with
												either
												US-ASCII
												or
												ANSI_X3.4-1986
											</xs:documentation>
											<xs:appinfo>
												US-ASCII
											</xs:appinfo>
										</xs:annotation>
									</xs:element>
									<xs:element	name="Locale"
													type="xs:string"
													minOccurs="0">
										<xs:annotation>
											<xs:documentation>
												The locale that the datum is
												represented. This may result in
												different display formats for
												numbers, decimal separators,
												thousands separators, date
												formating and time formating.

												Most systems will respond with
												en-US
											</xs:documentation>
											<xs:appinfo>
												en-US
											</xs:appinfo>
										</xs:annotation>
									</xs:element>
									<xs:any		namespace="##other"
													minOccurs="0"
													maxOccurs="unbounded" />
								</xs:sequence>
								<xs:attribute	name="modificationTimestamp"
													type="xs:dateTime"
													use="required">
									</xs:attribute>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
					<xs:attribute	ref="commons:isgSecurityClass"
										use="required">
						<xs:annotation>
							<xs:documentation>
								The security class of this field, from the NAR
								information security guidelines security
								class, defined in Primitives.xsd
							</xs:documentation>
							<xs:appinfo>
								Public
							</xs:appinfo>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute	name="version"
										type="xs:anyURI"
										use="required">
						<xs:annotation>
							<xs:documentation>
								The URI changes when the data dictionary is
								not backwards compatible to the previous
								version. 
							</xs:documentation>
							<xs:appinfo>
								http://rets.org/xsd/DataDictionary/2007-08
							</xs:appinfo>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute	name="modificationTimestamp"
										type="xs:dateTime"
										use="required">
						<xs:annotation>
							<xs:documentation>
								The modificationTimestamp changes anytime the
								data dictionary has been modified. 
								Must match the modificationTimestamp for the
								most recently changed Field.
							</xs:documentation>
							<xs:appinfo>
								2007-04-01T03:00:23Z
							</xs:appinfo>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute	name="versionTimestamp"
							type="xs:dateTime"
							use="required"
							fixed="2007-07-25T06:19:00Z" />
	</xs:complexType>

	<!-- Element -->
	<xs:element	name="DataDictionary"
					type="sys:DataDictionary" />
</xs:schema>
Collapse ComplexTypes:
Collapse Elements:
Collapse SimpleTypes: