Mira, recibi una queja de un usuario de nuestro validador, y me acorde de este tema que discutiamos aqui.
Resulta que los XML de cierto proveedor no podia cargarlos nuestro validador ValidaCFD (por cierto, programado en Delphi), marca
error fatal
Pero si los cargas en cualquier otro validador en linea, los carga y valida sin problema !!
Despues de analizarlo resulta que estos XML tienen un namespace muy especial, estan asi :
<cfdi:Comprobante
xmlns:xml="http://www.w3.org/XML/1998/namespace" ......
De hecho es tan especial, que si cargas el XML en Chrome o Edge, no se muestra ese namespace, tienes que cargarlo con el humile bloc de notas para poderlo ver
Que lo hace tan especial ??? No lo se y no he tenido tiempo de preguntarle a don google.
La anecdota aqui, es mas o menos la misma, cada lenguaje/modulo/parser/etc interpreta a su entender los XML, algunos casos incluso como un error fatal en caso de que haya algo que no les guste.
Pregunta seria, tu que harias en este caso, si estuvieras validando el XML, lo dabas por aceptado o pedirias al emisor que lo verifique, en el sentido de que ese namespace NO es parte del estandar de un cfdi ??
Adjunto el mismo XML, es un XML real de produccion, con y sin el dato en cuestion. Saludos.