ruby language-agnostic xfdl

ruby - ¿Cómo puedo modificar los archivos.xfdl?(Actualización n. ° 1)



language-agnostic (3)

La extensión de archivo .XFDL identifica archivos de documentos formateados XFDL . Estos pertenecen al estándar de formato de documento y plantilla basado en XML. Este formato es exactamente igual que el formato de archivo XML, sin embargo, contiene un nivel de encriptación para su uso en comunicaciones seguras.

Sé cómo ver archivos XFDL usando un visor de archivos que encontré aquí . También puedo modificar y guardar estos archivos haciendo Archivo: Guardar / Guardar como. Me gustaría, sin embargo, modificar estos archivos sobre la marcha. ¿Alguna sugerencia? ¿Esto es posible?

Actualización n. ° 1: ahora descodifiqué y desinstalé con éxito un .xfdl en un archivo XML que luego puedo editar. Ahora, estoy buscando una manera de volver a codificar el archivo XML modificado en base64-gzip (usando Ruby o la línea de comandos)


Si la codificación es base64 , esta es la solución que he encontrado en el enlace web:

"Descodificación de archivos XDFL guardados con ''encoding = base64''. Archivos guardados con:

application/vnd.xfdl;content-encoding="base64-gzip"

son simples archivos gzip codificados en base64. Se pueden restaurar fácilmente a XML descodificando primero y luego descomprimiéndolos. Esto se puede hacer de la siguiente manera en Ubuntu:

sudo apt-get install uudeview uudeview -i yourform.xfdl gunzip -S "" < UNKNOWN.001 > yourform-unpacked.xfdl

El primer comando instalará uudeview, un paquete que puede decodificar base64, entre otros. Puede omitir este paso una vez que esté instalado.

Suponiendo que su formulario se guarda como ''yourform.xfdl'', el comando uudeview decodificará el contenido como ''UNKNOWN.001'', ya que el archivo xfdl no contiene un nombre de archivo. La opción ''-i'' hace que uudeview no sea interactivo; elimine esa opción para tener más control.

La última orden describe el archivo decodificado en un archivo llamado ''yourform-unpacked.xfdl''. "

Otra posible solución - aquí

Nota al margen: el bloque <código> citado no funciona para largas cadenas de código


La única respuesta que puedo pensar en este momento es: lee el manual para uudeview.

Por mucho que me gustaría ayudarlo, no soy un experto en esta área, por lo que tendrá que esperar a alguien más capacitado para venir y ayudarlo.

Mientras tanto, puedo darle enlaces a algunos documentos que podrían ayudarlo:

Lo siento si esto no te ayuda.


No tiene que salir de Ruby para hacer esto, puede usar el módulo Base64 en Ruby para codificar el documento de esta manera:

irb(main):005:0> require ''base64'' => true irb(main):007:0> Base64.encode64("Hello World") => "SGVsbG8gV29ybGQ=/n" irb(main):008:0> Base64.decode64("SGVsbG8gV29ybGQ=/n") => "Hello World"

Y puede llamar a gzip / gunzip usando el sistema Kernel #:

system("gzip foo.something") system("gunzip foo.something.gz")