<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Description: Canada Revenue Agency Common Structures 
	Used to present data types that are common to multiple CRA internal or external user groups   
Contact: CRA, ITB, Solutions, ITAS, Data Architecture 
Date created: March 2013 
Updates:  September 2014 - added  
				EmailAddressTextType, EmailComponentAddressType, 
				EmailAccountNameType, EmailDomainNamesType

-->
<xsd:schema 
xmlns:ccms="http://www.cra-arc.gc.ca/xmlns/ccms/1-1-0" 
xmlns:sdt="http://www.cra-arc.gc.ca/xmlns/sdt/2-2-0"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
targetNamespace="http://www.cra-arc.gc.ca/xmlns/ccms/1-1-0" 
elementFormDefault="qualified" attributeFormDefault="unqualified" version="1-1-0">
	<xsd:import namespace="http://www.cra-arc.gc.ca/xmlns/sdt/2-2-0" schemaLocation="standarddatatypes.xsd"/>

	<xsd:element name="TaxationCentreCode">
		<xsd:simpleType>
			<xsd:restriction base="sdt:CodeType">
				<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:complexType name="GivenNameType">
		<xsd:simpleContent>
			<xsd:annotation>
				<xsd:documentation> 
			This type is provided to ensure consistent naming across CRA XML schemas
				</xsd:documentation>
			</xsd:annotation>
			<xsd:restriction base="sdt:NameType">
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
	
	<xsd:element name="GivenName">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:annotation>
				<xsd:documentation>
			This element is provided to ensure consistent naming across CRA XML schemas
				</xsd:documentation>
				</xsd:annotation>
				<xsd:restriction base="ccms:GivenNameType"/>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="FamilyNameType">
		<xsd:simpleContent>
			<xsd:annotation>
				<xsd:documentation>
			This type is provided to ensure consistent naming across CRA XML schemas
				</xsd:documentation>
			</xsd:annotation>
			<xsd:restriction base="sdt:NameType">
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:element name="FamilyName">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:annotation>
				<xsd:documentation>
			This element is provided to ensure consistent naming across CRA XML schemas
				</xsd:documentation>
				</xsd:annotation>
				<xsd:restriction base="ccms:FamilyNameType"/>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	
	<xsd:simpleType name="SINType">
		<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:element name="SocialInsuranceNumber">
		<xsd:simpleType>
				<xsd:restriction base="ccms:SINType"/>
		</xsd:simpleType>
	</xsd:element>

	<xsd:element name="ProvinceTerritoryCode">
		<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="ccms:CanadianProvinceTerritoryCodeType">
				<xsd:length value="2"/>
			</xsd:restriction>
		</xsd:simpleType>
	</xsd:element>
	<xsd:element name="CanadianPostalCode">
		<xsd:simpleType>
			<xsd:restriction base="ccms:CanadianPostalCodeType">
			</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="ccms:TelephoneAreaCode"/>
			<xsd:element ref="ccms: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>
<!-- common name structures names of varying length  -->	
	<xsd:complexType name="Name30CharacterType">
		<xsd:simpleContent>
			<xsd:restriction base="sdt:NameType">
				<xsd:maxLength value="30"/>
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="Name35CharacterType">
		<xsd:simpleContent>
			<xsd:restriction base="sdt:NameType">
				<xsd:maxLength value="35"/>
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="Name50CharacterType">
		<xsd:simpleContent>
			<xsd:restriction base="sdt:NameType">
				<xsd:maxLength value="50"/>
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="Name60CharacterType">
		<xsd:simpleContent>
			<xsd:restriction base="sdt:NameType">
				<xsd:maxLength value="60"/>
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="Name150CharacterType">
		<xsd:simpleContent>
			<xsd:restriction base="sdt:NameType">
				<xsd:maxLength value="150"/>
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="Name175CharacterType">
		<xsd:simpleContent>
			<xsd:restriction base="sdt:NameType">
				<xsd:maxLength value="175"/>
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:simpleType name="EmailAccountNameType">
			<xsd:restriction base="sdt:SimpleTextType">
				<xsd:pattern value="[A-Za-z0-9_]+([-+.'][A-Za-z0-9_]+)* "/>	
				<xsd:maxLength value="64"/>
			</xsd:restriction>
	</xsd:simpleType>
	<xsd:element name="EmailAccountName">
		<xsd:simpleType>
			<xsd:restriction base="ccms:EmailAccountNameType">
			</xsd:restriction>
		</xsd:simpleType>
	</xsd:element>
	<xsd:simpleType name="EmailDomainNamesType">
			<xsd:restriction base="sdt:SimpleTextType">
				<xsd:pattern value="[A-Za-z0-9_]+([-.][A-Za-z0-9_]+)*\.[A-Za-z0-9_]+([-.][A-Za-z0-9_]+)*"/>	
				<xsd:maxLength value="255"/>
			</xsd:restriction>
	</xsd:simpleType>
	<xsd:element name="EmailDomainNames">
		<xsd:simpleType>
			<xsd:restriction base="ccms:EmailDomainNamesType">
			</xsd:restriction>
		</xsd:simpleType>
	</xsd:element>
	<xsd:element name="EmailAtText">
		<xsd:simpleType>
			<xsd:restriction base="sdt:SimpleTextType">
				<xsd:length value="1"/>
				<xsd:enumeration value="@"/>
			</xsd:restriction>
		</xsd:simpleType>
	</xsd:element>
	<xsd:complexType name="EmailComponentAddressType">
		<xsd:sequence>
			<xsd:element ref="ccms:EmailAccountName"/>
			<xsd:element ref="ccms:EmailAtText"/>
			<xsd:element ref="ccms:EmailDomainNames"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:simpleType name="EmailAddressTextType">
			<xsd:restriction base="sdt:SimpleTextType">
				<xsd:pattern value="[A-Za-z0-9_]+([-+.'][A-Za-z0-9_]+)*@[A-Za-z0-9_]+([-.][A-Za-z0-9_]+)*\.[A-Za-z0-9_]+([-.][A-Za-z0-9_]+)*"/>
				<xsd:maxLength value="320"/>
			</xsd:restriction>
	</xsd:simpleType>
		
<!--  Common text field structures of varying length -->
	<xsd:simpleType name="NAICSCodeType" >
		<xsd:annotation>
			<xsd:documentation> 
		North American Industrial Classification System  
		   </xsd:documentation>
		</xsd:annotation>
			<xsd:restriction base="sdt:CodeType">
				<xsd:maxLength value="6"/>
			</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="Character30TextType">
		<xsd:simpleContent>
			<xsd:restriction base="sdt:TextType">
				<xsd:maxLength value="30"/>
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="Character35TextType">
		<xsd:simpleContent>
			<xsd:restriction base="sdt:TextType">
				<xsd:maxLength value="35"/>
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="Character50TextType">
		<xsd:simpleContent>
			<xsd:restriction base="sdt:TextType">
				<xsd:maxLength value="50"/>
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="Character60TextType">
		<xsd:simpleContent>
			<xsd:restriction base="sdt:TextType">
				<xsd:maxLength value="60"/>
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="Character150TextType">
		<xsd:simpleContent>
			<xsd:restriction base="sdt:TextType">
				<xsd:maxLength value="150"/>
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="Character175TextType">
		<xsd:simpleContent>
			<xsd:restriction base="sdt:TextType">
				<xsd:maxLength value="175"/>
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="FieldCodeAmountType">
		<xsd:sequence>
			<xsd:element ref="ccms:FieldCode"/>
			<xsd:element ref="ccms:FieldAmount"/>
		</xsd:sequence>
	</xsd:complexType>	
	<xsd:complexType name="FieldCodeTextType">
		<xsd:sequence>
			<xsd:element ref="ccms:FieldCode"/>
			<xsd:element ref="ccms:FieldText"/>
		</xsd:sequence>
	</xsd:complexType>	
	<xsd:complexType name="FieldCodeText60Type">
		<xsd:sequence>
			<xsd:element ref="ccms:FieldCode"/>
			<xsd:element ref="ccms:Character60Text"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="FieldCodeTextAmountType">
		<xsd:sequence>
			<xsd:element ref="ccms:FieldCode"/>
			<xsd:element ref="ccms:FieldText"/>
			<xsd:element ref="ccms:FieldAmount"/>
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:element name="FieldCode" type="sdt:CodeType"/>
	<xsd:element name="FieldText" type="sdt:TextType"/>
	<xsd:element name="Character60Text" type="ccms:Character60TextType"/>
	<xsd:element name="FieldAmount" type="sdt:AmountType"/>

	<xsd:simpleType name="OneTwoCodeType">
		<xsd:restriction base="sdt:CodeType">
			<xsd:enumeration value="1"/>
			<xsd:enumeration value="2"/>
		</xsd:restriction>
		<!-- example: Yes-No or English-French indicators  -->
	</xsd:simpleType>
	
	<xsd:simpleType name="YesNoCodeType">
		<xsd:restriction base="sdt:CodeType">
			<xsd:enumeration value="Y"/>
			<xsd:enumeration value="y"/>
			<xsd:enumeration value="N"/>
			<xsd:enumeration value="n"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:element name="BN15" type="ccms:BN15Type" />
	<xsd:simpleType name="BN15Type">
		<xsd:restriction base="sdt:NumberType">
			<xsd:pattern value="([0-9]{9}\p{L}{2}[0-9]{4})"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="BusinessProgramAccountNumberType">
		<xsd:sequence>
			<xsd:element ref="ccms:BNRoot"/>
			<xsd:element ref="ccms:BNProgramID"/>
			<xsd:element ref="ccms:BNProgramAccountReferenceNumber"/>
		</xsd:sequence>
	</xsd:complexType>
	<!--  -->
	<xsd:element name="TrustNumber" type="ccms:TrustNumberType" />
	<xsd:simpleType name="TrustNumberType">
		<xsd:restriction base="sdt:NumberType">
			<xsd:pattern value="(\p{L}{1}[0-9]{8})"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:element name="BNRoot" type="ccms:BNRootType" />
	<xsd:simpleType name="BNRootType">
			<xsd:annotation>
			<xsd:documentation xml:lang="en"> The BN is a 9-digit business identifier used in Canada to which businesses can register program accounts with the Canada Revenue Agency (CRA).</xsd:documentation>
			<xsd:documentation xml:lang="fr"> Le NE est un numéro d'identification de 9 chiffres utilisé au Canada, qui sert à inscrire des comptes d'une entreprise avec l'Agence du revenu du Canada (ARC).</xsd:documentation>
		</xsd:annotation>
			<xsd:restriction base="sdt:NumberType">
				<xsd:pattern value="\d{9}"/>
			</xsd:restriction>
		</xsd:simpleType>
	
	<!--  BNProgramID -->
	<xsd:element name="BNProgramID" type="ccms:BNProgramIDType" />
	<xsd:simpleType name="BNProgramIDType" >
			<xsd:restriction base="xsd:string">
	      		<xsd:length value="2"/>
	    	</xsd:restriction>
	</xsd:simpleType>

	<!--  -->
	<xsd:element name="BNProgramAccountReferenceNumber" type="ccms:BNProgramAccountReferenceNumberType" />
	<xsd:simpleType name="BNProgramAccountReferenceNumberType">
		<xsd:annotation>
			<xsd:documentation xml:lang="en"> Uniquely identifies the account's participation within a given program through the Business Number system.</xsd:documentation>
			<xsd:documentation xml:lang="fr"> Identifie uniquement la participation du compte dans un programme donné par le système du numéro d'entreprise.</xsd:documentation>
		</xsd:annotation>
			<xsd:restriction base="sdt:NumberType">
				<xsd:pattern value="\d{4}"/>
			</xsd:restriction>
	</xsd:simpleType>
		<xsd:simpleType name="CountryCodeType">
		<xsd:restriction base="sdt:CodeType">
			<xsd:pattern value="\p{L}{3}"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="USAStateCodeType">
		<xsd:restriction base="sdt:CodeType">
			<xsd:length value="2"/>
			<xsd:enumeration value="AL"/>
			<xsd:enumeration value="al"/>
			<xsd:enumeration value="NV"/>
			<xsd:enumeration value="nv"/>
			<xsd:enumeration value="AK"/>
			<xsd:enumeration value="ak"/>
			<xsd:enumeration value="NH"/>
			<xsd:enumeration value="nh"/>
			<xsd:enumeration value="AZ"/>
			<xsd:enumeration value="az"/>
			<xsd:enumeration value="NJ"/>
			<xsd:enumeration value="nj"/>
			<xsd:enumeration value="AR"/>
			<xsd:enumeration value="ar"/>
			<xsd:enumeration value="NM"/>
			<xsd:enumeration value="nm"/>
			<xsd:enumeration value="CA"/>
			<xsd:enumeration value="ca"/>
			<xsd:enumeration value="NY"/>
			<xsd:enumeration value="ny"/>
			<xsd:enumeration value="CO"/>
			<xsd:enumeration value="co"/>
			<xsd:enumeration value="NC"/>
			<xsd:enumeration value="nc"/>
			<xsd:enumeration value="CT"/>
			<xsd:enumeration value="ct"/>
			<xsd:enumeration value="ND"/>
			<xsd:enumeration value="nd"/>
			<xsd:enumeration value="DE"/>
			<xsd:enumeration value="de"/>
			<xsd:enumeration value="OH"/>
			<xsd:enumeration value="oh"/>
			<xsd:enumeration value="DC"/>
			<xsd:enumeration value="dc"/>
			<xsd:enumeration value="OK"/>
			<xsd:enumeration value="ok"/>
			<xsd:enumeration value="FL"/>
			<xsd:enumeration value="fl"/>
			<xsd:enumeration value="OR"/>
			<xsd:enumeration value="or"/>
			<xsd:enumeration value="GA"/>
			<xsd:enumeration value="ga"/>
			<xsd:enumeration value="PA"/>
			<xsd:enumeration value="pa"/>
			<xsd:enumeration value="HI"/>
			<xsd:enumeration value="hi"/>
			<xsd:enumeration value="RI"/>
			<xsd:enumeration value="ri"/>
			<xsd:enumeration value="ID"/>
			<xsd:enumeration value="id"/>
			<xsd:enumeration value="SC"/>
			<xsd:enumeration value="sc"/>
			<xsd:enumeration value="IL"/>
			<xsd:enumeration value="il"/>
			<xsd:enumeration value="SD"/>
			<xsd:enumeration value="sd"/>
			<xsd:enumeration value="IN"/>
			<xsd:enumeration value="in"/>
			<xsd:enumeration value="TN"/>
			<xsd:enumeration value="tn"/>
			<xsd:enumeration value="IA"/>
			<xsd:enumeration value="ia"/>
			<xsd:enumeration value="TX"/>
			<xsd:enumeration value="tx"/>
			<xsd:enumeration value="KS"/>
			<xsd:enumeration value="ks"/>
			<xsd:enumeration value="UT"/>
			<xsd:enumeration value="ut"/>
			<xsd:enumeration value="KY"/>
			<xsd:enumeration value="ky"/>
			<xsd:enumeration value="VT"/>
			<xsd:enumeration value="vt"/>
			<xsd:enumeration value="LA"/>
			<xsd:enumeration value="la"/>
			<xsd:enumeration value="VA"/>
			<xsd:enumeration value="va"/>
			<xsd:enumeration value="ME"/>
			<xsd:enumeration value="me"/>
			<xsd:enumeration value="WA"/>
			<xsd:enumeration value="wa"/>
			<xsd:enumeration value="MD"/>
			<xsd:enumeration value="md"/>
			<xsd:enumeration value="WV"/>
			<xsd:enumeration value="wv"/>
			<xsd:enumeration value="MA"/>
			<xsd:enumeration value="ma"/>
			<xsd:enumeration value="WI"/>
			<xsd:enumeration value="wi"/>
			<xsd:enumeration value="MI"/>
			<xsd:enumeration value="mi"/>
			<xsd:enumeration value="WY"/>
			<xsd:enumeration value="wy"/>
			<xsd:enumeration value="MN"/>
			<xsd:enumeration value="mn"/>
			<xsd:enumeration value="MS"/>
			<xsd:enumeration value="ms"/>
			<xsd:enumeration value="MO"/>
			<xsd:enumeration value="mo"/>
			<xsd:enumeration value="MT"/>
			<xsd:enumeration value="mt"/>
			<xsd:enumeration value="NE"/>
			<xsd:enumeration value="ne"/>
			<xsd:enumeration value="PR"/>
			<xsd:enumeration value="pr"/>
			<xsd:enumeration value="AS"/>
			<xsd:enumeration value="as"/>
			<xsd:enumeration value="FM"/>
			<xsd:enumeration value="fm"/>
			<xsd:enumeration value="GU"/>
			<xsd:enumeration value="gu"/>
			<xsd:enumeration value="MH"/>
			<xsd:enumeration value="mh"/>
			<xsd:enumeration value="MP"/>
			<xsd:enumeration value="mp"/>
			<xsd:enumeration value="PW"/>
			<xsd:enumeration value="pw"/>
			<xsd:enumeration value="VI"/>
			<xsd:enumeration value="vi"/>
			<xsd:enumeration value="ZZ"/>
			<xsd:enumeration value="zz"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="CanadianProvinceTerritoryCodeType">
		<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.  The values of US and ZZ are included in case they are needed to satisfy certain business requirements.</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. Les valeurs US et  ZZ sont incluses dans le cas où ils seraient nécessaires pour répondre à certaines exigences opérationnelles.</xsd:documentation>   		
		</xsd:annotation>
		<xsd:restriction base="sdt:CodeType">
			<xsd:length value="2"/>
			<xsd:enumeration value="ON"/>
			<xsd:enumeration value="on"/>
			<xsd:enumeration value="On"/>
			<xsd:enumeration value="NS"/>
			<xsd:enumeration value="ns"/>
			<xsd:enumeration value="Ns"/>
			<xsd:enumeration value="PE"/>
			<xsd:enumeration value="pe"/>
			<xsd:enumeration value="Pe"/>
			<xsd:enumeration value="NB"/>
			<xsd:enumeration value="nb"/>
			<xsd:enumeration value="Nb"/>
			<xsd:enumeration value="QC"/>
			<xsd:enumeration value="qc"/>
			<xsd:enumeration value="Qc"/>
			<xsd:enumeration value="MB"/>
			<xsd:enumeration value="mb"/>
			<xsd:enumeration value="Mb"/>
			<xsd:enumeration value="MA"/>
			<xsd:enumeration value="ma"/>
			<xsd:enumeration value="Ma"/>
			<xsd:enumeration value="SK"/>
			<xsd:enumeration value="sk"/>
			<xsd:enumeration value="Sk"/>
			<xsd:enumeration value="SA"/>
			<xsd:enumeration value="sa"/>
			<xsd:enumeration value="Sa"/>
			<xsd:enumeration value="AB"/>
			<xsd:enumeration value="ab"/>
			<xsd:enumeration value="Ab"/>
			<xsd:enumeration value="AL"/>
			<xsd:enumeration value="al"/>
			<xsd:enumeration value="Al"/>
			<xsd:enumeration value="BC"/>
			<xsd:enumeration value="bc"/>
			<xsd:enumeration value="Bc"/>
			<xsd:enumeration value="NT"/>
			<xsd:enumeration value="nt"/>
			<xsd:enumeration value="Nt"/>
			<xsd:enumeration value="YT"/>
			<xsd:enumeration value="yt"/>
			<xsd:enumeration value="Yt"/>
			<xsd:enumeration value="NL"/>
			<xsd:enumeration value="nl"/>
			<xsd:enumeration value="Nl"/>
			<xsd:enumeration value="NF"/>
			<xsd:enumeration value="nf"/>
			<xsd:enumeration value="Nf"/>
			<xsd:enumeration value="LB"/>
			<xsd:enumeration value="lb"/>
			<xsd:enumeration value="Lb"/>
			<xsd:enumeration value="PQ"/>
			<xsd:enumeration value="pq"/>
			<xsd:enumeration value="Pq"/>
			<xsd:enumeration value="QU"/>
			<xsd:enumeration value="qu"/>
			<xsd:enumeration value="Qu"/>
			<xsd:enumeration value="NU"/>
			<xsd:enumeration value="nu"/>
			<xsd:enumeration value="Nu"/>
			<xsd:enumeration value="NN"/>
			<xsd:enumeration value="nn"/>
			<xsd:enumeration value="Nn"/>
			<xsd:enumeration value="US"/>
			<xsd:enumeration value="us"/>
			<xsd:enumeration value="Us"/>
			<xsd:enumeration value="ZZ"/>
			<xsd:enumeration value="zz"/>
			<xsd:enumeration value="Zz"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="ProvinceTerritoryStateCodeType">
		<xsd:union memberTypes="ccms:CanadianProvinceTerritoryCodeType ccms:USAStateCodeType"/>
	</xsd:simpleType>


</xsd:schema>
