<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:sdt="http://www.cra-arc.gc.ca/xmlns/sdt/2-2-0" xmlns:comm="http://www.cra-arc.gc.ca/xmlns/comm/2019/1-0-0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.cra-arc.gc.ca/xmlns/comm/2019/1-0-0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1-0-0">
    <xsd:import namespace="http://www.cra-arc.gc.ca/xmlns/sdt/2-2-0" schemaLocation="standarddatatypes.xsd"/>
    <xsd:element name="SoftwareID">
        <xsd:annotation>
            <xsd:documentation xml:lang="en">Ends with "F"/"f" for T1 Efile; "G"/"g" for T1 Netfile; "K"/"k" for T1135 via Efile; "M"/"m" for T1135 via Netfile</xsd:documentation>
            <xsd:documentation xml:lang="fr">Se termine avec un (F) ou (f) pour TED T1; avec un (G) ou (g) pour Impôtnet; (K) ou (k) pour T1135 via TED; (M) ou (m) pour T1135 via Impôtnet.</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="sdt:IDType">
                <xsd:minLength value="4"/>
				<xsd:maxLength value="5"/>
	            <xsd:pattern value="[0-9]{3}[A-Za-z]|[0-9]{3}[A-Za-z]{2}"/>
			</xsd:restriction>
        </xsd:simpleType>
    </xsd:element>
    <xsd:element name="SoftwareRevisionDate" type="sdt:DateType">
        <xsd:annotation>
            <xsd:documentation xml:lang="en">Format is YYYY-MM-DD</xsd:documentation>
            <xsd:documentation xml:lang="fr">Le format est AAAA-MM-JJ</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="TaxationCentreCode">
        <xsd:simpleType>
            <xsd:restriction base="sdt:CodeType">
                <xsd:length value="2"/>
                <xsd:pattern value="[9][2 4-9]"/>
                <xsd:enumeration value="92"/>
                <xsd:enumeration value="94"/>
                <xsd:enumeration value="95"/>
                <xsd:enumeration value="96"/>
                <xsd:enumeration value="97"/>
                <xsd:enumeration value="98"/>
                <xsd:enumeration value="99"/>
            </xsd:restriction>
        </xsd:simpleType>
    </xsd:element>
    <xsd:element name="TaxpayerName" type="comm:CompleteIndividualNameType"/>
    <xsd:complexType name="CompleteIndividualNameType">
        <xsd:sequence>
            <xsd:element ref="comm:GivenName"/>
            <xsd:element ref="comm:FamilyName"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="IndividualNameType">
        <xsd:sequence>
            <xsd:element ref="comm:GivenName" minOccurs="0"/>
            <xsd:element ref="comm:FamilyName"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="IndividualGivenNameType">
        <xsd:simpleContent>
            <xsd:restriction base="sdt:NameType">
                <xsd:maxLength value="30"/>
            </xsd:restriction>
        </xsd:simpleContent>
    </xsd:complexType>
    <xsd:element name="GivenName">
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:restriction base="comm:IndividualGivenNameType"/>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:complexType name="IndividualFamilyNameType">
        <xsd:simpleContent>
            <xsd:restriction base="sdt:NameType">
                <xsd:maxLength value="30"/>
            </xsd:restriction>
        </xsd:simpleContent>
    </xsd:complexType>
    <xsd:element name="FamilyName">
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:restriction base="comm:IndividualFamilyNameType"/>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:simpleType name="IndividualSocialInsuranceNumberType">
        <xsd:annotation>
            <xsd:documentation xml:lang="en">STANDARD CRA-SPECIFIC GLOBAL CONSTRUCTS SIN. Must pass MOD-10 check.</xsd:documentation>
            <xsd:documentation xml:lang="fr">STANDARD SPÉCIFIQUE DE L'ARC POUR GÉNÉRER UN NAS. Doit passer le contrôle MOD-10.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="sdt:NumberType">
            <xsd:length value="9"/>
            <xsd:pattern value="[0-9]{9}"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="ContactAddressType">
        <xsd:sequence>
            <xsd:element ref="comm:BusinessAddressStreetText"/>
            <xsd:element ref="comm:AddressMunicipalityName"/>
            <xsd:element ref="comm:AddressProvinceCode"/>
            <xsd:element ref="comm:AddressPostalCode"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="CanadianMailingAddress" type="comm:CanadianMailingAddressType"/>
    <xsd:complexType name="CanadianMailingAddressType">
        <xsd:sequence>
            <xsd:element ref="comm:AddressStreetText"/>
            <xsd:element ref="comm:AddressMunicipalityName"/>
            <xsd:element ref="comm:AddressProvinceCode"/>
            <xsd:element ref="comm:AddressPostalCode"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="AddressCareOfLineText">
        <xsd:annotation>
            <xsd:documentation xml:lang="en">Valid characters include Alpha/numeric, space, hyphen, apostrophe, slash, ampersand, diacritic and period. The period can be in the last position. The following characters: hyphen, apostrophe, slash, ampersand are not allowed in the first or last position. It must not contain "A/S: ", "C/O: ", "A/S ", "C/O ", "A/S:", "C/O:", "A/S", "C/O".</xsd:documentation>
            <xsd:documentation xml:lang="fr">Les caractères valides comprennent Alphabétique/numérique, espace, trait d'union, apostrophe, barre oblique, esperluette, signe accentué et un point. Le point peut être à la dernière position. Les caractères suivants ne sont pas autorisés dans la première ou dernière position: trait d'union, apostrophe, barre oblique, esperluette.  Il ne doit pas contenir «A / S: », «C / O: », «A / S », «C / O », «A / S:», «C / O:», «A / S», «C / O».</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:restriction base="sdt:TextType">
                    <xsd:maxLength value="26"/>
                </xsd:restriction>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="BusinessAddressStreetText">
        <xsd:annotation>
            <xsd:documentation xml:lang="en"> Valid characters include Alpha/numeric, space*, hyphen, apostrophe, slash, ampersand, diacritic, pound symbol (#), brackets ( ) and period*.  A period or space is a valid character at any position except at the first position. The bracket can be in the last position.  It must not contain "A/S: ", "C/O: ", "A/S ", "C/O ", "A/S:", "C/O:", "A/S", "C/O".  The following characters are not allowed in the first or last position:  hyphen, apostrophe, slash, ampersand, brackets, pound symbol.</xsd:documentation>
            <xsd:documentation xml:lang="fr"> Les caractères valides comprennent Alphabétique/numérique, espace *, trait d'union, apostrophe, barre oblique, esperluette, signe accentué, symbole dièse (#), parenthèses () et le point *. Un point ou espace est un caractère valide à n'importe quelle position sauf au niveau de la première position. La parenthèse peut être à la dernière position. Il ne doit pas contenir «A / S: », «C / O: », «A / S », «C / O », «A / S:», «C / O:», «A / S», «C / O». Les caractères suivants ne sont pas autorisés dans la première ou dernière position: trait d'union, apostrophe, barre oblique, esperluette, parenthèses, symbole dièse.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:restriction base="sdt:TextType">
                    <xsd:maxLength value="60"/>
                </xsd:restriction>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="AddressStreetText">
        <xsd:annotation>
            <xsd:documentation xml:lang="en"> Valid characters include Alpha/numeric, space*, hyphen, apostrophe, slash, ampersand, diacritic, pound symbol (#), brackets ( ) and period*.  A period or space is a valid character at any position except at the first position. The bracket can be in the last position.  It must not contain "A/S: ", "C/O: ", "A/S ", "C/O ", "A/S:", "C/O:", "A/S", "C/O".  The following characters are not allowed in the first or last position:  hyphen, apostrophe, slash, ampersand, brackets, pound symbol.</xsd:documentation>
            <xsd:documentation xml:lang="fr"> Les caractères valides comprennent Alphabétique/numérique, espace *, trait d'union, apostrophe, barre oblique, esperluette, signe accentué, symbole dièse (#), parenthèses () et le point *. Un point ou espace est un caractère valide à n'importe quelle position sauf au niveau de la première position. La parenthèse peut être à la dernière position. Il ne doit pas contenir «A / S: », «C / O: », «A / S », «C / O », «A / S:», «C / O:», «A / S», «C / O». Les caractères suivants ne sont pas autorisés dans la première ou dernière position: trait d'union, apostrophe, barre oblique, esperluette, parenthèses, symbole dièse.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:restriction base="sdt:TextType">
                    <xsd:maxLength value="60"/>
                </xsd:restriction>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="AddressMunicipalityName">
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:restriction base="sdt:NameType">
                    <xsd:maxLength value="50"/>
                </xsd:restriction>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="AddressProvinceCode">
        <xsd:annotation>
            <xsd:documentation xml:lang="en">Must be one of the following abbreviations: NL - Newfoundland, PE - Prince Edward Island, NS - Nova Scotia, NB - New Brunswick, QC - Quebec, ON - Ontario, MB - Manitoba, SK - Saskatchewan, AB - Alberta, BC - British Columbia, YT - Yukon, NU - Nunavut, NT - Northwest Territories</xsd:documentation>
            <xsd:documentation xml:lang="fr">Doit être l'une des abréviations suivantes: NL - Terre-Neuve-et-Labrador, PE - Île-du-Prince-Édouard, NS - Nouvelle-Écosse, NB - Nouveau-Brunswick, QC - Québec, ON - Ontario, MB - Manitoba, SK - Saskatchewan, AB - Alberta, BC - Colombie-Britannique, YT - Yukon, NU - Nunavut, NT - Territoires du Nord-Ouest</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="comm:CanadianProvinceCodeType">
                <xsd:length value="2"/>
            </xsd:restriction>
        </xsd:simpleType>
    </xsd:element>
    <xsd:simpleType name="CanadianProvinceCodeType">
        <xsd:annotation>
            <xsd:documentation xml:lang="en">Must be one of the following abbreviations: NL - Newfoundland, PE - Prince Edward Island, NS - Nova Scotia, NB - New Brunswick, QC - Quebec, ON - Ontario, MB - Manitoba, SK - Saskatchewan, AB - Alberta, BC - British Columbia, YT - Yukon, NU - Nunavut, NT - Northwest Territories</xsd:documentation>
            <xsd:documentation xml:lang="fr">Doit être l'une des abréviations suivantes: NL - Terre-Neuve-et-Labrador, PE - Île-du-Prince-Édouard, NS - Nouvelle-Écosse, NB - Nouveau-Brunswick, QC - Québec, ON - Ontario, MB - Manitoba, SK - Saskatchewan, AB - Alberta, BC - Colombie-Britannique, YT - Yukon, NU - Nunavut, NT - Territoires du Nord-Ouest</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:token">
            <xsd:length value="2"/>
            <xsd:enumeration value="NL"/>
            <xsd:enumeration value="PE"/>
            <xsd:enumeration value="NS"/>
            <xsd:enumeration value="NB"/>
            <xsd:enumeration value="QC"/>
            <xsd:enumeration value="ON"/>
            <xsd:enumeration value="MB"/>
            <xsd:enumeration value="SK"/>
            <xsd:enumeration value="AB"/>
            <xsd:enumeration value="BC"/>
            <xsd:enumeration value="YT"/>
            <xsd:enumeration value="NU"/>
            <xsd:enumeration value="NT"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:element name="AddressPostalCode">
        <xsd:simpleType>
            <xsd:restriction base="comm:CanadianPostalCodeType">
                <xsd:length value="6"/>
            </xsd:restriction>
        </xsd:simpleType>
    </xsd:element>
    <xsd:simpleType name="CanadianPostalCodeType">
        <xsd:restriction base="sdt:CodeType">
            <xsd:length value="6"/>
            <xsd:pattern value="([A-Za-z][0-9]){3}"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="NorthAmericanTelephoneNumberType">
        <xsd:sequence>
            <xsd:element ref="comm:TelephoneAreaCode"/>
            <xsd:element ref="comm:TelephoneLocalNumber"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="TelephoneAreaCode">
        <xsd:annotation>
            <xsd:documentation xml:lang="en">Telephone Area Code</xsd:documentation>
            <xsd:documentation xml:lang="fr">Indicatif régional du numéro de téléphone</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="sdt:CodeType">
                <xsd:length value="3"/>
                <xsd:pattern value="[1-9][0-9]{2}"/>
            </xsd:restriction>
        </xsd:simpleType>
    </xsd:element>
    <xsd:element name="TelephoneLocalNumber">
        <xsd:annotation>
            <xsd:documentation xml:lang="en">Telephone Number</xsd:documentation>
            <xsd:documentation xml:lang="fr">Numéro de téléphone</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="sdt:NumberType">
                <xsd:length value="7"/>
                <xsd:pattern value="[0-9]{7}"/>
            </xsd:restriction>
        </xsd:simpleType>
    </xsd:element>
    <xsd:element name="ReturnLine" type="comm:GenericReturnLineType">
        <xsd:annotation>
            <xsd:documentation xml:lang="en">Free Form misc data</xsd:documentation>
            <xsd:documentation xml:lang="fr">Données diverses format non structuré</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:complexType name="GenericReturnLineType">
        <xsd:sequence>
            <xsd:element ref="comm:FieldCode"/>
            <xsd:element ref="comm:FieldValue"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="FieldCode">
        <xsd:simpleType>
            <xsd:restriction base="sdt:CodeType">
                <xsd:minLength value="3"/>
                <xsd:maxLength value="4"/>
                <xsd:pattern value="[1-9][0-9]{2,3}"/>
            </xsd:restriction>
        </xsd:simpleType>
    </xsd:element>
    <xsd:element name="FieldValue" type="sdt:ValueType"/>
    <xsd:element name="EnvironmentCode">
        <xsd:simpleType>
            <xsd:restriction base="comm:EnvironmentType">
                <xsd:length value="2"/>
            </xsd:restriction>
        </xsd:simpleType>
    </xsd:element>
    <xsd:simpleType name="EnvironmentType">
        <xsd:restriction base="sdt:CodeType">
            <xsd:length value="2"/>
            <xsd:enumeration value="UT"/>
            <xsd:enumeration value="UA"/>
            <xsd:enumeration value="SI"/>
            <xsd:enumeration value="OT"/>
            <xsd:enumeration value="TR"/>
            <xsd:enumeration value="PR"/>
            <xsd:enumeration value="EF"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:element name="TestCaseIdentifier">
        <xsd:simpleType>
            <xsd:restriction base="sdt:IDType">
                <xsd:minLength value="1"/>
                <xsd:maxLength value="4"/>
                <xsd:pattern value="([0-9])*"/>
            </xsd:restriction>
        </xsd:simpleType>
    </xsd:element>
    <xsd:element name="OriginatingIP">
        <xsd:annotation>
            <xsd:documentation xml:lang="en">IP Address of the computer or device (IPV4 or IPV6 format) from which the return was initially transmitted or the IP address of the clients accessing your services prior to redirecting the return to the CRA from your proxy servers. If this information is not available, the default value for IPV4 format is "0.0.0.0" and "::" for IPV6 format.</xsd:documentation>
            <xsd:documentation xml:lang="fr">Adresse IP de l'ordinateur ou du dispositif (format IPV4 ou IPV6) à partir duquel la déclaration a été initialement transmise ou l'adresse IP des clients qui accèdent à vos services avant de rediriger la déclaration à l'ARC de vos serveurs proxy. Si cette information n'est pas disponible, la valeur par défaut pour le format IPV4 est "0.0.0.0" et "::" pour le format IPV6.</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="sdt:SimpleTextType">
                <xsd:maxLength value="45"/>
                <xsd:minLength value="2"/>
            </xsd:restriction>
        </xsd:simpleType>
    </xsd:element>
</xsd:schema>
