<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="PropertyReportSubmission">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="ReportYear" type="Int4Optional" />
                <xs:choice>
                    <xs:element ref="HolderTypeBusiness" />
                    <xs:element ref="HolderTypeIndividual" />
                </xs:choice>
                <xs:element ref="OwnerProperties" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="HolderTypeBusiness">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="LegalName" type="String1to70" />
                <xs:element name="OperatingName" type="String0to70" />
                <!--  may be left blank  -->
                <xs:element name="Address1" type="String1to35" />
                <xs:element name="Address2" type="String0to35" />
                <!--  may be left blank  -->
                <xs:element name="City" type="String1to35" />
                <xs:choice>
                    <xs:element ref="CountryCanada" />
                    <xs:element ref="CountryUS" />
                    <xs:element ref="CountryOtherRequired" />
                </xs:choice>
                <xs:element name="ContactFirstName" type="String1to25" />
                <xs:element name="ContactLastName" type="String1to25" />
                <xs:element name="ContactPosition" type="String0to25" />
                <!--  may be left blank  -->
                <xs:element name="ContactPhone" type="PhoneRegex" />
                <xs:element name="Fax" type="Phone0orRegex" />
                <!--  Should fax be required?  -->
                <xs:element name="ContactEmail" type="EmailRegex" />
                <xs:element name="Comments" type="String0to2000White" />
                <!--  may be left blank  -->
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="HolderTypeIndividual">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="FirstName" type="String1to35" />
                <xs:element name="LastName" type="String1to35" />
                <xs:element name="Address1" type="String1to35" />
                <xs:element name="Address2" type="String0to35" />
                <!--  may be left blank  -->
                <xs:element name="City" type="String1to35" />
                <xs:choice>
                    <xs:element ref="CountryCanada" />
                    <xs:element ref="CountryUS" />
                    <xs:element ref="CountryOtherRequired" />
                </xs:choice>
                <xs:element name="ContactFirstName" type="String1to25" />
                <xs:element name="ContactLastName" type="String1to25" />
                <xs:element name="ContactPosition" type="String0to25" />
                <!--  may be left blank  -->
                <xs:element name="ContactPhone" type="PhoneRegex" />
                <xs:element name="Fax" type="Phone0orRegex" />
                <!--  Should fax be required?  -->
                <xs:element name="ContactEmail" type="EmailRegex" />
                <xs:element name="Comments" type="String0to2000White" />
                <!--  may be left blank  -->
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="OwnerProperties">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="OwnerPropertyDetails" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="OwnerPropertyDetails">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="Property" maxOccurs="unbounded" />
                <xs:choice maxOccurs="unbounded">
                    <xs:element ref="OwnerTypeBusiness" />
                    <xs:element ref="OwnerTypeIndividual" />
                </xs:choice>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="OwnerTypeBusiness">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="LegalName" type="String1to70" />
                <xs:element name="OperatingName" type="String0to70" />
                <!--  may be left blank  -->
                <xs:element name="Address1" type="String1to35" />
                <xs:element name="Address2" type="String0to35" />
                <!--  may be left blank  -->
                <xs:element name="City" type="String0to35" />
                <xs:choice minOccurs="0">
                    <xs:element ref="CountryCanadaNotRequired" />
                    <xs:element ref="CountryUSNotRequired" />
                    <xs:element ref="CountryOther" />
                </xs:choice>
                <xs:element name="OwnerID" type="String0to25" />
                <!--  may be left blank  -->
                <xs:element name="ContactPhone" type="Phone0orRegex" />
                <xs:element name="Fax" type="Phone0orRegex" />
                <!--  Should fax be required?  -->
                <xs:element name="ContactEmail" type="EmailNotRequired" />
                <xs:element name="DateOfLastNotice" type="DateNotRequired" />
                <!--  Can't be in the future  -->
                <xs:element name="Comments" type="String0to2000White" />
                <!--  may be left blank  -->
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="OwnerTypeIndividual">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="FirstName" type="String1to35" />
                <xs:element name="MiddleName" type="String0to35" />
                <xs:element name="LastName" type="String1to35" />
                <xs:element name="DateOfBirth" type="DateNotRequired" />
                <xs:element name="Address1" type="String1to35" />
                <xs:element name="Address2" type="String0to35" />
                <!--  may be left blank  -->
                <xs:element name="City" type="String0to35" />
                <xs:choice minOccurs="0">
                    <xs:element ref="CountryCanadaNotRequired" />
                    <xs:element ref="CountryUSNotRequired" />
                    <xs:element ref="CountryOther" />
                </xs:choice>
                <xs:element name="OwnerID" type="String0to25" />
                <!--  may be left blank  -->
                <xs:element name="SINLastFiveDigits" type="Int5" />
                <!--  may be left blank  -->
                <xs:element name="NBDriverLicence" type="String0to25" />
                <!--  may be left blank  -->
                <xs:element name="HomePhone" type="Phone0orRegex" />
                <!--  may be left blank  -->
                <xs:element name="WorkPhone" type="Phone0orRegex" />
                <!--  may be left blank  -->
                <xs:element name="Fax" type="Phone0orRegex" />
                <!--  may be left blank  -->
                <!--  Should fax be required?  -->
                <xs:element name="ContactEmail" type="EmailNotRequired" />
                <xs:element name="DateOfLastNotice" type="DateNotRequired" />
                <!--  Can't be in the future  -->
                <xs:element name="AdditionalInfo" type="String0to2000White" />
                <!--  may be left blank  -->
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="Property">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Type" type="PropertyCode" />
                <xs:element name="OwnershipType" type="OwnershipTypeCode" />
                <xs:element name="RelationshipType" type="RelationshipCode" />
                <xs:element name="Description" type="String0to500White" />
                <!--  may be left blank  -->
                <xs:element ref="FeesItem" minOccurs="0" maxOccurs="1" />
                <!--  may be left blank  -->
                <xs:choice>
                    <xs:choice>
                        <xs:element name="Value" type="MoneyRegex" />
                        <xs:element name="Cash" type="MoneyRegex" />
                    </xs:choice>
                </xs:choice>
                <xs:element name="AmountReported" type="MoneyRegexOpt" />
                <!--  may be left blank  -->
                <xs:element ref="DeductionItem" minOccurs="0" maxOccurs="1" />
                <xs:choice>
                    <xs:element name="DateUnclaimed" type="DateMin" />
                    <xs:element name="DateOfLastActivity" type="DateMin" />
                </xs:choice>
                <xs:element name="Comments" type="String0to1000White" />
                <!--  may be left blank  -->
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="FeesItem">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Fees" type="MoneyRegex" />
                <xs:element name="FeeDescription" type="String1to500White" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="DeductionItem">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="DeductionType" type="DeductionCode" />
                <xs:element name="DeductionAmount" type="MoneyRegex" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="CountryCanada">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Country" type="CanadaCountryCode" />
                <xs:element name="ProvinceState" type="CanadaProvinceCode" />
                <xs:element name="PostalZip" type="CanadaPostalRegex" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:simpleType name="CanadaCountryCode">
        <xs:restriction base="xs:string">
            <xs:pattern value="(CA)" />
        </xs:restriction>
    </xs:simpleType>
    <!--  
        The ProvinceCodes are:
            AB = Province of Alberta
            BC = Province of British Columbia
            MB = Province of Manitoba
            NB = Province of New Brunswick
            NL = Province of Newfoundland & Labrador
            NS = Province of Nova Scotia
            NT = Northwest Territories
            NU = Territory of Nunavut
            ON = Province of Ontario
            PE = Province of Prince Edward Island
            QC = Province of Quebec
            SK = Province of Saskatchewan
            YT = Yukon
         -->
    <xs:simpleType name="CanadaProvinceCode">
        <xs:restriction base="xs:string">
            <xs:pattern value="(AB|BC|MB|NB|NL|NS|NT|NU|ON|PE|QC|SK|YT)" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="CanadaPostalRegex">
        <xs:union>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="([A-Z]\d[A-Z]\d[A-Z]\d)" />
                </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="([A-Z]\d[A-Z] \d[A-Z]\d)" />
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>
    <xs:element name="CountryUS">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Country" type="USCountryCode" />
                <xs:element name="ProvinceState" type="USStateCode" />
                <xs:element name="PostalZip" type="USZipRegex" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:simpleType name="USCountryCode">
        <xs:restriction base="xs:string">
            <xs:pattern value="(US)" />
        </xs:restriction>
    </xs:simpleType>
    <!--  
        The StatesCodes are:
            AK = State of Alaska
            AL = State of Alabama
            AR = State of Arkansas
            AZ = State of Arizona
            CA = State of California
            CO = State of Colorado
            CT = State of Connecticut
            DC = District of Columbia
            DE = State of Delaware
            FL = State of Florida
            GA = State of Georgia
            HI = State of Hawaii
            IA = State of Iowa
            ID = State of Idaho
            IL = State of Illinois
            IN = State of Indiana
            KS = State of Kansas
            KY = State of Kentucky
            LA = State of Louisiana
            MA = State of Massachusetts
            MD = State of Maryland
            ME = State of Maine
            MI = State of Michigan
            MN = State of Minnesota
            MO = State of Missouri
            MS = State of Mississippi
            MT = State of Montana
            NC = State of North Carolina
            ND = State of North Dakota
            NE = State of Nebraska
            NH = State of New Hampshire
            NJ = State of New Jersey
            NM = State of New Mexico
            NV = State of Nevada
            NY = State of New York
            OH = State of Ohio
            OK = State of Oklahoma
            OR = State of Oregon
            PA = State of Pennsylvania
            RI = Rhode Island
            SC = State of South Carolina
            SD = State of South Dakota
            TN = State of Tennessee
            TX = State of Texas
            UT = State of Utah
            VA = State of Virginia
            VT = State of Vermont
            WA = State of Washington
            WI = State of Wisconsin
            WV = State of West Virginia
            WY = State of Wyoming
         -->
    <xs:simpleType name="USStateCode">
        <xs:restriction base="xs:string">
            <xs:pattern
                value="(AK|AL|AR|AZ|CA|CO|CT|DC|DE|FL|GA|HI|IA|ID|IL|IN|KS|KY|LA|MA|MD|ME|MI|MN|MO|MS|MT|NC|ND|NE|NH|NJ|NM|NV|NY|OH|OK|OR|PA|RI|SC|SD|TN|TX|UT|VA|VT|WA|WI|WV|WY)" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="USZipRegex">
        <xs:union>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="(\d{5})" />
                </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="(\d{9})" />
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>
    <xs:element name="CountryOtherRequired">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Country" type="OtherCountryCode" />
                <xs:element name="ProvinceState" type="String1to4" />
                <xs:element name="PostalZip" type="String0to25" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:element name="CountryOther">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Country" type="OtherCountryCode" minOccurs="0" />
                <xs:element name="ProvinceState" type="String1to4" minOccurs="0" />
                <xs:element name="PostalZip" type="String0to25" minOccurs="0" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:element name="CountryUSNotRequired">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Country" type="USCountryCode" />
                <xs:element name="ProvinceState" type="USStateCode" minOccurs="0" />
                <xs:element name="PostalZip" type="USZipRegex" minOccurs="0" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:element name="CountryCanadaNotRequired">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Country" type="CanadaCountryCode" />
                <xs:element name="ProvinceState" type="CanadaProvinceCode" minOccurs="0" />
                <xs:element name="PostalZip" type="CanadaPostalRegex" minOccurs="0" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <!--  
        Please note: for Canadian addresses, please use <CountryCanada> OR <CountryCanadaNotRequired> as required
        for United States addresses, please use <CountryUS> OR <CountryUSNotRequired> as required

        The OtherCountryCodes are:
            AD	ANDORRA
            AE	UNITED ARAB EMIRATES 
            AF	AFGHANISTAN 
            AG	ANTIGUA AND BARBUDA 
            AI	ANGUILLA 
            AL	ALBANIA 
            AM	ARMENIA 
            AN	NETHERLANDS ANTILLES 
            AO	ANGOLA 
            AQ	ANTARCTICA 
            AR	ARGENTINA 
            AS	AMERICAN SAMOA 
            AT	AUSTRIA 
            AU	AUSTRALIA 
            AW	ARUBA 
            AZ	AZERBAIJAN 
            BA	BOSNIA AND HERZEGOVINA 
            BB	BARBADOS 
            BD	BANGLADESH 
            BE	BELGIUM 
            BF	BURKINA FASO 
            BG	BULGARIA 
            BH	BAHRAIN 
            BI	BURUNDI 
            BJ	BENIN 
            BM	BERMUDA 
            BN	BRUNEI DARUSSALAM 
            BO	BOLIVIA 
            BR	BRAZIL 
            BS	BAHAMAS 
            BT	BHUTAN 
            BV	BOUVET ISLAND 
            BW	BOTSWANA 
            BY	BELARUS 
            BZ	BELIZE 
            CC	COCOS (KEELING) ISLANDS 
            CF	CENTRAL AFRICAN REPUBLIC 
            CG	CONGO 
            CH	SWITZERLAND 
            CI	IVORY COAST 
            CK	COOK ISLANDS 
            CL	CHILE 
            CM	CAMEROON 
            CN	CHINA 
            CO	COLOMBIA 
            CR	COSTA RICA 
            CU	CUBA 
            CV	CAPE VERDE 
            CX	CHRISTMAS ISLAND 
            CY	CYPRUS 
            CZ	CZECH REPUBLIC 
            DE	GERMANY 
            DJ	DJIBOUTI 
            DK	DENMARK 
            DM	DOMINICA 
            DO	DOMINICAN REPUBLIC 
            DZ	ALGERIA 
            EC	ECUADOR 
            EE	REPUBLIC OF ESTONIA 
            EG	EGYPT 
            EH	WESTERN SAHARA 
            ES	SPAIN 
            ET	ETHIOPIA 
            FI	FINLAND 
            FJ	FIJI 
            FK	FALKLAND ISLANDS (MALVINA 
            FM	MICRONESIA 
            FO	FAROE ISLANDS 
            FR	FRANCE 
            FX	FRANCE, METROPOLITAN 
            GA	GABON 
            GB	UNITED KINGDOM 
            GD	GRENADA 
            GE	GEORGIA 
            GF	FRENCH GUIANA 
            GH	GHANA 
            GI	GIBRALTAR 
            GL	GREENLAND 
            GM	GAMBIA 
            GN	GUINEA 
            GP	GUADELOUPE 
            GQ	EQUATORIAL GUINEA 
            GR	GREECE 
            GT	GUATEMALA 
            GU	GUAM 
            GW	GUINEA-BISSAU 
            GY	GUYANA 
            HK	HONG KONG 
            HM	HEAR AND MCDONALD ISLANDS 
            HN	HONDURAS 
            HR	CROATIA 
            HT	HAITI 
            HU	HUNGARY 
            ID	INDONESIA 
            IE	IRELAND 
            IL	ISRAEL 
            IN	INDIA 
            IO	BRITISH INDIAN OCEAN TERR 
            IQ	IRAQ 
            IR	IRAN 
            IS	ICELAND 
            IT	ITALY 
            JM	JAMAICA 
            JO	JORDAN 
            JP	JAPAN 
            KE	KENYA 
            KG	KYRGYSTAN 
            KH	CAMBODIA 
            KI	KIRIBATI 
            KM	COMOROS 
            KN	SAINT KITTS AND NEVIS 
            KP	KOREA, DEMOCRATIC PEOPLES 
            KR	KOREA, REPUBLIC OF COREE 
            KW	KUWAIT 
            KY	CAYMAN ISLANDS 
            KZ	KASAKHSTAN 
            LA	LAO PEOPLE'S DEMOCRATIC 
            LB	LEBANON 
            LC	SAINT LUCIA 
            LI	LIECHTENSTEIN 
            LK	SRI LANKA 
            LR	LIBERIA 
            LS	LESOTHO 
            LT	LITHUANIA 
            LU	LUXEMBOURG 
            LV	LATVIA 
            LY	LIBYAN ARAB JAMAHIRIYA 
            MA	MOROCCO 
            MC	MONACO 
            MG	MADAGASCAR 
            MH	MARSHALL ISLANDS 
            ML	MALI 
            MM	MYANMAR 
            MN	MONGOLIA 
            MO	MACAU 
            MP	NORTHERN MARIANA ISLANDS 
            MQ	MARTINIQUE 
            MR	MAURITANIA 
            MS	MONTSERRAT 
            MT	MALTA MALTE 
            MU	MAURITIUS 
            MV	MALDIVES 
            MW	MALAWI 
            MX	MEXICO 
            MY	MALAYSIA 
            MZ	MOZAMBIQUE 
            NA	NAMIBIA 
            NC	NEW CALENDONIA 
            NE	NIGER 
            NF	NORFOLK ISLAND 
            NG	NIGERIA 
            NI	NICARAGUA 
            NL	NETHERLANDS
            NO	NORWAY 
            NP	NEPAL 
            NR	NAURU 
            NT	NEUTRAL ZONE 
            NU	NIUE 
            NZ	NEW ZEALAND 
            OM	OMAN 
            PA	PANAMA 
            PE	PERU 
            PF	FRENCH POLYNESIA 
            PG	PAPUA NEW GUINEA 
            PH	PHILIPPINES 
            PK	PAKISTAN 
            PL	POLAND 
            PM	ST. PIERRE AND MIQUELON 
            PN	PITCAIRN 
            PR	PUERTO RICO 
            PT	PORTUGAL 
            PW	PALAU 
            PY	PARAGUAY 
            QA	QATAR 
            RE	REUNION 
            RO	ROMANIA 
            RU	RUSSIAN FEDERATION 
            RW	RWANDA 
            SA	SAUDI ARABIA 
            SB	SOLOMON ISLANDS 
            SC	SEYCHELLES 
            SD	SUDAN 
            SE	SWEDEN 
            SG	SINGAPORE 
            SH	ST. HELENA 
            SI	SLOVENIA 
            SJ	SVALBARD AND JAN MAYEN 
            SK	SLOVAKIA 
            SM	SAN MARINO 
            SN	SENEGAL 
            SO	SOMALIA 
            SR	SURINAME 
            ST	SAO TOME AND PRINCIPE 
            SU	U.S.S.R. 
            SV	EL SALVADOR 
            SY	SYRIAN ARAB REPUBLIC 
            SZ	SWAZILAND 
            TC	TURKS AND CAICOS ISLANDS 
            TD	CHAD 
            TF	FRENCH SOUTHERN TERRITORI 
            TG	TOGO 
            TH	THAILAND 
            TJ	TAJIKISTAN 
            TK	TOKELAU 
            TM	TURKEMENISTAN 
            TN	TUNISIA 
            TO	TONGA 
            TP	EAST TIMOR 
            TR	TURKEY 
            TT	TRINIDAD AND TOBAGO 
            TV	TUVALU 
            TW	TAIWAN 
            TZ	TANZANIA, UNITED REPUBLIC 
            UA	UKRAINE 
            UG	UGANDA 
            UM	UNITED STATES ISLANDS MIN 
            UY	URUGUAY 
            UZ	UZBEKISTAN 
            VA	VATICAN CITY STATE 
            VC	SAINT VINCENT AND THE GRE 
            VE	VENEZUELA 
            VG	VIRGIN ISLANDS (BRITISH) 
            VI	VIRGIN ISLANDS (U.S.) 
            VN	VIET NAM 
            VU	VANUATU 
            WF	WALLIS AND FUTUNA ISLANDS 
            WS	SAMOA 
            YE	YEMEN, REPUBLIC OF YEMEN 
            YT	MAYOTTE 
            YU	YUGOSLAVIA 
            ZA	SOUTH AFRICA 
            ZM	ZAMBIA 
            ZR	ZAIRE 
            ZW	ZIMBABWE

         -->
    <xs:simpleType name="OtherCountryCode">
        <xs:restriction base="xs:string">
            <xs:pattern
                value="(AD|AE|AF|AG|AI|AL|AM|AN|AO|AQ|AR|AS|AT|AU|AW|AZ|BA|BB|BD|BE|BF|BG|BH|BI|BJ|BM|BN|BO|BR|BS|BT|BV|BW|BY|BZ|CC|CF|CG|CH|CI|CK|CL|CM|CN|CO|CR|CU|CV|CX|CY|CZ|DE|DJ|DK|DM|DO|DZ|EC|EE|EG|EH|ES|ET|FI|FJ|FK|FM|FO|FR|FX|GA|GB|GD|GE|GF|GH|GI|GL|GM|GN|GP|GQ|GR|GT|GU|GW|GY|HK|HM|HN|HR|HT|HU|ID|IE|IL|IN|IO|IQ|IR|IS|IT|JM|JO|JP|KE|KG|KH|KI|KM|KN|KP|KR|KW|KY|KZ|LA|LB|LC|LI|LK|LR|LS|LT|LU|LV|LY|MA|MC|MG|MH|ML|MM|MN|MO|MP|MQ|MR|MS|MT|MU|MV|MW|MX|MY|MZ|NA|NC|NE|NF|NG|NI|NL|NO|NP|NR|NT|NU|NZ|OM|PA|PE|PF|PG|PH|PK|PL|PM|PN|PR|PT|PW|PY|QA|RE|RO|RU|RW|SA|SB|SC|SD|SE|SG|SH|SI|SJ|SK|SM|SN|SO|SR|ST|SU|SV|SY|SZ|TC|TD|TF|TG|TH|TJ|TK|TM|TN|TO|TP|TR|TT|TV|TW|TZ|UA|UG|UM|UY|UZ|VA|VC|VE|VG|VI|VN|VU|WF|WS|YE|YT|YU|ZA|ZM|ZR|ZW)" />
        </xs:restriction>
    </xs:simpleType>
    <!-- 
	    The Property Type Codes are:
		    AC01 - Chequing Accounts
			AC02 - Savings Accounts
			AC03 - Mature Certificate Deposit or Savings Certificate
			AC04 - Christmas Club Funds
			AC05 - Money on deposit to secure funds
			AC06 - Security Deposits
			AC07 - Unidentified Deposits
			AC08 - Suspense Accounts
			CK01 - Cashier's Cheques
			CK02 - Certified Cheques
			CK03 - Registered Cheques
			CK04 - Treasurer's Cheques
			CK05 - Drafts
			CK06 - Warrants
			CK07 - Money Orders
			CK08 - Traveler's Cheques
			CK09 - Foreign Exchange Cheques
			CK10 - Expense Cheques
			CK11 - Pension Cheques
			CK12 - Credit Cheques or Memos
			CK13 - Vendor Cheques
			CK14 - Cheques Written off to Income
			CK15 - Other Outstanding Official Cheques
			CK16 - Certificate of Deposit Interest Cheques
			CS01 - Registered Education Savings Plan (RESP) - Cash
			CS02 - Registered Education Savings Plan (RESP) - Mutual Funds
			CS03 - Registered Education Savings Plan (RESP) - Securities
			CT01 - Escrow Funds
			CT02 - Condemnation Awards
			CT03 - Missing Heirs' Funds
			CT04 - Suspense Accounts
			CT05 - Other Court Deposits
			IN01 - Individual Policy Benefits
			IN02 - Group Policy Benefits or Claim Payments
			IN03 - Proceeds Due Beneficiaries
			IN04 - Proceeds from Matured Policies, Endowments or Annuities
			IN05 - Premium Refunds
			IN06 - Unidentified Remittances
			IN07 - Other Amounts Due Under Policy Terms
			IN08 - Agent Credit Balances
			IN50 - Segregated Funds
			IR40 - Registered Disability Savings Plan (RDSP) - Cash
			IR41 - Registered Disability Savings Plan (RDSP) - Mutual Funds
			IR42 - Registered Disability Savings Plan (RDSP) - Securities
			IR50 - Registered Retirement Savings Plan (RRSP) - Cash
			IR51 - Registered Retirement Savings Plan (RRSP) - Mutual Funds
			IR52 - Registered Retirement Savings Plan (RRSP) - Securities
			IR60 - Registered Retirement Income Fund (RRIF) - Cash
			IR61 - Registered Retirement Income Fund (RRIF) - Mutual Funds
			IR62 - Registered Retirement Income Fund (RRIF) - Securities
			IR70 - Locked-In Retirement Account (LIRA) - Cash
			IR71 - Locked-In Retirement Account (LIRA) - Mutual Funds
			IR72 - Locked-In Retirement Account (LIRA) - Securities
			IR80 - Tax Free Savings Account (TFSA) - Cash
			IR81 - Tax Free Savings Account (TFSA) - Mutual Funds
			IR82 - Tax Free Savings Account (TFSA) - Securities
			IR90 - Pensions
			MI01 - Net Revenue Interest
			MI02 - Royalties
			MI03 - Overriding Royalties
			MI04 - Production Payments
			MI05 - Working Interest
			MI06 - Bonuses
			MI07 - Delay Rentals
			MI08 - Shut-in Royalties
			MI09 - Minimum Royalties
			MS01 - Wages, Payroll, Salary
			MS02 - Commissions
			MS03 - Workers Compensation Benefits
			MS04 - Payments For Goods & Services
			MS05 - Customer Overpayments
			MS06 - Unidentified Remittances
			MS07 - Unrefunded Overcharges
			MS08 - Accounts Payable
			MS09 - Credit Balance - Accounts Receivable
			MS10 - Discounts Due
			MS11 - Refunds Due
			MS12 - Unredeemed Gift Certificates
			MS13 - Unclaimed Loan Collateral
			MS14 - Pension & Profit Sharing
			MS15 - Dissolution or Liquidation
			MS16 - Miscellaneous Outstanding Cheques
			MS17 - Miscellaneous Intangible Property
			MS18 - Suspense Liabilities
			SC01 - Dividends
			SC02 - Interest (Bond Coupons)
			SC03 - Principal Payments
			SC04 - Equity Payments
			SC05 - Profits
			SC06 - Funds Paid to Purchase Shares
			SC07 - Funds for Stocks & Bonds
			SC08 - Shares of Stock (Returned by Post Office)
			SC09 - Cash for Fraction Shares
			SC10 - Unexchanged Stock of Successor Corp
			SC11 - Other Certificate of Ownership
			SC12 - Underlying Shares or other Outstanding Certificates
			SC13 - Funds for Liquidation / Redemption of Un-surrendered Stock or Bonds
			SC14 - Debentures
			SC15 - Canadian Government Securities
			SC16 - Mutual Fund Units
			SC17 - Warrant (Rights)
			SC18 - Mature Bond Principal
			SC19 - Dividend Reinvestment Plans
			SC20 - Credit Balances
			SD01 - Safety Deposit Box Contents
			SD02 - Other Safekeeping
			SD03 - Other Tangible Property
			TR01 - Paying Agents Account
			TR02 - Undelivered or Uncashed Dividends
			TR03 - Funds held in Fiduciary Capacity
			TR04 - Escrow Accounts
			TR05 - Trust Vouchers
			UT01 - Utility Deposits
			UT02 - Membership Fees
			UT03 - Refunds or Rebates
			UT04 - Capital Credit Distributions
			ZZZZ - Property Not Identified Above
	 -->
    <xs:simpleType name="PropertyCode">
        <xs:restriction base="xs:string">
            <xs:pattern
                value="(AC01|AC02|AC03|AC04|AC05|AC06|AC07|AC08|CK01|CK02|CK03|CK04|CK05|CK06|CK07|CK08|CK09|CK10|CK11|CK12|CK13|CK14|CK15|CK16|CS01|CS02|CS03|CT01|CT02|CT03|CT04|CT05|IN01|IN02|IN03|IN04|IN05|IN06|IN07|IN08|IN50|IR40|IR41|IR42|IR50|IR51|IR52|IR60|IR61|IR62|IR70|IR71|IR72|IR80|IR81|IR82|IR90|MI01|MI02|MI03|MI04|MI05|MI06|MI07|MI08|MI09|MS01|MS02|MS03|MS04|MS05|MS06|MS07|MS08|MS09|MS10|MS11|MS12|MS13|MS14|MS15|MS16|MS17|MS18|SC01|SC02|SC03|SC04|SC05|SC06|SC07|SC08|SC09|SC10|SC11|SC12|SC13|SC14|SC15|SC16|SC17|SC18|SC19|SC20|SD01|SD02|SD03|TR01|TR02|TR03|TR04|TR05|UT01|UT02|UT03|UT04|ZZZZ)" />
        </xs:restriction>
    </xs:simpleType>
    <!-- 
	    The Deduction Codes are:
		    MC - Mailing Cost (only when authorized; refer to Section 8, Unclaimed Property Act)
			SW - Service Charge (only when authorized; refer to Section 8, Unclaimed Property Act)
			TW - Income Tax Withheld (includes required remittances; refer to Section 13, Unclaimed Property
    Act)
			ZZ - Deduction Code Not Identified Above
	 -->
    <xs:simpleType name="DeductionCode">
        <xs:restriction base="xs:string">
            <xs:pattern value="(MC|SW|TW|ZZ)" />
        </xs:restriction>
    </xs:simpleType>
    <!-- 
	    The Ownership Type Codes are:
		    OT - All Owners except Unknown. 
		    UN - Unknown Owner (no name available). 
	 -->
    <xs:simpleType name="OwnershipTypeCode">
        <xs:restriction base="xs:string">
            <xs:pattern value="(OT|UN)" />
        </xs:restriction>
    </xs:simpleType>
    <!-- 
	    The Relationship Codes are:
		    BF - Any person or entity designated to receive assets from, for example, an estate, a trust, or an
    insurance policy, or any instrument in which there is distribution.
			ES - The property of a decedent, prior to distribution, or assets managed by a conservator or
    guardian. Property held in the name of the estate.
			IN - The person or entity who is covered by an insurer under the terms of an insurance policy.
			JT - Ownership by two or more persons in which each owns an undivided interest in the whole, and a
    right of survivorship is presumed.
			OT - Relationship other than specified in this list. Additional details should be submitted with
    the property.
			SO - Sole Owner is used when there is only a single owner for the property, and that person has all
    rights to the ownership of the property.
			TC - This type of property is owned by at least two people with no rights of survivorship afforded
    to any of the account holders. 
			TE - A person or entity who holds the assets (corpus) of a trust for the benefit of the
    beneficiaries and manages the trust and its assets under the terms of the trust.
			UN - The owner's relationship to the property is not known.
	 -->
    <xs:simpleType name="RelationshipCode">
        <xs:restriction base="xs:string">
            <xs:pattern value="(BF|ES|IN|JT|OT|SO|TC|TE|UN)" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="EmailRegex">
        <xs:union>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="([\w_]+)([\-+.][\w_]+)*@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}" />
                    <!--   regex matches one in Vtypes.js   -->
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>
    <xs:simpleType name="MoneyRegex">
        <xs:union>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="(0\.(0[1-9]|[1-9]\d))" />
                </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="([1-9]\d{0,12}((\.\d{2})?))" />
                </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="([1-9]\d{0,12}((\.\d{1})?))" />
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>
    <xs:simpleType name="MoneyRegexOpt">
        <xs:union>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="(0\.(0[1-9]|[1-9]\d))" />
                </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="([1-9]\d{0,12}((\.\d{2})?))" />
                </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="([1-9]\d{0,12}((\.\d{1})?))" />
                </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="" />
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>
    <xs:simpleType name="Phone0orRegex">
        <xs:union>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="" />
                </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="\d{10}" />
                </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="1{1}\d{10}" />
                </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="\d{3}\-\d{3}\-\d{4}" />
                </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="1{1}\-\d{3}\-\d{3}\-\d{4}" />
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>
    <!--  
            Valid phone numbers are:
                ##########
                ###########
                ###-###-####
                #-###-###-####
         -->
    <xs:simpleType name="PhoneRegex">
        <xs:union>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="\d{10}" />
                </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="1{1}\d{10}" />
                </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="\d{3}\-\d{3}\-\d{4}" />
                </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="1{1}\-\d{3}\-\d{3}\-\d{4}" />
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>
    <xs:simpleType name="Int4Optional">
        <xs:union>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="" />
                </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
                <xs:restriction base="xs:int">
                    <xs:pattern value="\d{4}" />
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>
    <xs:simpleType name="Int5">
        <xs:union>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:length value="0" />
                </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
                <xs:restriction base="xs:int">
                    <xs:pattern value="\d{5}" />
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>
    <xs:simpleType name="String0to25">
        <xs:restriction base="xs:string">
            <xs:maxLength value="25" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="String0to35">
        <xs:restriction base="xs:string">
            <xs:maxLength value="35" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="String0to70">
        <xs:restriction base="xs:string">
            <xs:maxLength value="70" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="String0to500White">
        <xs:restriction base="xs:string">
            <xs:whiteSpace value="preserve" />
            <xs:maxLength value="500" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="String0to1000White">
        <xs:restriction base="xs:string">
            <xs:whiteSpace value="preserve" />
            <xs:maxLength value="1000" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="String0to2000White">
        <xs:restriction base="xs:string">
            <xs:whiteSpace value="preserve" />
            <xs:maxLength value="2000" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="String0to4">
        <xs:restriction base="xs:string">
            <xs:maxLength value="4" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="String1to4">
        <xs:restriction base="xs:string">
            <xs:minLength value="1" />
            <xs:maxLength value="4" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="String1to25">
        <xs:restriction base="xs:string">
            <xs:minLength value="1" />
            <xs:maxLength value="25" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="String1to35">
        <xs:restriction base="xs:string">
            <xs:minLength value="1" />
            <xs:maxLength value="35" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="String1to70">
        <xs:restriction base="xs:string">
            <xs:minLength value="1" />
            <xs:maxLength value="70" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="String1to500White">
        <xs:restriction base="xs:string">
            <xs:whiteSpace value="preserve" />
            <xs:minLength value="1" />
            <xs:maxLength value="500" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="String4">
        <xs:restriction base="xs:string">
            <xs:minLength value="4" />
            <xs:maxLength value="4" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="DateMin">
        <xs:restriction base="xs:date">
            <xs:minInclusive value="1900-01-01" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="DateNotRequired">
        <xs:union>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="" />
                </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
                <xs:restriction base="xs:date">
                    <xs:minInclusive value="1900-01-01" />
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>
    <xs:simpleType name="EmailNotRequired">
        <xs:union>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="" />
                </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="([\w_]+)([\-+.][\w_]+)*@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}" />
                    <!--   regex matches one in Vtypes.js   -->
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>
</xs:schema>