<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cadisaenlinea.com.mx/fec/addenda/1" targetNamespace="http://www.cadisaenlinea.com.mx/fec/addenda/1">
	<xs:element name="AddendaFEC">
		<xs:annotation>
			<xs:documentation>Nodo Definido en Facturacion Electronica CADISA</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
        <xs:element name="CFD_FEC" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Nodo para especificar atributos relacionados con el CFD.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:attribute name="vigente" type="xs:boolean" use="optional"/>
            <xs:attribute name="fechaEnvio" type="xs:dateTime" use="optional"/>
            <xs:attribute name="fechaCancelacion" type="xs:dateTime" use="optional"/>
            <xs:attribute name="fechaValidacion" type="xs:dateTime" use="optional"/>
            <xs:attribute name="valido" type="xs:boolean" use="optional"/>
            <xs:attribute name="razonNoValido" type="xs:string" use="optional"/>
            <xs:attribute name="porcentajeDescuento" type="t_Importe" use="optional"/>
            <xs:attribute name="noOrden" type="xs:string" use="optional"/>
            <xs:attribute name="comprador" type="xs:string" use="optional"/>
            <xs:attribute name="tipoMoneda" type="xs:string" use="optional"/>
            <xs:attribute name="tipoCambio" use="optional">
              <xs:simpleType>
                <xs:restriction base="xs:decimal">
                  <xs:fractionDigits value="4"/>
                  <xs:whiteSpace value="collapse"/>
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="fechaTipoCambio" type="xs:dateTime" use="optional"/>
            <xs:attribute name="agenteVentas" type="xs:string" use="optional"/>
            <xs:attribute name="observaciones" type="xs:string" use="optional"/>
            <xs:attribute name="totalConLetra" type="xs:string" use="optional"/>

            <xs:attribute name="TotalIEPS" type="xs:string" use="optional"/>
            <xs:attribute name="NumerosDeFolio" type="xs:string" use="optional"/>
            <xs:attribute name="FechaVencimiento" type="xs:dateTime" use="optional"/>
            <xs:attribute name="NumeroPagare" type="xs:string" use="optional"/>
            <xs:attribute name="RefID" type="xs:string" use="optional"/>
            <xs:attribute name="InformacionAdicional" type="xs:string" use="optional"/>
            <xs:attribute name="ClavePemex" type="xs:string" use="optional"/>
            <xs:attribute name="NumEs" type="xs:string" use="optional"/>

          </xs:complexType>
        </xs:element>
				<xs:element name="Emisor_FEC" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Nodo para expresar datos adicionales del Emisor</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:attribute name="Telefono" type="xs:string" use="optional"/>
						<xs:attribute name="Fax" type="xs:string" use="optional"/>
						<xs:attribute name="email" type="xs:string" use="optional"/>
						<xs:attribute name="web" type="xs:string" use="optional"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="Remitente" minOccurs="0">
					<xs:complexType>
						<xs:complexContent>
							<xs:extension base="t_Ubicacion">
								<xs:attribute name="claveIdentificacion" type="xs:string"/>
								<xs:attribute name="rfc" type="xs:string"/>
								<xs:attribute name="nombre" type="xs:string"/>
							</xs:extension>
						</xs:complexContent>
					</xs:complexType>
				</xs:element>
				<xs:element name="ExpedidoEn" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Nodo para expresar datos adicionales de la sucursal</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:attribute name="alias" type="xs:string" use="required"/>
						<xs:attribute name="telefono" type="xs:string" use="optional"/>
						<xs:attribute name="fax" type="xs:string" use="optional"/>
						<xs:attribute name="email" type="xs:string" use="optional"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="Receptor_FEC" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Nodo para expresar datos adicionales del Receptor</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:attribute name="Telefono" type="xs:string" use="optional"/>
						<xs:attribute name="Fax" type="xs:string" use="optional"/>
						<xs:attribute name="email" type="xs:string" use="optional"/>
						<xs:attribute name="web" type="xs:string" use="optional"/>
						<xs:attribute name="noCliente" type="xs:string" use="optional"/>
						<xs:attribute name="noProveedor" type="xs:string" use="optional"/>
					</xs:complexType>
				</xs:element>
	
				
				<xs:element name="Retenciones" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Nodo opcional para enlistar los impuestos retenidos aplicables</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Retencion" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>Nodo para la definición de información detallada de una retención de impuesto específica</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:attribute name="impuesto" use="required">
										<xs:annotation>
											<xs:documentation>Atributo requerido para definir el tipo de impuesto retenido</xs:documentation>
										</xs:annotation>
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:enumeration value="ISR">
													<xs:annotation>
														<xs:documentation>Impuesto sobre la renta</xs:documentation>
													</xs:annotation>
												</xs:enumeration>
												<xs:enumeration value="IVA">
													<xs:annotation>
														<xs:documentation>Impuesto al Valor Agregado</xs:documentation>
													</xs:annotation>
												</xs:enumeration>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="importe" type="t_Importe" use="required">
										<xs:annotation>
											<xs:documentation>Atributo requerido para definir el importe o monto del impuesto retenido</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="tasa" type="t_Importe" use="optional" default="10.00"/>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Extra" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>Nodo para especificar datos adicionales de forma flexible, del tipo atributo=valor</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:attribute name="atributo" type="xs:string" use="required"/>
						<xs:attribute name="valor" type="xs:string" use="required"/>
						<xs:attribute name="prefijo" type="xs:string" use="optional"/>
						<xs:attribute name="sufijo" type="xs:string" use="optional"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="version" type="xs:decimal" use="required" fixed="1.0"/>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="t_Ubicacion">
		<xs:annotation>
			<xs:documentation>Tipo definido para expresar domicilios o direcciones</xs:documentation>
		</xs:annotation>
		<xs:attribute name="calle" use="optional">
			<xs:annotation>
				<xs:documentation>Este atributo opcional sirve para precisar la avenida, calle, camino o carretera donde se da la ubicación.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:minLength value="0"/>
					<xs:whiteSpace value="collapse"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="numero" use="optional">
			<xs:annotation>
				<xs:documentation>Este atributo opcional sirve para expresar el número particular en donde se da la ubicación sobre una calle dada.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:minLength value="0"/>
					<xs:whiteSpace value="collapse"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="referencia" use="optional">
			<xs:annotation>
				<xs:documentation>Atributo opcional para expresar una referencia de ubicación adicional.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:minLength value="0"/>
					<xs:whiteSpace value="collapse"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="colonia" use="optional">
			<xs:annotation>
				<xs:documentation>Este atributo opcional sirve para precisar la colonia en donde se da la ubicación cuando se desea ser más específico en casos de ubicaciones urbanas.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:minLength value="0"/>
					<xs:whiteSpace value="collapse"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="ciudad" use="optional">
			<xs:annotation>
				<xs:documentation>Atributo opcional que sirve para precisar la ciudad o población donde se da la ubicación.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:minLength value="0"/>
					<xs:whiteSpace value="collapse"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="municipio" use="optional">
			<xs:annotation>
				<xs:documentation>Atributo opcional que sirve para precisar el municipio o delegación (en el caso del Distrito Federal) en donde se da la ubicación.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:minLength value="0"/>
					<xs:whiteSpace value="collapse"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="estado" use="optional">
			<xs:annotation>
				<xs:documentation>Atributo opcional que sirve para precisar el estado o entidad federativa donde se da la ubicación.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:minLength value="0"/>
					<xs:whiteSpace value="collapse"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="pais" use="optional">
			<xs:annotation>
				<xs:documentation>Atributo requerido que sirve para precisar el país donde se da la ubicación.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:minLength value="0"/>
					<xs:whiteSpace value="collapse"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="codigoPostal" use="optional">
			<xs:annotation>
				<xs:documentation>Atributo opcional que sirve para asentar el código postal en donde se da la ubicación.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:whiteSpace value="collapse"/>
					<xs:length value="5"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<xs:simpleType name="t_RFC">
		<xs:annotation>
			<xs:documentation>Tipo definido para expresar claves del Registro Federal de Contribuyentes</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:minLength value="12"/>
			<xs:maxLength value="13"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="t_Importe">
		<xs:annotation>
			<xs:documentation>Tipo definido para expresar importes numéricos con fracción a dos decimales</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:decimal">
			<xs:fractionDigits value="2"/>
			<xs:whiteSpace value="collapse"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
