<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by Bruce Toback (OPT, Inc.) -->
<!--   Real Estate Transaction Specification (RETS) DTD  -->
<!--   Real Estate Transaction Markup Language (RETML)  -->
<!--
	submitted by:
	Leendert Bijnagte
	Fidelity National Information Solutions, Inc.
	Version 1.x  11/20/2001
	
	Revision 1.7: Leendert Bijnagte, Michael Del Gaudio
	                      Edited by Bruce Toback


    See http://www.rets.org for more information.
    
    This DTD is identified by PUBLIC and SYSTEM identifiers:
    
    PUBLIC "-//RETS//DTD RETS Data Content 1.7//EN"
    SYSTEM "http://www.rets.org/dtd/2004/10/REData-20041001.dtd"

    ==========================================================================
    This material is provided AS-IS. The authors, copyright holders and
    standards-body contributors to this specification  (hereinafter
    "CONTRIBUTORS") make no representation or warranty, express or implied,
    including but not limited to warranties of merchantability, fitness for
    any purpose whatsoever, title or non-infringement; (ii) that the
    contents of this specification and its associated codes, documentation
    and ancillary materials are free from error, nor that these materials 
    will not infringe any third-party patents, copyrights, trademarks or
    other rights. In no event will CONTRIBUTORS be liable to any party for
    any direct, indirect, special or consequential damages for any use of
    this material, including without limitation lost profits, business
    interruption, loss of programs or other data on any information handling
    system, even if any of the CONTRIBUTORS, individually or otherwise, have
    been advised of the possibility of such damages.
    ==========================================================================
 -->
<!-- BASIC ELEMENTS -->
<!--DATE/TIME ELEMENTS -->
<!--see ISO 8601 for acceptable values for Format -->
<!ELEMENT YearBuilt (#PCDATA)>
<!ATTLIST YearBuilt
	Type CDATA #FIXED "DATE"
	Format CDATA #FIXED "YYYY"
	NewConstruction (Yes | No) "No"
>
<!ELEMENT CloseDate (#PCDATA)>
<!ATTLIST CloseDate
	Type CDATA #FIXED "DATE"
	Format CDATA #FIXED "YYYY-MM-DD"
>
<!ELEMENT ExpirationDate (#PCDATA)>
<!ATTLIST ExpirationDate
	Type CDATA #FIXED "DATE"
	Format CDATA #FIXED "YYYY-MM-DD"
>
<!ELEMENT ListDate (#PCDATA)>
<!ATTLIST ListDate
	Type CDATA #FIXED "DATE"
	Format CDATA #FIXED "YYYY-MM-DD"
>
<!ELEMENT ContractDate (#PCDATA)>
<!ATTLIST ContractDate
	Type CDATA #FIXED "DATE"
	Format CDATA #FIXED "YYYY-MM-DD"
>
<!ELEMENT StatusChangeDate (#PCDATA)>
<!ATTLIST StatusChangeDate
	Type CDATA #FIXED "DATE"
	Format CDATA #FIXED "YYYY-MM-DD"
>
<!ELEMENT ModificationTimestamp (#PCDATA)>
<!ATTLIST ModificationTimestamp
	Type CDATA #FIXED "DATE-TIME"
	Format CDATA #FIXED "YYYY-MM-DDThh:mm:ss[.sss]"
>
<!-- MONETARY ELEMENTS -->
<!--see ISO 4217 for acceptable values for CurrencyCode -->
<!ELEMENT Age (#PCDATA)>
<!ELEMENT AssessedValuation (#PCDATA)>
<!ATTLIST AssessedValuation
	Type (INTEGER | FLOAT) "INTEGER"
	CurrencyCode CDATA "USD"
>
<!ELEMENT AssociationFee (#PCDATA)>
<!ATTLIST AssociationFee
	Type (INTEGER | FLOAT) "INTEGER"
	CurrencyCode CDATA "USD"
	Period (Day | Week | Month | Year | Fixed) "Month"
>
<!ELEMENT ClosePrice (#PCDATA)>
<!ATTLIST ClosePrice
	Type (INTEGER | FLOAT) "INTEGER"
	CurrencyCode CDATA "USD"
>
<!ELEMENT Expenses (#PCDATA)>
<!ATTLIST Expenses
	Type (INTEGER | FLOAT) "INTEGER"
	CurrencyCode CDATA "USD"
	Period (Day | Week | Month | Year | Fixed) "Year"
>
<!ELEMENT GrossIncome (#PCDATA)>
<!ATTLIST GrossIncome
	Type (INTEGER | FLOAT) "INTEGER"
	CurrencyCode CDATA "USD"
	Period (Day | Week | Month | Year | Fixed) "Year"
>
<!ELEMENT ListPrice (#PCDATA)>
<!ATTLIST ListPrice
	Type (INTEGER | FLOAT) "INTEGER"
	CurrencyCode CDATA "USD"
>
<!ELEMENT ListPriceHigh (#PCDATA)>
<!ATTLIST ListPriceHigh
	Type (INTEGER | FLOAT) "INTEGER"
	CurrencyCode CDATA "USD"
>
<!ELEMENT ListPriceLow (#PCDATA)>
<!ATTLIST ListPriceLow
	Type (INTEGER | FLOAT) "INTEGER"
	CurrencyCode CDATA "USD"
>
<!ELEMENT NetIncome (#PCDATA)>
<!ATTLIST NetIncome
	Type (INTEGER | FLOAT) "INTEGER"
	CurrencyCode CDATA "USD"
>
<!ELEMENT OriginalListPrice (#PCDATA)>
<!ATTLIST OriginalListPrice
	Type (INTEGER | FLOAT) "INTEGER"
	CurrencyCode CDATA "USD"
>
<!ELEMENT RentIncome (#PCDATA)>
<!ATTLIST RentIncome
	Type (INTEGER | FLOAT) "INTEGER"
	CurrencyCode CDATA "USD"
	Period (Day | Week | Month | Year | Fixed) "Year"
>
<!-- NUMERIC ELEMENTS -->
<!ELEMENT BathsTotal (#PCDATA)>
<!ATTLIST BathsTotal
	Operator CDATA #IMPLIED
	Type CDATA #FIXED "FLOAT"
>
<!ELEMENT BathsFull (#PCDATA)>
<!ATTLIST BathsFull
	Type CDATA #FIXED "INTEGER"
>
<!ELEMENT BathsHalf (#PCDATA)>
<!ATTLIST BathsHalf
	Type CDATA #FIXED "INTEGER"
>
<!ELEMENT BathsThreeQuarter (#PCDATA)>
<!ATTLIST BathsThreeQuarter
	Type CDATA #FIXED "INTEGER"
>
<!ELEMENT Bedrooms (#PCDATA)>
<!ATTLIST Bedrooms
	Operator CDATA #IMPLIED
	Type CDATA #FIXED "INTEGER"
>
<!ELEMENT CarPort (#PCDATA)>
<!ATTLIST CarPort
	Type (INTEGER | FLOAT) "INTEGER"
	Operator CDATA #IMPLIED
>
<!ELEMENT Commission (#PCDATA)>
<!ATTLIST Commission
	Type CDATA #FIXED "FLOAT"
	Value (Percent | Currency) "Percent"
	CurrencyCode CDATA "USD"
>
<!ELEMENT CoveredParking (#PCDATA)>
<!ATTLIST CoveredParking
	Type CDATA #FIXED "INTEGER"
	Operator CDATA #IMPLIED
>
<!ELEMENT DaysOnMarket (#PCDATA)>
<!ATTLIST DaysOnMarket
	Type CDATA #FIXED "INTEGER"
>
<!ELEMENT Fireplaces (#PCDATA)>
<!ATTLIST Fireplaces
	Operator CDATA #IMPLIED
	Type CDATA #FIXED "INTEGER"
>
<!ELEMENT Garage (#PCDATA)>
<!ATTLIST Garage
	Type (INTEGER | FLOAT) "INTEGER"
	Style (Attached | Detached) "Attached"
	Operator CDATA #IMPLIED
>
<!ELEMENT Latitude (#PCDATA)>
<!ATTLIST Latitude
	Type CDATA #FIXED "FLOAT"
>
<!ELEMENT Length (#PCDATA)>
<!ATTLIST Length
	Type (INTEGER | FLOAT) "INTEGER"
	Units (Feet | Meters | Unspecified) "Unspecified"
>
<!ELEMENT Longitude (#PCDATA)>
<!ATTLIST Longitude
	Type CDATA #FIXED "FLOAT"
>
<!ELEMENT OpenParking (#PCDATA)>
<!ATTLIST OpenParking
	Type CDATA #FIXED "INTEGER"
	Operator CDATA #IMPLIED
>
<!ELEMENT Stories (#PCDATA)>
<!ATTLIST Stories
	Operator CDATA #IMPLIED
	Type (INTEGER | FLOAT) "INTEGER"
>
<!ELEMENT TotalRooms (#PCDATA)>
<!ATTLIST TotalRooms
	Type CDATA #FIXED "INTEGER"
>
<!ELEMENT TotalUnits (#PCDATA)>
<!ATTLIST TotalUnits
	Type CDATA #FIXED "INTEGER"
>
<!ELEMENT VacancyFactor (#PCDATA)>
<!ATTLIST VacancyFactor
	Type CDATA #FIXED "FLOAT"
	Value (Percent | Decimal) "Percent"
>
<!ELEMENT Width (#PCDATA)>
<!ATTLIST Width
	Type (INTEGER | FLOAT) "INTEGER"
	Units (Feet | Meters | Unspecified) "Unspecified"
>
<!-- DIMENSIONAL ELEMENTS -->
<!ELEMENT Area (#PCDATA)>
<!ATTLIST Area
	Units (SqFeet | SqMeters | Acres | Hectares) "SqFeet"
	Type (INTEGER | FLOAT | TEXT) "INTEGER"
>
<!ELEMENT Dimensions (#PCDATA)>
<!ATTLIST Dimensions
	Units (Feet | Meters | Unspecified) "Feet"
	Type CDATA #FIXED "TEXT"
>
<!ELEMENT Basement (Area?, Dimensions?, Length?, Width?)>
<!ATTLIST Basement
	Present (Yes | No) "Yes"
>
<!ELEMENT Den (Area?, Dimensions?, Length?, Width?)>
<!ATTLIST Den
	Present (Yes | No) "Yes"
>
<!ELEMENT DiningRoom (Area?, Dimensions?, Length?, Width?)>
<!ATTLIST DiningRoom
	Present (Yes | No) "Yes"
>
<!ELEMENT FamilyRoom (Area?, Dimensions?, Length?, Width?)>
<!ATTLIST FamilyRoom
	Present (Yes | No) "Yes"
>
<!ELEMENT GameRoom (Area?, Dimensions?, Length?, Width?)>
<!ATTLIST GameRoom
	Present (Yes | No) "Yes"
>
<!ELEMENT Kitchen (Area?, Dimensions?, Length?, Width?)>
<!ATTLIST Kitchen
	Present (Yes | No) "Yes"
>
<!ELEMENT LaundryRoom (Area?, Dimensions?, Length?, Width?)>
<!ATTLIST LaundryRoom
	Present (Yes | No) "Yes"
>
<!ELEMENT LivingRoom (Area?, Dimensions?, Length?, Width?)>
<!ATTLIST LivingRoom
	Present (Yes | No) "Yes"
>
<!ELEMENT LotSizeRange (#PCDATA)>
<!ATTLIST LotSizeRange
	Units (SqFeet | SqMeters | Acres | Hectares) #IMPLIED
>
<!ELEMENT OfficeRoom (Area?, Dimensions?, Length?, Width?)>
<!ATTLIST OfficeRoom
	Present (Yes | No) "Yes"
>
<!ELEMENT LotSize (Area?, Dimensions?, Length?, Width?)>
<!ELEMENT LivingArea (Area?)>
<!-- a.k.a. square footage -->
<!-- YES/NO TEXT ELEMENTS -->
<!ELEMENT Cooling (#PCDATA)>
<!ATTLIST Cooling
	Present (Yes | No) "Yes"
>
<!ELEMENT Heating (#PCDATA)>
<!ATTLIST Heating
	Present (Yes | No) "Yes"
>
<!ELEMENT Laundry (#PCDATA)>
<!ATTLIST Laundry
	Present (Yes | No) "Yes"
>
<!ELEMENT Pool (#PCDATA)>
<!ATTLIST Pool
	Present (Yes | No) "Yes"
>
<!ELEMENT Utilities (#PCDATA)>
<!ATTLIST Utilities
	Present (Yes | No) "Yes"
>
<!ELEMENT View (#PCDATA)>
<!ATTLIST View
	Present (Yes | No) "Yes"
>
<!ELEMENT WaterFront (#PCDATA)>
<!ATTLIST WaterFront
	Present (Yes | No) "Yes"
>
<!-- TEXT ELEMENTS -->
<!ELEMENT AgentID (#PCDATA)>
<!ELEMENT AnimalsPermitted (#PCDATA)>
<!ELEMENT BoatFacilities (#PCDATA)>
<!ATTLIST BoatFacilities
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT BoxNumber (#PCDATA)>
<!ELEMENT BrokerID (#PCDATA)>
<!ELEMENT BuildingName (#PCDATA)>
<!ELEMENT BuildingType (#PCDATA)>
<!ELEMENT CarrierRoute (#PCDATA)>
<!ELEMENT CellPhone (#PCDATA)>
<!ELEMENT City (#PCDATA)>
<!ELEMENT CityLights (#PCDATA)>
<!ATTLIST CityLights
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT ClubHouse (#PCDATA)>
<!ATTLIST ClubHouse
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT CommunityName (#PCDATA)>
<!ELEMENT CommunityPark (#PCDATA)>
<!ATTLIST CommunityPark
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT ComplexFeatures (#PCDATA)>
<!ELEMENT Condominium (#PCDATA)>
<!ELEMENT ConstructionMaterials (#PCDATA)>
<!ELEMENT CopyrightNotice (#PCDATA)>
<!ELEMENT CornerLot (#PCDATA)>
<!ATTLIST CornerLot
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT Country (#PCDATA)>
<!ELEMENT County (#PCDATA)>
<!ELEMENT CuldeSac (#PCDATA)>
<!ATTLIST CuldeSac
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT DevelopmentStatus (#PCDATA)>
<!ELEMENT Directions (#PCDATA)>
<!ELEMENT DisabilityFeatures (#PCDATA)>
<!ATTLIST DisabilityFeatures
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT Disclaimer (#PCDATA)>
<!ELEMENT DisplayFlagAddress (#PCDATA)>
<!ELEMENT DisplayFlagListing (#PCDATA)>
<!ELEMENT ElementarySchool (#PCDATA)>
<!ELEMENT Email (#PCDATA)>
<!ELEMENT EnergyInformation (#PCDATA)>
<!ELEMENT ExerciseArea (#PCDATA)>
<!ATTLIST ExerciseArea
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT ExistingStructures (#PCDATA)>
<!ELEMENT Exterior (#PCDATA)>
<!ELEMENT ExteriorFeatures (#PCDATA)>
<!ELEMENT Farm (#PCDATA)>
<!ELEMENT Fax (#PCDATA)>
<!ELEMENT FirePlaceDetails (#PCDATA)>
<!ELEMENT FirePlaceFuelType (#PCDATA)>
<!ELEMENT FirstName (#PCDATA)>
<!ELEMENT Golf (#PCDATA)>
<!ATTLIST Golf
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT GolfCourse (#PCDATA)>
<!ATTLIST GolfCourse
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT GolfCourseLot (#PCDATA)>
<!ATTLIST GolfCourseLot
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT HardwoodFloors (#PCDATA)>
<!ATTLIST HardwoodFloors
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT HighSchool (#PCDATA)>
<!ELEMENT HomePhone (#PCDATA)>
<!ELEMENT HorseFacilities (#PCDATA)>
<!ATTLIST HorseFacilities
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT HotTub (#PCDATA)>
<!ATTLIST HotTub
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT Inclusions (#PCDATA)>
<!ELEMENT InteriorFeatures (#PCDATA)>
<!ELEMENT JuniorHighSchool (#PCDATA)>
<!ELEMENT Lake (#PCDATA)>
<!ATTLIST Lake
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT LastName (#PCDATA)>
<!ELEMENT LeaseOption (#PCDATA)>
<!ATTLIST LeaseOption
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT LegalDescription (#PCDATA)>
<!ELEMENT ListingArea (#PCDATA)>
<!ELEMENT ListingID (#PCDATA)>
<!ELEMENT ListingServiceName (#PCDATA)>
<!ELEMENT ListingType (#PCDATA)>
<!ELEMENT MapCoordinate (#PCDATA)>
<!ELEMENT MiddleSchool (#PCDATA)>
<!ELEMENT Mountain (#PCDATA)>
<!ATTLIST Mountain
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT Name (#PCDATA)>
<!ELEMENT NRDSMemberID (#PCDATA)>
<!ELEMENT NRDSOfficeID (#PCDATA)>
<!ELEMENT Ocean (#PCDATA)>
<!ATTLIST Ocean
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT OfficeID (#PCDATA)>
<!ELEMENT OfficePhone (#PCDATA)>
<!ELEMENT OwnerPays (#PCDATA)>
<!ELEMENT OwnersName (#PCDATA)>
<!ELEMENT Pager (#PCDATA)>
<!ELEMENT ParcelAccess (#PCDATA)>
<!ELEMENT ParcelMapURL (#PCDATA)>
<!ELEMENT ParcelNumber (#PCDATA)>
<!ELEMENT PermittedTypes (#PCDATA)>
<!ELEMENT PictureCaption (#PCDATA)>
<!ELEMENT PictureID (#PCDATA)>
<!ELEMENT PostalCode (#PCDATA)>
<!ELEMENT PresentUse (#PCDATA)>
<!ELEMENT PrimarySchool (#PCDATA)>
<!ELEMENT PropertyZoning (#PCDATA)>
<!ELEMENT PublicRemarks (#PCDATA)>
<!ELEMENT RecreationalFacilities (#PCDATA)>
<!ATTLIST RecreationalFacilities
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT Remarks (#PCDATA)>
<!ELEMENT RentalAmount (#PCDATA)>
<!ATTLIST RentalAmount
	CurrencyCode CDATA #IMPLIED
	Period (Day | Week | Month | Year) #IMPLIED
	Units (SqFeet | SqMeters | Acres | Hectares) #IMPLIED
>
<!ELEMENT Rental (#PCDATA)>
<!ELEMENT River (#PCDATA)>
<!ATTLIST River
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT Roof (#PCDATA)>
<!ELEMENT SchoolDistrict (#PCDATA)>
<!ELEMENT SecurityFacilities (#PCDATA)>
<!ATTLIST SecurityFacilities
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT SecurityFeatures (#PCDATA)>
<!ATTLIST SecurityFeatures
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT SeniorCommunity (#PCDATA)>
<!ATTLIST SeniorCommunity
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT ShowingInstructions (#PCDATA)>
<!ELEMENT StateOrProvince (#PCDATA)>
<!ELEMENT StreetAdditionalInfo (#PCDATA)>
<!ELEMENT StreetDirPrefix (#PCDATA)>
<!ELEMENT StreetDirSuffix (#PCDATA)>
<!ELEMENT StreetName (#PCDATA)>
<!ELEMENT StreetNumber (#PCDATA)>
<!ELEMENT StreetSuffix (#PCDATA)>
<!ELEMENT Style (#PCDATA)>
<!ELEMENT Subdivision (#PCDATA)>
<!ELEMENT TaxID (#PCDATA)>
<!ELEMENT TaxKey (#PCDATA)>
<!ELEMENT TenantPays (#PCDATA)>
<!ELEMENT Tennis (#PCDATA)>
<!ATTLIST Tennis
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT TennisCourt (#PCDATA)>
<!ATTLIST TennisCourt
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT Topography (#PCDATA)>
<!ELEMENT TotalParking (#PCDATA)>
<!ATTLIST TotalParking
	Operator CDATA #IMPLIED
>
<!ELEMENT TownHouse (#PCDATA)>
<!ELEMENT TradeOption (#PCDATA)>
<!ATTLIST TradeOption
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT Type (#PCDATA)>
<!ELEMENT UnitNumber (#PCDATA)>
<!ELEMENT URL (#PCDATA)>
<!ATTLIST URL
	Internal (Yes | No) "No"
>
<!ELEMENT Unstructured (#PCDATA)>
<!ELEMENT Water (#PCDATA)>
<!ATTLIST Water
	Present (Yes | No | Unknown) #IMPLIED
>
<!ELEMENT WeightLimit (#PCDATA)>
<!ATTLIST WeightLimit
	Units (lbs | kilo) #IMPLIED
>
<!ELEMENT Zoning (#PCDATA)>
<!-- COMPOUND ELEMENTS -->
<!ELEMENT LeaseTerms (LeaseOption+)>
<!ELEMENT TradeTerms (TradeOption+)>
<!ELEMENT RentalTerms (RentalOption+)>
<!ELEMENT RentalOption (RentalAmount+)>
<!ELEMENT Community (CommunityName?, ClubHouse?, ExerciseArea?, Golf?, Tennis?, RecreationalFacilities?, SecurityFacilities?, SeniorCommunity?, HotTub?, Pool?, BoatFacilities?, HorseFacilities?, CommunityPark?)>
<!ELEMENT DisplayData (DisplayFlagListing?, DisplayFlagAddress?)>
<!ELEMENT FinancialData (LeaseTerms?, TradeTerms?, RentalTerms?)>
<!ELEMENT PropertyType (Rental?, Farm?, Condominium?, TownHouse?)>
<!ELEMENT AnimalPolicy (AnimalsPermitted?, PermittedTypes?, WeightLimit?)>
<!ELEMENT LotData (CornerLot?, CuldeSac?, GolfCourseLot?)>
<!ELEMENT FirePlace (FirePlaceFuelType?, FirePlaceDetails?)>
<!ELEMENT Floors (HardwoodFloors?)>
<!ELEMENT ViewData (CityLights?, Mountain?, Ocean?, River?, Lake?, GolfCourse, Water?)>
<!ELEMENT ResidentialProperty (Listing?, Bedrooms?, Baths?, Subdivision?, AssociationFee?, LivingArea?, LotSize?, LotSizeRange?, Parking?, Stories?, YearBuilt?, Heating?, Cooling?, Pool?, InteriorFeatures?, ExteriorFeatures?, Type?, Style?, Rooms?, Occupant?, WaterFront?, Fireplaces?, FirePlace?, Roof?, Exterior?, Age?, HorseFacilities?, HotTub?, TennisCourt?, Inclusions?, Floors?, EnergyInformation?, ConstructionMaterials?, DisabilityFeatures?, SecurityFeatures?, AnimalPolicy?, LotData?, ViewData?)>
<!ELEMENT CommonInterest (ResidentialProperty?, Complex?)>
<!ELEMENT LotsAndLand (Listing?, LotSize?, LotSizeRange?, Utilities?, PresentUse?, Topography?, ParcelAccess?, DevelopmentStatus?, ExistingStructures?, HorseFacilities?, LotData?, ViewData?)>
<!ELEMENT MultiFamily (Listing?, Complex?, RentIncome?, GrossIncome?, Expenses?, NetIncome?, VacancyFactor?, TenantPays?, OwnerPays?, Laundry?, Subdivision?, AssociationFee?, LivingArea?, LotSize?, Parking?, Stories?, YearBuilt?, Heating?, Cooling?, Pool?, InteriorFeatures?, ExteriorFeatures?, Type?, Style?, WaterFront?, Roof?, Exterior?, Unit*)>
<!ELEMENT Complex (BuildingType?, TotalUnits?, BuildingName?, ComplexFeatures?)>
<!ELEMENT Listing (StreetAddress?, ListingData?, MLSInformation?, GeographicData?, ModificationTimestamp?, ListingID?, Zoning?, SalesData?, SchoolData?, TaxData?, ParcelNumber?, View?, CopyrightNotice?, Disclaimer?, Community?, PictureData*, PropertyType?)>
<!ELEMENT Unit (Bedrooms?, Baths?, RentIncome?, AssociationFee?, LivingArea?, Parking?, Stories?, Heating?, Cooling?, InteriorFeatures?, Rooms?, Occupant?, Fireplaces?)>
<!ELEMENT GeographicData (Latitude?, Longitude?, County?, Directions?, MapCoordinate?, URL?)>
<!ELEMENT SchoolData (SchoolDistrict?, PrimarySchool?, ElementarySchool?, MiddleSchool?, JuniorHighSchool?, HighSchool?)>
<!ELEMENT TaxData (StreetAddress?, MailingAddress?, TaxID?, County?, ModificationTimestamp?, LegalDescription?, OwnersName?, AssessedValuation?, PropertyZoning?, ParcelMapURL?)>
<!ELEMENT PictureData (PictureID?, ModificationTimestamp?, URL?, PictureCaption?)>
<!ELEMENT REOffice (Name?, ContactInformation?, StreetAddress?, ListingServiceName?, OfficeID?, BrokerID?, NRDSOfficeID?, ModificationTimestamp?)>
<!ELEMENT REAgent (FirstName?, LastName?, ContactInformation?, StreetAddress?, ListingServiceName?, AgentID?, NRDSMemberID?, OfficeID?, BrokerID?, ModificationTimestamp?)>
<!ELEMENT Occupant (Name?, ContactInformation?)>
<!ELEMENT ContactInformation (OfficePhone?, CellPhone?, HomePhone?, Fax?, Pager?, Email?, URL?)>
<!ELEMENT StreetAddress ((StreetNumber?, BoxNumber?, StreetDirPrefix?, StreetName, StreetAdditionalInfo?, StreetDirSuffix?, StreetSuffix?, UnitNumber?, City?, StateOrProvince?, Country?, PostalCode?, CarrierRoute?) | (Unstructured?))>
<!ELEMENT MailingAddress (StreetAddress?)>
<!ELEMENT ListingData (REAgent*, REOffice?, ListDate?, ListPrice?, ListPriceLow?, ListPriceHigh?, FinancialData?, ExpirationDate?, ShowingInstructions?, ListingType?, DisplayData?, Commission?, Remarks?, PublicRemarks?)>
<!ELEMENT SalesData (REAgent*, REOffice?, ContractDate?, ClosePrice?, CloseDate?)>
<!ELEMENT MLSInformation (ListingStatus?, OriginalListPrice?, ListingArea?, StatusChangeDate?, DaysOnMarket?, ListingServiceName?)>
<!ELEMENT ListingStatus (#PCDATA)>
<!ATTLIST ListingStatus
	Status (Active | Closed | Expired | OffMarket | Pending) #REQUIRED
>
<!ELEMENT Baths (BathsTotal?, BathsFull?, BathsHalf?, BathsThreeQuarter?)>
<!ELEMENT Parking (Garage?, CarPort?, OpenParking?, CoveredParking?, TotalParking?)>
<!ELEMENT Bedroom (Area?, Dimensions?, Length?, Width?)>
<!ATTLIST Bedroom
	IsMainFloor (Yes | No | Unknown) "Unknown"
	IsMaster (Yes | No | Unknown) "Unknown"
>
<!ELEMENT BedroomDetail (Bedroom*)>
<!ELEMENT Bathroom (#PCDATA)>
<!ATTLIST Bathroom
	IsMainFloor (Yes | No | Unknown) "Yes"
	BathroomSize (Full | ThreeQuarter | Half | Unknown) "Unknown"
>
<!ELEMENT BathroomDetail (Bathroom*)>
<!ELEMENT Rooms (BedroomDetail?, BathroomDetail?, DiningRoom?, LivingRoom?, FamilyRoom?, Basement?, Den?, OfficeRoom?, Kitchen?, GameRoom?, LaundryRoom?, TotalRooms?)>
<!-- PACKAGING ELEMENTS -->
<!ELEMENT REData (REProperties?, REOffices?, REAgents?, REOfficeRosters?, REProspects?, REActivities?, REHistories?, REPublicRecords?)>
<!ELEMENT REProperties (CopyrightNotice?, Disclaimer?, ResidentialProperty*, CommonInterest*, LotsAndLand*, MultiFamily*, TaxData*)>
<!ELEMENT REOfficeRosters (REOfficeRoster*)>
<!ELEMENT REOfficeRoster (REOffice, REAgent+)>
<!ELEMENT REAgents (REAgent+)>
<!ELEMENT REOffices (REOffice+)>
<!ELEMENT REProspects (REProspect+)>
<!ELEMENT REActivities (REActivity+)>
<!ELEMENT REHistories (REPropHistory+)>
<!ELEMENT REPropHistory (REPropEntry+)>
<!ELEMENT REPublicRecords (RETax+)>
<!-- Prospect Elements -->
<!ELEMENT ProspectModificationTimestamp (#PCDATA)>
<!ATTLIST ProspectModificationTimestamp
	Type CDATA #FIXED "DATE-TIME"
	Format CDATA #FIXED "YYYY-MM-DDThh:mm:ss[.sss]"
>
<!ELEMENT ProspectUsedTimestamp (#PCDATA)>
<!ATTLIST ProspectUsedTimestamp
	Type CDATA #FIXED "DATE-TIME"
	Format CDATA #FIXED "YYYY-MM-DDThh:mm:ss[.sss]"
>
<!ELEMENT ProspectID (#PCDATA)>
<!ELEMENT ProspectPropertyClass (#PCDATA)>
<!ATTLIST ProspectPropertyClass
	StandardNames (Yes | No) "No"
>
<!ELEMENT ProspectPropertyQuery (#PCDATA)>
<!ATTLIST ProspectPropertyQuery
	StandardNames (Yes | No) "No"
	Type (DMQL | DMQL2) "DMQL2"
>
<!ELEMENT ProspectPublicName (#PCDATA)>
<!-- Compound Prospect Elements -->
<!ELEMENT REProspect (ProspectID?, ProspectPublicName?, ProspectPropertyClass?, ProspectPropertyQuery?, ProspectAgent?, ProspectOffice?, ProspectModificationTimestamp?, ProspectUsedTimestamp?)>
<!ELEMENT ProspectAgent (AgentID | REAgent)>
<!ELEMENT ProspectOffice (OfficeID | REOffice)>
<!-- Activity Elements -->
<!ELEMENT EndDateTime (#PCDATA)>
<!ATTLIST EndDateTime
	Type CDATA #FIXED "DATE-TIME"
	Format CDATA #FIXED "YYYY-MM-DDThh:mm:ss[.sss]"
>
<!ELEMENT StartDateTime (#PCDATA)>
<!ATTLIST StartDateTime
	Type CDATA #FIXED "DATE-TIME"
	Format CDATA #FIXED "YYYY-MM-DDThh:mm:ss[.sss]"
	Timeless (Yes | No) "No"
>
<!ELEMENT ProfSequence (#PCDATA)>
<!ATTLIST ProfSequence
	Type CDATA #FIXED "INTEGER"
>
<!ELEMENT ActivityClassification (#PCDATA)>
<!ATTLIST ActivityClassification
	Type (Tour | Open | Showing | Other) "Tour"
>
<!ELEMENT ActivityComments (#PCDATA)>
<!ELEMENT ActivityID (#PCDATA)>
<!ELEMENT ActivityStatus (#PCDATA)>
<!ATTLIST ActivityStatus
	Complete (Yes | No) "No"
>
<!ELEMENT Board (#PCDATA)>
<!ELEMENT ProfDirections (#PCDATA)>
<!ELEMENT ProfComments (#PCDATA)>
<!ELEMENT ProfOptions (#PCDATA)>
<!ATTLIST ProfOptions
	Lunch (Yes | No) "No"
	Refreshments (Yes | No) "No"
>
<!ELEMENT Regarding (#PCDATA)>
<!-- Compound Activity Elements -->
<!ELEMENT REActivity (Event?, Place?, Participants?, ProfDetails?)>
<!ELEMENT Event (ActivityID?, StartDateTime?, EndDateTime?, ActivityClassification?, ActivityStatus?, Regarding?, ActivityComments?, ActivityAgent?, ActivityOffice?, ModificationTimestamp?)>
<!ELEMENT Place ((ListingID | Listing | StreetAddress)?)>
<!ELEMENT ActivityAgent ((AgentID | REAgent)?)>
<!ELEMENT ActivityOffice ((OfficeID | REOffice)?)>
<!ELEMENT Participants ((AgentID | OfficeID | REAgent | REOffice | Person)*)>
<!ELEMENT Person (FirstName?, LastName?, ContactInformation?, StreetAddress?)>
<!ELEMENT ProfDetails (Board?, ProfSequence?, ProfDirections?, ProfComments?, ProfOptions?)>
<!-- Listing History Elements -->
<!ELEMENT ChangeType (#PCDATA)>
<!ATTLIST ChangeType
	System (Yes | No) "No"
>
<!ELEMENT EntryID (#PCDATA)>
<!-- Compound Listing History Elements -->
<!ELEMENT REPropEntry (EntryID?, ListingID?, EntryAgent?, EntryOffice?, ChangeType?, PropertyRecord?, ModificationTimestamp?)>
<!ELEMENT EntryAgent ((AgentID | REAgent)?)>
<!ELEMENT EntryOffice ((OfficeID | REOffice)?)>
<!ELEMENT PropertyRecord ((ResidentialProperty | CommonInterest | LotsAndLand | MultiFamily)?)>
<!-- Tax Elements -->
<!ELEMENT DocumentDate (#PCDATA)>
<!ATTLIST DocumentDate
	Type CDATA #FIXED "DATE"
	Format CDATA #FIXED "YYYY-MM-DD"
>
<!ELEMENT MortgageAmount (#PCDATA)>
<!ATTLIST MortgageAmount
	Type (INTEGER | FLOAT) "INTEGER"
	CurrencyCode CDATA "USD"
>
<!ELEMENT DocumentID (#PCDATA)>
<!ELEMENT DocumentType (#PCDATA)>
<!ELEMENT TransactionType (#PCDATA)>
<!ELEMENT VestmentType (#PCDATA)>
<!-- Compound Tax Elements -->
<!ELEMENT RETax (TaxKey?, TaxID?, County?, ParcelLocation?, ParcelOwner?, TaxTransactionData*, AssessedValuation?, PropertyZoning?, ParcelMapURL?, ModificationTimestamp?)>
<!ELEMENT ParcelLocation (StreetAddress?, MailingAddress?)>
<!ELEMENT OwnershipType (#PCDATA)>
<!ELEMENT ParcelOwner (OwnersName?, OwnershipType?, Person*)>
<!ELEMENT TaxTransactionData (DocumentID?, DocumentDate?, DocumentType?, TransactionType?, ClosePrice?, CloseDate?, VestmentType?, MortgageAmount?)>
<!-- ]> -->
