Actualmente para que se pueda realizar el timbrado de un xml, es necesario verificar y validar su contenido, una de las mas recientes validaciones es con respecto a los schemasLocation que se manejan dentro del xml a nivel comprobante, a continuación se plasmaran algunos ejemplos de como debe de ir su estructura:
Para un comprobante normal (CFDI) se debe de colocar como la documentacion técnica lo indica, que es de la siguiente manera:
<cfdi:Comprobante
xmlns:cfdi="http://www.sat.gob.mx/cfd/3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sat.gob.mx/cfd/3
http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd"...
</cfdi:Comprobante>
De igual forma anexamos la estructura que debe de contener los CFDI de Retenciones e Información de pagos, asi como de algunos complementos mas utilizados:
Retenciones e Informacion de pagos
<retenciones:Retenciones xmlns:retenciones="http://www.sat.gob.mx/esquemas/retencionpago/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/esquemas/retencionpago/1 http://www.sat.gob.mx/esquemas/retencionpago/1/retencionpagov1.xsd"..... </retenciones:Retenciones>
Pagos
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:pago10="http://www.sat.gob.mx/Pagos" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd http://www.sat.gob.mx/Pagos http://www.sat.gob.mx /sitio_internet/cfd/Pagos/Pagos10.xsd"... </cfdi:Comprobante>
Nomina
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:nomina12="http://www.sat.gob.mx/nomina12" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd http://www.sat.gob.mx/nomina12 http://www.sat.gob.mx/sitio_internet/cfd/nomina/nomina12.xsd"... </cfdi:Comprobante>
Plataformas Tecnologicas
<retenciones:Retenciones xmlns:plataformasTecnologicas="http://www.sat.gob.mx/esquemas/retencionpago/1/PlataformasTecnologicas10" xmlns:retenciones="http://www.sat.gob.mx/esquemas/retencionpago/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/esquemas/retencionpago/1 http://www.sat.gob.mx/esquemas/retencionpago/1/retencionpagov1.xsd http://www.sat.gob.mx/esquemas/retencionpago/1/PlataformasTecnologicas10 http://www.sat.gob.mx/esquemas/retencionpago/1/PlataformasTecnologicas10/ServiciosPlataformasTecnologicas10.xsd"..... </retenciones:Retenciones>
Como se puede apreciar en los ejemplos plasmados, si se desea algun otro complemento, solamente es necesario verificar que tipo de CFDI para agregas los namespace del complemento utilizado.