<?xml version="1.0"?><xs:schema xmlns:xi="http://www.w3.org/2003/XInclude" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified">
    <xs:element name="root">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="propertyshowrooms" type="PSRType"/>
                <xs:element name="property" type="propertyType" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="PSRType">
        <xs:sequence>
            <xs:element name="feed_version" type="feedType"/>
        </xs:sequence>
    </xs:complexType>
	
	<xs:simpleType name="feedType">
        <xs:restriction base="xs:integer">
			<xs:enumeration value="2"/>
		</xs:restriction>
    </xs:simpleType>

    <xs:complexType name="propertyType">
        <xs:sequence>
			<xs:element name="date" type="dateType"/>
			<xs:element name="ref" type="refType"/>
			<xs:element name="price" type="xs:unsignedInt"/>
            <xs:element name="currency" type="currencyType"/>
            <xs:element name="price_freq" type="priceFreqType"/>
            <xs:element name="part_ownership" type="boolType" minOccurs="0"/>
            <xs:element name="leasehold" type="boolType" minOccurs="0"/>
			<xs:element name="isnewdevelopment" type="boolType" minOccurs="0"/>			
			<xs:element name="isoffplan" type="boolType" minOccurs="0"/>
			<xs:element name="type" type="typeType"/>			
            <xs:element name="town" type="requiredType"/>
			<xs:element name="region" type="xs:string" minOccurs="0"/>
            <xs:element name="province" type="requiredType"/>
			<xs:element name="country" type="requiredType"/>
			<xs:element name="location_detail" type="locationType" minOccurs="0"/>
            <xs:element name="beds" type="xs:nonNegativeInteger" nillable="true" minOccurs="0"/>
            <xs:element name="baths" type="xs:nonNegativeInteger" nillable="true" minOccurs="0"/>
            <xs:element name="pool" type="boolType"/>
            <xs:element name="surface_area" type="surfaceType" minOccurs="0"/>              
			<xs:element name="distancetobeach" type="xs:string" minOccurs="0"/>			
			<xs:element name="distancetoshops" type="xs:string" minOccurs="0"/>			
			<xs:element name="orientation" type="orientationType"   minOccurs="0"/>			
			<xs:element name="views" type="viewsType" minOccurs="0"/>
			<xs:element name="carpark" type="boolType" minOccurs="0"/>
			<xs:element name="waterconnection" type="boolType" minOccurs="0"/>
			<xs:element name="electricityconnection" type="boolType" minOccurs="0"/>
			<xs:element name="telephoneconnection" type="boolType" minOccurs="0"/>
			<xs:element name="elevator" type="boolType" minOccurs="0"/>
			<xs:element name="fireplace" type="boolType" minOccurs="0"/>
			<xs:element name="solarium" type="boolType" minOccurs="0"/>
			<xs:element name="storage" type="boolType" minOccurs="0"/>
			<xs:element name="watertank" type="boolType" minOccurs="0"/>
			<xs:element name="safe" type="boolType" minOccurs="0"/>
			<xs:element name="airconditioning" type="boolType" minOccurs="0"/>
			<xs:element name="centralheating" type="boolType" minOccurs="0"/>
			<xs:element name="floorheating" type="boolType" minOccurs="0"/>
			<xs:element name="fittedkitchen" type="boolType" minOccurs="0"/>
			<xs:element name="doubleglazing" type="boolType" minOccurs="0"/>
			<xs:element name="irrigationsystem" type="boolType" minOccurs="0"/>
			<xs:element name="jacuzzi" type="boolType" minOccurs="0"/>
			<xs:element name="sauna" type="boolType" minOccurs="0"/>
			<xs:element name="gymnasium" type="boolType" minOccurs="0"/>
			<xs:element name="tenniscourt" type="boolType" minOccurs="0"/>
			<xs:element name="alarm" type="boolType" minOccurs="0"/>
			<xs:element name="security" type="boolType" minOccurs="0"/>
			<xs:element name="gatedcommunity" type="boolType" minOccurs="0"/>			
			<xs:element name="desc" type="descType" minOccurs="0"/>
			<xs:element name="images" type="imagesType" minOccurs="0" maxOccurs="10"/>
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="idType">
        <xs:restriction base="xs:string"> 
			<xs:minLength value="1"/>
            <xs:maxLength value="20"/>
        </xs:restriction>
    </xs:simpleType>
	
	<xs:simpleType name="requiredType">
        <xs:restriction base="xs:string"> 
			<xs:minLength value="1"/>
        </xs:restriction>
    </xs:simpleType>
	
    <xs:simpleType name="dateType">
        <xs:restriction base="xs:token">
          <xs:pattern value="(19|20)\d\d[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])\s(0[0-9]|1[0-9]|2[01234]):(0[0-9]|[1-5][0-9]):(0[0-9]|[1-5][0-9])"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="refType">
        <xs:restriction base="xs:string">
			<xs:minLength value="1"/>
            <xs:maxLength value="100"/>
        </xs:restriction>
    </xs:simpleType>

	<xs:simpleType name="viewsType">
		<xs:restriction base="xs:string">
			<xs:minLength value="0"/>
			<xs:maxLength value="1000"/>
		</xs:restriction>
	</xs:simpleType>

    <xs:simpleType name="currencyType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="AED"/>
				<xs:enumeration value="ARS"/>
				<xs:enumeration value="AUD"/>
				<xs:enumeration value="BBD"/>
				<xs:enumeration value="BGN"/>
				<xs:enumeration value="BHD"/>
				<xs:enumeration value="BRL"/>
				<xs:enumeration value="BSD"/>
				<xs:enumeration value="BWP"/>
				<xs:enumeration value="CAD"/>
				<xs:enumeration value="CHF"/>
				<xs:enumeration value="CLP"/>
				<xs:enumeration value="CNY"/>
				<xs:enumeration value="COP"/>
				<xs:enumeration value="CVE"/>
				<xs:enumeration value="CYP"/>
				<xs:enumeration value="CZK"/>
				<xs:enumeration value="DKK"/>
				<xs:enumeration value="EEK"/>
				<xs:enumeration value="EGP"/>
				<xs:enumeration value="EUR"/>
				<xs:enumeration value="FJD"/>
				<xs:enumeration value="GBP"/>
				<xs:enumeration value="HKD"/>
				<xs:enumeration value="HUF"/>
				<xs:enumeration value="IDR"/>
				<xs:enumeration value="ILS"/>
				<xs:enumeration value="INR"/>
				<xs:enumeration value="ISK"/>
				<xs:enumeration value="JPY"/>
				<xs:enumeration value="KMF"/>
				<xs:enumeration value="KRW"/>
				<xs:enumeration value="LKR"/>
				<xs:enumeration value="LTL"/>
				<xs:enumeration value="LVL"/>
				<xs:enumeration value="MAD"/>
				<xs:enumeration value="MTL"/>
				<xs:enumeration value="MXN"/>
				<xs:enumeration value="MYR"/>
				<xs:enumeration value="NAD"/>
				<xs:enumeration value="NOK"/>
				<xs:enumeration value="NZD"/>
				<xs:enumeration value="PHP"/>
				<xs:enumeration value="PKR"/>
				<xs:enumeration value="PLN"/>
				<xs:enumeration value="PYG"/>
				<xs:enumeration value="RON"/>
				<xs:enumeration value="RUB"/>
				<xs:enumeration value="SAR"/>
				<xs:enumeration value="SEK"/>
				<xs:enumeration value="SGD"/>
				<xs:enumeration value="SIT"/>
				<xs:enumeration value="SKK"/>
				<xs:enumeration value="THB"/>
				<xs:enumeration value="TRY"/>
				<xs:enumeration value="TTD"/>
				<xs:enumeration value="TWD"/>
				<xs:enumeration value="USD"/>
				<xs:enumeration value="UYU"/>
				<xs:enumeration value="VEB"/>
				<xs:enumeration value="XAF"/>
				<xs:enumeration value="XDR"/>
				<xs:enumeration value="XOF"/>
				<xs:enumeration value="XPF"/>
				<xs:enumeration value="ZAR"/>
				<xs:enumeration value="ZMK"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="priceFreqType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="sale"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="boolType">
        <xs:restriction base="xs:string">
            <xs:enumeration value=""/>
			<xs:enumeration value="0"/>
            <xs:enumeration value="1"/>
        </xs:restriction>
    </xs:simpleType>

	<xs:complexType name="typeType">
        <xs:sequence>
            <xs:element name="en" type="typeDataType"/>
			<xs:element name="es" type="typeDataType" minOccurs="0"/>
			<xs:element name="de" type="typeDataType" minOccurs="0"/>
			<xs:element name="nl" type="typeDataType" minOccurs="0"/>
			<xs:element name="fr" type="typeDataType" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

	<xs:simpleType name="typeDataType">
        <xs:restriction base="xs:string">
			<xs:pattern value="([a-zA-Z\s\(\)/\-]+)"/>
			<xs:minLength value="4"/>
        </xs:restriction>
    </xs:simpleType>
	
    <xs:simpleType name="locationType">
        <xs:restriction base="xs:string">
			<xs:maxLength value="150"/>
        </xs:restriction>
    </xs:simpleType>
	
    <xs:complexType name="surfaceType">
		<xs:sequence>
            <xs:element name="built" type="xs:integer" minOccurs="0"/>
            <xs:element name="plot" type="xs:integer" minOccurs="0"/>
			<xs:element name="terrace" type="xs:integer" minOccurs="0"/>
			<xs:element name="garden" type="xs:integer" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="urlType">
        <xs:restriction base="xs:token">
            <xs:pattern value="http://(.*)"/>
            <xs:maxLength value="255"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="descType">
        <xs:sequence>
            <xs:element name="en" type="xs:string" minOccurs="0"/>
            <xs:element name="es" type="xs:string" minOccurs="0"/>
            <xs:element name="de" type="xs:string" minOccurs="0"/>
            <xs:element name="nl" type="xs:string" minOccurs="0"/>
            <xs:element name="fr" type="xs:string" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="imagesType">
        <xs:sequence>
            <xs:element name="image" minOccurs="0" maxOccurs="10" type="imageType"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="imageType">
        <xs:sequence>
            <xs:element name="url" type="imageUrlType" minOccurs="0"/>
            <xs:element name="primary" type="boolType" minOccurs="0"/>
            <xs:element name="title" type="titleType" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="id" type="imageAttributeType" use="required"/>
    </xs:complexType>

    <xs:simpleType name="imageUrlType">
        <xs:restriction base="xs:token">
            <xs:pattern value="(http|ftp)://(.*)\.(gif|jpe?g|png|GIF|JPE?G|PNG)"/>
            <!-- restriction to .gif .jpg .jpeg and .png formats -->
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="titleType">
        <xs:sequence>
            <xs:element name="en" type="xs:string" minOccurs="0"/>
            <xs:element name="es" type="xs:string" minOccurs="0"/>
            <xs:element name="de" type="xs:string" minOccurs="0"/>
            <xs:element name="nl" type="xs:string" minOccurs="0"/>
            <xs:element name="fr" type="xs:string" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="orientationType">
      <xs:restriction base="xs:string">
             <xs:enumeration value="North" />
             <xs:enumeration value="North East"/>
	     <xs:enumeration value="North West"/>
	     <xs:enumeration value="South" />
	     <xs:enumeration value="South East"/>
	     <xs:enumeration value="South West" />
	     <xs:enumeration value="East"/>
	     <xs:enumeration value="West"/>
</xs:restriction>			
    </xs:simpleType>


    <xs:simpleType name="imageAttributeType">
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="10"/>
        </xs:restriction>
    </xs:simpleType>
	    
</xs:schema>