<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:idx="http://rets.org/xsd/IDX/2007-08" targetNamespace="http://rets.org/xsd/IDX/2007-08" elementFormDefault="qualified" attributeFormDefault="unqualified">
<!--
(C)2007 National Association of REALTORS(R). All Rights Reserved
Tab stops
:set ts=3
File History
======================
$Header: IDX.xsd, 20, 2/21/08 2:32:26 PM EST, Gina Accawi$
$Log:
20 055_RETS_Standard 1.19 2/21/08 2:32:26 PM EST Gina Accawi
Significant changes to update the Properties portion of the IDX
payload to more accurately reflect the current Properties schema.
Added annotation documentation to include the XPath to the Properties
element each IDX element maps to in the Properties schema
19 055_RETS_Standard 1.18 2/6/08 10:26:19 AM EST Gina Accawi
Significant changes to update the Listings portion of the IDX payload
to more accurately reflect the current Listings schema. Added
annotation documentation to include the XPath to the Listing element
each IDX element maps to in the Listing schema.
18 055_RETS_Standard 1.17 1/24/08 2:30:33 PM EST Paul Stusiak
correct copyright notice language
17 055_RETS_Standard 1.16 10/8/07 4:22:12 PM EDT Paul Stusiak
Update version timestamp
16 055_RETS_Standard 1.15 7/9/07 3:37:04 PM EDT Paul Stusiak
Update versionTimestamp to 2007-07-09T19:21:00Z
15 055_RETS_Standard 1.14 7/5/07 8:58:14 PM EDT Paul Stusiak
use pattern of xs:nonNegativeInteger for elements or types with a name
<Property.Total> and a data type of decimal or integer
14 055_RETS_Standard 1.13 6/26/07 3:40:29 PM EDT Gina Accawi
Rename Agent to Member. This affects namespaces, element names, type
references, and attribute names.
13 055_RETS_Standard 1.12 6/26/07 2:59:37 PM EDT Gina Accawi
Rename items that are TotalBlah to BlahTotal for consistency
throughout.
12 055_RETS_Standard 1.11 5/2/07 4:12:35 PM EDT Paul Stusiak
change namespace reference, clean up unused imports, continue relaxing
the type information, update version time stamp
11 055_RETS_Standard 1.10 4/3/07 7:59:29 PM EDT Paul Stusiak
use url resolution for include, import to test schema validation
10 055_RETS_Standard 1.9 4/3/07 4:43:56 AM EDT Paul Stusiak
change namespace to remote location (www.ftc2.com) for testing
9 055_RETS_Standard 1.8 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
8 055_RETS_Standard 1.7 3/30/07 9:20:29 PM EDT Paul Stusiak
Update of the versionTimestamp and the namespace (namespace to
200704). Change formating to a standard format
7 055_RETS_Standard 1.6 3/28/07 5:09:32 PM EDT Gina Accawi
Split shallow and deep IDX into two separate files. Add root level IDX
element.
6 055_RETS_Standard 1.5 3/8/07 3:22:00 PM EST Paul Stusiak
Change Property -> Properties, Listing -> Listings namespace
reference.
5 055_RETS_Standard 1.4 3/8/07 1:47:33 AM EST Paul Stusiak
Clean up the project information for the purposes of document
generation.
4 055_RETS_Standard 1.3 3/6/07 3:25:46 PM EST Paul Stusiak
change ID to Id across files, fixed import statement, change YearBuilt
type to SecureYear.
3 055_RETS_Standard 1.2 2/28/07 3:52:12 AM EST Paul Stusiak
add standard header and refactoring RETSCommons changes
2 055_RETS_Standard 1.1 2/22/07 6:34:47 PM EST 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.
1 055_RETS_Standard 1.0 12/20/06 3:32:46 PM ESTJeff Brush
$
======================
-->
<xs:annotation>
<xs:documentation>
<xs:documentation>
Elements related to listing IDX documents.
</xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType name="IDXType">
<xs:sequence>
<xs:element name="ListingKey" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingKey</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ListingId" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingId</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MLSOperatorId" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/MLSOperator/MLSOperatorId</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MLSOperatorName" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/MLSOperator/MLSOperatorName</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ListingCategory" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingCategory</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ListingRetsStatus" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingStatus/RetsStatus</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="isAcceptingOffers" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingStatus/isAcceptingOffers</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ListingEntryDateTime" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingDates/ListingEntryDateTime</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ListingContractDateTime" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingDates/ListingContractDateTime</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ClosingDateTime" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingDates/ClosingDateTime</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="OffMarketDateTime" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingDates/OffMarketDateTime</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CancelledDateTime" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingDates/CancelledDateTime</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="WithdrawnDateTime" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingDates/WithdrawnDateTime</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PendingDateTime" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingDates/PendingDateTime</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="StatusChangeDateTime" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingDates/StatusChangeDateTime</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DaysOnMarket" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingDates/DaysOnMarket</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CumulativeDaysOnMarket" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingDates/CumulativeDaysOnMarket</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ListPrice" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingPricing/ListPrice</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="OriginalListPrice" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingPricing/OriginalListPrice</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ListPriceHigh" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingPricing/ListPriceHigh</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ListPriceLow" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingPricing/ListPriceLow</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ClosePrice" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingPricing/ClosePrice</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PendingPrice" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingPricing/PendingPrice</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ListingAgreement" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingAgreement</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MLSArea" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/MLSArea/MajorArea</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PermitInternet" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/MarketingInformation/PermitInternet</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PermitAddressOnInternet" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/MarketingInformation/PermitAddressOnInternet</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PermitPictureOnInternet" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/MarketingInformation/PermitPictureOnInternet</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PermitSignOnProperty" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/MarketingInformation/PermitSignOnProperty</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="HasSignOnProperty" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/MarketingInformation/HasSignOnProperty</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PublicRemarks" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/Remarks/PublicRemarks</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CopyrightNotice" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/CopyrightNotice</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ListingOfficeKey" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingOffices/ListingOffice/OfficeKey</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ListingOfficeId" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingOffices/ListingOffice/OfficeId</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ListingOfficeName" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingOffices/ListingOffice/OfficeName</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ListingOfficePhone" type="xs:string">
<xs:annotation>
<xs:documentation>Our Phone is under ContactMethods and will have to be constructed from the parts.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ListingMemberKey" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingParticipants/Participant[Role='Listing']/Member/MemberKey</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ListingMemberId" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingParticipants/Participant[Role='Listing']/Member/@memberId</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ListingMemberFullName" type="xs:string">
<xs:annotation>
<xs:documentation>This has to be constructed as well from the Person name items</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ListingMemberPhone" type="xs:string">
<xs:annotation>
<xs:documentation>This has to be constructed as well from the ContactMethods Phone items</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ListingMemberEmail" type="xs:string">
<xs:annotation>
<xs:documentation>Listing/ListingParticipants/Participant[Role='Listing']/Member/Person/ContactMethods/Email/EmailAddress</xs:documentation>
</xs:annotation>
</xs:element>
<!-- Property elements begin here. -->
<xs:element name="PropertyKey" type="xs:string">
<xs:annotation>
<xs:documentation>Property/PropertyKey</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PropertyType" type="xs:string">
<xs:annotation>
<xs:documentation>Property/PropertyType</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PropertySubType" type="xs:string">
<xs:annotation>
<xs:documentation>Property/PropertySubType</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="StreetNumber" type="xs:string">
<xs:annotation>
<xs:documentation>Property/Address/StreetNumber</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="StreetDirPrefix" type="xs:string">
<xs:annotation>
<xs:documentation>Property/Address/StreetDirPrefix</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="StreetName" type="xs:string">
<xs:annotation>
<xs:documentation>Property/Address/StreetName</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="StreetSuffix" type="xs:string">
<xs:annotation>
<xs:documentation>Property/Address/StreetSuffix</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="StreetAdditionalInfo" type="xs:string">
<xs:annotation>
<xs:documentation>Property/Address/StreetAdditionalInfo</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BoxNumber" type="xs:string">
<xs:annotation>
<xs:documentation>Property/Address/BoxNumber</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="UnitNumber" type="xs:string">
<xs:annotation>
<xs:documentation>Property/Address/UnitNumber</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FullStreetAddress" type="xs:string">
<xs:annotation>
<xs:documentation>Property/Address/FullStreetAddress</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="City" type="xs:string">
<xs:annotation>
<xs:documentation>Property/Address/City</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="StateOrProvince" type="xs:string">
<xs:annotation>
<xs:documentation>Property/Address/StateOrProvince</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PostalCode" type="xs:string">
<xs:annotation>
<xs:documentation>Property/Address/PostalCode</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Country" type="xs:string">
<xs:annotation>
<xs:documentation>Property/Address/Country</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="County" type="xs:string">
<xs:annotation>
<xs:documentation>Property/County</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AreaTotal" type="xs:string">
<xs:annotation>
<xs:documentation>Property/AreaTotal</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PhotoCount" type="xs:integer">
<xs:annotation>
<xs:documentation>count(Listing/MediaItems/MediaItem)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PhotoTimestamp" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Could not find modification timestamp for photos...</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BedsTotal" type="xs:string">
<xs:annotation>
<xs:documentation>Property/PublicRecord/Characteristics/BedsTotal</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BathsTotal" type="xs:string">
<xs:annotation>
<xs:documentation>Property/PublicRecord/Characteristics/BathsTotal</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LandArea" type="xs:string">
<xs:annotation>
<xs:documentation>Property/PublicRecord/Characteristics/LotArea</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="YearBuilt" type="xs:string">
<xs:annotation>
<xs:documentation>Property/PublicRecord/Characteristics/YearBuilt</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Style" type="xs:string">
<xs:annotation>
<xs:documentation>Property/PublicRecord/Characteristics/Style</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Subdivision" type="xs:string">
<xs:annotation>
<xs:documentation>Property/Community/Subdivision</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SchoolDistrict" type="xs:string">
<xs:annotation>
<xs:documentation>Property/PublicRecord/Location/SchoolDistrict</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ElementarySchool" type="xs:string">
<xs:annotation>
<xs:documentation>Property/Community/Schools/School[SchoolCategory = 'Primary' or SchoolCategory = 'Elementary']/Name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MiddleSchool" type="xs:string">
<xs:annotation>
<xs:documentation>Property/Community/Schools/School[SchoolCategory = 'High' or SchoolCategory = 'Secondary']/Name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="HighSchool" type="xs:string">
<xs:annotation>
<xs:documentation>Property/Community/Schools/School[SchoolCategory = 'High' or SchoolCategory = 'Secondary']/Name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ParkingTotal" type="xs:string">
<xs:annotation>
<xs:documentation>Property/Lot/Parking/PropertyParking/ParkingTotal</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ShowingAppointmentPhone" type="xs:string">
<xs:annotation>
<xs:documentation>concat(Listing/Showing/ShowingInformation/AppointmentPhoneNumber[phone-preference-order = 1]/area-code, Listing/Showing/ShowingInformation/AppointmentPhoneNumber[phone-preference-order = 1]/local-number)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ShowingContact" type="xs:string">
<xs:annotation>
<xs:documentation>concat(Listing/Showing/ShowingInformation/Contact/Person/FirstName, Listing/Showing/ShowingInformation/Contact/Person/LastName)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="versionTimestamp" type="xs:dateTime" use="required" fixed="2007-10-08T16:27:23Z"/>
</xs:complexType>
<!-- Element -->
<xs:element name="IDX" type="idx:IDXType"/>
</xs:schema>
|