Yo lo que utilizo es esto:
Código: Seleccionar todo
<Addenda>
<hg:Observaciones>
Aquí puedo poner todo el texto que quiera y en la forma y estructura que quiera, con tal que quede en UTF8 y se conviertan adecuadamente los pocos caracteres especiales del XML, por ejemplo la addenda podría decir simplemente - Moneda:"USD" TipoCambio:"12:65"
</hg:Observaciones>
</Addenda>
El interior del texto no es XML sino texto libre, pero de esta forma hay total libertad para usarse de la manera que se quiera. Por ejemplo si una empresa quiere manejar un campo en particular dentro de la Addenda (como el campo Moneda) puedo poner la palabra "Moneda:" seguida por el valor entre comillas. Posteriormente si se lee dicha Addenda por la propia empresa es muy fácil dentro de un programa ubicar la palabra "Moneda:" y leer su valor a continuación, por otro lado si alguien se pone a leerla en modo texto o si la imprime pues los mismos campos son descriptivos y se entiende de qué se trata.
Cualquiera puede poner un simple comentario (un campo que a mi juicio le faltó al XSD del SAT traerlo de base), o uno o más campos a gusto de cada quién.
Ah!, para que pase el validador directamente el inicio del XML queda así:
Código: Seleccionar todo
<?xml version="1.0" encoding="UTF-8"?>
<Comprobante xmlns="http://www.sat.gob.mx/cfd/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hg="http://www.UnaDireccionFija.com/CFD" xsi:schemaLocation="http://www.sat.gob.mx/cfd/2 http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd http://www.UnaDireccionFija.com/CFD http://www.UnaDireccionFija.com/CFD/AddendaObservaciones.xsd" version="2.0" ... etc.
(observen que agregué 3 elementos relacionados con
http://www.UnaDireccionFija.com)
y tengo publicado el archivo
http://www.UnaDireccionFija.com/CFD/Add ... ciones.xsd (ojo, esta no es la dirección real, sólo la puse de muestra) De esta forma el XML puede pasarse directamente a cualquier validador con todo y su addenda y automáticamente la da por buena (en el XSD la tengo definida como un campo de texto sin límite de longitud).
Otra ventaja de este esquema es que =es posible= que pueda coexistir esta Addenda con otras que manejan y a veces nos requieren otras empresas (ojo, me ha funcionado en algunas pero no significa que funcione con todas)
La verdad es que si todas las empresas manejaran algo así sería muchísimo más fácil el manejo de las Addendas y cualquier XML podría tener una o más Addendas (o ninguna) según se requiriera y sin que se afectaran para nada una con otra.
Saludos