<!-- 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?)>
<!-- ]> -->