<?xml version="1.0" encoding="utf-8"?>
<!-- edited with XMLSpy v2017 sp1 (http://www.altova.com) by Downloadly (www.Downloadly.ir) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:catCFDI="http://www.sat.gob.mx/sitio_internet/cfd/catalogos" xmlns:tdCFDI="http://www.sat.gob.mx/sitio_internet/cfd/tipoDatos/tdCFDI" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:iedu="http://www.sat.gob.mx/iedu" xmlns:implocal="http://www.sat.gob.mx/implocal" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:import namespace="http://www.sat.gob.mx/sitio_internet/cfd/catalogos" schemaLocation="http://www.sat.gob.mx/sitio_internet/cfd/catalogos/catCFDI.xsd"/>
	<xs:import namespace="http://www.sat.gob.mx/sitio_internet/cfd/tipoDatos/tdCFDI" schemaLocation="http://www.sat.gob.mx/sitio_internet/cfd/tipoDatos/tdCFDI/tdCFDI.xsd"/>
	<xs:import namespace="http://www.sat.gob.mx/cfd/3" schemaLocation="http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd"/>
	<xs:import namespace="http://www.sat.gob.mx/iedu" schemaLocation="http://www.sat.gob.mx/sitio_internet/cfd/iedu/iedu.xsd"/>
	<xs:import namespace="http://www.sat.gob.mx/implocal" schemaLocation="http://www.sat.gob.mx/sitio_internet/cfd/implocal/implocal.xsd"/>
	<xs:element name="Comprobante">
		<xs:annotation>
			<xs:documentation>Layout para CFDI 3.3 XML Dotnet.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="CfdiRelacionados" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Nodo opcional para precisar la información de los comprobantes relacionados.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="CfdiRelacionado" minOccurs="1" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>Nodo requerido para precisar la información de los comprobantes relacionados.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:attribute name="UUID" use="required">
										<xs:annotation>
											<xs:documentation>Atributo requerido para registrar el folio fiscal (UUID) de un CFDI relacionado con el presente comprobante, por ejemplo: Si el CFDI relacionado es un comprobante de traslado que sirve para registrar el movimiento de la mercancía. Si este comprobante se usa como nota de crédito o nota de débito del comprobante relacionado. Si este comprobante es una devolución sobre el comprobante relacionado. Si éste sustituye a una factura cancelada.</xs:documentation>
										</xs:annotation>
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:length value="36"/>
												<xs:whiteSpace value="collapse"/>
												<xs:pattern value="[a-f0-9A-F]{8}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{12}"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="TipoRelacion" type="catCFDI:c_TipoRelacion" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para indicar la clave de la relación que existe entre éste que se esta generando y el o los CFDI previos.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
				<xs:element name="Emisor">
					<xs:annotation>
						<xs:documentation>Nodo requerido para expresar la información del contribuyente emisor del comprobante.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:attribute name="Rfc" type="tdCFDI:t_RFC" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para registrar la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente emisor del comprobante.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="RegimenFiscal" type="catCFDI:c_RegimenFiscal" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para incorporar la clave del régimen del contribuyente emisor al que aplicará el efecto fiscal de este comprobante.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
				<xs:element name="Receptor">
					<xs:annotation>
						<xs:documentation>Nodo requerido para precisar la información del contribuyente receptor del comprobante.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Domicilio" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Nodo requerido para precisar la información del domicilio del receptor del comprobante.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:attribute name="Calle">
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:minLength value="1"/>
												<xs:maxLength value="300"/>
												<xs:whiteSpace value="collapse"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="NoExterior">
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:minLength value="1"/>
												<xs:maxLength value="20"/>
												<xs:whiteSpace value="collapse"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="NoInterior">
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:minLength value="1"/>
												<xs:maxLength value="20"/>
												<xs:whiteSpace value="collapse"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="Colonia">
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:minLength value="1"/>
												<xs:maxLength value="50"/>
												<xs:whiteSpace value="collapse"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="Localidad">
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:minLength value="1"/>
												<xs:maxLength value="50"/>
												<xs:whiteSpace value="collapse"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="Referencia">
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:minLength value="1"/>
												<xs:maxLength value="50"/>
												<xs:whiteSpace value="collapse"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="Municipio">
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:minLength value="1"/>
												<xs:maxLength value="50"/>
												<xs:whiteSpace value="collapse"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="Estado">
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:minLength value="1"/>
												<xs:maxLength value="50"/>
												<xs:whiteSpace value="collapse"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="Pais">
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:minLength value="1"/>
												<xs:maxLength value="50"/>
												<xs:whiteSpace value="collapse"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="CodigoPostal">
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:length value="5"/>
												<xs:pattern value="[0-9]{5}"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="Rfc" type="tdCFDI:t_RFC" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para precisar la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente receptor del comprobante.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="Nombre" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para precisar el nombre, denominación o razón social del contribuyente receptor del comprobante.</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:minLength value="1"/>
									<xs:maxLength value="200"/>
									<xs:whiteSpace value="collapse"/>
									<xs:pattern value="[^|]{1,200}"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
						<xs:attribute name="UsoCFDI" type="catCFDI:c_UsoCFDI" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para expresar la clave del uso que dará a esta factura el receptor del CFDI.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="ResidenciaFiscal" type="catCFDI:c_Pais" use="optional">
							<xs:annotation>
								<xs:documentation>Atributo opcional para registrar la clave del país de residencia para efectos fiscales del receptor del comprobante.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="RegistroTributario" use="optional">
							<xs:annotation>
								<xs:documentation>Atributo opcional para identificar, ubicar y clasificar las personas y entidades que tengan la calidad de contribuyentes declarantes del impuesto sobre la renta y no contribuyentes declarantes de ingresos y patrimonio</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:minLength value="1"/>
									<xs:maxLength value="40"/>
									<xs:whiteSpace value="collapse"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
				<xs:element name="Conceptos">
					<xs:annotation>
						<xs:documentation>Nodo requerido para listar los conceptos cubiertos por el comprobante.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Concepto" maxOccurs="2000">
								<xs:annotation>
									<xs:documentation>Nodo requerido para registrar la información detallada de un bien o servicio amparado en el comprobante.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="IEDU" minOccurs="0" maxOccurs="1">
											<xs:annotation>
												<xs:documentation>Complemento concepto para la expedición de comprobantes fiscales por parte de Instituciones Educativas Privadas, para los efectos del artículo primero y cuarto del decreto por el que se otorga un estímulo fiscal a las personas físicas en relación con los pagos por servicios educativos </xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:attribute name="NombreAlumno" use="required">
													<xs:annotation>
														<xs:documentation>Atributo requerido para indicar el nombre del Alumno </xs:documentation>
													</xs:annotation>
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:minLength value="1"/>
															<xs:maxLength value="300"/>
															<xs:whiteSpace value="collapse"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="Curp" type="iedu:tCURP" use="required">
													<xs:annotation>
														<xs:documentation>Atributo requerido para indicar la CURP del alumno de la institución educativa</xs:documentation>
													</xs:annotation>
												</xs:attribute>
												<xs:attribute name="NivelEducativo" use="required">
													<xs:annotation>
														<xs:documentation>Atributo requerido para indicar el nivel educativo que cursa el alumno</xs:documentation>
													</xs:annotation>
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:enumeration value="Preescolar"/>
															<xs:enumeration value="Primaria"/>
															<xs:enumeration value="Secundaria"/>
															<xs:enumeration value="Profesional técnico"/>
															<xs:enumeration value="Bachillerato o su equivalente"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="AutRVOE" use="required">
													<xs:annotation>
														<xs:documentation>Atributo requerido para especificar la clave del centro de trabajo o el reconocimiento de validez oficial de estudios en los términos de la Ley General de Educación que tenga la institución educativa privada donde se realiza el pago.</xs:documentation>
													</xs:annotation>
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:minLength value="1"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="RfcPago" type="iedu:tRFC" use="optional">
													<xs:annotation>
														<xs:documentation>Atributo opcional para indicar el RFC de quien realiza el pago cuando sea diferente a quien recibe el servicio</xs:documentation>
													</xs:annotation>
												</xs:attribute>
											</xs:complexType>
										</xs:element>
										<xs:element name="Importacion" minOccurs="0" maxOccurs="1">
											<xs:annotation>
												<xs:documentation>Nodo opcional para introducir la información aduanera.</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:attribute name="NumeroPedimento" use="required">
													<xs:annotation>
														<xs:documentation>Atributo requerido para expresar el número del pedimento que ampara la importación del bien que se expresa en el siguiente formato: últimos 2 dígitos del año de validación seguidos por dos espacios, 2 dígitos de la aduana de despacho seguidos por dos espacios, 4 dígitos del número de la patente seguidos por dos espacios, 1 dígito que corresponde al último dígito del año en curso, salvo que se trate de un pedimento consolidado iniciado en el año inmediato anterior o del pedimento original de una rectificación, seguido de 6 dígitos de la numeración progresiva por aduana.</xs:documentation>
													</xs:annotation>
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:length value="21"/>
															<xs:pattern value="[0-9]{2}  [0-9]{2}  [0-9]{4}  [0-9]{7}"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
											</xs:complexType>
										</xs:element>
										<xs:element name="ImpuestosLocales" minOccurs="0">
											<xs:annotation>
												<xs:documentation>Complemento al Comprobante Fiscal Digital para Impuestos Locales</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="ImpuestoLocal" minOccurs="0" maxOccurs="3">
														<xs:annotation>
															<xs:documentation>Nodo opcional para representar el Impuesto Local</xs:documentation>
														</xs:annotation>
														<xs:complexType>
															<xs:attribute name="Tipo" use="required">
																<xs:annotation>
																	<xs:documentation>Atributo requerido para representar el tipo de impuesto local</xs:documentation>
																</xs:annotation>
																<xs:simpleType>
																	<xs:restriction base="xs:string">
																		<xs:whiteSpace value="collapse"/>
																		<xs:enumeration value="retencion"/>
																		<xs:enumeration value="trasladado"/>
																	</xs:restriction>
																</xs:simpleType>
															</xs:attribute>
															<xs:attribute name="nombre" use="required">
																<xs:annotation>
																	<xs:documentation>Atributo requerido para representar el nombre del  Impuesto Local</xs:documentation>
																</xs:annotation>
																<xs:simpleType>
																	<xs:restriction base="xs:string">
																		<xs:minLength value="1"/>
																		<xs:maxLength value="50"/>
																		<xs:whiteSpace value="collapse"/>
																	</xs:restriction>
																</xs:simpleType>
															</xs:attribute>
															<xs:attribute name="Tasa" use="required">
																<xs:annotation>
																	<xs:documentation>Atributo requerido para representar el Porcentaje del impuesto local</xs:documentation>
																</xs:annotation>
																<xs:simpleType>
																	<xs:restriction base="xs:decimal">
																		<xs:fractionDigits value="4"/>
																		<xs:minInclusive value="0.0000"/>
																		<xs:whiteSpace value="collapse"/>
																	</xs:restriction>
																</xs:simpleType>
															</xs:attribute>
															<xs:attribute name="Importe" use="required">
																<xs:annotation>
																	<xs:documentation>Atributo requerido para representar el Monto del impuesto local</xs:documentation>
																</xs:annotation>
																<xs:simpleType>
																	<xs:restriction base="xs:decimal">
																		<xs:fractionDigits value="2"/>
																	</xs:restriction>
																</xs:simpleType>
															</xs:attribute>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="Impuestos">
											<xs:complexType>
												<xs:annotation>
													<xs:documentation>Nodo opcional para capturar los impuestos aplicables al presente concepto. Cuando un concepto no registra un impuesto, implica que no es objeto del mismo.</xs:documentation>
												</xs:annotation>
												<xs:sequence>
													<xs:element name="Impuesto" minOccurs="0" maxOccurs="3">
														<xs:complexType>
															<xs:attribute name="TipoImpuesto" use="required">
																<xs:annotation>
																	<xs:documentation>Atributo requerido para representar el tipo de impuesto aplicable al presente concepto.</xs:documentation>
																</xs:annotation>
																<xs:simpleType>
																	<xs:restriction base="xs:string">
																		<xs:minLength value="8"/>
																		<xs:maxLength value="9"/>
																		<xs:whiteSpace value="collapse"/>
																	</xs:restriction>
																</xs:simpleType>
															</xs:attribute>
															<xs:attribute name="Base" use="required">
																<xs:annotation>
																	<xs:documentation>Atributo requerido para señalar la base para el cálculo del impuesto, la determinación de la base se realiza de acuerdo con las disposiciones fiscales vigentes. No se permiten valores negativos.</xs:documentation>
																</xs:annotation>
																<xs:simpleType>
																	<xs:restriction base="xs:decimal">
																		<xs:fractionDigits value="6"/>
																		<xs:minInclusive value="0.000001"/>
																		<xs:whiteSpace value="collapse"/>
																	</xs:restriction>
																</xs:simpleType>
															</xs:attribute>
															<xs:attribute name="Impuesto" type="catCFDI:c_Impuesto" use="required">
																<xs:annotation>
																	<xs:documentation>Atributo requerido para señalar la clave del tipo de impuesto trasladado aplicable al concepto.</xs:documentation>
																</xs:annotation>
															</xs:attribute>
															<xs:attribute name="TipoFactor" type="catCFDI:c_TipoFactor" use="required">
																<xs:annotation>
																	<xs:documentation>Atributo requerido para señalar la clave del tipo de factor que se aplica a la base del impuesto.</xs:documentation>
																</xs:annotation>
															</xs:attribute>
															<xs:attribute name="TasaOCuota" use="optional">
																<xs:annotation>
																	<xs:documentation>Atributo condicional para señalar el valor de la tasa o cuota del impuesto para el presente concepto. Es requerido cuando el atributo TipoFactor tenga una clave que corresponda a Tasa o Cuota.</xs:documentation>
																</xs:annotation>
																<xs:simpleType>
																	<xs:restriction base="xs:decimal">
																		<xs:fractionDigits value="6"/>
																		<xs:minInclusive value="0.000000"/>
																		<xs:whiteSpace value="collapse"/>
																	</xs:restriction>
																</xs:simpleType>
															</xs:attribute>
															<xs:attribute name="Importe" type="tdCFDI:t_Importe" use="optional">
																<xs:annotation>
																	<xs:documentation>Atributo condicional para señalar el importe del impuesto que aplica al concepto. No se permiten valores negativos. Es requerido cuando TipoFactor sea Tasa o Cuota</xs:documentation>
																</xs:annotation>
															</xs:attribute>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="ClaveProdServ" type="catCFDI:c_ClaveProdServ" use="required">
										<xs:annotation>
											<xs:documentation>Atributo requerido para expresar la clave del producto o del servicio amparado por el presente concepto. Es requerido y deben utilizar las claves del catálogo de productos y servicios, cuando los conceptos que registren por sus actividades correspondan con dichos conceptos.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="NoIdentificacion" use="optional">
										<xs:annotation>
											<xs:documentation>Atributo opcional para expresar el número de parte, identificador del producto o del servicio, la clave de producto o servicio, SKU o equivalente, propia de la operación del emisor, amparado por el presente concepto. Opcionalmente se puede utilizar claves del estándar GTIN.</xs:documentation>
										</xs:annotation>
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:whiteSpace value="collapse"/>
												<xs:minLength value="1"/>
												<xs:maxLength value="100"/>
												<xs:pattern value="[^|]{1,100}"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="Cantidad" use="required">
										<xs:annotation>
											<xs:documentation>Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por el presente concepto.</xs:documentation>
										</xs:annotation>
										<xs:simpleType>
											<xs:restriction base="xs:decimal">
												<xs:fractionDigits value="6"/>
												<xs:minInclusive value="0.000001"/>
												<xs:whiteSpace value="collapse"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="ClaveUnidad" type="catCFDI:c_ClaveUnidad" use="required">
										<xs:annotation>
											<xs:documentation>Atributo requerido para precisar la clave de unidad de medida estandarizada aplicable para la cantidad expresada en el concepto. La unidad debe corresponder con la descripción del concepto.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="Unidad" use="optional">
										<xs:annotation>
											<xs:documentation>Atributo opcional para precisar la unidad de medida propia de la operación del emisor, aplicable para la cantidad expresada en el concepto. La unidad debe corresponder con la descripción del concepto.</xs:documentation>
										</xs:annotation>
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:minLength value="1"/>
												<xs:maxLength value="20"/>
												<xs:whiteSpace value="collapse"/>
												<xs:pattern value="[^|]{1,20}"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="Descripcion" use="required">
										<xs:annotation>
											<xs:documentation>Atributo requerido para precisar la descripción del bien o servicio cubierto por el presente concepto.</xs:documentation>
										</xs:annotation>
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:minLength value="1"/>
												<xs:maxLength value="1000"/>
												<xs:whiteSpace value="collapse"/>
												<xs:pattern value="[^|]{1,1000}"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="ValorUnitario" type="tdCFDI:t_Importe" use="required">
										<xs:annotation>
											<xs:documentation>Atributo requerido para precisar el valor o precio unitario del bien o servicio cubierto por el presente concepto.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="Importe" type="tdCFDI:t_Importe" use="required">
										<xs:annotation>
											<xs:documentation>Atributo requerido para precisar el importe total de los bienes o servicios del presente concepto. Debe ser equivalente al resultado de multiplicar la cantidad por el valor unitario expresado en el concepto. No se permiten valores negativos. </xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="Descuento" type="tdCFDI:t_Importe" use="optional">
										<xs:annotation>
											<xs:documentation>Atributo opcional para representar el importe de los descuentos aplicables al concepto. No se permiten valores negativos.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="AddendaFE" minOccurs="0" maxOccurs="1">
					<xs:annotation>
						<xs:documentation>Nodo requerido para recibir la información complementaria del comprobante </xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:attribute name="TipoCFD" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para especificar el Tipo de comprobante que se emite. </xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:minLength value="1"/>
									<xs:maxLength value="1000"/>
									<xs:whiteSpace value="collapse"/>
									<xs:pattern value="[^|]{1,1000}"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
						<xs:attribute name="NoComprobante" use="optional">
							<xs:annotation>
								<xs:documentation>Atributo opcional para expresar el número de comprobante propia de la operación del emisor  </xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:minLength value="1"/>
									<xs:maxLength value="1000"/>
									<xs:whiteSpace value="collapse"/>
									<xs:pattern value="[^|]{1,1000}"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
						<xs:attribute name="InformacionExtra" use="optional">
							<xs:annotation>
								<xs:documentation>Atributo opcional para especificar la información extra que el emisor requiere en su comprobante</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:minLength value="1"/>
									<xs:maxLength value="1000"/>
									<xs:whiteSpace value="collapse"/>
									<xs:pattern value="[^|]{1,1000}"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
						<xs:attribute name="Correos" use="optional">
							<xs:annotation>
								<xs:documentation>Atributo opcional para especificar los correos a los que se emitiran los comprobantes</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:minLength value="1"/>
									<xs:maxLength value="1000"/>
									<xs:whiteSpace value="collapse"/>
									<xs:pattern value="[^|]{1,1000}"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="Version" use="required" fixed="3.3">
				<xs:annotation>
					<xs:documentation>Atributo requerido con valor prefijado a 3.3 que indica la versión del estándar bajo el que se encuentra expresado el comprobante.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:whiteSpace value="collapse"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="Serie" use="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido para precisar la serie para control interno del contribuyente. Este atributo acepta una cadena de caracteres.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="1"/>
						<xs:maxLength value="25"/>
						<xs:whiteSpace value="collapse"/>
						<xs:pattern value="[^|]{1,25}"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="Fecha" type="tdCFDI:t_FechaH" use="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido para la expresión de la fecha y hora de expedición del Comprobante. Se expresa en la forma AAAA-MM-DDThh:mm:ss y debe corresponder con la hora local donde se expide el comprobante.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="FormaPago" type="catCFDI:c_FormaPago" use="optional">
				<xs:annotation>
					<xs:documentation>Atributo condicional para expresar la clave de la forma de pago de los bienes o servicios amparados por el comprobante. Si no se conoce la forma de pago este atributo se debe omitir.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="CondicionesDePago" use="optional">
				<xs:annotation>
					<xs:documentation>Atributo condicional para expresar las condiciones comerciales aplicables para el pago del comprobante.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:whiteSpace value="collapse"/>
						<xs:minLength value="1"/>
						<xs:maxLength value="1000"/>
						<xs:pattern value="[^|]{1,1000}"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="SubTotal" type="tdCFDI:t_Importe" use="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido para representar la suma de los importes de los conceptos antes de descuentos e impuesto. No se permiten valores negativos.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="Descuento" type="tdCFDI:t_Importe" use="optional">
				<xs:annotation>
					<xs:documentation>Atributo condicional para representar el importe total de los descuentos aplicables antes de impuestos. No se permiten valores negativos. Se debe registrar cuando existan conceptos con descuento.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="Moneda" type="catCFDI:c_Moneda" use="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido para identificar la clave de la moneda utilizada para expresar los montos, cuando se usa moneda nacional se registra MXN. Conforme con la especificación ISO 4217.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="TipoCambio" use="optional">
				<xs:annotation>
					<xs:documentation>Atributo opcional para representar el tipo de cambio conforme con la moneda usada. Si el valor está fuera del porcentaje aplicable a la moneda tomado del catálogo c_Moneda, el emisor debe obtener del PAC que vaya a timbrar el CFDI, de manera no automática, una clave de confirmación para ratificar que el valor es correcto e integrar dicha clave en el atributo Confirmacion.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:decimal">
						<xs:fractionDigits value="6"/>
						<xs:minInclusive value="0.000001"/>
						<xs:whiteSpace value="collapse"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="Total" type="tdCFDI:t_Importe" use="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido para representar la suma del subtotal, menos los descuentos aplicables, más las contribuciones recibidas (impuestos trasladados - federales o locales, derechos, productos, aprovechamientos, aportaciones de seguridad social, contribuciones de mejoras) menos los impuestos retenidos. Si el valor es superior al límite que establezca el SAT en la Resolución Miscelánea Fiscal vigente, el emisor debe obtener del PAC que vaya a timbrar el CFDI, de manera no automática, una clave de confirmación para ratificar que el valor es correcto e integrar dicha clave en el atributo Confirmacion. No se permiten valores negativos.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="TipoDeComprobante" type="catCFDI:c_TipoDeComprobante" use="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido para expresar la clave del efecto del comprobante fiscal para el contribuyente emisor.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="MetodoPago" type="catCFDI:c_MetodoPago" use="optional">
				<xs:annotation>
					<xs:documentation>Atributo opcional para precisar la clave del método de pago que aplica para este comprobante.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="LugarExpedicion" type="catCFDI:c_CodigoPostal" use="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido para incorporar el código postal del lugar de expedición del comprobante (domicilio de la matriz o de la sucursal).</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="Confirmacion" use="optional">
				<xs:annotation>
					<xs:documentation>Atributo condicional para registrar la clave de confirmación que entregue el PAC para expedir el comprobante con importes grandes, con un tipo de cambio fuera del rango establecido o con ambos  casos. Es requerido cuando se registra un tipo de cambio o un total fuera del rango establecido.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:whiteSpace value="collapse"/>
						<xs:length value="5"/>
						<xs:pattern value="[0-9a-zA-Z]{5}"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
</xs:schema>
