• Publicidad

Mapear repositorio con XSLT

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Mapear repositorio con XSLT

Notapor JavierJ » 2012-05-27 10:48 @492

No sé mucho de Perl pero he instalado un repositorio OAI ya programado (lo envío en el adjunto).

La cuestión es que no sé cómo puedo hacer para mapear XML en el aire. El programador del repositorio estableció un archivo config.xml que contiene información en la etiqueta <transform>...</transform> para procesar llamadas mediante un procesador xslt (xsltproc). Este procesador creo que hay que instalarlo en el servidor y no tengo privilegios de administrador para ello.

Necesito algo más sencillo que se pueda copiar directamente y procese una llamada y devuelva un xml procesado mediante un xlst ya programada.

Adjunto el repositorio con diferentes variantes hecho por un programador por si alguien pudiera ayudarme.

Dejo un enlace al repositorio en un RAR: http://www.arteil.com/repositorio.rar
JavierJ
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2012-05-27 10:23 @474

Publicidad

Re: Mapear repositorio con XSLT

Notapor explorer » 2012-05-27 18:08 @797

Bienvenido a los foros de Perl en Español, JavierJ.

Según este artículo, el proceso de instalación de un repositorio OAI pasa por tener privilegios de administrador, como usted también dice. Así que el primer escollo es hablar con el administrador del sistema para que sea él el que lo instale.

Mira a ver si los enlaces que te da el artículo te ofrecen más información.

Según el README del paquete no es necesaria ninguna fase de compilación e instalación, ya que todo se reduce a copiar los programas Perl al lugar correcto de ejecución de CGI... así que ahí lo tienes: debes preguntar al administrador cuál es o cómo se ha de llamar la carpeta donde se pueden ejecutar los CGI. Y que compruebe que el sistema tiene un intérprete de Perl.

Los 8 pasos que vienen indicados no deberían ser un problema para él, ya que solo se trata de instalar unos CGI y archivos copiando un árbol entero. Si se tienen que grabar o quedar registrada la información, entonces deberá actualizar los permisos de escritura de ese árbol.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Mapear repositorio con XSLT

Notapor explorer » 2012-05-27 18:39 @818

Añado: viendo los ejemplos, quien hace la transformación es xsltproc, a quien se le pasa como argumento el xsl con las reglas a ejecutar. Y el resultado es, claro, en XML.

Lo de mapear XML al aire, entiendo que quiere extraer la información desde una base de datos, por ejemplo.

Entonces la solución creo que es más sencilla: puede incluso deshacerse de todo el tema xslt, con tal de que el programa que genere el XML lo haga siguiendo las reglas de formato de un XML para OAI.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Mapear repositorio con XSLT

Notapor JavierJ » 2012-05-28 02:40 @153

Hola:

Ante todo gracias por responder. He conseguido privilegios de administrador y ya lo tengo instalado. El problema es cómo hago para transformar sin xsltproc. Lo debería transformar ese procesador son los xml que están en la carpeta, por ejemplo, ..\OAI-XMLFile-2.21\XMLFile\test4\data\ mediante la hoja de estilos que hay indicada en el OAI-XMLFile-2.21\XMLFile\test4\config.xml. Para evitar el lío de instalar el xsltproc en el servidor (para lo cual no estoy cualificado), ¿habría posibilidad de hacer lo mismo mediante una CGI que haga la misma función? Esta CGI escucha la llamada del repositorio que le pasa unos valores y se los devuelve mapeados.

Gracias
JavierJ
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2012-05-27 10:23 @474

Re: Mapear repositorio con XSLT

Notapor explorer » 2012-05-28 04:39 @235

En CPAN hay algunas distribuciones que dicen que son capaces de procesar XSLT... pero eso implica que debes instalarlos en la máquina, y modificar el programa para que haga uso de ellos... En cambio, instalar xsltproc es cuestión de unos segundos (en mi caso, que tengo un servidor Debian, con el comando apt-get install xsltproc).

El primer caso no es obvio: implica algo de programación.

Por ejemplo, PApp::XSLT hace uso de una de dos bibliotecas que tengas instaladas a mayores: la XML::LibXSLT (del sistema gráfico Gnome) o la Sablotron. Otros, como XML::XSLT, parece que no necesitan nada, pero están plagados de errores, o tienen algunos años (este tiene ocho años).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 24 invitados