Página 1 de 1

Problema en Addenda con nueva forma de definir namespace

Publicado: Dom Dic 18, 2011 6:21 pm
por condor0086
Siempre había manejado la definición del namespace en el inicio del XML junto con los del sat y todo funciona perfecto, pero ahora en el borrador de los cambios al anexo 20 manejan lo siguiente:

Código: Seleccionar todo

3.  Dentro del nodo de <cfdi: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  <cfdi: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  propio  nodo  de  la Addenda  publicando  la  ruta  del  esquema  XSD  para  validación,  por  ejemplo: 
 
<cfdi:Comprobante  
 … 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
   xmlns:cfdi=”http://www.sat.gob.mx/cfd/3” 
   xsi:schemaLocation=" 
               http://www.sat.gob.mx/cfd/3   
               http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd  
 …. 
<cfdi:Addenda> 
  xmlns:otro="http://www.misitio.mx/miNS" 
  xsi:schemaLocation=" 
      http://www.misitio.mx/miNS  
      http://www.misitio.mx/miNS/miNS.xsd" 
<otro:MiNodo miAtributo=”valor”/> 
</cfdi:Addenda> 
</cfdi:Comprobante> 
Como ven el namespace personal queda definido dentro del nodo Addenda, pero haciéndolo de esta forma el XML resultante es ilegible (no puede leerlo el navegador, el ValidaCFD, etc.).

¿Falta algo de mencionar en este ejemplo que pusieron o definitivamente no sirve?

Saludos

Re: Problema en Addenda con nueva forma de definir namespace

Publicado: Lun Dic 19, 2011 9:56 am
por naringas
Sucede que es un pequeñito error, casi un typo.
Donde dice:

Código: Seleccionar todo

<cfdi:Addenda> 
  xmlns:otro="http://www.misitio.mx/miNS" 
  xsi:schemaLocation=" 
      http://www.misitio.mx/miNS  
      http://www.misitio.mx/miNS/miNS.xsd" 
<otro:MiNodo miAtributo=”valor”/> 
</cfdi:Addenda> 
En realidad debe decir

Código: Seleccionar todo

<cfdi:Addenda 
  xmlns:otro="http://www.misitio.mx/miNS" 
  xsi:schemaLocation=" 
      http://www.misitio.mx/miNS  
      http://www.misitio.mx/miNS/miNS.xsd">
<otro:MiNodo miAtributo=”valor”/> 
</cfdi:Addenda> 
La diferencia es el lugar del caracter >, que no va justo despues de <cfdi:Addenda sino hasta despues de el xsi:schemaLocation="...">

Re: Problema en Addenda con nueva forma de definir namespace

Publicado: Lun Dic 19, 2011 10:42 am
por condor0086
naringas escribió:Sucede que es un pequeñito error, casi un typo.
Donde dice: ...
Confirmado, gracias @naringas ! :)