2008-10-01 93 views
9

我想知道那裏的許多XSLT引擎對Perl有什麼作用。什麼是Perl最好的XSLT引擎?

我將使用Apache(2.0)和Perl,並且我想獲取PDF和XHTML。

我是新來的這種項目,所以任何意見或建議將受到歡迎。

謝謝。


在Google上做一個簡單的搜索我發現很多,我想還有更多。

任何評論您的經驗將受到歡迎。

回答

26

第一個錯誤 - search on CPAN,不穀歌:)

這拋出了一堆結果,但確實突出顯示了CPAN的問題,有多個解決方案,並不總是清楚哪些工作,已被放棄,是壞了,慢還是其他。

而令人不安的是,最好的答案(或至少是最好的之一)頁面上出現的結果:(正如其他人所建議的,XML::LibXSLT是穩健和沒有工作的:

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); 

如果你不想做任何奇特的事情,那就是XML::LibXSLT::Easy,它基本上只是在一個方法調用中包裝了上述內容(並且在幕後使用Moose做了一堆聰明的東西。 )

use XML::LibXSLT::Easy; 

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

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

真的不能說哪個是最好的解決方案,因爲我沒有機會全部嘗試。
但我可以推薦你試試Perl模塊LibXSLT
它是gnome libxslt庫的接口。我在最近的一個項目中使用它對它感到滿意。

4

到目前爲止,我很滿意XML::LibXML非XSLT的任務,它的文檔點XML::LibXSLT,這看起來相當不錯,但我沒有經驗與它迄今

0

你不會說什麼操作系統,但對於大多數* nix平臺,XML::LibXML將是最容易使用和安裝。

相關問題