2008-10-01 6 views
9

Me gustaría saber cuál de los muchos motores XSLT funcionan bien con Perl.¿Cuál es el mejor motor XSLT para Perl?

Usaré Apache (2.0) y Perl, y quiero obtener archivos PDF y XHTML.

Soy nuevo en este tipo de proyectos, por lo que cualquier comentario o sugerencia será bienvenido.

Gracias.


Haciendo una búsqueda simple en Google encontré mucho y supongo que hay muchos más.

Cualquier comentario sobre sus experiencias serán bienvenidos.

Respuesta

26

Primer error - search on CPAN, no Google :)

Esto arroja muchos resultados, pero más bien resalta el problema de CPAN, que hay más de una solución, y no siempre está claro cuáles funcionan, se han abandonado, están rotos, son lentos o lo que sea .

Y preocupante, la mejor respuesta (o, al menos, uno de los mejores) aparece en la página cuatro de los resultados :(Como han sugerido otras personas, XML::LibXSLT es robusta y hace el trabajo:

use XML::LibXSLT; 
    use XML::LibXML; 

    my $parser = XML::LibXML->new(); 
    my $xslt = XML::LibXSLT->new(); 

    my $source = $parser->parse_file('foo.xml'); 
    my $style_doc = $parser->parse_file('bar.xsl'); 

    my $stylesheet = $xslt->parse_stylesheet($style_doc); 

    my $results = $stylesheet->transform($source); 

    print $stylesheet->output_string($results); 

Sin embargo, si no quieres hacer nada elegante, está XML::LibXSLT::Easy, que esencialmente simplemente ajusta lo anterior en una llamada a un método (y hace un montón de cosas inteligentes entre bastidores usando Moose. ¡Consulta la fuente de información!).

use XML::LibXSLT::Easy; 

    my $p = XML::LibXSLT::Easy->new; 

    my $output = $p->process(xml => "foo.xml", xsl => "foo.xsl"); 
3

Realmente no puedo decir cuál es la mejor solución porque no tuve la oportunidad de probarlas todas.
Pero puedo recomendarle que pruebe el módulo Perl LibXSLT.
Es una interfaz para la biblioteca gnome libxslt. Lo usé en uno de mis proyectos recientes estaba satisfecho con él.

4

Hasta ahora estoy muy satisfecho con XML::LibXML para tareas no XSLT, y sus puntos de documentación a XML::LibXSLT, que se ve muy bien, pero no tengo ninguna experiencia con ella hasta el momento

0

No dice qué sistema operativo, pero para la mayoría de las plataformas * nix, XML::LibXML va a ser el más fácil de usar e instalar.

Cuestiones relacionadas