Página 1 de 3

Es indispensable utilizar XSLT para generar cadena original

Publicado: Dom Oct 24, 2010 1:21 pm
por Alex Noria
Buenas tardes:

Desde el programa tengo generada la cadena original siguiendo las reglas del anexo 20. Mi pregunta es para que me sirven los XLST que pone a disposición el SAT ?? No es más lógico:
1. Generar mediante programa la cadena original.
2. Generar sello mediante openssl.
3. Construir archivo XML ya con el sello.

Y evitar el uso de los XSLT.

Gracias.

Re: Es indispensable utilizar XSLT para generar cadena origi

Publicado: Dom Oct 24, 2010 7:36 pm
por Dado
@Alex Noria. (pase la pregunta al foro "XML" ya que considero que es mas adecuado)

En programacion siempre hay mas de una forma de llegar al mismo resultado.

Asi como que "indispensable" no, pero si ayuda bastante si es que decides usar ese metodo.

Por ejemplo, en Delphi puedes generar la cadena original usando el XSL en menos de 10 lineas :

Código: Seleccionar todo

procedure TFacturaEForm.GeneraCadenaOriginal(XSLFname : string);
begin
	if FileExists(XSLFname) then
	begin
		XSLPageProducer1.FileName := XSLFName;
		XSLPageProducer1.XMLData := XMLDoc;
		CadOriginal := XSLPageProducer1.Content;
	end;
end;
Y como siempre tiene tanto ventajas como desventajas. una desventaja es que es medio lento, tarda de 3 a 4 segundos en generar la cadena y no tienes ningun control sobre errores, en cambio si te avientas la cadena "a mano" puedes ir controlando todos los atributos y es mas rapido.

Una de las ventajas es que si cambian la forma en que se genera la cadena solo tienes que cambiar el archivo XSL y voila!

Re: Es indispensable utilizar XSLT para generar cadena origi

Publicado: Dom Oct 24, 2010 8:28 pm
por Alex Noria
Gracias Dado:

Definitivamente es más conveniente y más correcto seguir el procedimiento que indica el SAT. Una pregunta para Windows algún equivalente a xsltproc ?

Gracias nuevamente.
Saludos.

Re: Es indispensable utilizar XSLT para generar cadena origi

Publicado: Lun Oct 25, 2010 9:21 am
por mauricio
Hola...

En Windows puedes usar xslproc como lo cuento aquí: http://www.universolibre.org/node/13

Saludos

Re: Es indispensable utilizar XSLT para generar cadena origi

Publicado: Lun Oct 25, 2010 9:29 am
por Alex Noria
Gracias Mauricio:

Qué tan confiable es ? Tu sabes hoy en dia Spywares, virus, etc. Espero tus comentarios que me han sido de gran ayuda.

Saludos

Re: Es indispensable utilizar XSLT para generar cadena origi

Publicado: Lun Oct 25, 2010 9:43 am
por mauricio
Puedes descargar el código fuente, revisarlo tu mismo y compilarlo para que no te quepa la menor duda. En lo personal lo tengo usando con varios clientes desde hace meses...

Saludos

Re: Es indispensable utilizar XSLT para generar cadena origi

Publicado: Lun Oct 25, 2010 9:48 am
por Alex Noria
Las bondades del opensource, gracias Mauricio.

Saludos ...

Re: Es indispensable utilizar XSLT para generar cadena origi

Publicado: Vie Oct 29, 2010 11:04 pm
por matadamas
Tengo una duda respecto al código siguiente:

Código: Seleccionar todo

procedure TFacturaEForm.GeneraCadenaOriginal(XSLFname : string);
begin
   if FileExists(XSLFname) then
   begin
      XSLPageProducer1.FileName := XSLFName;
      XSLPageProducer1.XMLData := XMLDoc;
      CadOriginal := XSLPageProducer1.Content;
   end;
end;
XMLDoc es el documento de factura electrónica XML que ya hice previamente??
CadOriginal debe ser wideString ??

Alguna idea de que me está faltando por que me aparece un error cuando se asigna el valor a cadOriginal que dice lo siguiente:

"exception class EXMLDocError with message 'No active document' "

Re: Es indispensable utilizar XSLT para generar cadena origi

Publicado: Sab Oct 30, 2010 7:07 am
por Dado
@matadamas

Deja me hecho un rapidin.......hey! pero no seas mal pensado :twisted:

Un ejemplo rapido en Delphi, por la tarde lo subo aqui.

ACTUALIZACION. Ya quedo, fue mas rapidin de lo que pense. Como incluye codigo fuente lo pase al foro "Delphi"

Re: Es indispensable utilizar XSLT para generar cadena origi

Publicado: Jue Feb 03, 2011 9:49 am
por rodmarquez21
En el PDF de ejemplo de un cfdi del SAT vi que generan una cadena original para el complemento timbre fiscal, alguien sabe si existe algún xslt para generar esa cadena? ya me maté buscandolo en la página de sat y no lo encuentro... gracias!!!!!!! excelente foro DADO