<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:catalogocuentas="www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogoCuentas" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:contelec_td="www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE" targetNamespace="www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogoCuentas" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:import namespace="www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE" schemaLocation="http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE/CatalogosParaEsqContE.xsd"/>
	<xs:element name="Catalogo">
		<xs:annotation>
			<xs:documentation>Estándar de catálogo de cuentas que se entrega como parte de la contabilidad electrónica.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Ctas" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>Nodo obligatorio para expresar el detalle de cada cuenta y subcuenta del catálogo.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:attribute name="CodAgrup" type="contelec_td:c_CodAgrup" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para expresar el código asociador de cuentas y subcuentas conforme al catálogo publicado en la página de internet del SAT. Se debe asociar cada cuenta y subcuenta que sea más apropiado de acuerdo con la naturaleza y preponderancia de la cuenta o subcuenta.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="NumCta" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido, es la clave con que se distingue la cuenta o subcuenta en la contabilidad</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:maxLength value="100"/>
									<xs:minLength value="1"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
						<xs:attribute name="Desc" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para expresar el nombre de la cuenta o subcuenta</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:minLength value="1"/>
									<xs:maxLength value="400"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
						<xs:attribute name="SubCtaDe" use="optional">
							<xs:annotation>
								<xs:documentation>Atributo opcional en el caso de subcuentas. Sirve para expresar la clave de la cuenta a la que pertenece dicha subcuenta. Se convierte en requerido cuando se cuente con la información.</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:minLength value="1"/>
									<xs:maxLength value="100"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
						<xs:attribute name="Nivel" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para expresar el nivel en el que se encuentra la cuenta o subcuenta en el catálogo.</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:int">
									<xs:minInclusive value="1"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
						<xs:attribute name="Natur" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para expresar la naturaleza de la cuenta o subcuenta. (D - Deudora, A - Acreedora). ( Activo = D ) ( Pasivo = A ) ( Capital = A ) ( Ingreso = A ) ( Costo = D ) ( Gasto = D ) ( Resultado Integral de Financiamiento = D y/o A ) ( Cuentas de orden = D y/o A ).</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:pattern value="[DA]"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="Version" type="xs:string" use="required" fixed="1.1">
				<xs:annotation>
					<xs:documentation>Atributo requerido para expresar la versión del formato</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="RFC" use="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido para expresar el RFC del contribuyente que envía los datos</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="12"/>
						<xs:maxLength value="13"/>
						<xs:pattern value="[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="Mes" use="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido para expresar el mes en que inicia la vigencia del catálogo para la balanza</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="01"/>
						<xs:enumeration value="02"/>
						<xs:enumeration value="03"/>
						<xs:enumeration value="04"/>
						<xs:enumeration value="05"/>
						<xs:enumeration value="06"/>
						<xs:enumeration value="07"/>
						<xs:enumeration value="08"/>
						<xs:enumeration value="09"/>
						<xs:enumeration value="10"/>
						<xs:enumeration value="11"/>
						<xs:enumeration value="12"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="Anio" use="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido para expresar el año en que inicia la vigencia del catálogo para la balanza</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:int">
						<xs:minInclusive value="2015"/>
						<xs:maxInclusive value="2099"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="Sello" use="optional">
				<xs:annotation>
					<xs:documentation>Atributo opcional para contener el sello digital del archivo de contabilidad electrónica. El sello deberá ser expresado cómo una cadena de texto en formato Base 64</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:whiteSpace value="collapse"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="noCertificado" use="optional">
				<xs:annotation>
					<xs:documentation>Atributo opcional para expresar el número de serie del certificado de sello digital que ampara el archivo de contabilidad electrónica, de acuerdo al acuse correspondiente a 20 posiciones otorgado por el sistema del SAT.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:length value="20"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="Certificado" use="optional">
				<xs:annotation>
					<xs:documentation>Atributo opcional que sirve para expresar el certificado de sello digital que ampara al archivo de contabilidad electrónica como texto, en formato base 64.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:whiteSpace value="collapse"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
</xs:schema>
