<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:retenciones="http://www.sat.gob.mx/esquemas/retencionpago/2" xmlns:c_retenciones="http://www.sat.gob.mx/esquemas/retencionpago/1/catalogos" xmlns:catCFDI="http://www.sat.gob.mx/sitio_internet/cfd/catalogos" xmlns:tdCFDI="http://www.sat.gob.mx/sitio_internet/cfd/tipoDatos/tdCFDI" targetNamespace="http://www.sat.gob.mx/esquemas/retencionpago/2" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:import namespace="http://www.sat.gob.mx/esquemas/retencionpago/1/catalogos" schemaLocation="http://www.sat.gob.mx/esquemas/retencionpago/1/catalogos/catRetenciones.xsd"/>
	<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:element name="Retenciones">
		<xs:annotation>
			<xs:documentation>Estándar del Comprobante Fiscal Digital por Internet que ampara retenciones e información de pagos. Los importes se expresan en la moneda de pesos mexicanos (MXN).</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="CfdiRetenRelacionados" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Nodo opcional para precisar la información de los comprobantes relacionados.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<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 está generando y el comprobante que ampara retenciones e información de pagos previos.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="UUID" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para registrar el folio fiscal (UUID) de un comprobante que ampara retención e información de pagos, relacionado con el presente comprobante, ejemplo: Si éste sustituye a un comprobante cancelado.</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:element name="Emisor">
					<xs:annotation>
						<xs:documentation>Nodo requerido para expresar la información del contribuyente emisor del comprobante que ampara retenciones e información de pagos.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:attribute name="RfcE" 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 que ampara retenciones e información de pagos, sin guiones o espacios.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="NomDenRazSocE" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para registrar el nombre, denominación o razón social del contribuyente inscrito en el RFC, emisor del comprobante que ampara  retenciones e información de pagos.</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:minLength value="1"/>
									<xs:maxLength value="254"/>
									<xs:whiteSpace value="collapse"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
						<xs:attribute name="RegimenFiscalE" type="catCFDI:c_RegimenFiscal" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para incorporar la clave del régimen del contribuyente emisor del comprobante que ampara retenciones e información de pagos.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
				<xs:element name="Receptor">
					<xs:annotation>
						<xs:documentation>Nodo requerido para expresar la información del contribuyente receptor del comprobante que ampara retenciones e información de pagos.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:choice>
							<xs:element name="Nacional">
								<xs:annotation>
									<xs:documentation>Nodo requerido para expresar la información del contribuyente receptor en caso de que sea de nacionalidad mexicana.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:attribute name="RfcR" type="tdCFDI:t_RFC" use="required">
										<xs:annotation>
											<xs:documentation>Atributo requerido para registrar la clave del Registro Federal de Contribuyentes correspondiente al contribuyente receptor del comprobante que ampara retenciones e información de pagos.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="NomDenRazSocR" use="required">
										<xs:annotation>
											<xs:documentation>Atributo requerido para registrar el(los) nombre(s), primer apellido, segundo apellido, según corresponda, denominación o razón social del contribuyente, inscrito en el RFC, del receptor del comprobante que ampara retenciones e información de pagos.</xs:documentation>
										</xs:annotation>
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:minLength value="1"/>
												<xs:maxLength value="254"/>
												<xs:whiteSpace value="collapse"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="CurpR" type="tdCFDI:t_CURP" use="optional">
										<xs:annotation>
											<xs:documentation>Atributo opcional para la Clave Única del Registro Poblacional del contribuyente receptor del comprobante que ampara retenciones e información de pagos.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="DomicilioFiscalR" use="required">
										<xs:annotation>
											<xs:documentation>Atributo requerido para registrar el código postal del domicilio fiscal del receptor del comprobante que ampara retenciones e información de pagos.</xs:documentation>
										</xs:annotation>
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:length value="5"/>
												<xs:whiteSpace value="collapse"/>
												<xs:pattern value="[0-9]{5}"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
								</xs:complexType>
							</xs:element>
							<xs:element name="Extranjero">
								<xs:annotation>
									<xs:documentation>Nodo requerido para expresar la información del contribuyente receptor del comprobante que ampara retenciones e información de pagos, cuando sea residente en el extranjero.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:attribute name="NumRegIdTribR" use="optional">
										<xs:annotation>
											<xs:documentation>Atributo opcional para expresar el número de registro de identificación fiscal del receptor del comprobante que ampara retenciones e información de pagos, cuando sea residente en el extranjero.</xs:documentation>
										</xs:annotation>
										<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="NomDenRazSocR" use="required">
										<xs:annotation>
											<xs:documentation>Atributo requerido para expresar el nombre, denominación o razón social del receptor del comprobante que ampara retenciones e información de pagos, cuando sea residente en el extranjero.</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:complexType>
							</xs:element>
						</xs:choice>
						<xs:attribute name="NacionalidadR" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para expresar la nacionalidad del receptor del comprobante que ampara retenciones e información de pagos.</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:whiteSpace value="collapse"/>
									<xs:enumeration value="Nacional">
										<xs:annotation>
											<xs:documentation>Nacionalidad Mexicana</xs:documentation>
										</xs:annotation>
									</xs:enumeration>
									<xs:enumeration value="Extranjero">
										<xs:annotation>
											<xs:documentation>Procedente de otro pais</xs:documentation>
										</xs:annotation>
									</xs:enumeration>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
				<xs:element name="Periodo">
					<xs:annotation>
						<xs:documentation>Nodo requerido para expresar el período que corresponde al comprobante que ampara retenciones e información de pagos.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:attribute name="MesIni" type="c_retenciones:c_Periodo" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para expresar la clave del mes inicial del período de la retención e información de pagos.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="MesFin" type="c_retenciones:c_Periodo" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para expresar la clave del mes final del período de la retención e información de pagos.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="Ejercicio" type="c_retenciones:c_Ejercicio" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para la expresión del ejercicio fiscal (año) de la retención e información de pagos.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
				<xs:element name="Totales">
					<xs:annotation>
						<xs:documentation>Nodo requerido para expresar el total de las retenciones e información de los pagos efectuados en el período que ampara el comprobante.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="ImpRetenidos" minOccurs="0" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>Nodo opcional para expresar el total de los impuestos retenidos que se desprenden de los conceptos expresados en el comprobante que ampara retenciones e información de pagos.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:attribute name="BaseRet" type="tdCFDI:t_ImporteMXN" use="optional">
										<xs:annotation>
											<xs:documentation>Atributo opcional para expresar la base del impuesto, que puede ser la diferencia entre los ingresos percibidos y las deducciones autorizadas. No se permiten valores negativos.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="ImpuestoRet" type="catCFDI:c_Impuesto" use="optional">
										<xs:annotation>
											<xs:documentation>Atributo opcional para señalar el tipo de impuesto retenido del período o ejercicio conforme al catálogo.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="MontoRet" type="tdCFDI:t_ImporteMXN" use="required">
										<xs:annotation>
											<xs:documentation>Atributo requerido para expresar el importe del impuesto retenido en el período o ejercicio que se relaciona en el comprobante que ampara retenciones e información de pagos. No se permiten valores negativos.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="TipoPagoRet" type="c_retenciones:c_TipoPagoRet" use="required">
										<xs:annotation>
											<xs:documentation>Atributo requerido para precisar la clave del tipo del efecto que se le da al monto de la retención.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="MontoTotOperacion" type="tdCFDI:t_ImporteMXN" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para expresar el total del monto de la operación que se relaciona en el comprobante que ampara retenciones e información de pagos. No se permiten valores negativos.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="MontoTotGrav" type="tdCFDI:t_ImporteMXN" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para expresar el total del monto gravado de la operación que se relaciona en el comprobante que ampara retenciones e información de pagos. No se permiten valores negativos.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="MontoTotExent" type="tdCFDI:t_ImporteMXN" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para expresar el total del monto exento de la operación que se relaciona en el comprobante que ampara retenciones e información de pagos. No se permiten valores negativos.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="MontoTotRet" type="tdCFDI:t_ImporteMXN" use="required">
							<xs:annotation>
								<xs:documentation>Atributo requerido para expresar el monto total de las retenciones. Sumatoria de los montos de retención del nodo ImpRetenidos. No se permiten valores negativos.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="UtilidadBimestral" type="tdCFDI:t_ImporteMXN" use="optional">
							<xs:annotation>
								<xs:documentation>Atributo condicional para expresar el monto de la utilidad bimestral.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="ISRCorrespondiente" type="tdCFDI:t_ImporteMXN" use="optional">
							<xs:annotation>
								<xs:documentation>Atributo condicional para expresar el monto del ISR correspondiente al bimestre.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
				<xs:element name="Complemento" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Nodo opcional donde se incluirá el complemento Timbre Fiscal Digital de manera obligatoria y los nodos complementarios determinados por el SAT, de acuerdo a las disposiciones particulares a un sector o actividad específica.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:any minOccurs="0" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Addenda" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Nodo opcional para recibir las extensiones al formato que sean de utilidad al contribuyente. Para las reglas de uso del mismo, referirse al formato de origen.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:any minOccurs="0" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="Version" use="required" fixed="2.0">
				<xs:annotation>
					<xs:documentation>Atributo requerido con valor prefijado 2.0 que indica la versión del estándar bajo el que se encuentra expresado el comprobante que ampara retenciones e información de pagos.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:whiteSpace value="collapse"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="FolioInt" use="optional">
				<xs:annotation>
					<xs:documentation>Atributo opcional para control interno del contribuyente que expresa el folio del comprobante que ampara retenciones e información de pagos. Permite números y/o letras.</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="[0-9a-zA-Z]{1,20}"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="Sello" use="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido para contener el sello digital del comprobante que ampara retenciones e información de pagos, al que hacen referencia las reglas de resolución miscelánea vigente. El sello debe ser expresado como 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="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido para expresar el número de serie del certificado de sello digital que ampara al comprobante de retención e información de pagos, de acuerdo con el 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:whiteSpace value="collapse"/>
						<xs:pattern value="[0-9]{20}"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="Certificado" use="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido que sirve para incorporar el certificado de sello digital que ampara el comprobante de retención e información de pagos. El certificado debe ser expresado como 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="FechaExp" 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 que ampara retenciones e información de pagos. 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="LugarExpRetenc" 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 que ampara retenciones e información de pagos.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="CveRetenc" type="c_retenciones:c_CveRetenc" use="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido para expresar la clave de la retención e información de pagos de acuerdo al catálogo publicado en internet por el SAT.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="DescRetenc" use="optional">
				<xs:annotation>
					<xs:documentation>Atributo condicional que expresa la descripción de la retención e información de pagos.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="1"/>
						<xs:maxLength value="100"/>
						<xs:whiteSpace value="collapse"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
</xs:schema>
