Dentro del nodo de <Addenda> se expresa el formato particular del contribuyente siguiendo los siguientes lineamientos:
a. Si el formato es XML se transcriben idénticos los nodos adicionales requeridos dentro del nodo <Addenda>. Si el contribuyente desea sujetar estos nodos adicionales a un diccionario o estándar específico, podrá hacerlo teniendo cuidado de especificar las referencias necesarias al “namespace” del formato utilizado, de acuerdo a los estándares definidos por el consorcio W3. Esto implica que si el contribuyente desea utilizar esta funcionalidad adicional deberá definir su nuevo namespace dentro del nodo Comprobante y publicar la ruta del esquema XSD para validación, por ejemplo:
<Comprobante
…
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns=”http://www.sat.gob.mx/cfd/2”
xmlns:otro="http://www.misitio.mx/miNS"
xsi:schemaLocation="
http://www.sat.gob.mx/cfd/2
http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd
http://www.misitio.mx/miNS
http://www.misitio.mx/miNS/miNS.xsd"
….
<Addenda>
<otro:MiNodo miAtributo=”valor”/>
</Addenda>
</Comprobante>
La línea que especifica xml:xsi=”http://www.w3.org/2001/XMLSchema-instance” indica que se está usando validación mediante el estándar de esquema XSD.
La línea que especifica xmlns=”http://www.sat.gob.mx/cfd/2” hace referencia al namespace de comprobantes.
La línea que especifica xmlns:otro=”http://www.misitio.mx/miNS” hace referencia al namespace adicional definido por el contribuyente
La línea que especifica xsi:schemaLocation hace referencia a los dos namespaces usados, marcando adicionalmente la ubicación de los esquemas xsd que definen las especificaciones de cada namespace. El primer par corresponde al namespace y ubicación del esquema definido por el SAT y el segundo par corresponde al namespace y ubicación definido por el contribuyente para sus propios fines.
Finalmente, el nodo que aparece en la Addenda tiene el encabezado otro: que corresponde al encabezado definido dentro del nodo comprobante.
En caso de que se requiriera agregar otros namespaces adicionales, el mecanismo sería agregar una línea tipo xmlns definiendo el namespace y expresando nuevamente el namespace y ubicación de su definición dentro del atributo xsi:schemaLocation
Cabe aclarar que los nodos básicos del comprobante no deberán llevar encabezado del namespace publicado por el SAT al ser estos basados en el namespace por omisión. Por ejemplo se contemplaría como caso inválido el siguiente:
<cfd:Comprobante>
<cfd:Emisor/>
</cfd:Comprobante>
b. Si el formato es texto plano, se expresa idéntico dentro del nodo “Addenda” teniendo cuidado de no usar caracteres reservados según la especificación de XML según los planteamientos del consorcio W3.
Si el formato es binario, se deberá expresar como una cadena de caracteres codificados en formato Base 64.
Fuente de Informacion: